mersenne-random-pure64 0.2.0.5 → 0.2.2.0
raw patch · 2 files changed
Files
System/Random/Mersenne/Pure64.hs view
@@ -48,19 +48,27 @@ import System.Random import Data.Word import Data.Int-import System.Time+import Data.Time.Clock+import Data.Time.Calendar import System.CPUTime -- | Create a PureMT generator from a 'Word64' seed. pureMT :: Word64 -> PureMT pureMT = mkPureMT . seedBlock . fromIntegral +#if !MIN_VERSION_time(1,6,0)+diffTimeToPicoseconds :: DiffTime -> Integer+diffTimeToPicoseconds d =+ round (1000 * 1000 * 1000 * 1000 * d)+#endif+ -- | Create a new PureMT generator, using the clocktime as the base for the seed. newPureMT :: IO PureMT newPureMT = do- ct <- getCPUTime- (TOD sec psec) <- getClockTime- return $ pureMT (fromIntegral $ sec * 1013904242 + psec + ct)+ ct <- getCPUTime+ t <- getCurrentTime+ let seed = toModifiedJulianDay (utctDay t) + diffTimeToPicoseconds (utctDayTime t) + ct+ return $ pureMT $ fromIntegral seed ------------------------------------------------------------------------ -- System.Random interface.
mersenne-random-pure64.cabal view
@@ -1,5 +1,5 @@ name: mersenne-random-pure64-version: 0.2.0.5+version: 0.2.2.0 homepage: http://code.haskell.org/~dons/code/mersenne-random-pure64/ synopsis: Generate high quality pseudorandom numbers purely using a Mersenne Twister description:@@ -26,7 +26,7 @@ maintainer: Don Stewart <dons00@gmail.com> cabal-version: >= 1.6.0 build-type: Simple-tested-with: GHC == 7.6.2, GHC == 7.7+tested-with: GHC == 7.6.2, GHC == 7.8.4, GHC == 7.10.3, GHC == 8.0.1 source-repository head type: git@@ -46,7 +46,7 @@ if flag(small_base) build-depends: base < 3 else- build-depends: base >= 3 && < 6, old-time, random+ build-depends: base >= 3 && < 6, time, random cc-options: -O3 -finline-functions -fomit-frame-pointer