pub struct Enclosure<V: Variable> {
pub boxes: Vec<Option<V>>,
pub freedom: Vec<usize>,
pub total: usize,
pub failures: Vec<(Vec<usize>, EncloseError)>,
pub evaluations: usize,
/* private fields */
}Expand description
An enclosure of a true solution, group by group, and how free the
blocks are (see System::enclose).
Fields§
§boxes: Vec<Option<V>>Per block, every value it could have at the true solution its group
was proven to hold — None for a block whose group was not
enclosed, or not proven.
freedom: Vec<usize>Per block, how many independent ways it can still move: decided over the proven box, or — not proven — at the point.
total: usizeHow many independent ways the blocks can move together.
failures: Vec<(Vec<usize>, EncloseError)>Why the groups not proven were not, each with its blocks.
evaluations: usizeHow many times the equations were made to enclose it — every group’s at once: the work it took, which a test can bound.
Trait Implementations§
Auto Trait Implementations§
impl<V> Freeze for Enclosure<V>
impl<V> RefUnwindSafe for Enclosure<V>where
V: RefUnwindSafe,
impl<V> Send for Enclosure<V>where
V: Send,
impl<V> Sync for Enclosure<V>where
V: Sync,
impl<V> Unpin for Enclosure<V>where
V: Unpin,
impl<V> UnsafeUnpin for Enclosure<V>
impl<V> UnwindSafe for Enclosure<V>where
V: UnwindSafe,
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