pub struct RingSwitchPlan {
pub num_units: usize,
pub units: Vec<(bool, usize)>,
pub phys_rs: Vec<ColumnType>,
pub blind_cols: usize,
pub h_cols: usize,
/* private fields */
}Expand description
Maps the claimed virtual evals and the committed
columns onto ring-switch binding units, in claim
order; a bit-expanded physical column is one
Ring unit consuming its bits claims.
Fields§
§num_units: usize§units: Vec<(bool, usize)>§phys_rs: Vec<ColumnType>§blind_cols: usize§h_cols: usizeImplementations§
Source§impl RingSwitchPlan
impl RingSwitchPlan
pub fn new( layout: &[ColumnType], entries: Option<&[ExpansionEntry]>, num_blind: usize, num_h: usize, ) -> Result<Self, Error>
pub fn has_ring(&self) -> bool
pub fn has_ring_blind(&self) -> bool
pub fn whole_blinds(&self) -> usize
pub fn total_claims(&self) -> usize
pub fn total_claims_at(&self, num_vars: usize, split_vars: usize) -> usize
pub fn opened_row_bytes(&self) -> usize
Sourcepub fn at_split(&self, num_vars: usize, split_vars: usize) -> SlotLayout
pub fn at_split(&self, num_vars: usize, split_vars: usize) -> SlotLayout
Committed columns in codeword slots at split_vars;
past num_vars a slot packs 2^(split - num_vars) columns
of one class, zero blocks closing a class’s last slot.
Trait Implementations§
Auto Trait Implementations§
impl Freeze for RingSwitchPlan
impl RefUnwindSafe for RingSwitchPlan
impl Send for RingSwitchPlan
impl Sync for RingSwitchPlan
impl Unpin for RingSwitchPlan
impl UnsafeUnpin for RingSwitchPlan
impl UnwindSafe for RingSwitchPlan
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> 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