pub enum ArithmeticValue {
I32(i32),
I64(i64),
U32(u32),
U64(u64),
F32(f32),
F64(f64),
Bool(bool),
Symbol(u32),
String(String),
}Expand description
A typed scalar accepted by the arithmetic expression evaluator.
Variants§
I32(i32)
Signed 32-bit integer.
I64(i64)
Signed 64-bit integer.
U32(u32)
Unsigned 32-bit integer.
U64(u64)
Unsigned 64-bit integer.
F32(f32)
32-bit floating-point value.
F64(f64)
64-bit floating-point value.
Bool(bool)
Boolean value.
Symbol(u32)
Interned symbol identifier.
String(String)
String value.
Implementations§
Source§impl ArithmeticValue
impl ArithmeticValue
Sourcepub fn from_term(term: &Term) -> Result<Self>
pub fn from_term(term: &Term) -> Result<Self>
Convert an AST term into a scalar value.
Integer and float terms use the AST literal types (i64 and f64). Callers
with schema information can construct a narrower typed variant directly.
Sourcepub fn scalar_type(&self) -> Option<ScalarType>
pub fn scalar_type(&self) -> Option<ScalarType>
Return the runtime scalar type represented by this value.
Source-only strings have no runtime scalar type until they are interned as
symbols by ArithmeticValue::from_typed_term.
Sourcepub fn from_typed_term(term: &Term, expected: ScalarType) -> Result<Self>
pub fn from_typed_term(term: &Term, expected: ScalarType) -> Result<Self>
Convert an AST scalar term using the same declared-type conversion as lowering.
Trait Implementations§
Source§impl Clone for ArithmeticValue
impl Clone for ArithmeticValue
Source§fn clone(&self) -> ArithmeticValue
fn clone(&self) -> ArithmeticValue
Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · 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 ArithmeticValue
impl Debug for ArithmeticValue
Source§impl PartialEq for ArithmeticValue
impl PartialEq for ArithmeticValue
Source§fn eq(&self, other: &ArithmeticValue) -> bool
fn eq(&self, other: &ArithmeticValue) -> bool
Tests for
self and other values to be equal, and is used by ==.impl StructuralPartialEq for ArithmeticValue
Auto Trait Implementations§
impl Freeze for ArithmeticValue
impl RefUnwindSafe for ArithmeticValue
impl Send for ArithmeticValue
impl Sync for ArithmeticValue
impl Unpin for ArithmeticValue
impl UnsafeUnpin for ArithmeticValue
impl UnwindSafe for ArithmeticValue
Blanket Implementations§
impl<T> Allocation for T
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