From 0db9500cfc408bbfc20a07436a80223fbb7a6541 Mon Sep 17 00:00:00 2001 From: dannywillems Date: Wed, 4 Dec 2024 12:29:34 +0000 Subject: [PATCH] deploy: 3589aed6bb3b3fa59cdb0731af4c95b45522b522 --- .../riscv32im/constraints/struct.Env.html | 18 +-- .../interpreter/enum.IInstruction.html | 12 +- .../interpreter/enum.Instruction.html | 12 +- .../interpreter/enum.MInstruction.html | 12 +- .../interpreter/enum.RInstruction.html | 12 +- .../interpreter/enum.SBInstruction.html | 12 +- .../interpreter/enum.SInstruction.html | 12 +- .../interpreter/enum.SyscallInstruction.html | 12 +- .../interpreter/enum.UInstruction.html | 12 +- .../interpreter/enum.UJInstruction.html | 12 +- .../interpreter/fn.interpret_instruction.html | 2 +- .../interpreter/fn.interpret_itype.html | 2 +- .../interpreter/fn.interpret_mtype.html | 2 +- .../interpreter/fn.interpret_rtype.html | 2 +- .../interpreter/fn.interpret_sbtype.html | 2 +- .../interpreter/fn.interpret_stype.html | 2 +- .../interpreter/fn.interpret_syscall.html | 2 +- .../interpreter/fn.interpret_ujtype.html | 2 +- .../interpreter/fn.interpret_utype.html | 2 +- .../riscv32im/interpreter/index.html | 9 +- .../interpreter/struct.IInstructionIter.html | 8 +- .../interpreter/struct.InstructionIter.html | 8 +- .../interpreter/struct.MInstructionIter.html | 8 +- .../interpreter/struct.RInstructionIter.html | 8 +- .../interpreter/struct.SBInstructionIter.html | 8 +- .../interpreter/struct.SInstructionIter.html | 8 +- .../struct.SyscallInstructionIter.html | 8 +- .../interpreter/struct.UInstructionIter.html | 8 +- .../interpreter/struct.UJInstructionIter.html | 8 +- .../interpreter/trait.InterpreterEnv.html | 120 +++++++++--------- .../riscv32im/witness/struct.Env.html | 18 +-- .../riscv32im/interpreter.rs.html | 48 +++++-- 32 files changed, 225 insertions(+), 186 deletions(-) diff --git a/rustdoc/o1vm/interpreters/riscv32im/constraints/struct.Env.html b/rustdoc/o1vm/interpreters/riscv32im/constraints/struct.Env.html index c94a53bcc0..33db81bbd7 100644 --- a/rustdoc/o1vm/interpreters/riscv32im/constraints/struct.Env.html +++ b/rustdoc/o1vm/interpreters/riscv32im/constraints/struct.Env.html @@ -190,11 +190,11 @@ &mut self, x: &Self::Variable, position: Self::Position -) -> Self::Variable
source§

fn set_halted(&mut self, _flag: Self::Variable)

source§

fn report_exit(&mut self, _exit_code: &Self::Variable)

source§

fn reset(&mut self)

source§

fn assert_is_zero(&mut self, assert_equals_zero: Self::Variable)

Assert that the value assert_equals_zero is 0, and add a constraint in the proof system.
source§

fn assert_equal(&mut self, x: Self::Variable, y: Self::Variable)

Assert that the values x and y are equal, and add a constraint in the proof system.
source§

fn assert_boolean(&mut self, x: Self::Variable)

Assert that the value x is boolean, and add a constraint in the proof system.
source§

unsafe fn push_register(&mut self, idx: &Self::Variable, value: Self::Variable)

Set the general purpose register with index idx to value. Read more
source§

unsafe fn push_register_access( +) -> Self::Variable

source§

fn set_halted(&mut self, _flag: Self::Variable)

source§

fn report_exit(&mut self, _exit_code: &Self::Variable)

source§

fn reset(&mut self)

source§

fn assert_is_zero(&mut self, assert_equals_zero: Self::Variable)

Assert that the value assert_equals_zero is 0, and add a constraint in the proof system.
source§

fn assert_equal(&mut self, x: Self::Variable, y: Self::Variable)

Assert that the values x and y are equal, and add a constraint in the proof system.
source§

fn assert_boolean(&mut self, x: Self::Variable)

Assert that the value x is boolean, and add a constraint in the proof system.
source§

unsafe fn push_register(&mut self, idx: &Self::Variable, value: Self::Variable)

Set the general purpose register with index idx to value. Read more
source§

unsafe fn push_register_access( &mut self, idx: &Self::Variable, value: Self::Variable -)

Set the last ‘access index’ for the general purpose register with index idx to value. Read more
source§

unsafe fn access_register_if( +)

Set the last ‘access index’ for the general purpose register with index idx to value. Read more
source§

unsafe fn access_register_if( &mut self, idx: &Self::Variable, old_value: &Self::Variable, @@ -202,31 +202,31 @@ if_is_true: &Self::Variable )

Access the general purpose register with index idx, adding constraints asserting that the old value was old_value and that the new value will be new_value, if if_is_true is -true. Read more
source§

fn read_register(&mut self, idx: &Self::Variable) -> Self::Variable

source§

unsafe fn access_register( +true. Read more

source§

fn read_register(&mut self, idx: &Self::Variable) -> Self::Variable

source§

unsafe fn access_register( &mut self, idx: &Self::Variable, old_value: &Self::Variable, new_value: &Self::Variable )

Access the general purpose register with index idx, adding constraints asserting that the -old value was old_value and that the new value will be new_value. Read more
source§

fn write_register_if( +old value was old_value and that the new value will be new_value. Read more

source§

fn write_register_if( &mut self, idx: &Self::Variable, new_value: Self::Variable, if_is_true: &Self::Variable -)

source§

fn write_register(&mut self, idx: &Self::Variable, new_value: Self::Variable)

source§

unsafe fn access_memory( +)

source§

fn write_register(&mut self, idx: &Self::Variable, new_value: Self::Variable)

source§

unsafe fn access_memory( &mut self, addr: &Self::Variable, old_value: &Self::Variable, new_value: &Self::Variable )

Access the memory address addr, adding constraints asserting that the old value was -old_value and that the new value will be new_value. Read more
source§

fn read_memory(&mut self, addr: &Self::Variable) -> Self::Variable

source§

fn write_memory(&mut self, addr: &Self::Variable, new_value: Self::Variable)

source§

fn lookup_16bits(&mut self, value: &Self::Variable)

Adds a lookup to the RangeCheck16Lookup table
source§

fn range_check16(&mut self, value: &Self::Variable, bits: u32)

Range checks with 2 lookups to the RangeCheck16Lookup table that a value -is at most 2^bits-1 (bits <= 16).
source§

fn lookup_8bits(&mut self, value: &Self::Variable)

Adds a lookup to the ByteLookup table
source§

fn range_check8(&mut self, value: &Self::Variable, bits: u32)

Range checks with 2 lookups to the ByteLookup table that a value -is at most 2^bits-1 (bits <= 8).
source§

fn lookup_2bits(&mut self, value: &Self::Variable)

Adds a lookup to the AtMost4Lookup table
source§

fn range_check64(&mut self, _value: &Self::Variable)

source§

fn set_instruction_pointer(&mut self, ip: Self::Variable)

source§

fn get_instruction_pointer(&mut self) -> Self::Variable

source§

fn set_next_instruction_pointer(&mut self, ip: Self::Variable)

source§

fn get_next_instruction_pointer(&mut self) -> Self::Variable

source§

fn increase_heap_pointer( +old_value and that the new value will be new_value. Read more

source§

fn read_memory(&mut self, addr: &Self::Variable) -> Self::Variable

source§

fn write_memory(&mut self, addr: &Self::Variable, new_value: Self::Variable)

source§

fn lookup_16bits(&mut self, value: &Self::Variable)

Adds a lookup to the RangeCheck16Lookup table
source§

fn range_check16(&mut self, value: &Self::Variable, bits: u32)

Range checks with 2 lookups to the RangeCheck16Lookup table that a value +is at most 2^bits-1 (bits <= 16).
source§

fn lookup_8bits(&mut self, value: &Self::Variable)

Adds a lookup to the ByteLookup table
source§

fn range_check8(&mut self, value: &Self::Variable, bits: u32)

Range checks with 2 lookups to the ByteLookup table that a value +is at most 2^bits-1 (bits <= 8).
source§

fn lookup_2bits(&mut self, value: &Self::Variable)

Adds a lookup to the AtMost4Lookup table
source§

fn range_check64(&mut self, _value: &Self::Variable)

source§

fn set_instruction_pointer(&mut self, ip: Self::Variable)

source§

fn get_instruction_pointer(&mut self) -> Self::Variable

source§

fn set_next_instruction_pointer(&mut self, ip: Self::Variable)

source§

fn get_next_instruction_pointer(&mut self) -> Self::Variable

source§

fn increase_heap_pointer( &mut self, by_amount: &Self::Variable, if_is_true: &Self::Variable ) -> Self::Variable

Increases the heap pointer by by_amount if if_is_true is 1, and returns the previous -value of the heap pointer.
source§

fn sign_extend(&mut self, x: &Self::Variable, bitlength: u32) -> Self::Variable

Given a variable x, this function extends it to a signed integer of +value of the heap pointer.
source§

fn sign_extend(&mut self, x: &Self::Variable, bitlength: u32) -> Self::Variable

Given a variable x, this function extends it to a signed integer of bitlength bits.

Auto Trait Implementations§

§

impl<F> RefUnwindSafe for Env<F>where F: RefUnwindSafe,

§

impl<F> Send for Env<F>

§

impl<F> Sync for Env<F>

§

impl<F> Unpin for Env<F>where F: Unpin,

§

impl<F> UnwindSafe for Env<F>where diff --git a/rustdoc/o1vm/interpreters/riscv32im/interpreter/enum.IInstruction.html b/rustdoc/o1vm/interpreters/riscv32im/interpreter/enum.IInstruction.html index 228075ed6e..640d4d8991 100644 --- a/rustdoc/o1vm/interpreters/riscv32im/interpreter/enum.IInstruction.html +++ b/rustdoc/o1vm/interpreters/riscv32im/interpreter/enum.IInstruction.html @@ -1,4 +1,4 @@ -IInstruction in o1vm::interpreters::riscv32im::interpreter - Rust

Trait Implementations§

source§

impl Clone for IInstruction

source§

fn clone(&self) -> IInstruction

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for IInstruction

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl Default for IInstruction

source§

fn default() -> IInstruction

Returns the “default value” for a type. Read more
source§

impl Display for IInstruction

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl EnumCount for IInstruction

source§

const COUNT: usize = 15usize

source§

impl Hash for IInstruction

source§

fn hash<__H: Hasher>(&self, state: &mut __H)

Feeds this value into the given Hasher. Read more
1.3.0 · source§

fn hash_slice<H>(data: &[Self], state: &mut H)where +

Trait Implementations§

source§

impl Clone for IInstruction

source§

fn clone(&self) -> IInstruction

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for IInstruction

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl Default for IInstruction

source§

fn default() -> IInstruction

Returns the “default value” for a type. Read more
source§

impl Display for IInstruction

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl EnumCount for IInstruction

source§

const COUNT: usize = 15usize

source§

impl Hash for IInstruction

source§

fn hash<__H: Hasher>(&self, state: &mut __H)

Feeds this value into the given Hasher. Read more
1.3.0 · source§

fn hash_slice<H>(data: &[Self], state: &mut H)where H: Hasher, - Self: Sized,

Feeds a slice of this type into the given Hasher. Read more
source§

impl IntoEnumIterator for IInstruction

source§

impl Ord for IInstruction

source§

fn cmp(&self, other: &IInstruction) -> Ordering

This method returns an Ordering between self and other. Read more
1.21.0 · source§

fn max(self, other: Self) -> Selfwhere + Self: Sized,

Feeds a slice of this type into the given Hasher. Read more
source§

impl IntoEnumIterator for IInstruction

source§

impl Ord for IInstruction

source§

fn cmp(&self, other: &IInstruction) -> Ordering

This method returns an Ordering between self and other. Read more
1.21.0 · source§

fn max(self, other: Self) -> Selfwhere Self: Sized,

Compares and returns the maximum of two values. Read more
1.21.0 · source§

fn min(self, other: Self) -> Selfwhere Self: Sized,

Compares and returns the minimum of two values. Read more
1.50.0 · source§

fn clamp(self, min: Self, max: Self) -> Selfwhere - Self: Sized + PartialOrd<Self>,

Restrict a value to a certain interval. Read more
source§

impl PartialEq<IInstruction> for IInstruction

source§

fn eq(&self, other: &IInstruction) -> bool

This method tests for self and other values to be equal, and is used + Self: Sized + PartialOrd<Self>,

Restrict a value to a certain interval. Read more
source§

impl PartialEq<IInstruction> for IInstruction

source§

fn eq(&self, other: &IInstruction) -> bool

This method tests for self and other values to be equal, and is used by ==.
1.0.0 · source§

fn ne(&self, other: &Rhs) -> bool

This method tests for !=. The default implementation is almost always -sufficient, and should not be overridden without very good reason.
source§

impl PartialOrd<IInstruction> for IInstruction

source§

fn partial_cmp(&self, other: &IInstruction) -> Option<Ordering>

This method returns an ordering between self and other values if one exists. Read more
1.0.0 · source§

fn lt(&self, other: &Rhs) -> bool

This method tests less than (for self and other) and is used by the < operator. Read more
1.0.0 · source§

fn le(&self, other: &Rhs) -> bool

This method tests less than or equal to (for self and other) and is used by the <= +sufficient, and should not be overridden without very good reason.
source§

impl PartialOrd<IInstruction> for IInstruction

source§

fn partial_cmp(&self, other: &IInstruction) -> Option<Ordering>

This method returns an ordering between self and other values if one exists. Read more
1.0.0 · source§

fn lt(&self, other: &Rhs) -> bool

This method tests less than (for self and other) and is used by the < operator. Read more
1.0.0 · source§

fn le(&self, other: &Rhs) -> bool

This method tests less than or equal to (for self and other) and is used by the <= operator. Read more
1.0.0 · source§

fn gt(&self, other: &Rhs) -> bool

This method tests greater than (for self and other) and is used by the > operator. Read more
1.0.0 · source§

fn ge(&self, other: &Rhs) -> bool

This method tests greater than or equal to (for self and other) and is used by the >= -operator. Read more
source§

impl Copy for IInstruction

source§

impl Eq for IInstruction

source§

impl StructuralEq for IInstruction

source§

impl StructuralPartialEq for IInstruction

Auto Trait Implementations§

§

impl RefUnwindSafe for IInstruction

§

impl Send for IInstruction

§

impl Sync for IInstruction

§

impl Unpin for IInstruction

§

impl UnwindSafe for IInstruction

Blanket Implementations§

source§

impl<T> Any for Twhere +operator. Read more

source§

impl Copy for IInstruction

source§

impl Eq for IInstruction

source§

impl StructuralEq for IInstruction

source§

impl StructuralPartialEq for IInstruction

Auto Trait Implementations§

§

impl RefUnwindSafe for IInstruction

§

impl Send for IInstruction

§

impl Sync for IInstruction

§

impl Unpin for IInstruction

§

impl UnwindSafe for IInstruction

Blanket Implementations§

source§

impl<T> Any for Twhere T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for Twhere T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for Twhere T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
§

impl<Q, K> Equivalent<K> for Qwhere diff --git a/rustdoc/o1vm/interpreters/riscv32im/interpreter/enum.Instruction.html b/rustdoc/o1vm/interpreters/riscv32im/interpreter/enum.Instruction.html index 7bee5b45ff..fdddfa8e19 100644 --- a/rustdoc/o1vm/interpreters/riscv32im/interpreter/enum.Instruction.html +++ b/rustdoc/o1vm/interpreters/riscv32im/interpreter/enum.Instruction.html @@ -1,4 +1,4 @@ -Instruction in o1vm::interpreters::riscv32im::interpreter - Rust
pub enum Instruction {
+Instruction in o1vm::interpreters::riscv32im::interpreter - Rust
pub enum Instruction {
     RType(RInstruction),
     IType(IInstruction),
     SType(SInstruction),
@@ -7,16 +7,16 @@
     UJType(UJInstruction),
     SyscallType(SyscallInstruction),
     MType(MInstruction),
-}

Variants§

Trait Implementations§

source§

impl Clone for Instruction

source§

fn clone(&self) -> Instruction

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for Instruction

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl Display for Instruction

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl EnumCount for Instruction

source§

const COUNT: usize = 8usize

source§

impl From<Instruction> for usize

source§

fn from(instr: Instruction) -> usize

Converts to this type from the input type.
source§

impl Hash for Instruction

source§

fn hash<__H: Hasher>(&self, state: &mut __H)

Feeds this value into the given Hasher. Read more
1.3.0 · source§

fn hash_slice<H>(data: &[Self], state: &mut H)where +}

Variants§

Trait Implementations§

source§

impl Clone for Instruction

source§

fn clone(&self) -> Instruction

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for Instruction

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl Display for Instruction

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl EnumCount for Instruction

source§

const COUNT: usize = 8usize

source§

impl From<Instruction> for usize

source§

fn from(instr: Instruction) -> usize

Converts to this type from the input type.
source§

impl Hash for Instruction

source§

fn hash<__H: Hasher>(&self, state: &mut __H)

Feeds this value into the given Hasher. Read more
1.3.0 · source§

fn hash_slice<H>(data: &[Self], state: &mut H)where H: Hasher, - Self: Sized,

Feeds a slice of this type into the given Hasher. Read more
source§

impl IntoEnumIterator for Instruction

source§

impl IntoIterator for Instruction

§

type Item = Instruction

The type of the elements being iterated over.
§

type IntoIter = IntoIter<Instruction, Global>

Which kind of iterator are we turning this into?
source§

fn into_iter(self) -> Self::IntoIter

Creates an iterator from a value. Read more
source§

impl Ord for Instruction

source§

fn cmp(&self, other: &Instruction) -> Ordering

This method returns an Ordering between self and other. Read more
1.21.0 · source§

fn max(self, other: Self) -> Selfwhere + Self: Sized,

Feeds a slice of this type into the given Hasher. Read more
source§

impl IntoEnumIterator for Instruction

source§

impl IntoIterator for Instruction

§

type Item = Instruction

The type of the elements being iterated over.
§

type IntoIter = IntoIter<Instruction, Global>

Which kind of iterator are we turning this into?
source§

fn into_iter(self) -> Self::IntoIter

Creates an iterator from a value. Read more
source§

impl Ord for Instruction

source§

fn cmp(&self, other: &Instruction) -> Ordering

This method returns an Ordering between self and other. Read more
1.21.0 · source§

fn max(self, other: Self) -> Selfwhere Self: Sized,

Compares and returns the maximum of two values. Read more
1.21.0 · source§

fn min(self, other: Self) -> Selfwhere Self: Sized,

Compares and returns the minimum of two values. Read more
1.50.0 · source§

fn clamp(self, min: Self, max: Self) -> Selfwhere - Self: Sized + PartialOrd<Self>,

Restrict a value to a certain interval. Read more
source§

impl PartialEq<Instruction> for Instruction

source§

fn eq(&self, other: &Instruction) -> bool

This method tests for self and other values to be equal, and is used + Self: Sized + PartialOrd<Self>,

Restrict a value to a certain interval. Read more
source§

impl PartialEq<Instruction> for Instruction

source§

fn eq(&self, other: &Instruction) -> bool

This method tests for self and other values to be equal, and is used by ==.
1.0.0 · source§

fn ne(&self, other: &Rhs) -> bool

This method tests for !=. The default implementation is almost always -sufficient, and should not be overridden without very good reason.
source§

impl PartialOrd<Instruction> for Instruction

source§

fn partial_cmp(&self, other: &Instruction) -> Option<Ordering>

This method returns an ordering between self and other values if one exists. Read more
1.0.0 · source§

fn lt(&self, other: &Rhs) -> bool

This method tests less than (for self and other) and is used by the < operator. Read more
1.0.0 · source§

fn le(&self, other: &Rhs) -> bool

This method tests less than or equal to (for self and other) and is used by the <= +sufficient, and should not be overridden without very good reason.
source§

impl PartialOrd<Instruction> for Instruction

source§

fn partial_cmp(&self, other: &Instruction) -> Option<Ordering>

This method returns an ordering between self and other values if one exists. Read more
1.0.0 · source§

fn lt(&self, other: &Rhs) -> bool

This method tests less than (for self and other) and is used by the < operator. Read more
1.0.0 · source§

fn le(&self, other: &Rhs) -> bool

This method tests less than or equal to (for self and other) and is used by the <= operator. Read more
1.0.0 · source§

fn gt(&self, other: &Rhs) -> bool

This method tests greater than (for self and other) and is used by the > operator. Read more
1.0.0 · source§

fn ge(&self, other: &Rhs) -> bool

This method tests greater than or equal to (for self and other) and is used by the >= -operator. Read more
source§

impl Copy for Instruction

source§

impl Eq for Instruction

source§

impl StructuralEq for Instruction

source§

impl StructuralPartialEq for Instruction

Auto Trait Implementations§

§

impl RefUnwindSafe for Instruction

§

impl Send for Instruction

§

impl Sync for Instruction

§

impl Unpin for Instruction

§

impl UnwindSafe for Instruction

Blanket Implementations§

source§

impl<T> Any for Twhere +operator. Read more

source§

impl Copy for Instruction

source§

impl Eq for Instruction

source§

impl StructuralEq for Instruction

source§

impl StructuralPartialEq for Instruction

Auto Trait Implementations§

§

impl RefUnwindSafe for Instruction

§

impl Send for Instruction

§

impl Sync for Instruction

§

impl Unpin for Instruction

§

impl UnwindSafe for Instruction

Blanket Implementations§

source§

impl<T> Any for Twhere T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for Twhere T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for Twhere T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
§

impl<Q, K> Equivalent<K> for Qwhere diff --git a/rustdoc/o1vm/interpreters/riscv32im/interpreter/enum.MInstruction.html b/rustdoc/o1vm/interpreters/riscv32im/interpreter/enum.MInstruction.html index 38af83fa89..f96cf5f6e2 100644 --- a/rustdoc/o1vm/interpreters/riscv32im/interpreter/enum.MInstruction.html +++ b/rustdoc/o1vm/interpreters/riscv32im/interpreter/enum.MInstruction.html @@ -1,4 +1,4 @@ -MInstruction in o1vm::interpreters::riscv32im::interpreter - Rust

Trait Implementations§

source§

impl Clone for MInstruction

source§

fn clone(&self) -> MInstruction

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for MInstruction

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl Default for MInstruction

source§

fn default() -> MInstruction

Returns the “default value” for a type. Read more
source§

impl Display for MInstruction

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl EnumCount for MInstruction

source§

const COUNT: usize = 8usize

source§

impl Hash for MInstruction

source§

fn hash<__H: Hasher>(&self, state: &mut __H)

Feeds this value into the given Hasher. Read more
1.3.0 · source§

fn hash_slice<H>(data: &[Self], state: &mut H)where +

Trait Implementations§

source§

impl Clone for MInstruction

source§

fn clone(&self) -> MInstruction

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for MInstruction

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl Default for MInstruction

source§

fn default() -> MInstruction

Returns the “default value” for a type. Read more
source§

impl Display for MInstruction

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl EnumCount for MInstruction

source§

const COUNT: usize = 8usize

source§

impl Hash for MInstruction

source§

fn hash<__H: Hasher>(&self, state: &mut __H)

Feeds this value into the given Hasher. Read more
1.3.0 · source§

fn hash_slice<H>(data: &[Self], state: &mut H)where H: Hasher, - Self: Sized,

Feeds a slice of this type into the given Hasher. Read more
source§

impl IntoEnumIterator for MInstruction

source§

impl Ord for MInstruction

source§

fn cmp(&self, other: &MInstruction) -> Ordering

This method returns an Ordering between self and other. Read more
1.21.0 · source§

fn max(self, other: Self) -> Selfwhere + Self: Sized,

Feeds a slice of this type into the given Hasher. Read more
source§

impl IntoEnumIterator for MInstruction

source§

impl Ord for MInstruction

source§

fn cmp(&self, other: &MInstruction) -> Ordering

This method returns an Ordering between self and other. Read more
1.21.0 · source§

fn max(self, other: Self) -> Selfwhere Self: Sized,

Compares and returns the maximum of two values. Read more
1.21.0 · source§

fn min(self, other: Self) -> Selfwhere Self: Sized,

Compares and returns the minimum of two values. Read more
1.50.0 · source§

fn clamp(self, min: Self, max: Self) -> Selfwhere - Self: Sized + PartialOrd<Self>,

Restrict a value to a certain interval. Read more
source§

impl PartialEq<MInstruction> for MInstruction

source§

fn eq(&self, other: &MInstruction) -> bool

This method tests for self and other values to be equal, and is used + Self: Sized + PartialOrd<Self>,

Restrict a value to a certain interval. Read more
source§

impl PartialEq<MInstruction> for MInstruction

source§

fn eq(&self, other: &MInstruction) -> bool

This method tests for self and other values to be equal, and is used by ==.
1.0.0 · source§

fn ne(&self, other: &Rhs) -> bool

This method tests for !=. The default implementation is almost always -sufficient, and should not be overridden without very good reason.
source§

impl PartialOrd<MInstruction> for MInstruction

source§

fn partial_cmp(&self, other: &MInstruction) -> Option<Ordering>

This method returns an ordering between self and other values if one exists. Read more
1.0.0 · source§

fn lt(&self, other: &Rhs) -> bool

This method tests less than (for self and other) and is used by the < operator. Read more
1.0.0 · source§

fn le(&self, other: &Rhs) -> bool

This method tests less than or equal to (for self and other) and is used by the <= +sufficient, and should not be overridden without very good reason.
source§

impl PartialOrd<MInstruction> for MInstruction

source§

fn partial_cmp(&self, other: &MInstruction) -> Option<Ordering>

This method returns an ordering between self and other values if one exists. Read more
1.0.0 · source§

fn lt(&self, other: &Rhs) -> bool

This method tests less than (for self and other) and is used by the < operator. Read more
1.0.0 · source§

fn le(&self, other: &Rhs) -> bool

This method tests less than or equal to (for self and other) and is used by the <= operator. Read more
1.0.0 · source§

fn gt(&self, other: &Rhs) -> bool

This method tests greater than (for self and other) and is used by the > operator. Read more
1.0.0 · source§

fn ge(&self, other: &Rhs) -> bool

This method tests greater than or equal to (for self and other) and is used by the >= -operator. Read more
source§

impl Copy for MInstruction

source§

impl Eq for MInstruction

source§

impl StructuralEq for MInstruction

source§

impl StructuralPartialEq for MInstruction

Auto Trait Implementations§

§

impl RefUnwindSafe for MInstruction

§

impl Send for MInstruction

§

impl Sync for MInstruction

§

impl Unpin for MInstruction

§

impl UnwindSafe for MInstruction

Blanket Implementations§

source§

impl<T> Any for Twhere +operator. Read more

source§

impl Copy for MInstruction

source§

impl Eq for MInstruction

source§

impl StructuralEq for MInstruction

source§

impl StructuralPartialEq for MInstruction

Auto Trait Implementations§

§

impl RefUnwindSafe for MInstruction

§

impl Send for MInstruction

§

impl Sync for MInstruction

§

impl Unpin for MInstruction

§

impl UnwindSafe for MInstruction

Blanket Implementations§

source§

impl<T> Any for Twhere T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for Twhere T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for Twhere T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
§

impl<Q, K> Equivalent<K> for Qwhere diff --git a/rustdoc/o1vm/interpreters/riscv32im/interpreter/enum.RInstruction.html b/rustdoc/o1vm/interpreters/riscv32im/interpreter/enum.RInstruction.html index 5e726da1fd..c19bf7a7bd 100644 --- a/rustdoc/o1vm/interpreters/riscv32im/interpreter/enum.RInstruction.html +++ b/rustdoc/o1vm/interpreters/riscv32im/interpreter/enum.RInstruction.html @@ -1,4 +1,4 @@ -RInstruction in o1vm::interpreters::riscv32im::interpreter - Rust

Trait Implementations§

source§

impl Clone for RInstruction

source§

fn clone(&self) -> RInstruction

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for RInstruction

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl Default for RInstruction

source§

fn default() -> RInstruction

Returns the “default value” for a type. Read more
source§

impl Display for RInstruction

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl EnumCount for RInstruction

source§

const COUNT: usize = 12usize

source§

impl Hash for RInstruction

source§

fn hash<__H: Hasher>(&self, state: &mut __H)

Feeds this value into the given Hasher. Read more
1.3.0 · source§

fn hash_slice<H>(data: &[Self], state: &mut H)where +

Trait Implementations§

source§

impl Clone for RInstruction

source§

fn clone(&self) -> RInstruction

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for RInstruction

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl Default for RInstruction

source§

fn default() -> RInstruction

Returns the “default value” for a type. Read more
source§

impl Display for RInstruction

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl EnumCount for RInstruction

source§

const COUNT: usize = 12usize

source§

impl Hash for RInstruction

source§

fn hash<__H: Hasher>(&self, state: &mut __H)

Feeds this value into the given Hasher. Read more
1.3.0 · source§

fn hash_slice<H>(data: &[Self], state: &mut H)where H: Hasher, - Self: Sized,

Feeds a slice of this type into the given Hasher. Read more
source§

impl IntoEnumIterator for RInstruction

source§

impl Ord for RInstruction

source§

fn cmp(&self, other: &RInstruction) -> Ordering

This method returns an Ordering between self and other. Read more
1.21.0 · source§

fn max(self, other: Self) -> Selfwhere + Self: Sized,

Feeds a slice of this type into the given Hasher. Read more
source§

impl IntoEnumIterator for RInstruction

source§

impl Ord for RInstruction

source§

fn cmp(&self, other: &RInstruction) -> Ordering

This method returns an Ordering between self and other. Read more
1.21.0 · source§

fn max(self, other: Self) -> Selfwhere Self: Sized,

Compares and returns the maximum of two values. Read more
1.21.0 · source§

fn min(self, other: Self) -> Selfwhere Self: Sized,

Compares and returns the minimum of two values. Read more
1.50.0 · source§

fn clamp(self, min: Self, max: Self) -> Selfwhere - Self: Sized + PartialOrd<Self>,

Restrict a value to a certain interval. Read more
source§

impl PartialEq<RInstruction> for RInstruction

source§

fn eq(&self, other: &RInstruction) -> bool

This method tests for self and other values to be equal, and is used + Self: Sized + PartialOrd<Self>,

Restrict a value to a certain interval. Read more
source§

impl PartialEq<RInstruction> for RInstruction

source§

fn eq(&self, other: &RInstruction) -> bool

This method tests for self and other values to be equal, and is used by ==.
1.0.0 · source§

fn ne(&self, other: &Rhs) -> bool

This method tests for !=. The default implementation is almost always -sufficient, and should not be overridden without very good reason.
source§

impl PartialOrd<RInstruction> for RInstruction

source§

fn partial_cmp(&self, other: &RInstruction) -> Option<Ordering>

This method returns an ordering between self and other values if one exists. Read more
1.0.0 · source§

fn lt(&self, other: &Rhs) -> bool

This method tests less than (for self and other) and is used by the < operator. Read more
1.0.0 · source§

fn le(&self, other: &Rhs) -> bool

This method tests less than or equal to (for self and other) and is used by the <= +sufficient, and should not be overridden without very good reason.
source§

impl PartialOrd<RInstruction> for RInstruction

source§

fn partial_cmp(&self, other: &RInstruction) -> Option<Ordering>

This method returns an ordering between self and other values if one exists. Read more
1.0.0 · source§

fn lt(&self, other: &Rhs) -> bool

This method tests less than (for self and other) and is used by the < operator. Read more
1.0.0 · source§

fn le(&self, other: &Rhs) -> bool

This method tests less than or equal to (for self and other) and is used by the <= operator. Read more
1.0.0 · source§

fn gt(&self, other: &Rhs) -> bool

This method tests greater than (for self and other) and is used by the > operator. Read more
1.0.0 · source§

fn ge(&self, other: &Rhs) -> bool

This method tests greater than or equal to (for self and other) and is used by the >= -operator. Read more
source§

impl Copy for RInstruction

source§

impl Eq for RInstruction

source§

impl StructuralEq for RInstruction

source§

impl StructuralPartialEq for RInstruction

Auto Trait Implementations§

§

impl RefUnwindSafe for RInstruction

§

impl Send for RInstruction

§

impl Sync for RInstruction

§

impl Unpin for RInstruction

§

impl UnwindSafe for RInstruction

Blanket Implementations§

source§

impl<T> Any for Twhere +operator. Read more

source§

impl Copy for RInstruction

source§

impl Eq for RInstruction

source§

impl StructuralEq for RInstruction

source§

impl StructuralPartialEq for RInstruction

Auto Trait Implementations§

§

impl RefUnwindSafe for RInstruction

§

impl Send for RInstruction

§

impl Sync for RInstruction

§

impl Unpin for RInstruction

§

impl UnwindSafe for RInstruction

Blanket Implementations§

source§

impl<T> Any for Twhere T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for Twhere T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for Twhere T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
§

impl<Q, K> Equivalent<K> for Qwhere diff --git a/rustdoc/o1vm/interpreters/riscv32im/interpreter/enum.SBInstruction.html b/rustdoc/o1vm/interpreters/riscv32im/interpreter/enum.SBInstruction.html index 7ebba6139c..b881cefb52 100644 --- a/rustdoc/o1vm/interpreters/riscv32im/interpreter/enum.SBInstruction.html +++ b/rustdoc/o1vm/interpreters/riscv32im/interpreter/enum.SBInstruction.html @@ -1,4 +1,4 @@ -SBInstruction in o1vm::interpreters::riscv32im::interpreter - Rust

Trait Implementations§

source§

impl Clone for SBInstruction

source§

fn clone(&self) -> SBInstruction

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for SBInstruction

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl Default for SBInstruction

source§

fn default() -> SBInstruction

Returns the “default value” for a type. Read more
source§

impl Display for SBInstruction

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl EnumCount for SBInstruction

source§

const COUNT: usize = 6usize

source§

impl Hash for SBInstruction

source§

fn hash<__H: Hasher>(&self, state: &mut __H)

Feeds this value into the given Hasher. Read more
1.3.0 · source§

fn hash_slice<H>(data: &[Self], state: &mut H)where +

Trait Implementations§

source§

impl Clone for SBInstruction

source§

fn clone(&self) -> SBInstruction

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for SBInstruction

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl Default for SBInstruction

source§

fn default() -> SBInstruction

Returns the “default value” for a type. Read more
source§

impl Display for SBInstruction

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl EnumCount for SBInstruction

source§

const COUNT: usize = 6usize

source§

impl Hash for SBInstruction

source§

fn hash<__H: Hasher>(&self, state: &mut __H)

Feeds this value into the given Hasher. Read more
1.3.0 · source§

fn hash_slice<H>(data: &[Self], state: &mut H)where H: Hasher, - Self: Sized,

Feeds a slice of this type into the given Hasher. Read more
source§

impl IntoEnumIterator for SBInstruction

source§

impl Ord for SBInstruction

source§

fn cmp(&self, other: &SBInstruction) -> Ordering

This method returns an Ordering between self and other. Read more
1.21.0 · source§

fn max(self, other: Self) -> Selfwhere + Self: Sized,

Feeds a slice of this type into the given Hasher. Read more
source§

impl IntoEnumIterator for SBInstruction

source§

impl Ord for SBInstruction

source§

fn cmp(&self, other: &SBInstruction) -> Ordering

This method returns an Ordering between self and other. Read more
1.21.0 · source§

fn max(self, other: Self) -> Selfwhere Self: Sized,

Compares and returns the maximum of two values. Read more
1.21.0 · source§

fn min(self, other: Self) -> Selfwhere Self: Sized,

Compares and returns the minimum of two values. Read more
1.50.0 · source§

fn clamp(self, min: Self, max: Self) -> Selfwhere - Self: Sized + PartialOrd<Self>,

Restrict a value to a certain interval. Read more
source§

impl PartialEq<SBInstruction> for SBInstruction

source§

fn eq(&self, other: &SBInstruction) -> bool

This method tests for self and other values to be equal, and is used + Self: Sized + PartialOrd<Self>,

Restrict a value to a certain interval. Read more
source§

impl PartialEq<SBInstruction> for SBInstruction

source§

fn eq(&self, other: &SBInstruction) -> bool

This method tests for self and other values to be equal, and is used by ==.
1.0.0 · source§

fn ne(&self, other: &Rhs) -> bool

This method tests for !=. The default implementation is almost always -sufficient, and should not be overridden without very good reason.
source§

impl PartialOrd<SBInstruction> for SBInstruction

source§

fn partial_cmp(&self, other: &SBInstruction) -> Option<Ordering>

This method returns an ordering between self and other values if one exists. Read more
1.0.0 · source§

fn lt(&self, other: &Rhs) -> bool

This method tests less than (for self and other) and is used by the < operator. Read more
1.0.0 · source§

fn le(&self, other: &Rhs) -> bool

This method tests less than or equal to (for self and other) and is used by the <= +sufficient, and should not be overridden without very good reason.
source§

impl PartialOrd<SBInstruction> for SBInstruction

source§

fn partial_cmp(&self, other: &SBInstruction) -> Option<Ordering>

This method returns an ordering between self and other values if one exists. Read more
1.0.0 · source§

fn lt(&self, other: &Rhs) -> bool

This method tests less than (for self and other) and is used by the < operator. Read more
1.0.0 · source§

fn le(&self, other: &Rhs) -> bool

This method tests less than or equal to (for self and other) and is used by the <= operator. Read more
1.0.0 · source§

fn gt(&self, other: &Rhs) -> bool

This method tests greater than (for self and other) and is used by the > operator. Read more
1.0.0 · source§

fn ge(&self, other: &Rhs) -> bool

This method tests greater than or equal to (for self and other) and is used by the >= -operator. Read more
source§

impl Copy for SBInstruction

source§

impl Eq for SBInstruction

source§

impl StructuralEq for SBInstruction

source§

impl StructuralPartialEq for SBInstruction

Auto Trait Implementations§

§

impl RefUnwindSafe for SBInstruction

§

impl Send for SBInstruction

§

impl Sync for SBInstruction

§

impl Unpin for SBInstruction

§

impl UnwindSafe for SBInstruction

Blanket Implementations§

source§

impl<T> Any for Twhere +operator. Read more

source§

impl Copy for SBInstruction

source§

impl Eq for SBInstruction

source§

impl StructuralEq for SBInstruction

source§

impl StructuralPartialEq for SBInstruction

Auto Trait Implementations§

§

impl RefUnwindSafe for SBInstruction

§

impl Send for SBInstruction

§

impl Sync for SBInstruction

§

impl Unpin for SBInstruction

§

impl UnwindSafe for SBInstruction

Blanket Implementations§

source§

impl<T> Any for Twhere T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for Twhere T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for Twhere T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
§

impl<Q, K> Equivalent<K> for Qwhere diff --git a/rustdoc/o1vm/interpreters/riscv32im/interpreter/enum.SInstruction.html b/rustdoc/o1vm/interpreters/riscv32im/interpreter/enum.SInstruction.html index fb94fa1d1b..ef1201b359 100644 --- a/rustdoc/o1vm/interpreters/riscv32im/interpreter/enum.SInstruction.html +++ b/rustdoc/o1vm/interpreters/riscv32im/interpreter/enum.SInstruction.html @@ -1,4 +1,4 @@ -SInstruction in o1vm::interpreters::riscv32im::interpreter - Rust

Trait Implementations§

source§

impl Clone for SInstruction

source§

fn clone(&self) -> SInstruction

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for SInstruction

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl Default for SInstruction

source§

fn default() -> SInstruction

Returns the “default value” for a type. Read more
source§

impl Display for SInstruction

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl EnumCount for SInstruction

source§

const COUNT: usize = 3usize

source§

impl Hash for SInstruction

source§

fn hash<__H: Hasher>(&self, state: &mut __H)

Feeds this value into the given Hasher. Read more
1.3.0 · source§

fn hash_slice<H>(data: &[Self], state: &mut H)where +

Trait Implementations§

source§

impl Clone for SInstruction

source§

fn clone(&self) -> SInstruction

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for SInstruction

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl Default for SInstruction

source§

fn default() -> SInstruction

Returns the “default value” for a type. Read more
source§

impl Display for SInstruction

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl EnumCount for SInstruction

source§

const COUNT: usize = 3usize

source§

impl Hash for SInstruction

source§

fn hash<__H: Hasher>(&self, state: &mut __H)

Feeds this value into the given Hasher. Read more
1.3.0 · source§

fn hash_slice<H>(data: &[Self], state: &mut H)where H: Hasher, - Self: Sized,

Feeds a slice of this type into the given Hasher. Read more
source§

impl IntoEnumIterator for SInstruction

source§

impl Ord for SInstruction

source§

fn cmp(&self, other: &SInstruction) -> Ordering

This method returns an Ordering between self and other. Read more
1.21.0 · source§

fn max(self, other: Self) -> Selfwhere + Self: Sized,

Feeds a slice of this type into the given Hasher. Read more
source§

impl IntoEnumIterator for SInstruction

source§

impl Ord for SInstruction

source§

fn cmp(&self, other: &SInstruction) -> Ordering

This method returns an Ordering between self and other. Read more
1.21.0 · source§

fn max(self, other: Self) -> Selfwhere Self: Sized,

Compares and returns the maximum of two values. Read more
1.21.0 · source§

fn min(self, other: Self) -> Selfwhere Self: Sized,

Compares and returns the minimum of two values. Read more
1.50.0 · source§

fn clamp(self, min: Self, max: Self) -> Selfwhere - Self: Sized + PartialOrd<Self>,

Restrict a value to a certain interval. Read more
source§

impl PartialEq<SInstruction> for SInstruction

source§

fn eq(&self, other: &SInstruction) -> bool

This method tests for self and other values to be equal, and is used + Self: Sized + PartialOrd<Self>,

Restrict a value to a certain interval. Read more
source§

impl PartialEq<SInstruction> for SInstruction

source§

fn eq(&self, other: &SInstruction) -> bool

This method tests for self and other values to be equal, and is used by ==.
1.0.0 · source§

fn ne(&self, other: &Rhs) -> bool

This method tests for !=. The default implementation is almost always -sufficient, and should not be overridden without very good reason.
source§

impl PartialOrd<SInstruction> for SInstruction

source§

fn partial_cmp(&self, other: &SInstruction) -> Option<Ordering>

This method returns an ordering between self and other values if one exists. Read more
1.0.0 · source§

fn lt(&self, other: &Rhs) -> bool

This method tests less than (for self and other) and is used by the < operator. Read more
1.0.0 · source§

fn le(&self, other: &Rhs) -> bool

This method tests less than or equal to (for self and other) and is used by the <= +sufficient, and should not be overridden without very good reason.
source§

impl PartialOrd<SInstruction> for SInstruction

source§

fn partial_cmp(&self, other: &SInstruction) -> Option<Ordering>

This method returns an ordering between self and other values if one exists. Read more
1.0.0 · source§

fn lt(&self, other: &Rhs) -> bool

This method tests less than (for self and other) and is used by the < operator. Read more
1.0.0 · source§

fn le(&self, other: &Rhs) -> bool

This method tests less than or equal to (for self and other) and is used by the <= operator. Read more
1.0.0 · source§

fn gt(&self, other: &Rhs) -> bool

This method tests greater than (for self and other) and is used by the > operator. Read more
1.0.0 · source§

fn ge(&self, other: &Rhs) -> bool

This method tests greater than or equal to (for self and other) and is used by the >= -operator. Read more
source§

impl Copy for SInstruction

source§

impl Eq for SInstruction

source§

impl StructuralEq for SInstruction

source§

impl StructuralPartialEq for SInstruction

Auto Trait Implementations§

§

impl RefUnwindSafe for SInstruction

§

impl Send for SInstruction

§

impl Sync for SInstruction

§

impl Unpin for SInstruction

§

impl UnwindSafe for SInstruction

Blanket Implementations§

source§

impl<T> Any for Twhere +operator. Read more

source§

impl Copy for SInstruction

source§

impl Eq for SInstruction

source§

impl StructuralEq for SInstruction

source§

impl StructuralPartialEq for SInstruction

Auto Trait Implementations§

§

impl RefUnwindSafe for SInstruction

§

impl Send for SInstruction

§

impl Sync for SInstruction

§

impl Unpin for SInstruction

§

impl UnwindSafe for SInstruction

Blanket Implementations§

source§

impl<T> Any for Twhere T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for Twhere T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for Twhere T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
§

impl<Q, K> Equivalent<K> for Qwhere diff --git a/rustdoc/o1vm/interpreters/riscv32im/interpreter/enum.SyscallInstruction.html b/rustdoc/o1vm/interpreters/riscv32im/interpreter/enum.SyscallInstruction.html index 0283820608..466bf0b583 100644 --- a/rustdoc/o1vm/interpreters/riscv32im/interpreter/enum.SyscallInstruction.html +++ b/rustdoc/o1vm/interpreters/riscv32im/interpreter/enum.SyscallInstruction.html @@ -1,15 +1,15 @@ -SyscallInstruction in o1vm::interpreters::riscv32im::interpreter - Rust
pub enum SyscallInstruction {
+SyscallInstruction in o1vm::interpreters::riscv32im::interpreter - Rust
pub enum SyscallInstruction {
     SyscallSuccess,
-}

Variants§

§

SyscallSuccess

Trait Implementations§

source§

impl Clone for SyscallInstruction

source§

fn clone(&self) -> SyscallInstruction

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for SyscallInstruction

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl Default for SyscallInstruction

source§

fn default() -> SyscallInstruction

Returns the “default value” for a type. Read more
source§

impl EnumCount for SyscallInstruction

source§

const COUNT: usize = 1usize

source§

impl Hash for SyscallInstruction

source§

fn hash<__H: Hasher>(&self, state: &mut __H)

Feeds this value into the given Hasher. Read more
1.3.0 · source§

fn hash_slice<H>(data: &[Self], state: &mut H)where +}

Variants§

§

SyscallSuccess

Trait Implementations§

source§

impl Clone for SyscallInstruction

source§

fn clone(&self) -> SyscallInstruction

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for SyscallInstruction

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl Default for SyscallInstruction

source§

fn default() -> SyscallInstruction

Returns the “default value” for a type. Read more
source§

impl EnumCount for SyscallInstruction

source§

const COUNT: usize = 1usize

source§

impl Hash for SyscallInstruction

source§

fn hash<__H: Hasher>(&self, state: &mut __H)

Feeds this value into the given Hasher. Read more
1.3.0 · source§

fn hash_slice<H>(data: &[Self], state: &mut H)where H: Hasher, - Self: Sized,

Feeds a slice of this type into the given Hasher. Read more
source§

impl IntoEnumIterator for SyscallInstruction

source§

impl Ord for SyscallInstruction

source§

fn cmp(&self, other: &SyscallInstruction) -> Ordering

This method returns an Ordering between self and other. Read more
1.21.0 · source§

fn max(self, other: Self) -> Selfwhere + Self: Sized,

Feeds a slice of this type into the given Hasher. Read more
source§

impl IntoEnumIterator for SyscallInstruction

source§

impl Ord for SyscallInstruction

source§

fn cmp(&self, other: &SyscallInstruction) -> Ordering

This method returns an Ordering between self and other. Read more
1.21.0 · source§

fn max(self, other: Self) -> Selfwhere Self: Sized,

Compares and returns the maximum of two values. Read more
1.21.0 · source§

fn min(self, other: Self) -> Selfwhere Self: Sized,

Compares and returns the minimum of two values. Read more
1.50.0 · source§

fn clamp(self, min: Self, max: Self) -> Selfwhere - Self: Sized + PartialOrd<Self>,

Restrict a value to a certain interval. Read more
source§

impl PartialEq<SyscallInstruction> for SyscallInstruction

source§

fn eq(&self, other: &SyscallInstruction) -> bool

This method tests for self and other values to be equal, and is used + Self: Sized + PartialOrd<Self>,

Restrict a value to a certain interval. Read more
source§

impl PartialEq<SyscallInstruction> for SyscallInstruction

source§

fn eq(&self, other: &SyscallInstruction) -> bool

This method tests for self and other values to be equal, and is used by ==.
1.0.0 · source§

fn ne(&self, other: &Rhs) -> bool

This method tests for !=. The default implementation is almost always -sufficient, and should not be overridden without very good reason.
source§

impl PartialOrd<SyscallInstruction> for SyscallInstruction

source§

fn partial_cmp(&self, other: &SyscallInstruction) -> Option<Ordering>

This method returns an ordering between self and other values if one exists. Read more
1.0.0 · source§

fn lt(&self, other: &Rhs) -> bool

This method tests less than (for self and other) and is used by the < operator. Read more
1.0.0 · source§

fn le(&self, other: &Rhs) -> bool

This method tests less than or equal to (for self and other) and is used by the <= +sufficient, and should not be overridden without very good reason.
source§

impl PartialOrd<SyscallInstruction> for SyscallInstruction

source§

fn partial_cmp(&self, other: &SyscallInstruction) -> Option<Ordering>

This method returns an ordering between self and other values if one exists. Read more
1.0.0 · source§

fn lt(&self, other: &Rhs) -> bool

This method tests less than (for self and other) and is used by the < operator. Read more
1.0.0 · source§

fn le(&self, other: &Rhs) -> bool

This method tests less than or equal to (for self and other) and is used by the <= operator. Read more
1.0.0 · source§

fn gt(&self, other: &Rhs) -> bool

This method tests greater than (for self and other) and is used by the > operator. Read more
1.0.0 · source§

fn ge(&self, other: &Rhs) -> bool

This method tests greater than or equal to (for self and other) and is used by the >= -operator. Read more
source§

impl Copy for SyscallInstruction

source§

impl Eq for SyscallInstruction

source§

impl StructuralEq for SyscallInstruction

source§

impl StructuralPartialEq for SyscallInstruction

Auto Trait Implementations§

§

impl RefUnwindSafe for SyscallInstruction

§

impl Send for SyscallInstruction

§

impl Sync for SyscallInstruction

§

impl Unpin for SyscallInstruction

§

impl UnwindSafe for SyscallInstruction

Blanket Implementations§

source§

impl<T> Any for Twhere +operator. Read more

source§

impl Copy for SyscallInstruction

source§

impl Eq for SyscallInstruction

source§

impl StructuralEq for SyscallInstruction

source§

impl StructuralPartialEq for SyscallInstruction

Auto Trait Implementations§

§

impl RefUnwindSafe for SyscallInstruction

§

impl Send for SyscallInstruction

§

impl Sync for SyscallInstruction

§

impl Unpin for SyscallInstruction

§

impl UnwindSafe for SyscallInstruction

Blanket Implementations§

source§

impl<T> Any for Twhere T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for Twhere T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for Twhere T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
§

impl<Q, K> Equivalent<K> for Qwhere diff --git a/rustdoc/o1vm/interpreters/riscv32im/interpreter/enum.UInstruction.html b/rustdoc/o1vm/interpreters/riscv32im/interpreter/enum.UInstruction.html index 29b2bdff22..be3e5e8bab 100644 --- a/rustdoc/o1vm/interpreters/riscv32im/interpreter/enum.UInstruction.html +++ b/rustdoc/o1vm/interpreters/riscv32im/interpreter/enum.UInstruction.html @@ -1,4 +1,4 @@ -UInstruction in o1vm::interpreters::riscv32im::interpreter - Rust
pub enum UInstruction {
+UInstruction in o1vm::interpreters::riscv32im::interpreter - Rust
pub enum UInstruction {
     LoadUpperImmediate,
     AddUpperImmediate,
 }

Variants§

§

LoadUpperImmediate

Format: lui rd,imm

@@ -10,16 +10,16 @@ AUIPC (Add upper immediate to PC) forms a 32-bit offset from the 20-bit U-immediate, filling in the lowest 12 bits with zeros, adds this offset to the pc, then places the result in register rd.

-

Trait Implementations§

source§

impl Clone for UInstruction

source§

fn clone(&self) -> UInstruction

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for UInstruction

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl Default for UInstruction

source§

fn default() -> UInstruction

Returns the “default value” for a type. Read more
source§

impl Display for UInstruction

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl EnumCount for UInstruction

source§

const COUNT: usize = 2usize

source§

impl Hash for UInstruction

source§

fn hash<__H: Hasher>(&self, state: &mut __H)

Feeds this value into the given Hasher. Read more
1.3.0 · source§

fn hash_slice<H>(data: &[Self], state: &mut H)where +

Trait Implementations§

source§

impl Clone for UInstruction

source§

fn clone(&self) -> UInstruction

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for UInstruction

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl Default for UInstruction

source§

fn default() -> UInstruction

Returns the “default value” for a type. Read more
source§

impl Display for UInstruction

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl EnumCount for UInstruction

source§

const COUNT: usize = 2usize

source§

impl Hash for UInstruction

source§

fn hash<__H: Hasher>(&self, state: &mut __H)

Feeds this value into the given Hasher. Read more
1.3.0 · source§

fn hash_slice<H>(data: &[Self], state: &mut H)where H: Hasher, - Self: Sized,

Feeds a slice of this type into the given Hasher. Read more
source§

impl IntoEnumIterator for UInstruction

source§

impl Ord for UInstruction

source§

fn cmp(&self, other: &UInstruction) -> Ordering

This method returns an Ordering between self and other. Read more
1.21.0 · source§

fn max(self, other: Self) -> Selfwhere + Self: Sized,

Feeds a slice of this type into the given Hasher. Read more
source§

impl IntoEnumIterator for UInstruction

source§

impl Ord for UInstruction

source§

fn cmp(&self, other: &UInstruction) -> Ordering

This method returns an Ordering between self and other. Read more
1.21.0 · source§

fn max(self, other: Self) -> Selfwhere Self: Sized,

Compares and returns the maximum of two values. Read more
1.21.0 · source§

fn min(self, other: Self) -> Selfwhere Self: Sized,

Compares and returns the minimum of two values. Read more
1.50.0 · source§

fn clamp(self, min: Self, max: Self) -> Selfwhere - Self: Sized + PartialOrd<Self>,

Restrict a value to a certain interval. Read more
source§

impl PartialEq<UInstruction> for UInstruction

source§

fn eq(&self, other: &UInstruction) -> bool

This method tests for self and other values to be equal, and is used + Self: Sized + PartialOrd<Self>,

Restrict a value to a certain interval. Read more
source§

impl PartialEq<UInstruction> for UInstruction

source§

fn eq(&self, other: &UInstruction) -> bool

This method tests for self and other values to be equal, and is used by ==.
1.0.0 · source§

fn ne(&self, other: &Rhs) -> bool

This method tests for !=. The default implementation is almost always -sufficient, and should not be overridden without very good reason.
source§

impl PartialOrd<UInstruction> for UInstruction

source§

fn partial_cmp(&self, other: &UInstruction) -> Option<Ordering>

This method returns an ordering between self and other values if one exists. Read more
1.0.0 · source§

fn lt(&self, other: &Rhs) -> bool

This method tests less than (for self and other) and is used by the < operator. Read more
1.0.0 · source§

fn le(&self, other: &Rhs) -> bool

This method tests less than or equal to (for self and other) and is used by the <= +sufficient, and should not be overridden without very good reason.
source§

impl PartialOrd<UInstruction> for UInstruction

source§

fn partial_cmp(&self, other: &UInstruction) -> Option<Ordering>

This method returns an ordering between self and other values if one exists. Read more
1.0.0 · source§

fn lt(&self, other: &Rhs) -> bool

This method tests less than (for self and other) and is used by the < operator. Read more
1.0.0 · source§

fn le(&self, other: &Rhs) -> bool

This method tests less than or equal to (for self and other) and is used by the <= operator. Read more
1.0.0 · source§

fn gt(&self, other: &Rhs) -> bool

This method tests greater than (for self and other) and is used by the > operator. Read more
1.0.0 · source§

fn ge(&self, other: &Rhs) -> bool

This method tests greater than or equal to (for self and other) and is used by the >= -operator. Read more
source§

impl Copy for UInstruction

source§

impl Eq for UInstruction

source§

impl StructuralEq for UInstruction

source§

impl StructuralPartialEq for UInstruction

Auto Trait Implementations§

§

impl RefUnwindSafe for UInstruction

§

impl Send for UInstruction

§

impl Sync for UInstruction

§

impl Unpin for UInstruction

§

impl UnwindSafe for UInstruction

Blanket Implementations§

source§

impl<T> Any for Twhere +operator. Read more

source§

impl Copy for UInstruction

source§

impl Eq for UInstruction

source§

impl StructuralEq for UInstruction

source§

impl StructuralPartialEq for UInstruction

Auto Trait Implementations§

§

impl RefUnwindSafe for UInstruction

§

impl Send for UInstruction

§

impl Sync for UInstruction

§

impl Unpin for UInstruction

§

impl UnwindSafe for UInstruction

Blanket Implementations§

source§

impl<T> Any for Twhere T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for Twhere T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for Twhere T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
§

impl<Q, K> Equivalent<K> for Qwhere diff --git a/rustdoc/o1vm/interpreters/riscv32im/interpreter/enum.UJInstruction.html b/rustdoc/o1vm/interpreters/riscv32im/interpreter/enum.UJInstruction.html index 63ea3fb658..9ef4d1f8be 100644 --- a/rustdoc/o1vm/interpreters/riscv32im/interpreter/enum.UJInstruction.html +++ b/rustdoc/o1vm/interpreters/riscv32im/interpreter/enum.UJInstruction.html @@ -1,17 +1,17 @@ -UJInstruction in o1vm::interpreters::riscv32im::interpreter - Rust
pub enum UJInstruction {
+UJInstruction in o1vm::interpreters::riscv32im::interpreter - Rust
pub enum UJInstruction {
     JumpAndLink,
 }

Variants§

Format: jal rd,imm

Description: Jump to address and place return address in rd.

-

Trait Implementations§

source§

impl Clone for UJInstruction

source§

fn clone(&self) -> UJInstruction

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for UJInstruction

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl Default for UJInstruction

source§

fn default() -> UJInstruction

Returns the “default value” for a type. Read more
source§

impl Display for UJInstruction

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl EnumCount for UJInstruction

source§

const COUNT: usize = 1usize

source§

impl Hash for UJInstruction

source§

fn hash<__H: Hasher>(&self, state: &mut __H)

Feeds this value into the given Hasher. Read more
1.3.0 · source§

fn hash_slice<H>(data: &[Self], state: &mut H)where +

Trait Implementations§

source§

impl Clone for UJInstruction

source§

fn clone(&self) -> UJInstruction

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for UJInstruction

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl Default for UJInstruction

source§

fn default() -> UJInstruction

Returns the “default value” for a type. Read more
source§

impl Display for UJInstruction

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl EnumCount for UJInstruction

source§

const COUNT: usize = 1usize

source§

impl Hash for UJInstruction

source§

fn hash<__H: Hasher>(&self, state: &mut __H)

Feeds this value into the given Hasher. Read more
1.3.0 · source§

fn hash_slice<H>(data: &[Self], state: &mut H)where H: Hasher, - Self: Sized,

Feeds a slice of this type into the given Hasher. Read more
source§

impl IntoEnumIterator for UJInstruction

source§

impl Ord for UJInstruction

source§

fn cmp(&self, other: &UJInstruction) -> Ordering

This method returns an Ordering between self and other. Read more
1.21.0 · source§

fn max(self, other: Self) -> Selfwhere + Self: Sized,

Feeds a slice of this type into the given Hasher. Read more
source§

impl IntoEnumIterator for UJInstruction

source§

impl Ord for UJInstruction

source§

fn cmp(&self, other: &UJInstruction) -> Ordering

This method returns an Ordering between self and other. Read more
1.21.0 · source§

fn max(self, other: Self) -> Selfwhere Self: Sized,

Compares and returns the maximum of two values. Read more
1.21.0 · source§

fn min(self, other: Self) -> Selfwhere Self: Sized,

Compares and returns the minimum of two values. Read more
1.50.0 · source§

fn clamp(self, min: Self, max: Self) -> Selfwhere - Self: Sized + PartialOrd<Self>,

Restrict a value to a certain interval. Read more
source§

impl PartialEq<UJInstruction> for UJInstruction

source§

fn eq(&self, other: &UJInstruction) -> bool

This method tests for self and other values to be equal, and is used + Self: Sized + PartialOrd<Self>,

Restrict a value to a certain interval. Read more
source§

impl PartialEq<UJInstruction> for UJInstruction

source§

fn eq(&self, other: &UJInstruction) -> bool

This method tests for self and other values to be equal, and is used by ==.
1.0.0 · source§

fn ne(&self, other: &Rhs) -> bool

This method tests for !=. The default implementation is almost always -sufficient, and should not be overridden without very good reason.
source§

impl PartialOrd<UJInstruction> for UJInstruction

source§

fn partial_cmp(&self, other: &UJInstruction) -> Option<Ordering>

This method returns an ordering between self and other values if one exists. Read more
1.0.0 · source§

fn lt(&self, other: &Rhs) -> bool

This method tests less than (for self and other) and is used by the < operator. Read more
1.0.0 · source§

fn le(&self, other: &Rhs) -> bool

This method tests less than or equal to (for self and other) and is used by the <= +sufficient, and should not be overridden without very good reason.
source§

impl PartialOrd<UJInstruction> for UJInstruction

source§

fn partial_cmp(&self, other: &UJInstruction) -> Option<Ordering>

This method returns an ordering between self and other values if one exists. Read more
1.0.0 · source§

fn lt(&self, other: &Rhs) -> bool

This method tests less than (for self and other) and is used by the < operator. Read more
1.0.0 · source§

fn le(&self, other: &Rhs) -> bool

This method tests less than or equal to (for self and other) and is used by the <= operator. Read more
1.0.0 · source§

fn gt(&self, other: &Rhs) -> bool

This method tests greater than (for self and other) and is used by the > operator. Read more
1.0.0 · source§

fn ge(&self, other: &Rhs) -> bool

This method tests greater than or equal to (for self and other) and is used by the >= -operator. Read more
source§

impl Copy for UJInstruction

source§

impl Eq for UJInstruction

source§

impl StructuralEq for UJInstruction

source§

impl StructuralPartialEq for UJInstruction

Auto Trait Implementations§

§

impl RefUnwindSafe for UJInstruction

§

impl Send for UJInstruction

§

impl Sync for UJInstruction

§

impl Unpin for UJInstruction

§

impl UnwindSafe for UJInstruction

Blanket Implementations§

source§

impl<T> Any for Twhere +operator. Read more

source§

impl Copy for UJInstruction

source§

impl Eq for UJInstruction

source§

impl StructuralEq for UJInstruction

source§

impl StructuralPartialEq for UJInstruction

Auto Trait Implementations§

§

impl RefUnwindSafe for UJInstruction

§

impl Send for UJInstruction

§

impl Sync for UJInstruction

§

impl Unpin for UJInstruction

§

impl UnwindSafe for UJInstruction

Blanket Implementations§

source§

impl<T> Any for Twhere T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for Twhere T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for Twhere T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
§

impl<Q, K> Equivalent<K> for Qwhere diff --git a/rustdoc/o1vm/interpreters/riscv32im/interpreter/fn.interpret_instruction.html b/rustdoc/o1vm/interpreters/riscv32im/interpreter/fn.interpret_instruction.html index c116e461ba..fde6026b9b 100644 --- a/rustdoc/o1vm/interpreters/riscv32im/interpreter/fn.interpret_instruction.html +++ b/rustdoc/o1vm/interpreters/riscv32im/interpreter/fn.interpret_instruction.html @@ -1,4 +1,4 @@ -interpret_instruction in o1vm::interpreters::riscv32im::interpreter - Rust
pub fn interpret_instruction<Env: InterpreterEnv>(
+interpret_instruction in o1vm::interpreters::riscv32im::interpreter - Rust
pub fn interpret_instruction<Env: InterpreterEnv>(
     env: &mut Env,
     instr: Instruction
 )
\ No newline at end of file diff --git a/rustdoc/o1vm/interpreters/riscv32im/interpreter/fn.interpret_itype.html b/rustdoc/o1vm/interpreters/riscv32im/interpreter/fn.interpret_itype.html index 4dbacd1a26..d73613186c 100644 --- a/rustdoc/o1vm/interpreters/riscv32im/interpreter/fn.interpret_itype.html +++ b/rustdoc/o1vm/interpreters/riscv32im/interpreter/fn.interpret_itype.html @@ -1,4 +1,4 @@ -interpret_itype in o1vm::interpreters::riscv32im::interpreter - Rust
pub fn interpret_itype<Env: InterpreterEnv>(env: &mut Env, instr: IInstruction)
Expand description

Interpret an I-type instruction. +interpret_itype in o1vm::interpreters::riscv32im::interpreter - Rust

pub fn interpret_itype<Env: InterpreterEnv>(env: &mut Env, instr: IInstruction)
Expand description

Interpret an I-type instruction. The encoding of an I-type instruction is as follows:

| 31     20 | 19     15 | 14    12 | 11    7 | 6      0 |
 | immediate |    rs1    |  funct3  |    rd   |  opcode  |
diff --git a/rustdoc/o1vm/interpreters/riscv32im/interpreter/fn.interpret_mtype.html b/rustdoc/o1vm/interpreters/riscv32im/interpreter/fn.interpret_mtype.html
index 1a4db51504..a4b9c15c41 100644
--- a/rustdoc/o1vm/interpreters/riscv32im/interpreter/fn.interpret_mtype.html
+++ b/rustdoc/o1vm/interpreters/riscv32im/interpreter/fn.interpret_mtype.html
@@ -1,4 +1,4 @@
-interpret_mtype in o1vm::interpreters::riscv32im::interpreter - Rust
pub fn interpret_mtype<Env: InterpreterEnv>(env: &mut Env, instr: MInstruction)
Expand description

Interpret an M-type instruction. +interpret_mtype in o1vm::interpreters::riscv32im::interpreter - Rust

pub fn interpret_mtype<Env: InterpreterEnv>(env: &mut Env, instr: MInstruction)
Expand description

Interpret an M-type instruction. The encoding of an M-type instruction is as follows:

| 31     27 | 26    25 | 24     20 | 19     15 | 14        12 | 11    7 | 6      0 |
 |   00000   |    01    |    rs2    |    rs1    |    funct3    |    rd   |  opcode  |
diff --git a/rustdoc/o1vm/interpreters/riscv32im/interpreter/fn.interpret_rtype.html b/rustdoc/o1vm/interpreters/riscv32im/interpreter/fn.interpret_rtype.html
index 2114d8bb5f..3bfcc05847 100644
--- a/rustdoc/o1vm/interpreters/riscv32im/interpreter/fn.interpret_rtype.html
+++ b/rustdoc/o1vm/interpreters/riscv32im/interpreter/fn.interpret_rtype.html
@@ -1,4 +1,4 @@
-interpret_rtype in o1vm::interpreters::riscv32im::interpreter - Rust
pub fn interpret_rtype<Env: InterpreterEnv>(env: &mut Env, instr: RInstruction)
Expand description

Interpret an R-type instruction. +interpret_rtype in o1vm::interpreters::riscv32im::interpreter - Rust

pub fn interpret_rtype<Env: InterpreterEnv>(env: &mut Env, instr: RInstruction)
Expand description

Interpret an R-type instruction. The encoding of an R-type instruction is as follows:

| 31               25 | 24      20 | 19     15 | 14        12 | 11    7 | 6      0 |
 | funct5 & funct 2    |     rs2    |    rs1    |    funct3    |    rd   |  opcode  |
diff --git a/rustdoc/o1vm/interpreters/riscv32im/interpreter/fn.interpret_sbtype.html b/rustdoc/o1vm/interpreters/riscv32im/interpreter/fn.interpret_sbtype.html
index 5be2566c06..873b2a9943 100644
--- a/rustdoc/o1vm/interpreters/riscv32im/interpreter/fn.interpret_sbtype.html
+++ b/rustdoc/o1vm/interpreters/riscv32im/interpreter/fn.interpret_sbtype.html
@@ -1,4 +1,4 @@
-interpret_sbtype in o1vm::interpreters::riscv32im::interpreter - Rust
pub fn interpret_sbtype<Env: InterpreterEnv>(
+interpret_sbtype in o1vm::interpreters::riscv32im::interpreter - Rust
pub fn interpret_sbtype<Env: InterpreterEnv>(
     env: &mut Env,
     instr: SBInstruction
 )
Expand description

Interpret an SB-type instruction. diff --git a/rustdoc/o1vm/interpreters/riscv32im/interpreter/fn.interpret_stype.html b/rustdoc/o1vm/interpreters/riscv32im/interpreter/fn.interpret_stype.html index dc3ae4bb4c..24bac54f25 100644 --- a/rustdoc/o1vm/interpreters/riscv32im/interpreter/fn.interpret_stype.html +++ b/rustdoc/o1vm/interpreters/riscv32im/interpreter/fn.interpret_stype.html @@ -1,4 +1,4 @@ -interpret_stype in o1vm::interpreters::riscv32im::interpreter - Rust

pub fn interpret_stype<Env: InterpreterEnv>(env: &mut Env, instr: SInstruction)
Expand description

Interpret an S-type instruction. +interpret_stype in o1vm::interpreters::riscv32im::interpreter - Rust

pub fn interpret_stype<Env: InterpreterEnv>(env: &mut Env, instr: SInstruction)
Expand description

Interpret an S-type instruction. The encoding of an S-type instruction is as follows:

| 31     25 | 24      20 | 19     15 | 14        12 | 11    7 | 6      0 |
 | immediate |     rs2    |    rs1    |    funct3    |    imm  |  opcode  |
diff --git a/rustdoc/o1vm/interpreters/riscv32im/interpreter/fn.interpret_syscall.html b/rustdoc/o1vm/interpreters/riscv32im/interpreter/fn.interpret_syscall.html
index 308027e84a..0c9519709c 100644
--- a/rustdoc/o1vm/interpreters/riscv32im/interpreter/fn.interpret_syscall.html
+++ b/rustdoc/o1vm/interpreters/riscv32im/interpreter/fn.interpret_syscall.html
@@ -1,4 +1,4 @@
-interpret_syscall in o1vm::interpreters::riscv32im::interpreter - Rust
pub fn interpret_syscall<Env: InterpreterEnv>(
+interpret_syscall in o1vm::interpreters::riscv32im::interpreter - Rust
pub fn interpret_syscall<Env: InterpreterEnv>(
     env: &mut Env,
     _instr: SyscallInstruction
 )
\ No newline at end of file diff --git a/rustdoc/o1vm/interpreters/riscv32im/interpreter/fn.interpret_ujtype.html b/rustdoc/o1vm/interpreters/riscv32im/interpreter/fn.interpret_ujtype.html index 9382c7ce5e..5b12f96856 100644 --- a/rustdoc/o1vm/interpreters/riscv32im/interpreter/fn.interpret_ujtype.html +++ b/rustdoc/o1vm/interpreters/riscv32im/interpreter/fn.interpret_ujtype.html @@ -1,4 +1,4 @@ -interpret_ujtype in o1vm::interpreters::riscv32im::interpreter - Rust
pub fn interpret_ujtype<Env: InterpreterEnv>(
+interpret_ujtype in o1vm::interpreters::riscv32im::interpreter - Rust
pub fn interpret_ujtype<Env: InterpreterEnv>(
     env: &mut Env,
     instr: UJInstruction
 )
Expand description

Interpret an UJ-type instruction. diff --git a/rustdoc/o1vm/interpreters/riscv32im/interpreter/fn.interpret_utype.html b/rustdoc/o1vm/interpreters/riscv32im/interpreter/fn.interpret_utype.html index cccc21f0dc..62a5e6fed4 100644 --- a/rustdoc/o1vm/interpreters/riscv32im/interpreter/fn.interpret_utype.html +++ b/rustdoc/o1vm/interpreters/riscv32im/interpreter/fn.interpret_utype.html @@ -1,4 +1,4 @@ -interpret_utype in o1vm::interpreters::riscv32im::interpreter - Rust

pub fn interpret_utype<Env: InterpreterEnv>(env: &mut Env, instr: UInstruction)
Expand description

Interpret an U-type instruction. +interpret_utype in o1vm::interpreters::riscv32im::interpreter - Rust

pub fn interpret_utype<Env: InterpreterEnv>(env: &mut Env, instr: UInstruction)
Expand description

Interpret an U-type instruction. The encoding of an U-type instruction is as follows:

| 31     12 | 11    7 | 6      0 |
 | immediate |    rd   |  opcode  |
diff --git a/rustdoc/o1vm/interpreters/riscv32im/interpreter/index.html b/rustdoc/o1vm/interpreters/riscv32im/interpreter/index.html
index 38c940adc5..8e85be5fd7 100644
--- a/rustdoc/o1vm/interpreters/riscv32im/interpreter/index.html
+++ b/rustdoc/o1vm/interpreters/riscv32im/interpreter/index.html
@@ -1,4 +1,4 @@
-o1vm::interpreters::riscv32im::interpreter - Rust
Expand description

This module implement an interpreter for the RISCV32 IM instruction set +o1vm::interpreters::riscv32im::interpreter - Rust

Expand description

This module implement an interpreter for the RISCV32 IM instruction set architecture.

The implementation mostly follows (and copy) code from the MIPS interpreter available here.

@@ -18,6 +18,13 @@

Credits

and copied in this file for offline reference. If you are the author of the above documentations and would like to add or modify the credits, please open a pull request.

+

For each instruction, we provide the format, description, and the +semantic in pseudo-code of the instruction. +When signed is mentioned in the pseudo-code, it means that the +operation is performed as a signed operation (i.e. signed(v) where v is a +32 bits value means that v must be interpreted as a i32 value in Rust, the +most significant bit being the sign - 1 for negative, 0 for positive). +By default, unsigned operations are performed.

Structs

Enums

Traits

Functions

source§

impl FusedIterator for IInstructionIter

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for Twhere T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for Twhere T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for Twhere T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

diff --git a/rustdoc/o1vm/interpreters/riscv32im/interpreter/struct.InstructionIter.html b/rustdoc/o1vm/interpreters/riscv32im/interpreter/struct.InstructionIter.html index 0d5e60a121..caefe41cf1 100644 --- a/rustdoc/o1vm/interpreters/riscv32im/interpreter/struct.InstructionIter.html +++ b/rustdoc/o1vm/interpreters/riscv32im/interpreter/struct.InstructionIter.html @@ -1,5 +1,5 @@ -InstructionIter in o1vm::interpreters::riscv32im::interpreter - Rust
pub struct InstructionIter { /* private fields */ }
Expand description

An iterator over the variants of Instruction

-

Trait Implementations§

source§

impl Clone for InstructionIter

source§

fn clone(&self) -> InstructionIter

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for InstructionIter

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl DoubleEndedIterator for InstructionIter

source§

fn next_back(&mut self) -> Option<<Self as Iterator>::Item>

Removes and returns an element from the end of the iterator. Read more
source§

fn advance_back_by(&mut self, n: usize) -> Result<(), NonZeroUsize>

🔬This is a nightly-only experimental API. (iter_advance_by)
Advances the iterator from the back by n elements. Read more
1.37.0 · source§

fn nth_back(&mut self, n: usize) -> Option<Self::Item>

Returns the nth element from the end of the iterator. Read more
1.27.0 · source§

fn try_rfold<B, F, R>(&mut self, init: B, f: F) -> Rwhere +InstructionIter in o1vm::interpreters::riscv32im::interpreter - Rust
pub struct InstructionIter { /* private fields */ }
Expand description

An iterator over the variants of Instruction

+

Trait Implementations§

source§

impl Clone for InstructionIter

source§

fn clone(&self) -> InstructionIter

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for InstructionIter

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl DoubleEndedIterator for InstructionIter

source§

fn next_back(&mut self) -> Option<<Self as Iterator>::Item>

Removes and returns an element from the end of the iterator. Read more
source§

fn advance_back_by(&mut self, n: usize) -> Result<(), NonZeroUsize>

🔬This is a nightly-only experimental API. (iter_advance_by)
Advances the iterator from the back by n elements. Read more
1.37.0 · source§

fn nth_back(&mut self, n: usize) -> Option<Self::Item>

Returns the nth element from the end of the iterator. Read more
1.27.0 · source§

fn try_rfold<B, F, R>(&mut self, init: B, f: F) -> Rwhere Self: Sized, F: FnMut(B, Self::Item) -> R, R: Try<Output = B>,

This is the reverse version of Iterator::try_fold(): it takes @@ -8,7 +8,7 @@ F: FnMut(B, Self::Item) -> B,

An iterator method that reduces the iterator’s elements to a single, final value, starting from the back. Read more
1.27.0 · source§

fn rfind<P>(&mut self, predicate: P) -> Option<Self::Item>where Self: Sized, - P: FnMut(&Self::Item) -> bool,

Searches for an element of an iterator from the back that satisfies a predicate. Read more
source§

impl ExactSizeIterator for InstructionIter

source§

fn len(&self) -> usize

Returns the exact remaining length of the iterator. Read more
source§

fn is_empty(&self) -> bool

🔬This is a nightly-only experimental API. (exact_size_is_empty)
Returns true if the iterator is empty. Read more
source§

impl Iterator for InstructionIter

§

type Item = Instruction

The type of the elements being iterated over.
source§

fn next(&mut self) -> Option<<Self as Iterator>::Item>

Advances the iterator and returns the next value. Read more
source§

fn size_hint(&self) -> (usize, Option<usize>)

Returns the bounds on the remaining length of the iterator. Read more
source§

fn nth(&mut self, n: usize) -> Option<<Self as Iterator>::Item>

Returns the nth element of the iterator. Read more
source§

fn next_chunk<const N: usize>( + P: FnMut(&Self::Item) -> bool,

Searches for an element of an iterator from the back that satisfies a predicate. Read more
source§

impl ExactSizeIterator for InstructionIter

source§

fn len(&self) -> usize

Returns the exact remaining length of the iterator. Read more
source§

fn is_empty(&self) -> bool

🔬This is a nightly-only experimental API. (exact_size_is_empty)
Returns true if the iterator is empty. Read more
source§

impl Iterator for InstructionIter

§

type Item = Instruction

The type of the elements being iterated over.
source§

fn next(&mut self) -> Option<<Self as Iterator>::Item>

Advances the iterator and returns the next value. Read more
source§

fn size_hint(&self) -> (usize, Option<usize>)

Returns the bounds on the remaining length of the iterator. Read more
source§

fn nth(&mut self, n: usize) -> Option<<Self as Iterator>::Item>

Returns the nth element of the iterator. Read more
source§

fn next_chunk<const N: usize>( &mut self ) -> Result<[Self::Item; N], IntoIter<Self::Item, N>>where Self: Sized,

🔬This is a nightly-only experimental API. (iter_next_chunk)
Advances the iterator and returns an array containing the next N values. Read more
1.0.0 · source§

fn count(self) -> usizewhere @@ -206,7 +206,7 @@ Self: Sized, F: FnMut(Self::Item) -> K, K: PartialOrd<K>,

🔬This is a nightly-only experimental API. (is_sorted)
Checks if the elements of this iterator are sorted using the given key extraction -function. Read more
source§

impl FusedIterator for InstructionIter

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for Twhere +function. Read more

source§

impl FusedIterator for InstructionIter

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for Twhere T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for Twhere T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for Twhere T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

diff --git a/rustdoc/o1vm/interpreters/riscv32im/interpreter/struct.MInstructionIter.html b/rustdoc/o1vm/interpreters/riscv32im/interpreter/struct.MInstructionIter.html index 9a3b9fec07..d617b51866 100644 --- a/rustdoc/o1vm/interpreters/riscv32im/interpreter/struct.MInstructionIter.html +++ b/rustdoc/o1vm/interpreters/riscv32im/interpreter/struct.MInstructionIter.html @@ -1,5 +1,5 @@ -MInstructionIter in o1vm::interpreters::riscv32im::interpreter - Rust
pub struct MInstructionIter { /* private fields */ }
Expand description

An iterator over the variants of MInstruction

-

Trait Implementations§

source§

impl Clone for MInstructionIter

source§

fn clone(&self) -> MInstructionIter

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for MInstructionIter

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl DoubleEndedIterator for MInstructionIter

source§

fn next_back(&mut self) -> Option<<Self as Iterator>::Item>

Removes and returns an element from the end of the iterator. Read more
source§

fn advance_back_by(&mut self, n: usize) -> Result<(), NonZeroUsize>

🔬This is a nightly-only experimental API. (iter_advance_by)
Advances the iterator from the back by n elements. Read more
1.37.0 · source§

fn nth_back(&mut self, n: usize) -> Option<Self::Item>

Returns the nth element from the end of the iterator. Read more
1.27.0 · source§

fn try_rfold<B, F, R>(&mut self, init: B, f: F) -> Rwhere +MInstructionIter in o1vm::interpreters::riscv32im::interpreter - Rust
pub struct MInstructionIter { /* private fields */ }
Expand description

An iterator over the variants of MInstruction

+

Trait Implementations§

source§

impl Clone for MInstructionIter

source§

fn clone(&self) -> MInstructionIter

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for MInstructionIter

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl DoubleEndedIterator for MInstructionIter

source§

fn next_back(&mut self) -> Option<<Self as Iterator>::Item>

Removes and returns an element from the end of the iterator. Read more
source§

fn advance_back_by(&mut self, n: usize) -> Result<(), NonZeroUsize>

🔬This is a nightly-only experimental API. (iter_advance_by)
Advances the iterator from the back by n elements. Read more
1.37.0 · source§

fn nth_back(&mut self, n: usize) -> Option<Self::Item>

Returns the nth element from the end of the iterator. Read more
1.27.0 · source§

fn try_rfold<B, F, R>(&mut self, init: B, f: F) -> Rwhere Self: Sized, F: FnMut(B, Self::Item) -> R, R: Try<Output = B>,

This is the reverse version of Iterator::try_fold(): it takes @@ -8,7 +8,7 @@ F: FnMut(B, Self::Item) -> B,

An iterator method that reduces the iterator’s elements to a single, final value, starting from the back. Read more
1.27.0 · source§

fn rfind<P>(&mut self, predicate: P) -> Option<Self::Item>where Self: Sized, - P: FnMut(&Self::Item) -> bool,

Searches for an element of an iterator from the back that satisfies a predicate. Read more
source§

impl ExactSizeIterator for MInstructionIter

source§

fn len(&self) -> usize

Returns the exact remaining length of the iterator. Read more
source§

fn is_empty(&self) -> bool

🔬This is a nightly-only experimental API. (exact_size_is_empty)
Returns true if the iterator is empty. Read more
source§

impl Iterator for MInstructionIter

§

type Item = MInstruction

The type of the elements being iterated over.
source§

fn next(&mut self) -> Option<<Self as Iterator>::Item>

Advances the iterator and returns the next value. Read more
source§

fn size_hint(&self) -> (usize, Option<usize>)

Returns the bounds on the remaining length of the iterator. Read more
source§

fn nth(&mut self, n: usize) -> Option<<Self as Iterator>::Item>

Returns the nth element of the iterator. Read more
source§

fn next_chunk<const N: usize>( + P: FnMut(&Self::Item) -> bool,

Searches for an element of an iterator from the back that satisfies a predicate. Read more
source§

impl ExactSizeIterator for MInstructionIter

source§

fn len(&self) -> usize

Returns the exact remaining length of the iterator. Read more
source§

fn is_empty(&self) -> bool

🔬This is a nightly-only experimental API. (exact_size_is_empty)
Returns true if the iterator is empty. Read more
source§

impl Iterator for MInstructionIter

§

type Item = MInstruction

The type of the elements being iterated over.
source§

fn next(&mut self) -> Option<<Self as Iterator>::Item>

Advances the iterator and returns the next value. Read more
source§

fn size_hint(&self) -> (usize, Option<usize>)

Returns the bounds on the remaining length of the iterator. Read more
source§

fn nth(&mut self, n: usize) -> Option<<Self as Iterator>::Item>

Returns the nth element of the iterator. Read more
source§

fn next_chunk<const N: usize>( &mut self ) -> Result<[Self::Item; N], IntoIter<Self::Item, N>>where Self: Sized,

🔬This is a nightly-only experimental API. (iter_next_chunk)
Advances the iterator and returns an array containing the next N values. Read more
1.0.0 · source§

fn count(self) -> usizewhere @@ -204,7 +204,7 @@ Self: Sized, F: FnMut(Self::Item) -> K, K: PartialOrd<K>,

🔬This is a nightly-only experimental API. (is_sorted)
Checks if the elements of this iterator are sorted using the given key extraction -function. Read more
source§

impl FusedIterator for MInstructionIter

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for Twhere +function. Read more

source§

impl FusedIterator for MInstructionIter

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for Twhere T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for Twhere T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for Twhere T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

diff --git a/rustdoc/o1vm/interpreters/riscv32im/interpreter/struct.RInstructionIter.html b/rustdoc/o1vm/interpreters/riscv32im/interpreter/struct.RInstructionIter.html index e45ecb53fd..650c831561 100644 --- a/rustdoc/o1vm/interpreters/riscv32im/interpreter/struct.RInstructionIter.html +++ b/rustdoc/o1vm/interpreters/riscv32im/interpreter/struct.RInstructionIter.html @@ -1,5 +1,5 @@ -RInstructionIter in o1vm::interpreters::riscv32im::interpreter - Rust
pub struct RInstructionIter { /* private fields */ }
Expand description

An iterator over the variants of RInstruction

-

Trait Implementations§

source§

impl Clone for RInstructionIter

source§

fn clone(&self) -> RInstructionIter

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for RInstructionIter

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl DoubleEndedIterator for RInstructionIter

source§

fn next_back(&mut self) -> Option<<Self as Iterator>::Item>

Removes and returns an element from the end of the iterator. Read more
source§

fn advance_back_by(&mut self, n: usize) -> Result<(), NonZeroUsize>

🔬This is a nightly-only experimental API. (iter_advance_by)
Advances the iterator from the back by n elements. Read more
1.37.0 · source§

fn nth_back(&mut self, n: usize) -> Option<Self::Item>

Returns the nth element from the end of the iterator. Read more
1.27.0 · source§

fn try_rfold<B, F, R>(&mut self, init: B, f: F) -> Rwhere +RInstructionIter in o1vm::interpreters::riscv32im::interpreter - Rust
pub struct RInstructionIter { /* private fields */ }
Expand description

An iterator over the variants of RInstruction

+

Trait Implementations§

source§

impl Clone for RInstructionIter

source§

fn clone(&self) -> RInstructionIter

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for RInstructionIter

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl DoubleEndedIterator for RInstructionIter

source§

fn next_back(&mut self) -> Option<<Self as Iterator>::Item>

Removes and returns an element from the end of the iterator. Read more
source§

fn advance_back_by(&mut self, n: usize) -> Result<(), NonZeroUsize>

🔬This is a nightly-only experimental API. (iter_advance_by)
Advances the iterator from the back by n elements. Read more
1.37.0 · source§

fn nth_back(&mut self, n: usize) -> Option<Self::Item>

Returns the nth element from the end of the iterator. Read more
1.27.0 · source§

fn try_rfold<B, F, R>(&mut self, init: B, f: F) -> Rwhere Self: Sized, F: FnMut(B, Self::Item) -> R, R: Try<Output = B>,

This is the reverse version of Iterator::try_fold(): it takes @@ -8,7 +8,7 @@ F: FnMut(B, Self::Item) -> B,

An iterator method that reduces the iterator’s elements to a single, final value, starting from the back. Read more
1.27.0 · source§

fn rfind<P>(&mut self, predicate: P) -> Option<Self::Item>where Self: Sized, - P: FnMut(&Self::Item) -> bool,

Searches for an element of an iterator from the back that satisfies a predicate. Read more
source§

impl ExactSizeIterator for RInstructionIter

source§

fn len(&self) -> usize

Returns the exact remaining length of the iterator. Read more
source§

fn is_empty(&self) -> bool

🔬This is a nightly-only experimental API. (exact_size_is_empty)
Returns true if the iterator is empty. Read more
source§

impl Iterator for RInstructionIter

§

type Item = RInstruction

The type of the elements being iterated over.
source§

fn next(&mut self) -> Option<<Self as Iterator>::Item>

Advances the iterator and returns the next value. Read more
source§

fn size_hint(&self) -> (usize, Option<usize>)

Returns the bounds on the remaining length of the iterator. Read more
source§

fn nth(&mut self, n: usize) -> Option<<Self as Iterator>::Item>

Returns the nth element of the iterator. Read more
source§

fn next_chunk<const N: usize>( + P: FnMut(&Self::Item) -> bool,

Searches for an element of an iterator from the back that satisfies a predicate. Read more
source§

impl ExactSizeIterator for RInstructionIter

source§

fn len(&self) -> usize

Returns the exact remaining length of the iterator. Read more
source§

fn is_empty(&self) -> bool

🔬This is a nightly-only experimental API. (exact_size_is_empty)
Returns true if the iterator is empty. Read more
source§

impl Iterator for RInstructionIter

§

type Item = RInstruction

The type of the elements being iterated over.
source§

fn next(&mut self) -> Option<<Self as Iterator>::Item>

Advances the iterator and returns the next value. Read more
source§

fn size_hint(&self) -> (usize, Option<usize>)

Returns the bounds on the remaining length of the iterator. Read more
source§

fn nth(&mut self, n: usize) -> Option<<Self as Iterator>::Item>

Returns the nth element of the iterator. Read more
source§

fn next_chunk<const N: usize>( &mut self ) -> Result<[Self::Item; N], IntoIter<Self::Item, N>>where Self: Sized,

🔬This is a nightly-only experimental API. (iter_next_chunk)
Advances the iterator and returns an array containing the next N values. Read more
1.0.0 · source§

fn count(self) -> usizewhere @@ -204,7 +204,7 @@ Self: Sized, F: FnMut(Self::Item) -> K, K: PartialOrd<K>,

🔬This is a nightly-only experimental API. (is_sorted)
Checks if the elements of this iterator are sorted using the given key extraction -function. Read more
source§

impl FusedIterator for RInstructionIter

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for Twhere +function. Read more

source§

impl FusedIterator for RInstructionIter

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for Twhere T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for Twhere T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for Twhere T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

diff --git a/rustdoc/o1vm/interpreters/riscv32im/interpreter/struct.SBInstructionIter.html b/rustdoc/o1vm/interpreters/riscv32im/interpreter/struct.SBInstructionIter.html index 11822bd033..9be4bff11a 100644 --- a/rustdoc/o1vm/interpreters/riscv32im/interpreter/struct.SBInstructionIter.html +++ b/rustdoc/o1vm/interpreters/riscv32im/interpreter/struct.SBInstructionIter.html @@ -1,5 +1,5 @@ -SBInstructionIter in o1vm::interpreters::riscv32im::interpreter - Rust
pub struct SBInstructionIter { /* private fields */ }
Expand description

An iterator over the variants of SBInstruction

-

Trait Implementations§

source§

impl Clone for SBInstructionIter

source§

fn clone(&self) -> SBInstructionIter

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for SBInstructionIter

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl DoubleEndedIterator for SBInstructionIter

source§

fn next_back(&mut self) -> Option<<Self as Iterator>::Item>

Removes and returns an element from the end of the iterator. Read more
source§

fn advance_back_by(&mut self, n: usize) -> Result<(), NonZeroUsize>

🔬This is a nightly-only experimental API. (iter_advance_by)
Advances the iterator from the back by n elements. Read more
1.37.0 · source§

fn nth_back(&mut self, n: usize) -> Option<Self::Item>

Returns the nth element from the end of the iterator. Read more
1.27.0 · source§

fn try_rfold<B, F, R>(&mut self, init: B, f: F) -> Rwhere +SBInstructionIter in o1vm::interpreters::riscv32im::interpreter - Rust
pub struct SBInstructionIter { /* private fields */ }
Expand description

An iterator over the variants of SBInstruction

+

Trait Implementations§

source§

impl Clone for SBInstructionIter

source§

fn clone(&self) -> SBInstructionIter

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for SBInstructionIter

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl DoubleEndedIterator for SBInstructionIter

source§

fn next_back(&mut self) -> Option<<Self as Iterator>::Item>

Removes and returns an element from the end of the iterator. Read more
source§

fn advance_back_by(&mut self, n: usize) -> Result<(), NonZeroUsize>

🔬This is a nightly-only experimental API. (iter_advance_by)
Advances the iterator from the back by n elements. Read more
1.37.0 · source§

fn nth_back(&mut self, n: usize) -> Option<Self::Item>

Returns the nth element from the end of the iterator. Read more
1.27.0 · source§

fn try_rfold<B, F, R>(&mut self, init: B, f: F) -> Rwhere Self: Sized, F: FnMut(B, Self::Item) -> R, R: Try<Output = B>,

This is the reverse version of Iterator::try_fold(): it takes @@ -8,7 +8,7 @@ F: FnMut(B, Self::Item) -> B,

An iterator method that reduces the iterator’s elements to a single, final value, starting from the back. Read more
1.27.0 · source§

fn rfind<P>(&mut self, predicate: P) -> Option<Self::Item>where Self: Sized, - P: FnMut(&Self::Item) -> bool,

Searches for an element of an iterator from the back that satisfies a predicate. Read more
source§

impl ExactSizeIterator for SBInstructionIter

source§

fn len(&self) -> usize

Returns the exact remaining length of the iterator. Read more
source§

fn is_empty(&self) -> bool

🔬This is a nightly-only experimental API. (exact_size_is_empty)
Returns true if the iterator is empty. Read more
source§

impl Iterator for SBInstructionIter

§

type Item = SBInstruction

The type of the elements being iterated over.
source§

fn next(&mut self) -> Option<<Self as Iterator>::Item>

Advances the iterator and returns the next value. Read more
source§

fn size_hint(&self) -> (usize, Option<usize>)

Returns the bounds on the remaining length of the iterator. Read more
source§

fn nth(&mut self, n: usize) -> Option<<Self as Iterator>::Item>

Returns the nth element of the iterator. Read more
source§

fn next_chunk<const N: usize>( + P: FnMut(&Self::Item) -> bool,

Searches for an element of an iterator from the back that satisfies a predicate. Read more
source§

impl ExactSizeIterator for SBInstructionIter

source§

fn len(&self) -> usize

Returns the exact remaining length of the iterator. Read more
source§

fn is_empty(&self) -> bool

🔬This is a nightly-only experimental API. (exact_size_is_empty)
Returns true if the iterator is empty. Read more
source§

impl Iterator for SBInstructionIter

§

type Item = SBInstruction

The type of the elements being iterated over.
source§

fn next(&mut self) -> Option<<Self as Iterator>::Item>

Advances the iterator and returns the next value. Read more
source§

fn size_hint(&self) -> (usize, Option<usize>)

Returns the bounds on the remaining length of the iterator. Read more
source§

fn nth(&mut self, n: usize) -> Option<<Self as Iterator>::Item>

Returns the nth element of the iterator. Read more
source§

fn next_chunk<const N: usize>( &mut self ) -> Result<[Self::Item; N], IntoIter<Self::Item, N>>where Self: Sized,

🔬This is a nightly-only experimental API. (iter_next_chunk)
Advances the iterator and returns an array containing the next N values. Read more
1.0.0 · source§

fn count(self) -> usizewhere @@ -204,7 +204,7 @@ Self: Sized, F: FnMut(Self::Item) -> K, K: PartialOrd<K>,

🔬This is a nightly-only experimental API. (is_sorted)
Checks if the elements of this iterator are sorted using the given key extraction -function. Read more
source§

impl FusedIterator for SBInstructionIter

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for Twhere +function. Read more

source§

impl FusedIterator for SBInstructionIter

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for Twhere T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for Twhere T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for Twhere T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

diff --git a/rustdoc/o1vm/interpreters/riscv32im/interpreter/struct.SInstructionIter.html b/rustdoc/o1vm/interpreters/riscv32im/interpreter/struct.SInstructionIter.html index 953ff984c4..43576a2e0d 100644 --- a/rustdoc/o1vm/interpreters/riscv32im/interpreter/struct.SInstructionIter.html +++ b/rustdoc/o1vm/interpreters/riscv32im/interpreter/struct.SInstructionIter.html @@ -1,5 +1,5 @@ -SInstructionIter in o1vm::interpreters::riscv32im::interpreter - Rust
pub struct SInstructionIter { /* private fields */ }
Expand description

An iterator over the variants of SInstruction

-

Trait Implementations§

source§

impl Clone for SInstructionIter

source§

fn clone(&self) -> SInstructionIter

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for SInstructionIter

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl DoubleEndedIterator for SInstructionIter

source§

fn next_back(&mut self) -> Option<<Self as Iterator>::Item>

Removes and returns an element from the end of the iterator. Read more
source§

fn advance_back_by(&mut self, n: usize) -> Result<(), NonZeroUsize>

🔬This is a nightly-only experimental API. (iter_advance_by)
Advances the iterator from the back by n elements. Read more
1.37.0 · source§

fn nth_back(&mut self, n: usize) -> Option<Self::Item>

Returns the nth element from the end of the iterator. Read more
1.27.0 · source§

fn try_rfold<B, F, R>(&mut self, init: B, f: F) -> Rwhere +SInstructionIter in o1vm::interpreters::riscv32im::interpreter - Rust
pub struct SInstructionIter { /* private fields */ }
Expand description

An iterator over the variants of SInstruction

+

Trait Implementations§

source§

impl Clone for SInstructionIter

source§

fn clone(&self) -> SInstructionIter

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for SInstructionIter

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl DoubleEndedIterator for SInstructionIter

source§

fn next_back(&mut self) -> Option<<Self as Iterator>::Item>

Removes and returns an element from the end of the iterator. Read more
source§

fn advance_back_by(&mut self, n: usize) -> Result<(), NonZeroUsize>

🔬This is a nightly-only experimental API. (iter_advance_by)
Advances the iterator from the back by n elements. Read more
1.37.0 · source§

fn nth_back(&mut self, n: usize) -> Option<Self::Item>

Returns the nth element from the end of the iterator. Read more
1.27.0 · source§

fn try_rfold<B, F, R>(&mut self, init: B, f: F) -> Rwhere Self: Sized, F: FnMut(B, Self::Item) -> R, R: Try<Output = B>,

This is the reverse version of Iterator::try_fold(): it takes @@ -8,7 +8,7 @@ F: FnMut(B, Self::Item) -> B,

An iterator method that reduces the iterator’s elements to a single, final value, starting from the back. Read more
1.27.0 · source§

fn rfind<P>(&mut self, predicate: P) -> Option<Self::Item>where Self: Sized, - P: FnMut(&Self::Item) -> bool,

Searches for an element of an iterator from the back that satisfies a predicate. Read more
source§

impl ExactSizeIterator for SInstructionIter

source§

fn len(&self) -> usize

Returns the exact remaining length of the iterator. Read more
source§

fn is_empty(&self) -> bool

🔬This is a nightly-only experimental API. (exact_size_is_empty)
Returns true if the iterator is empty. Read more
source§

impl Iterator for SInstructionIter

§

type Item = SInstruction

The type of the elements being iterated over.
source§

fn next(&mut self) -> Option<<Self as Iterator>::Item>

Advances the iterator and returns the next value. Read more
source§

fn size_hint(&self) -> (usize, Option<usize>)

Returns the bounds on the remaining length of the iterator. Read more
source§

fn nth(&mut self, n: usize) -> Option<<Self as Iterator>::Item>

Returns the nth element of the iterator. Read more
source§

fn next_chunk<const N: usize>( + P: FnMut(&Self::Item) -> bool,

Searches for an element of an iterator from the back that satisfies a predicate. Read more
source§

impl ExactSizeIterator for SInstructionIter

source§

fn len(&self) -> usize

Returns the exact remaining length of the iterator. Read more
source§

fn is_empty(&self) -> bool

🔬This is a nightly-only experimental API. (exact_size_is_empty)
Returns true if the iterator is empty. Read more
source§

impl Iterator for SInstructionIter

§

type Item = SInstruction

The type of the elements being iterated over.
source§

fn next(&mut self) -> Option<<Self as Iterator>::Item>

Advances the iterator and returns the next value. Read more
source§

fn size_hint(&self) -> (usize, Option<usize>)

Returns the bounds on the remaining length of the iterator. Read more
source§

fn nth(&mut self, n: usize) -> Option<<Self as Iterator>::Item>

Returns the nth element of the iterator. Read more
source§

fn next_chunk<const N: usize>( &mut self ) -> Result<[Self::Item; N], IntoIter<Self::Item, N>>where Self: Sized,

🔬This is a nightly-only experimental API. (iter_next_chunk)
Advances the iterator and returns an array containing the next N values. Read more
1.0.0 · source§

fn count(self) -> usizewhere @@ -204,7 +204,7 @@ Self: Sized, F: FnMut(Self::Item) -> K, K: PartialOrd<K>,

🔬This is a nightly-only experimental API. (is_sorted)
Checks if the elements of this iterator are sorted using the given key extraction -function. Read more
source§

impl FusedIterator for SInstructionIter

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for Twhere +function. Read more

source§

impl FusedIterator for SInstructionIter

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for Twhere T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for Twhere T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for Twhere T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

diff --git a/rustdoc/o1vm/interpreters/riscv32im/interpreter/struct.SyscallInstructionIter.html b/rustdoc/o1vm/interpreters/riscv32im/interpreter/struct.SyscallInstructionIter.html index 50d65a7136..dfea03c9e2 100644 --- a/rustdoc/o1vm/interpreters/riscv32im/interpreter/struct.SyscallInstructionIter.html +++ b/rustdoc/o1vm/interpreters/riscv32im/interpreter/struct.SyscallInstructionIter.html @@ -1,5 +1,5 @@ -SyscallInstructionIter in o1vm::interpreters::riscv32im::interpreter - Rust
pub struct SyscallInstructionIter { /* private fields */ }
Expand description

An iterator over the variants of SyscallInstruction

-

Trait Implementations§

source§

impl Clone for SyscallInstructionIter

source§

fn clone(&self) -> SyscallInstructionIter

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for SyscallInstructionIter

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl DoubleEndedIterator for SyscallInstructionIter

source§

fn next_back(&mut self) -> Option<<Self as Iterator>::Item>

Removes and returns an element from the end of the iterator. Read more
source§

fn advance_back_by(&mut self, n: usize) -> Result<(), NonZeroUsize>

🔬This is a nightly-only experimental API. (iter_advance_by)
Advances the iterator from the back by n elements. Read more
1.37.0 · source§

fn nth_back(&mut self, n: usize) -> Option<Self::Item>

Returns the nth element from the end of the iterator. Read more
1.27.0 · source§

fn try_rfold<B, F, R>(&mut self, init: B, f: F) -> Rwhere +SyscallInstructionIter in o1vm::interpreters::riscv32im::interpreter - Rust
pub struct SyscallInstructionIter { /* private fields */ }
Expand description

An iterator over the variants of SyscallInstruction

+

Trait Implementations§

source§

impl Clone for SyscallInstructionIter

source§

fn clone(&self) -> SyscallInstructionIter

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for SyscallInstructionIter

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl DoubleEndedIterator for SyscallInstructionIter

source§

fn next_back(&mut self) -> Option<<Self as Iterator>::Item>

Removes and returns an element from the end of the iterator. Read more
source§

fn advance_back_by(&mut self, n: usize) -> Result<(), NonZeroUsize>

🔬This is a nightly-only experimental API. (iter_advance_by)
Advances the iterator from the back by n elements. Read more
1.37.0 · source§

fn nth_back(&mut self, n: usize) -> Option<Self::Item>

Returns the nth element from the end of the iterator. Read more
1.27.0 · source§

fn try_rfold<B, F, R>(&mut self, init: B, f: F) -> Rwhere Self: Sized, F: FnMut(B, Self::Item) -> R, R: Try<Output = B>,

This is the reverse version of Iterator::try_fold(): it takes @@ -8,7 +8,7 @@ F: FnMut(B, Self::Item) -> B,

An iterator method that reduces the iterator’s elements to a single, final value, starting from the back. Read more
1.27.0 · source§

fn rfind<P>(&mut self, predicate: P) -> Option<Self::Item>where Self: Sized, - P: FnMut(&Self::Item) -> bool,

Searches for an element of an iterator from the back that satisfies a predicate. Read more
source§

impl ExactSizeIterator for SyscallInstructionIter

source§

fn len(&self) -> usize

Returns the exact remaining length of the iterator. Read more
source§

fn is_empty(&self) -> bool

🔬This is a nightly-only experimental API. (exact_size_is_empty)
Returns true if the iterator is empty. Read more
source§

impl Iterator for SyscallInstructionIter

§

type Item = SyscallInstruction

The type of the elements being iterated over.
source§

fn next(&mut self) -> Option<<Self as Iterator>::Item>

Advances the iterator and returns the next value. Read more
source§

fn size_hint(&self) -> (usize, Option<usize>)

Returns the bounds on the remaining length of the iterator. Read more
source§

fn nth(&mut self, n: usize) -> Option<<Self as Iterator>::Item>

Returns the nth element of the iterator. Read more
source§

fn next_chunk<const N: usize>( + P: FnMut(&Self::Item) -> bool,

Searches for an element of an iterator from the back that satisfies a predicate. Read more
source§

impl ExactSizeIterator for SyscallInstructionIter

source§

fn len(&self) -> usize

Returns the exact remaining length of the iterator. Read more
source§

fn is_empty(&self) -> bool

🔬This is a nightly-only experimental API. (exact_size_is_empty)
Returns true if the iterator is empty. Read more
source§

impl Iterator for SyscallInstructionIter

§

type Item = SyscallInstruction

The type of the elements being iterated over.
source§

fn next(&mut self) -> Option<<Self as Iterator>::Item>

Advances the iterator and returns the next value. Read more
source§

fn size_hint(&self) -> (usize, Option<usize>)

Returns the bounds on the remaining length of the iterator. Read more
source§

fn nth(&mut self, n: usize) -> Option<<Self as Iterator>::Item>

Returns the nth element of the iterator. Read more
source§

fn next_chunk<const N: usize>( &mut self ) -> Result<[Self::Item; N], IntoIter<Self::Item, N>>where Self: Sized,

🔬This is a nightly-only experimental API. (iter_next_chunk)
Advances the iterator and returns an array containing the next N values. Read more
1.0.0 · source§

fn count(self) -> usizewhere @@ -204,7 +204,7 @@ Self: Sized, F: FnMut(Self::Item) -> K, K: PartialOrd<K>,

🔬This is a nightly-only experimental API. (is_sorted)
Checks if the elements of this iterator are sorted using the given key extraction -function. Read more
source§

impl FusedIterator for SyscallInstructionIter

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for Twhere +function. Read more

source§

impl FusedIterator for SyscallInstructionIter

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for Twhere T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for Twhere T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for Twhere T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

diff --git a/rustdoc/o1vm/interpreters/riscv32im/interpreter/struct.UInstructionIter.html b/rustdoc/o1vm/interpreters/riscv32im/interpreter/struct.UInstructionIter.html index 7ef834c969..4d3fc9b406 100644 --- a/rustdoc/o1vm/interpreters/riscv32im/interpreter/struct.UInstructionIter.html +++ b/rustdoc/o1vm/interpreters/riscv32im/interpreter/struct.UInstructionIter.html @@ -1,5 +1,5 @@ -UInstructionIter in o1vm::interpreters::riscv32im::interpreter - Rust
pub struct UInstructionIter { /* private fields */ }
Expand description

An iterator over the variants of UInstruction

-

Trait Implementations§

source§

impl Clone for UInstructionIter

source§

fn clone(&self) -> UInstructionIter

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for UInstructionIter

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl DoubleEndedIterator for UInstructionIter

source§

fn next_back(&mut self) -> Option<<Self as Iterator>::Item>

Removes and returns an element from the end of the iterator. Read more
source§

fn advance_back_by(&mut self, n: usize) -> Result<(), NonZeroUsize>

🔬This is a nightly-only experimental API. (iter_advance_by)
Advances the iterator from the back by n elements. Read more
1.37.0 · source§

fn nth_back(&mut self, n: usize) -> Option<Self::Item>

Returns the nth element from the end of the iterator. Read more
1.27.0 · source§

fn try_rfold<B, F, R>(&mut self, init: B, f: F) -> Rwhere +UInstructionIter in o1vm::interpreters::riscv32im::interpreter - Rust
pub struct UInstructionIter { /* private fields */ }
Expand description

An iterator over the variants of UInstruction

+

Trait Implementations§

source§

impl Clone for UInstructionIter

source§

fn clone(&self) -> UInstructionIter

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for UInstructionIter

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl DoubleEndedIterator for UInstructionIter

source§

fn next_back(&mut self) -> Option<<Self as Iterator>::Item>

Removes and returns an element from the end of the iterator. Read more
source§

fn advance_back_by(&mut self, n: usize) -> Result<(), NonZeroUsize>

🔬This is a nightly-only experimental API. (iter_advance_by)
Advances the iterator from the back by n elements. Read more
1.37.0 · source§

fn nth_back(&mut self, n: usize) -> Option<Self::Item>

Returns the nth element from the end of the iterator. Read more
1.27.0 · source§

fn try_rfold<B, F, R>(&mut self, init: B, f: F) -> Rwhere Self: Sized, F: FnMut(B, Self::Item) -> R, R: Try<Output = B>,

This is the reverse version of Iterator::try_fold(): it takes @@ -8,7 +8,7 @@ F: FnMut(B, Self::Item) -> B,

An iterator method that reduces the iterator’s elements to a single, final value, starting from the back. Read more
1.27.0 · source§

fn rfind<P>(&mut self, predicate: P) -> Option<Self::Item>where Self: Sized, - P: FnMut(&Self::Item) -> bool,

Searches for an element of an iterator from the back that satisfies a predicate. Read more
source§

impl ExactSizeIterator for UInstructionIter

source§

fn len(&self) -> usize

Returns the exact remaining length of the iterator. Read more
source§

fn is_empty(&self) -> bool

🔬This is a nightly-only experimental API. (exact_size_is_empty)
Returns true if the iterator is empty. Read more
source§

impl Iterator for UInstructionIter

§

type Item = UInstruction

The type of the elements being iterated over.
source§

fn next(&mut self) -> Option<<Self as Iterator>::Item>

Advances the iterator and returns the next value. Read more
source§

fn size_hint(&self) -> (usize, Option<usize>)

Returns the bounds on the remaining length of the iterator. Read more
source§

fn nth(&mut self, n: usize) -> Option<<Self as Iterator>::Item>

Returns the nth element of the iterator. Read more
source§

fn next_chunk<const N: usize>( + P: FnMut(&Self::Item) -> bool,

Searches for an element of an iterator from the back that satisfies a predicate. Read more
source§

impl ExactSizeIterator for UInstructionIter

source§

fn len(&self) -> usize

Returns the exact remaining length of the iterator. Read more
source§

fn is_empty(&self) -> bool

🔬This is a nightly-only experimental API. (exact_size_is_empty)
Returns true if the iterator is empty. Read more
source§

impl Iterator for UInstructionIter

§

type Item = UInstruction

The type of the elements being iterated over.
source§

fn next(&mut self) -> Option<<Self as Iterator>::Item>

Advances the iterator and returns the next value. Read more
source§

fn size_hint(&self) -> (usize, Option<usize>)

Returns the bounds on the remaining length of the iterator. Read more
source§

fn nth(&mut self, n: usize) -> Option<<Self as Iterator>::Item>

Returns the nth element of the iterator. Read more
source§

fn next_chunk<const N: usize>( &mut self ) -> Result<[Self::Item; N], IntoIter<Self::Item, N>>where Self: Sized,

🔬This is a nightly-only experimental API. (iter_next_chunk)
Advances the iterator and returns an array containing the next N values. Read more
1.0.0 · source§

fn count(self) -> usizewhere @@ -204,7 +204,7 @@ Self: Sized, F: FnMut(Self::Item) -> K, K: PartialOrd<K>,

🔬This is a nightly-only experimental API. (is_sorted)
Checks if the elements of this iterator are sorted using the given key extraction -function. Read more
source§

impl FusedIterator for UInstructionIter

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for Twhere +function. Read more

source§

impl FusedIterator for UInstructionIter

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for Twhere T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for Twhere T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for Twhere T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

diff --git a/rustdoc/o1vm/interpreters/riscv32im/interpreter/struct.UJInstructionIter.html b/rustdoc/o1vm/interpreters/riscv32im/interpreter/struct.UJInstructionIter.html index 9e19ce8dc6..1a24d03c5c 100644 --- a/rustdoc/o1vm/interpreters/riscv32im/interpreter/struct.UJInstructionIter.html +++ b/rustdoc/o1vm/interpreters/riscv32im/interpreter/struct.UJInstructionIter.html @@ -1,5 +1,5 @@ -UJInstructionIter in o1vm::interpreters::riscv32im::interpreter - Rust
pub struct UJInstructionIter { /* private fields */ }
Expand description

An iterator over the variants of UJInstruction

-

Trait Implementations§

source§

impl Clone for UJInstructionIter

source§

fn clone(&self) -> UJInstructionIter

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for UJInstructionIter

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl DoubleEndedIterator for UJInstructionIter

source§

fn next_back(&mut self) -> Option<<Self as Iterator>::Item>

Removes and returns an element from the end of the iterator. Read more
source§

fn advance_back_by(&mut self, n: usize) -> Result<(), NonZeroUsize>

🔬This is a nightly-only experimental API. (iter_advance_by)
Advances the iterator from the back by n elements. Read more
1.37.0 · source§

fn nth_back(&mut self, n: usize) -> Option<Self::Item>

Returns the nth element from the end of the iterator. Read more
1.27.0 · source§

fn try_rfold<B, F, R>(&mut self, init: B, f: F) -> Rwhere +UJInstructionIter in o1vm::interpreters::riscv32im::interpreter - Rust
pub struct UJInstructionIter { /* private fields */ }
Expand description

An iterator over the variants of UJInstruction

+

Trait Implementations§

source§

impl Clone for UJInstructionIter

source§

fn clone(&self) -> UJInstructionIter

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for UJInstructionIter

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl DoubleEndedIterator for UJInstructionIter

source§

fn next_back(&mut self) -> Option<<Self as Iterator>::Item>

Removes and returns an element from the end of the iterator. Read more
source§

fn advance_back_by(&mut self, n: usize) -> Result<(), NonZeroUsize>

🔬This is a nightly-only experimental API. (iter_advance_by)
Advances the iterator from the back by n elements. Read more
1.37.0 · source§

fn nth_back(&mut self, n: usize) -> Option<Self::Item>

Returns the nth element from the end of the iterator. Read more
1.27.0 · source§

fn try_rfold<B, F, R>(&mut self, init: B, f: F) -> Rwhere Self: Sized, F: FnMut(B, Self::Item) -> R, R: Try<Output = B>,

This is the reverse version of Iterator::try_fold(): it takes @@ -8,7 +8,7 @@ F: FnMut(B, Self::Item) -> B,

An iterator method that reduces the iterator’s elements to a single, final value, starting from the back. Read more
1.27.0 · source§

fn rfind<P>(&mut self, predicate: P) -> Option<Self::Item>where Self: Sized, - P: FnMut(&Self::Item) -> bool,

Searches for an element of an iterator from the back that satisfies a predicate. Read more
source§

impl ExactSizeIterator for UJInstructionIter

source§

fn len(&self) -> usize

Returns the exact remaining length of the iterator. Read more
source§

fn is_empty(&self) -> bool

🔬This is a nightly-only experimental API. (exact_size_is_empty)
Returns true if the iterator is empty. Read more
source§

impl Iterator for UJInstructionIter

§

type Item = UJInstruction

The type of the elements being iterated over.
source§

fn next(&mut self) -> Option<<Self as Iterator>::Item>

Advances the iterator and returns the next value. Read more
source§

fn size_hint(&self) -> (usize, Option<usize>)

Returns the bounds on the remaining length of the iterator. Read more
source§

fn nth(&mut self, n: usize) -> Option<<Self as Iterator>::Item>

Returns the nth element of the iterator. Read more
source§

fn next_chunk<const N: usize>( + P: FnMut(&Self::Item) -> bool,

Searches for an element of an iterator from the back that satisfies a predicate. Read more
source§

impl ExactSizeIterator for UJInstructionIter

source§

fn len(&self) -> usize

Returns the exact remaining length of the iterator. Read more
source§

fn is_empty(&self) -> bool

🔬This is a nightly-only experimental API. (exact_size_is_empty)
Returns true if the iterator is empty. Read more
source§

impl Iterator for UJInstructionIter

§

type Item = UJInstruction

The type of the elements being iterated over.
source§

fn next(&mut self) -> Option<<Self as Iterator>::Item>

Advances the iterator and returns the next value. Read more
source§

fn size_hint(&self) -> (usize, Option<usize>)

Returns the bounds on the remaining length of the iterator. Read more
source§

fn nth(&mut self, n: usize) -> Option<<Self as Iterator>::Item>

Returns the nth element of the iterator. Read more
source§

fn next_chunk<const N: usize>( &mut self ) -> Result<[Self::Item; N], IntoIter<Self::Item, N>>where Self: Sized,

🔬This is a nightly-only experimental API. (iter_next_chunk)
Advances the iterator and returns an array containing the next N values. Read more
1.0.0 · source§

fn count(self) -> usizewhere @@ -204,7 +204,7 @@ Self: Sized, F: FnMut(Self::Item) -> K, K: PartialOrd<K>,

🔬This is a nightly-only experimental API. (is_sorted)
Checks if the elements of this iterator are sorted using the given key extraction -function. Read more
source§

impl FusedIterator for UJInstructionIter

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for Twhere +function. Read more

source§

impl FusedIterator for UJInstructionIter

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for Twhere T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for Twhere T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for Twhere T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

diff --git a/rustdoc/o1vm/interpreters/riscv32im/interpreter/trait.InterpreterEnv.html b/rustdoc/o1vm/interpreters/riscv32im/interpreter/trait.InterpreterEnv.html index 36fa3176fe..1dbdaf540c 100644 --- a/rustdoc/o1vm/interpreters/riscv32im/interpreter/trait.InterpreterEnv.html +++ b/rustdoc/o1vm/interpreters/riscv32im/interpreter/trait.InterpreterEnv.html @@ -1,4 +1,4 @@ -InterpreterEnv in o1vm::interpreters::riscv32im::interpreter - Rust
pub trait InterpreterEnv {
+InterpreterEnv in o1vm::interpreters::riscv32im::interpreter - Rust
pub trait InterpreterEnv {
     type Position;
     type Variable: Clone + Add<Self::Variable, Output = Self::Variable> + Sub<Self::Variable, Output = Self::Variable> + Mul<Self::Variable, Output = Self::Variable> + Debug + Zero + One;
 
@@ -293,8 +293,8 @@
         x: &Self::Variable,
         bitlength: u32
     ) -> Self::Variable { ... }
-
}

Required Associated Types§

source

type Position

A position can be seen as an indexed variable

-
source

type Variable: Clone + Add<Self::Variable, Output = Self::Variable> + Sub<Self::Variable, Output = Self::Variable> + Mul<Self::Variable, Output = Self::Variable> + Debug + Zero + One

Required Methods§

source

fn alloc_scratch(&mut self) -> Self::Position

Allocate a new abstract variable for the current step. +

}

Required Associated Types§

source

type Position

A position can be seen as an indexed variable

+
source

type Variable: Clone + Add<Self::Variable, Output = Self::Variable> + Sub<Self::Variable, Output = Self::Variable> + Mul<Self::Variable, Output = Self::Variable> + Debug + Zero + One

Required Methods§

source

fn alloc_scratch(&mut self) -> Self::Position

Allocate a new abstract variable for the current step. The variable can be used to store temporary values. The variables are “freed” after each step/instruction. The variable allocation can be seen as an allocation on a stack that is @@ -303,13 +303,13 @@ elements can be allocated. If more temporary variables are required for an instruction, increase the value crate::interpreters::riscv32im::SCRATCH_SIZE

-
source

fn variable(&self, column: Self::Position) -> Self::Variable

source

fn add_constraint(&mut self, assert_equals_zero: Self::Variable)

Add a constraint to the proof system, asserting that +

source

fn variable(&self, column: Self::Position) -> Self::Variable

source

fn add_constraint(&mut self, assert_equals_zero: Self::Variable)

Add a constraint to the proof system, asserting that assert_equals_zero is 0.

-
source

fn activate_selector(&mut self, selector: Instruction)

Activate the selector for the given instruction.

-
source

fn check_is_zero(assert_equals_zero: &Self::Variable)

Check that the witness value in assert_equals_zero is 0; otherwise abort.

-
source

fn check_equal(x: &Self::Variable, y: &Self::Variable)

Check that the witness values in x and y are equal; otherwise abort.

-
source

fn check_boolean(x: &Self::Variable)

Check that the witness value x is a boolean (0 or 1); otherwise abort.

-
source

fn add_lookup(&mut self, lookup: RAMLookup<Self::Variable, LookupTableIDs>)

source

fn instruction_counter(&self) -> Self::Variable

source

fn increase_instruction_counter(&mut self)

source

unsafe fn fetch_register( +

source

fn activate_selector(&mut self, selector: Instruction)

Activate the selector for the given instruction.

+
source

fn check_is_zero(assert_equals_zero: &Self::Variable)

Check that the witness value in assert_equals_zero is 0; otherwise abort.

+
source

fn check_equal(x: &Self::Variable, y: &Self::Variable)

Check that the witness values in x and y are equal; otherwise abort.

+
source

fn check_boolean(x: &Self::Variable)

Check that the witness value x is a boolean (0 or 1); otherwise abort.

+
source

fn add_lookup(&mut self, lookup: RAMLookup<Self::Variable, LookupTableIDs>)

source

fn instruction_counter(&self) -> Self::Variable

source

fn increase_instruction_counter(&mut self)

source

unsafe fn fetch_register( &mut self, idx: &Self::Variable, output: Self::Position @@ -318,7 +318,7 @@

Safety

No lookups or other constraints are added as part of this operation. The caller must manually add the lookups for this operation.

-
source

unsafe fn push_register_if( +

source

unsafe fn push_register_if( &mut self, idx: &Self::Variable, value: Self::Variable, @@ -327,7 +327,7 @@

Safety
Safety

No lookups or other constraints are added as part of this operation. The caller must manually add the lookups for this operation.

-
source

unsafe fn fetch_register_access( +

source

unsafe fn fetch_register_access( &mut self, idx: &Self::Variable, output: Self::Position @@ -336,7 +336,7 @@

Safety
Safety

No lookups or other constraints are added as part of this operation. The caller must manually add the lookups for this operation.

-
source

unsafe fn push_register_access_if( +

source

unsafe fn push_register_access_if( &mut self, idx: &Self::Variable, value: Self::Variable, @@ -346,7 +346,7 @@

Safety
Safety

No lookups or other constraints are added as part of this operation. The caller must manually add the lookups for this operation.

-
source

unsafe fn fetch_memory( +

source

unsafe fn fetch_memory( &mut self, addr: &Self::Variable, output: Self::Position @@ -354,11 +354,11 @@

Safety
Safety

No lookups or other constraints are added as part of this operation. The caller must manually add the lookups for this memory operation.

-

source

unsafe fn push_memory(&mut self, addr: &Self::Variable, value: Self::Variable)

Set the memory value at address addr to value.

+
source

unsafe fn push_memory(&mut self, addr: &Self::Variable, value: Self::Variable)

Set the memory value at address addr to value.

Safety

No lookups or other constraints are added as part of this operation. The caller must manually add the lookups for this memory operation.

-
source

unsafe fn fetch_memory_access( +

source

unsafe fn fetch_memory_access( &mut self, addr: &Self::Variable, output: Self::Position @@ -367,7 +367,7 @@

Safety
Safety

No lookups or other constraints are added as part of this operation. The caller must manually add the lookups for this memory operation.

-
source

unsafe fn push_memory_access( +

source

unsafe fn push_memory_access( &mut self, addr: &Self::Variable, value: Self::Variable @@ -375,7 +375,7 @@

Safety
Safety

No lookups or other constraints are added as part of this operation. The caller must manually add the lookups for this memory operation.

-
source

fn constant(x: u32) -> Self::Variable

source

unsafe fn bitmask( +

source

fn constant(x: u32) -> Self::Variable

source

unsafe fn bitmask( &mut self, x: &Self::Variable, highest_bit: u32, @@ -389,7 +389,7 @@

Safety
the source variable x and that the returned value fits in highest_bit - lowest_bit bits.

Do not call this function with highest_bit - lowest_bit >= 32.

-
source

unsafe fn shift_left( +

source

unsafe fn shift_left( &mut self, x: &Self::Variable, by: &Self::Variable, @@ -398,7 +398,7 @@

Safety
Safety

There are no constraints on the returned value; callers must assert the relationship with the source variable x and the shift amount by.

-
source

unsafe fn shift_right( +

source

unsafe fn shift_right( &mut self, x: &Self::Variable, by: &Self::Variable, @@ -407,7 +407,7 @@

Safety
Safety

There are no constraints on the returned value; callers must assert the relationship with the source variable x and the shift amount by.

-
source

unsafe fn shift_right_arithmetic( +

source

unsafe fn shift_right_arithmetic( &mut self, x: &Self::Variable, by: &Self::Variable, @@ -416,7 +416,7 @@

Safety
Safety

There are no constraints on the returned value; callers must assert the relationship with the source variable x and the shift amount by.

-
source

unsafe fn test_zero( +

source

unsafe fn test_zero( &mut self, x: &Self::Variable, position: Self::Position @@ -424,7 +424,7 @@

Safety
Safety

There are no constraints on the returned value; callers must assert the relationship with x.

-
source

unsafe fn inverse_or_zero( +

source

unsafe fn inverse_or_zero( &mut self, x: &Self::Variable, position: Self::Position @@ -434,8 +434,8 @@

Safety
x.

The value returned may be a placeholder; callers should be careful not to depend directly on the value stored in the variable.

-
source

fn is_zero(&mut self, x: &Self::Variable) -> Self::Variable

source

fn equal(&mut self, x: &Self::Variable, y: &Self::Variable) -> Self::Variable

Returns 1 if x is equal to y, or 0 otherwise, storing the result in position.

-
source

unsafe fn test_less_than( +

source

fn is_zero(&mut self, x: &Self::Variable) -> Self::Variable

source

fn equal(&mut self, x: &Self::Variable, y: &Self::Variable) -> Self::Variable

Returns 1 if x is equal to y, or 0 otherwise, storing the result in position.

+
source

unsafe fn test_less_than( &mut self, x: &Self::Variable, y: &Self::Variable, @@ -445,7 +445,7 @@

Safety
Safety

There are no constraints on the returned value; callers must assert that the value correctly represents the relationship between x and y

-
source

unsafe fn test_less_than_signed( +

source

unsafe fn test_less_than_signed( &mut self, x: &Self::Variable, y: &Self::Variable, @@ -454,7 +454,7 @@

Safety
Safety

There are no constraints on the returned value; callers must assert that the value correctly represents the relationship between x and y

-
source

unsafe fn and_witness( +

source

unsafe fn and_witness( &mut self, x: &Self::Variable, y: &Self::Variable, @@ -463,7 +463,7 @@

Safety
Safety

There are no constraints on the returned value; callers must manually add constraints to ensure that it is correctly constructed.

-
source

unsafe fn or_witness( +

source

unsafe fn or_witness( &mut self, x: &Self::Variable, y: &Self::Variable, @@ -472,7 +472,7 @@

Safety
Safety

There are no constraints on the returned value; callers must manually add constraints to ensure that it is correctly constructed.

-
source

unsafe fn nor_witness( +

source

unsafe fn nor_witness( &mut self, x: &Self::Variable, y: &Self::Variable, @@ -481,7 +481,7 @@

Safety
Safety

There are no constraints on the returned value; callers must manually add constraints to ensure that it is correctly constructed.

-
source

unsafe fn xor_witness( +

source

unsafe fn xor_witness( &mut self, x: &Self::Variable, y: &Self::Variable, @@ -490,7 +490,7 @@

Safety
Safety

There are no constraints on the returned value; callers must manually add constraints to ensure that it is correctly constructed.

-
source

unsafe fn add_witness( +

source

unsafe fn add_witness( &mut self, y: &Self::Variable, x: &Self::Variable, @@ -501,7 +501,7 @@

Safety
Safety

There are no constraints on the returned values; callers must manually add constraints to ensure that they are correctly constructed.

-
source

unsafe fn sub_witness( +

source

unsafe fn sub_witness( &mut self, y: &Self::Variable, x: &Self::Variable, @@ -512,7 +512,7 @@

Safety
Safety

There are no constraints on the returned values; callers must manually add constraints to ensure that they are correctly constructed.

-
source

unsafe fn mul_signed_witness( +

source

unsafe fn mul_signed_witness( &mut self, x: &Self::Variable, y: &Self::Variable, @@ -521,7 +521,7 @@

Safety
Safety

There are no constraints on the returned value; callers must manually add constraints to ensure that it is correctly constructed.

-
source

unsafe fn mul_hi_signed( +

source

unsafe fn mul_hi_signed( &mut self, x: &Self::Variable, y: &Self::Variable, @@ -531,7 +531,7 @@

Safety

There are no constraints on the returned values; callers must manually add constraints to ensure that the pair of returned values correspond to the given values x and y, and that they fall within the desired range.

-
source

unsafe fn mul_lo_signed( +

source

unsafe fn mul_lo_signed( &mut self, x: &Self::Variable, y: &Self::Variable, @@ -541,7 +541,7 @@

Safety

There are no constraints on the returned values; callers must manually add constraints to ensure that the pair of returned values correspond to the given values x and y, and that they fall within the desired range.

-
source

unsafe fn mul_hi( +

source

unsafe fn mul_hi( &mut self, x: &Self::Variable, y: &Self::Variable, @@ -551,7 +551,7 @@

Safety

There are no constraints on the returned values; callers must manually add constraints to ensure that the pair of returned values correspond to the given values x and y, and that they fall within the desired range.

-
source

unsafe fn mul_lo( +

source

unsafe fn mul_lo( &mut self, x: &Self::Variable, y: &Self::Variable, @@ -561,7 +561,7 @@

Safety

There are no constraints on the returned values; callers must manually add constraints to ensure that the pair of returned values correspond to the given values x and y, and that they fall within the desired range.

-
source

unsafe fn mul_hi_signed_unsigned( +

source

unsafe fn mul_hi_signed_unsigned( &mut self, x: &Self::Variable, y: &Self::Variable, @@ -571,7 +571,7 @@

Safety

There are no constraints on the returned values; callers must manually add constraints to ensure that the pair of returned values correspond to the given values x and y, and that they fall within the desired range.

-
source

unsafe fn div_signed( +

source

unsafe fn div_signed( &mut self, x: &Self::Variable, y: &Self::Variable, @@ -581,7 +581,7 @@

Safety

There are no constraints on the returned values; callers must manually add constraints to ensure that the pair of returned values correspond to the given values x and y, and that they fall within the desired range.

-
source

unsafe fn mod_signed( +

source

unsafe fn mod_signed( &mut self, x: &Self::Variable, y: &Self::Variable, @@ -591,7 +591,7 @@

Safety

There are no constraints on the returned values; callers must manually add constraints to ensure that the pair of returned values correspond to the given values x and y, and that they fall within the desired range.

-
source

unsafe fn div( +

source

unsafe fn div( &mut self, x: &Self::Variable, y: &Self::Variable, @@ -601,7 +601,7 @@

Safety

There are no constraints on the returned values; callers must manually add constraints to ensure that the pair of returned values correspond to the given values x and y, and that they fall within the desired range.

-
source

unsafe fn mod_unsigned( +

source

unsafe fn mod_unsigned( &mut self, x: &Self::Variable, y: &Self::Variable, @@ -611,7 +611,7 @@

Safety

There are no constraints on the returned values; callers must manually add constraints to ensure that the pair of returned values correspond to the given values x and y, and that they fall within the desired range.

-
source

unsafe fn count_leading_zeros( +

source

unsafe fn count_leading_zeros( &mut self, x: &Self::Variable, position: Self::Position @@ -619,7 +619,7 @@

Safety
Safety

There are no constraints on the returned value; callers must manually add constraints to ensure that it is correctly constructed.

-
source

unsafe fn count_leading_ones( +

source

unsafe fn count_leading_ones( &mut self, x: &Self::Variable, position: Self::Position @@ -627,18 +627,18 @@

Safety
Safety

There are no constraints on the returned value; callers must manually add constraints to ensure that it is correctly constructed.

-
source

fn copy( +
source

fn copy( &mut self, x: &Self::Variable, position: Self::Position -) -> Self::Variable

source

fn set_halted(&mut self, flag: Self::Variable)

source

fn report_exit(&mut self, exit_code: &Self::Variable)

source

fn reset(&mut self)

Provided Methods§

source

fn assert_is_zero(&mut self, assert_equals_zero: Self::Variable)

Assert that the value assert_equals_zero is 0, and add a constraint in the proof system.

-
source

fn assert_equal(&mut self, x: Self::Variable, y: Self::Variable)

Assert that the values x and y are equal, and add a constraint in the proof system.

-
source

fn assert_boolean(&mut self, x: Self::Variable)

Assert that the value x is boolean, and add a constraint in the proof system.

-
source

unsafe fn push_register(&mut self, idx: &Self::Variable, value: Self::Variable)

Set the general purpose register with index idx to value.

+) -> Self::Variable
source

fn set_halted(&mut self, flag: Self::Variable)

source

fn report_exit(&mut self, exit_code: &Self::Variable)

source

fn reset(&mut self)

Provided Methods§

source

fn assert_is_zero(&mut self, assert_equals_zero: Self::Variable)

Assert that the value assert_equals_zero is 0, and add a constraint in the proof system.

+
source

fn assert_equal(&mut self, x: Self::Variable, y: Self::Variable)

Assert that the values x and y are equal, and add a constraint in the proof system.

+
source

fn assert_boolean(&mut self, x: Self::Variable)

Assert that the value x is boolean, and add a constraint in the proof system.

+
source

unsafe fn push_register(&mut self, idx: &Self::Variable, value: Self::Variable)

Set the general purpose register with index idx to value.

Safety

No lookups or other constraints are added as part of this operation. The caller must manually add the lookups for this operation.

-
source

unsafe fn push_register_access( +

source

unsafe fn push_register_access( &mut self, idx: &Self::Variable, value: Self::Variable @@ -646,7 +646,7 @@

Safety
Safety

No lookups or other constraints are added as part of this operation. The caller must manually add the lookups for this operation.

-
source

unsafe fn access_register_if( +

source

unsafe fn access_register_if( &mut self, idx: &Self::Variable, old_value: &Self::Variable, @@ -658,7 +658,7 @@

Safety
Safety

Callers of this function must manually update the registers if required, this function will only update the access counter.

-
source

fn read_register(&mut self, idx: &Self::Variable) -> Self::Variable

source

unsafe fn access_register( +

source

fn read_register(&mut self, idx: &Self::Variable) -> Self::Variable

source

unsafe fn access_register( &mut self, idx: &Self::Variable, old_value: &Self::Variable, @@ -668,12 +668,12 @@

Safety
Safety

Callers of this function must manually update the registers if required, this function will only update the access counter.

-
source

fn write_register_if( +
source

fn write_register_if( &mut self, idx: &Self::Variable, new_value: Self::Variable, if_is_true: &Self::Variable -)

source

fn write_register(&mut self, idx: &Self::Variable, new_value: Self::Variable)

source

unsafe fn access_memory( +)

source

fn write_register(&mut self, idx: &Self::Variable, new_value: Self::Variable)

source

unsafe fn access_memory( &mut self, addr: &Self::Variable, old_value: &Self::Variable, @@ -683,19 +683,19 @@

Safety
Safety

Callers of this function must manually update the memory if required, this function will only update the access counter.

-
source

fn read_memory(&mut self, addr: &Self::Variable) -> Self::Variable

source

fn write_memory(&mut self, addr: &Self::Variable, new_value: Self::Variable)

source

fn lookup_16bits(&mut self, value: &Self::Variable)

Adds a lookup to the RangeCheck16Lookup table

-
source

fn range_check16(&mut self, value: &Self::Variable, bits: u32)

Range checks with 2 lookups to the RangeCheck16Lookup table that a value +

source

fn read_memory(&mut self, addr: &Self::Variable) -> Self::Variable

source

fn write_memory(&mut self, addr: &Self::Variable, new_value: Self::Variable)

source

fn lookup_16bits(&mut self, value: &Self::Variable)

Adds a lookup to the RangeCheck16Lookup table

+
source

fn range_check16(&mut self, value: &Self::Variable, bits: u32)

Range checks with 2 lookups to the RangeCheck16Lookup table that a value is at most 2^bits-1 (bits <= 16).

-
source

fn lookup_8bits(&mut self, value: &Self::Variable)

Adds a lookup to the ByteLookup table

-
source

fn range_check8(&mut self, value: &Self::Variable, bits: u32)

Range checks with 2 lookups to the ByteLookup table that a value +

source

fn lookup_8bits(&mut self, value: &Self::Variable)

Adds a lookup to the ByteLookup table

+
source

fn range_check8(&mut self, value: &Self::Variable, bits: u32)

Range checks with 2 lookups to the ByteLookup table that a value is at most 2^bits-1 (bits <= 8).

-
source

fn lookup_2bits(&mut self, value: &Self::Variable)

Adds a lookup to the AtMost4Lookup table

-
source

fn range_check64(&mut self, _value: &Self::Variable)

source

fn set_instruction_pointer(&mut self, ip: Self::Variable)

source

fn get_instruction_pointer(&mut self) -> Self::Variable

source

fn set_next_instruction_pointer(&mut self, ip: Self::Variable)

source

fn get_next_instruction_pointer(&mut self) -> Self::Variable

source

fn increase_heap_pointer( +

source

fn lookup_2bits(&mut self, value: &Self::Variable)

Adds a lookup to the AtMost4Lookup table

+
source

fn range_check64(&mut self, _value: &Self::Variable)

source

fn set_instruction_pointer(&mut self, ip: Self::Variable)

source

fn get_instruction_pointer(&mut self) -> Self::Variable

source

fn set_next_instruction_pointer(&mut self, ip: Self::Variable)

source

fn get_next_instruction_pointer(&mut self) -> Self::Variable

source

fn increase_heap_pointer( &mut self, by_amount: &Self::Variable, if_is_true: &Self::Variable ) -> Self::Variable

Increases the heap pointer by by_amount if if_is_true is 1, and returns the previous value of the heap pointer.

-
source

fn sign_extend(&mut self, x: &Self::Variable, bitlength: u32) -> Self::Variable

Given a variable x, this function extends it to a signed integer of +

source

fn sign_extend(&mut self, x: &Self::Variable, bitlength: u32) -> Self::Variable

Given a variable x, this function extends it to a signed integer of bitlength bits.

Implementors§

source§

impl<Fp: Field> InterpreterEnv for o1vm::interpreters::riscv32im::constraints::Env<Fp>

§

type Position = Column

§

type Variable = Operations<ExprInner<Operations<ConstantExprInner<Fp, BerkeleyChallengeTerm>>, Column>>

source§

impl<Fp: Field> InterpreterEnv for o1vm::interpreters::riscv32im::witness::Env<Fp>

\ No newline at end of file diff --git a/rustdoc/o1vm/interpreters/riscv32im/witness/struct.Env.html b/rustdoc/o1vm/interpreters/riscv32im/witness/struct.Env.html index 2e85ceec62..249b5168ad 100644 --- a/rustdoc/o1vm/interpreters/riscv32im/witness/struct.Env.html +++ b/rustdoc/o1vm/interpreters/riscv32im/witness/struct.Env.html @@ -201,11 +201,11 @@ &mut self, x: &Self::Variable, position: Self::Position -) -> Self::Variable
source§

fn set_halted(&mut self, flag: Self::Variable)

source§

fn report_exit(&mut self, exit_code: &Self::Variable)

source§

fn reset(&mut self)

source§

fn assert_is_zero(&mut self, assert_equals_zero: Self::Variable)

Assert that the value assert_equals_zero is 0, and add a constraint in the proof system.
source§

fn assert_equal(&mut self, x: Self::Variable, y: Self::Variable)

Assert that the values x and y are equal, and add a constraint in the proof system.
source§

fn assert_boolean(&mut self, x: Self::Variable)

Assert that the value x is boolean, and add a constraint in the proof system.
source§

unsafe fn push_register(&mut self, idx: &Self::Variable, value: Self::Variable)

Set the general purpose register with index idx to value. Read more
source§

unsafe fn push_register_access( +) -> Self::Variable

source§

fn set_halted(&mut self, flag: Self::Variable)

source§

fn report_exit(&mut self, exit_code: &Self::Variable)

source§

fn reset(&mut self)

source§

fn assert_is_zero(&mut self, assert_equals_zero: Self::Variable)

Assert that the value assert_equals_zero is 0, and add a constraint in the proof system.
source§

fn assert_equal(&mut self, x: Self::Variable, y: Self::Variable)

Assert that the values x and y are equal, and add a constraint in the proof system.
source§

fn assert_boolean(&mut self, x: Self::Variable)

Assert that the value x is boolean, and add a constraint in the proof system.
source§

unsafe fn push_register(&mut self, idx: &Self::Variable, value: Self::Variable)

Set the general purpose register with index idx to value. Read more
source§

unsafe fn push_register_access( &mut self, idx: &Self::Variable, value: Self::Variable -)

Set the last ‘access index’ for the general purpose register with index idx to value. Read more
source§

unsafe fn access_register_if( +)

Set the last ‘access index’ for the general purpose register with index idx to value. Read more
source§

unsafe fn access_register_if( &mut self, idx: &Self::Variable, old_value: &Self::Variable, @@ -213,31 +213,31 @@ if_is_true: &Self::Variable )

Access the general purpose register with index idx, adding constraints asserting that the old value was old_value and that the new value will be new_value, if if_is_true is -true. Read more
source§

fn read_register(&mut self, idx: &Self::Variable) -> Self::Variable

source§

unsafe fn access_register( +true. Read more

source§

fn read_register(&mut self, idx: &Self::Variable) -> Self::Variable

source§

unsafe fn access_register( &mut self, idx: &Self::Variable, old_value: &Self::Variable, new_value: &Self::Variable )

Access the general purpose register with index idx, adding constraints asserting that the -old value was old_value and that the new value will be new_value. Read more
source§

fn write_register_if( +old value was old_value and that the new value will be new_value. Read more

source§

fn write_register_if( &mut self, idx: &Self::Variable, new_value: Self::Variable, if_is_true: &Self::Variable -)

source§

fn write_register(&mut self, idx: &Self::Variable, new_value: Self::Variable)

source§

unsafe fn access_memory( +)

source§

fn write_register(&mut self, idx: &Self::Variable, new_value: Self::Variable)

source§

unsafe fn access_memory( &mut self, addr: &Self::Variable, old_value: &Self::Variable, new_value: &Self::Variable )

Access the memory address addr, adding constraints asserting that the old value was -old_value and that the new value will be new_value. Read more
source§

fn read_memory(&mut self, addr: &Self::Variable) -> Self::Variable

source§

fn write_memory(&mut self, addr: &Self::Variable, new_value: Self::Variable)

source§

fn lookup_16bits(&mut self, value: &Self::Variable)

Adds a lookup to the RangeCheck16Lookup table
source§

fn range_check16(&mut self, value: &Self::Variable, bits: u32)

Range checks with 2 lookups to the RangeCheck16Lookup table that a value -is at most 2^bits-1 (bits <= 16).
source§

fn lookup_8bits(&mut self, value: &Self::Variable)

Adds a lookup to the ByteLookup table
source§

fn range_check8(&mut self, value: &Self::Variable, bits: u32)

Range checks with 2 lookups to the ByteLookup table that a value -is at most 2^bits-1 (bits <= 8).
source§

fn lookup_2bits(&mut self, value: &Self::Variable)

Adds a lookup to the AtMost4Lookup table
source§

fn range_check64(&mut self, _value: &Self::Variable)

source§

fn set_instruction_pointer(&mut self, ip: Self::Variable)

source§

fn get_instruction_pointer(&mut self) -> Self::Variable

source§

fn set_next_instruction_pointer(&mut self, ip: Self::Variable)

source§

fn get_next_instruction_pointer(&mut self) -> Self::Variable

source§

fn increase_heap_pointer( +old_value and that the new value will be new_value. Read more

source§

fn read_memory(&mut self, addr: &Self::Variable) -> Self::Variable

source§

fn write_memory(&mut self, addr: &Self::Variable, new_value: Self::Variable)

source§

fn lookup_16bits(&mut self, value: &Self::Variable)

Adds a lookup to the RangeCheck16Lookup table
source§

fn range_check16(&mut self, value: &Self::Variable, bits: u32)

Range checks with 2 lookups to the RangeCheck16Lookup table that a value +is at most 2^bits-1 (bits <= 16).
source§

fn lookup_8bits(&mut self, value: &Self::Variable)

Adds a lookup to the ByteLookup table
source§

fn range_check8(&mut self, value: &Self::Variable, bits: u32)

Range checks with 2 lookups to the ByteLookup table that a value +is at most 2^bits-1 (bits <= 8).
source§

fn lookup_2bits(&mut self, value: &Self::Variable)

Adds a lookup to the AtMost4Lookup table
source§

fn range_check64(&mut self, _value: &Self::Variable)

source§

fn set_instruction_pointer(&mut self, ip: Self::Variable)

source§

fn get_instruction_pointer(&mut self) -> Self::Variable

source§

fn set_next_instruction_pointer(&mut self, ip: Self::Variable)

source§

fn get_next_instruction_pointer(&mut self) -> Self::Variable

source§

fn increase_heap_pointer( &mut self, by_amount: &Self::Variable, if_is_true: &Self::Variable ) -> Self::Variable

Increases the heap pointer by by_amount if if_is_true is 1, and returns the previous -value of the heap pointer.
source§

fn sign_extend(&mut self, x: &Self::Variable, bitlength: u32) -> Self::Variable

Given a variable x, this function extends it to a signed integer of +value of the heap pointer.
source§

fn sign_extend(&mut self, x: &Self::Variable, bitlength: u32) -> Self::Variable

Given a variable x, this function extends it to a signed integer of bitlength bits.

Auto Trait Implementations§

§

impl<Fp> RefUnwindSafe for Env<Fp>where Fp: RefUnwindSafe,

§

impl<Fp> Send for Env<Fp>where Fp: Send,

§

impl<Fp> Sync for Env<Fp>where diff --git a/rustdoc/src/o1vm/interpreters/riscv32im/interpreter.rs.html b/rustdoc/src/o1vm/interpreters/riscv32im/interpreter.rs.html index 32cc15c0d8..ed57d23294 100644 --- a/rustdoc/src/o1vm/interpreters/riscv32im/interpreter.rs.html +++ b/rustdoc/src/o1vm/interpreters/riscv32im/interpreter.rs.html @@ -2337,6 +2337,22 @@ 2337 2338 2339 +2340 +2341 +2342 +2343 +2344 +2345 +2346 +2347 +2348 +2349 +2350 +2351 +2352 +2353 +2354 +2355

//! This module implement an interpreter for the RISCV32 IM instruction set
 //! architecture.
 //!
@@ -2359,6 +2375,14 @@
 //! and copied in this file for offline reference.
 //! If you are the author of the above documentations and would like to add or
 //! modify the credits, please open a pull request.
+//!
+//! For each instruction, we provide the format, description, and the
+//! semantic in pseudo-code of the instruction.
+//! When `signed` is mentioned in the pseudo-code, it means that the
+//! operation is performed as a signed operation (i.e. signed(v) where `v` is a
+//! 32 bits value means that `v` must be interpreted as a i32 value in Rust, the
+//! most significant bit being the sign - 1 for negative, 0 for positive).
+//! By default, unsigned operations are performed.
 
 use super::registers::{REGISTER_CURRENT_IP, REGISTER_HEAP_POINTER, REGISTER_NEXT_IP};
 use crate::lookups::{Lookup, LookupTableIDs};
@@ -4571,7 +4595,8 @@
 
     match instr {
         MInstruction::Mul => {
-            let rs1 = env.read_register(&rs1);
+            // x[rd] = x[rs1] * x[rs2]
+            let rs1 = env.read_register(&rs1);
             let rs2 = env.read_register(&rs2);
             // FIXME: constrain
             let res = {
@@ -4584,7 +4609,8 @@
             env.set_next_instruction_pointer(next_instruction_pointer + Env::constant(4u32));
         }
         MInstruction::Mulh => {
-            let rs1 = env.read_register(&rs1);
+            // x[rd] = (signed(x[rs1]) * signed(x[rs2])) >> 32
+            let rs1 = env.read_register(&rs1);
             let rs2 = env.read_register(&rs2);
             // FIXME: constrain
             let res = {
@@ -4597,7 +4623,8 @@
             env.set_next_instruction_pointer(next_instruction_pointer + Env::constant(4u32));
         }
         MInstruction::Mulhsu => {
-            let rs1 = env.read_register(&rs1);
+            // x[rd] = (signed(x[rs1]) * x[rs2]) >> 32
+            let rs1 = env.read_register(&rs1);
             let rs2 = env.read_register(&rs2);
             // FIXME: constrain
             let res = {
@@ -4610,7 +4637,8 @@
             env.set_next_instruction_pointer(next_instruction_pointer + Env::constant(4u32));
         }
         MInstruction::Mulhu => {
-            let rs1 = env.read_register(&rs1);
+            // x[rd] = (x[rs1] * x[rs2]) >> 32
+            let rs1 = env.read_register(&rs1);
             let rs2 = env.read_register(&rs2);
             // FIXME: constrain
             let res = {
@@ -4623,7 +4651,8 @@
             env.set_next_instruction_pointer(next_instruction_pointer + Env::constant(4u32));
         }
         MInstruction::Div => {
-            let rs1 = env.read_register(&rs1);
+            // x[rd] = signed(x[rs1]) / signed(x[rs2])
+            let rs1 = env.read_register(&rs1);
             let rs2 = env.read_register(&rs2);
             // FIXME: constrain
             let res = {
@@ -4636,7 +4665,8 @@
             env.set_next_instruction_pointer(next_instruction_pointer + Env::constant(4u32));
         }
         MInstruction::Divu => {
-            let rs1 = env.read_register(&rs1);
+            // x[rd] = x[rs1] / x[rs2]
+            let rs1 = env.read_register(&rs1);
             let rs2 = env.read_register(&rs2);
             // FIXME: constrain
             let res = {
@@ -4649,7 +4679,8 @@
             env.set_next_instruction_pointer(next_instruction_pointer + Env::constant(4u32));
         }
         MInstruction::Rem => {
-            let rs1 = env.read_register(&rs1);
+            // x[rd] = signed(x[rs1]) % signed(x[rs2])
+            let rs1 = env.read_register(&rs1);
             let rs2 = env.read_register(&rs2);
             // FIXME: constrain
             let res = {
@@ -4662,7 +4693,8 @@
             env.set_next_instruction_pointer(next_instruction_pointer + Env::constant(4u32));
         }
         MInstruction::Remu => {
-            let rs1 = env.read_register(&rs1);
+            // x[rd] = x[rs1] % x[rs2]
+            let rs1 = env.read_register(&rs1);
             let rs2 = env.read_register(&rs2);
             // FIXME: constrain
             let res = {