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
source§fn eq(&self, other: &AdviceSource) -> bool
fn eq(&self, other: &AdviceSource) -> bool
self
and other
values to be equal, and is used
by ==
.