dph-lifted-vseg: change order of args for extracts
authorBen Lippmeier <benl@ouroborus.net>
Mon, 5 Dec 2011 04:09:11 +0000 (15:09 +1100)
committerBen Lippmeier <benl@ouroborus.net>
Mon, 5 Dec 2011 04:09:11 +0000 (15:09 +1100)
dph-lifted-vseg/Data/Array/Parallel/PArray/PData/Double.hs
dph-lifted-vseg/Data/Array/Parallel/PArray/PData/Int.hs
dph-lifted-vseg/Data/Array/Parallel/PArray/PData/Nested.hs
dph-lifted-vseg/Data/Array/Parallel/PArray/PData/Sum2.hs
dph-lifted-vseg/Data/Array/Parallel/PArray/PData/Word8.hs
dph-prim-interface/interface/DPH_Interface.h
dph-prim-par/Data/Array/Parallel/Unlifted/Parallel.hs
dph-prim-par/Data/Array/Parallel/Unlifted/Parallel/UPSSegd.hs
dph-prim-seq/Data/Array/Parallel/Unlifted/Sequential.hs
dph-prim-seq/Data/Array/Parallel/Unlifted/Sequential/Vectors.hs

index d690f5b..c685430 100644 (file)
@@ -92,7 +92,7 @@ instance PR Double where
 
   {-# INLINE_PDATA extractsPR #-}
   extractsPR (PDoubles arrs) ssegd
-        = PDouble (U.unsafeExtract_ss arrs ssegd)
+        = PDouble (U.unsafeExtract_ss ssegd arrs)
                 
 
   -- Pack and Combine ---------------------------
index 79fe0c6..93609cb 100644 (file)
@@ -79,7 +79,7 @@ instance PR Int where
 
   {-# INLINE_PDATA extractsPR #-}
   extractsPR (PInts arrs) ssegd
-        = PInt $ U.unsafeExtract_ss arrs ssegd
+        = PInt $ U.unsafeExtract_ss ssegd arrs
 
 
 
index 72372bc..edd8cbd 100644 (file)
@@ -357,7 +357,7 @@ instance PR a => PR (PArray a) where
      let segsrcs        = U.sourcesOfSSegd ussegd
          seglens        = U.lengthsOfSSegd ussegd
 
-         vsegids_src    = U.unsafeExtract_vs (V.map pnested_vsegids arrs) ussegd
+         vsegids_src    = U.unsafeExtract_vs ussegd (V.map pnested_vsegids arrs)
          srcids'        = U.replicate_s (U.lengthsToSegd seglens) segsrcs
 
          -- See Note: psrcoffset
index 3b6fd0f..06ebf56 100644 (file)
@@ -256,7 +256,7 @@ instance (PR a, PR b) => PR (Sum2 a b)  where
          --  and rebuild the result selector indices based on these tags.
          -- tags'       = [1     1     0     0     1     1     0      0     1]
          -- sel'        = [0     1     0     1     2     3     2      3     4]   
-         tags'          = U.unsafeExtract_vs tagss ssegd
+         tags'          = U.unsafeExtract_vs ssegd tagss
          sel'           = U.tagsToSel2 tags'
 
          -- Extract the indices of the data elements we want.
@@ -264,7 +264,7 @@ instance (PR a, PR b) => PR (Sum2 a b)  where
          -- (result)      [R 60, R 70, L 80, L 20, R 30, R 90, L 100, L 40, R 50]
          --                ----------------0 ----------1 -----------2 ----3 ----4
          -- indices'    = [  1     2     0     0     0     3     1      1     0 ]
-         indices'       = U.unsafeExtract_vs (V.map U.indicesSel2 sels) ssegd
+         indices'       = U.unsafeExtract_vs ssegd (V.map U.indicesSel2 sels)
 
          -- Count the number of L and R elements for each segment,
          --  then scan them to produce the starting index of each segment in the
index ae6bb95..4d2ef82 100644 (file)
@@ -88,7 +88,7 @@ instance PR Word8 where
 
   {-# INLINE_PDATA extractsPR #-}
   extractsPR (PWord8s arrs) ssegd
-        = PWord8 $ U.unsafeExtract_ss arrs ssegd
+        = PWord8 $ U.unsafeExtract_ss ssegd arrs
 
 
   -- Pack and Combine ---------------------------
index 5515c67..a29cbf3 100644 (file)
@@ -219,8 +219,8 @@ extract :: Elt a
 -- | O(n). Segmented extract.
 unsafeExtract_ss 
         :: (Elt a, Elts a)
-        => Arrays a     -- ^ Source arrays.
-        -> SSegd        -- ^ `SSegd` defining the slices to extract.
+        => SSegd        -- ^ `SSegd` defining the slices to extract.
+        -> Arrays a     -- ^ Source arrays.
         -> Array a
 {-# INLINE_BACKEND unsafeExtract_ss #-}
 
@@ -230,8 +230,8 @@ unsafeExtract_ss
 --         use the previous form.
 unsafeExtract_vs 
         :: Elt a
-        => VV.Vector (Array a)
-        -> SSegd
+        => SSegd
+        -> VV.Vector (Array a)
         -> Array a
 {-# INLINE_BACKEND unsafeExtract_vs #-}
 
index c87296b..b64a57f 100644 (file)
@@ -84,8 +84,8 @@ import qualified Data.Vector                                    as VS
 --       to avoid unpackig all the arrays from PDatas with a big map traversal.
 --
 {-# INLINE_UP extractsUP #-}
-extractsUP :: Unbox a => VS.Vector (Vector a) -> UPSSegd -> Vector a
-extractsUP !arrs !ssegd
+extractsUP :: Unbox a => UPSSegd -> VS.Vector (Vector a) -> Vector a
+extractsUP !ssegd !arrs
  = let  !segd      = UPSegd.fromLengths $ UPSSegd.takeLengths ssegd
  
         -- source array ids to load from
index 1ec486a..8685b48 100644 (file)
@@ -337,9 +337,9 @@ fixupFold f !mrs !dcarry = go 1
 {-# INLINE_UP unsafeExtractsWithP #-}
 unsafeExtractsWithP 
         :: (Unbox a, Unboxes a)
-        => Vectors a
-        -> UPSSegd
+        => UPSSegd
+        -> Vectors a
         -> Vector a
 
-unsafeExtractsWithP vectors upssegd
-        = Seq.unsafeExtracts vectors (takeUSSegd upssegd)
+unsafeExtractsWithP upssegd vectors
+        = Seq.unsafeExtracts (takeUSSegd upssegd) vectors
index bcd8e85..c53696f 100644 (file)
@@ -53,7 +53,7 @@ import Prelude hiding (zip)
 --       USegd.replicateWith / segmented replicate. There is a corresponding
 --       version of extractsSU in the parallel prim library.
 {-# INLINE_U extractsSU #-}
-extractsSU :: Unbox a => V.Vector (Vector a) -> USSegd -> Vector a
+extractsSU :: Unbox a => USSegd -> V.Vector (Vector a) -> Vector a
 extractsSU = error "Data.Array.Parallel.Unlifted.Sequential.extractsSU: not implemented"
 
 {-
index 586bec7..21fdff4 100644 (file)
@@ -229,9 +229,9 @@ packUVector ba start len
 -- | Copy segments from a `Vectors` and concatenate them into a new array.
 unsafeExtracts
         :: (Unboxes a, U.Unbox a)
-        => Vectors a -> USSegd -> U.Vector a
+        => USSegd -> Vectors a -> U.Vector a
 
-unsafeExtracts vectors ussegd
+unsafeExtracts ussegd vectors
         = G.unstream $ unsafeStreamVectors ussegd vectors
 {-# INLINE_U unsafeExtracts #-}