sage::vm

Trait VirtualMachineProgram

Source
pub trait VirtualMachineProgram {
Show 31 methods // Required methods fn op(&mut self, op: CoreOp); fn std_op(&mut self, op: StandardOp) -> Result<(), Error>; fn code(&self) -> Result<CoreProgram, StandardProgram>; // Provided methods fn set_float_vector(&mut self, vector: Vec<f64>) -> Result<(), Error> { ... } fn set_vector(&mut self, vector: Vec<i64>) { ... } fn store_vector(&mut self, n: usize) { ... } fn load_vector(&mut self, n: usize) { ... } fn ffi_call(&mut self, ffi: FFIBinding) -> Result<(), Error> { ... } fn poke(&mut self) -> Result<(), Error> { ... } fn peek(&mut self) -> Result<(), Error> { ... } fn comment(&mut self, comment: &str) { ... } fn restore(&mut self) { ... } fn save(&mut self) { ... } fn ret(&mut self) { ... } fn where_is_pointer(&mut self) { ... } fn deref(&mut self) { ... } fn refer(&mut self) { ... } fn move_pointer(&mut self, cells: isize) { ... } fn set_register(&mut self, val: i64) { ... } fn set_float_register(&mut self, val: f64) -> Result<(), Error> { ... } fn begin_while(&mut self) { ... } fn begin_if(&mut self) { ... } fn begin_else(&mut self) { ... } fn begin_function(&mut self) { ... } fn end(&mut self) { ... } fn call(&mut self) { ... } fn index(&mut self) { ... } fn bitwise_nand(&mut self) { ... } fn get(&mut self, src: Input) { ... } fn put(&mut self, dst: Output) { ... } fn is_non_negative(&mut self) { ... }
}
Expand description

An interface to conveniently create virtual machine programs, of either the core or standard variant.

Required Methods§

Source

fn op(&mut self, op: CoreOp)

Source

fn std_op(&mut self, op: StandardOp) -> Result<(), Error>

Source

fn code(&self) -> Result<CoreProgram, StandardProgram>

Provided Methods§

Source

fn set_float_vector(&mut self, vector: Vec<f64>) -> Result<(), Error>

Source

fn set_vector(&mut self, vector: Vec<i64>)

Source

fn store_vector(&mut self, n: usize)

Source

fn load_vector(&mut self, n: usize)

Source

fn ffi_call(&mut self, ffi: FFIBinding) -> Result<(), Error>

Source

fn poke(&mut self) -> Result<(), Error>

Source

fn peek(&mut self) -> Result<(), Error>

Source

fn comment(&mut self, comment: &str)

Source

fn restore(&mut self)

Source

fn save(&mut self)

Source

fn ret(&mut self)

Source

fn where_is_pointer(&mut self)

Source

fn deref(&mut self)

Source

fn refer(&mut self)

Source

fn move_pointer(&mut self, cells: isize)

Source

fn set_register(&mut self, val: i64)

Source

fn set_float_register(&mut self, val: f64) -> Result<(), Error>

Source

fn begin_while(&mut self)

Source

fn begin_if(&mut self)

Source

fn begin_else(&mut self)

Source

fn begin_function(&mut self)

Source

fn end(&mut self)

Source

fn call(&mut self)

Source

fn index(&mut self)

Source

fn bitwise_nand(&mut self)

Source

fn get(&mut self, src: Input)

Source

fn put(&mut self, dst: Output)

Source

fn is_non_negative(&mut self)

Implementors§