pub struct Distinction {
pub classes: Vec<Vec<usize>>,
pub proofs: Vec<(usize, usize, Report)>,
pub inputs: Vec<String>,
pub outputs: Vec<String>,
pub vectors: Vec<Vec<bool>>,
pub cover: Vec<usize>,
pub table: Vec<Vec<Vec<bool>>>,
}Expand description
A family of circuits told apart by distinguish.
Fields§
§classes: Vec<Vec<usize>>Members that compute one function, by index: each class in member order, the classes by their first member.
proofs: Vec<(usize, usize, Report)>For each member after the first of its class: that first member, the member, and the report proving them equal.
inputs: Vec<String>The input names a vector assigns, in order of first appearance across the members.
outputs: Vec<String>The output names, in the first member’s order.
vectors: Vec<Vec<bool>>The seeds, then every input assignment found to separate two members, over inputs.
cover: Vec<usize>Vectors, by index, on one of which every two classes differ.
table: Vec<Vec<Vec<bool>>>Each class’s outputs on each cover vector, over outputs.
Implementations§
Trait Implementations§
Source§impl Clone for Distinction
impl Clone for Distinction
Source§fn clone(&self) -> Distinction
fn clone(&self) -> Distinction
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 Distinction
impl RefUnwindSafe for Distinction
impl Send for Distinction
impl Sync for Distinction
impl Unpin for Distinction
impl UnsafeUnpin for Distinction
impl UnwindSafe for Distinction
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