Crate deep_causality_num

Crate deep_causality_num 

Source

Re-exports§

pub use crate::float::Float;
pub use crate::num::Num;

Modules§

float
num
utils_tests

Structs§

Complex
Represents a complex number with real and imaginary parts.
Octonion
Represents an octonion number with a scalar part and seven imaginary parts.
Quaternion

Traits§

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.

Type Aliases§

Complex32
Complex64
Matrix3
Octonion32
Octonion64
Quaternion32
Quaternion64
Vector3