pub enum Steps {
Round(u64),
Sponge(Sponges),
}
Expand description
Variants of Keccak steps available for the interpreter. These selectors determine the specific behaviour so that Keccak steps can be split into different instances for folding
Variants§
Round(u64)
Current step performs a round of the permutation. The round number stored in the Step is only used for the environment execution.
Sponge(Sponges)
Current step is a sponge
Trait Implementations§
source§impl Index<Steps> for KeccakFoldingWitness
impl Index<Steps> for KeccakFoldingWitness
source§impl<T: Clone> Index<Steps> for KeccakWitness<T>
impl<T: Clone> Index<Steps> for KeccakWitness<T>
source§fn index(&self, index: Steps) -> &Self::Output
fn index(&self, index: Steps) -> &Self::Output
Map the column alias to the actual column index. Note that the column index depends on the step kind (Sponge or Round). For instance, the column 800 represents PadLength in the Sponge step, while it is used by intermediary values when executing the Round step. The selector columns are located at the end of the witness relation columns.
source§impl IntoIterator for Steps
impl IntoIterator for Steps
source§impl Ord for Steps
impl Ord for Steps
source§impl PartialEq<Steps> for Steps
impl PartialEq<Steps> for Steps
source§impl PartialOrd<Steps> for Steps
impl PartialOrd<Steps> for Steps
1.0.0 · source§fn le(&self, other: &Rhs) -> bool
fn le(&self, other: &Rhs) -> bool
This method tests less than or equal to (for
self
and other
) and is used by the <=
operator. Read moreimpl Copy for Steps
impl Eq for Steps
impl StructuralEq for Steps
impl StructuralPartialEq for Steps
Auto Trait Implementations§
impl RefUnwindSafe for Steps
impl Send for Steps
impl Sync for Steps
impl Unpin for Steps
impl UnwindSafe for Steps
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
§impl<Q, K> Equivalent<K> for Qwhere
Q: Eq + ?Sized,
K: Borrow<Q> + ?Sized,
impl<Q, K> Equivalent<K> for Qwhere Q: Eq + ?Sized, K: Borrow<Q> + ?Sized,
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Checks if this value is equivalent to the given key. Read more