[commit: vector] : Add basicUnsafeMove to generation script and regenerate unbox-tuble-instances (5b9c296)
Roman Leshchinskiy
rl at cse.unsw.edu.au
Sun Jun 19 23:15:44 CEST 2011
Repository : ssh://darcs.haskell.org//srv/darcs/packages/vector
On branch :
http://hackage.haskell.org/trac/ghc/changeset/5b9c2966024cec4c06393c266fa91189a2d97756
>---------------------------------------------------------------
commit 5b9c2966024cec4c06393c266fa91189a2d97756
Author: Roman Leshchinskiy <rl at cse.unsw.edu.au>
Date: Wed May 11 20:21:15 2011 +0000
Add basicUnsafeMove to generation script and regenerate unbox-tuble-instances
>---------------------------------------------------------------
internal/GenUnboxTuple.hs | 6 ++++++
internal/unbox-tuple-instances | 26 ++++++++++++++++++++++++++
2 files changed, 32 insertions(+), 0 deletions(-)
diff --git a/internal/GenUnboxTuple.hs b/internal/GenUnboxTuple.hs
index 8433adb..5711667 100644
--- a/internal/GenUnboxTuple.hs
+++ b/internal/GenUnboxTuple.hs
@@ -164,6 +164,11 @@ generate n =
mk_do [q rec <+> vs <> char '1' <+> vs <> char '2' | vs <- varss]
empty)
+ gen_unsafeMove rec
+ = (patn "MV" 1 <+> patn "MV" 2,
+ mk_do [qM rec <+> vs <> char '1' <+> vs <> char '2' | vs <- varss]
+ empty)
+
gen_unsafeGrow rec
= (pat "MV" <+> var 'm',
mk_do [vs <> char '\'' <+> text "<-"
@@ -218,6 +223,7 @@ generate n =
,("basicClear", gen_clear)
,("basicSet", gen_set)
,("basicUnsafeCopy", gen_unsafeCopy "MV" qM)
+ ,("basicUnsafeMove", gen_unsafeMove)
,("basicUnsafeGrow", gen_unsafeGrow)]
methods_Vector = [("basicUnsafeFreeze", gen_unsafeFreeze)
diff --git a/internal/unbox-tuple-instances b/internal/unbox-tuple-instances
index d733156..d5f5879 100644
--- a/internal/unbox-tuple-instances
+++ b/internal/unbox-tuple-instances
@@ -613,6 +613,18 @@ instance (Unbox a,
M.basicUnsafeCopy cs1 cs2
M.basicUnsafeCopy ds1 ds2
M.basicUnsafeCopy es1 es2
+ {-# INLINE basicUnsafeMove #-}
+ basicUnsafeMove (MV_5 n_1 as1 bs1 cs1 ds1 es1) (MV_5 n_2 as2
+ bs2
+ cs2
+ ds2
+ es2)
+ = do
+ M.basicUnsafeMove as1 as2
+ M.basicUnsafeMove bs1 bs2
+ M.basicUnsafeMove cs1 cs2
+ M.basicUnsafeMove ds1 ds2
+ M.basicUnsafeMove es1 es2
{-# INLINE basicUnsafeGrow #-}
basicUnsafeGrow (MV_5 n_ as bs cs ds es) m_
= do
@@ -887,6 +899,20 @@ instance (Unbox a,
M.basicUnsafeCopy ds1 ds2
M.basicUnsafeCopy es1 es2
M.basicUnsafeCopy fs1 fs2
+ {-# INLINE basicUnsafeMove #-}
+ basicUnsafeMove (MV_6 n_1 as1 bs1 cs1 ds1 es1 fs1) (MV_6 n_2 as2
+ bs2
+ cs2
+ ds2
+ es2
+ fs2)
+ = do
+ M.basicUnsafeMove as1 as2
+ M.basicUnsafeMove bs1 bs2
+ M.basicUnsafeMove cs1 cs2
+ M.basicUnsafeMove ds1 ds2
+ M.basicUnsafeMove es1 es2
+ M.basicUnsafeMove fs1 fs2
{-# INLINE basicUnsafeGrow #-}
basicUnsafeGrow (MV_6 n_ as bs cs ds es fs) m_
= do
More information about the Cvs-libraries
mailing list