dph-prim-seq-0.4.0: Sequential Primitives for Data-Parallel Haskell.Source codeContentsIndex
Data.Array.Parallel.Unlifted
Synopsis
data a :*: b = !a :*: !b
class UA a => Elt a
type Array = UArr
type Segd = USegd
length :: Elt a => Array a -> Int
empty :: Elt a => Array a
replicate :: Elt a => Int -> a -> Array a
repeat :: Elt a => Int -> Int -> Array a -> Array a
(+:+) :: Elt a => Array a -> Array a -> Array a
(!:) :: Elt a => Array a -> Int -> a
extract :: Elt a => Array a -> Int -> Int -> Array a
drop :: Elt a => Int -> Array a -> Array a
permute :: Elt a => Array a -> Array Int -> Array a
mbpermute :: (Elt a, Elt b) => (a -> b) -> Array a -> Array Int -> Array b
bpermute :: Elt a => Array a -> Array Int -> Array a
bpermuteDft :: Elt e => Int -> (Int -> e) -> Array (Int :*: e) -> Array e
update :: Elt a => Array a -> Array (Int :*: a) -> Array a
pack :: Elt a => Array a -> Array Bool -> Array a
combine :: Elt a => Array Bool -> Array a -> Array a -> Array a
enumFromTo :: Int -> Int -> Array Int
enumFromThenTo :: Int -> Int -> Int -> Array Int
enumFromToEach :: Int -> Array (Int :*: Int) -> Array Int
enumFromStepLen :: Int -> Int -> Int -> Array Int
enumFromStepLenEach :: Int -> Array ((Int :*: Int) :*: Int) -> Array Int
indexed :: Elt a => Array a -> Array (Int :*: a)
zip :: (Elt a, Elt b) => Array a -> Array b -> Array (a :*: b)
zip3 :: (Elt a, Elt b, Elt c) => Array a -> Array b -> Array c -> Array ((a :*: b) :*: c)
unzip :: (Elt a, Elt b) => Array (a :*: b) -> Array a :*: Array b
unzip3 :: (Elt a, Elt b, Elt c) => Array ((a :*: b) :*: c) -> (Array a :*: Array b) :*: Array c
fsts :: (Elt a, Elt b) => Array (a :*: b) -> Array a
snds :: (Elt a, Elt b) => Array (a :*: b) -> Array b
map :: (Elt a, Elt b) => (a -> b) -> Array a -> Array b
zipWith :: (Elt a, Elt b, Elt c) => (a -> b -> c) -> Array a -> Array b -> Array c
zipWith3 :: (Elt a, Elt b, Elt c, Elt d) => (a -> b -> c -> d) -> Array a -> Array b -> Array c -> Array d
filter :: Elt a => (a -> Bool) -> Array a -> Array a
fold :: Elt a => (a -> a -> a) -> a -> Array a -> a
fold1 :: Elt a => (a -> a -> a) -> Array a -> a
and :: Array Bool -> Bool
sum :: (Num a, Elt a) => Array a -> a
scan :: Elt a => (a -> a -> a) -> a -> Array a -> Array a
replicate_s :: Elt a => Segd -> Array a -> Array a
replicate_rs :: Elt a => Int -> Array a -> Array a
append_s :: Elt a => Segd -> Array a -> Segd -> Array a -> Array a
repeat_c :: Elt a => Int -> Array Int -> Segd -> Array a -> Array a
fold_s :: Elt a => (a -> a -> a) -> a -> Segd -> Array a -> Array a
fold1_s :: Elt a => (a -> a -> a) -> Segd -> Array a -> Array a
sum_s :: (Num a, Elt a) => Segd -> Array a -> Array a
indices_s :: Int -> Segd -> Int -> Array Int
sum_r :: (Num a, Elt a) => Int -> Int -> Array a -> Array a
lengthSegd :: Segd -> Int
lengthsSegd :: Segd -> Array Int
indicesSegd :: Segd -> Array Int
elementsSegd :: Segd -> Int
lengthsToSegd :: Array Int -> Segd
mkSegd :: Array Int -> Array Int -> Int -> Segd
selectorToIndices2 :: Array Int -> Array Int
pick :: (Elt a, Eq a) => Array a -> a -> Array Bool
count :: (Elt a, Eq a) => Array a -> a -> Int
randoms :: (Elt a, Random a, RandomGen g) => Int -> g -> Array a
randomRs :: (Elt a, Random a, RandomGen g) => Int -> (a, a) -> g -> Array a
class UIO a => IOElt a
hGet :: IOElt a => Handle -> IO (Array a)
hPut :: IOElt a => Handle -> Array a -> IO ()
toList :: Elt a => Array a -> [a]
fromList :: Elt a => [a] -> Array a
Documentation
data a :*: b Source
Strict pair
Constructors
!a :*: !b
show/hide Instances
(Eq a, Eq b) => Eq (:*: a b)
(Ord a, Ord b) => Ord (:*: a b)
(Read a, Read b) => Read (:*: a b)
(Show a, Show b) => Show (:*: a b)
(Rebox a, Rebox b) => Rebox (:*: a b)
(HS a, HS b) => HS (:*: a b)
(UIO a, UIO b) => UIO (:*: a b)
(UA a, UA b) => UA (:*: a b)
(IOElt a, IOElt b) => IOElt (:*: a b)
(Elt a, Elt b) => Elt (:*: a b)
class UA a => Elt a Source
show/hide Instances
type Array = UArrSource
type Segd = USegdSource
length :: Elt a => Array a -> IntSource
empty :: Elt a => Array aSource
replicate :: Elt a => Int -> a -> Array aSource
repeat :: Elt a => Int -> Int -> Array a -> Array aSource
(+:+) :: Elt a => Array a -> Array a -> Array aSource
(!:) :: Elt a => Array a -> Int -> aSource
extract :: Elt a => Array a -> Int -> Int -> Array aSource
drop :: Elt a => Int -> Array a -> Array aSource
permute :: Elt a => Array a -> Array Int -> Array aSource
mbpermute :: (Elt a, Elt b) => (a -> b) -> Array a -> Array Int -> Array bSource
bpermute :: Elt a => Array a -> Array Int -> Array aSource
bpermuteDft :: Elt e => Int -> (Int -> e) -> Array (Int :*: e) -> Array eSource
update :: Elt a => Array a -> Array (Int :*: a) -> Array aSource
pack :: Elt a => Array a -> Array Bool -> Array aSource
combine :: Elt a => Array Bool -> Array a -> Array a -> Array aSource
enumFromTo :: Int -> Int -> Array IntSource
enumFromThenTo :: Int -> Int -> Int -> Array IntSource
enumFromToEach :: Int -> Array (Int :*: Int) -> Array IntSource
enumFromStepLen :: Int -> Int -> Int -> Array IntSource
enumFromStepLenEach :: Int -> Array ((Int :*: Int) :*: Int) -> Array IntSource
indexed :: Elt a => Array a -> Array (Int :*: a)Source
zip :: (Elt a, Elt b) => Array a -> Array b -> Array (a :*: b)Source
zip3 :: (Elt a, Elt b, Elt c) => Array a -> Array b -> Array c -> Array ((a :*: b) :*: c)Source
unzip :: (Elt a, Elt b) => Array (a :*: b) -> Array a :*: Array bSource
unzip3 :: (Elt a, Elt b, Elt c) => Array ((a :*: b) :*: c) -> (Array a :*: Array b) :*: Array cSource
fsts :: (Elt a, Elt b) => Array (a :*: b) -> Array aSource
snds :: (Elt a, Elt b) => Array (a :*: b) -> Array bSource
map :: (Elt a, Elt b) => (a -> b) -> Array a -> Array bSource
zipWith :: (Elt a, Elt b, Elt c) => (a -> b -> c) -> Array a -> Array b -> Array cSource
zipWith3 :: (Elt a, Elt b, Elt c, Elt d) => (a -> b -> c -> d) -> Array a -> Array b -> Array c -> Array dSource
filter :: Elt a => (a -> Bool) -> Array a -> Array aSource
fold :: Elt a => (a -> a -> a) -> a -> Array a -> aSource
fold1 :: Elt a => (a -> a -> a) -> Array a -> aSource
and :: Array Bool -> BoolSource
sum :: (Num a, Elt a) => Array a -> aSource
scan :: Elt a => (a -> a -> a) -> a -> Array a -> Array aSource
replicate_s :: Elt a => Segd -> Array a -> Array aSource
replicate_rs :: Elt a => Int -> Array a -> Array aSource
append_sSource
:: Elt a
=> Segdsegment descriptor of first array
-> Array adata of first array
-> Segdsegment descriptor of second array
-> Array adata of first array
-> Array a
repeat_cSource
:: Elt a
=> Intlength of the result array
-> Array Intnumber of time a segment is repeated
-> Segdsegment descriptor
-> Array adata array
-> Array a
fold_s :: Elt a => (a -> a -> a) -> a -> Segd -> Array a -> Array aSource
fold1_s :: Elt a => (a -> a -> a) -> Segd -> Array a -> Array aSource
sum_s :: (Num a, Elt a) => Segd -> Array a -> Array aSource
indices_sSource
:: Intnumber of segments
-> Segdsegment descriptor
-> Intoverall number of indices
-> Array Int
sum_r :: (Num a, Elt a) => Int -> Int -> Array a -> Array aSource
lengthSegd :: Segd -> IntSource
lengthsSegd :: Segd -> Array IntSource
indicesSegd :: Segd -> Array IntSource
elementsSegd :: Segd -> IntSource
lengthsToSegd :: Array Int -> SegdSource
mkSegd :: Array Int -> Array Int -> Int -> SegdSource
selectorToIndices2 :: Array Int -> Array IntSource
pick :: (Elt a, Eq a) => Array a -> a -> Array BoolSource
count :: (Elt a, Eq a) => Array a -> a -> IntSource
randoms :: (Elt a, Random a, RandomGen g) => Int -> g -> Array aSource
randomRs :: (Elt a, Random a, RandomGen g) => Int -> (a, a) -> g -> Array aSource
class UIO a => IOElt a Source
show/hide Instances
hGet :: IOElt a => Handle -> IO (Array a)Source
hPut :: IOElt a => Handle -> Array a -> IO ()Source
toList :: Elt a => Array a -> [a]Source
fromList :: Elt a => [a] -> Array aSource
Produced by Haddock version 2.6.1