| Safe Haskell | None |
|---|---|
| Language | Haskell2010 |
Data.PrimitiveArray.Dense
Description
Dense primitive arrays where the lower index is zero (or the equivalent of zero for newtypes and enumerations).
Actual writes to data structures use a more safe write instead of
the unsafe unsafeWrite. Writes also tend to occur much less in DP
algorithms (say, N^2 writes for an N^3 time algorithm -- mostly reads
are being executed).
TODO consider if we want to force the lower index to be zero, or allow
non-zero lower indices. Will have to be considered together with the
Index.Class module!
TODO while Unboxed is, in princile, Hashable, we'd need the
corresponding VU.Vector instances ...
Unboxed, multidimensional arrays.
Instances
| (Index sh, Unbox elm) => PrimArrayOps Unboxed sh elm Source | |
| (Index sh, Unbox elm) => MPrimArrayOps Unboxed sh elm Source | |
| (Index sh, Unbox e, Unbox e') => PrimArrayMap Unboxed sh e e' Source | |
| (Eq sh, Eq e, Unbox e) => Eq (Unboxed sh e) Source | |
| (Read sh, Read e, Unbox e) => Read (Unboxed sh e) Source | |
| (Show sh, Show e, Unbox e) => Show (Unboxed sh e) Source | |
| Generic (Unboxed sh e) Source | |
| (ToJSON sh, ToJSON e, Unbox e) => ToJSON (Unboxed sh e) Source | |
| (FromJSON sh, FromJSON e, Unbox e) => FromJSON (Unboxed sh e) Source | |
| (Binary sh, Binary e, Unbox e) => Binary (Unboxed sh e) Source | |
| (Serialize sh, Serialize e, Unbox e) => Serialize (Unboxed sh e) Source | |
| NFData sh => NFData (MutArr m (Unboxed sh e)) Source | |
| NFData sh => NFData (Unboxed sh e) Source | |
| (Hashable sh, Hashable e, Hashable (Vector e), Unbox e) => Hashable (Unboxed sh e) Source | |
| data MutArr m (Unboxed sh e) = MUnboxed !sh !sh !(MVector (PrimState m) e) Source | |
| type Rep (Unboxed sh e) Source |
Boxed, multidimensional arrays.
Instances
| Index sh => PrimArrayOps Boxed sh elm Source | |
| Index sh => MPrimArrayOps Boxed sh elm Source | |
| Index sh => PrimArrayMap Boxed sh e e' Source | |
| (Eq sh, Eq e) => Eq (Boxed sh e) Source | |
| (Read sh, Read e) => Read (Boxed sh e) Source | |
| (Show sh, Show e) => Show (Boxed sh e) Source | |
| Generic (Boxed sh e) Source | |
| (ToJSON sh, ToJSON e) => ToJSON (Boxed sh e) Source | |
| (FromJSON sh, FromJSON e) => FromJSON (Boxed sh e) Source | |
| (Binary sh, Binary e) => Binary (Boxed sh e) Source | |
| (Serialize sh, Serialize e) => Serialize (Boxed sh e) Source | |
| NFData sh => NFData (MutArr m (Boxed sh e)) Source | |
| (NFData sh, NFData e) => NFData (Boxed sh e) Source | |
| (Hashable sh, Hashable e, Hashable (Vector e)) => Hashable (Boxed sh e) Source | |
| data MutArr m (Boxed sh e) = MBoxed !sh !sh !(MVector (PrimState m) e) Source | |
| type Rep (Boxed sh e) Source |