pub struct VariableIncidenceGraph { /* private fields */ }Expand description
Variable Incidence Graph (VIG).
In the VIG, each variable is a node, and edges connect variables that appear together in clauses. Edge weights represent the number of clauses shared.
Implementations§
Source§impl VariableIncidenceGraph
impl VariableIncidenceGraph
Sourcepub fn from_clauses(num_vars: usize, clauses: &[Clause]) -> Self
pub fn from_clauses(num_vars: usize, clauses: &[Clause]) -> Self
Creates a new VIG from a set of clauses.
Sourcepub fn neighbors(&self, var: usize) -> &HashMap<usize, f64>
pub fn neighbors(&self, var: usize) -> &HashMap<usize, f64>
Returns the neighbors of a variable with their edge weights.
Sourcepub fn degree(&self, var: usize) -> f64
pub fn degree(&self, var: usize) -> f64
Returns the degree (sum of edge weights) of a variable.
Sourcepub fn total_weight(&self) -> f64
pub fn total_weight(&self) -> f64
Returns the total edge weight in the graph.
Trait Implementations§
Source§impl Clone for VariableIncidenceGraph
impl Clone for VariableIncidenceGraph
Source§fn clone(&self) -> VariableIncidenceGraph
fn clone(&self) -> VariableIncidenceGraph
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 VariableIncidenceGraph
impl RefUnwindSafe for VariableIncidenceGraph
impl Send for VariableIncidenceGraph
impl Sync for VariableIncidenceGraph
impl Unpin for VariableIncidenceGraph
impl UnsafeUnpin for VariableIncidenceGraph
impl UnwindSafe for VariableIncidenceGraph
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