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
41
//! Clifford and Weyl algebras, quadratic forms, arithmetic, and combinatorial games.
//!
//! The pure-Rust core is generic over [`scalar::Scalar`]. Optional PyO3
//! bindings are available behind the `python` feature. The public API has five
//! pillars:
//!
//! - [`scalar`] provides exact, finite, valued, global, surreal, and ordinal
//! coefficient models.
//! - [`clifford`] provides metrics, multivectors, products, versors, spinors,
//! and geometric-algebra constructions.
//! - [`forms`] provides quadratic-form classification, Witt and Brauer theory,
//! Springer decompositions, and local--global and integral arithmetic.
//! - [`games`] provides finite impartial, short partizan, misère, loopy,
//! thermographic, and game-exterior constructions.
//! - [`weyl`] provides finite-support PBW Weyl algebras and their polynomial
//! differential action.
//!
//! Arbitrary partizan games form an abelian group, not a commutative scalar
//! ring; game-valued constructions therefore remain separate from the generic
//! Clifford engine. See the repository `README.md` for supported backends and
//! representation limits.
// This crate is matrix/algebra-heavy throughout: linalg solves, Gram matrices,
// Witt/carry formulas, Dickson/symplectic reductions, and spinor reps all walk
// index-parallel arrays where explicit `for i in 0..n` reads clearer than the
// iterator-adapter rewrite (the body indexes several arrays by the same `i`,
// or reads `out[i-1]` while writing `out[i]`). `needless_range_loop` is a false
// positive at every one of those sites, so it is allowed crate-wide here rather
// than suppressed piecemeal at a dozen matrix modules.
pub