dph-lifted-vseg: add bpermute for nested arrays
authorBen Lippmeier <benl@ouroborus.net>
Thu, 10 Nov 2011 05:56:13 +0000 (16:56 +1100)
committerBen Lippmeier <benl@ouroborus.net>
Fri, 11 Nov 2011 01:44:22 +0000 (12:44 +1100)
dph-lifted-vseg/Data/Array/Parallel/PArray/PData/Nested.hs

index 9823c5a..c51bf04 100644 (file)
@@ -358,6 +358,12 @@ instance PR a => PR (PArray a) where
              pdata
 
 
+  {-# INLINE_PDATA bpermutePR #-}
+  bpermutePR (PNested uvsegd pdata) ixs
+   = PNested (U.updateVSegsOfVSegd (\vsegids -> U.bpermute vsegids ixs) uvsegd)
+             pdata
+
+
   --   TODO: cleanup pnested projections
   --         use getSegOfUVSegd like in indexlPR