Trait BaseAir

Source
pub trait BaseAir<F>: Sync {
    // Required method
    fn width(&self) -> usize;

    // Provided method
    fn preprocessed_trace(&self) -> Option<RowMajorMatrix<F>> { ... }
}
Expand description

An AIR (algebraic intermediate representation).

Required Methods§

Source

fn width(&self) -> usize

The number of columns (a.k.a. registers) in this AIR.

Provided Methods§

Implementors§

impl<F: Field, const READ_LIMBS: usize, const WRITE_LIMBS: usize, const LIMB_BITS: usize> BaseAir<F> for ModularIsEqualCoreAir<READ_LIMBS, WRITE_LIMBS, LIMB_BITS>

impl<F, A, C> BaseAir<F> for VmAirWrapper<A, C>
where A: BaseAir<F>, C: BaseAir<F>,

impl<F: Field> BaseAir<F> for TestAdapterAir

impl<F: Field> BaseAir<F> for VmConnectorAir

impl<F: Field> BaseAir<F> for PhantomAir

impl<F: Field> BaseAir<F> for ProgramAir

impl<F: Field, const R: usize, const W: usize> BaseAir<F> for NativeAdapterAir<R, W>

impl<F: Field, const SBOX_REGISTERS: usize> BaseAir<F> for Poseidon2PeripheryAir<F, SBOX_REGISTERS>

impl<const BLOCK_SIZE: usize, F> BaseAir<F> for MemoryDummyAir<BLOCK_SIZE>

impl<const CHUNK: usize, F: Field> BaseAir<F> for MemoryMerkleAir<CHUNK>

impl<F: Field> BaseAir<F> for RangeCheckerAir

impl<F: Field, const M: usize> BaseAir<F> for XorLookupAir<M>

impl<F: Field, const N: usize> BaseAir<F> for RangeTupleCheckerAir<N>

impl<F: Field, const NUM_BITS: usize> BaseAir<F> for BitwiseOperationLookupAir<NUM_BITS>

impl<F> BaseAir<F> for KeccakVmAir

impl<F: Field> BaseAir<F> for FieldExpr

impl<F: Field> BaseAir<F> for CastFCoreAir

impl<F: Field, const N: usize> BaseAir<F> for NativeVectorizedAdapterAir<N>

impl<F: Field, const NUM_CELLS: usize> BaseAir<F> for NativeLoadStoreAdapterAir<NUM_CELLS>

impl<F: Field, const NUM_CELLS: usize> BaseAir<F> for NativeLoadStoreCoreAir<NUM_CELLS>

impl<F: Field, const READ_SIZE: usize, const WRITE_SIZE: usize> BaseAir<F> for ConvertAdapterAir<READ_SIZE, WRITE_SIZE>

impl<F: Field, const SBOX_REGISTERS: usize> BaseAir<F> for NativePoseidon2Air<F, SBOX_REGISTERS>

impl<F: Field, const SBOX_REGISTERS: usize> BaseAir<F> for Poseidon2SubAir<F, SBOX_REGISTERS>

impl<F: Field, const BLOCKS_PER_READ1: usize, const BLOCKS_PER_READ2: usize, const BLOCKS_PER_WRITE: usize, const READ_SIZE: usize, const WRITE_SIZE: usize> BaseAir<F> for Rv32VecHeapTwoReadsAdapterAir<BLOCKS_PER_READ1, BLOCKS_PER_READ2, BLOCKS_PER_WRITE, READ_SIZE, WRITE_SIZE>

impl<F: Field, const NUM_READS: usize, const BLOCKS_PER_READ: usize, const BLOCKS_PER_WRITE: usize, const READ_SIZE: usize, const WRITE_SIZE: usize> BaseAir<F> for Rv32VecHeapAdapterAir<NUM_READS, BLOCKS_PER_READ, BLOCKS_PER_WRITE, READ_SIZE, WRITE_SIZE>

impl<F: Field, const NUM_READS: usize, const BLOCKS_PER_READ: usize, const BLOCK_SIZE: usize, const TOTAL_READ_SIZE: usize> BaseAir<F> for Rv32IsEqualModAdapterAir<NUM_READS, BLOCKS_PER_READ, BLOCK_SIZE, TOTAL_READ_SIZE>

impl<F: Field, const NUM_READS: usize, const READ_SIZE: usize> BaseAir<F> for Rv32HeapBranchAdapterAir<NUM_READS, READ_SIZE>

impl<F: Field, const NUM_READS: usize, const READ_SIZE: usize, const WRITE_SIZE: usize> BaseAir<F> for Rv32HeapAdapterAir<NUM_READS, READ_SIZE, WRITE_SIZE>

impl<F: Field> BaseAir<F> for Rv32JalrCoreAir

impl<F: Field, const NUM_CELLS: usize> BaseAir<F> for LoadStoreCoreAir<NUM_CELLS>

impl<F: Field, const NUM_CELLS: usize, const LIMB_BITS: usize> BaseAir<F> for LoadSignExtendCoreAir<NUM_CELLS, LIMB_BITS>

impl<F: Field, const NUM_LIMBS: usize> BaseAir<F> for BranchEqualCoreAir<NUM_LIMBS>

impl<F: Field, const NUM_LIMBS: usize, const LIMB_BITS: usize> BaseAir<F> for BaseAluCoreAir<NUM_LIMBS, LIMB_BITS>

impl<F: Field, const NUM_LIMBS: usize, const LIMB_BITS: usize> BaseAir<F> for BranchLessThanCoreAir<NUM_LIMBS, LIMB_BITS>

impl<F: Field, const NUM_LIMBS: usize, const LIMB_BITS: usize> BaseAir<F> for DivRemCoreAir<NUM_LIMBS, LIMB_BITS>

impl<F: Field, const NUM_LIMBS: usize, const LIMB_BITS: usize> BaseAir<F> for LessThanCoreAir<NUM_LIMBS, LIMB_BITS>

impl<F: Field, const NUM_LIMBS: usize, const LIMB_BITS: usize> BaseAir<F> for MulHCoreAir<NUM_LIMBS, LIMB_BITS>

impl<F: Field, const NUM_LIMBS: usize, const LIMB_BITS: usize> BaseAir<F> for MultiplicationCoreAir<NUM_LIMBS, LIMB_BITS>

impl<F: Field, const NUM_LIMBS: usize, const LIMB_BITS: usize> BaseAir<F> for ShiftCoreAir<NUM_LIMBS, LIMB_BITS>

impl<F> BaseAir<F> for Sha256Air

impl<F: Field> BaseAir<F> for Sha256VmAir

impl<F> BaseAir<F> for FibonacciAir

impl<F> BaseAir<F> for KeccakAir

impl<F: Field, LinearLayers: Sync, const WIDTH: usize, const SBOX_DEGREE: u64, const SBOX_REGISTERS: usize, const HALF_FULL_ROUNDS: usize, const PARTIAL_ROUNDS: usize> BaseAir<F> for Poseidon2Air<F, LinearLayers, WIDTH, SBOX_DEGREE, SBOX_REGISTERS, HALF_FULL_ROUNDS, PARTIAL_ROUNDS>

impl<F: Field, LinearLayers: Sync, const WIDTH: usize, const SBOX_DEGREE: u64, const SBOX_REGISTERS: usize, const HALF_FULL_ROUNDS: usize, const PARTIAL_ROUNDS: usize, const VECTOR_LEN: usize> BaseAir<F> for VectorizedPoseidon2Air<F, LinearLayers, WIDTH, SBOX_DEGREE, SBOX_REGISTERS, HALF_FULL_ROUNDS, PARTIAL_ROUNDS, VECTOR_LEN>