Copyright | (C) Frank Staals |
---|---|
License | see the LICENSE file |
Maintainer | Frank Staals |
Safe Haskell | None |
Language | Haskell2010 |
Synopsis
- class (ImplicitPeano d, Arity (FromPeano d)) => ImplicitArity d
- newtype VectorFamily (d :: PeanoNum) (r :: *) = VectorFamily (VectorFamilyF d r)
- type family VectorFamilyF (d :: PeanoNum) :: * -> * where ...
- type family FromPeano (d :: PeanoNum) :: Nat where ...
- type Two = S One
Documentation
class (ImplicitPeano d, Arity (FromPeano d)) => ImplicitArity d Source #
Instances
(ImplicitPeano d, Arity (FromPeano d)) => ImplicitArity d Source # | |
Defined in Data.Geometry.Vector.VectorFamilyPeano |
newtype VectorFamily (d :: PeanoNum) (r :: *) Source #
Datatype representing d dimensional vectors. The default implementation is based n VectorFixed. However, for small vectors we automatically select a more efficient representation.
VectorFamily (VectorFamilyF d r) |
Instances
type family VectorFamilyF (d :: PeanoNum) :: * -> * where ... Source #
Mapping between the implementation type, and the actual implementation.
VectorFamilyF Z = Const () | |
VectorFamilyF One = Identity | |
VectorFamilyF Two = V2 | |
VectorFamilyF Three = V3 | |
VectorFamilyF Four = V4 | |
VectorFamilyF (Many d) = Vector (FromPeano (Many d)) |