module ModularPrelude.Module.UVector
(
UVectorModule (..)
, UVectorImplements (..)
) where
import ModularPrelude hiding (empty)
import qualified Data.Vector.Unboxed as UVector
data UVectorModule = UVector
{ map :: forall a b. (Unbox a, Unbox b)
=> (a -> b) -> UVector a -> UVector b
, concatMap :: forall a b. (Unbox a, Unbox b)
=> (a -> UVector b) -> UVector a -> UVector b
, filter :: forall a. Unbox a => (a -> Bool) -> UVector a -> UVector a
, length :: forall a. Unbox a => UVector a -> Int
, singleton :: forall a. Unbox a => a -> UVector a
, null :: forall a. Unbox a => UVector a -> Bool
, pack :: forall a. Unbox a => [a] -> UVector a
, unpack :: forall a. Unbox a => UVector a -> [a]
, fromList :: forall a. Unbox a => [a] -> UVector a
, toList :: forall a. Unbox a => UVector a -> [a]
, mapM :: 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 ()
, empty :: forall a. Unbox a => UVector a
, member :: forall a. Unbox a => Eq a => a -> UVector a -> Bool
, break :: 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)
, dropWhile :: forall a. Unbox a => (a -> Bool) -> UVector a -> UVector a
, takeWhile :: forall a. Unbox a => (a -> Bool) -> UVector a -> UVector a
, any :: forall a. Unbox a => (a -> Bool) -> UVector a -> Bool
, all :: forall a. Unbox a => (a -> Bool) -> UVector a -> Bool
, splitAt :: forall a. Unbox a => Int -> UVector a -> (UVector a, UVector 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_ = UVector
{ map = UVector.map
, concatMap = UVector.concatMap
, filter = UVector.filter
, length = UVector.length
, singleton = UVector.singleton
, null = UVector.null
, pack = UVector.fromList
, unpack = UVector.toList
, fromList = UVector.fromList
, toList = UVector.toList
, mapM = UVector.mapM
, mapM_ = UVector.mapM_
, empty = UVector.empty
, member = UVector.any . (==)
, break = UVector.break
, span = UVector.span
, dropWhile = UVector.dropWhile
, takeWhile = UVector.takeWhile
, any = UVector.any
, all = UVector.all
, splitAt = UVector.splitAt
, fold = UVector.foldl'
}
instance Default UVectorModule where
def = _Data_Vector_Unboxed_