pub enum LiteralInstance {
Bool(bool),
AbstractInt(i64),
AbstractFloat(f64),
I32(i32),
U32(u32),
F32(f32),
F16(f16),
I64(i64),
U64(u64),
F64(f64),
}Expand description
Instance of a numeric literal type.
Variants§
Bool(bool)
AbstractInt(i64)
AbstractFloat(f64)
I32(i32)
U32(u32)
F32(f32)
F16(f16)
I64(i64)
U64(u64)
F64(f64)
Implementations§
Source§impl LiteralInstance
impl LiteralInstance
Sourcepub fn zero_value(ty: &Type) -> Result<Self, Error>
pub fn zero_value(ty: &Type) -> Result<Self, Error>
The zero-value constructor.
Source§impl LiteralInstance
impl LiteralInstance
pub fn op_neg(&self) -> Result<Self, Error>
pub fn op_or(&self, rhs: &Self) -> Result<Self, Error>
pub fn op_and(&self, rhs: &Self) -> Result<Self, Error>
pub fn op_add(&self, rhs: &Self, stage: ShaderStage) -> Result<Self, Error>
pub fn op_sub(&self, rhs: &Self, stage: ShaderStage) -> Result<Self, Error>
pub fn op_mul(&self, rhs: &Self, stage: ShaderStage) -> Result<Self, Error>
pub fn op_div(&self, rhs: &Self, stage: ShaderStage) -> Result<Self, Error>
pub fn op_rem(&self, rhs: &Self, stage: ShaderStage) -> Result<Self, Error>
pub fn op_add_vec( &self, rhs: &VecInstance, stage: ShaderStage, ) -> Result<VecInstance, Error>
pub fn op_sub_vec( &self, rhs: &VecInstance, stage: ShaderStage, ) -> Result<VecInstance, Error>
pub fn op_mul_vec( &self, rhs: &VecInstance, stage: ShaderStage, ) -> Result<VecInstance, Error>
pub fn op_div_vec( &self, rhs: &VecInstance, stage: ShaderStage, ) -> Result<VecInstance, Error>
pub fn op_rem_vec( &self, rhs: &VecInstance, stage: ShaderStage, ) -> Result<VecInstance, Error>
pub fn op_mul_mat( &self, rhs: &MatInstance, stage: ShaderStage, ) -> Result<MatInstance, Error>
Source§impl LiteralInstance
impl LiteralInstance
pub fn op_eq(&self, rhs: &Self) -> Result<bool, Error>
pub fn op_ne(&self, rhs: &Self) -> Result<bool, Error>
pub fn op_lt(&self, rhs: &Self) -> Result<bool, Error>
pub fn op_le(&self, rhs: &Self) -> Result<bool, Error>
pub fn op_gt(&self, rhs: &Self) -> Result<bool, Error>
pub fn op_ge(&self, rhs: &Self) -> Result<bool, Error>
Source§impl LiteralInstance
impl LiteralInstance
pub fn op_bitnot(&self) -> Result<Self, Error>
Sourcepub fn op_bitor(&self, rhs: &Self) -> Result<Self, Error>
pub fn op_bitor(&self, rhs: &Self) -> Result<Self, Error>
Note: this is both the “bitwise OR” and “logical OR” operator.
Sourcepub fn op_bitand(&self, rhs: &Self) -> Result<Self, Error>
pub fn op_bitand(&self, rhs: &Self) -> Result<Self, Error>
Note: this is both the “bitwise AND” and “logical AND” operator.
pub fn op_bitxor(&self, rhs: &Self) -> Result<Self, Error>
pub fn op_shl(&self, rhs: &Self, stage: ShaderStage) -> Result<Self, Error>
pub fn op_shr(&self, rhs: &Self, stage: ShaderStage) -> Result<Self, Error>
Source§impl LiteralInstance
impl LiteralInstance
pub fn unwrap_bool(self) -> bool
pub fn unwrap_abstract_int(self) -> i64
pub fn unwrap_abstract_float(self) -> f64
pub fn unwrap_i32(self) -> i32
pub fn unwrap_u32(self) -> u32
pub fn unwrap_f32(self) -> f32
pub fn unwrap_f16(self) -> f16
pub fn unwrap_i64(self) -> i64
pub fn unwrap_u64(self) -> u64
pub fn unwrap_f64(self) -> f64
Trait Implementations§
Source§impl Clone for LiteralInstance
impl Clone for LiteralInstance
Source§fn clone(&self) -> LiteralInstance
fn clone(&self) -> LiteralInstance
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 Convert for LiteralInstance
impl Convert for LiteralInstance
Source§fn convert_to(&self, ty: &Type) -> Option<Self>
fn convert_to(&self, ty: &Type) -> Option<Self>
Convert an instance to another type, if a feasible conversion exists. Read more
Source§fn convert_inner_to(&self, ty: &Type) -> Option<Self>
fn convert_inner_to(&self, ty: &Type) -> Option<Self>
Convert an instance by changing its inner type to another. Read more
Source§fn concretize(&self) -> Option<Self>
fn concretize(&self) -> Option<Self>
Convert an abstract instance to a concrete type. Read more
impl Copy for LiteralInstance
Source§impl Debug for LiteralInstance
impl Debug for LiteralInstance
Source§impl Display for LiteralInstance
impl Display for LiteralInstance
Source§impl From<LiteralInstance> for Instance
impl From<LiteralInstance> for Instance
Source§fn from(value: LiteralInstance) -> Self
fn from(value: LiteralInstance) -> Self
Converts to this type from the input type.
Source§impl From<bool> for LiteralInstance
impl From<bool> for LiteralInstance
Source§impl From<f16> for LiteralInstance
impl From<f16> for LiteralInstance
Source§impl From<f32> for LiteralInstance
impl From<f32> for LiteralInstance
Source§impl From<f64> for LiteralInstance
impl From<f64> for LiteralInstance
Source§impl From<i32> for LiteralInstance
impl From<i32> for LiteralInstance
Source§impl From<i64> for LiteralInstance
impl From<i64> for LiteralInstance
Source§impl From<u32> for LiteralInstance
impl From<u32> for LiteralInstance
Source§impl PartialEq for LiteralInstance
impl PartialEq for LiteralInstance
impl StructuralPartialEq for LiteralInstance
Auto Trait Implementations§
impl Freeze for LiteralInstance
impl RefUnwindSafe for LiteralInstance
impl Send for LiteralInstance
impl Sync for LiteralInstance
impl Unpin for LiteralInstance
impl UnsafeUnpin for LiteralInstance
impl UnwindSafe for LiteralInstance
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<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
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> ⓘ
Converts
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> ⓘ
Converts
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 more