| dph-par-0.3: Data structures for Nested Data-Parallel Haskell. | Source code | Contents | Index

Data.Array.Parallel.Lifted

Synopsis

data family PArray a

data PA a = PA {

toPRepr :: a -> PRepr a
fromPRepr :: PRepr a -> a
toArrPRepr :: PArray a -> PArray (PRepr a)
fromArrPRepr :: PArray (PRepr a) -> PArray a
dictPRepr :: PR (PRepr a)

}

lengthPA# :: PA a -> PArray a -> Int#
replicatePA# :: PA a -> Int# -> a -> PArray a
replicatelPA# :: PA a -> Int# -> PArray_Int# -> PArray a -> PArray a
repeatPA# :: PA a -> Int# -> PArray a -> PArray a
emptyPA :: PA a -> PArray a
indexPA# :: PA a -> PArray a -> Int# -> a
bpermutePA# :: PA a -> PArray a -> PArray_Int# -> PArray a
appPA# :: PA a -> PArray a -> PArray a -> PArray a
applPA# :: PA a -> Segd -> PArray a -> Segd -> PArray a -> PArray a
packPA# :: PA a -> PArray a -> Int# -> PArray_Bool# -> PArray a
combine2PA# :: PA a -> Int# -> PArray_Int# -> PArray_Int# -> PArray a -> PArray a -> PArray a
fromListPA# :: PA a -> Int# -> [a] -> PArray a
fromListPA :: PA a -> [a] -> PArray a
nfPA :: PA a -> PArray a -> ()
type family PRepr a

data PR a = PR {

lengthPR :: PArray a -> Int#
emptyPR :: PArray a
replicatePR :: Int# -> a -> PArray a
replicatelPR :: Int# -> PArray_Int# -> PArray a -> PArray a
repeatPR :: Int# -> PArray a -> PArray a
indexPR :: PArray a -> Int# -> a
bpermutePR :: PArray a -> PArray_Int# -> PArray a
appPR :: PArray a -> PArray a -> PArray a
applPR :: Segd -> PArray a -> Segd -> PArray a -> PArray a
packPR :: PArray a -> Int# -> PArray_Bool# -> PArray a
combine2PR :: Int# -> PArray_Int# -> PArray_Int# -> PArray a -> PArray a -> PArray a
fromListPR :: Int# -> [a] -> PArray a
nfPR :: PArray a -> ()

}

mkPR :: PA a -> PR a
mkReprPA :: a ~ PRepr a => PR a -> PA a
class Elt a => PrimPA a where

fromUArrPA :: Int -> Array a -> PArray a
toUArrPA :: PArray a -> Array a
primPA :: PA a

prim_lengthPA :: PrimPA a => PArray a -> Int
fromUArrPA' :: PrimPA a => Array a -> PArray a
data family PArray a
dPA_Int :: PA Int
dPR_Int :: PR Int
upToPA_Int :: Int -> PArray Int
dPA_Word8 :: PA Word8
dPR_Word8 :: PR Word8
dPA_Double :: PA Double
dPR_Double :: PR Double
dPA_Bool :: PA Bool
toPrimArrPA_Bool :: PArray Bool -> PArray_Bool#
truesPA# :: PArray Bool -> Int#
dPA_Unit :: PA ()
dPA_2 :: PA a -> PA b -> PA (a, b)
dPA_3 :: PA a -> PA b -> PA c -> PA (a, b, c)
dPA_4 :: PA a -> PA b -> PA c -> PA d -> PA (a, b, c, d)
dPA_5 :: PA a -> PA b -> PA c -> PA d -> PA e -> PA (a, b, c, d, e)
dPA_PArray :: PA a -> PA (PArray a)
data a :-> b
($:) :: forall a b. (a :-> b) -> a -> b
($:^) :: forall a b. PArray (a :-> b) -> PArray a -> PArray b
dPA_Clo :: PA a -> PA b -> PA (a :-> b)

Documentation

data family PArray a | Source

Lifted parallel arrays

data PA a | Source

Dictionaries
Constructors

PA |

toPRepr :: a -> PRepr a |
fromPRepr :: PRepr a -> a |
toArrPRepr :: PArray a -> PArray (PRepr a) |
fromArrPRepr :: PArray (PRepr a) -> PArray a |
dictPRepr :: PR (PRepr a) |

lengthPA# :: PA a -> PArray a -> Int# | Source

replicatePA# :: PA a -> Int# -> a -> PArray a | Source

replicatelPA# :: PA a -> Int# -> PArray_Int# -> PArray a -> PArray a | Source

repeatPA# :: PA a -> Int# -> PArray a -> PArray a | Source

emptyPA :: PA a -> PArray a | Source

indexPA# :: PA a -> PArray a -> Int# -> a | Source

bpermutePA# :: PA a -> PArray a -> PArray_Int# -> PArray a | Source

appPA# :: PA a -> PArray a -> PArray a -> PArray a | Source

applPA# :: PA a -> Segd -> PArray a -> Segd -> PArray a -> PArray a | Source

packPA# :: PA a -> PArray a -> Int# -> PArray_Bool# -> PArray a | Source

combine2PA# :: PA a -> Int# -> PArray_Int# -> PArray_Int# -> PArray a -> PArray a -> PArray a | Source

fromListPA# :: PA a -> Int# -> [a] -> PArray a | Source

fromListPA :: PA a -> [a] -> PArray a | Source

nfPA :: PA a -> PArray a -> () | Source

type family PRepr a | Source

Representation types

data PR a | Source

Constructors

PR |

lengthPR :: PArray a -> Int# |
emptyPR :: PArray a |
replicatePR :: Int# -> a -> PArray a |
replicatelPR :: Int# -> PArray_Int# -> PArray a -> PArray a |
repeatPR :: Int# -> PArray a -> PArray a |
indexPR :: PArray a -> Int# -> a |
bpermutePR :: PArray a -> PArray_Int# -> PArray a |
appPR :: PArray a -> PArray a -> PArray a |
applPR :: Segd -> PArray a -> Segd -> PArray a -> PArray a |
packPR :: PArray a -> Int# -> PArray_Bool# -> PArray a |
combine2PR :: Int# -> PArray_Int# -> PArray_Int# -> PArray a -> PArray a -> PArray a |
fromListPR :: Int# -> [a] -> PArray a |
nfPR :: PArray a -> () |

mkPR :: PA a -> PR a | Source

mkReprPA :: a ~ PRepr a => PR a -> PA a | Source

class Elt a => PrimPA a where | Source

Methods

fromUArrPA :: Int -> Array a -> PArray a | Source

toUArrPA :: PArray a -> Array a | Source

primPA :: PA a | Source

Instances

PrimPA Bool
PrimPA Double
PrimPA Int
PrimPA Word8

prim_lengthPA :: PrimPA a => PArray a -> Int | Source

fromUArrPA' :: PrimPA a => Array a -> PArray a | Source

data family PArray a | Source

Lifted parallel arrays

dPA_Int :: PA Int | Source

dPR_Int :: PR Int | Source

upToPA_Int :: Int -> PArray Int | Source

dPA_Word8 :: PA Word8 | Source

dPR_Word8 :: PR Word8 | Source

dPA_Double :: PA Double | Source

dPR_Double :: PR Double | Source

dPA_Bool :: PA Bool | Source

toPrimArrPA_Bool :: PArray Bool -> PArray_Bool# | Source

truesPA# :: PArray Bool -> Int# | Source

dPA_Unit :: PA () | Source

dPA_2 :: PA a -> PA b -> PA (a, b) | Source

dPA_3 :: PA a -> PA b -> PA c -> PA (a, b, c) | Source

dPA_4 :: PA a -> PA b -> PA c -> PA d -> PA (a, b, c, d) | Source

dPA_5 :: PA a -> PA b -> PA c -> PA d -> PA e -> PA (a, b, c, d, e) | Source

dPA_PArray :: PA a -> PA (PArray a) | Source

data a :-> b | Source

The type of closures

($:) :: forall a b. (a :-> b) -> a -> b | Source

Closure application

($:^) :: forall a b. PArray (a :-> b) -> PArray a -> PArray b | Source

Lifted closure application

dPA_Clo :: PA a -> PA b -> PA (a :-> b) | Source

Produced by Haddock version 2.4.2