Portability | non-portable |
---|---|
Stability | experimental |
Maintainer | Edward Kmett <ekmett@gmail.com> |
Safe Haskell | None |
This module provides a choice of a best vector type for a given type that is as unboxed as possible.
- class (Vector (Arr a) a, Monoid (Arr a a)) => Arrayed a where
- type Arr a :: * -> *
- type Array a = Arr a a
- type MArray s a = Mutable (Arr a) s a
- data V_Complex where
- data MV_Complex where
- MV_Complex :: !Int -> !(Mutable (Arr a) s a) -> !(Mutable (Arr a) s a) -> MV_Complex s (Complex a)
- data V_Pair where
- data MV_Pair where
Documentation
class (Vector (Arr a) a, Monoid (Arr a a)) => Arrayed a Source
Arrayed Double | |
Arrayed Float | |
Arrayed Int | |
Arrayed Int8 | |
Arrayed Int16 | |
Arrayed Int32 | |
Arrayed Int64 | |
Arrayed Integer | |
Arrayed Word | |
Arrayed Word8 | |
Arrayed Word16 | |
Arrayed Word32 | |
Arrayed Word64 | |
Arrayed () | |
Arrayed [a] | |
Arrayed (IO a) | |
(Arrayed a, RealFloat a) => Arrayed (Complex a) | |
Arrayed (Maybe a) | |
Arrayed (Either a b) | |
(Arrayed a, Arrayed b) => Arrayed (a, b) |
A vector of product-like data types that know how to store themselves in a Vector optimally, maximizing the level of unboxing provided, but not guaranteeing to unbox it all.
Internals
(Arrayed a, RealFloat a) => Vector V_Complex (Complex a) | |
(Arrayed a, RealFloat a, Eq a, ~ * b (Complex a)) => Eq (V_Complex b) | |
(Arrayed a, RealFloat a, Read a, ~ * b (Complex a)) => Read (V_Complex b) | |
(Arrayed a, RealFloat a, Show a, ~ * b (Complex a)) => Show (V_Complex b) | |
(Arrayed a, RealFloat a, ~ * b (Complex a)) => Monoid (V_Complex b) |
data MV_Complex whereSource
MV_Complex :: !Int -> !(Mutable (Arr a) s a) -> !(Mutable (Arr a) s a) -> MV_Complex s (Complex a) |
(Arrayed a, RealFloat a) => MVector MV_Complex (Complex a) |
(Arrayed a, Arrayed b) => Vector V_Pair (a, b) | |
(Arrayed a, Arrayed b, Eq a, Eq b, ~ * c (a, b)) => Eq (V_Pair c) | |
(Arrayed a, Arrayed b, Read a, Read b, ~ * c (a, b)) => Read (V_Pair c) | |
(Arrayed a, Arrayed b, Show a, Show b, ~ * c (a, b)) => Show (V_Pair c) | |
(Arrayed a, Arrayed b, ~ * c (a, b)) => Monoid (V_Pair c) |