Skip to main content

versorc_math/
lib.rs

1// ============================================================================
2// VERSORC-MATH: CLIFFORD GEOMETRIC ALGEBRA & VERSOR OPERATORS ENGINE
3// License: Apache-2.0
4// ============================================================================
5
6#![allow(clippy::needless_range_loop)]
7
8pub mod signature;
9pub mod blade;
10pub mod multivector;
11pub mod versor;
12pub mod lattice;
13pub mod poincare;
14pub mod reduction;
15pub mod gpu;
16pub mod dod;
17pub mod cayley_klein;
18pub mod pga;
19pub mod cga;
20pub mod sta;
21pub mod quantization;
22pub mod kernels;
23#[cfg(feature = "python")]
24pub mod python;
25
26pub use signature::{
27    MetricSignature, SignatureCGA3D, SignatureEuclidean2D, SignatureEuclidean3D,
28    SignatureHamilton2D, SignatureMinkowski, SignaturePGA3D,
29};
30pub use blade::Blade;
31pub use multivector::{
32    Cl2, Cl3, ClCGA3D, ClHamilton, ClMinkowski, ClPGA3D, Multivector,
33};
34pub use versor::{
35    DualQuaternion, DyadicWalshVersor, HouseholderChain, HouseholderVersor, PlanarRotor,
36    PlanarSpinorBank, Quaternion, VersorAction,
37};
38pub use lattice::{
39    E8Lattice, E8LatticeCodebook, E8_CODEBOOK_SIZE, E8_DIMENSION, E8_NUM_CENTROIDS,
40    E8_NUM_ROOTS, EisensteinA3Lattice, EISENSTEIN_DIMENSION, EISENSTEIN_KISSING_NUMBER,
41};
42pub use poincare::{CayleyKleinSpace, PoincarePoint};
43pub use reduction::CartanDieudonneDecomposer;
44pub use gpu::shaders::*;
45#[cfg(feature = "vulkan")]
46pub use gpu::vulkan::*;
47pub use dod::*;
48pub use cayley_klein::*;
49pub use pga::*;
50pub use cga::*;
51pub use sta::*;
52pub use quantization::*;
53pub use kernels::*;
54
55pub mod prelude {
56    pub use crate::signature::*;
57    pub use crate::blade::Blade;
58    pub use crate::multivector::*;
59    pub use crate::versor::*;
60    pub use crate::lattice::*;
61    pub use crate::poincare::*;
62    pub use crate::reduction::*;
63    pub use crate::gpu::shaders::*;
64    #[cfg(feature = "vulkan")]
65    pub use crate::gpu::vulkan::*;
66    pub use crate::dod::*;
67    pub use crate::cayley_klein::*;
68    pub use crate::pga::*;
69    pub use crate::cga::*;
70    pub use crate::sta::*;
71    pub use crate::quantization::*;
72    pub use crate::kernels::*;
73}