Make combine2 work with selectors
[packages/dph.git] / dph-prim-seq / Data / Array / Parallel / Unlifted.hs
1 {-# LANGUAGE CPP #-}
2
3 #include "DPH_Header.h"
4
5 import Data.Array.Parallel.Unlifted.Sequential
6 hiding ((!:), (+:+))
7 import qualified Data.Array.Parallel.Unlifted.Sequential
8 as U
9
10 #include "DPH_Interface.h"
11
12 class UA a => Elt a
13 type Array = UArr
14 type Segd = USegd
15 type Sel2 = USel2
16
17 length = lengthU
18 empty = emptyU
19 replicate = replicateU
20 repeat n _ = repeatU n
21 (!:) = (U.!:)
22 extract = extractU
23 drop = dropU
24 permute = permuteU
25 bpermute = bpermuteU
26 mbpermute = mbpermuteU
27 bpermuteDft = bpermuteDftU
28 update = updateU
29 (+:+) = (U.+:+)
30 interleave = interleaveU
31 pack = packU
32 combine = combineU
33 combine2 = combine2U
34 map = mapU
35 filter = filterU
36 zip = zipU
37 unzip = unzipU
38 fsts = fstU
39 snds = sndU
40 zipWith = zipWithU
41 fold = foldU
42 fold1 = fold1U
43 and = andU
44 sum = sumU
45 scan = scanU
46 indexed = indexedU
47 enumFromTo = enumFromToU
48 enumFromThenTo = enumFromThenToU
49 enumFromStepLen = enumFromStepLenU
50 enumFromStepLenEach = enumFromStepLenEachU
51
52 mkSel2 = mkUSel2
53 tagsSel2 = tagsUSel2
54 indicesSel2 = indicesUSel2
55 elementsSel2_0 = elementsUSel2_0
56 elementsSel2_1 = elementsUSel2_1
57
58 replicate_s = replicateSU
59 replicate_rs = replicateRSU
60 append_s _ = appendSU
61 fold_s = foldSU
62 fold1_s = fold1SU
63 fold_r = foldlRU
64 sum_r = sumRU
65
66 indices_s = indicesSU
67
68 lengthSegd = lengthUSegd
69 lengthsSegd = lengthsUSegd
70 indicesSegd = indicesUSegd
71 elementsSegd = elementsUSegd
72 mkSegd = mkUSegd
73 randoms = randomU
74 randomRs = randomRU
75 class UIO a => IOElt a
76 hPut = hPutU
77 hGet = hGetU
78 toList = fromU
79 fromList = toU
80