pub struct ProgramOutputs { /* private fields */ }
Expand description

Output container for Miden VM programs.

Miden program outputs contain the full state of the stack at the end of execution as well as the addresses in the overflow table which are required to reconstruct the table (when combined with the overflow values from the stack state).

stack is expected to be ordered as if they elements were popped off the stack one by one. Thus, the value at the top of the stack is expected to be in the first position, and the order of the rest of the output elements will also match the order on the stack.

overflow_addrs is expected to start with the prev address value from the first row in the overflow table (the row representing the deepest element in the stack) and then be followed by the address (clk value) of each row in the table starting from the deepest element in the stack and finishing with the row which was added to the table last.

Implementations

Returns the stack outputs, which is state of the stack at the end of execution converted to integers.

Returns the number of requested stack outputs or returns the full stack if fewer than the requested number of stack values exist.

Returns the state of the top of the stack at the end of execution.

Returns the overflow address outputs, which are the addresses required to reconstruct the overflow table (when combined with the stack overflow values) converted to integers.

Returns true if the overflow table outputs are non-empty.

Returns the previous address prev for the first row in the stack overflow table

Returns (address, value) for all rows which were on the overflow table at the end of execution in the order in which they were added to the table (deepest stack item first).

Returns mutable access to the stack outputs, to be used for testing or running examples. TODO: this should be marked with #[cfg(test)] attribute, but that currently won’t work with the integration test handler util.

Trait Implementations

Returns a copy of the value. Read more
Performs copy-assignment from source. Read more
Formats the value using the given formatter. Read more
Returns the “default value” for a type. Read more

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more
Immutably borrows from an owned value. Read more
Mutably borrows from an owned value. Read more

Returns the argument unchanged.

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Should always be Self
The resulting type after obtaining ownership.
Creates owned data from borrowed data, usually by cloning. Read more
Uses borrowed data to replace owned data, usually by cloning. Read more
The type returned in the event of a conversion error.
Performs the conversion.
The type returned in the event of a conversion error.
Performs the conversion.