Enum miden_processor::AdviceSource
source · pub enum AdviceSource {
Value(Felt),
Word(Word),
Map {
key: Word,
include_len: bool,
},
}Expand description
Specifies the source of the value(s) to be pushed onto the advice stack.
Variants§
Value(Felt)
Puts a single value onto the advice stack.
Word(Word)
Puts a word (4 elements) onto the stack.
Map
Fetches a list of elements under the specified key from the advice map and pushes them onto the advice stack.
If include_len is set to true, this also pushes the number of elements onto the advice
stack.
Note: this operation doesn’t consume the map element so it can be called multiple times for the same key.
§Example
Given an advice stack [a, b, c, ...], and a map x |-> [d, e, f]:
A call push_stack(AdviceSource::Map { key: x, include_len: false }) will result in
advice stack: [d, e, f, a, b, c, ...].
A call push_stack(AdviceSource::Map { key: x, include_len: true }) will result in
advice stack: [3, d, e, f, a, b, c, ...].
§Errors
Returns an error if the key was not found in the key-value map.
Trait Implementations§
source§impl Clone for AdviceSource
impl Clone for AdviceSource
source§fn clone(&self) -> AdviceSource
fn clone(&self) -> AdviceSource
1.0.0 · source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moresource§impl Debug for AdviceSource
impl Debug for AdviceSource
source§impl PartialEq for AdviceSource
impl PartialEq for AdviceSource
impl Copy for AdviceSource
impl Eq for AdviceSource
impl StructuralPartialEq for AdviceSource
Auto Trait Implementations§
impl Freeze for AdviceSource
impl RefUnwindSafe for AdviceSource
impl Send for AdviceSource
impl Sync for AdviceSource
impl Unpin for AdviceSource
impl UnwindSafe for AdviceSource
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
source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
source§default unsafe fn clone_to_uninit(&self, dst: *mut T)
default unsafe fn clone_to_uninit(&self, dst: *mut T)
clone_to_uninit)source§impl<T> CloneToUninit for Twhere
T: Copy,
impl<T> CloneToUninit for Twhere
T: Copy,
source§unsafe fn clone_to_uninit(&self, dst: *mut T)
unsafe fn clone_to_uninit(&self, dst: *mut T)
clone_to_uninit)