Crate deep_causality_num Copy item path Source pub use crate::float::Float ;pub use crate::num::Num ;float num utils_tests Complex Represents a complex number with real and imaginary parts. Octonion Represents an octonion number with a scalar part and seven imaginary parts. Quaternion AbelianGroup A marker trait for an Abelian Group (also known as a Commutative Group). AddGroup Represents an Additive Group . AddMagma An Additive Magma. AddMonoid Represents an Additive Monoid . Algebra Represents a Unital Algebra over a Ring. AsPrimitive A generic interface for casting between machine scalars with the
as operator, which admits narrowing and precision loss.
Implementers of this trait AsPrimitive should behave like a primitive
numeric type (e.g. a newtype around another primitive), and the
intended conversion must never fail. Associative Marker trait: Promises that (a * b) * c == a * (b * c).
IMPLEMENT THIS for f64, f32, Float, Complex, Quaternion.
DO NOT IMPLEMENT for Octonion. AssociativeAlgebra A marker trait for an Associative Algebra . AssociativeDivisionAlgebra A marker trait for an Associative Division Algebra . AssociativeRing A marker trait for an Associative Ring . Commutative Marker trait: Promises that a * b == b * a.
IMPLEMENT THIS for f64, f32, Float, Complex.
DO NOT IMPLEMENT for Quaternion, Octonion. CommutativeRing A marker trait for a Commutative Ring . ConstOne Defines an associated constant representing the multiplicative identity
element for Self. ConstZero Defines an associated constant representing the additive identity element
for Self. Distributive Marker trait: Promises that a * (b + c) == (a * b) + (a * c). DivGroup A marker trait for a Division Group . DivisionAlgebra Represents a Division Algebra over a Field. Field Represents a Field in abstract algebra. FloatAsScalar FloatFromInt FloatOption A trait to abstract over float types (f32, f64) and their Option variants. FromPrimitive A generic trait for converting a number to a value. Group Represents a Group in abstract algebra. IntAsScalar IntoFloat InvMonoid Represents a Multiplicative Monoid with the additional property
that every element has a multiplicative inverse. Module Represents a Module over a Ring. MulGroup Represents a Multiplicative Group . MulMagma MulMonoid Represents a Multiplicative Monoid . NumAssign The trait for Num types which also implement assignment operators. NumAssignOps Generic trait for types implementing numeric assignment operators (like +=). NumAssignRef The trait for NumAssign types which also implement assignment operations
taking the second operand by reference. NumCast An interface for casting between machine scalars. NumOps Generic trait for types implementing basic numeric operations NumRef The trait for Num types which also implement numeric operations taking
the second operand by reference. One Defines a multiplicative identity element for Self. RealField Represents an ordered Field with additional operations for calculus and analysis. RefNum The trait for Num references which implement numeric operations, taking the
second operand either by value or by reference. Ring Represents a Ring in abstract algebra. Rotation A trait for types that can be rotated in 3D space (or the Bloch Sphere). ToPrimitive Zero Defines an additive identity element for Self. Complex32 Complex64 Matrix3 Octonion32 Octonion64 Quaternion32 Quaternion64 Vector3