[commit: dph] master: add seq/replicate rule (26dea02)
Roman Leshchinskiy
rl at cse.unsw.edu.au
Sun May 8 12:22:44 CEST 2011
Repository : ssh://darcs.haskell.org//srv/darcs/packages/dph
On branch : master
http://hackage.haskell.org/trac/ghc/changeset/26dea02df173092e438f013044bce8e874369a0a
>---------------------------------------------------------------
commit 26dea02df173092e438f013044bce8e874369a0a
Author: Roman Leshchinskiy <rl at cse.unsw.edu.au>
Date: Sun May 8 09:50:14 2011 +0100
add seq/replicate rule
>---------------------------------------------------------------
dph-prim-interface/interface/DPH_Interface.h | 7 +++++++
1 files changed, 7 insertions(+), 0 deletions(-)
diff --git a/dph-prim-interface/interface/DPH_Interface.h b/dph-prim-interface/interface/DPH_Interface.h
index 3b5c54b..127cb43 100644
--- a/dph-prim-interface/interface/DPH_Interface.h
+++ b/dph-prim-interface/interface/DPH_Interface.h
@@ -40,6 +40,13 @@ generate n f = map f (enumFromTo 0 (n-1))
replicate :: Elt a => Int -> a -> Array a
{-# INLINE CONLIKE PHASE_BACKEND replicate #-}
+{-# RULES
+
+"seq/replicate" forall n x y.
+ seq (replicate n x) y = n `seq` x `seq` y
+
+ #-}
+
-- | Produce an array by copying a portion of another array.
repeat :: Elt a
More information about the Cvs-libraries
mailing list