dph-lifted-vseg: dump concatdPR, nothing was using it
authorBen Lippmeier <benl@ouroborus.net>
Thu, 10 Nov 2011 04:05:40 +0000 (15:05 +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/Base.hs
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/Tuple.hs
dph-lifted-vseg/Data/Array/Parallel/PArray/PData/Unit.hs
dph-lifted-vseg/Data/Array/Parallel/PArray/PData/Void.hs
dph-lifted-vseg/Data/Array/Parallel/PArray/PData/Word8.hs
dph-lifted-vseg/Data/Array/Parallel/PArray/PRepr/Base.hs

index b6765e1..a2e064d 100644 (file)
@@ -232,9 +232,6 @@ class PR a where
   -- | O(n). Append two collections of `PData`.
   appenddPR     :: PDatas a -> PDatas a -> PDatas a
 
-  -- | O(n). Combine several collections of `PData` into a single one.
-  concatdPR     :: V.Vector (PDatas a) -> PDatas a
-
   -- | O(n). Convert a vector of `PData` to a `PDatas`.
   fromVectordPR :: V.Vector (PData a) -> PDatas a
 
index e1aa2ee..7f9c169 100644 (file)
@@ -155,12 +155,6 @@ instance PR Double where
   appenddPR (PDoubles xs) (PDoubles ys)
         = PDoubles $ xs V.++ ys
         
-  {-# INLINE_PDATA concatdPR #-}
-  concatdPR vecs
-        = PDoubles
-                $ V.concat $ V.toList
-                $ V.map (\(PDoubles xs) -> xs) vecs
-                
   {-# INLINE_PDATA fromVectordPR #-}
   fromVectordPR vec
         = PDoubles $ V.map (\(PDouble xs) -> xs) vec
index b43bcd2..4b60a44 100644 (file)
@@ -149,11 +149,6 @@ instance PR Int where
   appenddPR (PInts xs) (PInts ys)
         = PInts $ xs V.++ ys
         
-  {-# INLINE_PDATA concatdPR #-}
-  concatdPR vecs
-        = PInts $ V.concat $ V.toList
-                $ V.map (\(PInts xs) -> xs) vecs
-                                
   {-# INLINE_PDATA fromVectordPR #-}
   fromVectordPR vec
         = PInts $ V.map (\(PInt xs) -> xs) vec
index 0c27807..cf08cf4 100644 (file)
@@ -490,12 +490,6 @@ instance PR a => PR (PArray a) where
   appenddPR (PNesteds xs) (PNesteds ys)
         = PNesteds $ xs V.++ ys
 
-  {-# INLINE_PDATA concatdPR #-}
-  concatdPR vecs
-        = PNesteds
-                $ V.concat $ V.toList
-                $ V.map (\(PNesteds xs) -> xs) vecs
-                                
   {-# INLINE_PDATA fromVectordPR #-}
   fromVectordPR vec
         = PNesteds vec
index 1836cd2..f8c5123 100644 (file)
@@ -393,11 +393,6 @@ instance (PR a, PR b) => PR (Sum2 a b)  where
             (yss1   `appenddPR` yss2)
 
 
-  {-# INLINE_PDATA concatdPR #-}
-  concatdPR
-        = nope "concatdPR"
-                
-
   -- TODO: fix rubbish via-lists conversion.
   {-# INLINE_PDATA fromVectordPR #-}
   fromVectordPR vec
index 30bc82d..3475cd3 100644 (file)
@@ -171,13 +171,6 @@ instance (PR a, PR b) => PR (a, b) where
         = PTuple2s (appenddPR xs1 xs2) (appenddPR ys1 ys2)
   
 
-  {-# INLINE_PDATA concatdPR #-}
-  concatdPR vecs
-        = PTuple2s
-                (concatdPR $ V.map (\(PTuple2s xs _) -> xs) vecs)
-                (concatdPR $ V.map (\(PTuple2s _ ys) -> ys) vecs)
-
-
   {-# INLINE_PDATA fromVectordPR #-}
   fromVectordPR vec
    = let (xss, yss) = V.unzip $ V.map (\(PTuple2 xs ys) -> (xs, ys)) vec
index 2aa391d..205ef32 100644 (file)
@@ -87,6 +87,10 @@ instance PR () where
   indexlPR _ (PInt uarr)
         = PUnit $ U.length uarr
 
+  {-# INLINE_PDATA bpermutePR #-}
+  bpermutePR _ ixs
+        = PUnit $ U.length ixs
+
   {-# INLINE_PDATA extractPR #-}
   extractPR _ _ len
         = PUnit len
@@ -117,6 +121,14 @@ instance PR () where
         = V.replicate len ()
 
   -- PDatas -------------------------------------
+  {-# INLINE_PDATA emptydPR #-}
+  emptydPR
+        = PUnits $ U.empty
+
+  {-# INLINE_PDATA singletondPR #-}
+  singletondPR (PUnit n)
+        = PUnits $ U.replicate 1 n
+
   {-# INLINE_PDATA lengthdPR #-}
   lengthdPR (PUnits pdatas)
         = U.length pdatas
@@ -125,7 +137,10 @@ instance PR () where
   indexdPR (PUnits pdatas) ix
         = PUnit $ pdatas U.!: ix
         
-
+  {-# INLINE_PDATA appenddPR #-}
+  appenddPR (PUnits lens1) (PUnits lens2)
+        = PUnits $ lens1 U.+:+ lens2
+                 
 
 -- Show -----------------------------------------------------------------------
 deriving instance Show (PData  ())
index d9d27f3..71ca65f 100644 (file)
@@ -136,10 +136,6 @@ instance PR Void where
   appenddPR (PVoids n1) (PVoids n2)
         = PVoids (n1 + n2)
 
-  {-# INLINE_PDATA concatdPR #-}
-  concatdPR ps
-        = PVoids $ sum [n | PVoids n <- V.toList ps]
-
   {-# INLINE_PDATA fromVectordPR #-}
   fromVectordPR vec
         = PVoids $ V.length vec
index b8fbe8d..1dea982 100644 (file)
@@ -157,11 +157,6 @@ instance PR Word8 where
   {-# INLINE_PDATA appenddPR #-}
   appenddPR (PWord8s xs) (PWord8s ys)
         = PWord8s $ xs V.++ ys
-        
-  {-# INLINE_PDATA concatdPR #-}
-  concatdPR vecs
-        = PWord8s $ V.concat $ V.toList
-                $ V.map (\(PWord8s xs) -> xs) vecs
                                 
   {-# INLINE_PDATA fromVectordPR #-}
   fromVectordPR vec
index 09deafb..a2464db 100644 (file)
@@ -41,7 +41,6 @@ module Data.Array.Parallel.PArray.PRepr.Base
         , lengthdPA
         , indexdPA
         , appenddPA
-        , concatdPA
         , fromVectordPA, toVectordPA)
 where
 import Data.Array.Parallel.Pretty
@@ -275,13 +274,6 @@ appenddPA xs ys
  $ appenddPR (toArrPReprs xs) (toArrPReprs ys)
 
 
-{-# INLINE_PA concatdPA #-}
-concatdPA       :: PA a => V.Vector (PDatas a) -> PDatas a
-concatdPA vec
- = fromArrPReprs
- $ concatdPR (V.map toArrPReprs vec)
-
-
 {-# INLINE_PA fromVectordPA #-}
 fromVectordPA   :: PA a => V.Vector (PData a) -> PDatas a
 fromVectordPA vec