dph-prim-seq: shift indexs
authorBen Lippmeier <benl@ouroborus.net>
Fri, 16 Dec 2011 06:03:56 +0000 (17:03 +1100)
committerBen Lippmeier <benl@ouroborus.net>
Fri, 16 Dec 2011 06:03:56 +0000 (17:03 +1100)
dph-prim-seq/Data/Array/Parallel/Unlifted/Sequential/Extracts.hs
dph-prim-seq/Data/Array/Parallel/Unlifted/Stream/Elems.hs

index a297866..68be083 100644 (file)
@@ -15,7 +15,6 @@ import Data.Array.Parallel.Unlifted.Stream                      as US
 import Data.Array.Parallel.Unlifted.Vectors                     as US
 import Data.Array.Parallel.Unlifted.Sequential.Vector           as U
 import Data.Array.Parallel.Unlifted.Sequential.USSegd           (USSegd)
-import Data.Array.Parallel.Unlifted.Sequential.UVSegd           (UVSegd)
 import qualified Data.Array.Parallel.Unlifted.Sequential.UVSegd as UVSegd
 import qualified Data.Vector                                    as V
 
@@ -27,15 +26,9 @@ indexsFromVectorsUVSegd
         => Vectors a -> UVSegd -> Vector (Int, Int) -> Vector a
 
 indexsFromVectorsUVSegd vectors uvsegd vsrcixs
- = let  -- Because we're just doing indexing here, we don't need the culled
-        -- vsegids or ussegd, and can just use the redundant version.
-        !vsegids  = UVSegd.takeVSegidsRedundant uvsegd
-        !ussegd   = UVSegd.takeUSSegdRedundant  uvsegd
-   in   U.unstream
-         $ US.streamElemsFromVectors     vectors
-         $ US.streamSrcIxsThroughUSSegd  ussegd
-         $ US.streamSrcIxsThroughVSegids vsegids
-         $ U.stream vsrcixs
+        = U.unstream 
+        $ streamElemsFromVectorsVSegd vectors uvsegd 
+        $ U.stream vsrcixs
 {-# INLINE_U indexsFromVectorsUVSegd #-}
 
 
index 089b3fe..8eb243b 100644 (file)
@@ -38,9 +38,11 @@ streamElemsFromVectorsVSegd
         :: (Monad m, Unboxes a)
         => Vectors a -> UVSegd -> Stream m (Int, Int) -> Stream m a
 
-streamElemsFromVectorsVSegd vectors vsegd vsrcixs
- = let  !vsegids = UVSegd.takeVSegids vsegd
-        !ussegd  = UVSegd.takeUSSegd  vsegd
+streamElemsFromVectorsVSegd vectors uvsegd vsrcixs
+ = let  -- Because we're just doing indexing here, we don't need the culled
+        -- vsegids or ussegd, and can just use the redundant version.
+        !vsegids  = UVSegd.takeVSegidsRedundant uvsegd
+        !ussegd   = UVSegd.takeUSSegdRedundant  uvsegd
    in   streamElemsFromVectors        vectors
          $ streamSrcIxsThroughUSSegd  ussegd
          $ streamSrcIxsThroughVSegids vsegids