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_usize(&self, other: usize) -> Result<MaybeRelocatable, MathError>
pub fn sub_usize(&self, other: usize) -> Result<MaybeRelocatable, MathError>
Subs a usize from self
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_int(&self) -> Option<Felt252>
pub fn get_int(&self) -> Option<Felt252>
Returns 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>
+
operator.source§fn add(self, other: &MaybeRelocatable) -> Result<Relocatable, MathError>
fn add(self, other: &MaybeRelocatable) -> Result<Relocatable, MathError>
+
operation. Read moresource§impl Clone for MaybeRelocatable
impl Clone for MaybeRelocatable
source§fn clone(&self) -> MaybeRelocatable
fn clone(&self) -> MaybeRelocatable
1.0.0 · source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
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>,
source§impl Display for MaybeRelocatable
impl Display for MaybeRelocatable
source§impl From<&Felt> for MaybeRelocatable
impl From<&Felt> for MaybeRelocatable
source§impl From<&MaybeRelocatable> for MaybeRelocatable
impl From<&MaybeRelocatable> for MaybeRelocatable
source§fn from(other: &MaybeRelocatable) -> Self
fn from(other: &MaybeRelocatable) -> Self
source§impl From<&Relocatable> for MaybeRelocatable
impl From<&Relocatable> for MaybeRelocatable
source§fn from(rel: &Relocatable) -> Self
fn from(rel: &Relocatable) -> Self
source§impl From<Felt> for MaybeRelocatable
impl From<Felt> for MaybeRelocatable
source§impl From<MaybeRelocatable> for CairoArg
impl From<MaybeRelocatable> for CairoArg
source§fn from(other: MaybeRelocatable) -> Self
fn from(other: MaybeRelocatable) -> Self
source§impl From<Relocatable> for MaybeRelocatable
impl From<Relocatable> for MaybeRelocatable
source§fn from(rel: Relocatable) -> Self
fn from(rel: Relocatable) -> Self
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,
source§impl PartialEq for MaybeRelocatable
impl PartialEq for MaybeRelocatable
source§impl PartialOrd for MaybeRelocatable
impl PartialOrd for MaybeRelocatable
source§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
source§fn try_into(self) -> Result<Relocatable, MemoryError>
fn try_into(self) -> Result<Relocatable, MemoryError>
impl Eq for MaybeRelocatable
impl StructuralPartialEq for MaybeRelocatable
Auto Trait Implementations§
impl Freeze for MaybeRelocatable
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
source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
source§default unsafe fn clone_to_uninit(&self, dst: *mut T)
default unsafe fn clone_to_uninit(&self, dst: *mut T)
clone_to_uninit
)source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
source§impl<T> FmtForward for T
impl<T> FmtForward for T
source§fn fmt_binary(self) -> FmtBinary<Self>where
Self: Binary,
fn fmt_binary(self) -> FmtBinary<Self>where
Self: Binary,
self
to use its Binary
implementation when Debug
-formatted.source§fn fmt_display(self) -> FmtDisplay<Self>where
Self: Display,
fn fmt_display(self) -> FmtDisplay<Self>where
Self: Display,
self
to use its Display
implementation when
Debug
-formatted.source§fn fmt_lower_exp(self) -> FmtLowerExp<Self>where
Self: LowerExp,
fn fmt_lower_exp(self) -> FmtLowerExp<Self>where
Self: LowerExp,
self
to use its LowerExp
implementation when
Debug
-formatted.source§fn fmt_lower_hex(self) -> FmtLowerHex<Self>where
Self: LowerHex,
fn fmt_lower_hex(self) -> FmtLowerHex<Self>where
Self: LowerHex,
self
to use its LowerHex
implementation when
Debug
-formatted.source§fn fmt_octal(self) -> FmtOctal<Self>where
Self: Octal,
fn fmt_octal(self) -> FmtOctal<Self>where
Self: Octal,
self
to use its Octal
implementation when Debug
-formatted.source§fn fmt_pointer(self) -> FmtPointer<Self>where
Self: Pointer,
fn fmt_pointer(self) -> FmtPointer<Self>where
Self: Pointer,
self
to use its Pointer
implementation when
Debug
-formatted.source§fn fmt_upper_exp(self) -> FmtUpperExp<Self>where
Self: UpperExp,
fn fmt_upper_exp(self) -> FmtUpperExp<Self>where
Self: UpperExp,
self
to use its UpperExp
implementation when
Debug
-formatted.source§fn fmt_upper_hex(self) -> FmtUpperHex<Self>where
Self: UpperHex,
fn fmt_upper_hex(self) -> FmtUpperHex<Self>where
Self: UpperHex,
self
to use its UpperHex
implementation when
Debug
-formatted.source§impl<T> IntoEither for T
impl<T> IntoEither for T
source§fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
self
into a Left
variant of Either<Self, Self>
if into_left
is true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read moresource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
self
into a Left
variant of Either<Self, Self>
if into_left(&self)
returns true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read moresource§impl<T> Pipe for Twhere
T: ?Sized,
impl<T> Pipe for Twhere
T: ?Sized,
source§fn pipe<R>(self, func: impl FnOnce(Self) -> R) -> Rwhere
Self: Sized,
fn pipe<R>(self, func: impl FnOnce(Self) -> R) -> Rwhere
Self: Sized,
source§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,
self
and passes that borrow into the pipe function. Read moresource§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,
self
and passes that borrow into the pipe function. Read moresource§fn pipe_borrow<'a, B, R>(&'a self, func: impl FnOnce(&'a B) -> R) -> R
fn pipe_borrow<'a, B, R>(&'a self, func: impl FnOnce(&'a B) -> R) -> R
source§fn pipe_borrow_mut<'a, B, R>(
&'a mut self,
func: impl FnOnce(&'a mut B) -> R,
) -> R
fn pipe_borrow_mut<'a, B, R>( &'a mut self, func: impl FnOnce(&'a mut B) -> R, ) -> R
source§fn pipe_as_ref<'a, U, R>(&'a self, func: impl FnOnce(&'a U) -> R) -> R
fn pipe_as_ref<'a, U, R>(&'a self, func: impl FnOnce(&'a U) -> R) -> R
self
, then passes self.as_ref()
into the pipe function.source§fn pipe_as_mut<'a, U, R>(&'a mut self, func: impl FnOnce(&'a mut U) -> R) -> R
fn pipe_as_mut<'a, U, R>(&'a mut self, func: impl FnOnce(&'a mut U) -> R) -> R
self
, then passes self.as_mut()
into the pipe
function.source§fn pipe_deref<'a, T, R>(&'a self, func: impl FnOnce(&'a T) -> R) -> R
fn pipe_deref<'a, T, R>(&'a self, func: impl FnOnce(&'a T) -> R) -> R
self
, then passes self.deref()
into the pipe function.source§impl<T> Tap for T
impl<T> Tap for T
source§fn tap_borrow<B>(self, func: impl FnOnce(&B)) -> Self
fn tap_borrow<B>(self, func: impl FnOnce(&B)) -> Self
Borrow<B>
of a value. Read moresource§fn tap_borrow_mut<B>(self, func: impl FnOnce(&mut B)) -> Self
fn tap_borrow_mut<B>(self, func: impl FnOnce(&mut B)) -> Self
BorrowMut<B>
of a value. Read moresource§fn tap_ref<R>(self, func: impl FnOnce(&R)) -> Self
fn tap_ref<R>(self, func: impl FnOnce(&R)) -> Self
AsRef<R>
view of a value. Read moresource§fn tap_ref_mut<R>(self, func: impl FnOnce(&mut R)) -> Self
fn tap_ref_mut<R>(self, func: impl FnOnce(&mut R)) -> Self
AsMut<R>
view of a value. Read moresource§fn tap_deref<T>(self, func: impl FnOnce(&T)) -> Self
fn tap_deref<T>(self, func: impl FnOnce(&T)) -> Self
Deref::Target
of a value. Read moresource§fn tap_deref_mut<T>(self, func: impl FnOnce(&mut T)) -> Self
fn tap_deref_mut<T>(self, func: impl FnOnce(&mut T)) -> Self
Deref::Target
of a value. Read moresource§fn tap_dbg(self, func: impl FnOnce(&Self)) -> Self
fn tap_dbg(self, func: impl FnOnce(&Self)) -> Self
.tap()
only in debug builds, and is erased in release builds.source§fn tap_mut_dbg(self, func: impl FnOnce(&mut Self)) -> Self
fn tap_mut_dbg(self, func: impl FnOnce(&mut Self)) -> Self
.tap_mut()
only in debug builds, and is erased in release
builds.source§fn tap_borrow_dbg<B>(self, func: impl FnOnce(&B)) -> Self
fn tap_borrow_dbg<B>(self, func: impl FnOnce(&B)) -> Self
.tap_borrow()
only in debug builds, and is erased in release
builds.source§fn tap_borrow_mut_dbg<B>(self, func: impl FnOnce(&mut B)) -> Self
fn tap_borrow_mut_dbg<B>(self, func: impl FnOnce(&mut B)) -> Self
.tap_borrow_mut()
only in debug builds, and is erased in release
builds.source§fn tap_ref_dbg<R>(self, func: impl FnOnce(&R)) -> Self
fn tap_ref_dbg<R>(self, func: impl FnOnce(&R)) -> Self
.tap_ref()
only in debug builds, and is erased in release
builds.source§fn tap_ref_mut_dbg<R>(self, func: impl FnOnce(&mut R)) -> Self
fn tap_ref_mut_dbg<R>(self, func: impl FnOnce(&mut R)) -> Self
.tap_ref_mut()
only in debug builds, and is erased in release
builds.source§fn tap_deref_dbg<T>(self, func: impl FnOnce(&T)) -> Self
fn tap_deref_dbg<T>(self, func: impl FnOnce(&T)) -> Self
.tap_deref()
only in debug builds, and is erased in release
builds.