| Portability | non-portable | 
|---|---|
| Stability | experimental | 
| Maintainer | Edward Kmett <ekmett@gmail.com> | 
| Safe Haskell | None | 
Data.Vector.Array
Contents
Description
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
Instances
| 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
Instances
| (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
Constructors
| MV_Complex :: !Int -> !(Mutable (Arr a) s a) -> !(Mutable (Arr a) s a) -> MV_Complex s (Complex a) | 
Instances
| (Arrayed a, RealFloat a) => MVector MV_Complex (Complex a) | 
Instances
| (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) |