tvm_tirx::ir::expr

Struct Expr

Source
#[repr(C)]
pub struct Expr { /* private fields */ }

Implementations§

Source§

impl Expr

Source

pub fn new(loc: impl Into<Location>, ty: impl Into<Type>) -> Self

Lossless complete-field allocation.

Source§

impl Expr

Source

pub fn subscript( &self, indices: impl IntoIterator<Item = Subscript>, loc: impl Into<Location>, ) -> Result<Any>

self[indices], as the subscript rule of its type realizes it (ir.SubscriptExprRealize).

Trait Implementations§

Source§

impl Add<&Expr> for f32

Source§

type Output = ExprResult

The resulting type after applying the + operator.
Source§

fn add(self, rhs: &Expr) -> Self::Output

Performs the + operation. Read more
Source§

impl Add<&Expr> for f64

Source§

type Output = ExprResult

The resulting type after applying the + operator.
Source§

fn add(self, rhs: &Expr) -> Self::Output

Performs the + operation. Read more
Source§

impl Add<&Expr> for i32

Source§

type Output = ExprResult

The resulting type after applying the + operator.
Source§

fn add(self, rhs: &Expr) -> Self::Output

Performs the + operation. Read more
Source§

impl Add<&Expr> for i64

Source§

type Output = ExprResult

The resulting type after applying the + operator.
Source§

fn add(self, rhs: &Expr) -> Self::Output

Performs the + operation. Read more
Source§

impl Add<Expr> for f32

Source§

type Output = ExprResult

The resulting type after applying the + operator.
Source§

fn add(self, rhs: Expr) -> Self::Output

Performs the + operation. Read more
Source§

impl Add<Expr> for f64

Source§

type Output = ExprResult

The resulting type after applying the + operator.
Source§

fn add(self, rhs: Expr) -> Self::Output

Performs the + operation. Read more
Source§

impl Add<Expr> for i32

Source§

type Output = ExprResult

The resulting type after applying the + operator.
Source§

fn add(self, rhs: Expr) -> Self::Output

Performs the + operation. Read more
Source§

impl Add<Expr> for i64

Source§

type Output = ExprResult

The resulting type after applying the + operator.
Source§

fn add(self, rhs: Expr) -> Self::Output

Performs the + operation. Read more
Source§

impl<R: Operand> Add<R> for &Expr

Source§

type Output = ExprResult

The resulting type after applying the + operator.
Source§

fn add(self, rhs: R) -> Self::Output

Performs the + operation. Read more
Source§

impl<R: Operand> Add<R> for Expr

Source§

type Output = ExprResult

The resulting type after applying the + operator.
Source§

fn add(self, rhs: R) -> Self::Output

Performs the + operation. Read more
Source§

impl AnyCompatible for Expr

Source§

unsafe fn is_undefined(field: *const Self) -> bool

Whether field, which holds a value of this type or all-zero bytes, holds all-zero bytes that are no value of this type, as a null object reference, a string of type index None or a zero device type: a field that a creator left undefined for reflection to set, as C++ UnsafeInit leaves a reference undefined (null). Unlike a C++ undefined reference, it is no value; a nullable reference is Option<T>, whose None is a defined value. Read more
Source§

fn type_str() -> String

the type string of the type
Source§

unsafe fn copy_to_any_view(src: &Self, data: &mut TVMFFIAny)

the value to copy to TVMFFIAny
Source§

unsafe fn check_any_strict(data: &TVMFFIAny) -> bool

Source§

unsafe fn copy_from_any_view_after_check(data: &TVMFFIAny) -> Self

Copy value from TVMFFIAny after checking caller must ensure that the value is compatible with the type
Source§

unsafe fn move_to_any(src: Self, data: &mut TVMFFIAny)

consume the value to move to Any
Source§

unsafe fn move_from_any_after_check(data: &mut TVMFFIAny) -> Self

the value to move from TVMFFIAny NOTE: pay very careful attention to avoid memory leak! Read more
Source§

unsafe fn try_cast_from_any_view(data: &TVMFFIAny) -> Result<Self, ()>

try to cast the value from AnyView
Source§

fn get_mismatch_type_info(data: &TVMFFIAny) -> String

Get the type key of a type when TryCastFromAnyView fails.
Source§

fn type_schema() -> String

The type schema of the type: the JSON object C++ TypeTraits<T>::TypeSchema writes, which the type schemas of functions and fields embed. Read more
Source§

fn to_any(&self) -> Any

Borrow self into an owned Any, increfing object-backed values. Read more
Source§

impl<'a> ArgIntoRef for &'a Expr

Source§

type Target = Expr

Source§

fn to_ref(&self) -> &Self::Target

Source§

impl ArgIntoRef for Expr

Source§

type Target = Expr

Source§

fn to_ref(&self) -> &Self::Target

Source§

impl BitAnd<&Expr> for f32

Source§

type Output = ExprResult

The resulting type after applying the & operator.
Source§

fn bitand(self, rhs: &Expr) -> Self::Output

Performs the & operation. Read more
Source§

impl BitAnd<&Expr> for f64

Source§

type Output = ExprResult

The resulting type after applying the & operator.
Source§

fn bitand(self, rhs: &Expr) -> Self::Output

Performs the & operation. Read more
Source§

impl BitAnd<&Expr> for i32

Source§

type Output = ExprResult

The resulting type after applying the & operator.
Source§

fn bitand(self, rhs: &Expr) -> Self::Output

Performs the & operation. Read more
Source§

impl BitAnd<&Expr> for i64

Source§

type Output = ExprResult

The resulting type after applying the & operator.
Source§

fn bitand(self, rhs: &Expr) -> Self::Output

Performs the & operation. Read more
Source§

impl BitAnd<Expr> for f32

Source§

type Output = ExprResult

The resulting type after applying the & operator.
Source§

fn bitand(self, rhs: Expr) -> Self::Output

Performs the & operation. Read more
Source§

impl BitAnd<Expr> for f64

Source§

type Output = ExprResult

The resulting type after applying the & operator.
Source§

fn bitand(self, rhs: Expr) -> Self::Output

Performs the & operation. Read more
Source§

impl BitAnd<Expr> for i32

Source§

type Output = ExprResult

The resulting type after applying the & operator.
Source§

fn bitand(self, rhs: Expr) -> Self::Output

Performs the & operation. Read more
Source§

impl BitAnd<Expr> for i64

Source§

type Output = ExprResult

The resulting type after applying the & operator.
Source§

fn bitand(self, rhs: Expr) -> Self::Output

Performs the & operation. Read more
Source§

impl<R: Operand> BitAnd<R> for &Expr

Source§

type Output = ExprResult

The resulting type after applying the & operator.
Source§

fn bitand(self, rhs: R) -> Self::Output

Performs the & operation. Read more
Source§

impl<R: Operand> BitAnd<R> for Expr

Source§

type Output = ExprResult

The resulting type after applying the & operator.
Source§

fn bitand(self, rhs: R) -> Self::Output

Performs the & operation. Read more
Source§

impl BitOr<&Expr> for f32

Source§

type Output = ExprResult

The resulting type after applying the | operator.
Source§

fn bitor(self, rhs: &Expr) -> Self::Output

Performs the | operation. Read more
Source§

impl BitOr<&Expr> for f64

Source§

type Output = ExprResult

The resulting type after applying the | operator.
Source§

fn bitor(self, rhs: &Expr) -> Self::Output

Performs the | operation. Read more
Source§

impl BitOr<&Expr> for i32

Source§

type Output = ExprResult

The resulting type after applying the | operator.
Source§

fn bitor(self, rhs: &Expr) -> Self::Output

Performs the | operation. Read more
Source§

impl BitOr<&Expr> for i64

Source§

type Output = ExprResult

The resulting type after applying the | operator.
Source§

fn bitor(self, rhs: &Expr) -> Self::Output

Performs the | operation. Read more
Source§

impl BitOr<Expr> for f32

Source§

type Output = ExprResult

The resulting type after applying the | operator.
Source§

fn bitor(self, rhs: Expr) -> Self::Output

Performs the | operation. Read more
Source§

impl BitOr<Expr> for f64

Source§

type Output = ExprResult

The resulting type after applying the | operator.
Source§

fn bitor(self, rhs: Expr) -> Self::Output

Performs the | operation. Read more
Source§

impl BitOr<Expr> for i32

Source§

type Output = ExprResult

The resulting type after applying the | operator.
Source§

fn bitor(self, rhs: Expr) -> Self::Output

Performs the | operation. Read more
Source§

impl BitOr<Expr> for i64

Source§

type Output = ExprResult

The resulting type after applying the | operator.
Source§

fn bitor(self, rhs: Expr) -> Self::Output

Performs the | operation. Read more
Source§

impl<R: Operand> BitOr<R> for &Expr

Source§

type Output = ExprResult

The resulting type after applying the | operator.
Source§

fn bitor(self, rhs: R) -> Self::Output

Performs the | operation. Read more
Source§

impl<R: Operand> BitOr<R> for Expr

Source§

type Output = ExprResult

The resulting type after applying the | operator.
Source§

fn bitor(self, rhs: R) -> Self::Output

Performs the | operation. Read more
Source§

impl BitXor<&Expr> for f32

Source§

type Output = ExprResult

The resulting type after applying the ^ operator.
Source§

fn bitxor(self, rhs: &Expr) -> Self::Output

Performs the ^ operation. Read more
Source§

impl BitXor<&Expr> for f64

Source§

type Output = ExprResult

The resulting type after applying the ^ operator.
Source§

fn bitxor(self, rhs: &Expr) -> Self::Output

Performs the ^ operation. Read more
Source§

impl BitXor<&Expr> for i32

Source§

type Output = ExprResult

The resulting type after applying the ^ operator.
Source§

fn bitxor(self, rhs: &Expr) -> Self::Output

Performs the ^ operation. Read more
Source§

impl BitXor<&Expr> for i64

Source§

type Output = ExprResult

The resulting type after applying the ^ operator.
Source§

fn bitxor(self, rhs: &Expr) -> Self::Output

Performs the ^ operation. Read more
Source§

impl BitXor<Expr> for f32

Source§

type Output = ExprResult

The resulting type after applying the ^ operator.
Source§

fn bitxor(self, rhs: Expr) -> Self::Output

Performs the ^ operation. Read more
Source§

impl BitXor<Expr> for f64

Source§

type Output = ExprResult

The resulting type after applying the ^ operator.
Source§

fn bitxor(self, rhs: Expr) -> Self::Output

Performs the ^ operation. Read more
Source§

impl BitXor<Expr> for i32

Source§

type Output = ExprResult

The resulting type after applying the ^ operator.
Source§

fn bitxor(self, rhs: Expr) -> Self::Output

Performs the ^ operation. Read more
Source§

impl BitXor<Expr> for i64

Source§

type Output = ExprResult

The resulting type after applying the ^ operator.
Source§

fn bitxor(self, rhs: Expr) -> Self::Output

Performs the ^ operation. Read more
Source§

impl<R: Operand> BitXor<R> for &Expr

Source§

type Output = ExprResult

The resulting type after applying the ^ operator.
Source§

fn bitxor(self, rhs: R) -> Self::Output

Performs the ^ operation. Read more
Source§

impl<R: Operand> BitXor<R> for Expr

Source§

type Output = ExprResult

The resulting type after applying the ^ operator.
Source§

fn bitxor(self, rhs: R) -> Self::Output

Performs the ^ operation. Read more
Source§

impl Clone for Expr

Source§

fn clone(&self) -> Expr

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 Deref for Expr

Source§

type Target = ExprObj

The resulting type after dereferencing.
Source§

fn deref(&self) -> &ExprObj

Dereferences the value.
Source§

impl From<&Add> for Expr

Source§

fn from(value: &Add) -> Self

Converts to this type from the input type.
Source§

impl From<&And> for Expr

Source§

fn from(value: &And) -> Self

Converts to this type from the input type.
Source§

impl From<&BaseFunc> for Expr

Source§

fn from(value: &BaseFunc) -> Self

Converts to this type from the input type.
Source§

impl From<&BitwiseAnd> for Expr

Source§

fn from(value: &BitwiseAnd) -> Self

Converts to this type from the input type.
Source§

impl From<&BitwiseNot> for Expr

Source§

fn from(value: &BitwiseNot) -> Self

Converts to this type from the input type.
Source§

impl From<&BitwiseOr> for Expr

Source§

fn from(value: &BitwiseOr) -> Self

Converts to this type from the input type.
Source§

impl From<&BitwiseXor> for Expr

Source§

fn from(value: &BitwiseXor) -> Self

Converts to this type from the input type.
Source§

impl From<&Broadcast> for Expr

Source§

fn from(value: &Broadcast) -> Self

Converts to this type from the input type.
Source§

impl From<&Call> for Expr

Source§

fn from(value: &Call) -> Self

Converts to this type from the input type.
Source§

impl From<&CanonicalExpr> for Expr

Source§

fn from(value: &CanonicalExpr) -> Self

Converts to this type from the input type.
Source§

impl From<&Cast> for Expr

Source§

fn from(value: &Cast) -> Self

Converts to this type from the input type.
Source§

impl From<&Constant> for Expr

Source§

fn from(value: &Constant) -> Self

Converts to this type from the input type.
Source§

impl From<&DataTypeImm> for Expr

Source§

fn from(value: &DataTypeImm) -> Self

Converts to this type from the input type.
Source§

impl From<&Div> for Expr

Source§

fn from(value: &Div) -> Self

Converts to this type from the input type.
Source§

impl From<&EQ> for Expr

Source§

fn from(value: &EQ) -> Self

Converts to this type from the input type.
Source§

impl From<&Expr> for Expr

Source§

fn from(value: &Expr) -> Self

Converts to this type from the input type.
Source§

impl From<&Expr> for ExprResult

Source§

fn from(value: &Expr) -> Self

Converts to this type from the input type.
Source§

impl From<&FloatImm> for Expr

Source§

fn from(value: &FloatImm) -> Self

Converts to this type from the input type.
Source§

impl From<&FloorDiv> for Expr

Source§

fn from(value: &FloorDiv) -> Self

Converts to this type from the input type.
Source§

impl From<&FloorMod> for Expr

Source§

fn from(value: &FloorMod) -> Self

Converts to this type from the input type.
Source§

impl From<&Function> for Expr

Source§

fn from(value: &Function) -> Self

Converts to this type from the input type.
Source§

impl From<&GE> for Expr

Source§

fn from(value: &GE) -> Self

Converts to this type from the input type.
Source§

impl From<&GT> for Expr

Source§

fn from(value: &GT) -> Self

Converts to this type from the input type.
Source§

impl From<&GenericConst> for Expr

Source§

fn from(value: &GenericConst) -> Self

Converts to this type from the input type.
Source§

impl From<&GlobalVar> for Expr

Source§

fn from(value: &GlobalVar) -> Self

Converts to this type from the input type.
Source§

impl From<&IntExpr> for Expr

Source§

fn from(value: &IntExpr) -> Self

Converts to this type from the input type.
Source§

impl From<&IntImm> for Expr

Source§

fn from(value: &IntImm) -> Self

Converts to this type from the input type.
Source§

impl From<&IterMapExpr> for Expr

Source§

fn from(value: &IterMapExpr) -> Self

Converts to this type from the input type.
Source§

impl From<&IterSplitExpr> for Expr

Source§

fn from(value: &IterSplitExpr) -> Self

Converts to this type from the input type.
Source§

impl From<&IterSumExpr> for Expr

Source§

fn from(value: &IterSumExpr) -> Self

Converts to this type from the input type.
Source§

impl From<&LE> for Expr

Source§

fn from(value: &LE) -> Self

Converts to this type from the input type.
Source§

impl From<&LShift> for Expr

Source§

fn from(value: &LShift) -> Self

Converts to this type from the input type.
Source§

impl From<&LT> for Expr

Source§

fn from(value: &LT) -> Self

Converts to this type from the input type.
Source§

impl From<&LambdaExpr> for Expr

Source§

fn from(value: &LambdaExpr) -> Self

Converts to this type from the input type.
Source§

impl From<&Let> for Expr

Source§

fn from(value: &Let) -> Self

Converts to this type from the input type.
Source§

impl From<&Max> for Expr

Source§

fn from(value: &Max) -> Self

Converts to this type from the input type.
Source§

impl From<&Min> for Expr

Source§

fn from(value: &Min) -> Self

Converts to this type from the input type.
Source§

impl From<&Mod> for Expr

Source§

fn from(value: &Mod) -> Self

Converts to this type from the input type.
Source§

impl From<&Mul> for Expr

Source§

fn from(value: &Mul) -> Self

Converts to this type from the input type.
Source§

impl From<&NE> for Expr

Source§

fn from(value: &NE) -> Self

Converts to this type from the input type.
Source§

impl From<&Not> for Expr

Source§

fn from(value: &Not) -> Self

Converts to this type from the input type.
Source§

impl From<&Op> for Expr

Source§

fn from(value: &Op) -> Self

Converts to this type from the input type.
Source§

impl From<&OpaqueExpr> for Expr

Source§

fn from(value: &OpaqueExpr) -> Self

Converts to this type from the input type.
Source§

impl From<&Or> for Expr

Source§

fn from(value: &Or) -> Self

Converts to this type from the input type.
Source§

impl From<&PrimExpr> for Expr

Source§

fn from(value: &PrimExpr) -> Self

Converts to this type from the input type.
Source§

impl From<&RShift> for Expr

Source§

fn from(value: &RShift) -> Self

Converts to this type from the input type.
Source§

impl From<&Ramp> for Expr

Source§

fn from(value: &Ramp) -> Self

Converts to this type from the input type.
Source§

impl From<&Select> for Expr

Source§

fn from(value: &Select) -> Self

Converts to this type from the input type.
Source§

impl From<&Shuffle> for Expr

Source§

fn from(value: &Shuffle) -> Self

Converts to this type from the input type.
Source§

impl From<&SplitExpr> for Expr

Source§

fn from(value: &SplitExpr) -> Self

Converts to this type from the input type.
Source§

impl From<&StagingExpr> for Expr

Source§

fn from(value: &StagingExpr) -> Self

Converts to this type from the input type.
Source§

impl From<&StringImm> for Expr

Source§

fn from(value: &StringImm) -> Self

Converts to this type from the input type.
Source§

impl From<&Sub> for Expr

Source§

fn from(value: &Sub) -> Self

Converts to this type from the input type.
Source§

impl From<&SumExpr> for Expr

Source§

fn from(value: &SumExpr) -> Self

Converts to this type from the input type.
Source§

impl From<&TensorLoad> for Expr

Source§

fn from(value: &TensorLoad) -> Self

Converts to this type from the input type.
Source§

impl From<&TensorRegion> for Expr

Source§

fn from(value: &TensorRegion) -> Self

Converts to this type from the input type.
Source§

impl From<&Tuple> for Expr

Source§

fn from(value: &Tuple) -> Self

Converts to this type from the input type.
Source§

impl From<&TupleGetItem> for Expr

Source§

fn from(value: &TupleGetItem) -> Self

Converts to this type from the input type.
Source§

impl From<&Var> for Expr

Source§

fn from(value: &Var) -> Self

Converts to this type from the input type.
Source§

impl From<Add> for Expr

Source§

fn from(value: Add) -> Self

Converts to this type from the input type.
Source§

impl From<And> for Expr

Source§

fn from(value: And) -> Self

Converts to this type from the input type.
Source§

impl From<BaseFunc> for Expr

Source§

fn from(value: BaseFunc) -> Self

Converts to this type from the input type.
Source§

impl From<BitwiseAnd> for Expr

Source§

fn from(value: BitwiseAnd) -> Self

Converts to this type from the input type.
Source§

impl From<BitwiseNot> for Expr

Source§

fn from(value: BitwiseNot) -> Self

Converts to this type from the input type.
Source§

impl From<BitwiseOr> for Expr

Source§

fn from(value: BitwiseOr) -> Self

Converts to this type from the input type.
Source§

impl From<BitwiseXor> for Expr

Source§

fn from(value: BitwiseXor) -> Self

Converts to this type from the input type.
Source§

impl From<Broadcast> for Expr

Source§

fn from(value: Broadcast) -> Self

Converts to this type from the input type.
Source§

impl From<Call> for Expr

Source§

fn from(value: Call) -> Self

Converts to this type from the input type.
Source§

impl From<CanonicalExpr> for Expr

Source§

fn from(value: CanonicalExpr) -> Self

Converts to this type from the input type.
Source§

impl From<Cast> for Expr

Source§

fn from(value: Cast) -> Self

Converts to this type from the input type.
Source§

impl From<Constant> for Expr

Source§

fn from(value: Constant) -> Self

Converts to this type from the input type.
Source§

impl From<DataTypeImm> for Expr

Source§

fn from(value: DataTypeImm) -> Self

Converts to this type from the input type.
Source§

impl From<Div> for Expr

Source§

fn from(value: Div) -> Self

Converts to this type from the input type.
Source§

impl From<EQ> for Expr

Source§

fn from(value: EQ) -> Self

Converts to this type from the input type.
Source§

impl From<Expr> for ExprResult

Source§

fn from(value: Expr) -> Self

Converts to this type from the input type.
Source§

impl From<FloatImm> for Expr

Source§

fn from(value: FloatImm) -> Self

Converts to this type from the input type.
Source§

impl From<FloorDiv> for Expr

Source§

fn from(value: FloorDiv) -> Self

Converts to this type from the input type.
Source§

impl From<FloorMod> for Expr

Source§

fn from(value: FloorMod) -> Self

Converts to this type from the input type.
Source§

impl From<Function> for Expr

Source§

fn from(value: Function) -> Self

Converts to this type from the input type.
Source§

impl From<GE> for Expr

Source§

fn from(value: GE) -> Self

Converts to this type from the input type.
Source§

impl From<GT> for Expr

Source§

fn from(value: GT) -> Self

Converts to this type from the input type.
Source§

impl From<GenericConst> for Expr

Source§

fn from(value: GenericConst) -> Self

Converts to this type from the input type.
Source§

impl From<GlobalVar> for Expr

Source§

fn from(value: GlobalVar) -> Self

Converts to this type from the input type.
Source§

impl From<IntExpr> for Expr

Source§

fn from(value: IntExpr) -> Self

Converts to this type from the input type.
Source§

impl From<IntImm> for Expr

Source§

fn from(value: IntImm) -> Self

Converts to this type from the input type.
Source§

impl From<IterMapExpr> for Expr

Source§

fn from(value: IterMapExpr) -> Self

Converts to this type from the input type.
Source§

impl From<IterSplitExpr> for Expr

Source§

fn from(value: IterSplitExpr) -> Self

Converts to this type from the input type.
Source§

impl From<IterSumExpr> for Expr

Source§

fn from(value: IterSumExpr) -> Self

Converts to this type from the input type.
Source§

impl From<LE> for Expr

Source§

fn from(value: LE) -> Self

Converts to this type from the input type.
Source§

impl From<LShift> for Expr

Source§

fn from(value: LShift) -> Self

Converts to this type from the input type.
Source§

impl From<LT> for Expr

Source§

fn from(value: LT) -> Self

Converts to this type from the input type.
Source§

impl From<LambdaExpr> for Expr

Source§

fn from(value: LambdaExpr) -> Self

Converts to this type from the input type.
Source§

impl From<Let> for Expr

Source§

fn from(value: Let) -> Self

Converts to this type from the input type.
Source§

impl From<Max> for Expr

Source§

fn from(value: Max) -> Self

Converts to this type from the input type.
Source§

impl From<Min> for Expr

Source§

fn from(value: Min) -> Self

Converts to this type from the input type.
Source§

impl From<Mod> for Expr

Source§

fn from(value: Mod) -> Self

Converts to this type from the input type.
Source§

impl From<Mul> for Expr

Source§

fn from(value: Mul) -> Self

Converts to this type from the input type.
Source§

impl From<NE> for Expr

Source§

fn from(value: NE) -> Self

Converts to this type from the input type.
Source§

impl From<Not> for Expr

Source§

fn from(value: Not) -> Self

Converts to this type from the input type.
Source§

impl From<Op> for Expr

Source§

fn from(value: Op) -> Self

Converts to this type from the input type.
Source§

impl From<OpaqueExpr> for Expr

Source§

fn from(value: OpaqueExpr) -> Self

Converts to this type from the input type.
Source§

impl From<Or> for Expr

Source§

fn from(value: Or) -> Self

Converts to this type from the input type.
Source§

impl From<PrimExpr> for Expr

Source§

fn from(value: PrimExpr) -> Self

Converts to this type from the input type.
Source§

impl From<RShift> for Expr

Source§

fn from(value: RShift) -> Self

Converts to this type from the input type.
Source§

impl From<Ramp> for Expr

Source§

fn from(value: Ramp) -> Self

Converts to this type from the input type.
Source§

impl From<Select> for Expr

Source§

fn from(value: Select) -> Self

Converts to this type from the input type.
Source§

impl From<Shuffle> for Expr

Source§

fn from(value: Shuffle) -> Self

Converts to this type from the input type.
Source§

impl From<SplitExpr> for Expr

Source§

fn from(value: SplitExpr) -> Self

Converts to this type from the input type.
Source§

impl From<StagingExpr> for Expr

Source§

fn from(value: StagingExpr) -> Self

Converts to this type from the input type.
Source§

impl From<StringImm> for Expr

Source§

fn from(value: StringImm) -> Self

Converts to this type from the input type.
Source§

impl From<Sub> for Expr

Source§

fn from(value: Sub) -> Self

Converts to this type from the input type.
Source§

impl From<SumExpr> for Expr

Source§

fn from(value: SumExpr) -> Self

Converts to this type from the input type.
Source§

impl From<TensorLoad> for Expr

Source§

fn from(value: TensorLoad) -> Self

Converts to this type from the input type.
Source§

impl From<TensorRegion> for Expr

Source§

fn from(value: TensorRegion) -> Self

Converts to this type from the input type.
Source§

impl From<Tuple> for Expr

Source§

fn from(value: Tuple) -> Self

Converts to this type from the input type.
Source§

impl From<TupleGetItem> for Expr

Source§

fn from(value: TupleGetItem) -> Self

Converts to this type from the input type.
Source§

impl From<Var> for Expr

Source§

fn from(value: Var) -> Self

Converts to this type from the input type.
Source§

impl From<bool> for Expr

Source§

fn from(value: bool) -> Self

Converts to this type from the input type.
Source§

impl From<f32> for Expr

Source§

fn from(value: f32) -> Self

Converts to this type from the input type.
Source§

impl From<f64> for Expr

Source§

fn from(value: f64) -> Self

Converts to this type from the input type.
Source§

impl From<i32> for Expr

Source§

fn from(value: i32) -> Self

Converts to this type from the input type.
Source§

impl From<i64> for Expr

Source§

fn from(value: i64) -> Self

Converts to this type from the input type.
Source§

impl<'a> IntoArgHolder for &'a Expr

Source§

impl IntoArgHolder for Expr

Source§

impl Mul<&Expr> for f32

Source§

type Output = ExprResult

The resulting type after applying the * operator.
Source§

fn mul(self, rhs: &Expr) -> Self::Output

Performs the * operation. Read more
Source§

impl Mul<&Expr> for f64

Source§

type Output = ExprResult

The resulting type after applying the * operator.
Source§

fn mul(self, rhs: &Expr) -> Self::Output

Performs the * operation. Read more
Source§

impl Mul<&Expr> for i32

Source§

type Output = ExprResult

The resulting type after applying the * operator.
Source§

fn mul(self, rhs: &Expr) -> Self::Output

Performs the * operation. Read more
Source§

impl Mul<&Expr> for i64

Source§

type Output = ExprResult

The resulting type after applying the * operator.
Source§

fn mul(self, rhs: &Expr) -> Self::Output

Performs the * operation. Read more
Source§

impl Mul<Expr> for f32

Source§

type Output = ExprResult

The resulting type after applying the * operator.
Source§

fn mul(self, rhs: Expr) -> Self::Output

Performs the * operation. Read more
Source§

impl Mul<Expr> for f64

Source§

type Output = ExprResult

The resulting type after applying the * operator.
Source§

fn mul(self, rhs: Expr) -> Self::Output

Performs the * operation. Read more
Source§

impl Mul<Expr> for i32

Source§

type Output = ExprResult

The resulting type after applying the * operator.
Source§

fn mul(self, rhs: Expr) -> Self::Output

Performs the * operation. Read more
Source§

impl Mul<Expr> for i64

Source§

type Output = ExprResult

The resulting type after applying the * operator.
Source§

fn mul(self, rhs: Expr) -> Self::Output

Performs the * operation. Read more
Source§

impl<R: Operand> Mul<R> for &Expr

Source§

type Output = ExprResult

The resulting type after applying the * operator.
Source§

fn mul(self, rhs: R) -> Self::Output

Performs the * operation. Read more
Source§

impl<R: Operand> Mul<R> for Expr

Source§

type Output = ExprResult

The resulting type after applying the * operator.
Source§

fn mul(self, rhs: R) -> Self::Output

Performs the * operation. Read more
Source§

impl Neg for &Expr

Source§

type Output = ExprResult

The resulting type after applying the - operator.
Source§

fn neg(self) -> Self::Output

Performs the unary - operation. Read more
Source§

impl Neg for Expr

Source§

type Output = ExprResult

The resulting type after applying the - operator.
Source§

fn neg(self) -> Self::Output

Performs the unary - operation. Read more
Source§

impl Not for &Expr

Source§

type Output = ExprResult

The resulting type after applying the ! operator.
Source§

fn not(self) -> Self::Output

Performs the unary ! operation. Read more
Source§

impl Not for Expr

Source§

type Output = ExprResult

The resulting type after applying the ! operator.
Source§

fn not(self) -> Self::Output

Performs the unary ! operation. Read more
Source§

impl ObjectRefCore for Expr

Source§

type ContainerType = <ObjectArc<ExprObj> as Deref>::Target

Source§

fn data(this: &Self) -> &ObjectArc<Self::ContainerType>

Source§

fn into_data(this: Self) -> ObjectArc<Self::ContainerType>

Source§

unsafe fn from_data(data: ObjectArc<Self::ContainerType>) -> Self

Construct a reference view from an owning container handle. Read more
Source§

fn same_as<Other>(&self, other: &Other) -> bool
where Other: ObjectRefCore,

Return whether two object references point to the same allocation.
Source§

fn downcast_ref<T>(&self) -> Option<&T>
where T: ObjectCore,

Borrow the underlying object as T when its runtime type is T or a subtype. Read more
Source§

impl PrimOps for Expr

Source§

fn to_expr_result(&self) -> ExprResult

This expression as an ExprResult (a reference-count increment).
Source§

fn less(&self, rhs: impl Operand) -> ExprResult

C++ a < b (lt).
Source§

fn less_equal(&self, rhs: impl Operand) -> ExprResult

C++ a <= b (le).
Source§

fn greater(&self, rhs: impl Operand) -> ExprResult

C++ a > b (gt).
Source§

fn greater_equal(&self, rhs: impl Operand) -> ExprResult

C++ a >= b (ge).
Source§

fn equal(&self, rhs: impl Operand) -> ExprResult

C++ a == b (eq).
Source§

fn not_equal(&self, rhs: impl Operand) -> ExprResult

C++ a != b (ne).
Source§

fn logical_and(&self, rhs: impl IntoExpr) -> ExprResult

C++ a && b (logical_and).
Source§

fn logical_or(&self, rhs: impl IntoExpr) -> ExprResult

C++ a || b (logical_or).
Source§

fn div(&self, rhs: impl Operand) -> ExprResult

C++ div: a / b, truncating for integers.
Source§

fn truncdiv(&self, rhs: impl Operand) -> ExprResult

C++ truncdiv.
Source§

fn truncmod(&self, rhs: impl Operand) -> ExprResult

C++ truncmod.
Source§

fn floordiv(&self, rhs: impl Operand) -> ExprResult

C++ floordiv.
Source§

fn floormod(&self, rhs: impl Operand) -> ExprResult

C++ floormod.
Source§

fn indexdiv(&self, rhs: impl Operand) -> ExprResult

C++ indexdiv.
Source§

fn indexmod(&self, rhs: impl Operand) -> ExprResult

C++ indexmod.
Source§

fn ceildiv(&self, rhs: impl Operand) -> ExprResult

C++ ceildiv.
Source§

fn min(&self, rhs: impl Operand) -> ExprResult

C++ min.
Source§

fn max(&self, rhs: impl Operand) -> ExprResult

C++ max.
Source§

fn pow(&self, rhs: impl IntoExpr) -> ExprResult

C++ pow(a, b) (pow).
Source§

fn fmod(&self, rhs: impl IntoExpr) -> ExprResult

C++ fmod(a, b) (fmod).
Source§

fn atan2(&self, rhs: impl IntoExpr) -> ExprResult

C++ atan2(a, b) (atan2).
Source§

fn nextafter(&self, rhs: impl IntoExpr) -> ExprResult

C++ nextafter(a, b) (nextafter).
Source§

fn copysign(&self, rhs: impl IntoExpr) -> ExprResult

C++ copysign(a, b) (copysign).
Source§

fn hypot(&self, rhs: impl IntoExpr) -> ExprResult

C++ hypot(a, b) (hypot).
Source§

fn ldexp(&self, rhs: impl IntoExpr) -> ExprResult

C++ ldexp(a, b) (ldexp).
Source§

fn bitwise_not(&self) -> ExprResult

C++ ~a (bitwise_not).
Source§

fn floor(&self) -> ExprResult

C++ floor.
Source§

fn ceil(&self) -> ExprResult

C++ ceil.
Source§

fn round(&self) -> ExprResult

C++ round.
Source§

fn nearbyint(&self) -> ExprResult

C++ nearbyint.
Source§

fn trunc(&self) -> ExprResult

C++ trunc.
Source§

fn abs(&self) -> ExprResult

C++ abs.
Source§

fn isnan(&self) -> ExprResult

C++ isnan.
Source§

fn isinf(&self) -> ExprResult

C++ isinf.
Source§

fn isfinite(&self) -> ExprResult

C++ isfinite.
Source§

fn likely(&self) -> ExprResult

C++ likely.
Source§

fn assume(&self) -> ExprResult

C++ assume.
Source§

fn clz(&self) -> ExprResult

C++ clz.
Source§

fn exp(&self) -> ExprResult

C++ exp.
Source§

fn exp2(&self) -> ExprResult

C++ exp2.
Source§

fn exp10(&self) -> ExprResult

C++ exp10.
Source§

fn erf(&self) -> ExprResult

C++ erf.
Source§

fn sigmoid(&self) -> ExprResult

C++ sigmoid.
Source§

fn sqrt(&self) -> ExprResult

C++ sqrt.
Source§

fn rsqrt(&self) -> ExprResult

C++ rsqrt.
Source§

fn log(&self) -> ExprResult

C++ log.
Source§

fn log2(&self) -> ExprResult

C++ log2.
Source§

fn log10(&self) -> ExprResult

C++ log10.
Source§

fn log1p(&self) -> ExprResult

C++ log1p.
Source§

fn popcount(&self) -> ExprResult

C++ popcount.
Source§

fn tanh(&self) -> ExprResult

C++ tanh.
Source§

fn tan(&self) -> ExprResult

C++ tan.
Source§

fn cos(&self) -> ExprResult

C++ cos.
Source§

fn cosh(&self) -> ExprResult

C++ cosh.
Source§

fn sin(&self) -> ExprResult

C++ sin.
Source§

fn sinh(&self) -> ExprResult

C++ sinh.
Source§

fn asin(&self) -> ExprResult

C++ asin.
Source§

fn acos(&self) -> ExprResult

C++ acos.
Source§

fn atan(&self) -> ExprResult

C++ atan.
Source§

fn acosh(&self) -> ExprResult

C++ acosh.
Source§

fn asinh(&self) -> ExprResult

C++ asinh.
Source§

fn atanh(&self) -> ExprResult

C++ atanh.
Source§

fn cast(&self, ty: impl Into<PrimType>) -> ExprResult

C++ cast(a, t) (cast).
Source§

fn if_then_else(&self, t: impl IntoExpr, f: impl IntoExpr) -> ExprResult

C++ if_then_else(self, t, f) (if_then_else), with self the condition.
Source§

fn select(&self, t: impl IntoExpr, f: impl IntoExpr) -> ExprResult

The raw Select(self, t, f) (Select::new), with self the condition.
Source§

impl Shl<&Expr> for f32

Source§

type Output = ExprResult

The resulting type after applying the << operator.
Source§

fn shl(self, rhs: &Expr) -> Self::Output

Performs the << operation. Read more
Source§

impl Shl<&Expr> for f64

Source§

type Output = ExprResult

The resulting type after applying the << operator.
Source§

fn shl(self, rhs: &Expr) -> Self::Output

Performs the << operation. Read more
Source§

impl Shl<&Expr> for i32

Source§

type Output = ExprResult

The resulting type after applying the << operator.
Source§

fn shl(self, rhs: &Expr) -> Self::Output

Performs the << operation. Read more
Source§

impl Shl<&Expr> for i64

Source§

type Output = ExprResult

The resulting type after applying the << operator.
Source§

fn shl(self, rhs: &Expr) -> Self::Output

Performs the << operation. Read more
Source§

impl Shl<Expr> for f32

Source§

type Output = ExprResult

The resulting type after applying the << operator.
Source§

fn shl(self, rhs: Expr) -> Self::Output

Performs the << operation. Read more
Source§

impl Shl<Expr> for f64

Source§

type Output = ExprResult

The resulting type after applying the << operator.
Source§

fn shl(self, rhs: Expr) -> Self::Output

Performs the << operation. Read more
Source§

impl Shl<Expr> for i32

Source§

type Output = ExprResult

The resulting type after applying the << operator.
Source§

fn shl(self, rhs: Expr) -> Self::Output

Performs the << operation. Read more
Source§

impl Shl<Expr> for i64

Source§

type Output = ExprResult

The resulting type after applying the << operator.
Source§

fn shl(self, rhs: Expr) -> Self::Output

Performs the << operation. Read more
Source§

impl<R: Operand> Shl<R> for &Expr

Source§

type Output = ExprResult

The resulting type after applying the << operator.
Source§

fn shl(self, rhs: R) -> Self::Output

Performs the << operation. Read more
Source§

impl<R: Operand> Shl<R> for Expr

Source§

type Output = ExprResult

The resulting type after applying the << operator.
Source§

fn shl(self, rhs: R) -> Self::Output

Performs the << operation. Read more
Source§

impl Shr<&Expr> for f32

Source§

type Output = ExprResult

The resulting type after applying the >> operator.
Source§

fn shr(self, rhs: &Expr) -> Self::Output

Performs the >> operation. Read more
Source§

impl Shr<&Expr> for f64

Source§

type Output = ExprResult

The resulting type after applying the >> operator.
Source§

fn shr(self, rhs: &Expr) -> Self::Output

Performs the >> operation. Read more
Source§

impl Shr<&Expr> for i32

Source§

type Output = ExprResult

The resulting type after applying the >> operator.
Source§

fn shr(self, rhs: &Expr) -> Self::Output

Performs the >> operation. Read more
Source§

impl Shr<&Expr> for i64

Source§

type Output = ExprResult

The resulting type after applying the >> operator.
Source§

fn shr(self, rhs: &Expr) -> Self::Output

Performs the >> operation. Read more
Source§

impl Shr<Expr> for f32

Source§

type Output = ExprResult

The resulting type after applying the >> operator.
Source§

fn shr(self, rhs: Expr) -> Self::Output

Performs the >> operation. Read more
Source§

impl Shr<Expr> for f64

Source§

type Output = ExprResult

The resulting type after applying the >> operator.
Source§

fn shr(self, rhs: Expr) -> Self::Output

Performs the >> operation. Read more
Source§

impl Shr<Expr> for i32

Source§

type Output = ExprResult

The resulting type after applying the >> operator.
Source§

fn shr(self, rhs: Expr) -> Self::Output

Performs the >> operation. Read more
Source§

impl Shr<Expr> for i64

Source§

type Output = ExprResult

The resulting type after applying the >> operator.
Source§

fn shr(self, rhs: Expr) -> Self::Output

Performs the >> operation. Read more
Source§

impl<R: Operand> Shr<R> for &Expr

Source§

type Output = ExprResult

The resulting type after applying the >> operator.
Source§

fn shr(self, rhs: R) -> Self::Output

Performs the >> operation. Read more
Source§

impl<R: Operand> Shr<R> for Expr

Source§

type Output = ExprResult

The resulting type after applying the >> operator.
Source§

fn shr(self, rhs: R) -> Self::Output

Performs the >> operation. Read more
Source§

impl Sub<&Expr> for f32

Source§

type Output = ExprResult

The resulting type after applying the - operator.
Source§

fn sub(self, rhs: &Expr) -> Self::Output

Performs the - operation. Read more
Source§

impl Sub<&Expr> for f64

Source§

type Output = ExprResult

The resulting type after applying the - operator.
Source§

fn sub(self, rhs: &Expr) -> Self::Output

Performs the - operation. Read more
Source§

impl Sub<&Expr> for i32

Source§

type Output = ExprResult

The resulting type after applying the - operator.
Source§

fn sub(self, rhs: &Expr) -> Self::Output

Performs the - operation. Read more
Source§

impl Sub<&Expr> for i64

Source§

type Output = ExprResult

The resulting type after applying the - operator.
Source§

fn sub(self, rhs: &Expr) -> Self::Output

Performs the - operation. Read more
Source§

impl Sub<Expr> for f32

Source§

type Output = ExprResult

The resulting type after applying the - operator.
Source§

fn sub(self, rhs: Expr) -> Self::Output

Performs the - operation. Read more
Source§

impl Sub<Expr> for f64

Source§

type Output = ExprResult

The resulting type after applying the - operator.
Source§

fn sub(self, rhs: Expr) -> Self::Output

Performs the - operation. Read more
Source§

impl Sub<Expr> for i32

Source§

type Output = ExprResult

The resulting type after applying the - operator.
Source§

fn sub(self, rhs: Expr) -> Self::Output

Performs the - operation. Read more
Source§

impl Sub<Expr> for i64

Source§

type Output = ExprResult

The resulting type after applying the - operator.
Source§

fn sub(self, rhs: Expr) -> Self::Output

Performs the - operation. Read more
Source§

impl<R: Operand> Sub<R> for &Expr

Source§

type Output = ExprResult

The resulting type after applying the - operator.
Source§

fn sub(self, rhs: R) -> Self::Output

Performs the - operation. Read more
Source§

impl<R: Operand> Sub<R> for Expr

Source§

type Output = ExprResult

The resulting type after applying the - operator.
Source§

fn sub(self, rhs: R) -> Self::Output

Performs the - operation. Read more
Source§

impl TryFrom<&Expr> for IntExpr

Source§

type Error = Error

The type returned in the event of a conversion error.
Source§

fn try_from(value: &Expr) -> Result<Self>

Performs the conversion.
Source§

impl TryFrom<&Expr> for PrimExpr

Source§

type Error = Error

The type returned in the event of a conversion error.
Source§

fn try_from(value: &Expr) -> Result<Self>

Performs the conversion.
Source§

impl TryFrom<Any> for Expr

Source§

type Error = Error

The type returned in the event of a conversion error.
Source§

fn try_from(value: Any) -> Result<Self, Self::Error>

Performs the conversion.
Source§

impl<'a> TryFrom<AnyView<'a>> for Expr

Source§

type Error = Error

The type returned in the event of a conversion error.
Source§

fn try_from(value: AnyView<'a>) -> Result<Self, Self::Error>

Performs the conversion.
Source§

impl TryFrom<Expr> for IntExpr

The view of an expression whose type it accepts; a TypeError names any other.

Source§

type Error = Error

The type returned in the event of a conversion error.
Source§

fn try_from(value: Expr) -> Result<Self>

Performs the conversion.
Source§

impl TryFrom<Expr> for PrimExpr

The view of an expression whose type it accepts; a TypeError names any other.

Source§

type Error = Error

The type returned in the event of a conversion error.
Source§

fn try_from(value: Expr) -> Result<Self>

Performs the conversion.
Source§

impl TryFrom<ExprResult> for Expr

Source§

fn try_from(value: ExprResult) -> Result<Self>

The built expression, or the first error raised while constructing it.

Source§

type Error = Error

The type returned in the event of a conversion error.

Auto Trait Implementations§

§

impl Freeze for Expr

§

impl RefUnwindSafe for Expr

§

impl Send for Expr

§

impl Sync for Expr

§

impl Unpin for Expr

§

impl UnwindSafe for Expr

Blanket Implementations§

Source§

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

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> ArgType for T
where T: ObjectRefCore + AnyCompatible + 'static,

Source§

fn check(value: &TVMFFIAny) -> bool

Whether value, which is not None, is accepted (C++ CheckAnyStrict).
Source§

fn type_str() -> String

The expected type, for an error (C++ TypeStr).
Source§

fn mismatch(value: &TVMFFIAny) -> String

The rejected value, for an error (C++ GetMismatchTypeInfo): its type key.
Source§

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

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

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

Source§

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

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dst: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dst. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> IntoExpr for T
where T: Into<Expr>,

Source§

impl<T> ObjectRefCast for T

Source§

fn try_cast<B>(self) -> Result<B, Error>

Consume self and rewrap the underlying object as B without copying.
Source§

impl<T> Operand for T
where T: Into<ExprResult>,

Source§

fn classify(self) -> OperandKind

Source§

impl<P, T> Receiver for P
where P: Deref<Target = T> + ?Sized, T: ?Sized,

Source§

type Target = T

🔬This is a nightly-only experimental API. (arbitrary_self_types)
The target type on which the method may be called.
Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.