Enum o1vm::interpreters::keccak::column::ColumnAlias
source · pub enum ColumnAlias {
Show 29 variants
HashIndex,
BlockIndex,
StepIndex,
Input(usize),
Output(usize),
ThetaShiftsC(usize),
ThetaDenseC(usize),
ThetaQuotientC(usize),
ThetaRemainderC(usize),
ThetaDenseRotC(usize),
ThetaExpandRotC(usize),
PiRhoShiftsE(usize),
PiRhoDenseE(usize),
PiRhoQuotientE(usize),
PiRhoRemainderE(usize),
PiRhoDenseRotE(usize),
PiRhoExpandRotE(usize),
ChiShiftsB(usize),
ChiShiftsSum(usize),
SpongeNewState(usize),
SpongeZeros(usize),
SpongeBytes(usize),
SpongeShifts(usize),
RoundNumber,
RoundConstants(usize),
PadLength,
TwoToPad,
PadSuffix(usize),
PadBytesFlags(usize),
}
Expand description
Column aliases used by the Keccak circuit. The number of aliases is not necessarily equal to the actual number of columns. Each alias will be mapped to a column index depending on the step kind (Sponge or Round) that is currently being executed.
Variants§
HashIndex
Hash identifier to distinguish inside the syscalls communication channel
BlockIndex
Block index inside the hash to enumerate preimage bytes
StepIndex
Hash step identifier to distinguish inside interstep communication
Input(usize)
Output(usize)
ThetaShiftsC(usize)
ThetaDenseC(usize)
ThetaQuotientC(usize)
ThetaRemainderC(usize)
ThetaDenseRotC(usize)
ThetaExpandRotC(usize)
PiRhoShiftsE(usize)
PiRhoDenseE(usize)
PiRhoQuotientE(usize)
PiRhoRemainderE(usize)
PiRhoDenseRotE(usize)
PiRhoExpandRotE(usize)
ChiShiftsB(usize)
ChiShiftsSum(usize)
SpongeNewState(usize)
SpongeZeros(usize)
SpongeBytes(usize)
SpongeShifts(usize)
RoundNumber
RoundConstants(usize)
PadLength
TwoToPad
PadSuffix(usize)
PadBytesFlags(usize)
Trait Implementations§
source§impl Clone for ColumnAlias
impl Clone for ColumnAlias
source§fn clone(&self) -> ColumnAlias
fn clone(&self) -> ColumnAlias
1.0.0 · source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source
. Read moresource§impl ColumnIndexer for ColumnAlias
impl ColumnIndexer for ColumnAlias
source§impl Debug for ColumnAlias
impl Debug for ColumnAlias
source§impl FoldingColumnTrait for KeccakColumn
impl FoldingColumnTrait for KeccakColumn
source§impl From<ColumnAlias> for usize
impl From<ColumnAlias> for usize
source§fn from(alias: ColumnAlias) -> usize
fn from(alias: ColumnAlias) -> usize
Returns the witness column index for the given alias
source§impl Hash for ColumnAlias
impl Hash for ColumnAlias
source§impl Index<ColumnAlias> for KeccakFoldingWitness
impl Index<ColumnAlias> for KeccakFoldingWitness
source§impl<T: Clone> Index<ColumnAlias> for KeccakWitness<T>
impl<T: Clone> Index<ColumnAlias> for KeccakWitness<T>
IMPLEMENTATIONS FOR COLUMN ALIAS
source§fn index(&self, index: ColumnAlias) -> &Self::Output
fn index(&self, index: ColumnAlias) -> &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.
source§impl<T: Clone> IndexMut<ColumnAlias> for KeccakWitness<T>
impl<T: Clone> IndexMut<ColumnAlias> for KeccakWitness<T>
source§impl Ord for ColumnAlias
impl Ord for ColumnAlias
source§fn cmp(&self, other: &ColumnAlias) -> Ordering
fn cmp(&self, other: &ColumnAlias) -> Ordering
1.21.0 · source§fn max(self, other: Self) -> Selfwhere
Self: Sized,
fn max(self, other: Self) -> Selfwhere Self: Sized,
source§impl PartialEq<ColumnAlias> for ColumnAlias
impl PartialEq<ColumnAlias> for ColumnAlias
source§fn eq(&self, other: &ColumnAlias) -> bool
fn eq(&self, other: &ColumnAlias) -> bool
self
and other
values to be equal, and is used
by ==
.source§impl PartialOrd<ColumnAlias> for ColumnAlias
impl PartialOrd<ColumnAlias> for ColumnAlias
source§fn partial_cmp(&self, other: &ColumnAlias) -> Option<Ordering>
fn partial_cmp(&self, other: &ColumnAlias) -> Option<Ordering>
1.0.0 · source§fn le(&self, other: &Rhs) -> bool
fn le(&self, other: &Rhs) -> bool
self
and other
) and is used by the <=
operator. Read more