Enum cairo_vm::types::relocatable::MaybeRelocatable
source · pub enum MaybeRelocatable {
RelocatableValue(Relocatable),
Int(Felt252),
}Variants§
RelocatableValue(Relocatable)
Int(Felt252)
Implementations§
source§impl MaybeRelocatable
impl MaybeRelocatable
sourcepub fn add_int(&self, other: &Felt252) -> Result<MaybeRelocatable, MathError>
pub fn add_int(&self, other: &Felt252) -> Result<MaybeRelocatable, MathError>
Adds a Felt252 to self
sourcepub fn add_usize(&self, other: usize) -> Result<MaybeRelocatable, MathError>
pub fn add_usize(&self, other: usize) -> Result<MaybeRelocatable, MathError>
Adds a usize to self
sourcepub fn add(
&self,
other: &MaybeRelocatable
) -> Result<MaybeRelocatable, MathError>
pub fn add( &self, other: &MaybeRelocatable ) -> Result<MaybeRelocatable, MathError>
Adds a MaybeRelocatable to self Cant add two relocatable values
sourcepub fn sub(
&self,
other: &MaybeRelocatable
) -> Result<MaybeRelocatable, MathError>
pub fn sub( &self, other: &MaybeRelocatable ) -> Result<MaybeRelocatable, MathError>
Substracts two MaybeRelocatable values and returns the result as a MaybeRelocatable value. Only values of the same type may be substracted. Relocatable values can only be substracted if they belong to the same segment.
sourcepub fn divmod(
&self,
other: &MaybeRelocatable
) -> Result<(MaybeRelocatable, MaybeRelocatable), MathError>
pub fn divmod( &self, other: &MaybeRelocatable ) -> Result<(MaybeRelocatable, MaybeRelocatable), MathError>
Performs integer division and module on a MaybeRelocatable::Int by another MaybeRelocatable::Int and returns the quotient and reminder.
sourcepub fn get_int_ref(&self) -> Option<&Felt252>
pub fn get_int_ref(&self) -> Option<&Felt252>
Returns a reference to the inner value if it is a Felt252, returns None otherwise.
sourcepub fn get_relocatable(&self) -> Option<Relocatable>
pub fn get_relocatable(&self) -> Option<Relocatable>
Returns the inner value if it is a Relocatable, returns None otherwise.
Trait Implementations§
source§impl Add<&MaybeRelocatable> for Relocatable
impl Add<&MaybeRelocatable> for Relocatable
Adds a MaybeRelocatable to self Cant add two relocatable values
§type Output = Result<Relocatable, MathError>
type Output = Result<Relocatable, MathError>
The resulting type after applying the
+ operator.source§fn add(self, other: &MaybeRelocatable) -> Result<Relocatable, MathError>
fn add(self, other: &MaybeRelocatable) -> Result<Relocatable, MathError>
Performs the
+ operation. Read moresource§impl Clone for MaybeRelocatable
impl Clone for MaybeRelocatable
source§fn clone(&self) -> MaybeRelocatable
fn clone(&self) -> MaybeRelocatable
Returns a copy of the value. Read more
1.0.0 · source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moresource§impl Debug for MaybeRelocatable
impl Debug for MaybeRelocatable
source§impl<'de> Deserialize<'de> for MaybeRelocatable
impl<'de> Deserialize<'de> for MaybeRelocatable
source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where __D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
source§impl Display for MaybeRelocatable
impl Display for MaybeRelocatable
source§impl From<&Felt252> for MaybeRelocatable
impl From<&Felt252> for MaybeRelocatable
source§impl From<&MaybeRelocatable> for MaybeRelocatable
impl From<&MaybeRelocatable> for MaybeRelocatable
source§fn from(other: &MaybeRelocatable) -> Self
fn from(other: &MaybeRelocatable) -> Self
Converts to this type from the input type.
source§impl From<&Relocatable> for MaybeRelocatable
impl From<&Relocatable> for MaybeRelocatable
source§fn from(rel: &Relocatable) -> Self
fn from(rel: &Relocatable) -> Self
Converts to this type from the input type.
source§impl From<Felt252> for MaybeRelocatable
impl From<Felt252> for MaybeRelocatable
source§impl From<MaybeRelocatable> for CairoArg
impl From<MaybeRelocatable> for CairoArg
source§fn from(other: MaybeRelocatable) -> Self
fn from(other: MaybeRelocatable) -> Self
Converts to this type from the input type.
source§impl From<Relocatable> for MaybeRelocatable
impl From<Relocatable> for MaybeRelocatable
source§fn from(rel: Relocatable) -> Self
fn from(rel: Relocatable) -> Self
Converts to this type from the input type.
source§impl From<usize> for MaybeRelocatable
impl From<usize> for MaybeRelocatable
source§impl Hash for MaybeRelocatable
impl Hash for MaybeRelocatable
source§impl Ord for MaybeRelocatable
impl Ord for MaybeRelocatable
source§fn cmp(&self, other: &MaybeRelocatable) -> Ordering
fn cmp(&self, other: &MaybeRelocatable) -> Ordering
1.21.0 · source§fn max(self, other: Self) -> Selfwhere
Self: Sized,
fn max(self, other: Self) -> Selfwhere Self: Sized,
Compares and returns the maximum of two values. Read more
source§impl PartialEq<MaybeRelocatable> for MaybeRelocatable
impl PartialEq<MaybeRelocatable> for MaybeRelocatable
source§fn eq(&self, other: &MaybeRelocatable) -> bool
fn eq(&self, other: &MaybeRelocatable) -> bool
This method tests for
self and other values to be equal, and is used
by ==.source§impl PartialOrd<MaybeRelocatable> for MaybeRelocatable
impl PartialOrd<MaybeRelocatable> for MaybeRelocatable
source§fn partial_cmp(&self, other: &MaybeRelocatable) -> Option<Ordering>
fn partial_cmp(&self, other: &MaybeRelocatable) -> Option<Ordering>
1.0.0 · source§fn le(&self, other: &Rhs) -> bool
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 moresource§impl Serialize for MaybeRelocatable
impl Serialize for MaybeRelocatable
source§impl TryFrom<&MaybeRelocatable> for Relocatable
impl TryFrom<&MaybeRelocatable> for Relocatable
source§impl TryInto<Relocatable> for MaybeRelocatable
impl TryInto<Relocatable> for MaybeRelocatable
§type Error = MemoryError
type Error = MemoryError
The type returned in the event of a conversion error.
source§fn try_into(self) -> Result<Relocatable, MemoryError>
fn try_into(self) -> Result<Relocatable, MemoryError>
Performs the conversion.
impl Eq for MaybeRelocatable
impl StructuralEq for MaybeRelocatable
impl StructuralPartialEq for MaybeRelocatable
Auto Trait Implementations§
impl RefUnwindSafe for MaybeRelocatable
impl Send for MaybeRelocatable
impl Sync for MaybeRelocatable
impl Unpin for MaybeRelocatable
impl UnwindSafe for MaybeRelocatable
Blanket Implementations§
source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere T: ?Sized,
source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
§impl<T> Conv for T
impl<T> Conv for T
§impl<T> FmtForward for T
impl<T> FmtForward for T
§fn fmt_binary(self) -> FmtBinary<Self>where
Self: Binary,
fn fmt_binary(self) -> FmtBinary<Self>where Self: Binary,
Causes
self to use its Binary implementation when Debug-formatted.§fn fmt_display(self) -> FmtDisplay<Self>where
Self: Display,
fn fmt_display(self) -> FmtDisplay<Self>where Self: Display,
Causes
self to use its Display implementation when
Debug-formatted.§fn fmt_lower_exp(self) -> FmtLowerExp<Self>where
Self: LowerExp,
fn fmt_lower_exp(self) -> FmtLowerExp<Self>where Self: LowerExp,
Causes
self to use its LowerExp implementation when
Debug-formatted.§fn fmt_lower_hex(self) -> FmtLowerHex<Self>where
Self: LowerHex,
fn fmt_lower_hex(self) -> FmtLowerHex<Self>where Self: LowerHex,
Causes
self to use its LowerHex implementation when
Debug-formatted.§fn fmt_octal(self) -> FmtOctal<Self>where
Self: Octal,
fn fmt_octal(self) -> FmtOctal<Self>where Self: Octal,
Causes
self to use its Octal implementation when Debug-formatted.§fn fmt_pointer(self) -> FmtPointer<Self>where
Self: Pointer,
fn fmt_pointer(self) -> FmtPointer<Self>where Self: Pointer,
Causes
self to use its Pointer implementation when
Debug-formatted.§fn fmt_upper_exp(self) -> FmtUpperExp<Self>where
Self: UpperExp,
fn fmt_upper_exp(self) -> FmtUpperExp<Self>where Self: UpperExp,
Causes
self to use its UpperExp implementation when
Debug-formatted.§fn fmt_upper_hex(self) -> FmtUpperHex<Self>where
Self: UpperHex,
fn fmt_upper_hex(self) -> FmtUpperHex<Self>where Self: UpperHex,
Causes
self to use its UpperHex implementation when
Debug-formatted.§fn fmt_list(self) -> FmtList<Self>where
&'a Self: for<'a> IntoIterator,
fn fmt_list(self) -> FmtList<Self>where &'a Self: for<'a> IntoIterator,
Formats each item in a sequence. Read more
§impl<T> Pipe for Twhere
T: ?Sized,
impl<T> Pipe for Twhere T: ?Sized,
§fn pipe<R>(self, func: impl FnOnce(Self) -> R) -> Rwhere
Self: Sized,
fn pipe<R>(self, func: impl FnOnce(Self) -> R) -> Rwhere Self: Sized,
Pipes by value. This is generally the method you want to use. Read more
§fn pipe_ref<'a, R>(&'a self, func: impl FnOnce(&'a Self) -> R) -> Rwhere
R: 'a,
fn pipe_ref<'a, R>(&'a self, func: impl FnOnce(&'a Self) -> R) -> Rwhere R: 'a,
Borrows
self and passes that borrow into the pipe function. Read more§fn pipe_ref_mut<'a, R>(&'a mut self, func: impl FnOnce(&'a mut Self) -> R) -> Rwhere
R: 'a,
fn pipe_ref_mut<'a, R>(&'a mut self, func: impl FnOnce(&'a mut Self) -> R) -> Rwhere R: 'a,
Mutably borrows
self and passes that borrow into the pipe function. Read more§fn pipe_borrow<'a, B, R>(&'a self, func: impl FnOnce(&'a B) -> R) -> Rwhere
Self: Borrow<B>,
B: 'a + ?Sized,
R: 'a,
fn pipe_borrow<'a, B, R>(&'a self, func: impl FnOnce(&'a B) -> R) -> Rwhere Self: Borrow<B>, B: 'a + ?Sized, R: 'a,
§fn pipe_borrow_mut<'a, B, R>(
&'a mut self,
func: impl FnOnce(&'a mut B) -> R
) -> Rwhere
Self: BorrowMut<B>,
B: 'a + ?Sized,
R: 'a,
fn pipe_borrow_mut<'a, B, R>( &'a mut self, func: impl FnOnce(&'a mut B) -> R ) -> Rwhere Self: BorrowMut<B>, B: 'a + ?Sized, R: 'a,
§fn pipe_as_ref<'a, U, R>(&'a self, func: impl FnOnce(&'a U) -> R) -> Rwhere
Self: AsRef<U>,
U: 'a + ?Sized,
R: 'a,
fn pipe_as_ref<'a, U, R>(&'a self, func: impl FnOnce(&'a U) -> R) -> Rwhere Self: AsRef<U>, U: 'a + ?Sized, R: 'a,
Borrows
self, then passes self.as_ref() into the pipe function.§fn pipe_as_mut<'a, U, R>(&'a mut self, func: impl FnOnce(&'a mut U) -> R) -> Rwhere
Self: AsMut<U>,
U: 'a + ?Sized,
R: 'a,
fn pipe_as_mut<'a, U, R>(&'a mut self, func: impl FnOnce(&'a mut U) -> R) -> Rwhere Self: AsMut<U>, U: 'a + ?Sized, R: 'a,
Mutably borrows
self, then passes self.as_mut() into the pipe
function.§impl<T> Tap for T
impl<T> Tap for T
§fn tap_borrow<B>(self, func: impl FnOnce(&B)) -> Selfwhere
Self: Borrow<B>,
B: ?Sized,
fn tap_borrow<B>(self, func: impl FnOnce(&B)) -> Selfwhere Self: Borrow<B>, B: ?Sized,
Immutable access to the
Borrow<B> of a value. Read more§fn tap_borrow_mut<B>(self, func: impl FnOnce(&mut B)) -> Selfwhere
Self: BorrowMut<B>,
B: ?Sized,
fn tap_borrow_mut<B>(self, func: impl FnOnce(&mut B)) -> Selfwhere Self: BorrowMut<B>, B: ?Sized,
Mutable access to the
BorrowMut<B> of a value. Read more§fn tap_ref<R>(self, func: impl FnOnce(&R)) -> Selfwhere
Self: AsRef<R>,
R: ?Sized,
fn tap_ref<R>(self, func: impl FnOnce(&R)) -> Selfwhere Self: AsRef<R>, R: ?Sized,
Immutable access to the
AsRef<R> view of a value. Read more§fn tap_ref_mut<R>(self, func: impl FnOnce(&mut R)) -> Selfwhere
Self: AsMut<R>,
R: ?Sized,
fn tap_ref_mut<R>(self, func: impl FnOnce(&mut R)) -> Selfwhere Self: AsMut<R>, R: ?Sized,
Mutable access to the
AsMut<R> view of a value. Read more§fn tap_deref<T>(self, func: impl FnOnce(&T)) -> Selfwhere
Self: Deref<Target = T>,
T: ?Sized,
fn tap_deref<T>(self, func: impl FnOnce(&T)) -> Selfwhere Self: Deref<Target = T>, T: ?Sized,
Immutable access to the
Deref::Target of a value. Read more§fn tap_deref_mut<T>(self, func: impl FnOnce(&mut T)) -> Selfwhere
Self: DerefMut<Target = T> + Deref,
T: ?Sized,
fn tap_deref_mut<T>(self, func: impl FnOnce(&mut T)) -> Selfwhere Self: DerefMut<Target = T> + Deref, T: ?Sized,
Mutable access to the
Deref::Target of a value. Read more§fn tap_dbg(self, func: impl FnOnce(&Self)) -> Self
fn tap_dbg(self, func: impl FnOnce(&Self)) -> Self
Calls
.tap() only in debug builds, and is erased in release builds.§fn tap_mut_dbg(self, func: impl FnOnce(&mut Self)) -> Self
fn tap_mut_dbg(self, func: impl FnOnce(&mut Self)) -> Self
Calls
.tap_mut() only in debug builds, and is erased in release
builds.§fn tap_borrow_dbg<B>(self, func: impl FnOnce(&B)) -> Selfwhere
Self: Borrow<B>,
B: ?Sized,
fn tap_borrow_dbg<B>(self, func: impl FnOnce(&B)) -> Selfwhere Self: Borrow<B>, B: ?Sized,
Calls
.tap_borrow() only in debug builds, and is erased in release
builds.§fn tap_borrow_mut_dbg<B>(self, func: impl FnOnce(&mut B)) -> Selfwhere
Self: BorrowMut<B>,
B: ?Sized,
fn tap_borrow_mut_dbg<B>(self, func: impl FnOnce(&mut B)) -> Selfwhere Self: BorrowMut<B>, B: ?Sized,
Calls
.tap_borrow_mut() only in debug builds, and is erased in release
builds.§fn tap_ref_dbg<R>(self, func: impl FnOnce(&R)) -> Selfwhere
Self: AsRef<R>,
R: ?Sized,
fn tap_ref_dbg<R>(self, func: impl FnOnce(&R)) -> Selfwhere Self: AsRef<R>, R: ?Sized,
Calls
.tap_ref() only in debug builds, and is erased in release
builds.§fn tap_ref_mut_dbg<R>(self, func: impl FnOnce(&mut R)) -> Selfwhere
Self: AsMut<R>,
R: ?Sized,
fn tap_ref_mut_dbg<R>(self, func: impl FnOnce(&mut R)) -> Selfwhere Self: AsMut<R>, R: ?Sized,
Calls
.tap_ref_mut() only in debug builds, and is erased in release
builds.