deep_causality_num/
lib.rs1#![cfg_attr(not(feature = "std"), no_std)]
7extern crate core;
8
9mod algebra;
10mod alias;
11mod cast;
12mod complex;
13pub mod float;
14mod float_106;
15mod float_option;
16mod identity;
17pub mod num;
18mod ops;
19pub mod utils_tests;
20
21pub use crate::alias::{Matrix3, Vector3};
23
24pub use crate::algebra::algebra_assoc::AssociativeAlgebra;
26pub use crate::algebra::algebra_assoc_div::AssociativeDivisionAlgebra;
27pub use crate::algebra::algebra_base::Algebra;
28pub use crate::algebra::algebra_div::DivisionAlgebra;
29pub use crate::algebra::algebra_properties::{Associative, Commutative, Distributive};
30pub use crate::algebra::domain_euclidean::EuclideanDomain;
31pub use crate::algebra::field::Field;
32pub use crate::algebra::field_complex::ComplexField;
33pub use crate::algebra::field_real::RealField;
34pub use crate::algebra::group::Group;
35pub use crate::algebra::group_abelian::AbelianGroup;
36pub use crate::algebra::group_add::AddGroup;
37pub use crate::algebra::group_div::DivGroup;
38pub use crate::algebra::group_mul::MulGroup;
39pub use crate::algebra::magma::{AddMagma, MulMagma};
40pub use crate::algebra::module::Module;
41pub use crate::algebra::monoid::{AddMonoid, InvMonoid, MulMonoid};
42pub use crate::algebra::ring::Ring;
43pub use crate::algebra::ring_associative::AssociativeRing;
44pub use crate::algebra::ring_com::CommutativeRing;
45pub use crate::algebra::rotation::Rotation;
46pub use crate::algebra::semigroup::{AddSemigroup, MulSemigroup};
47
48pub use crate::cast::as_primitive::AsPrimitive;
50pub use crate::cast::as_scalar::float_as_scalar_impl::FloatAsScalar;
51pub use crate::cast::as_scalar::int_as_scalar_impl::IntAsScalar;
52pub use crate::cast::from_primitive::FromPrimitive;
53pub use crate::cast::num_cast::NumCast;
54pub use crate::cast::to_float::{FloatFromInt, IntoFloat};
55pub use crate::cast::to_primitive::ToPrimitive;
56
57pub use crate::complex::complex_number::{Complex, Complex32, Complex64};
59pub use crate::complex::octonion_number::{Octonion, Octonion32, Octonion64};
60pub use crate::complex::quaternion_number::{Quaternion, Quaternion32, Quaternion64};
61
62pub use crate::float::Float;
64pub use crate::float_106::Float106;
65pub use crate::float_option::FloatOption;
66
67pub use crate::identity::one::{ConstOne, One};
69pub use crate::identity::zero::{ConstZero, Zero};
70pub use crate::num::Num;
71pub use crate::ops::num_ops::*;
72
73mod integer;
75pub use crate::integer::{Integer, SignedInt, UnsignedInt};