pub struct CardinalityEncoder;Expand description
Cardinality constraint encoder
Implementations§
Source§impl CardinalityEncoder
impl CardinalityEncoder
Sourcepub fn encode_at_most_k(solver: &mut Solver, lits: &[Lit], k: usize) -> bool
pub fn encode_at_most_k(solver: &mut Solver, lits: &[Lit], k: usize) -> bool
Encode an at-most-k constraint: sum(lits) <= k
§Arguments
solver- The SAT solverlits- The literals in the constraintk- The upper bound
Returns true if the constraint was successfully encoded
Auto Trait Implementations§
impl Freeze for CardinalityEncoder
impl RefUnwindSafe for CardinalityEncoder
impl Send for CardinalityEncoder
impl Sync for CardinalityEncoder
impl Unpin for CardinalityEncoder
impl UnsafeUnpin for CardinalityEncoder
impl UnwindSafe for CardinalityEncoder
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more