|
GHC.Arr | Portability | non-portable (GHC extensions) | Stability | internal | Maintainer | cvs-ghc@haskell.org |
|
|
|
|
|
Description |
GHC's array implementation.
|
|
Synopsis |
|
class Ord a => Ix a where | | | indexError :: Show a => (a, a) -> a -> String -> b | | type IPr = (Int, Int) | | data Array i e = Array !i !i (Array# e) | | data STArray s i e = STArray !i !i (MutableArray# s e) | | arrEleBottom :: a | | array :: Ix i => (i, i) -> [(i, e)] -> Array i e | | unsafeArray :: Ix i => (i, i) -> [(Int, e)] -> Array i e | | fill :: MutableArray# s e -> (Int, e) -> STRep s a -> STRep s a | | done :: Ix i => i -> i -> MutableArray# s e -> STRep s (Array i e) | | listArray :: Ix i => (i, i) -> [e] -> Array i e | | (!) :: Ix i => Array i e -> i -> e | | unsafeAt :: Ix i => Array i e -> Int -> e | | bounds :: Ix i => Array i e -> (i, i) | | indices :: Ix i => Array i e -> [i] | | elems :: Ix i => Array i e -> [e] | | assocs :: Ix i => Array i e -> [(i, e)] | | accumArray :: Ix i => (e -> a -> e) -> e -> (i, i) -> [(i, a)] -> Array i e | | unsafeAccumArray :: Ix i => (e -> a -> e) -> e -> (i, i) -> [(Int, a)] -> Array i e | | adjust :: (e -> a -> e) -> MutableArray# s e -> (Int, a) -> STRep s b -> STRep s b | | (//) :: Ix i => Array i e -> [(i, e)] -> Array i e | | unsafeReplace :: Ix i => Array i e -> [(Int, e)] -> Array i e | | accum :: Ix i => (e -> a -> e) -> Array i e -> [(i, a)] -> Array i e | | unsafeAccum :: Ix i => (e -> a -> e) -> Array i e -> [(Int, a)] -> Array i e | | amap :: Ix i => (a -> b) -> Array i a -> Array i b | | ixmap :: (Ix i, Ix j) => (i, i) -> (i -> j) -> Array j e -> Array i e | | eqArray :: (Ix i, Eq e) => Array i e -> Array i e -> Bool | | cmpArray :: (Ix i, Ord e) => Array i e -> Array i e -> Ordering | | cmpIntArray :: Ord e => Array Int e -> Array Int e -> Ordering | | newSTArray :: Ix i => (i, i) -> e -> ST s (STArray s i e) | | boundsSTArray :: STArray s i e -> (i, i) | | readSTArray :: Ix i => STArray s i e -> i -> ST s e | | unsafeReadSTArray :: Ix i => STArray s i e -> Int -> ST s e | | writeSTArray :: Ix i => STArray s i e -> i -> e -> ST s () | | unsafeWriteSTArray :: Ix i => STArray s i e -> Int -> e -> ST s () | | freezeSTArray :: Ix i => STArray s i e -> ST s (Array i e) | | unsafeFreezeSTArray :: Ix i => STArray s i e -> ST s (Array i e) | | thawSTArray :: Ix i => Array i e -> ST s (STArray s i e) | | unsafeThawSTArray :: Ix i => Array i e -> ST s (STArray s i e) |
|
|
Documentation |
|
class Ord a => Ix a where |
| Methods | range :: (a, a) -> [a] | | index :: (a, a) -> a -> Int | | unsafeIndex :: (a, a) -> a -> Int | | inRange :: (a, a) -> a -> Bool | | rangeSize :: (a, a) -> Int | | unsafeRangeSize :: (a, a) -> Int |
| | Instances | Ix Char | Ix Int | Ix Integer | Ix Bool | Ix Ordering | Ix () | (Ix a, Ix b) => Ix (a, b) | (Ix a1, Ix a2, Ix a3) => Ix (a1, a2, a3) | (Ix a1, Ix a2, Ix a3, Ix a4) => Ix (a1, a2, a3, a4) | (Ix a1, Ix a2, Ix a3, Ix a4, Ix a5) => Ix (a1, a2, a3, a4, a5) | Ix SeekMode | Ix IOMode | Ix Int8 | Ix Int16 | Ix Int32 | Ix Int64 | Ix Word | Ix Word8 | Ix Word16 | Ix Word32 | Ix Word64 | Ix Month | Ix Day |
|
|
|
indexError :: Show a => (a, a) -> a -> String -> b |
|
type IPr = (Int, Int) |
|
data Array i e |
|
|
data STArray s i e |
Mutable, boxed, non-strict arrays in the ST monad. The type
arguments are as follows:
- s: the state variable argument for the ST type
- i: the index type of the array (should be an instance of Ix)
- e: the element type of the array.
| Constructors | STArray !i !i (MutableArray# s e) | |
| Instances | |
|
|
arrEleBottom :: a |
|
array :: Ix i => (i, i) -> [(i, e)] -> Array i e |
|
unsafeArray :: Ix i => (i, i) -> [(Int, e)] -> Array i e |
|
fill :: MutableArray# s e -> (Int, e) -> STRep s a -> STRep s a |
|
done :: Ix i => i -> i -> MutableArray# s e -> STRep s (Array i e) |
|
listArray :: Ix i => (i, i) -> [e] -> Array i e |
|
(!) :: Ix i => Array i e -> i -> e |
|
unsafeAt :: Ix i => Array i e -> Int -> e |
|
bounds :: Ix i => Array i e -> (i, i) |
|
indices :: Ix i => Array i e -> [i] |
|
elems :: Ix i => Array i e -> [e] |
|
assocs :: Ix i => Array i e -> [(i, e)] |
|
accumArray :: Ix i => (e -> a -> e) -> e -> (i, i) -> [(i, a)] -> Array i e |
|
unsafeAccumArray :: Ix i => (e -> a -> e) -> e -> (i, i) -> [(Int, a)] -> Array i e |
|
adjust :: (e -> a -> e) -> MutableArray# s e -> (Int, a) -> STRep s b -> STRep s b |
|
(//) :: Ix i => Array i e -> [(i, e)] -> Array i e |
|
unsafeReplace :: Ix i => Array i e -> [(Int, e)] -> Array i e |
|
accum :: Ix i => (e -> a -> e) -> Array i e -> [(i, a)] -> Array i e |
|
unsafeAccum :: Ix i => (e -> a -> e) -> Array i e -> [(Int, a)] -> Array i e |
|
amap :: Ix i => (a -> b) -> Array i a -> Array i b |
|
ixmap :: (Ix i, Ix j) => (i, i) -> (i -> j) -> Array j e -> Array i e |
|
eqArray :: (Ix i, Eq e) => Array i e -> Array i e -> Bool |
|
cmpArray :: (Ix i, Ord e) => Array i e -> Array i e -> Ordering |
|
cmpIntArray :: Ord e => Array Int e -> Array Int e -> Ordering |
|
newSTArray :: Ix i => (i, i) -> e -> ST s (STArray s i e) |
|
boundsSTArray :: STArray s i e -> (i, i) |
|
readSTArray :: Ix i => STArray s i e -> i -> ST s e |
|
unsafeReadSTArray :: Ix i => STArray s i e -> Int -> ST s e |
|
writeSTArray :: Ix i => STArray s i e -> i -> e -> ST s () |
|
unsafeWriteSTArray :: Ix i => STArray s i e -> Int -> e -> ST s () |
|
freezeSTArray :: Ix i => STArray s i e -> ST s (Array i e) |
|
unsafeFreezeSTArray :: Ix i => STArray s i e -> ST s (Array i e) |
|
thawSTArray :: Ix i => Array i e -> ST s (STArray s i e) |
|
unsafeThawSTArray :: Ix i => Array i e -> ST s (STArray s i e) |
|
Produced by Haddock version 0.6 |