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
42
43
44
45
46
47
48
49
50
51
52
53
//! 2D Euclidean Geometric Algebra types.
//!
//! This module provides specialized types for 2D Euclidean space `Cl(2,0,0)`.
//!
//! # Types by Grade
//!
//! | Grade | Type | Components | Geometric Meaning |
//! |-------|------|------------|-------------------|
//! | 0 | scalar | 1 | Magnitude/weight |
//! | 1 | [`Vector`] | e₁, e₂ | Direction/position |
//! | 2 | [`Bivector`] | e₁₂ | Oriented area (pseudoscalar) |
//!
//! # Complex Number Analogy
//!
//! The 2D even subalgebra (scalar + bivector) is isomorphic to complex numbers:
//! - Scalar part → real part
//! - Bivector `e₁₂` → imaginary unit `i` (since `e₁₂² = -1`)
//!
//! A [`Rotor`] is essentially a complex number of unit magnitude.
//!
//! # Example
//!
//! ```ignore
//! use clifford::ops::Transform;
//! use clifford::specialized::euclidean::dim2::{Vector, Rotor};
//! use std::f64::consts::FRAC_PI_2;
//!
//! // 90° rotation
//! let rotor = Rotor::from_angle(FRAC_PI_2);
//! let v = Vector::new(1.0, 0.0);
//! let rotated = rotor.transform(&v);
//!
//! assert!((rotated.y() - 1.0).abs() < 1e-10);
//! ```
// Generated code (do not edit manually)
// Domain-specific extensions
// Re-export generated types and wrapper aliases
pub use *;