Skip to main content

pliron_math/ops/
mod.rs

1//! `math` operation definitions, builders, and verification.
2//!
3//! `new` constructors allocate operations without verification and take the
4//! result type from the first operand, except classification operations,
5//! which produce `i1` shaped like the operand. Use
6//! [`pliron::common_traits::Verify::verify`] before consuming externally
7//! supplied or manually edited IR.
8//!
9//! Operand and result accessors assume the operation has its declared arity;
10//! malformed IR can panic when an operand or result is missing. Fast-math flags
11//! default to `none` when absent.
12
13mod definitions;
14
15pub use definitions::{
16    AbsFOp, AbsIOp, AcosOp, AcoshOp, AsinOp, AsinhOp, Atan2Op, AtanOp, AtanhOp, CbrtOp, CeilOp,
17    ClampFOp, CopySignOp, CosOp, CoshOp, CountLeadingZerosOp, CountTrailingZerosOp, CtPopOp, ErfOp,
18    ErfcOp, Exp2Op, ExpM1Op, ExpOp, FPowIOp, FloorOp, FmaOp, IPowIOp, IsFiniteOp, IsInfOp, IsNaNOp,
19    IsNormalOp, Log1pOp, Log2Op, Log10Op, LogOp, PowFOp, RoundEvenOp, RoundOp, RsqrtOp, SinOp,
20    SincosOp, SinhOp, SqrtOp, TanOp, TanhOp, TruncOp,
21};