Safe Haskell | None |
---|---|
Language | Haskell98 |
Control.CUtils.DataParallel
Description
An implementation of nested data parallelism
- data ArrC t = ArrC !(Array Int t) !(Forest Int)
- inject :: Array Int e -> ArrC e
- project :: ArrC t -> Array Int t
- newArray :: [e] -> Array Int e
- mirror :: Either a a1 -> Either a1 a
- pairUp :: [b] -> [(b, b)]
- mp :: (t -> t1) -> ArrC t -> ArrC t1
- count :: Int -> ArrC Int
- index :: ArrC e -> Int -> e
- zip :: ArrC t -> ArrC t1 -> ArrC (t, t1)
- concat :: ArrC (ArrC t) -> ArrC t
- fold :: (a -> a -> a) -> (a1 -> a) -> a -> ArrC a1 -> a
- first :: (t -> t1) -> (t, t2) -> (t1, t2)
- second :: (t -> t2) -> (t1, t) -> (t1, t2)
- left :: (a -> b) -> Either a b1 -> Either b b1
- right :: (b -> b1) -> Either a b -> Either a b1
- and :: (t2 -> t) -> (t2 -> t1) -> t2 -> (t, t1)
- __pack :: ArrC (ArrC t) -> ArrC t
- __unpack :: ArrC t -> ArrC (ArrC t)
- __packProd :: (a, b) -> ArrC (Either a b)
- __unpackProd :: ArrC (Either t t1) -> (t, t1)
- __packSum1 :: Either a (ArrC b) -> ArrC (Either a b)
- __unpackSum1 :: ArrC (Either a b) -> Either a (ArrC b)
- __packSum2 :: Either (ArrC a1) a -> ArrC (Either a1 a)
- __unpackSum2 :: ArrC (Either b a) -> Either (ArrC b) a