Struct miden_processor::MemAdviceProvider
source · pub struct MemAdviceProvider { /* private fields */ }
Expand description
An in-memory [AdviceProvider]
implementation to support program execution.
Uses [BTreeMap]
as backend.
Trait Implementations§
source§impl AdviceProvider for MemAdviceProvider
impl AdviceProvider for MemAdviceProvider
source§fn read_tape(&mut self) -> Result<Felt, ExecutionError>
fn read_tape(&mut self) -> Result<Felt, ExecutionError>
Pops an element from the advice tape and returns it. Read more
source§fn read_tape_w(&mut self) -> Result<Word, ExecutionError>
fn read_tape_w(&mut self) -> Result<Word, ExecutionError>
Pops a word (4 elements) from the advice tape and returns it. Read more
source§fn read_tape_dw(&mut self) -> Result<[Word; 2], ExecutionError>
fn read_tape_dw(&mut self) -> Result<[Word; 2], ExecutionError>
Pops a double word (8 elements) from the advice tape and returns them. Read more
source§fn write_tape(&mut self, source: AdviceSource) -> Result<(), ExecutionError>
fn write_tape(&mut self, source: AdviceSource) -> Result<(), ExecutionError>
Writes values specified by the source to the head of the advice tape.
source§fn insert_into_map(
&mut self,
key: Word,
values: Vec<Felt>
) -> Result<(), ExecutionError>
fn insert_into_map( &mut self, key: Word, values: Vec<Felt> ) -> Result<(), ExecutionError>
Maps a key to a value list to be yielded by
write_tape_from_map
. Read moresource§fn get_tree_node(
&self,
root: Word,
depth: Felt,
index: Felt
) -> Result<Word, ExecutionError>
fn get_tree_node( &self, root: Word, depth: Felt, index: Felt ) -> Result<Word, ExecutionError>
Returns a node/leaf for the given depth and index in a Merkle tree with the given root. Read more
source§fn get_merkle_path(
&self,
root: Word,
depth: Felt,
index: Felt
) -> Result<MerklePath, ExecutionError>
fn get_merkle_path( &self, root: Word, depth: Felt, index: Felt ) -> Result<MerklePath, ExecutionError>
Returns a path to a node at the specified index in a Merkle tree with the specified root. Read more
source§fn update_merkle_leaf(
&mut self,
root: Word,
index: Felt,
leaf_value: Word,
update_in_copy: bool
) -> Result<MerklePath, ExecutionError>
fn update_merkle_leaf( &mut self, root: Word, index: Felt, leaf_value: Word, update_in_copy: bool ) -> Result<MerklePath, ExecutionError>
Updates a leaf at the specified index on an existing Merkle tree with the specified root;
returns the Merkle path from the updated leaf to the new root. Read more
source§fn advance_clock(&mut self)
fn advance_clock(&mut self)
Increments the clock cycle. Read more
source§impl Clone for MemAdviceProvider
impl Clone for MemAdviceProvider
source§fn clone(&self) -> MemAdviceProvider
fn clone(&self) -> MemAdviceProvider
Returns a copy of the value. Read more
1.0.0 · source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source
. Read moresource§impl Debug for MemAdviceProvider
impl Debug for MemAdviceProvider
source§impl Default for MemAdviceProvider
impl Default for MemAdviceProvider
source§fn default() -> MemAdviceProvider
fn default() -> MemAdviceProvider
Returns the “default value” for a type. Read more
source§impl From<AdviceInputs> for MemAdviceProvider
impl From<AdviceInputs> for MemAdviceProvider
source§fn from(inputs: AdviceInputs) -> Self
fn from(inputs: AdviceInputs) -> Self
Converts to this type from the input type.