Skip to main content

Crate deep_causality_num

Crate deep_causality_num 

Source

Re-exports§

pub use crate::iso::AlgebraIso;
pub use crate::iso::DivisionAlgebraIso;
pub use crate::iso::FieldIso;
pub use crate::iso::GroupIso;
pub use crate::iso::RingIso;

Modules§

iso
Tier 1 structure-preserving isomorphism marker subtraits.
utils_tests

Structs§

Complex
Represents a complex number with real and imaginary parts.
Dual
A dual number a + b·ε where the infinitesimal ε satisfies ε² = 0.
Float106
A high-precision 106bit floating point number represented as the sum of two f64s.
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.
AddSemigroup
Represents an Additive Semigroup.
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.
ComplexField
Represents a Complex Field — a field extension of the reals with complex conjugation and component access.
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.
EuclideanDomain
Represents a Euclidean Domain.
Field
Represents a Field in abstract algebra.
Float
Float requires the in-place arithmetic operators (+=, -=, *=, /=) in addition to the by-value ones from Num. Every real floating-point type supports them, and they let the algebra tower derive AddMonoid/Field/Real/… for any T: Float — so a new float type implements Float and inherits the whole tower through the blanket impls (impl<T: Float> Real for T, etc.).
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
Integer
A trait for primitive integer types.
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.
MulSemigroup
Represents a Multiplicative Semigroup.
Normed
A value with a real modulus and real scaling: the bridge that lets generic code treat a real (f64) and a complex (Complex<f64>) uniformly for norm work.
Num
The base trait for numeric types, covering 0 and 1 values, comparisons, basic numeric operations, and string conversion.
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.
Real
An analytic real scalar: commutative-ring arithmetic plus the elementary functions, constants, ordering, rounding, and exceptional-value predicates of the real numbers — without field invertibility.
RealField
An ordered Field that is also an analytic real scalar.
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).
Scalar
Scalar sits in the real tower between Real and RealField: it adds division to Real but, unlike a field, does not require a total inverse. That is deliberate, so that Dual qualifies — its ε component is a zero divisor, so it has division yet is not a field. The deep_causality_calculus crate writes its differentiation and integration operators against Scalar, so a single model evaluates at f64 (the value) and at Dual (the derivative).
SignedInt
A trait for signed integer types.
ToPrimitive
UnsignedInt
A trait for unsigned integer types.
Zero
Defines an additive identity element for Self.

Type Aliases§

Complex32
Complex64
Matrix3
Octonion32
Octonion64
Quaternion32
Quaternion64
Vector3