pub struct ResolutionNode { /* private fields */ }Expand description
Node in the resolution graph
Implementations§
Source§impl ResolutionNode
impl ResolutionNode
Sourcepub fn new(id: usize, clause: Vec<Lit>, decision_level: usize) -> Self
pub fn new(id: usize, clause: Vec<Lit>, decision_level: usize) -> Self
Create a new resolution node
Sourcepub fn add_resolution(
&mut self,
parent1: usize,
parent2: usize,
resolved_var: Var,
)
pub fn add_resolution( &mut self, parent1: usize, parent2: usize, resolved_var: Var, )
Mark this node as a resolution of two parent clauses
Sourcepub fn resolved_var(&self) -> Option<Var>
pub fn resolved_var(&self) -> Option<Var>
Get the variable this node resolved on
Sourcepub fn is_decision(&self) -> bool
pub fn is_decision(&self) -> bool
Check if this is a decision node
Sourcepub fn decision_level(&self) -> usize
pub fn decision_level(&self) -> usize
Get the decision level
Trait Implementations§
Source§impl Clone for ResolutionNode
impl Clone for ResolutionNode
Source§fn clone(&self) -> ResolutionNode
fn clone(&self) -> ResolutionNode
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreAuto Trait Implementations§
impl Freeze for ResolutionNode
impl RefUnwindSafe for ResolutionNode
impl Send for ResolutionNode
impl Sync for ResolutionNode
impl Unpin for ResolutionNode
impl UnsafeUnpin for ResolutionNode
impl UnwindSafe for ResolutionNode
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> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
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