pub struct Shifts<F> {
pub(crate) shifts: [F; 7],
pub(crate) map: [Vec<F>; 7],
}Expand description
Shifts represent the shifts required in the permutation argument of PLONK. It also caches the shifted powers of omega for optimization purposes.
Fields§
§shifts: [F; 7]The coefficients k (in the Plonk paper) that create a coset when multiplied with the generator of our domain.
map: [Vec<F>; 7]A matrix that maps all cells coordinates {col, row} to their shifted field element.
For example the cell {col:2, row:1} will map to omega * k2,
which lives in map[2][1]
Implementations§
Auto Trait Implementations§
impl<F> Freeze for Shifts<F>where
F: Freeze,
impl<F> RefUnwindSafe for Shifts<F>where
F: RefUnwindSafe,
impl<F> Send for Shifts<F>where
F: Send,
impl<F> Sync for Shifts<F>where
F: Sync,
impl<F> Unpin for Shifts<F>where
F: Unpin,
impl<F> UnwindSafe for Shifts<F>where
F: 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