use super::*;
pub type BladeN<T,N> = Blade<T,N,Dyn>;
pub type Blade0<T> = Blade<T,U0,Dyn>;
pub type Blade1<T> = Blade<T,U1,Dyn>;
pub type Blade2<T> = Blade<T,U2,Dyn>;
pub type Blade3<T> = Blade<T,U3,Dyn>;
pub type Blade4<T> = Blade<T,U4,Dyn>;
pub type Blade5<T> = Blade<T,U5,Dyn>;
pub type Blade6<T> = Blade<T,U6,Dyn>;
pub type BladeD<T> = Blade<T,Dyn,Dyn>;
pub type Even0<T> = Even<T,U0>;
pub type Even1<T> = Even<T,U1>;
pub type Even2<T> = Even<T,U2>;
pub type Even3<T> = Even<T,U3>;
pub type Even4<T> = Even<T,U4>;
pub type Even5<T> = Even<T,U5>;
pub type Even6<T> = Even<T,U6>;
pub type EvenD<T> = Even<T,Dyn>;
pub type Odd0<T> = Odd<T,U0>;
pub type Odd1<T> = Odd<T,U1>;
pub type Odd2<T> = Odd<T,U2>;
pub type Odd3<T> = Odd<T,U3>;
pub type Odd4<T> = Odd<T,U4>;
pub type Odd5<T> = Odd<T,U5>;
pub type Odd6<T> = Odd<T,U6>;
pub type OddD<T> = Odd<T,Dyn>;
pub type Multivector0<T> = Multivector<T,U0>;
pub type Multivector1<T> = Multivector<T,U1>;
pub type Multivector2<T> = Multivector<T,U2>;
pub type Multivector3<T> = Multivector<T,U3>;
pub type Multivector4<T> = Multivector<T,U4>;
pub type Multivector5<T> = Multivector<T,U5>;
pub type Multivector6<T> = Multivector<T,U6>;
pub type MultivectorD<T> = Multivector<T,Dyn>;
pub type Scalar<T,N> = Blade<T,N,U0>;
pub type Scalar0<T> = Scalar<T,U0>;
pub type Scalar1<T> = Scalar<T,U1>;
pub type Scalar2<T> = Scalar<T,U2>;
pub type Scalar3<T> = Scalar<T,U3>;
pub type Scalar4<T> = Scalar<T,U4>;
pub type Scalar5<T> = Scalar<T,U5>;
pub type Scalar6<T> = Scalar<T,U6>;
pub type ScalarD<T> = Scalar<T,Dyn>;
pub type VecN<T,N> = Blade<T,N,U1>;
pub type Vec1<T> = VecN<T,U1>;
pub type Vec2<T> = VecN<T,U2>;
pub type Vec3<T> = VecN<T,U3>;
pub type Vec4<T> = VecN<T,U4>;
pub type Vec5<T> = VecN<T,U5>;
pub type Vec6<T> = VecN<T,U6>;
pub type VecD<T> = VecN<T,Dyn>;
pub type BiVecN<T,N> = Blade<T,N,U2>;
pub type BiVec2<T> = BiVecN<T,U2>;
pub type BiVec3<T> = BiVecN<T,U3>;
pub type BiVec4<T> = BiVecN<T,U4>;
pub type BiVec5<T> = BiVecN<T,U5>;
pub type BiVec6<T> = BiVecN<T,U6>;
pub type BiVecD<T> = BiVecN<T,Dyn>;
pub type TriVecN<T,N> = Blade<T,N,U3>;
pub type TriVec3<T> = TriVecN<T,U3>;
pub type TriVec4<T> = TriVecN<T,U4>;
pub type TriVec5<T> = TriVecN<T,U5>;
pub type TriVec6<T> = TriVecN<T,U6>;
pub type TriVecD<T> = TriVecN<T,Dyn>;
pub type QuadVecN<T,N> = Blade<T,N,U4>;
pub type QuadVec4<T> = QuadVecN<T,U4>;
pub type QuadVec5<T> = QuadVecN<T,U5>;
pub type QuadVec6<T> = QuadVecN<T,U6>;
pub type QuadVecD<T> = QuadVecN<T,Dyn>;
pub type PentVecN<T,N> = Blade<T,N,U5>;
pub type PentVec5<T> = PentVecN<T,U5>;
pub type PentVec6<T> = PentVecN<T,U6>;
pub type PentVecD<T> = PentVecN<T,Dyn>;
pub type HexVecN<T,N> = Blade<T,N,U6>;
pub type HexVec6<T> = HexVecN<T,U6>;
pub type HexVecD<T> = HexVecN<T,Dyn>;
pub type DualBlade<T,N,G> = Blade<T,N,DimDiff<N,G>>;
pub type PsuedoScalar<T,N> = Blade<T,N,N>;
pub type PsuedoVecN<T,N> = Blade<T,N,DimDiff<N,U1>>;