Add locked zipwith code
[packages/dph.git] / dph-prim-par / Data / Array / Parallel / Unlifted / Distributed.hs
1 -- | Distributed types and operations.
2 --
3 -- * This is an internal API and shouldn't need to be used directly.
4 -- Client programs should use "Data.Array.Parallel.Unlifted"
5 --
6 module Data.Array.Parallel.Unlifted.Distributed
7 ( -- * Gang operations
8 Gang, forkGang, gangSize
9
10 -- * Gang hacks
11 , theGang
12
13 -- * Distributed types and classes
14 , DT(..)
15
16 -- * Higher-order combinators
17 , mapD, zipWithD
18 , foldD
19 , scanD
20
21 -- * Equality
22 , eqD, neqD
23
24 -- * Distributed scalars
25 , scalarD
26 , andD, orD
27 , sumD
28
29 -- * Distributed pairs
30 , zipD, unzipD
31 , fstD, sndD
32 , zip3D
33
34 -- * Distributed arrays
35 , lengthD
36 , splitLenD
37 , splitLenIdxD
38 , splitD
39 , splitAsD
40 , joinLengthD
41 , joinD
42 , splitJoinD
43 , joinDM
44 , carryD
45
46 , Distribution
47 , balanced
48 , unbalanced
49
50 -- * Permutations
51 , permuteD, bpermuteD
52
53 -- * Update
54 , atomicUpdateD
55
56 -- * Debugging
57 , fromD, toD, debugD)
58 where
59 import Data.Array.Parallel.Unlifted.Distributed.Combinators
60 import Data.Array.Parallel.Unlifted.Distributed.Data.Bool
61 import Data.Array.Parallel.Unlifted.Distributed.Data.Tuple
62 import Data.Array.Parallel.Unlifted.Distributed.Data.Scalar
63 import Data.Array.Parallel.Unlifted.Distributed.Data.Ordering ()
64 import Data.Array.Parallel.Unlifted.Distributed.Arrays
65 import Data.Array.Parallel.Unlifted.Distributed.Basics
66 import Data.Array.Parallel.Unlifted.Distributed.Primitive
67