pub struct CairoProgram<'a, F> {
pub steps: F,
pub mem: &'a mut CairoMemory<F>,
pub ini: CairoState<F>,
pub fin: CairoState<F>,
pub trace: Vec<CairoInstruction<F>>,
}
Expand description
This struct stores the needed information to run a program
Fields§
§steps: F
total number of steps
mem: &'a mut CairoMemory<F>
full execution memory
ini: CairoState<F>
initial computation registers
fin: CairoState<F>
final computation pointers
trace: Vec<CairoInstruction<F>>
execution trace as a vector of CairoInstruction
Implementations§
Source§impl<'a, F: Field> CairoProgram<'a, F>
impl<'a, F: Field> CairoProgram<'a, F>
Sourcepub fn new(mem: &mut CairoMemory<F>, pc: u64) -> CairoProgram<'_, F>
pub fn new(mem: &mut CairoMemory<F>, pc: u64) -> CairoProgram<'_, F>
Creates a Cairo execution from the public information (memory and initial pointers)
Sourcepub fn steps(&self) -> F
pub fn steps(&self) -> F
Outputs the total number of steps of the execution carried out by the runner
Sourcepub fn ini(&self) -> CairoState<F>
pub fn ini(&self) -> CairoState<F>
Outputs the initial value of the pointers after the execution carried out by the runner
Sourcepub fn fin(&self) -> CairoState<F>
pub fn fin(&self) -> CairoState<F>
Outputs the final value of the pointers after the execution carried out by the runner
Sourcepub fn trace(&self) -> &Vec<CairoInstruction<F>>
pub fn trace(&self) -> &Vec<CairoInstruction<F>>
Returns a reference to the set of instructions
Auto Trait Implementations§
impl<'a, F> Freeze for CairoProgram<'a, F>where
F: Freeze,
impl<'a, F> RefUnwindSafe for CairoProgram<'a, F>where
F: RefUnwindSafe,
impl<'a, F> Send for CairoProgram<'a, F>where
F: Send,
impl<'a, F> Sync for CairoProgram<'a, F>where
F: Sync,
impl<'a, F> Unpin for CairoProgram<'a, F>where
F: Unpin,
impl<'a, F> !UnwindSafe for CairoProgram<'a, F>
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
Mutably borrows from an owned value. Read more