Type Alias PublicValuesChip

Source
pub type PublicValuesChip<F> = VmChipWrapper<F, NativeAdapterChip<F, 2, 0>, PublicValuesCoreChip<F>>;

Aliased Type§

struct PublicValuesChip<F> {
    pub adapter: NativeAdapterChip<F, 2, 0>,
    pub core: PublicValuesCoreChip<F>,
    pub records: Vec<(<NativeAdapterChip<F, 2, 0> as VmAdapterChip<F>>::ReadRecord, <NativeAdapterChip<F, 2, 0> as VmAdapterChip<F>>::WriteRecord, <PublicValuesCoreChip<F> as VmCoreChip<F, <NativeAdapterChip<F, 2, 0> as VmAdapterChip<F>>::Interface>>::Record)>,
    /* private fields */
}

Fields§

§adapter: NativeAdapterChip<F, 2, 0>§core: PublicValuesCoreChip<F>§records: Vec<(<NativeAdapterChip<F, 2, 0> as VmAdapterChip<F>>::ReadRecord, <NativeAdapterChip<F, 2, 0> as VmAdapterChip<F>>::WriteRecord, <PublicValuesCoreChip<F> as VmCoreChip<F, <NativeAdapterChip<F, 2, 0> as VmAdapterChip<F>>::Interface>>::Record)>

Implementations

Source§

impl<F, A, C> VmChipWrapper<F, A, C>
where A: VmAdapterChip<F>, C: VmCoreChip<F, A::Interface>,

Source

pub fn new( adapter: A, core: C, offline_memory: Arc<Mutex<OfflineMemory<F>>>, ) -> Self

Trait Implementations

Source§

impl<SC, A, C> Chip<SC> for VmChipWrapper<Val<SC>, A, C>

Source§

fn air(&self) -> AirRef<SC>

Source§

fn generate_air_proof_input(self) -> AirProofInput<SC>

Generate all necessary input for proving a single AIR.
Source§

fn generate_air_proof_input_with_id( self, air_id: usize, ) -> (usize, AirProofInput<SC>)

Source§

impl<F, A, M> ChipUsageGetter for VmChipWrapper<F, A, M>
where A: VmAdapterChip<F> + Sync, M: VmCoreChip<F, A::Interface> + Sync,

Source§

fn air_name(&self) -> String

Source§

fn current_trace_height(&self) -> usize

Height of used rows in the main trace.
Source§

fn trace_width(&self) -> usize

Width of the main trace
Source§

fn constant_trace_height(&self) -> Option<usize>

If the chip has a state-independent trace height that is determined upon construction, return this height. This is used to distinguish “static” versus “dynamic” usage metrics.
Source§

fn current_trace_cells(&self) -> usize

For metrics collection
Source§

impl<F, A, M> InstructionExecutor<F> for VmChipWrapper<F, A, M>
where F: PrimeField32, A: VmAdapterChip<F> + Send + Sync, M: VmCoreChip<F, A::Interface> + Send + Sync,

Source§

fn execute( &mut self, memory: &mut MemoryController<F>, instruction: &Instruction<F>, from_state: ExecutionState<u32>, ) -> Result<ExecutionState<u32>>

Runtime execution of the instruction, if the instruction is owned by the current instance. May internally store records of this call for later trace generation.
Source§

fn get_opcode_name(&self, opcode: usize) -> String

For display purposes. From absolute opcode as usize, return the string name of the opcode if it is a supported opcode by the present executor.