{-# LANGUAGE NoImplicitPrelude, PolymorphicComponents #-}
module ModularPrelude.Module.UVector
(
UVectorModule (..)
, UVectorImplements (..)
) where
import ModularPrelude hiding (empty)
import qualified Data.Vector.Unboxed as UVector
data UVectorModule = UVector
{ UVectorModule
-> forall a b.
(Unbox a, Unbox b) =>
(a -> b) -> UVector a -> UVector b
map :: forall a b. (Unbox a, Unbox b)
=> (a -> b) -> UVector a -> UVector b
, UVectorModule
-> forall a b.
(Unbox a, Unbox b) =>
(a -> UVector b) -> UVector a -> UVector b
concatMap :: forall a b. (Unbox a, Unbox b)
=> (a -> UVector b) -> UVector a -> UVector b
, UVectorModule
-> forall a. Unbox a => (a -> Bool) -> UVector a -> UVector a
filter :: forall a. Unbox a => (a -> Bool) -> UVector a -> UVector a
, UVectorModule -> forall a. Unbox a => UVector a -> Int
length :: forall a. Unbox a => UVector a -> Int
, UVectorModule -> forall a. Unbox a => a -> UVector a
singleton :: forall a. Unbox a => a -> UVector a
, UVectorModule -> forall a. Unbox a => UVector a -> Bool
null :: forall a. Unbox a => UVector a -> Bool
, UVectorModule -> forall a. Unbox a => [a] -> UVector a
pack :: forall a. Unbox a => [a] -> UVector a
, UVectorModule -> forall a. Unbox a => UVector a -> [a]
unpack :: forall a. Unbox a => UVector a -> [a]
, UVectorModule -> forall a. Unbox a => [a] -> UVector a
fromList :: forall a. Unbox a => [a] -> UVector a
, UVectorModule -> forall a. Unbox a => UVector a -> [a]
toList :: forall a. Unbox a => UVector a -> [a]
, UVectorModule
-> forall a b (m :: * -> *).
(Unbox a, Unbox b, Monad m) =>
(a -> m b) -> UVector a -> m (UVector b)
mapM :: forall a b m. (Unbox a, Unbox b, Monad m)
=> (a -> m b) -> UVector a -> m (UVector b)
, UVectorModule
-> forall a b (m :: * -> *).
(Unbox a, Unbox b, Monad m) =>
(a -> m b) -> UVector a -> m ()
mapM_ :: forall a b m. (Unbox a, Unbox b, Monad m)
=> (a -> m b) -> UVector a -> m ()
, UVectorModule -> forall a. Unbox a => UVector a
empty :: forall a. Unbox a => UVector a
, UVectorModule
-> forall a. (Unbox a, Eq a) => a -> UVector a -> Bool
member :: forall a. Unbox a => Eq a => a -> UVector a -> Bool
, UVectorModule
-> forall a.
Unbox a =>
(a -> Bool) -> UVector a -> (UVector a, UVector a)
break :: forall a. Unbox a => (a -> Bool) -> UVector a -> (UVector a, UVector a)
, UVectorModule
-> forall a.
Unbox a =>
(a -> Bool) -> UVector a -> (UVector a, UVector a)
span :: forall a. Unbox a => (a -> Bool) -> UVector a -> (UVector a, UVector a)
, UVectorModule
-> forall a. Unbox a => (a -> Bool) -> UVector a -> UVector a
dropWhile :: forall a. Unbox a => (a -> Bool) -> UVector a -> UVector a
, UVectorModule
-> forall a. Unbox a => (a -> Bool) -> UVector a -> UVector a
takeWhile :: forall a. Unbox a => (a -> Bool) -> UVector a -> UVector a
, UVectorModule
-> forall a. Unbox a => (a -> Bool) -> UVector a -> Bool
any :: forall a. Unbox a => (a -> Bool) -> UVector a -> Bool
, UVectorModule
-> forall a. Unbox a => (a -> Bool) -> UVector a -> Bool
all :: forall a. Unbox a => (a -> Bool) -> UVector a -> Bool
, UVectorModule
-> forall a. Unbox a => Int -> UVector a -> (UVector a, UVector a)
splitAt :: forall a. Unbox a => Int -> UVector a -> (UVector a, UVector a)
, UVectorModule
-> forall a b.
(Unbox a, Unbox b) =>
(a -> b -> a) -> a -> UVector b -> a
fold :: forall a b. (Unbox a, Unbox b)
=> (a -> b -> a) -> a -> UVector b -> a
}
class UVectorImplements interface where
_Data_Vector_Unboxed_ :: interface
instance UVectorImplements UVectorModule where
_Data_Vector_Unboxed_ :: UVectorModule
_Data_Vector_Unboxed_ = UVector
{ map :: forall a b.
(Unbox a, Unbox b) =>
(a -> b) -> UVector a -> UVector b
map = (a -> b) -> Vector a -> Vector b
forall a b.
(Unbox a, Unbox b) =>
(a -> b) -> UVector a -> UVector b
UVector.map
, concatMap :: forall a b.
(Unbox a, Unbox b) =>
(a -> UVector b) -> UVector a -> UVector b
concatMap = (a -> Vector b) -> Vector a -> Vector b
forall a b.
(Unbox a, Unbox b) =>
(a -> UVector b) -> UVector a -> UVector b
UVector.concatMap
, filter :: forall a. Unbox a => (a -> Bool) -> UVector a -> UVector a
filter = (a -> Bool) -> Vector a -> Vector a
forall a. Unbox a => (a -> Bool) -> UVector a -> UVector a
UVector.filter
, length :: forall a. Unbox a => UVector a -> Int
length = Vector a -> Int
forall a. Unbox a => UVector a -> Int
UVector.length
, singleton :: forall a. Unbox a => a -> UVector a
singleton = a -> Vector a
forall a. Unbox a => a -> UVector a
UVector.singleton
, null :: forall a. Unbox a => UVector a -> Bool
null = Vector a -> Bool
forall a. Unbox a => UVector a -> Bool
UVector.null
, pack :: forall a. Unbox a => [a] -> UVector a
pack = [a] -> Vector a
forall a. Unbox a => [a] -> UVector a
UVector.fromList
, unpack :: forall a. Unbox a => UVector a -> [a]
unpack = Vector a -> [a]
forall a. Unbox a => UVector a -> [a]
UVector.toList
, fromList :: forall a. Unbox a => [a] -> UVector a
fromList = [a] -> Vector a
forall a. Unbox a => [a] -> UVector a
UVector.fromList
, toList :: forall a. Unbox a => UVector a -> [a]
toList = Vector a -> [a]
forall a. Unbox a => UVector a -> [a]
UVector.toList
, mapM :: forall a b (m :: * -> *).
(Unbox a, Unbox b, Monad m) =>
(a -> m b) -> UVector a -> m (UVector b)
mapM = (a -> m b) -> Vector a -> m (Vector b)
forall a b (m :: * -> *).
(Unbox a, Unbox b, Monad m) =>
(a -> m b) -> UVector a -> m (UVector b)
forall (m :: * -> *) a b.
(Monad m, Unbox a, Unbox b) =>
(a -> m b) -> Vector a -> m (Vector b)
UVector.mapM
, mapM_ :: forall a b (m :: * -> *).
(Unbox a, Unbox b, Monad m) =>
(a -> m b) -> UVector a -> m ()
mapM_ = (a -> m b) -> Vector a -> m ()
forall a b (m :: * -> *).
(Unbox a, Unbox b, Monad m) =>
(a -> m b) -> UVector a -> m ()
forall (m :: * -> *) a b.
(Monad m, Unbox a) =>
(a -> m b) -> Vector a -> m ()
UVector.mapM_
, empty :: forall a. Unbox a => UVector a
empty = Vector a
forall a. Unbox a => UVector a
UVector.empty
, member :: forall a. (Unbox a, Eq a) => a -> UVector a -> Bool
member = (a -> Bool) -> UVector a -> Bool
forall a. Unbox a => (a -> Bool) -> UVector a -> Bool
UVector.any ((a -> Bool) -> UVector a -> Bool)
-> (a -> a -> Bool) -> a -> UVector a -> Bool
forall b c a. (b -> c) -> (a -> b) -> a -> c
forall {k} (cat :: k -> k -> *) (b :: k) (c :: k) (a :: k).
Category cat =>
cat b c -> cat a b -> cat a c
. a -> a -> Bool
forall a. Eq a => a -> a -> Bool
(==)
, break :: forall a.
Unbox a =>
(a -> Bool) -> UVector a -> (UVector a, UVector a)
break = (a -> Bool) -> Vector a -> (Vector a, Vector a)
forall a.
Unbox a =>
(a -> Bool) -> UVector a -> (UVector a, UVector a)
UVector.break
, span :: forall a.
Unbox a =>
(a -> Bool) -> UVector a -> (UVector a, UVector a)
span = (a -> Bool) -> Vector a -> (Vector a, Vector a)
forall a.
Unbox a =>
(a -> Bool) -> UVector a -> (UVector a, UVector a)
UVector.span
, dropWhile :: forall a. Unbox a => (a -> Bool) -> UVector a -> UVector a
dropWhile = (a -> Bool) -> Vector a -> Vector a
forall a. Unbox a => (a -> Bool) -> UVector a -> UVector a
UVector.dropWhile
, takeWhile :: forall a. Unbox a => (a -> Bool) -> UVector a -> UVector a
takeWhile = (a -> Bool) -> Vector a -> Vector a
forall a. Unbox a => (a -> Bool) -> UVector a -> UVector a
UVector.takeWhile
, any :: forall a. Unbox a => (a -> Bool) -> UVector a -> Bool
any = (a -> Bool) -> Vector a -> Bool
forall a. Unbox a => (a -> Bool) -> UVector a -> Bool
UVector.any
, all :: forall a. Unbox a => (a -> Bool) -> UVector a -> Bool
all = (a -> Bool) -> Vector a -> Bool
forall a. Unbox a => (a -> Bool) -> UVector a -> Bool
UVector.all
, splitAt :: forall a. Unbox a => Int -> UVector a -> (UVector a, UVector a)
splitAt = Int -> Vector a -> (Vector a, Vector a)
forall a. Unbox a => Int -> UVector a -> (UVector a, UVector a)
UVector.splitAt
, fold :: forall a b.
(Unbox a, Unbox b) =>
(a -> b -> a) -> a -> UVector b -> a
fold = (a -> b -> a) -> a -> Vector b -> a
forall a b.
(Unbox a, Unbox b) =>
(a -> b -> a) -> a -> UVector b -> a
forall b a. Unbox b => (a -> b -> a) -> a -> Vector b -> a
UVector.foldl'
}
instance Default UVectorModule where
def :: UVectorModule
def = UVectorModule
forall interface. UVectorImplements interface => interface
_Data_Vector_Unboxed_