- Drop support for GHCs prior 8.6.5
- Support GHC-9.12
- Add TestU01 test-suite
-
Fix oops bugs in 0.1.0.2
-
It's lowercase
windows.h
. I blame Microsoft docs for using capital caseWindows.h
in the docs. https://docs.microsoft.com/en-us/windows/win32/api/processthreadsapi/nf-processthreadsapi-getprocessid -
accidental
shiftL
vsshiftR
mixup for 32-bit generator initialization. Doesn't affect Linux.
-
- Drop
time
dependency in favour of handcoded initialization- On Unix platforms we use
/dev/urandom
if it exists, otherwise usegettimeofday
,clock
andgetpid
. - On Windows we use
GetCurrentProcessID
,GetCurrentThreadId()
,GetTickCount
,GetSystemTime
andQueryPerformanceCounter
. - On GHCJS use
Math.random()
- Using
time
is a fallback option (e.g. for Hugs).
- On Unix platforms we use
- Add
INLINEABLE
pragmas tobitmaskWithRejection*
functions - Support GHC-9.0
- Drop
random
dependency unconditionally. #34
- Add
nextInteger
- Use smaller range in
bitmaskWithRejection32
and64
, when upper bound is 2^n - 1. This changes generated values when they were on the boundary.
- Add
bitmaskWithRejection32'
andbitmaskWithRejection64'
which generate numbers in closed range[0, n]
. Unticked variants generate in closed-open range[0, n)
.
- Add
System.Random.SplitMix32
module - Add
bitmaskWithRejection32
andbitmaskWithRejection64
functions - Add
nextWord32
,nextTwoWord32
andnextFloat
- Add
random
flag, dropping dependency onrandom
(breaks things, e.g.QuickCheck
, when disabled).
- Support back to GHC-7.0
- Add
Read SMGen
instance
- Add
NFData SMGen
instance - Fix a bug. http://www.pcg-random.org/posts/bugs-in-splitmix.html The generated numbers will be different for the same seeds!