pub struct RingSwitchPlan {
pub num_units: usize,
pub units: Vec<(bool, usize)>,
pub phys_rs: Vec<ColumnType>,
/* private fields */
}Expand description
Maps the claimed virtual evals and the committed columns
onto ring-switch binding units. eta^k runs once per
unit (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>Implementations§
Source§impl RingSwitchPlan
impl RingSwitchPlan
pub fn new( layout: &[ColumnType], entries: Option<&[ExpansionEntry]>, num_blind: usize, ) -> Result<Self, Error>
pub fn has_ring(&self) -> bool
pub fn total_claims(&self) -> usize
Sourcepub fn column_coeffs<F>(
&self,
eta: Flat<F>,
) -> (Vec<Flat<F>>, Vec<Flat<F>>, Flat<F>)where
F: HardwareField,
pub fn column_coeffs<F>(
&self,
eta: Flat<F>,
) -> (Vec<Flat<F>>, Vec<Flat<F>>, Flat<F>)where
F: HardwareField,
Per committed column:
its base eta coefficients in the ring and whole
masters, plus eta^U (the next-row shift multiplier).
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> 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