{-# LANGUAGE CPP #-}

#include "DPH_Header.h"

import Data.Array.Parallel.Unlifted.Sequential
  hiding ((!:), (+:+), (>:), (^+:+^), toUSegd)
import qualified Data.Array.Parallel.Unlifted.Sequential
  as U

#include "DPH_Interface.h"

length = lengthU
empty = emptyU
replicate = replicateU
replicateEach = replicateEachU
repeat = repeatU
(!:) = (U.!:)
bpermute = bpermuteU
(+:+) = (U.+:+)
pack = packU
combine = combineU
map = mapU
zip = zipU
unzip = unzipU
fsts = fstU
zip3 = zip3U
unzip3 = unzip3U
zipWith = zipWithU
zipWith3 = zipWith3U
fold = foldU
fold1 = fold1U
sum = sumU
scan = scanU
indexed = indexedU
enumFromTo = enumFromToU
enumFromToEach = enumFromToEachU
concat = concatSU
(>:) = (U.>:)
(^+:+^) = (U.^+:+^)
length_s = lengthSU
lengths_s = lengthsSU
indices_s = indicesSU
fold_s = foldSU
fold1_s = fold1SU
indexed_s = indexedSU
toUSegd = U.toUSegd


{-# LANGUAGE CPP #-}

#include "DPH_Header.h"

import Data.Array.Parallel.Unlifted.Sequential
  hiding ((!:), (+:+), (>:), (^+:+^), toUSegd)
import qualified Data.Array.Parallel.Unlifted.Sequential
  as U

#include "DPH_Interface.h"

length = lengthU
empty = emptyU
replicate = replicateU
replicateEach = replicateEachU
repeat = repeatU
(!:) = (U.!:)
bpermute = bpermuteU
(+:+) = (U.+:+)
pack = packU
combine = combineU
map = mapU
zip = zipU
unzip = unzipU
fsts = fstU
zip3 = zip3U
unzip3 = unzip3U
zipWith = zipWithU
zipWith3 = zipWith3U
fold = foldU
fold1 = fold1U
sum = sumU
scan = scanU
indexed = indexedU
enumFromTo = enumFromToU
enumFromToEach = enumFromToEachU
concat = concatSU
(>:) = (U.>:)
(^+:+^) = (U.^+:+^)
length_s = lengthSU
lengths_s = lengthsSU
indices_s = indicesSU
fold_s = foldSU
fold1_s = fold1SU
sum_s = sumSU
indexed_s = indexedSU
toUSegd = U.toUSegd


Implement sum_s in seq backend
Implement sum_s in seq backend