1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
//! PyO3 bindings, split along the same pillars as the math core.
//!
//! Each scalar world (nimber / surreal / surcomplex / integer / omnific) gets
//! its own scalar type plus an `<World>Algebra` / `<World>MV` multivector pair,
//! stamped out by the `backend!` macro in [`engine`] — monomorphising the one
//! verified generic engine to a concrete scalar type, so there is no runtime
//! dispatch and no way to mix scalar worlds in one algebra.
//!
//! - [`scalars`] — the scalar types, their constructors, nim-field ops.
//! - [`engine`] — the `backend!` macro, the algebra/MV pairs, conformal GA.
//! - [`forms`] — the classifier / invariant bindings (trichotomy + Witt).
//! - [`games`] — partizan games and the game-group exterior algebra.
//!
//! Each submodule registers its own classes and functions through a
//! `pub(crate) fn register`, which the `#[pymodule]` entry point chains
//! together.
use *;