tvm_tirx::ir::prim::op

Struct ExprResult

Source
pub struct ExprResult(/* private fields */);
Expand description

An expression being built by operators: either the expression, a PrimExpr, or the first error any step raised. Later steps pass an error through untouched. An ExprResult is an IntoExpr, so it passes into any function or constructor that takes one, whose ? then reports the error; PrimExpr::try_from takes the expression out without a further check, and Expr::try_from takes it out as an Expr.

Registered expression wrappers convert into an ExprResult; one whose type is not a PrimType is a TypeError there. The operators +, -, *, &, |, ^, <<, >>, unary - and ! are the C++ ones, typed after C++: an integer literal on either side is MakeConst(other.ty(), v), an f32 a float32 constant, an f64 a float64 one. / and % are not defined: name the division (PrimOps::truncdiv, PrimOps::floordiv, PrimOps::div, …), as C++ requires of % and of / next to a literal (DivAmbiguityError); C++ / between two expressions is div. Comparisons, && and || are PrimOps methods too, because Rust’s comparison traits return bool.

Trait Implementations§

Source§

impl Add<&ExprResult> for f32

Source§

type Output = ExprResult

The resulting type after applying the + operator.
Source§

fn add(self, rhs: &ExprResult) -> ExprResult

Performs the + operation. Read more
Source§

impl Add<&ExprResult> for f64

Source§

type Output = ExprResult

The resulting type after applying the + operator.
Source§

fn add(self, rhs: &ExprResult) -> ExprResult

Performs the + operation. Read more
Source§

impl Add<&ExprResult> for i32

Source§

type Output = ExprResult

The resulting type after applying the + operator.
Source§

fn add(self, rhs: &ExprResult) -> ExprResult

Performs the + operation. Read more
Source§

impl Add<&ExprResult> for i64

Source§

type Output = ExprResult

The resulting type after applying the + operator.
Source§

fn add(self, rhs: &ExprResult) -> ExprResult

Performs the + operation. Read more
Source§

impl Add<ExprResult> for f32

Source§

type Output = ExprResult

The resulting type after applying the + operator.
Source§

fn add(self, rhs: ExprResult) -> ExprResult

Performs the + operation. Read more
Source§

impl Add<ExprResult> for f64

Source§

type Output = ExprResult

The resulting type after applying the + operator.
Source§

fn add(self, rhs: ExprResult) -> ExprResult

Performs the + operation. Read more
Source§

impl Add<ExprResult> for i32

Source§

type Output = ExprResult

The resulting type after applying the + operator.
Source§

fn add(self, rhs: ExprResult) -> ExprResult

Performs the + operation. Read more
Source§

impl Add<ExprResult> for i64

Source§

type Output = ExprResult

The resulting type after applying the + operator.
Source§

fn add(self, rhs: ExprResult) -> ExprResult

Performs the + operation. Read more
Source§

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

Source§

type Output = ExprResult

The resulting type after applying the + operator.
Source§

fn add(self, rhs: R) -> ExprResult

Performs the + operation. Read more
Source§

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

Source§

type Output = ExprResult

The resulting type after applying the + operator.
Source§

fn add(self, rhs: R) -> ExprResult

Performs the + operation. Read more
Source§

impl<R: Operand> AddAssign<R> for ExprResult

Source§

fn add_assign(&mut self, rhs: R)

Performs the += operation. Read more
Source§

impl BitAnd<&ExprResult> for f32

Source§

type Output = ExprResult

The resulting type after applying the & operator.
Source§

fn bitand(self, rhs: &ExprResult) -> ExprResult

Performs the & operation. Read more
Source§

impl BitAnd<&ExprResult> for f64

Source§

type Output = ExprResult

The resulting type after applying the & operator.
Source§

fn bitand(self, rhs: &ExprResult) -> ExprResult

Performs the & operation. Read more
Source§

impl BitAnd<&ExprResult> for i32

Source§

type Output = ExprResult

The resulting type after applying the & operator.
Source§

fn bitand(self, rhs: &ExprResult) -> ExprResult

Performs the & operation. Read more
Source§

impl BitAnd<&ExprResult> for i64

Source§

type Output = ExprResult

The resulting type after applying the & operator.
Source§

fn bitand(self, rhs: &ExprResult) -> ExprResult

Performs the & operation. Read more
Source§

impl BitAnd<ExprResult> for f32

Source§

type Output = ExprResult

The resulting type after applying the & operator.
Source§

fn bitand(self, rhs: ExprResult) -> ExprResult

Performs the & operation. Read more
Source§

impl BitAnd<ExprResult> for f64

Source§

type Output = ExprResult

The resulting type after applying the & operator.
Source§

fn bitand(self, rhs: ExprResult) -> ExprResult

Performs the & operation. Read more
Source§

impl BitAnd<ExprResult> for i32

Source§

type Output = ExprResult

The resulting type after applying the & operator.
Source§

fn bitand(self, rhs: ExprResult) -> ExprResult

Performs the & operation. Read more
Source§

impl BitAnd<ExprResult> for i64

Source§

type Output = ExprResult

The resulting type after applying the & operator.
Source§

fn bitand(self, rhs: ExprResult) -> ExprResult

Performs the & operation. Read more
Source§

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

Source§

type Output = ExprResult

The resulting type after applying the & operator.
Source§

fn bitand(self, rhs: R) -> ExprResult

Performs the & operation. Read more
Source§

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

Source§

type Output = ExprResult

The resulting type after applying the & operator.
Source§

fn bitand(self, rhs: R) -> ExprResult

Performs the & operation. Read more
Source§

impl BitOr<&ExprResult> for f32

Source§

type Output = ExprResult

The resulting type after applying the | operator.
Source§

fn bitor(self, rhs: &ExprResult) -> ExprResult

Performs the | operation. Read more
Source§

impl BitOr<&ExprResult> for f64

Source§

type Output = ExprResult

The resulting type after applying the | operator.
Source§

fn bitor(self, rhs: &ExprResult) -> ExprResult

Performs the | operation. Read more
Source§

impl BitOr<&ExprResult> for i32

Source§

type Output = ExprResult

The resulting type after applying the | operator.
Source§

fn bitor(self, rhs: &ExprResult) -> ExprResult

Performs the | operation. Read more
Source§

impl BitOr<&ExprResult> for i64

Source§

type Output = ExprResult

The resulting type after applying the | operator.
Source§

fn bitor(self, rhs: &ExprResult) -> ExprResult

Performs the | operation. Read more
Source§

impl BitOr<ExprResult> for f32

Source§

type Output = ExprResult

The resulting type after applying the | operator.
Source§

fn bitor(self, rhs: ExprResult) -> ExprResult

Performs the | operation. Read more
Source§

impl BitOr<ExprResult> for f64

Source§

type Output = ExprResult

The resulting type after applying the | operator.
Source§

fn bitor(self, rhs: ExprResult) -> ExprResult

Performs the | operation. Read more
Source§

impl BitOr<ExprResult> for i32

Source§

type Output = ExprResult

The resulting type after applying the | operator.
Source§

fn bitor(self, rhs: ExprResult) -> ExprResult

Performs the | operation. Read more
Source§

impl BitOr<ExprResult> for i64

Source§

type Output = ExprResult

The resulting type after applying the | operator.
Source§

fn bitor(self, rhs: ExprResult) -> ExprResult

Performs the | operation. Read more
Source§

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

Source§

type Output = ExprResult

The resulting type after applying the | operator.
Source§

fn bitor(self, rhs: R) -> ExprResult

Performs the | operation. Read more
Source§

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

Source§

type Output = ExprResult

The resulting type after applying the | operator.
Source§

fn bitor(self, rhs: R) -> ExprResult

Performs the | operation. Read more
Source§

impl BitXor<&ExprResult> for f32

Source§

type Output = ExprResult

The resulting type after applying the ^ operator.
Source§

fn bitxor(self, rhs: &ExprResult) -> ExprResult

Performs the ^ operation. Read more
Source§

impl BitXor<&ExprResult> for f64

Source§

type Output = ExprResult

The resulting type after applying the ^ operator.
Source§

fn bitxor(self, rhs: &ExprResult) -> ExprResult

Performs the ^ operation. Read more
Source§

impl BitXor<&ExprResult> for i32

Source§

type Output = ExprResult

The resulting type after applying the ^ operator.
Source§

fn bitxor(self, rhs: &ExprResult) -> ExprResult

Performs the ^ operation. Read more
Source§

impl BitXor<&ExprResult> for i64

Source§

type Output = ExprResult

The resulting type after applying the ^ operator.
Source§

fn bitxor(self, rhs: &ExprResult) -> ExprResult

Performs the ^ operation. Read more
Source§

impl BitXor<ExprResult> for f32

Source§

type Output = ExprResult

The resulting type after applying the ^ operator.
Source§

fn bitxor(self, rhs: ExprResult) -> ExprResult

Performs the ^ operation. Read more
Source§

impl BitXor<ExprResult> for f64

Source§

type Output = ExprResult

The resulting type after applying the ^ operator.
Source§

fn bitxor(self, rhs: ExprResult) -> ExprResult

Performs the ^ operation. Read more
Source§

impl BitXor<ExprResult> for i32

Source§

type Output = ExprResult

The resulting type after applying the ^ operator.
Source§

fn bitxor(self, rhs: ExprResult) -> ExprResult

Performs the ^ operation. Read more
Source§

impl BitXor<ExprResult> for i64

Source§

type Output = ExprResult

The resulting type after applying the ^ operator.
Source§

fn bitxor(self, rhs: ExprResult) -> ExprResult

Performs the ^ operation. Read more
Source§

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

Source§

type Output = ExprResult

The resulting type after applying the ^ operator.
Source§

fn bitxor(self, rhs: R) -> ExprResult

Performs the ^ operation. Read more
Source§

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

Source§

type Output = ExprResult

The resulting type after applying the ^ operator.
Source§

fn bitxor(self, rhs: R) -> ExprResult

Performs the ^ operation. Read more
Source§

impl Clone for ExprResult

Source§

fn clone(&self) -> ExprResult

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 From<&Add> for ExprResult

Source§

fn from(value: &Add) -> Self

Converts to this type from the input type.
Source§

impl From<&And> for ExprResult

Source§

fn from(value: &And) -> Self

Converts to this type from the input type.
Source§

impl From<&BitwiseAnd> for ExprResult

Source§

fn from(value: &BitwiseAnd) -> Self

Converts to this type from the input type.
Source§

impl From<&BitwiseNot> for ExprResult

Source§

fn from(value: &BitwiseNot) -> Self

Converts to this type from the input type.
Source§

impl From<&BitwiseOr> for ExprResult

Source§

fn from(value: &BitwiseOr) -> Self

Converts to this type from the input type.
Source§

impl From<&BitwiseXor> for ExprResult

Source§

fn from(value: &BitwiseXor) -> Self

Converts to this type from the input type.
Source§

impl From<&Broadcast> for ExprResult

Source§

fn from(value: &Broadcast) -> Self

Converts to this type from the input type.
Source§

impl From<&Call> for ExprResult

Source§

fn from(value: &Call) -> Self

Converts to this type from the input type.
Source§

impl From<&Cast> for ExprResult

Source§

fn from(value: &Cast) -> Self

Converts to this type from the input type.
Source§

impl From<&Div> for ExprResult

Source§

fn from(value: &Div) -> Self

Converts to this type from the input type.
Source§

impl From<&EQ> for ExprResult

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<&ExprResult> for ExprResult

Source§

fn from(value: &ExprResult) -> Self

Converts to this type from the input type.
Source§

impl From<&FloatImm> for ExprResult

Source§

fn from(value: &FloatImm) -> Self

Converts to this type from the input type.
Source§

impl From<&FloorDiv> for ExprResult

Source§

fn from(value: &FloorDiv) -> Self

Converts to this type from the input type.
Source§

impl From<&FloorMod> for ExprResult

Source§

fn from(value: &FloorMod) -> Self

Converts to this type from the input type.
Source§

impl From<&GE> for ExprResult

Source§

fn from(value: &GE) -> Self

Converts to this type from the input type.
Source§

impl From<&GT> for ExprResult

Source§

fn from(value: &GT) -> Self

Converts to this type from the input type.
Source§

impl From<&IntExpr> for ExprResult

Source§

fn from(value: &IntExpr) -> Self

Converts to this type from the input type.
Source§

impl From<&IntImm> for ExprResult

Source§

fn from(value: &IntImm) -> Self

Converts to this type from the input type.
Source§

impl From<&IterMapExpr> for ExprResult

Source§

fn from(value: &IterMapExpr) -> Self

Converts to this type from the input type.
Source§

impl From<&IterSplitExpr> for ExprResult

Source§

fn from(value: &IterSplitExpr) -> Self

Converts to this type from the input type.
Source§

impl From<&IterSumExpr> for ExprResult

Source§

fn from(value: &IterSumExpr) -> Self

Converts to this type from the input type.
Source§

impl From<&LE> for ExprResult

Source§

fn from(value: &LE) -> Self

Converts to this type from the input type.
Source§

impl From<&LShift> for ExprResult

Source§

fn from(value: &LShift) -> Self

Converts to this type from the input type.
Source§

impl From<&LT> for ExprResult

Source§

fn from(value: &LT) -> Self

Converts to this type from the input type.
Source§

impl From<&Let> for ExprResult

Source§

fn from(value: &Let) -> Self

Converts to this type from the input type.
Source§

impl From<&Max> for ExprResult

Source§

fn from(value: &Max) -> Self

Converts to this type from the input type.
Source§

impl From<&Min> for ExprResult

Source§

fn from(value: &Min) -> Self

Converts to this type from the input type.
Source§

impl From<&Mod> for ExprResult

Source§

fn from(value: &Mod) -> Self

Converts to this type from the input type.
Source§

impl From<&Mul> for ExprResult

Source§

fn from(value: &Mul) -> Self

Converts to this type from the input type.
Source§

impl From<&NE> for ExprResult

Source§

fn from(value: &NE) -> Self

Converts to this type from the input type.
Source§

impl From<&Not> for ExprResult

Source§

fn from(value: &Not) -> Self

Converts to this type from the input type.
Source§

impl From<&Or> for ExprResult

Source§

fn from(value: &Or) -> Self

Converts to this type from the input type.
Source§

impl From<&PrimExpr> for ExprResult

Source§

fn from(value: &PrimExpr) -> Self

Converts to this type from the input type.
Source§

impl From<&RShift> for ExprResult

Source§

fn from(value: &RShift) -> Self

Converts to this type from the input type.
Source§

impl From<&Ramp> for ExprResult

Source§

fn from(value: &Ramp) -> Self

Converts to this type from the input type.
Source§

impl From<&Select> for ExprResult

Source§

fn from(value: &Select) -> Self

Converts to this type from the input type.
Source§

impl From<&Shuffle> for ExprResult

Source§

fn from(value: &Shuffle) -> Self

Converts to this type from the input type.
Source§

impl From<&SplitExpr> for ExprResult

Source§

fn from(value: &SplitExpr) -> Self

Converts to this type from the input type.
Source§

impl From<&Sub> for ExprResult

Source§

fn from(value: &Sub) -> Self

Converts to this type from the input type.
Source§

impl From<&SumExpr> for ExprResult

Source§

fn from(value: &SumExpr) -> Self

Converts to this type from the input type.
Source§

impl From<&TensorLoad> for ExprResult

Source§

fn from(value: &TensorLoad) -> Self

Converts to this type from the input type.
Source§

impl From<&Var> for ExprResult

Source§

fn from(value: &Var) -> Self

Converts to this type from the input type.
Source§

impl From<Add> for ExprResult

Source§

fn from(value: Add) -> Self

Converts to this type from the input type.
Source§

impl From<And> for ExprResult

Source§

fn from(value: And) -> Self

Converts to this type from the input type.
Source§

impl From<BitwiseAnd> for ExprResult

Source§

fn from(value: BitwiseAnd) -> Self

Converts to this type from the input type.
Source§

impl From<BitwiseNot> for ExprResult

Source§

fn from(value: BitwiseNot) -> Self

Converts to this type from the input type.
Source§

impl From<BitwiseOr> for ExprResult

Source§

fn from(value: BitwiseOr) -> Self

Converts to this type from the input type.
Source§

impl From<BitwiseXor> for ExprResult

Source§

fn from(value: BitwiseXor) -> Self

Converts to this type from the input type.
Source§

impl From<Broadcast> for ExprResult

Source§

fn from(value: Broadcast) -> Self

Converts to this type from the input type.
Source§

impl From<Call> for ExprResult

Source§

fn from(value: Call) -> Self

Converts to this type from the input type.
Source§

impl From<Cast> for ExprResult

Source§

fn from(value: Cast) -> Self

Converts to this type from the input type.
Source§

impl From<Div> for ExprResult

Source§

fn from(value: Div) -> Self

Converts to this type from the input type.
Source§

impl From<EQ> for ExprResult

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 ExprResult

Source§

fn from(value: FloatImm) -> Self

Converts to this type from the input type.
Source§

impl From<FloorDiv> for ExprResult

Source§

fn from(value: FloorDiv) -> Self

Converts to this type from the input type.
Source§

impl From<FloorMod> for ExprResult

Source§

fn from(value: FloorMod) -> Self

Converts to this type from the input type.
Source§

impl From<GE> for ExprResult

Source§

fn from(value: GE) -> Self

Converts to this type from the input type.
Source§

impl From<GT> for ExprResult

Source§

fn from(value: GT) -> Self

Converts to this type from the input type.
Source§

impl From<IntExpr> for ExprResult

Source§

fn from(value: IntExpr) -> Self

Converts to this type from the input type.
Source§

impl From<IntImm> for ExprResult

Source§

fn from(value: IntImm) -> Self

Converts to this type from the input type.
Source§

impl From<IterMapExpr> for ExprResult

Source§

fn from(value: IterMapExpr) -> Self

Converts to this type from the input type.
Source§

impl From<IterSplitExpr> for ExprResult

Source§

fn from(value: IterSplitExpr) -> Self

Converts to this type from the input type.
Source§

impl From<IterSumExpr> for ExprResult

Source§

fn from(value: IterSumExpr) -> Self

Converts to this type from the input type.
Source§

impl From<LE> for ExprResult

Source§

fn from(value: LE) -> Self

Converts to this type from the input type.
Source§

impl From<LShift> for ExprResult

Source§

fn from(value: LShift) -> Self

Converts to this type from the input type.
Source§

impl From<LT> for ExprResult

Source§

fn from(value: LT) -> Self

Converts to this type from the input type.
Source§

impl From<Let> for ExprResult

Source§

fn from(value: Let) -> Self

Converts to this type from the input type.
Source§

impl From<Max> for ExprResult

Source§

fn from(value: Max) -> Self

Converts to this type from the input type.
Source§

impl From<Min> for ExprResult

Source§

fn from(value: Min) -> Self

Converts to this type from the input type.
Source§

impl From<Mod> for ExprResult

Source§

fn from(value: Mod) -> Self

Converts to this type from the input type.
Source§

impl From<Mul> for ExprResult

Source§

fn from(value: Mul) -> Self

Converts to this type from the input type.
Source§

impl From<NE> for ExprResult

Source§

fn from(value: NE) -> Self

Converts to this type from the input type.
Source§

impl From<Not> for ExprResult

Source§

fn from(value: Not) -> Self

Converts to this type from the input type.
Source§

impl From<Or> for ExprResult

Source§

fn from(value: Or) -> Self

Converts to this type from the input type.
Source§

impl From<PrimExpr> for ExprResult

Source§

fn from(value: PrimExpr) -> Self

Converts to this type from the input type.
Source§

impl From<RShift> for ExprResult

Source§

fn from(value: RShift) -> Self

Converts to this type from the input type.
Source§

impl From<Ramp> for ExprResult

Source§

fn from(value: Ramp) -> Self

Converts to this type from the input type.
Source§

impl<T: Into<Expr>> From<Result<T, Error>> for ExprResult

Source§

fn from(value: Result<T>) -> Self

Converts to this type from the input type.
Source§

impl From<Select> for ExprResult

Source§

fn from(value: Select) -> Self

Converts to this type from the input type.
Source§

impl From<Shuffle> for ExprResult

Source§

fn from(value: Shuffle) -> Self

Converts to this type from the input type.
Source§

impl From<SplitExpr> for ExprResult

Source§

fn from(value: SplitExpr) -> Self

Converts to this type from the input type.
Source§

impl From<Sub> for ExprResult

Source§

fn from(value: Sub) -> Self

Converts to this type from the input type.
Source§

impl From<SumExpr> for ExprResult

Source§

fn from(value: SumExpr) -> Self

Converts to this type from the input type.
Source§

impl From<TensorLoad> for ExprResult

Source§

fn from(value: TensorLoad) -> Self

Converts to this type from the input type.
Source§

impl From<Var> for ExprResult

Source§

fn from(value: Var) -> Self

Converts to this type from the input type.
Source§

impl IntoExpr for &ExprResult

Source§

impl IntoExpr for ExprResult

Source§

impl Mul<&ExprResult> for f32

Source§

type Output = ExprResult

The resulting type after applying the * operator.
Source§

fn mul(self, rhs: &ExprResult) -> ExprResult

Performs the * operation. Read more
Source§

impl Mul<&ExprResult> for f64

Source§

type Output = ExprResult

The resulting type after applying the * operator.
Source§

fn mul(self, rhs: &ExprResult) -> ExprResult

Performs the * operation. Read more
Source§

impl Mul<&ExprResult> for i32

Source§

type Output = ExprResult

The resulting type after applying the * operator.
Source§

fn mul(self, rhs: &ExprResult) -> ExprResult

Performs the * operation. Read more
Source§

impl Mul<&ExprResult> for i64

Source§

type Output = ExprResult

The resulting type after applying the * operator.
Source§

fn mul(self, rhs: &ExprResult) -> ExprResult

Performs the * operation. Read more
Source§

impl Mul<ExprResult> for f32

Source§

type Output = ExprResult

The resulting type after applying the * operator.
Source§

fn mul(self, rhs: ExprResult) -> ExprResult

Performs the * operation. Read more
Source§

impl Mul<ExprResult> for f64

Source§

type Output = ExprResult

The resulting type after applying the * operator.
Source§

fn mul(self, rhs: ExprResult) -> ExprResult

Performs the * operation. Read more
Source§

impl Mul<ExprResult> for i32

Source§

type Output = ExprResult

The resulting type after applying the * operator.
Source§

fn mul(self, rhs: ExprResult) -> ExprResult

Performs the * operation. Read more
Source§

impl Mul<ExprResult> for i64

Source§

type Output = ExprResult

The resulting type after applying the * operator.
Source§

fn mul(self, rhs: ExprResult) -> ExprResult

Performs the * operation. Read more
Source§

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

Source§

type Output = ExprResult

The resulting type after applying the * operator.
Source§

fn mul(self, rhs: R) -> ExprResult

Performs the * operation. Read more
Source§

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

Source§

type Output = ExprResult

The resulting type after applying the * operator.
Source§

fn mul(self, rhs: R) -> ExprResult

Performs the * operation. Read more
Source§

impl<R: Operand> MulAssign<R> for ExprResult

Source§

fn mul_assign(&mut self, rhs: R)

Performs the *= operation. Read more
Source§

impl Neg for &ExprResult

C++ unary - (neg).

Source§

type Output = ExprResult

The resulting type after applying the - operator.
Source§

fn neg(self) -> ExprResult

Performs the unary - operation. Read more
Source§

impl Neg for ExprResult

C++ unary - (neg).

Source§

type Output = ExprResult

The resulting type after applying the - operator.
Source§

fn neg(self) -> ExprResult

Performs the unary - operation. Read more
Source§

impl Not for &ExprResult

C++ ! (logical_not).

Source§

type Output = ExprResult

The resulting type after applying the ! operator.
Source§

fn not(self) -> ExprResult

Performs the unary ! operation. Read more
Source§

impl Not for ExprResult

C++ ! (logical_not).

Source§

type Output = ExprResult

The resulting type after applying the ! operator.
Source§

fn not(self) -> ExprResult

Performs the unary ! operation. Read more
Source§

impl PrimOps for ExprResult

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<&ExprResult> for f32

Source§

type Output = ExprResult

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

fn shl(self, rhs: &ExprResult) -> ExprResult

Performs the << operation. Read more
Source§

impl Shl<&ExprResult> for f64

Source§

type Output = ExprResult

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

fn shl(self, rhs: &ExprResult) -> ExprResult

Performs the << operation. Read more
Source§

impl Shl<&ExprResult> for i32

Source§

type Output = ExprResult

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

fn shl(self, rhs: &ExprResult) -> ExprResult

Performs the << operation. Read more
Source§

impl Shl<&ExprResult> for i64

Source§

type Output = ExprResult

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

fn shl(self, rhs: &ExprResult) -> ExprResult

Performs the << operation. Read more
Source§

impl Shl<ExprResult> for f32

Source§

type Output = ExprResult

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

fn shl(self, rhs: ExprResult) -> ExprResult

Performs the << operation. Read more
Source§

impl Shl<ExprResult> for f64

Source§

type Output = ExprResult

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

fn shl(self, rhs: ExprResult) -> ExprResult

Performs the << operation. Read more
Source§

impl Shl<ExprResult> for i32

Source§

type Output = ExprResult

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

fn shl(self, rhs: ExprResult) -> ExprResult

Performs the << operation. Read more
Source§

impl Shl<ExprResult> for i64

Source§

type Output = ExprResult

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

fn shl(self, rhs: ExprResult) -> ExprResult

Performs the << operation. Read more
Source§

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

Source§

type Output = ExprResult

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

fn shl(self, rhs: R) -> ExprResult

Performs the << operation. Read more
Source§

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

Source§

type Output = ExprResult

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

fn shl(self, rhs: R) -> ExprResult

Performs the << operation. Read more
Source§

impl Shr<&ExprResult> for f32

Source§

type Output = ExprResult

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

fn shr(self, rhs: &ExprResult) -> ExprResult

Performs the >> operation. Read more
Source§

impl Shr<&ExprResult> for f64

Source§

type Output = ExprResult

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

fn shr(self, rhs: &ExprResult) -> ExprResult

Performs the >> operation. Read more
Source§

impl Shr<&ExprResult> for i32

Source§

type Output = ExprResult

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

fn shr(self, rhs: &ExprResult) -> ExprResult

Performs the >> operation. Read more
Source§

impl Shr<&ExprResult> for i64

Source§

type Output = ExprResult

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

fn shr(self, rhs: &ExprResult) -> ExprResult

Performs the >> operation. Read more
Source§

impl Shr<ExprResult> for f32

Source§

type Output = ExprResult

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

fn shr(self, rhs: ExprResult) -> ExprResult

Performs the >> operation. Read more
Source§

impl Shr<ExprResult> for f64

Source§

type Output = ExprResult

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

fn shr(self, rhs: ExprResult) -> ExprResult

Performs the >> operation. Read more
Source§

impl Shr<ExprResult> for i32

Source§

type Output = ExprResult

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

fn shr(self, rhs: ExprResult) -> ExprResult

Performs the >> operation. Read more
Source§

impl Shr<ExprResult> for i64

Source§

type Output = ExprResult

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

fn shr(self, rhs: ExprResult) -> ExprResult

Performs the >> operation. Read more
Source§

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

Source§

type Output = ExprResult

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

fn shr(self, rhs: R) -> ExprResult

Performs the >> operation. Read more
Source§

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

Source§

type Output = ExprResult

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

fn shr(self, rhs: R) -> ExprResult

Performs the >> operation. Read more
Source§

impl Sub<&ExprResult> for f32

Source§

type Output = ExprResult

The resulting type after applying the - operator.
Source§

fn sub(self, rhs: &ExprResult) -> ExprResult

Performs the - operation. Read more
Source§

impl Sub<&ExprResult> for f64

Source§

type Output = ExprResult

The resulting type after applying the - operator.
Source§

fn sub(self, rhs: &ExprResult) -> ExprResult

Performs the - operation. Read more
Source§

impl Sub<&ExprResult> for i32

Source§

type Output = ExprResult

The resulting type after applying the - operator.
Source§

fn sub(self, rhs: &ExprResult) -> ExprResult

Performs the - operation. Read more
Source§

impl Sub<&ExprResult> for i64

Source§

type Output = ExprResult

The resulting type after applying the - operator.
Source§

fn sub(self, rhs: &ExprResult) -> ExprResult

Performs the - operation. Read more
Source§

impl Sub<ExprResult> for f32

Source§

type Output = ExprResult

The resulting type after applying the - operator.
Source§

fn sub(self, rhs: ExprResult) -> ExprResult

Performs the - operation. Read more
Source§

impl Sub<ExprResult> for f64

Source§

type Output = ExprResult

The resulting type after applying the - operator.
Source§

fn sub(self, rhs: ExprResult) -> ExprResult

Performs the - operation. Read more
Source§

impl Sub<ExprResult> for i32

Source§

type Output = ExprResult

The resulting type after applying the - operator.
Source§

fn sub(self, rhs: ExprResult) -> ExprResult

Performs the - operation. Read more
Source§

impl Sub<ExprResult> for i64

Source§

type Output = ExprResult

The resulting type after applying the - operator.
Source§

fn sub(self, rhs: ExprResult) -> ExprResult

Performs the - operation. Read more
Source§

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

Source§

type Output = ExprResult

The resulting type after applying the - operator.
Source§

fn sub(self, rhs: R) -> ExprResult

Performs the - operation. Read more
Source§

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

Source§

type Output = ExprResult

The resulting type after applying the - operator.
Source§

fn sub(self, rhs: R) -> ExprResult

Performs the - operation. Read more
Source§

impl<R: Operand> SubAssign<R> for ExprResult

Source§

fn sub_assign(&mut self, rhs: R)

Performs the -= operation. Read more
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.
Source§

impl TryFrom<ExprResult> for IntExpr

The built expression, checked to be an integer, or the first error raised while building it.

Source§

type Error = Error

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

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

Performs the conversion.
Source§

impl TryFrom<ExprResult> for PrimExpr

Source§

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

The built expression, which every step checks is a PrimExpr, or the first error raised while building it.

Source§

type Error = Error

The type returned in the event of a conversion error.

Auto Trait Implementations§

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> 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> Operand for T
where T: Into<ExprResult>,

Source§

fn classify(self) -> OperandKind

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.