bimaps-0.1.0.2: bijections with multiple implementations.

Safe HaskellNone
LanguageHaskell2010

Data.Bijection.Vector.Unboxed

Contents

Description

A bijection between boxed, immutable vectors.

Documentation

data family Vector a :: * #

Instances

Vector Vector Bool 
Vector Vector Char 
Vector Vector Double 
Vector Vector Float 
Vector Vector Int 
Vector Vector Int8 
Vector Vector Int16 
Vector Vector Int32 
Vector Vector Int64 
Vector Vector Word 
Vector Vector Word8 
Vector Vector Word16 
Vector Vector Word32 
Vector Vector Word64 
Vector Vector () 

Methods

basicUnsafeFreeze :: PrimMonad m => Mutable Vector (PrimState m) () -> m (Vector ()) #

basicUnsafeThaw :: PrimMonad m => Vector () -> m (Mutable Vector (PrimState m) ()) #

basicLength :: Vector () -> Int #

basicUnsafeSlice :: Int -> Int -> Vector () -> Vector () #

basicUnsafeIndexM :: Monad m => Vector () -> Int -> m () #

basicUnsafeCopy :: PrimMonad m => Mutable Vector (PrimState m) () -> Vector () -> m () #

elemseq :: Vector () -> () -> b -> b #

Unbox a => Vector Vector (Complex a) 
(Unbox a, Unbox b) => Vector Vector (a, b) 

Methods

basicUnsafeFreeze :: PrimMonad m => Mutable Vector (PrimState m) (a, b) -> m (Vector (a, b)) #

basicUnsafeThaw :: PrimMonad m => Vector (a, b) -> m (Mutable Vector (PrimState m) (a, b)) #

basicLength :: Vector (a, b) -> Int #

basicUnsafeSlice :: Int -> Int -> Vector (a, b) -> Vector (a, b) #

basicUnsafeIndexM :: Monad m => Vector (a, b) -> Int -> m (a, b) #

basicUnsafeCopy :: PrimMonad m => Mutable Vector (PrimState m) (a, b) -> Vector (a, b) -> m () #

elemseq :: Vector (a, b) -> (a, b) -> b -> b #

(Unbox a, Unbox b, Unbox c) => Vector Vector (a, b, c) 

Methods

basicUnsafeFreeze :: PrimMonad m => Mutable Vector (PrimState m) (a, b, c) -> m (Vector (a, b, c)) #

basicUnsafeThaw :: PrimMonad m => Vector (a, b, c) -> m (Mutable Vector (PrimState m) (a, b, c)) #

basicLength :: Vector (a, b, c) -> Int #

basicUnsafeSlice :: Int -> Int -> Vector (a, b, c) -> Vector (a, b, c) #

basicUnsafeIndexM :: Monad m => Vector (a, b, c) -> Int -> m (a, b, c) #

basicUnsafeCopy :: PrimMonad m => Mutable Vector (PrimState m) (a, b, c) -> Vector (a, b, c) -> m () #

elemseq :: Vector (a, b, c) -> (a, b, c) -> b -> b #

(Unbox a, Unbox b, Unbox c, Unbox d) => Vector Vector (a, b, c, d) 

Methods

basicUnsafeFreeze :: PrimMonad m => Mutable Vector (PrimState m) (a, b, c, d) -> m (Vector (a, b, c, d)) #

basicUnsafeThaw :: PrimMonad m => Vector (a, b, c, d) -> m (Mutable Vector (PrimState m) (a, b, c, d)) #

basicLength :: Vector (a, b, c, d) -> Int #

basicUnsafeSlice :: Int -> Int -> Vector (a, b, c, d) -> Vector (a, b, c, d) #

basicUnsafeIndexM :: Monad m => Vector (a, b, c, d) -> Int -> m (a, b, c, d) #

basicUnsafeCopy :: PrimMonad m => Mutable Vector (PrimState m) (a, b, c, d) -> Vector (a, b, c, d) -> m () #

elemseq :: Vector (a, b, c, d) -> (a, b, c, d) -> b -> b #

(Unbox a, Unbox b, Unbox c, Unbox d, Unbox e) => Vector Vector (a, b, c, d, e) 

Methods

basicUnsafeFreeze :: PrimMonad m => Mutable Vector (PrimState m) (a, b, c, d, e) -> m (Vector (a, b, c, d, e)) #

basicUnsafeThaw :: PrimMonad m => Vector (a, b, c, d, e) -> m (Mutable Vector (PrimState m) (a, b, c, d, e)) #

basicLength :: Vector (a, b, c, d, e) -> Int #

basicUnsafeSlice :: Int -> Int -> Vector (a, b, c, d, e) -> Vector (a, b, c, d, e) #

basicUnsafeIndexM :: Monad m => Vector (a, b, c, d, e) -> Int -> m (a, b, c, d, e) #

basicUnsafeCopy :: PrimMonad m => Mutable Vector (PrimState m) (a, b, c, d, e) -> Vector (a, b, c, d, e) -> m () #

elemseq :: Vector (a, b, c, d, e) -> (a, b, c, d, e) -> b -> b #

(Unbox a, Unbox b, Unbox c, Unbox d, Unbox e, Unbox f) => Vector Vector (a, b, c, d, e, f) 

Methods

basicUnsafeFreeze :: PrimMonad m => Mutable Vector (PrimState m) (a, b, c, d, e, f) -> m (Vector (a, b, c, d, e, f)) #

basicUnsafeThaw :: PrimMonad m => Vector (a, b, c, d, e, f) -> m (Mutable Vector (PrimState m) (a, b, c, d, e, f)) #

basicLength :: Vector (a, b, c, d, e, f) -> Int #

basicUnsafeSlice :: Int -> Int -> Vector (a, b, c, d, e, f) -> Vector (a, b, c, d, e, f) #

basicUnsafeIndexM :: Monad m => Vector (a, b, c, d, e, f) -> Int -> m (a, b, c, d, e, f) #

basicUnsafeCopy :: PrimMonad m => Mutable Vector (PrimState m) (a, b, c, d, e, f) -> Vector (a, b, c, d, e, f) -> m () #

elemseq :: Vector (a, b, c, d, e, f) -> (a, b, c, d, e, f) -> b -> b #

(Data a, Unbox a) => Data (Vector a) 

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 :: (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) #

(Vector Vector a, ToJSON a) => ToJSON (Vector a) 
(Vector Vector a, FromJSON a) => FromJSON (Vector a) 
NFData (Vector a) 

Methods

rnf :: Vector a -> () #

data Vector Bool 
data Vector Char 
data Vector Double 
data Vector Float 
data Vector Int 
data Vector Int8 
data Vector Int16 
data Vector Int32 
data Vector Int64 
data Vector Word 
data Vector Word8 
data Vector Word16 
data Vector Word32 
data Vector Word64 
data Vector () 
data Vector () = V_Unit Int
type Mutable Vector 
type Item (Vector e) 
type Item (Vector e) = e
data Vector (Complex a) 
data Vector (Complex a) = V_Complex (Vector (a, a))
type Dom (Vector c) Source # 
type Dom (Vector c) = Int
type Cod (Vector c) Source # 
type Cod (Vector c) = c
data Vector (a, b) 
data Vector (a, b) = V_2 ~Int ~(Vector a) ~(Vector b)
data Vector (a, b, c) 
data Vector (a, b, c) = V_3 ~Int ~(Vector a) ~(Vector b) ~(Vector c)
data Vector (a, b, c, d) 
data Vector (a, b, c, d) = V_4 ~Int ~(Vector a) ~(Vector b) ~(Vector c) ~(Vector d)
data Vector (a, b, c, d, e) 
data Vector (a, b, c, d, e) = V_5 ~Int ~(Vector a) ~(Vector b) ~(Vector c) ~(Vector d) ~(Vector e)
data Vector (a, b, c, d, e, f) 
data Vector (a, b, c, d, e, f) = V_6 ~Int ~(Vector a) ~(Vector b) ~(Vector c) ~(Vector d) ~(Vector e) ~(Vector f)

type Bi d c = Bimap (Vector d) (Vector c) Source #

Orphan instances

Unbox c => DomCod (Vector c) Source # 

Associated Types

type Dom (Vector c) :: * Source #

type Cod (Vector c) :: * Source #

Methods

member :: Vector c -> Dom (Vector c) -> Bool Source #

lookup :: Vector c -> Dom (Vector c) -> Maybe (Cod (Vector c)) Source #

deleteDC :: Vector c -> Dom (Vector c) -> Maybe (Cod (Vector c), Vector c) Source #

insertDC :: Vector c -> (Dom (Vector c), Cod (Vector c)) -> Vector c Source #

toListDC :: Vector c -> [(Dom (Vector c), Cod (Vector c))] Source #

nullDC :: Vector c -> Bool Source #

emptyDC :: Vector c Source #

sizeDC :: Vector c -> Int Source #

fromListDC :: [(Dom (Vector c), Cod (Vector c))] -> Vector c Source #