Skip to main content

pga2d/
lib.rs

1pub mod direction;
2pub mod line;
3pub mod point;
4pub mod pseudoscalar;
5
6/// Grade-0 Blade
7pub type Scalar = f32;
8
9/// The outer product, also known as the wedge product.
10pub trait Meet<Rhs> {
11    type Output;
12
13    fn meet(self, rhs: Rhs) -> Self::Output;
14}
15
16/// The left contraction inner product.
17pub trait Inner<Rhs> {
18    type Output;
19
20    fn inner(self, rhs: Rhs) -> Self::Output;
21}
22
23pub trait Dual {
24    type Output;
25
26    fn dual(self) -> Self::Output;
27}
28
29/// The regressive product.
30pub trait Join<Rhs> {
31    type Output;
32
33    fn join(self, rhs: Rhs) -> Self::Output;
34}