|
Data.ArrayBZ.Internals.Unboxed | Portability | GHC/Hugs | Stability | experimental | Maintainer | Bulat Ziganshin <Bulat.Ziganshin@gmail.com> |
|
|
|
Description |
Unboxed arrays
Based on the idea of Oleg Kiselyov
(see http:www.haskell.orgpipermailhaskell-cafe2004-July006400.html)
|
|
Synopsis |
|
data UnboxedMutableArray s i e = UMA !i !i !(MUVec s e) | | type STUArray = UnboxedMutableArray | | stUArrayTc :: TyCon | | type IOUArray = IOSpecific3 UnboxedMutableArray | | iOUArrayTc :: TyCon | | data UArray i e = UA !i !i !(UVec e) | | uArrayTc :: TyCon | | withNewArray :: (STorIO t t2, Ix i, MArray (UnboxedMutableArray t2) e t) => (i, i) -> e -> (UnboxedMutableArray t2 i e -> t t1) -> t (UArray i e) | | withArrayCopy :: (Ix t, Unboxed t1, STorIO t2 s) => UArray t t1 -> (UnboxedMutableArray s t t1 -> t2 t3) -> t2 (UArray t t1) | | doReplace :: (Ix i, MArray a e t) => [(Int, e)] -> a i e -> t () | | doAccum :: (Ix i, MArray a t1 t2) => (t1 -> t -> t1) -> [(Int, t)] -> a i t1 -> t2 () | | freezeUA :: (STorIO t3 t, Unboxed t2, Ix t1) => UnboxedMutableArray t t1 t2 -> t3 (UArray t1 t2) | | thawUA :: (STorIO t2 s, Unboxed t1, Ix t) => UArray t t1 -> t2 (UnboxedMutableArray s t t1) | | unsafeFreezeUA :: STorIO t3 t1 => UnboxedMutableArray t1 t t2 -> t3 (UArray t t2) | | unsafeThawUA :: STorIO t2 s => UArray t t1 -> t2 (UnboxedMutableArray s t t1) | | sizeOfUA :: forall i e. (Ix i, Unboxed e) => UArray i e -> Int | | sizeOfUMA :: forall i e s. (Ix i, Unboxed e) => UnboxedMutableArray s i e -> Int | | freezeIOUArray :: (Unboxed e, HasDefaultValue e, Ix i) => IOUArray i e -> IO (UArray i e) | | thawIOUArray :: (Unboxed e, HasDefaultValue e, Ix i) => UArray i e -> IO (IOUArray i e) | | unsafeFreezeIOUArray :: (Unboxed e, HasDefaultValue e, Ix i) => IOUArray i e -> IO (UArray i e) | | unsafeThawIOUArray :: (Unboxed e, HasDefaultValue e, Ix i) => UArray i e -> IO (IOUArray i e) | | freezeSTUArray :: (Unboxed e, HasDefaultValue e, Ix i) => STUArray s i e -> ST s (UArray i e) | | thawSTUArray :: (Unboxed e, HasDefaultValue e, Ix i) => UArray i e -> ST s (STUArray s i e) | | unsafeFreezeSTUArray :: (Unboxed e, HasDefaultValue e, Ix i) => STUArray s i e -> ST s (UArray i e) | | unsafeThawSTUArray :: (Unboxed e, HasDefaultValue e, Ix i) => UArray i e -> ST s (STUArray s i e) | | castUArray :: forall i e e'. (Ix i, Enum i, Unboxed e, Unboxed e') => UArray i e -> UArray i e' | | castIOUArray :: forall i e e'. (Ix i, Enum i, Unboxed e, Unboxed e') => IOUArray i e -> IOUArray i e' | | castSTUArray :: forall i e e' s. (Ix i, Enum i, Unboxed e, Unboxed e') => STUArray s i e -> STUArray s i e' |
|
|
Documentation |
|
data UnboxedMutableArray s i e | Source |
|
Unboxed mutable arrays
| Constructors | | Instances | |
|
|
|
Unboxed mutable arrays in ST monad
|
|
|
|
|
Unboxed mutable arrays in IO monad
|
|
|
|
|
Unboxed arrays
| Constructors | | Instances | Typeable2 UArray | HasBounds UArray | (Unboxed e, HasDefaultValue e) => IArray UArray e | (Ix i, Eq i, Eq e, Unboxed e, HasDefaultValue e) => Eq (UArray i e) | (Ix i, Ord i, Ord e, Unboxed e, HasDefaultValue e) => Ord (UArray i e) | (Ix i, Show i, Show e, Unboxed e, HasDefaultValue e) => Show (UArray i e) |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Array size in bytes
|
|
|
|
|
Freeze/thaw rules for IOUArray
|
|
|
|
|
|
|
|
|
Freeze/thaw rules for STUArray
|
|
|
|
|
|
|
|
|
Casts to arrays with different element type
Casts an UArray with one element type into UArray with a
different element type. All the elements of the resulting array
are undefined (unless you know what you're doing...).
Upper array bound is recalculated according to elements size,
for example UArray (1,2) Word32 -> UArray (1,8) Word8
|
|
|
Casts an IOUArray with one element type into IOUArray with a different
element type (upper bound is recalculated).
|
|
|
Casts an STUArray with one element type into STUArray with a different
element type (upper bound is recalculated).
|
|
Produced by Haddock version 2.4.2 |