Skip to main content

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}