Safe Haskell | None |
---|---|
Language | Haskell2010 |
Rebase.Data.Vector.Storable
Synopsis
- (++) :: Storable a => Vector a -> Vector a -> Vector a
- foldr :: Storable a => (a -> b -> b) -> b -> Vector a -> b
- map :: (Storable a, Storable b) => (a -> b) -> Vector a -> Vector b
- (!) :: Storable a => Vector a -> Int -> a
- (//) :: Storable a => Vector a -> [(Int, a)] -> Vector a
- accum :: Storable a => (a -> b -> a) -> Vector a -> [(Int, b)] -> Vector a
- unsafeAccum :: Storable a => (a -> b -> a) -> Vector a -> [(Int, b)] -> Vector a
- (!?) :: Storable a => Vector a -> Int -> Maybe a
- freeze :: (Storable a, PrimMonad m) => MVector (PrimState m) a -> m (Vector a)
- unsafeFreeze :: (Storable a, PrimMonad m) => MVector (PrimState m) a -> m (Vector a)
- thaw :: (Storable a, PrimMonad m) => Vector a -> m (MVector (PrimState m) a)
- unsafeThaw :: (Storable a, PrimMonad m) => Vector a -> m (MVector (PrimState m) a)
- concat :: Storable a => [Vector a] -> Vector a
- foldl :: Storable b => (a -> b -> a) -> a -> Vector b -> a
- mapMaybe :: (Storable a, Storable b) => (a -> Maybe b) -> Vector a -> Vector b
- maximumBy :: Storable a => (a -> a -> Ordering) -> Vector a -> a
- minimumBy :: Storable a => (a -> a -> Ordering) -> Vector a -> a
- class Storable a
- length :: Storable a => Vector a -> Int
- head :: Storable a => Vector a -> a
- group :: (Storable a, Eq a) => Vector a -> [Vector a]
- groupBy :: Storable a => (a -> a -> Bool) -> Vector a -> [Vector a]
- foldl' :: Storable b => (a -> b -> a) -> a -> Vector b -> a
- foldl1 :: Storable a => (a -> a -> a) -> Vector a -> a
- mapM :: (Monad m, Storable a, Storable b) => (a -> m b) -> Vector a -> m (Vector b)
- forM :: (Monad m, Storable a, Storable b) => Vector a -> (a -> m b) -> m (Vector b)
- mapM_ :: (Monad m, Storable a) => (a -> m b) -> Vector a -> m ()
- forM_ :: (Monad m, Storable a) => Vector a -> (a -> m b) -> m ()
- foldMap :: (Monoid m, Storable a) => (a -> m) -> Vector a -> m
- filter :: Storable a => (a -> Bool) -> Vector a -> Vector a
- unfoldr :: Storable a => (b -> Maybe (a, b)) -> b -> Vector a
- enumFromTo :: (Storable a, Enum a) => a -> a -> Vector a
- enumFromThenTo :: (Storable a, Enum a) => a -> a -> a -> Vector a
- fromList :: Storable a => [a] -> Vector a
- fromListN :: Storable a => Int -> [a] -> Vector a
- toList :: Storable a => Vector a -> [a]
- empty :: Storable a => Vector a
- uncons :: Storable a => Vector a -> Maybe (a, Vector a)
- unsnoc :: Storable a => Vector a -> Maybe (Vector a, a)
- tail :: Storable a => Vector a -> Vector a
- last :: Storable a => Vector a -> a
- init :: Storable a => Vector a -> Vector a
- null :: Storable a => Vector a -> Bool
- foldl1' :: Storable a => (a -> a -> a) -> Vector a -> a
- sum :: (Storable a, Num a) => Vector a -> a
- product :: (Storable a, Num a) => Vector a -> a
- scanl :: (Storable a, Storable b) => (a -> b -> a) -> a -> Vector b -> Vector a
- scanl1 :: Storable a => (a -> a -> a) -> Vector a -> Vector a
- scanl' :: (Storable a, Storable b) => (a -> b -> a) -> a -> Vector b -> Vector a
- foldr' :: Storable a => (a -> b -> b) -> b -> Vector a -> b
- foldr1 :: Storable a => (a -> a -> a) -> Vector a -> a
- scanr :: (Storable a, Storable b) => (a -> b -> b) -> b -> Vector a -> Vector b
- scanr1 :: Storable a => (a -> a -> a) -> Vector a -> Vector a
- maximum :: (Storable a, Ord a) => Vector a -> a
- minimum :: (Storable a, Ord a) => Vector a -> a
- replicate :: Storable a => Int -> a -> Vector a
- takeWhile :: Storable a => (a -> Bool) -> Vector a -> Vector a
- dropWhile :: Storable a => (a -> Bool) -> Vector a -> Vector a
- take :: Storable a => Int -> Vector a -> Vector a
- drop :: Storable a => Int -> Vector a -> Vector a
- splitAt :: Storable a => Int -> Vector a -> (Vector a, Vector a)
- span :: Storable a => (a -> Bool) -> Vector a -> (Vector a, Vector a)
- break :: Storable a => (a -> Bool) -> Vector a -> (Vector a, Vector a)
- reverse :: Storable a => Vector a -> Vector a
- and :: Vector Bool -> Bool
- or :: Vector Bool -> Bool
- any :: Storable a => (a -> Bool) -> Vector a -> Bool
- all :: Storable a => (a -> Bool) -> Vector a -> Bool
- elem :: (Storable a, Eq a) => a -> Vector a -> Bool
- notElem :: (Storable a, Eq a) => a -> Vector a -> Bool
- concatMap :: (Storable a, Storable b) => (a -> Vector b) -> Vector a -> Vector b
- zipWith :: (Storable a, Storable b, Storable c) => (a -> b -> c) -> Vector a -> Vector b -> Vector c
- zipWith3 :: (Storable a, Storable b, Storable c, Storable d) => (a -> b -> c -> d) -> Vector a -> Vector b -> Vector c -> Vector d
- unsafeIndex :: Storable a => Vector a -> Int -> a
- foldMap' :: (Monoid m, Storable a) => (a -> m) -> Vector a -> m
- find :: Storable a => (a -> Bool) -> Vector a -> Maybe a
- elemIndex :: (Storable a, Eq a) => a -> Vector a -> Maybe Int
- elemIndices :: (Storable a, Eq a) => a -> Vector a -> Vector Int
- findIndex :: Storable a => (a -> Bool) -> Vector a -> Maybe Int
- findIndices :: Storable a => (a -> Bool) -> Vector a -> Vector Int
- partition :: Storable a => (a -> Bool) -> Vector a -> (Vector a, Vector a)
- zipWith4 :: (Storable a, Storable b, Storable c, Storable d, Storable e) => (a -> b -> c -> d -> e) -> Vector a -> Vector b -> Vector c -> Vector d -> Vector e
- zipWith5 :: (Storable a, Storable b, Storable c, Storable d, Storable e, Storable f) => (a -> b -> c -> d -> e -> f) -> Vector a -> Vector b -> Vector c -> Vector d -> Vector e -> Vector f
- zipWith6 :: (Storable a, Storable b, Storable c, Storable d, Storable e, Storable f, Storable g) => (a -> b -> c -> d -> e -> f -> g) -> Vector a -> Vector b -> Vector c -> Vector d -> Vector e -> Vector f -> Vector g
- singleton :: Storable a => a -> Vector a
- filterM :: (Monad m, Storable a) => (a -> m Bool) -> Vector a -> m (Vector a)
- zipWithM :: (Monad m, Storable a, Storable b, Storable c) => (a -> b -> m c) -> Vector a -> Vector b -> m (Vector c)
- zipWithM_ :: (Monad m, Storable a, Storable b) => (a -> b -> m c) -> Vector a -> Vector b -> m ()
- foldM :: (Monad m, Storable b) => (a -> b -> m a) -> a -> Vector b -> m a
- foldM_ :: (Monad m, Storable b) => (a -> b -> m a) -> a -> Vector b -> m ()
- replicateM :: (Monad m, Storable a) => Int -> m a -> m (Vector a)
- cons :: Storable a => a -> Vector a -> Vector a
- foldr1' :: Storable a => (a -> a -> a) -> Vector a -> a
- copy :: (Storable a, PrimMonad m) => MVector (PrimState m) a -> Vector a -> m ()
- snoc :: Storable a => Vector a -> a -> Vector a
- create :: Storable a => (forall s. ST s (MVector s a)) -> Vector a
- unfoldrN :: Storable a => Int -> (b -> Maybe (a, b)) -> b -> Vector a
- unsafeHead :: Storable a => Vector a -> a
- unsafeTail :: Storable a => Vector a -> Vector a
- unsafeInit :: Storable a => Vector a -> Vector a
- unsafeLast :: Storable a => Vector a -> a
- unsafeTake :: Storable a => Int -> Vector a -> Vector a
- unsafeDrop :: Storable a => Int -> Vector a -> Vector a
- iterateN :: Storable a => Int -> (a -> a) -> a -> Vector a
- findIndexR :: Storable a => (a -> Bool) -> Vector a -> Maybe Int
- force :: Storable a => Vector a -> Vector a
- ifoldr :: Storable a => (Int -> a -> b -> b) -> b -> Vector a -> b
- ifoldl :: Storable b => (a -> Int -> b -> a) -> a -> Vector b -> a
- ifoldr' :: Storable a => (Int -> a -> b -> b) -> b -> Vector a -> b
- ifoldl' :: Storable b => (a -> Int -> b -> a) -> a -> Vector b -> a
- imap :: (Storable a, Storable b) => (Int -> a -> b) -> Vector a -> Vector b
- imapM :: (Monad m, Storable a, Storable b) => (Int -> a -> m b) -> Vector a -> m (Vector b)
- iforM :: (Monad m, Storable a, Storable b) => Vector a -> (Int -> a -> m b) -> m (Vector b)
- imapM_ :: (Monad m, Storable a) => (Int -> a -> m b) -> Vector a -> m ()
- iforM_ :: (Monad m, Storable a) => Vector a -> (Int -> a -> m b) -> m ()
- modify :: Storable a => (forall s. MVector s a -> ST s ()) -> Vector a -> Vector a
- indexM :: (Storable a, Monad m) => Vector a -> Int -> m a
- generate :: Storable a => Int -> (Int -> a) -> Vector a
- generateM :: (Monad m, Storable a) => Int -> (Int -> m a) -> m (Vector a)
- slice :: Storable a => Int -> Int -> Vector a -> Vector a
- eqBy :: (Storable a, Storable b) => (a -> b -> Bool) -> Vector a -> Vector b -> Bool
- cmpBy :: (Storable a, Storable b) => (a -> b -> Ordering) -> Vector a -> Vector b -> Ordering
- mapMaybeM :: (Monad m, Storable a, Storable b) => (a -> m (Maybe b)) -> Vector a -> m (Vector b)
- uniq :: (Storable a, Eq a) => Vector a -> Vector a
- fold1M :: (Monad m, Storable a) => (a -> a -> m a) -> Vector a -> m a
- foldM' :: (Monad m, Storable b) => (a -> b -> m a) -> a -> Vector b -> m a
- fold1M' :: (Monad m, Storable a) => (a -> a -> m a) -> Vector a -> m a
- unfoldrM :: (Monad m, Storable a) => (b -> m (Maybe (a, b))) -> b -> m (Vector a)
- unfoldrNM :: (Monad m, Storable a) => Int -> (b -> m (Maybe (a, b))) -> b -> m (Vector a)
- unfoldrExactN :: Storable a => Int -> (b -> (a, b)) -> b -> Vector a
- unfoldrExactNM :: (Monad m, Storable a) => Int -> (b -> m (a, b)) -> b -> m (Vector a)
- iterateNM :: (Monad m, Storable a) => Int -> (a -> m a) -> a -> m (Vector a)
- prescanl :: (Storable a, Storable b) => (a -> b -> a) -> a -> Vector b -> Vector a
- prescanl' :: (Storable a, Storable b) => (a -> b -> a) -> a -> Vector b -> Vector a
- postscanl :: (Storable a, Storable b) => (a -> b -> a) -> a -> Vector b -> Vector a
- postscanl' :: (Storable a, Storable b) => (a -> b -> a) -> a -> Vector b -> Vector a
- scanl1' :: Storable a => (a -> a -> a) -> Vector a -> Vector a
- enumFromStepN :: (Storable a, Num a) => a -> a -> Int -> Vector a
- data Vector a
- convert :: (Vector v a, Vector w a) => v a -> w a
- accumulate_ :: (Storable a, Storable b) => (a -> b -> a) -> Vector a -> Vector Int -> Vector b -> Vector a
- backpermute :: Storable a => Vector a -> Vector Int -> Vector a
- breakR :: Storable a => (a -> Bool) -> Vector a -> (Vector a, Vector a)
- constructN :: Storable a => Int -> (Vector a -> a) -> Vector a
- constructrN :: Storable a => Int -> (Vector a -> a) -> Vector a
- createT :: (Traversable f, Storable a) => (forall s. ST s (f (MVector s a))) -> f (Vector a)
- enumFromN :: (Storable a, Num a) => a -> Int -> Vector a
- fold1M'_ :: (Monad m, Storable a) => (a -> a -> m a) -> Vector a -> m ()
- fold1M_ :: (Monad m, Storable a) => (a -> a -> m a) -> Vector a -> m ()
- foldM'_ :: (Monad m, Storable b) => (a -> b -> m a) -> a -> Vector b -> m ()
- headM :: (Storable a, Monad m) => Vector a -> m a
- ifilter :: Storable a => (Int -> a -> Bool) -> Vector a -> Vector a
- ifoldM :: (Monad m, Storable b) => (a -> Int -> b -> m a) -> a -> Vector b -> m a
- ifoldM' :: (Monad m, Storable b) => (a -> Int -> b -> m a) -> a -> Vector b -> m a
- ifoldM'_ :: (Monad m, Storable b) => (a -> Int -> b -> m a) -> a -> Vector b -> m ()
- ifoldM_ :: (Monad m, Storable b) => (a -> Int -> b -> m a) -> a -> Vector b -> m ()
- imapMaybe :: (Storable a, Storable b) => (Int -> a -> Maybe b) -> Vector a -> Vector b
- imapMaybeM :: (Monad m, Storable a, Storable b) => (Int -> a -> m (Maybe b)) -> Vector a -> m (Vector b)
- iscanl :: (Storable a, Storable b) => (Int -> a -> b -> a) -> a -> Vector b -> Vector a
- iscanl' :: (Storable a, Storable b) => (Int -> a -> b -> a) -> a -> Vector b -> Vector a
- iscanr :: (Storable a, Storable b) => (Int -> a -> b -> b) -> b -> Vector a -> Vector b
- iscanr' :: (Storable a, Storable b) => (Int -> a -> b -> b) -> b -> Vector a -> Vector b
- izipWith :: (Storable a, Storable b, Storable c) => (Int -> a -> b -> c) -> Vector a -> Vector b -> Vector c
- izipWith3 :: (Storable a, Storable b, Storable c, Storable d) => (Int -> a -> b -> c -> d) -> Vector a -> Vector b -> Vector c -> Vector d
- izipWith4 :: (Storable a, Storable b, Storable c, Storable d, Storable e) => (Int -> a -> b -> c -> d -> e) -> Vector a -> Vector b -> Vector c -> Vector d -> Vector e
- izipWith5 :: (Storable a, Storable b, Storable c, Storable d, Storable e, Storable f) => (Int -> a -> b -> c -> d -> e -> f) -> Vector a -> Vector b -> Vector c -> Vector d -> Vector e -> Vector f
- izipWith6 :: (Storable a, Storable b, Storable c, Storable d, Storable e, Storable f, Storable g) => (Int -> a -> b -> c -> d -> e -> f -> g) -> Vector a -> Vector b -> Vector c -> Vector d -> Vector e -> Vector f -> Vector g
- izipWithM :: (Monad m, Storable a, Storable b, Storable c) => (Int -> a -> b -> m c) -> Vector a -> Vector b -> m (Vector c)
- izipWithM_ :: (Monad m, Storable a, Storable b) => (Int -> a -> b -> m c) -> Vector a -> Vector b -> m ()
- lastM :: (Storable a, Monad m) => Vector a -> m a
- maxIndex :: (Storable a, Ord a) => Vector a -> Int
- maxIndexBy :: Storable a => (a -> a -> Ordering) -> Vector a -> Int
- maximumOn :: (Ord b, Storable a) => (a -> b) -> Vector a -> a
- minIndex :: (Storable a, Ord a) => Vector a -> Int
- minIndexBy :: Storable a => (a -> a -> Ordering) -> Vector a -> Int
- minimumOn :: (Ord b, Storable a) => (a -> b) -> Vector a -> a
- partitionWith :: (Storable a, Storable b, Storable c) => (a -> Either b c) -> Vector a -> (Vector b, Vector c)
- postscanr :: (Storable a, Storable b) => (a -> b -> b) -> b -> Vector a -> Vector b
- postscanr' :: (Storable a, Storable b) => (a -> b -> b) -> b -> Vector a -> Vector b
- prescanr :: (Storable a, Storable b) => (a -> b -> b) -> b -> Vector a -> Vector b
- prescanr' :: (Storable a, Storable b) => (a -> b -> b) -> b -> Vector a -> Vector b
- scanr' :: (Storable a, Storable b) => (a -> b -> b) -> b -> Vector a -> Vector b
- scanr1' :: Storable a => (a -> a -> a) -> Vector a -> Vector a
- spanR :: Storable a => (a -> Bool) -> Vector a -> (Vector a, Vector a)
- unsafeAccumulate_ :: (Storable a, Storable b) => (a -> b -> a) -> Vector a -> Vector Int -> Vector b -> Vector a
- unsafeBackpermute :: Storable a => Vector a -> Vector Int -> Vector a
- unsafeCopy :: (Storable a, PrimMonad m) => MVector (PrimState m) a -> Vector a -> m ()
- unsafeHeadM :: (Storable a, Monad m) => Vector a -> m a
- unsafeIndexM :: (Storable a, Monad m) => Vector a -> Int -> m a
- unsafeLastM :: (Storable a, Monad m) => Vector a -> m a
- unsafeSlice :: Storable a => Int -> Int -> Vector a -> Vector a
- unsafeUpd :: Storable a => Vector a -> [(Int, a)] -> Vector a
- unsafeUpdate_ :: Storable a => Vector a -> Vector Int -> Vector a -> Vector a
- unstablePartition :: Storable a => (a -> Bool) -> Vector a -> (Vector a, Vector a)
- update_ :: Storable a => Vector a -> Vector Int -> Vector a -> Vector a
- data MVector s a = MVector !Int !(ForeignPtr a)
- unsafeCast :: (Storable a, Storable b) => Vector a -> Vector b
- unsafeCoerceVector :: Coercible a b => Vector a -> Vector b
- unsafeFromForeignPtr :: Storable a => ForeignPtr a -> Int -> Int -> Vector a
- isSameVector :: Storable a => Vector a -> Vector a -> Bool
- unsafeFromForeignPtr0 :: ForeignPtr a -> Int -> Vector a
- unsafeToForeignPtr :: Vector a -> (ForeignPtr a, Int, Int)
- unsafeToForeignPtr0 :: Vector a -> (ForeignPtr a, Int)
- unsafeWith :: Storable a => Vector a -> (Ptr a -> IO b) -> IO b
Documentation
The member functions of this class facilitate writing values of primitive types to raw memory (which may have been allocated with the above mentioned routines) and reading values from blocks of raw memory. The class, furthermore, includes support for computing the storage requirements and alignment restrictions of storable types.
Memory addresses are represented as values of type
, for some
Ptr
aa
which is an instance of class Storable
. The type argument to
Ptr
helps provide some valuable type safety in FFI code (you can't
mix pointers of different types without an explicit cast), while
helping the Haskell type system figure out which marshalling method is
needed for a given pointer.
All marshalling between Haskell and a foreign language ultimately
boils down to translating Haskell data structures into the binary
representation of a corresponding data structure of the foreign
language and vice versa. To code this marshalling in Haskell, it is
necessary to manipulate primitive data types stored in unstructured
memory blocks. The class Storable
facilitates this manipulation on
all types for which it is instantiated, which are the standard basic
types of Haskell, the fixed size Int
types (Int8
, Int16
,
Int32
, Int64
), the fixed size Word
types (Word8
, Word16
,
Word32
, Word64
), StablePtr
, all types from Foreign.C.Types,
as well as Ptr
.
Minimal complete definition
sizeOf, alignment, (peek | peekElemOff | peekByteOff), (poke | pokeElemOff | pokeByteOff)
Instances
enumFromTo :: (Storable a, Enum a) => a -> a -> Vector a #
enumFromThenTo :: (Storable a, Enum a) => a -> a -> a -> Vector a #
zipWith :: (Storable a, Storable b, Storable c) => (a -> b -> c) -> Vector a -> Vector b -> Vector c #
zipWith3 :: (Storable a, Storable b, Storable c, Storable d) => (a -> b -> c -> d) -> Vector a -> Vector b -> Vector c -> Vector d #
unsafeIndex :: Storable a => Vector a -> Int -> a #
zipWith4 :: (Storable a, Storable b, Storable c, Storable d, Storable e) => (a -> b -> c -> d -> e) -> Vector a -> Vector b -> Vector c -> Vector d -> Vector e #
zipWith5 :: (Storable a, Storable b, Storable c, Storable d, Storable e, Storable f) => (a -> b -> c -> d -> e -> f) -> Vector a -> Vector b -> Vector c -> Vector d -> Vector e -> Vector f #
zipWith6 :: (Storable a, Storable b, Storable c, Storable d, Storable e, Storable f, Storable g) => (a -> b -> c -> d -> e -> f -> g) -> Vector a -> Vector b -> Vector c -> Vector d -> Vector e -> Vector f -> Vector g #
zipWithM :: (Monad m, Storable a, Storable b, Storable c) => (a -> b -> m c) -> Vector a -> Vector b -> m (Vector c) #
unsafeHead :: Storable a => Vector a -> a #
unsafeTail :: Storable a => Vector a -> Vector a #
unsafeInit :: Storable a => Vector a -> Vector a #
unsafeLast :: Storable a => Vector a -> a #
unfoldrExactN :: Storable a => Int -> (b -> (a, b)) -> b -> Vector a #
Instances
NFData1 Vector | |
Defined in Data.Vector.Storable | |
Storable a => Vector Vector a | |
Defined in Data.Vector.Storable Methods basicUnsafeFreeze :: Mutable Vector s a -> ST s (Vector a) # basicUnsafeThaw :: Vector a -> ST s (Mutable Vector s a) # basicLength :: Vector a -> Int # basicUnsafeSlice :: Int -> Int -> Vector a -> Vector a # basicUnsafeIndexM :: Vector a -> Int -> Box a # basicUnsafeCopy :: Mutable Vector s a -> Vector a -> ST s () # | |
(Data a, Storable a) => Data (Vector a) | |
Defined in Data.Vector.Storable Methods gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> Vector a -> c (Vector a) # gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c (Vector a) # toConstr :: Vector a -> Constr # dataTypeOf :: Vector a -> DataType # dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c (Vector a)) # dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c (Vector a)) # gmapT :: (forall b. Data b => b -> b) -> Vector a -> Vector a # gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> Vector a -> r # gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> Vector a -> r # gmapQ :: (forall d. Data d => d -> u) -> Vector a -> [u] # gmapQi :: Int -> (forall d. Data d => d -> u) -> Vector a -> u # gmapM :: Monad m => (forall d. Data d => d -> m d) -> Vector a -> m (Vector a) # gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> Vector a -> m (Vector a) # gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> Vector a -> m (Vector a) # | |
Storable a => Monoid (Vector a) | |
Storable a => Semigroup (Vector a) | |
Storable a => IsList (Vector a) | |
(Read a, Storable a) => Read (Vector a) | |
(Show a, Storable a) => Show (Vector a) | |
NFData (Vector a) | |
Defined in Data.Vector.Storable | |
(Storable a, Eq a) => Eq (Vector a) | |
(Storable a, Ord a) => Ord (Vector a) | |
Defined in Data.Vector.Storable | |
type Mutable Vector | |
Defined in Data.Vector.Storable | |
type Item (Vector a) | |
Defined in Data.Vector.Storable |
accumulate_ :: (Storable a, Storable b) => (a -> b -> a) -> Vector a -> Vector Int -> Vector b -> Vector a #
imapMaybeM :: (Monad m, Storable a, Storable b) => (Int -> a -> m (Maybe b)) -> Vector a -> m (Vector b) #
izipWith :: (Storable a, Storable b, Storable c) => (Int -> a -> b -> c) -> Vector a -> Vector b -> Vector c #
izipWith3 :: (Storable a, Storable b, Storable c, Storable d) => (Int -> a -> b -> c -> d) -> Vector a -> Vector b -> Vector c -> Vector d #
izipWith4 :: (Storable a, Storable b, Storable c, Storable d, Storable e) => (Int -> a -> b -> c -> d -> e) -> Vector a -> Vector b -> Vector c -> Vector d -> Vector e #
izipWith5 :: (Storable a, Storable b, Storable c, Storable d, Storable e, Storable f) => (Int -> a -> b -> c -> d -> e -> f) -> Vector a -> Vector b -> Vector c -> Vector d -> Vector e -> Vector f #
izipWith6 :: (Storable a, Storable b, Storable c, Storable d, Storable e, Storable f, Storable g) => (Int -> a -> b -> c -> d -> e -> f -> g) -> Vector a -> Vector b -> Vector c -> Vector d -> Vector e -> Vector f -> Vector g #
izipWithM :: (Monad m, Storable a, Storable b, Storable c) => (Int -> a -> b -> m c) -> Vector a -> Vector b -> m (Vector c) #
izipWithM_ :: (Monad m, Storable a, Storable b) => (Int -> a -> b -> m c) -> Vector a -> Vector b -> m () #
partitionWith :: (Storable a, Storable b, Storable c) => (a -> Either b c) -> Vector a -> (Vector b, Vector c) #
unsafeAccumulate_ :: (Storable a, Storable b) => (a -> b -> a) -> Vector a -> Vector Int -> Vector b -> Vector a #
unsafeHeadM :: (Storable a, Monad m) => Vector a -> m a #
unsafeLastM :: (Storable a, Monad m) => Vector a -> m a #
Constructors
MVector !Int !(ForeignPtr a) |
Instances
Storable a => MVector MVector a | |
Defined in Data.Vector.Storable.Mutable Methods basicLength :: MVector s a -> Int # basicUnsafeSlice :: Int -> Int -> MVector s a -> MVector s a # basicOverlaps :: MVector s a -> MVector s a -> Bool # basicUnsafeNew :: Int -> ST s (MVector s a) # basicInitialize :: MVector s a -> ST s () # basicUnsafeReplicate :: Int -> a -> ST s (MVector s a) # basicUnsafeRead :: MVector s a -> Int -> ST s a # basicUnsafeWrite :: MVector s a -> Int -> a -> ST s () # basicClear :: MVector s a -> ST s () # basicSet :: MVector s a -> a -> ST s () # basicUnsafeCopy :: MVector s a -> MVector s a -> ST s () # basicUnsafeMove :: MVector s a -> MVector s a -> ST s () # basicUnsafeGrow :: MVector s a -> Int -> ST s (MVector s a) # | |
NFData1 (MVector s) | |
Defined in Data.Vector.Storable.Mutable | |
NFData (MVector s a) | |
Defined in Data.Vector.Storable.Mutable |
unsafeCoerceVector :: Coercible a b => Vector a -> Vector b #
unsafeFromForeignPtr :: Storable a => ForeignPtr a -> Int -> Int -> Vector a #
unsafeFromForeignPtr0 :: ForeignPtr a -> Int -> Vector a #
unsafeToForeignPtr :: Vector a -> (ForeignPtr a, Int, Int) #
unsafeToForeignPtr0 :: Vector a -> (ForeignPtr a, Int) #