| dph-par-0.4.0: Data structures for Nested Data-Parallel Haskell. | Contents | Index

Data.Array.Parallel.Lifted

Synopsis

data PArray a = PArray Int# (PData a)
data family PData a

data PA a = PA {

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

}

lengthPA# :: PArray a -> Int#
dataPA# :: PArray a -> PData a
replicatePA# :: PA a -> Int# -> a -> PArray a
replicatelPA# :: PA a -> Segd -> PArray a -> PArray a
repeatPA# :: PA a -> Int# -> PArray a -> PArray a
repeatcPA# :: PA a -> Array Int -> Segd -> PArray a -> PArray a
emptyPA :: PA a -> PArray a
indexPA# :: PA a -> PArray a -> Int# -> a
extractPA# :: PA a -> PArray a -> Int# -> Int# -> PArray a
bpermutePA# :: PA a -> PArray a -> Int# -> Array 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# -> Array Bool -> PArray a
combine2PA# :: PA a -> Int# -> Sel2 -> PArray a -> PArray a -> PArray a
fromListPA# :: PA a -> Int# -> [a] -> PArray a
fromListPA :: PA a -> [a] -> PArray a
nfPA :: PA a -> PArray a -> ()
replicatePD :: PA a -> T_replicatePR a
replicatelPD :: PA a -> T_replicatelPR a
repeatPD :: PA a -> T_repeatPR a
repeatcPD :: PA a -> T_repeatcPR a
emptyPD :: PA a -> T_emptyPR a
indexPD :: PA a -> T_indexPR a
extractPD :: PA a -> T_extractPR a
bpermutePD :: PA a -> T_bpermutePR a
appPD :: PA a -> T_appPR a
applPD :: PA a -> T_applPR a
packPD :: PA a -> T_packPR a
combine2PD :: PA a -> T_combine2PR a
fromListPD :: PA a -> T_fromListPR a
fromListPD :: PA a -> T_fromListPR a
nfPD :: PA a -> T_nfPR a
type family PRepr a

data PR a = PR {

emptyPR :: T_emptyPR a
replicatePR :: T_replicatePR a
replicatelPR :: T_replicatelPR a
repeatPR :: T_repeatPR a
repeatcPR :: T_repeatcPR a
indexPR :: T_indexPR a
extractPR :: T_extractPR a
bpermutePR :: T_bpermutePR a
appPR :: T_appPR a
applPR :: T_applPR a
packPR :: T_packPR a
combine2PR :: T_combine2PR a
fromListPR :: T_fromListPR a
nfPR :: T_nfPR a

}

mkPR :: PA a -> PR a
mkReprPA :: a ~ PRepr a => PR a -> PA a
type T_replicatePR a = Int# -> a -> PData a
type T_replicatelPR a = Segd -> PData a -> PData a
type T_repeatPR a = Int# -> Int# -> PData a -> PData a
type T_repeatcPR a = Int# -> Array Int -> Segd -> PData a -> PData a
type T_emptyPR a = PData a
type T_indexPR a = PData a -> Int# -> a
type T_extractPR a = PData a -> Int# -> Int# -> PData a
type T_bpermutePR a = PData a -> Int# -> Array Int -> PData a
type T_appPR a = PData a -> PData a -> PData a
type T_applPR a = Segd -> PData a -> Segd -> PData a -> PData a
type T_packPR a = PData a -> Int# -> Array Bool -> PData a
type T_combine2PR a = Int# -> Sel2 -> PData a -> PData a -> PData a
type T_fromListPR a = Int# -> [a] -> PData a
type T_fromListPR a = Int# -> [a] -> PData a
type T_nfPR a = PData a -> ()
data family PData a
dPA_Int :: PA Int
dPR_Int :: PR Int
dPA_Word8 :: PA Word8
dPR_Word8 :: PR Word8
dPA_Double :: PA Double
dPR_Double :: PR Double
dPA_Bool :: PA Bool
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 PArray a

Lifted parallel arrays
Constructors

PArray Int# (PData a) |

Instances

(Elt a, Show a) => Show (PArray a)

data family PData a
data PA a

Dictionaries
Constructors

PA |

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

lengthPA# :: PArray a -> Int#
dataPA# :: PArray a -> PData a
replicatePA# :: PA a -> Int# -> a -> PArray a
replicatelPA# :: PA a -> Segd -> PArray a -> PArray a
repeatPA# :: PA a -> Int# -> PArray a -> PArray a
repeatcPA# :: PA a -> Array Int -> Segd -> PArray a -> PArray a
emptyPA :: PA a -> PArray a
indexPA# :: PA a -> PArray a -> Int# -> a
extractPA# :: PA a -> PArray a -> Int# -> Int# -> PArray a
bpermutePA# :: PA a -> PArray a -> Int# -> Array 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# -> Array Bool -> PArray a
combine2PA# :: PA a -> Int# -> Sel2 -> PArray a -> PArray a -> PArray a
fromListPA# :: PA a -> Int# -> [a] -> PArray a
fromListPA :: PA a -> [a] -> PArray a
nfPA :: PA a -> PArray a -> ()
replicatePD :: PA a -> T_replicatePR a
replicatelPD :: PA a -> T_replicatelPR a
repeatPD :: PA a -> T_repeatPR a
repeatcPD :: PA a -> T_repeatcPR a
emptyPD :: PA a -> T_emptyPR a
indexPD :: PA a -> T_indexPR a
extractPD :: PA a -> T_extractPR a
bpermutePD :: PA a -> T_bpermutePR a
appPD :: PA a -> T_appPR a
applPD :: PA a -> T_applPR a
packPD :: PA a -> T_packPR a
combine2PD :: PA a -> T_combine2PR a
fromListPD :: PA a -> T_fromListPR a
fromListPD :: PA a -> T_fromListPR a
nfPD :: PA a -> T_nfPR a
type family PRepr a

Representation types

data PR a

Constructors

PR |

emptyPR :: T_emptyPR a |
replicatePR :: T_replicatePR a |
replicatelPR :: T_replicatelPR a |
repeatPR :: T_repeatPR a |
repeatcPR :: T_repeatcPR a |
indexPR :: T_indexPR a |
extractPR :: T_extractPR a |
bpermutePR :: T_bpermutePR a |
appPR :: T_appPR a |
applPR :: T_applPR a |
packPR :: T_packPR a |
combine2PR :: T_combine2PR a |
fromListPR :: T_fromListPR a |
nfPR :: T_nfPR a |

mkPR :: PA a -> PR a
mkReprPA :: a ~ PRepr a => PR a -> PA a
type T_replicatePR a = Int# -> a -> PData a
type T_replicatelPR a = Segd -> PData a -> PData a
type T_repeatPR a = Int# -> Int# -> PData a -> PData a
type T_repeatcPR a = Int# -> Array Int -> Segd -> PData a -> PData a
type T_emptyPR a = PData a
type T_indexPR a = PData a -> Int# -> a
type T_extractPR a = PData a -> Int# -> Int# -> PData a
type T_bpermutePR a = PData a -> Int# -> Array Int -> PData a
type T_appPR a = PData a -> PData a -> PData a
type T_applPR a = Segd -> PData a -> Segd -> PData a -> PData a
type T_packPR a = PData a -> Int# -> Array Bool -> PData a
type T_combine2PR a = Int# -> Sel2 -> PData a -> PData a -> PData a
type T_fromListPR a = Int# -> [a] -> PData a
type T_fromListPR a = Int# -> [a] -> PData a
type T_nfPR a = PData a -> ()
data family PData a
dPA_Int :: PA Int
dPR_Int :: PR Int
dPA_Word8 :: PA Word8
dPR_Word8 :: PR Word8
dPA_Double :: PA Double
dPR_Double :: PR Double
dPA_Bool :: PA Bool
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

The type of closures

($:) :: forall a b. (a :-> b) -> a -> b
Closure application
($:^) :: forall a b. PArray (a :-> b) -> PArray a -> PArray b
Lifted closure application
dPA_Clo :: PA a -> PA b -> PA (a :-> b)
Produced by Haddock version 2.6.1