License | BSD-style |
---|---|
Maintainer | Vincent Hanquez <[email protected]> |
Stability | experimental |
Portability | portable |
Safe Haskell | None |
Language | Haskell2010 |
Foundation.Array
Description
Simple Array and Almost-Array-like data structure
Generally accessible in o(1)
Synopsis
- data Array a
- data MArray a st
- data UArray ty
- data MUArray ty st
- data ChunkedUArray ty
- data Bitmap
- data MutableBitmap st
- class Eq ty => PrimType ty
- data OutOfBound
Documentation
Array of a
Instances
Mutable Array of a
Instances
MutableCollection (MArray ty) Source # | |||||||||||||
Defined in Foundation.Collection.Mutable Associated Types
Methods unsafeThaw :: PrimMonad prim => MutableFreezed (MArray ty) -> prim (MArray ty (PrimState prim)) Source # unsafeFreeze :: PrimMonad prim => MArray ty (PrimState prim) -> prim (MutableFreezed (MArray ty)) Source # thaw :: PrimMonad prim => MutableFreezed (MArray ty) -> prim (MArray ty (PrimState prim)) Source # freeze :: PrimMonad prim => MArray ty (PrimState prim) -> prim (MutableFreezed (MArray ty)) Source # mutNew :: PrimMonad prim => CountOf (MutableValue (MArray ty)) -> prim (MArray ty (PrimState prim)) Source # mutUnsafeWrite :: PrimMonad prim => MArray ty (PrimState prim) -> MutableKey (MArray ty) -> MutableValue (MArray ty) -> prim () Source # mutWrite :: PrimMonad prim => MArray ty (PrimState prim) -> MutableKey (MArray ty) -> MutableValue (MArray ty) -> prim () Source # mutUnsafeRead :: PrimMonad prim => MArray ty (PrimState prim) -> MutableKey (MArray ty) -> prim (MutableValue (MArray ty)) Source # mutRead :: PrimMonad prim => MArray ty (PrimState prim) -> MutableKey (MArray ty) -> prim (MutableValue (MArray ty)) Source # | |||||||||||||
(PrimMonad prim, st ~ PrimState prim) => RandomAccess (MArray ty st) prim ty | |||||||||||||
type MutableFreezed (MArray ty) Source # | |||||||||||||
Defined in Foundation.Collection.Mutable | |||||||||||||
type MutableKey (MArray ty) Source # | |||||||||||||
Defined in Foundation.Collection.Mutable | |||||||||||||
type MutableValue (MArray ty) Source # | |||||||||||||
Defined in Foundation.Collection.Mutable |
An array of type built on top of GHC primitive.
The elements need to have fixed sized and the representation is a packed contiguous array in memory that can easily be passed to foreign interface
Instances
From AsciiString (UArray Word8) | |||||||||
Defined in Basement.From Methods from :: AsciiString -> UArray Word8 # | |||||||||
From String (UArray Word8) | |||||||||
NormalForm (UArray ty) | |||||||||
Defined in Basement.UArray.Base Methods toNormalForm :: UArray ty -> () # | |||||||||
PrimType ty => Buildable (UArray ty) Source # | |||||||||
Defined in Foundation.Collection.Buildable Associated Types
Methods append :: forall (prim :: Type -> Type) err. PrimMonad prim => Element (UArray ty) -> Builder (UArray ty) (Mutable (UArray ty)) (Step (UArray ty)) prim err () Source # build :: PrimMonad prim => Int -> Builder (UArray ty) (Mutable (UArray ty)) (Step (UArray ty)) prim err () -> prim (Either err (UArray ty)) Source # | |||||||||
PrimType ty => Collection (UArray ty) Source # | |||||||||
Defined in Foundation.Collection.Collection Methods null :: UArray ty -> Bool Source # length :: UArray ty -> CountOf (Element (UArray ty)) Source # elem :: (Eq a, a ~ Element (UArray ty)) => Element (UArray ty) -> UArray ty -> Bool Source # notElem :: (Eq a, a ~ Element (UArray ty)) => Element (UArray ty) -> UArray ty -> Bool Source # maximum :: (Ord a, a ~ Element (UArray ty)) => NonEmpty (UArray ty) -> Element (UArray ty) Source # minimum :: (Ord a, a ~ Element (UArray ty)) => NonEmpty (UArray ty) -> Element (UArray ty) Source # any :: (Element (UArray ty) -> Bool) -> UArray ty -> Bool Source # all :: (Element (UArray ty) -> Bool) -> UArray ty -> Bool Source # | |||||||||
PrimType ty => Copy (UArray ty) Source # | |||||||||
PrimType ty => Fold1able (UArray ty) Source # | |||||||||
Defined in Foundation.Collection.Foldable | |||||||||
PrimType ty => Foldable (UArray ty) Source # | |||||||||
PrimType ty => IndexedCollection (UArray ty) Source # | |||||||||
PrimType ty => InnerFunctor (UArray ty) Source # | |||||||||
PrimType ty => Sequential (UArray ty) Source # | |||||||||
Defined in Foundation.Collection.Sequential Methods take :: CountOf (Element (UArray ty)) -> UArray ty -> UArray ty Source # revTake :: CountOf (Element (UArray ty)) -> UArray ty -> UArray ty Source # drop :: CountOf (Element (UArray ty)) -> UArray ty -> UArray ty Source # revDrop :: CountOf (Element (UArray ty)) -> UArray ty -> UArray ty Source # splitAt :: CountOf (Element (UArray ty)) -> UArray ty -> (UArray ty, UArray ty) Source # revSplitAt :: CountOf (Element (UArray ty)) -> UArray ty -> (UArray ty, UArray ty) Source # splitOn :: (Element (UArray ty) -> Bool) -> UArray ty -> [UArray ty] Source # break :: (Element (UArray ty) -> Bool) -> UArray ty -> (UArray ty, UArray ty) Source # breakEnd :: (Element (UArray ty) -> Bool) -> UArray ty -> (UArray ty, UArray ty) Source # breakElem :: Element (UArray ty) -> UArray ty -> (UArray ty, UArray ty) Source # takeWhile :: (Element (UArray ty) -> Bool) -> UArray ty -> UArray ty Source # dropWhile :: (Element (UArray ty) -> Bool) -> UArray ty -> UArray ty Source # intersperse :: Element (UArray ty) -> UArray ty -> UArray ty Source # intercalate :: Element (UArray ty) -> UArray ty -> Element (UArray ty) Source # span :: (Element (UArray ty) -> Bool) -> UArray ty -> (UArray ty, UArray ty) Source # spanEnd :: (Element (UArray ty) -> Bool) -> UArray ty -> (UArray ty, UArray ty) Source # filter :: (Element (UArray ty) -> Bool) -> UArray ty -> UArray ty Source # partition :: (Element (UArray ty) -> Bool) -> UArray ty -> (UArray ty, UArray ty) Source # reverse :: UArray ty -> UArray ty Source # uncons :: UArray ty -> Maybe (Element (UArray ty), UArray ty) Source # unsnoc :: UArray ty -> Maybe (UArray ty, Element (UArray ty)) Source # snoc :: UArray ty -> Element (UArray ty) -> UArray ty Source # cons :: Element (UArray ty) -> UArray ty -> UArray ty Source # find :: (Element (UArray ty) -> Bool) -> UArray ty -> Maybe (Element (UArray ty)) Source # sortBy :: (Element (UArray ty) -> Element (UArray ty) -> Ordering) -> UArray ty -> UArray ty Source # singleton :: Element (UArray ty) -> UArray ty Source # head :: NonEmpty (UArray ty) -> Element (UArray ty) Source # last :: NonEmpty (UArray ty) -> Element (UArray ty) Source # tail :: NonEmpty (UArray ty) -> UArray ty Source # init :: NonEmpty (UArray ty) -> UArray ty Source # replicate :: CountOf (Element (UArray ty)) -> Element (UArray ty) -> UArray ty Source # isPrefixOf :: UArray ty -> UArray ty -> Bool Source # isSuffixOf :: UArray ty -> UArray ty -> Bool Source # isInfixOf :: UArray ty -> UArray ty -> Bool Source # stripPrefix :: UArray ty -> UArray ty -> Maybe (UArray ty) Source # stripSuffix :: UArray ty -> UArray ty -> Maybe (UArray ty) Source # | |||||||||
PrimType ty => Zippable (UArray ty) Source # | |||||||||
Defined in Foundation.Collection.Zippable Methods zipWith :: (Sequential a, Sequential b) => (Element a -> Element b -> Element (UArray ty)) -> a -> b -> UArray ty Source # zipWith3 :: (Sequential a, Sequential b, Sequential c) => (Element a -> Element b -> Element c -> Element (UArray ty)) -> a -> b -> c -> UArray ty Source # zipWith4 :: (Sequential a, Sequential b, Sequential c, Sequential d) => (Element a -> Element b -> Element c -> Element d -> Element (UArray ty)) -> a -> b -> c -> d -> UArray ty Source # zipWith5 :: (Sequential a, Sequential b, Sequential c, Sequential d, Sequential e) => (Element a -> Element b -> Element c -> Element d -> Element e -> Element (UArray ty)) -> a -> b -> c -> d -> e -> UArray ty Source # zipWith6 :: (Sequential a, Sequential b, Sequential c, Sequential d, Sequential e, Sequential f) => (Element a -> Element b -> Element c -> Element d -> Element e -> Element f -> Element (UArray ty)) -> a -> b -> c -> d -> e -> f -> UArray ty Source # zipWith7 :: (Sequential a, Sequential b, Sequential c, Sequential d, Sequential e, Sequential f, Sequential g) => (Element a -> Element b -> Element c -> Element d -> Element e -> Element f -> Element g -> Element (UArray ty)) -> a -> b -> c -> d -> e -> f -> g -> UArray ty Source # | |||||||||
PrimType a => Hashable (UArray a) Source # | |||||||||
PrimType ty => Monoid (UArray ty) | |||||||||
PrimType ty => Semigroup (UArray ty) | |||||||||
Data ty => Data (UArray ty) | |||||||||
Defined in Basement.UArray.Base Methods gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> UArray ty -> c (UArray ty) # gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c (UArray ty) # toConstr :: UArray ty -> Constr # dataTypeOf :: UArray ty -> DataType # dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c (UArray ty)) # dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c (UArray ty)) # gmapT :: (forall b. Data b => b -> b) -> UArray ty -> UArray ty # gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> UArray ty -> r # gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> UArray ty -> r # gmapQ :: (forall d. Data d => d -> u) -> UArray ty -> [u] # gmapQi :: Int -> (forall d. Data d => d -> u) -> UArray ty -> u # gmapM :: Monad m => (forall d. Data d => d -> m d) -> UArray ty -> m (UArray ty) # gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> UArray ty -> m (UArray ty) # gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> UArray ty -> m (UArray ty) # | |||||||||
PrimType ty => IsList (UArray ty) | |||||||||
(PrimType ty, Show ty) => Show (UArray ty) | |||||||||
(PrimType ty, Eq ty) => Eq (UArray ty) | |||||||||
(PrimType ty, Ord ty) => Ord (UArray ty) | |||||||||
TryFrom (UArray Word8) String | |||||||||
PrimType ty => From (Block ty) (UArray ty) | |||||||||
Defined in Basement.From | |||||||||
PrimType ty => From (Array ty) (UArray ty) | |||||||||
Defined in Basement.From | |||||||||
PrimType ty => From (UArray ty) (Block ty) | |||||||||
Defined in Basement.From | |||||||||
PrimType ty => From (UArray ty) (Array ty) | |||||||||
Defined in Basement.From | |||||||||
(NatWithinBound (CountOf ty) n, KnownNat n, PrimType ty) => TryFrom (UArray ty) (BlockN n ty) | |||||||||
(NatWithinBound Int n, PrimType ty) => From (BlockN n ty) (UArray ty) | |||||||||
Defined in Basement.From | |||||||||
type Mutable (UArray ty) Source # | |||||||||
Defined in Foundation.Collection.Buildable | |||||||||
type Step (UArray ty) Source # | |||||||||
Defined in Foundation.Collection.Buildable | |||||||||
type Element (UArray ty) Source # | |||||||||
Defined in Foundation.Collection.Element | |||||||||
type Item (UArray ty) | |||||||||
Defined in Basement.UArray.Base |
A Mutable array of types built on top of GHC primitive.
Element in this array can be modified in place.
Instances
PrimType ty => MutableCollection (MUArray ty) Source # | |||||||||||||
Defined in Foundation.Collection.Mutable Associated Types
Methods unsafeThaw :: PrimMonad prim => MutableFreezed (MUArray ty) -> prim (MUArray ty (PrimState prim)) Source # unsafeFreeze :: PrimMonad prim => MUArray ty (PrimState prim) -> prim (MutableFreezed (MUArray ty)) Source # thaw :: PrimMonad prim => MutableFreezed (MUArray ty) -> prim (MUArray ty (PrimState prim)) Source # freeze :: PrimMonad prim => MUArray ty (PrimState prim) -> prim (MutableFreezed (MUArray ty)) Source # mutNew :: PrimMonad prim => CountOf (MutableValue (MUArray ty)) -> prim (MUArray ty (PrimState prim)) Source # mutUnsafeWrite :: PrimMonad prim => MUArray ty (PrimState prim) -> MutableKey (MUArray ty) -> MutableValue (MUArray ty) -> prim () Source # mutWrite :: PrimMonad prim => MUArray ty (PrimState prim) -> MutableKey (MUArray ty) -> MutableValue (MUArray ty) -> prim () Source # mutUnsafeRead :: PrimMonad prim => MUArray ty (PrimState prim) -> MutableKey (MUArray ty) -> prim (MutableValue (MUArray ty)) Source # mutRead :: PrimMonad prim => MUArray ty (PrimState prim) -> MutableKey (MUArray ty) -> prim (MutableValue (MUArray ty)) Source # | |||||||||||||
type MutableFreezed (MUArray ty) Source # | |||||||||||||
Defined in Foundation.Collection.Mutable | |||||||||||||
type MutableKey (MUArray ty) Source # | |||||||||||||
Defined in Foundation.Collection.Mutable | |||||||||||||
type MutableValue (MUArray ty) Source # | |||||||||||||
Defined in Foundation.Collection.Mutable |
data ChunkedUArray ty Source #
Instances
NormalForm (ChunkedUArray ty) Source # | |||||
Defined in Foundation.Array.Chunked.Unboxed Methods toNormalForm :: ChunkedUArray ty -> () # | |||||
PrimType ty => Collection (ChunkedUArray ty) Source # | |||||
Defined in Foundation.Array.Chunked.Unboxed Methods null :: ChunkedUArray ty -> Bool Source # length :: ChunkedUArray ty -> CountOf (Element (ChunkedUArray ty)) Source # elem :: (Eq a, a ~ Element (ChunkedUArray ty)) => Element (ChunkedUArray ty) -> ChunkedUArray ty -> Bool Source # notElem :: (Eq a, a ~ Element (ChunkedUArray ty)) => Element (ChunkedUArray ty) -> ChunkedUArray ty -> Bool Source # maximum :: (Ord a, a ~ Element (ChunkedUArray ty)) => NonEmpty (ChunkedUArray ty) -> Element (ChunkedUArray ty) Source # minimum :: (Ord a, a ~ Element (ChunkedUArray ty)) => NonEmpty (ChunkedUArray ty) -> Element (ChunkedUArray ty) Source # any :: (Element (ChunkedUArray ty) -> Bool) -> ChunkedUArray ty -> Bool Source # all :: (Element (ChunkedUArray ty) -> Bool) -> ChunkedUArray ty -> Bool Source # | |||||
PrimType ty => Foldable (ChunkedUArray ty) Source # | |||||
Defined in Foundation.Array.Chunked.Unboxed Methods foldl' :: (a -> Element (ChunkedUArray ty) -> a) -> a -> ChunkedUArray ty -> a Source # foldr :: (Element (ChunkedUArray ty) -> a -> a) -> a -> ChunkedUArray ty -> a Source # foldr' :: (Element (ChunkedUArray ty) -> a -> a) -> a -> ChunkedUArray ty -> a Source # | |||||
PrimType ty => IndexedCollection (ChunkedUArray ty) Source # | |||||
Defined in Foundation.Array.Chunked.Unboxed Methods (!) :: ChunkedUArray ty -> Offset (Element (ChunkedUArray ty)) -> Maybe (Element (ChunkedUArray ty)) Source # findIndex :: (Element (ChunkedUArray ty) -> Bool) -> ChunkedUArray ty -> Maybe (Offset (Element (ChunkedUArray ty))) Source # | |||||
PrimType ty => Sequential (ChunkedUArray ty) Source # | |||||
Defined in Foundation.Array.Chunked.Unboxed Methods take :: CountOf (Element (ChunkedUArray ty)) -> ChunkedUArray ty -> ChunkedUArray ty Source # revTake :: CountOf (Element (ChunkedUArray ty)) -> ChunkedUArray ty -> ChunkedUArray ty Source # drop :: CountOf (Element (ChunkedUArray ty)) -> ChunkedUArray ty -> ChunkedUArray ty Source # revDrop :: CountOf (Element (ChunkedUArray ty)) -> ChunkedUArray ty -> ChunkedUArray ty Source # splitAt :: CountOf (Element (ChunkedUArray ty)) -> ChunkedUArray ty -> (ChunkedUArray ty, ChunkedUArray ty) Source # revSplitAt :: CountOf (Element (ChunkedUArray ty)) -> ChunkedUArray ty -> (ChunkedUArray ty, ChunkedUArray ty) Source # splitOn :: (Element (ChunkedUArray ty) -> Bool) -> ChunkedUArray ty -> [ChunkedUArray ty] Source # break :: (Element (ChunkedUArray ty) -> Bool) -> ChunkedUArray ty -> (ChunkedUArray ty, ChunkedUArray ty) Source # breakEnd :: (Element (ChunkedUArray ty) -> Bool) -> ChunkedUArray ty -> (ChunkedUArray ty, ChunkedUArray ty) Source # breakElem :: Element (ChunkedUArray ty) -> ChunkedUArray ty -> (ChunkedUArray ty, ChunkedUArray ty) Source # takeWhile :: (Element (ChunkedUArray ty) -> Bool) -> ChunkedUArray ty -> ChunkedUArray ty Source # dropWhile :: (Element (ChunkedUArray ty) -> Bool) -> ChunkedUArray ty -> ChunkedUArray ty Source # intersperse :: Element (ChunkedUArray ty) -> ChunkedUArray ty -> ChunkedUArray ty Source # intercalate :: Element (ChunkedUArray ty) -> ChunkedUArray ty -> Element (ChunkedUArray ty) Source # span :: (Element (ChunkedUArray ty) -> Bool) -> ChunkedUArray ty -> (ChunkedUArray ty, ChunkedUArray ty) Source # spanEnd :: (Element (ChunkedUArray ty) -> Bool) -> ChunkedUArray ty -> (ChunkedUArray ty, ChunkedUArray ty) Source # filter :: (Element (ChunkedUArray ty) -> Bool) -> ChunkedUArray ty -> ChunkedUArray ty Source # partition :: (Element (ChunkedUArray ty) -> Bool) -> ChunkedUArray ty -> (ChunkedUArray ty, ChunkedUArray ty) Source # reverse :: ChunkedUArray ty -> ChunkedUArray ty Source # uncons :: ChunkedUArray ty -> Maybe (Element (ChunkedUArray ty), ChunkedUArray ty) Source # unsnoc :: ChunkedUArray ty -> Maybe (ChunkedUArray ty, Element (ChunkedUArray ty)) Source # snoc :: ChunkedUArray ty -> Element (ChunkedUArray ty) -> ChunkedUArray ty Source # cons :: Element (ChunkedUArray ty) -> ChunkedUArray ty -> ChunkedUArray ty Source # find :: (Element (ChunkedUArray ty) -> Bool) -> ChunkedUArray ty -> Maybe (Element (ChunkedUArray ty)) Source # sortBy :: (Element (ChunkedUArray ty) -> Element (ChunkedUArray ty) -> Ordering) -> ChunkedUArray ty -> ChunkedUArray ty Source # singleton :: Element (ChunkedUArray ty) -> ChunkedUArray ty Source # head :: NonEmpty (ChunkedUArray ty) -> Element (ChunkedUArray ty) Source # last :: NonEmpty (ChunkedUArray ty) -> Element (ChunkedUArray ty) Source # tail :: NonEmpty (ChunkedUArray ty) -> ChunkedUArray ty Source # init :: NonEmpty (ChunkedUArray ty) -> ChunkedUArray ty Source # replicate :: CountOf (Element (ChunkedUArray ty)) -> Element (ChunkedUArray ty) -> ChunkedUArray ty Source # isPrefixOf :: ChunkedUArray ty -> ChunkedUArray ty -> Bool Source # isSuffixOf :: ChunkedUArray ty -> ChunkedUArray ty -> Bool Source # isInfixOf :: ChunkedUArray ty -> ChunkedUArray ty -> Bool Source # stripPrefix :: ChunkedUArray ty -> ChunkedUArray ty -> Maybe (ChunkedUArray ty) Source # stripSuffix :: ChunkedUArray ty -> ChunkedUArray ty -> Maybe (ChunkedUArray ty) Source # | |||||
Monoid (ChunkedUArray a) Source # | |||||
Defined in Foundation.Array.Chunked.Unboxed Methods mempty :: ChunkedUArray a # mappend :: ChunkedUArray a -> ChunkedUArray a -> ChunkedUArray a # mconcat :: [ChunkedUArray a] -> ChunkedUArray a # | |||||
Semigroup (ChunkedUArray a) Source # | |||||
Defined in Foundation.Array.Chunked.Unboxed Methods (<>) :: ChunkedUArray a -> ChunkedUArray a -> ChunkedUArray a # sconcat :: NonEmpty (ChunkedUArray a) -> ChunkedUArray a # stimes :: Integral b => b -> ChunkedUArray a -> ChunkedUArray a # | |||||
PrimType ty => IsList (ChunkedUArray ty) Source # | |||||
Defined in Foundation.Array.Chunked.Unboxed Associated Types
Methods fromList :: [Item (ChunkedUArray ty)] -> ChunkedUArray ty # fromListN :: Int -> [Item (ChunkedUArray ty)] -> ChunkedUArray ty # toList :: ChunkedUArray ty -> [Item (ChunkedUArray ty)] # | |||||
(PrimType ty, Show ty) => Show (ChunkedUArray ty) Source # | |||||
Defined in Foundation.Array.Chunked.Unboxed Methods showsPrec :: Int -> ChunkedUArray ty -> ShowS # show :: ChunkedUArray ty -> String # showList :: [ChunkedUArray ty] -> ShowS # | |||||
PrimType ty => Eq (ChunkedUArray ty) Source # | |||||
Defined in Foundation.Array.Chunked.Unboxed Methods (==) :: ChunkedUArray ty -> ChunkedUArray ty -> Bool # (/=) :: ChunkedUArray ty -> ChunkedUArray ty -> Bool # | |||||
(PrimType ty, Ord ty) => Ord (ChunkedUArray ty) Source # | |||||
Defined in Foundation.Array.Chunked.Unboxed Methods compare :: ChunkedUArray ty -> ChunkedUArray ty -> Ordering # (<) :: ChunkedUArray ty -> ChunkedUArray ty -> Bool # (<=) :: ChunkedUArray ty -> ChunkedUArray ty -> Bool # (>) :: ChunkedUArray ty -> ChunkedUArray ty -> Bool # (>=) :: ChunkedUArray ty -> ChunkedUArray ty -> Bool # max :: ChunkedUArray ty -> ChunkedUArray ty -> ChunkedUArray ty # min :: ChunkedUArray ty -> ChunkedUArray ty -> ChunkedUArray ty # | |||||
type Element (ChunkedUArray ty) Source # | |||||
Defined in Foundation.Array.Chunked.Unboxed | |||||
type Item (ChunkedUArray ty) Source # | |||||
Defined in Foundation.Array.Chunked.Unboxed |
Instances
Collection Bitmap Source # | |
Defined in Foundation.Array.Bitmap Methods null :: Bitmap -> Bool Source # length :: Bitmap -> CountOf (Element Bitmap) Source # elem :: (Eq a, a ~ Element Bitmap) => Element Bitmap -> Bitmap -> Bool Source # notElem :: (Eq a, a ~ Element Bitmap) => Element Bitmap -> Bitmap -> Bool Source # maximum :: (Ord a, a ~ Element Bitmap) => NonEmpty Bitmap -> Element Bitmap Source # minimum :: (Ord a, a ~ Element Bitmap) => NonEmpty Bitmap -> Element Bitmap Source # | |
Foldable Bitmap Source # | |
IndexedCollection Bitmap Source # | |
InnerFunctor Bitmap Source # | |
Sequential Bitmap Source # | |
Defined in Foundation.Array.Bitmap Methods take :: CountOf (Element Bitmap) -> Bitmap -> Bitmap Source # revTake :: CountOf (Element Bitmap) -> Bitmap -> Bitmap Source # drop :: CountOf (Element Bitmap) -> Bitmap -> Bitmap Source # revDrop :: CountOf (Element Bitmap) -> Bitmap -> Bitmap Source # splitAt :: CountOf (Element Bitmap) -> Bitmap -> (Bitmap, Bitmap) Source # revSplitAt :: CountOf (Element Bitmap) -> Bitmap -> (Bitmap, Bitmap) Source # splitOn :: (Element Bitmap -> Bool) -> Bitmap -> [Bitmap] Source # break :: (Element Bitmap -> Bool) -> Bitmap -> (Bitmap, Bitmap) Source # breakEnd :: (Element Bitmap -> Bool) -> Bitmap -> (Bitmap, Bitmap) Source # breakElem :: Element Bitmap -> Bitmap -> (Bitmap, Bitmap) Source # takeWhile :: (Element Bitmap -> Bool) -> Bitmap -> Bitmap Source # dropWhile :: (Element Bitmap -> Bool) -> Bitmap -> Bitmap Source # intersperse :: Element Bitmap -> Bitmap -> Bitmap Source # intercalate :: Element Bitmap -> Bitmap -> Element Bitmap Source # span :: (Element Bitmap -> Bool) -> Bitmap -> (Bitmap, Bitmap) Source # spanEnd :: (Element Bitmap -> Bool) -> Bitmap -> (Bitmap, Bitmap) Source # filter :: (Element Bitmap -> Bool) -> Bitmap -> Bitmap Source # partition :: (Element Bitmap -> Bool) -> Bitmap -> (Bitmap, Bitmap) Source # reverse :: Bitmap -> Bitmap Source # uncons :: Bitmap -> Maybe (Element Bitmap, Bitmap) Source # unsnoc :: Bitmap -> Maybe (Bitmap, Element Bitmap) Source # snoc :: Bitmap -> Element Bitmap -> Bitmap Source # cons :: Element Bitmap -> Bitmap -> Bitmap Source # find :: (Element Bitmap -> Bool) -> Bitmap -> Maybe (Element Bitmap) Source # sortBy :: (Element Bitmap -> Element Bitmap -> Ordering) -> Bitmap -> Bitmap Source # singleton :: Element Bitmap -> Bitmap Source # head :: NonEmpty Bitmap -> Element Bitmap Source # last :: NonEmpty Bitmap -> Element Bitmap Source # tail :: NonEmpty Bitmap -> Bitmap Source # init :: NonEmpty Bitmap -> Bitmap Source # replicate :: CountOf (Element Bitmap) -> Element Bitmap -> Bitmap Source # isPrefixOf :: Bitmap -> Bitmap -> Bool Source # isSuffixOf :: Bitmap -> Bitmap -> Bool Source # isInfixOf :: Bitmap -> Bitmap -> Bool Source # | |
Monoid Bitmap Source # | |
Semigroup Bitmap Source # | |
IsList Bitmap Source # | |
Show Bitmap Source # | |
Eq Bitmap Source # | |
Ord Bitmap Source # | |
type Element Bitmap Source # | |
Defined in Foundation.Array.Bitmap | |
type Item Bitmap Source # | |
Defined in Foundation.Array.Bitmap |
data MutableBitmap st Source #
Instances
MutableCollection MutableBitmap Source # | |||||||||||||
Defined in Foundation.Array.Bitmap Associated Types
Methods unsafeThaw :: PrimMonad prim => MutableFreezed MutableBitmap -> prim (MutableBitmap (PrimState prim)) Source # unsafeFreeze :: PrimMonad prim => MutableBitmap (PrimState prim) -> prim (MutableFreezed MutableBitmap) Source # thaw :: PrimMonad prim => MutableFreezed MutableBitmap -> prim (MutableBitmap (PrimState prim)) Source # freeze :: PrimMonad prim => MutableBitmap (PrimState prim) -> prim (MutableFreezed MutableBitmap) Source # mutNew :: PrimMonad prim => CountOf (MutableValue MutableBitmap) -> prim (MutableBitmap (PrimState prim)) Source # mutUnsafeWrite :: PrimMonad prim => MutableBitmap (PrimState prim) -> MutableKey MutableBitmap -> MutableValue MutableBitmap -> prim () Source # mutWrite :: PrimMonad prim => MutableBitmap (PrimState prim) -> MutableKey MutableBitmap -> MutableValue MutableBitmap -> prim () Source # mutUnsafeRead :: PrimMonad prim => MutableBitmap (PrimState prim) -> MutableKey MutableBitmap -> prim (MutableValue MutableBitmap) Source # mutRead :: PrimMonad prim => MutableBitmap (PrimState prim) -> MutableKey MutableBitmap -> prim (MutableValue MutableBitmap) Source # | |||||||||||||
type MutableFreezed MutableBitmap Source # | |||||||||||||
Defined in Foundation.Array.Bitmap | |||||||||||||
type MutableKey MutableBitmap Source # | |||||||||||||
Defined in Foundation.Array.Bitmap | |||||||||||||
type MutableValue MutableBitmap Source # | |||||||||||||
Defined in Foundation.Array.Bitmap |
Represent the accessor for types that can be stored in the UArray and MUArray.
Types need to be a instance of storable and have fixed sized.
Minimal complete definition
primSizeInBytes, primShiftToBytes, primBaUIndex, primMbaURead, primMbaUWrite, primAddrIndex, primAddrRead, primAddrWrite
Instances
PrimType Char7 | |||||
Defined in Basement.PrimType Associated Types
Methods primSizeInBytes :: Proxy Char7 -> CountOf Word8 # primShiftToBytes :: Proxy Char7 -> Int # primBaUIndex :: ByteArray# -> Offset Char7 -> Char7 # primMbaURead :: PrimMonad prim => MutableByteArray# (PrimState prim) -> Offset Char7 -> prim Char7 # primMbaUWrite :: PrimMonad prim => MutableByteArray# (PrimState prim) -> Offset Char7 -> Char7 -> prim () # primAddrIndex :: Addr# -> Offset Char7 -> Char7 # primAddrRead :: PrimMonad prim => Addr# -> Offset Char7 -> prim Char7 # primAddrWrite :: PrimMonad prim => Addr# -> Offset Char7 -> Char7 -> prim () # | |||||
PrimType Word128 | |||||
Defined in Basement.PrimType Associated Types
Methods primSizeInBytes :: Proxy Word128 -> CountOf Word8 # primShiftToBytes :: Proxy Word128 -> Int # primBaUIndex :: ByteArray# -> Offset Word128 -> Word128 # primMbaURead :: PrimMonad prim => MutableByteArray# (PrimState prim) -> Offset Word128 -> prim Word128 # primMbaUWrite :: PrimMonad prim => MutableByteArray# (PrimState prim) -> Offset Word128 -> Word128 -> prim () # primAddrIndex :: Addr# -> Offset Word128 -> Word128 # primAddrRead :: PrimMonad prim => Addr# -> Offset Word128 -> prim Word128 # primAddrWrite :: PrimMonad prim => Addr# -> Offset Word128 -> Word128 -> prim () # | |||||
PrimType Word256 | |||||
Defined in Basement.PrimType Associated Types
Methods primSizeInBytes :: Proxy Word256 -> CountOf Word8 # primShiftToBytes :: Proxy Word256 -> Int # primBaUIndex :: ByteArray# -> Offset Word256 -> Word256 # primMbaURead :: PrimMonad prim => MutableByteArray# (PrimState prim) -> Offset Word256 -> prim Word256 # primMbaUWrite :: PrimMonad prim => MutableByteArray# (PrimState prim) -> Offset Word256 -> Word256 -> prim () # primAddrIndex :: Addr# -> Offset Word256 -> Word256 # primAddrRead :: PrimMonad prim => Addr# -> Offset Word256 -> prim Word256 # primAddrWrite :: PrimMonad prim => Addr# -> Offset Word256 -> Word256 -> prim () # | |||||
PrimType NanoSeconds Source # | |||||
Defined in Foundation.Time.Types Associated Types
Methods primSizeInBytes :: Proxy NanoSeconds -> CountOf Word8 # primShiftToBytes :: Proxy NanoSeconds -> Int # primBaUIndex :: ByteArray# -> Offset NanoSeconds -> NanoSeconds # primMbaURead :: PrimMonad prim => MutableByteArray# (PrimState prim) -> Offset NanoSeconds -> prim NanoSeconds # primMbaUWrite :: PrimMonad prim => MutableByteArray# (PrimState prim) -> Offset NanoSeconds -> NanoSeconds -> prim () # primAddrIndex :: Addr# -> Offset NanoSeconds -> NanoSeconds # primAddrRead :: PrimMonad prim => Addr# -> Offset NanoSeconds -> prim NanoSeconds # primAddrWrite :: PrimMonad prim => Addr# -> Offset NanoSeconds -> NanoSeconds -> prim () # | |||||
PrimType Seconds Source # | |||||
Defined in Foundation.Time.Types Associated Types
Methods primSizeInBytes :: Proxy Seconds -> CountOf Word8 # primShiftToBytes :: Proxy Seconds -> Int # primBaUIndex :: ByteArray# -> Offset Seconds -> Seconds # primMbaURead :: PrimMonad prim => MutableByteArray# (PrimState prim) -> Offset Seconds -> prim Seconds # primMbaUWrite :: PrimMonad prim => MutableByteArray# (PrimState prim) -> Offset Seconds -> Seconds -> prim () # primAddrIndex :: Addr# -> Offset Seconds -> Seconds # primAddrRead :: PrimMonad prim => Addr# -> Offset Seconds -> prim Seconds # primAddrWrite :: PrimMonad prim => Addr# -> Offset Seconds -> Seconds -> prim () # | |||||
PrimType CChar | |||||
Defined in Basement.PrimType Associated Types
Methods primSizeInBytes :: Proxy CChar -> CountOf Word8 # primShiftToBytes :: Proxy CChar -> Int # primBaUIndex :: ByteArray# -> Offset CChar -> CChar # primMbaURead :: PrimMonad prim => MutableByteArray# (PrimState prim) -> Offset CChar -> prim CChar # primMbaUWrite :: PrimMonad prim => MutableByteArray# (PrimState prim) -> Offset CChar -> CChar -> prim () # primAddrIndex :: Addr# -> Offset CChar -> CChar # primAddrRead :: PrimMonad prim => Addr# -> Offset CChar -> prim CChar # primAddrWrite :: PrimMonad prim => Addr# -> Offset CChar -> CChar -> prim () # | |||||
PrimType CUChar | |||||
Defined in Basement.PrimType Associated Types
Methods primSizeInBytes :: Proxy CUChar -> CountOf Word8 # primShiftToBytes :: Proxy CUChar -> Int # primBaUIndex :: ByteArray# -> Offset CUChar -> CUChar # primMbaURead :: PrimMonad prim => MutableByteArray# (PrimState prim) -> Offset CUChar -> prim CUChar # primMbaUWrite :: PrimMonad prim => MutableByteArray# (PrimState prim) -> Offset CUChar -> CUChar -> prim () # primAddrIndex :: Addr# -> Offset CUChar -> CUChar # primAddrRead :: PrimMonad prim => Addr# -> Offset CUChar -> prim CUChar # primAddrWrite :: PrimMonad prim => Addr# -> Offset CUChar -> CUChar -> prim () # | |||||
PrimType Int16 | |||||
Defined in Basement.PrimType Associated Types
Methods primSizeInBytes :: Proxy Int16 -> CountOf Word8 # primShiftToBytes :: Proxy Int16 -> Int # primBaUIndex :: ByteArray# -> Offset Int16 -> Int16 # primMbaURead :: PrimMonad prim => MutableByteArray# (PrimState prim) -> Offset Int16 -> prim Int16 # primMbaUWrite :: PrimMonad prim => MutableByteArray# (PrimState prim) -> Offset Int16 -> Int16 -> prim () # primAddrIndex :: Addr# -> Offset Int16 -> Int16 # primAddrRead :: PrimMonad prim => Addr# -> Offset Int16 -> prim Int16 # primAddrWrite :: PrimMonad prim => Addr# -> Offset Int16 -> Int16 -> prim () # | |||||
PrimType Int32 | |||||
Defined in Basement.PrimType Associated Types
Methods primSizeInBytes :: Proxy Int32 -> CountOf Word8 # primShiftToBytes :: Proxy Int32 -> Int # primBaUIndex :: ByteArray# -> Offset Int32 -> Int32 # primMbaURead :: PrimMonad prim => MutableByteArray# (PrimState prim) -> Offset Int32 -> prim Int32 # primMbaUWrite :: PrimMonad prim => MutableByteArray# (PrimState prim) -> Offset Int32 -> Int32 -> prim () # primAddrIndex :: Addr# -> Offset Int32 -> Int32 # primAddrRead :: PrimMonad prim => Addr# -> Offset Int32 -> prim Int32 # primAddrWrite :: PrimMonad prim => Addr# -> Offset Int32 -> Int32 -> prim () # | |||||
PrimType Int64 | |||||
Defined in Basement.PrimType Associated Types
Methods primSizeInBytes :: Proxy Int64 -> CountOf Word8 # primShiftToBytes :: Proxy Int64 -> Int # primBaUIndex :: ByteArray# -> Offset Int64 -> Int64 # primMbaURead :: PrimMonad prim => MutableByteArray# (PrimState prim) -> Offset Int64 -> prim Int64 # primMbaUWrite :: PrimMonad prim => MutableByteArray# (PrimState prim) -> Offset Int64 -> Int64 -> prim () # primAddrIndex :: Addr# -> Offset Int64 -> Int64 # primAddrRead :: PrimMonad prim => Addr# -> Offset Int64 -> prim Int64 # primAddrWrite :: PrimMonad prim => Addr# -> Offset Int64 -> Int64 -> prim () # | |||||
PrimType Int8 | |||||
Defined in Basement.PrimType Associated Types
Methods primSizeInBytes :: Proxy Int8 -> CountOf Word8 # primShiftToBytes :: Proxy Int8 -> Int # primBaUIndex :: ByteArray# -> Offset Int8 -> Int8 # primMbaURead :: PrimMonad prim => MutableByteArray# (PrimState prim) -> Offset Int8 -> prim Int8 # primMbaUWrite :: PrimMonad prim => MutableByteArray# (PrimState prim) -> Offset Int8 -> Int8 -> prim () # primAddrIndex :: Addr# -> Offset Int8 -> Int8 # primAddrRead :: PrimMonad prim => Addr# -> Offset Int8 -> prim Int8 # primAddrWrite :: PrimMonad prim => Addr# -> Offset Int8 -> Int8 -> prim () # | |||||
PrimType Word16 | |||||
Defined in Basement.PrimType Associated Types
Methods primSizeInBytes :: Proxy Word16 -> CountOf Word8 # primShiftToBytes :: Proxy Word16 -> Int # primBaUIndex :: ByteArray# -> Offset Word16 -> Word16 # primMbaURead :: PrimMonad prim => MutableByteArray# (PrimState prim) -> Offset Word16 -> prim Word16 # primMbaUWrite :: PrimMonad prim => MutableByteArray# (PrimState prim) -> Offset Word16 -> Word16 -> prim () # primAddrIndex :: Addr# -> Offset Word16 -> Word16 # primAddrRead :: PrimMonad prim => Addr# -> Offset Word16 -> prim Word16 # primAddrWrite :: PrimMonad prim => Addr# -> Offset Word16 -> Word16 -> prim () # | |||||
PrimType Word32 | |||||
Defined in Basement.PrimType Associated Types
Methods primSizeInBytes :: Proxy Word32 -> CountOf Word8 # primShiftToBytes :: Proxy Word32 -> Int # primBaUIndex :: ByteArray# -> Offset Word32 -> Word32 # primMbaURead :: PrimMonad prim => MutableByteArray# (PrimState prim) -> Offset Word32 -> prim Word32 # primMbaUWrite :: PrimMonad prim => MutableByteArray# (PrimState prim) -> Offset Word32 -> Word32 -> prim () # primAddrIndex :: Addr# -> Offset Word32 -> Word32 # primAddrRead :: PrimMonad prim => Addr# -> Offset Word32 -> prim Word32 # primAddrWrite :: PrimMonad prim => Addr# -> Offset Word32 -> Word32 -> prim () # | |||||
PrimType Word64 | |||||
Defined in Basement.PrimType Associated Types
Methods primSizeInBytes :: Proxy Word64 -> CountOf Word8 # primShiftToBytes :: Proxy Word64 -> Int # primBaUIndex :: ByteArray# -> Offset Word64 -> Word64 # primMbaURead :: PrimMonad prim => MutableByteArray# (PrimState prim) -> Offset Word64 -> prim Word64 # primMbaUWrite :: PrimMonad prim => MutableByteArray# (PrimState prim) -> Offset Word64 -> Word64 -> prim () # primAddrIndex :: Addr# -> Offset Word64 -> Word64 # primAddrRead :: PrimMonad prim => Addr# -> Offset Word64 -> prim Word64 # primAddrWrite :: PrimMonad prim => Addr# -> Offset Word64 -> Word64 -> prim () # | |||||
PrimType Word8 | |||||
Defined in Basement.PrimType Associated Types
Methods primSizeInBytes :: Proxy Word8 -> CountOf Word8 # primShiftToBytes :: Proxy Word8 -> Int # primBaUIndex :: ByteArray# -> Offset Word8 -> Word8 # primMbaURead :: PrimMonad prim => MutableByteArray# (PrimState prim) -> Offset Word8 -> prim Word8 # primMbaUWrite :: PrimMonad prim => MutableByteArray# (PrimState prim) -> Offset Word8 -> Word8 -> prim () # primAddrIndex :: Addr# -> Offset Word8 -> Word8 # primAddrRead :: PrimMonad prim => Addr# -> Offset Word8 -> prim Word8 # primAddrWrite :: PrimMonad prim => Addr# -> Offset Word8 -> Word8 -> prim () # | |||||
PrimType Char | |||||
Defined in Basement.PrimType Associated Types
Methods primSizeInBytes :: Proxy Char -> CountOf Word8 # primShiftToBytes :: Proxy Char -> Int # primBaUIndex :: ByteArray# -> Offset Char -> Char # primMbaURead :: PrimMonad prim => MutableByteArray# (PrimState prim) -> Offset Char -> prim Char # primMbaUWrite :: PrimMonad prim => MutableByteArray# (PrimState prim) -> Offset Char -> Char -> prim () # primAddrIndex :: Addr# -> Offset Char -> Char # primAddrRead :: PrimMonad prim => Addr# -> Offset Char -> prim Char # primAddrWrite :: PrimMonad prim => Addr# -> Offset Char -> Char -> prim () # | |||||
PrimType Double | |||||
Defined in Basement.PrimType Associated Types
Methods primSizeInBytes :: Proxy Double -> CountOf Word8 # primShiftToBytes :: Proxy Double -> Int # primBaUIndex :: ByteArray# -> Offset Double -> Double # primMbaURead :: PrimMonad prim => MutableByteArray# (PrimState prim) -> Offset Double -> prim Double # primMbaUWrite :: PrimMonad prim => MutableByteArray# (PrimState prim) -> Offset Double -> Double -> prim () # primAddrIndex :: Addr# -> Offset Double -> Double # primAddrRead :: PrimMonad prim => Addr# -> Offset Double -> prim Double # primAddrWrite :: PrimMonad prim => Addr# -> Offset Double -> Double -> prim () # | |||||
PrimType Float | |||||
Defined in Basement.PrimType Associated Types
Methods primSizeInBytes :: Proxy Float -> CountOf Word8 # primShiftToBytes :: Proxy Float -> Int # primBaUIndex :: ByteArray# -> Offset Float -> Float # primMbaURead :: PrimMonad prim => MutableByteArray# (PrimState prim) -> Offset Float -> prim Float # primMbaUWrite :: PrimMonad prim => MutableByteArray# (PrimState prim) -> Offset Float -> Float -> prim () # primAddrIndex :: Addr# -> Offset Float -> Float # primAddrRead :: PrimMonad prim => Addr# -> Offset Float -> prim Float # primAddrWrite :: PrimMonad prim => Addr# -> Offset Float -> Float -> prim () # | |||||
PrimType Int | |||||
Defined in Basement.PrimType Associated Types
Methods primSizeInBytes :: Proxy Int -> CountOf Word8 # primShiftToBytes :: Proxy Int -> Int # primBaUIndex :: ByteArray# -> Offset Int -> Int # primMbaURead :: PrimMonad prim => MutableByteArray# (PrimState prim) -> Offset Int -> prim Int # primMbaUWrite :: PrimMonad prim => MutableByteArray# (PrimState prim) -> Offset Int -> Int -> prim () # primAddrIndex :: Addr# -> Offset Int -> Int # primAddrRead :: PrimMonad prim => Addr# -> Offset Int -> prim Int # primAddrWrite :: PrimMonad prim => Addr# -> Offset Int -> Int -> prim () # | |||||
PrimType Word | |||||
Defined in Basement.PrimType Associated Types
Methods primSizeInBytes :: Proxy Word -> CountOf Word8 # primShiftToBytes :: Proxy Word -> Int # primBaUIndex :: ByteArray# -> Offset Word -> Word # primMbaURead :: PrimMonad prim => MutableByteArray# (PrimState prim) -> Offset Word -> prim Word # primMbaUWrite :: PrimMonad prim => MutableByteArray# (PrimState prim) -> Offset Word -> Word -> prim () # primAddrIndex :: Addr# -> Offset Word -> Word # primAddrRead :: PrimMonad prim => Addr# -> Offset Word -> prim Word # primAddrWrite :: PrimMonad prim => Addr# -> Offset Word -> Word -> prim () # | |||||
PrimType a => PrimType (BE a) | |||||
Defined in Basement.PrimType Associated Types
Methods primSizeInBytes :: Proxy (BE a) -> CountOf Word8 # primShiftToBytes :: Proxy (BE a) -> Int # primBaUIndex :: ByteArray# -> Offset (BE a) -> BE a # primMbaURead :: PrimMonad prim => MutableByteArray# (PrimState prim) -> Offset (BE a) -> prim (BE a) # primMbaUWrite :: PrimMonad prim => MutableByteArray# (PrimState prim) -> Offset (BE a) -> BE a -> prim () # primAddrIndex :: Addr# -> Offset (BE a) -> BE a # primAddrRead :: PrimMonad prim => Addr# -> Offset (BE a) -> prim (BE a) # primAddrWrite :: PrimMonad prim => Addr# -> Offset (BE a) -> BE a -> prim () # | |||||
PrimType a => PrimType (LE a) | |||||
Defined in Basement.PrimType Associated Types
Methods primSizeInBytes :: Proxy (LE a) -> CountOf Word8 # primShiftToBytes :: Proxy (LE a) -> Int # primBaUIndex :: ByteArray# -> Offset (LE a) -> LE a # primMbaURead :: PrimMonad prim => MutableByteArray# (PrimState prim) -> Offset (LE a) -> prim (LE a) # primMbaUWrite :: PrimMonad prim => MutableByteArray# (PrimState prim) -> Offset (LE a) -> LE a -> prim () # primAddrIndex :: Addr# -> Offset (LE a) -> LE a # primAddrRead :: PrimMonad prim => Addr# -> Offset (LE a) -> prim (LE a) # primAddrWrite :: PrimMonad prim => Addr# -> Offset (LE a) -> LE a -> prim () # |
data OutOfBound #
Exception during an operation accessing the vector out of bound
Represent the type of operation, the index accessed, and the total length of the vector.
Instances
Exception OutOfBound | |
Defined in Basement.Exception Methods toException :: OutOfBound -> SomeException # fromException :: SomeException -> Maybe OutOfBound # displayException :: OutOfBound -> String # backtraceDesired :: OutOfBound -> Bool # | |
Show OutOfBound | |
Defined in Basement.Exception Methods showsPrec :: Int -> OutOfBound -> ShowS # show :: OutOfBound -> String # showList :: [OutOfBound] -> ShowS # |