fixed-vector- Generic vectors with statically known size.

Safe HaskellNone




Unboxed vectors with fixed length.



data family Vec n a Source


Unbox n a => VectorN Vec n a 
Unbox n a => Vector (Vec n) a 
Arity n => IVector (Vec n) Double 
Arity n => IVector (Vec n) Float 
Arity n => IVector (Vec n) Char 
Arity n => IVector (Vec n) Word64 
Arity n => IVector (Vec n) Word32 
Arity n => IVector (Vec n) Word16 
Arity n => IVector (Vec n) Word8 
Arity n => IVector (Vec n) Word 
Arity n => IVector (Vec n) Int64 
Arity n => IVector (Vec n) Int32 
Arity n => IVector (Vec n) Int16 
Arity n => IVector (Vec n) Int8 
Arity n => IVector (Vec n) Int 
Arity n => IVector (Vec n) Bool 
Arity n => IVector (Vec n) () 
(Arity n, IVector (Vec n) a) => IVector (Vec n) (Complex a) 
(Arity n, IVector (Vec n) a, IVector (Vec n) b) => IVector (Vec n) (a, b) 
(Arity n, Vector (Vec n) a, Vector (Vec n) b, Vector (Vec n) c, IVector (Vec n) a, IVector (Vec n) b, IVector (Vec n) c) => IVector (Vec n) (a, b, c) 
(Unbox n a, Eq a) => Eq (Vec n a) 
(Typeable * n, Unbox n a, Data a) => Data (Vec n a) 
(Unbox n a, Ord a) => Ord (Vec n a) 
(Arity n, Show a, Unbox n a) => Show (Vec n a) 
(Storable a, Unbox n a) => Storable (Vec n a) 
(Unbox n a, Monoid a) => Monoid (Vec n a) 
(Arity n, Unbox n a, NFData a) => NFData (Vec n a) 
Typeable (* -> * -> *) Vec 
data Vec n Double = V_Double (Vec n Double) 
data Vec n Float = V_Float (Vec n Float) 
data Vec n Char = V_Char (Vec n Char) 
data Vec n Word64 = V_Word64 (Vec n Word64) 
data Vec n Word32 = V_Word32 (Vec n Word32) 
data Vec n Word16 = V_Word16 (Vec n Word16) 
data Vec n Word8 = V_Word8 (Vec n Word8) 
data Vec n Word = V_Word (Vec n Word) 
data Vec n Int64 = V_Int64 (Vec n Int64) 
data Vec n Int32 = V_Int32 (Vec n Int32) 
data Vec n Int16 = V_Int16 (Vec n Int16) 
data Vec n Int8 = V_Int8 (Vec n Int8) 
data Vec n Int = V_Int (Vec n Int) 
data Vec n Bool = V_Bool (Vec n Word8) 
data Vec n () = V_Unit 
data Vec n (Complex a) = V_Complex (Vec n (a, a)) 
data Vec n (a, b) = V_2 !(Vec n a) !(Vec n b) 
data Vec n (a, b, c) = V_3 !(Vec n a) !(Vec n b) !(Vec n c) 
type Dim (Vec n) = n 
type Mutable (Vec n) = MVec n 

type Vec1 = Vec (S Z) Source

type Vec2 = Vec (S (S Z)) Source

type Vec3 = Vec (S (S (S Z))) Source

type Vec4 = Vec (S (S (S (S Z)))) Source

type Vec5 = Vec (S (S (S (S (S Z))))) Source


data family MVec n s a Source


Arity n => MVector (MVec n) Double 
Arity n => MVector (MVec n) Float 
Arity n => MVector (MVec n) Char 
Arity n => MVector (MVec n) Word64 
Arity n => MVector (MVec n) Word32 
Arity n => MVector (MVec n) Word16 
Arity n => MVector (MVec n) Word8 
Arity n => MVector (MVec n) Word 
Arity n => MVector (MVec n) Int64 
Arity n => MVector (MVec n) Int32 
Arity n => MVector (MVec n) Int16 
Arity n => MVector (MVec n) Int8 
Arity n => MVector (MVec n) Int 
Arity n => MVector (MVec n) Bool 
Arity n => MVector (MVec n) () 
(Arity n, MVector (MVec n) a) => MVector (MVec n) (Complex a) 
(Arity n, MVector (MVec n) a, MVector (MVec n) b) => MVector (MVec n) (a, b) 
(Arity n, MVector (MVec n) a, MVector (MVec n) b, MVector (MVec n) c) => MVector (MVec n) (a, b, c) 
Typeable (* -> * -> * -> *) MVec 
data MVec n s Double = MV_Double (MVec n s Double) 
data MVec n s Float = MV_Float (MVec n s Float) 
data MVec n s Char = MV_Char (MVec n s Char) 
data MVec n s Word64 = MV_Word64 (MVec n s Word64) 
data MVec n s Word32 = MV_Word32 (MVec n s Word32) 
data MVec n s Word16 = MV_Word16 (MVec n s Word16) 
data MVec n s Word8 = MV_Word8 (MVec n s Word8) 
data MVec n s Word = MV_Word (MVec n s Word) 
data MVec n s Int64 = MV_Int64 (MVec n s Int64) 
data MVec n s Int32 = MV_Int32 (MVec n s Int32) 
data MVec n s Int16 = MV_Int16 (MVec n s Int16) 
data MVec n s Int8 = MV_Int8 (MVec n s Int8) 
data MVec n s Int = MV_Int (MVec n s Int) 
data MVec n s Bool = MV_Bool (MVec n s Word8) 
data MVec n s () = MV_Unit 
data MVec n s (Complex a) = MV_Complex (MVec n s (a, a)) 
data MVec n s (a, b) = MV_2 !(MVec n s a) !(MVec n s b) 
data MVec n s (a, b, c) = MV_3 !(MVec n s a) !(MVec n s b) !(MVec n s c) 
type DimM (MVec n) = n 

Type classes

class (Arity n, IVector (Vec n) a, MVector (MVec n) a) => Unbox n a Source


Arity n => Unbox n Double 
Arity n => Unbox n Float 
Arity n => Unbox n Char 
Arity n => Unbox n Word64 
Arity n => Unbox n Word32 
Arity n => Unbox n Word16 
Arity n => Unbox n Word8 
Arity n => Unbox n Word 
Arity n => Unbox n Int64 
Arity n => Unbox n Int32 
Arity n => Unbox n Int16 
Arity n => Unbox n Int8 
Arity n => Unbox n Int 
Arity n => Unbox n Bool 
Arity n => Unbox n () 
Unbox n a => Unbox n (Complex a) 
(Unbox n a, Unbox n b) => Unbox n (a, b) 
(Unbox n a, Unbox n b, Unbox n c) => Unbox n (a, b, c)