pub struct AdviceStack { /* private fields */ }Expand description
Advice stack values ordered from top to bottom.
The front of the stack is the next element consumed by adv_push.
Implementations§
Source§impl AdviceStack
impl AdviceStack
Sourcepub fn try_from_values<I>(values: I) -> Result<Self, InputError>where
I: IntoIterator<Item = u64>,
pub fn try_from_values<I>(values: I) -> Result<Self, InputError>where
I: IntoIterator<Item = u64>,
Creates an advice stack from integer values ordered from top to bottom.
§Errors
Returns an error if any value is not a valid field element.
Sourcepub fn iter(&self) -> impl Iterator<Item = &Felt>
pub fn iter(&self) -> impl Iterator<Item = &Felt>
Returns an iterator over elements from top to bottom.
Sourcepub fn append_element(&mut self, value: Felt) -> &mut Self
pub fn append_element(&mut self, value: Felt) -> &mut Self
Appends a single element to the bottom of the advice stack.
The appended element is consumed after all existing advice stack elements.
Sourcepub fn append_elements<I>(&mut self, values: I) -> &mut Selfwhere
I: IntoIterator<Item = Felt>,
pub fn append_elements<I>(&mut self, values: I) -> &mut Selfwhere
I: IntoIterator<Item = Felt>,
Appends raw elements to the bottom of the advice stack.
Values are ordered from top to bottom within the appended block.
Sourcepub fn prepend_elements<I>(&mut self, values: I) -> &mut Selfwhere
I: IntoIterator<Item = Felt>,
pub fn prepend_elements<I>(&mut self, values: I) -> &mut Selfwhere
I: IntoIterator<Item = Felt>,
Prepends raw elements ordered from top to bottom.
The first element in values becomes the next element consumed by advice operations.
Sourcepub fn push_element(&mut self, value: Felt) -> &mut Self
pub fn push_element(&mut self, value: Felt) -> &mut Self
Pushes a single element onto the top of the advice stack.
Sourcepub fn prepend_word(&mut self, word: Word) -> &mut Self
pub fn prepend_word(&mut self, word: Word) -> &mut Self
Prepends a word to the top of the advice stack.
Sourcepub fn prepend_stack(&mut self, stack: AdviceStack) -> &mut Self
pub fn prepend_stack(&mut self, stack: AdviceStack) -> &mut Self
Prepends another advice stack to the top of this stack.
Sourcepub fn append_for_adv_push(&mut self, slice: &[Felt]) -> &mut Self
pub fn append_for_adv_push(&mut self, slice: &[Felt]) -> &mut Self
Appends elements for consumption by multiple sequential adv_push instructions.
After repeat.n adv_push end, the operand stack will have slice[0] on top.
Sourcepub fn append_word(&mut self, word: Word) -> &mut Self
pub fn append_word(&mut self, word: Word) -> &mut Self
Appends a word for consumption by adv_loadw or adv_pushw.
Sourcepub fn append_dword(&mut self, words: [Word; 2]) -> &mut Self
pub fn append_dword(&mut self, words: [Word; 2]) -> &mut Self
Appends two words for consumption by adv_pipe.
Sourcepub fn append_for_adv_pipe(&mut self, slice: &[Felt]) -> &mut Self
pub fn append_for_adv_pipe(&mut self, slice: &[Felt]) -> &mut Self
Appends elements for sequential consumption by adv_pipe operations.
§Panics
Panics if the slice length is not a multiple of 8 (double-word aligned).
Sourcepub fn consume_element(&mut self) -> Option<Felt>
pub fn consume_element(&mut self) -> Option<Felt>
Consumes a single element from the top of the advice stack.
Sourcepub fn consume_word(&mut self) -> Option<Word>
pub fn consume_word(&mut self) -> Option<Word>
Consumes a word from the top of the advice stack.
Sourcepub fn consume_dword(&mut self) -> Option<[Word; 2]>
pub fn consume_dword(&mut self) -> Option<[Word; 2]>
Consumes two words from the top of the advice stack.
Sourcepub fn into_elements(self) -> Vec<Felt>
pub fn into_elements(self) -> Vec<Felt>
Consumes self and returns elements ordered from top to bottom.
Trait Implementations§
Source§impl Clone for AdviceStack
impl Clone for AdviceStack
Source§fn clone(&self) -> AdviceStack
fn clone(&self) -> AdviceStack
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for AdviceStack
impl Debug for AdviceStack
Source§impl Default for AdviceStack
impl Default for AdviceStack
Source§fn default() -> AdviceStack
fn default() -> AdviceStack
impl Eq for AdviceStack
Source§impl From<AdviceStack> for Vec<Felt>
impl From<AdviceStack> for Vec<Felt>
Source§fn from(stack: AdviceStack) -> Self
fn from(stack: AdviceStack) -> Self
Source§impl FromIterator<Felt> for AdviceStack
impl FromIterator<Felt> for AdviceStack
Source§impl PartialEq for AdviceStack
impl PartialEq for AdviceStack
impl StructuralPartialEq for AdviceStack
Auto Trait Implementations§
impl Freeze for AdviceStack
impl RefUnwindSafe for AdviceStack
impl Send for AdviceStack
impl Sync for AdviceStack
impl Unpin for AdviceStack
impl UnsafeUnpin for AdviceStack
impl UnwindSafe for AdviceStack
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
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§impl<D> OwoColorize for D
impl<D> OwoColorize for D
Source§fn fg<C>(&self) -> FgColorDisplay<'_, C, Self>where
C: Color,
fn fg<C>(&self) -> FgColorDisplay<'_, C, Self>where
C: Color,
Source§fn bg<C>(&self) -> BgColorDisplay<'_, C, Self>where
C: Color,
fn bg<C>(&self) -> BgColorDisplay<'_, C, Self>where
C: Color,
Source§fn black(&self) -> FgColorDisplay<'_, Black, Self>
fn black(&self) -> FgColorDisplay<'_, Black, Self>
Source§fn on_black(&self) -> BgColorDisplay<'_, Black, Self>
fn on_black(&self) -> BgColorDisplay<'_, Black, Self>
Source§fn red(&self) -> FgColorDisplay<'_, Red, Self>
fn red(&self) -> FgColorDisplay<'_, Red, Self>
Source§fn on_red(&self) -> BgColorDisplay<'_, Red, Self>
fn on_red(&self) -> BgColorDisplay<'_, Red, Self>
Source§fn green(&self) -> FgColorDisplay<'_, Green, Self>
fn green(&self) -> FgColorDisplay<'_, Green, Self>
Source§fn on_green(&self) -> BgColorDisplay<'_, Green, Self>
fn on_green(&self) -> BgColorDisplay<'_, Green, Self>
Source§fn yellow(&self) -> FgColorDisplay<'_, Yellow, Self>
fn yellow(&self) -> FgColorDisplay<'_, Yellow, Self>
Source§fn on_yellow(&self) -> BgColorDisplay<'_, Yellow, Self>
fn on_yellow(&self) -> BgColorDisplay<'_, Yellow, Self>
Source§fn blue(&self) -> FgColorDisplay<'_, Blue, Self>
fn blue(&self) -> FgColorDisplay<'_, Blue, Self>
Source§fn on_blue(&self) -> BgColorDisplay<'_, Blue, Self>
fn on_blue(&self) -> BgColorDisplay<'_, Blue, Self>
Source§fn magenta(&self) -> FgColorDisplay<'_, Magenta, Self>
fn magenta(&self) -> FgColorDisplay<'_, Magenta, Self>
Source§fn on_magenta(&self) -> BgColorDisplay<'_, Magenta, Self>
fn on_magenta(&self) -> BgColorDisplay<'_, Magenta, Self>
Source§fn purple(&self) -> FgColorDisplay<'_, Magenta, Self>
fn purple(&self) -> FgColorDisplay<'_, Magenta, Self>
Source§fn on_purple(&self) -> BgColorDisplay<'_, Magenta, Self>
fn on_purple(&self) -> BgColorDisplay<'_, Magenta, Self>
Source§fn cyan(&self) -> FgColorDisplay<'_, Cyan, Self>
fn cyan(&self) -> FgColorDisplay<'_, Cyan, Self>
Source§fn on_cyan(&self) -> BgColorDisplay<'_, Cyan, Self>
fn on_cyan(&self) -> BgColorDisplay<'_, Cyan, Self>
Source§fn white(&self) -> FgColorDisplay<'_, White, Self>
fn white(&self) -> FgColorDisplay<'_, White, Self>
Source§fn on_white(&self) -> BgColorDisplay<'_, White, Self>
fn on_white(&self) -> BgColorDisplay<'_, White, Self>
Source§fn default_color(&self) -> FgColorDisplay<'_, Default, Self>
fn default_color(&self) -> FgColorDisplay<'_, Default, Self>
Source§fn on_default_color(&self) -> BgColorDisplay<'_, Default, Self>
fn on_default_color(&self) -> BgColorDisplay<'_, Default, Self>
Source§fn bright_black(&self) -> FgColorDisplay<'_, BrightBlack, Self>
fn bright_black(&self) -> FgColorDisplay<'_, BrightBlack, Self>
Source§fn on_bright_black(&self) -> BgColorDisplay<'_, BrightBlack, Self>
fn on_bright_black(&self) -> BgColorDisplay<'_, BrightBlack, Self>
Source§fn bright_red(&self) -> FgColorDisplay<'_, BrightRed, Self>
fn bright_red(&self) -> FgColorDisplay<'_, BrightRed, Self>
Source§fn on_bright_red(&self) -> BgColorDisplay<'_, BrightRed, Self>
fn on_bright_red(&self) -> BgColorDisplay<'_, BrightRed, Self>
Source§fn bright_green(&self) -> FgColorDisplay<'_, BrightGreen, Self>
fn bright_green(&self) -> FgColorDisplay<'_, BrightGreen, Self>
Source§fn on_bright_green(&self) -> BgColorDisplay<'_, BrightGreen, Self>
fn on_bright_green(&self) -> BgColorDisplay<'_, BrightGreen, Self>
Source§fn bright_yellow(&self) -> FgColorDisplay<'_, BrightYellow, Self>
fn bright_yellow(&self) -> FgColorDisplay<'_, BrightYellow, Self>
Source§fn on_bright_yellow(&self) -> BgColorDisplay<'_, BrightYellow, Self>
fn on_bright_yellow(&self) -> BgColorDisplay<'_, BrightYellow, Self>
Source§fn bright_blue(&self) -> FgColorDisplay<'_, BrightBlue, Self>
fn bright_blue(&self) -> FgColorDisplay<'_, BrightBlue, Self>
Source§fn on_bright_blue(&self) -> BgColorDisplay<'_, BrightBlue, Self>
fn on_bright_blue(&self) -> BgColorDisplay<'_, BrightBlue, Self>
Source§fn bright_magenta(&self) -> FgColorDisplay<'_, BrightMagenta, Self>
fn bright_magenta(&self) -> FgColorDisplay<'_, BrightMagenta, Self>
Source§fn on_bright_magenta(&self) -> BgColorDisplay<'_, BrightMagenta, Self>
fn on_bright_magenta(&self) -> BgColorDisplay<'_, BrightMagenta, Self>
Source§fn bright_purple(&self) -> FgColorDisplay<'_, BrightMagenta, Self>
fn bright_purple(&self) -> FgColorDisplay<'_, BrightMagenta, Self>
Source§fn on_bright_purple(&self) -> BgColorDisplay<'_, BrightMagenta, Self>
fn on_bright_purple(&self) -> BgColorDisplay<'_, BrightMagenta, Self>
Source§fn bright_cyan(&self) -> FgColorDisplay<'_, BrightCyan, Self>
fn bright_cyan(&self) -> FgColorDisplay<'_, BrightCyan, Self>
Source§fn on_bright_cyan(&self) -> BgColorDisplay<'_, BrightCyan, Self>
fn on_bright_cyan(&self) -> BgColorDisplay<'_, BrightCyan, Self>
Source§fn bright_white(&self) -> FgColorDisplay<'_, BrightWhite, Self>
fn bright_white(&self) -> FgColorDisplay<'_, BrightWhite, Self>
Source§fn on_bright_white(&self) -> BgColorDisplay<'_, BrightWhite, Self>
fn on_bright_white(&self) -> BgColorDisplay<'_, BrightWhite, Self>
Source§fn bold(&self) -> BoldDisplay<'_, Self>
fn bold(&self) -> BoldDisplay<'_, Self>
Source§fn dimmed(&self) -> DimDisplay<'_, Self>
fn dimmed(&self) -> DimDisplay<'_, Self>
Source§fn italic(&self) -> ItalicDisplay<'_, Self>
fn italic(&self) -> ItalicDisplay<'_, Self>
Source§fn underline(&self) -> UnderlineDisplay<'_, Self>
fn underline(&self) -> UnderlineDisplay<'_, Self>
Source§fn blink(&self) -> BlinkDisplay<'_, Self>
fn blink(&self) -> BlinkDisplay<'_, Self>
Source§fn blink_fast(&self) -> BlinkFastDisplay<'_, Self>
fn blink_fast(&self) -> BlinkFastDisplay<'_, Self>
Source§fn reversed(&self) -> ReversedDisplay<'_, Self>
fn reversed(&self) -> ReversedDisplay<'_, Self>
Source§fn strikethrough(&self) -> StrikeThroughDisplay<'_, Self>
fn strikethrough(&self) -> StrikeThroughDisplay<'_, Self>
Source§fn color<Color>(&self, color: Color) -> FgDynColorDisplay<'_, Color, Self>where
Color: DynColor,
fn color<Color>(&self, color: Color) -> FgDynColorDisplay<'_, Color, Self>where
Color: DynColor,
OwoColorize::fg or
a color-specific method, such as OwoColorize::green, Read moreSource§fn on_color<Color>(&self, color: Color) -> BgDynColorDisplay<'_, Color, Self>where
Color: DynColor,
fn on_color<Color>(&self, color: Color) -> BgDynColorDisplay<'_, Color, Self>where
Color: DynColor,
OwoColorize::bg or
a color-specific method, such as OwoColorize::on_yellow, Read more