[−][src]Struct ddo::Decreasing
This strategy selects the variable in decreasing order. This means, it has
provides and order which is the opposite of the NaturalOrder.
Example
let mut variables = VarSet::all(3); assert_eq!(Some(Variable(2)), Decreasing.next_var(&variables, &mut current_layer, &mut next_layer)); variables.remove(Variable(2)); // move on to the next layer assert_eq!(Some(Variable(1)), Decreasing.next_var(&variables, &mut current_layer, &mut next_layer)); variables.remove(Variable(1)); // move on to the next layer assert_eq!(Some(Variable(0)), Decreasing.next_var(&variables, &mut current_layer, &mut next_layer)); variables.remove(Variable(0)); // move on to the last layer, no more var to branch on assert_eq!(None, Decreasing.next_var(&variables, &mut current_layer, &mut next_layer));
Note:
Even though any variable heuristic may access the current and next layers of the mdd being developed, the natural ordering heuristic does not use that access.
Trait Implementations
impl Clone for Decreasing[src]
pub fn clone(&self) -> Decreasing[src]
pub fn clone_from(&mut self, source: &Self)1.0.0[src]
impl Copy for Decreasing[src]
impl Debug for Decreasing[src]
impl Default for Decreasing[src]
pub fn default() -> Decreasing[src]
impl<T> VariableHeuristic<T> for Decreasing[src]
Auto Trait Implementations
impl RefUnwindSafe for Decreasing
impl Send for Decreasing
impl Sync for Decreasing
impl Unpin for Decreasing
impl UnwindSafe for Decreasing
Blanket Implementations
impl<T> Any for T where
T: 'static + ?Sized, [src]
T: 'static + ?Sized,
impl<T> Borrow<T> for T where
T: ?Sized, [src]
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized, [src]
T: ?Sized,
pub fn borrow_mut(&mut self) -> &mut T[src]
impl<T> From<T> for T[src]
impl<T, U> Into<U> for T where
U: From<T>, [src]
U: From<T>,
impl<T> ToOwned for T where
T: Clone, [src]
T: Clone,
type Owned = T
The resulting type after obtaining ownership.
pub fn to_owned(&self) -> T[src]
pub fn clone_into(&self, target: &mut T)[src]
impl<T, U> TryFrom<U> for T where
U: Into<T>, [src]
U: Into<T>,
type Error = Infallible
The type returned in the event of a conversion error.
pub fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>[src]
impl<T, U> TryInto<U> for T where
U: TryFrom<T>, [src]
U: TryFrom<T>,