dph-lifted-vseg: workaround strictness issue in VECTORISE SCALAR
authorBen Lippmeier <benl@ouroborus.net>
Fri, 16 Dec 2011 08:07:39 +0000 (19:07 +1100)
committerBen Lippmeier <benl@ouroborus.net>
Fri, 16 Dec 2011 08:07:39 +0000 (19:07 +1100)
dph-lifted-vseg/Data/Array/Parallel/Prelude/Double.hs

index 67ee649..07ea26f 100644 (file)
@@ -137,7 +137,13 @@ max' (i,x) (j,y) | x P.>= y    = (i,x)
 {-# VECTORISE SCALAR (-) #-}
 
 (*) = (P.*)
-{-# VECTORISE SCALAR (*) #-}
+{-# VECTORISE (*) = mulPP #-}
+
+mulPP :: Double :-> Double :-> Double
+mulPP   = L.closure2' (P.*) (SC.zipWith (P.*))
+{-# INLINE mulPP #-}
+{-# NOVECTORISE mulPP #-}
+
 
 (/) = (P./)
 {-# VECTORISE SCALAR (/) #-}