[commit: random] master: Minor: using unsafeDupablePerformIO to be more fair to MWC. (aaae807)
Ian Lynagh
igloo at earth.li
Fri Jul 8 18:47:29 CEST 2011
Repository : ssh://darcs.haskell.org//srv/darcs/packages/random
On branch : master
http://hackage.haskell.org/trac/ghc/changeset/aaae8071cb1b9db87643ccfb786fc88033025ef9
>---------------------------------------------------------------
commit aaae8071cb1b9db87643ccfb786fc88033025ef9
Author: Ryan Newton <rrnewton at gmail.com>
Date: Sun Jun 26 23:51:11 2011 -0400
Minor: using unsafeDupablePerformIO to be more fair to MWC.
>---------------------------------------------------------------
Benchmark/SimpleRNGBench.hs | 6 ++++--
1 files changed, 4 insertions(+), 2 deletions(-)
diff --git a/Benchmark/SimpleRNGBench.hs b/Benchmark/SimpleRNGBench.hs
index cc92d86..83ae72c 100644
--- a/Benchmark/SimpleRNGBench.hs
+++ b/Benchmark/SimpleRNGBench.hs
@@ -36,7 +36,8 @@ import BinSearch
import System.Random.Mersenne.Pure64
import System.Random.MWC
import Control.Monad.Primitive
-import System.IO.Unsafe
+-- import System.IO.Unsafe
+import GHC.IO
#endif
----------------------------------------------------------------------------------------------------
@@ -117,7 +118,8 @@ data MWCRNG = MWCRNG (Gen (PrimState IO))
-- data MWCRNG = MWCRNG GenIO
instance RandomGen MWCRNG where
-- For testing purposes we hack this to be non-monadic:
- next g@(MWCRNG gen) = unsafePerformIO $
+-- next g@(MWCRNG gen) = unsafePerformIO $
+ next g@(MWCRNG gen) = unsafeDupablePerformIO $
do v <- uniform gen
return (v, g)
#endif
More information about the Cvs-libraries
mailing list