pub struct DynamicSubsumption { /* private fields */ }Expand description
Dynamic subsumption engine.
Implementations§
Source§impl DynamicSubsumption
impl DynamicSubsumption
Sourcepub fn with_config(config: SubsumptionConfig) -> Self
pub fn with_config(config: SubsumptionConfig) -> Self
Create with custom configuration.
Sourcepub fn stats(&self) -> &SubsumptionStats
pub fn stats(&self) -> &SubsumptionStats
Get statistics.
Sourcepub fn reset_stats(&mut self)
pub fn reset_stats(&mut self)
Reset statistics.
Sourcepub fn check_learned_clause(
&mut self,
learned_clause: &[Lit],
clause_db: &ClauseDatabase,
) -> Vec<SubsumptionResult>
pub fn check_learned_clause( &mut self, learned_clause: &[Lit], clause_db: &ClauseDatabase, ) -> Vec<SubsumptionResult>
Check if a new learned clause C subsumes any existing clauses (forward) or is subsumed by any existing clause (backward).
Returns a list of subsumption results to process.
Sourcepub fn on_clause_added(&mut self, clause_id: ClauseId, literals: &[Lit])
pub fn on_clause_added(&mut self, clause_id: ClauseId, literals: &[Lit])
Update occurrence lists when a clause is added.
Sourcepub fn on_clause_removed(&mut self, clause_id: ClauseId, literals: &[Lit])
pub fn on_clause_removed(&mut self, clause_id: ClauseId, literals: &[Lit])
Update occurrence lists when a clause is removed.
Sourcepub fn periodic_check(
&mut self,
clause_db: &ClauseDatabase,
conflicts: u64,
) -> Vec<SubsumptionResult>
pub fn periodic_check( &mut self, clause_db: &ClauseDatabase, conflicts: u64, ) -> Vec<SubsumptionResult>
Perform periodic subsumption check.
Trait Implementations§
Auto Trait Implementations§
impl Freeze for DynamicSubsumption
impl RefUnwindSafe for DynamicSubsumption
impl Send for DynamicSubsumption
impl Sync for DynamicSubsumption
impl Unpin for DynamicSubsumption
impl UnsafeUnpin for DynamicSubsumption
impl UnwindSafe for DynamicSubsumption
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