pub struct ProgressMeasure {
pub number_of_classes: usize,
pub number_of_live_classes: usize,
pub sum_of_slots: usize,
pub sum_of_symmetries: usize,
}Expand description
A Progress Measure to check saturation of an e-graph with.
Fields§
§number_of_classes: usizeHow many classes that were allocated in this e-graph. This measure is strictly growing.
number_of_live_classes: usizeHow many classes are still “live”. If “number_of_classes” isn’t changed, this can only decrease (by union).
sum_of_slots: usizeHow many parameter-slots are still in the e-classes. If number_of_classes & number_of_live_classes isn’t changed, this can only decrease (by proving a redundancy by union).
sum_of_symmetries: usizeHow many symmetries the egraphs knows. If number_of_classes & number_of_live_classes & sum_of_slots isn’t changed, this can only increase (by proving a symmetry by union).
Trait Implementations§
Source§impl PartialEq for ProgressMeasure
impl PartialEq for ProgressMeasure
Source§fn eq(&self, other: &ProgressMeasure) -> bool
fn eq(&self, other: &ProgressMeasure) -> bool
Tests for
self and other values to be equal, and is used by ==.impl Eq for ProgressMeasure
impl StructuralPartialEq for ProgressMeasure
Auto Trait Implementations§
impl Freeze for ProgressMeasure
impl RefUnwindSafe for ProgressMeasure
impl Send for ProgressMeasure
impl Sync for ProgressMeasure
impl Unpin for ProgressMeasure
impl UnsafeUnpin for ProgressMeasure
impl UnwindSafe for ProgressMeasure
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