conjure_cp_core/ast/sat_encoding.rs
1use polyquine::Quine;
2use serde::{Deserialize, Serialize};
3use uniplate::Uniplate;
4
5#[derive(Clone, Debug, PartialEq, Eq, Hash, Serialize, Deserialize, Uniplate, Quine)]
6pub enum SATIntEncoding {
7 Log,
8 /// Unsigned displacement from the domain minimum.
9 Offset,
10 /// Unsigned index into the canonical inclusive domain intervals.
11 Rank(Vec<(i32, i32)>),
12 /// Magnitude bits, least significant first, then a sign bit.
13 SignMagnitude,
14 Order,
15 Direct,
16}