module Mersenne: sig end
The interface of this pretty much follows the C reference version,
except instead of using a single global seed, you can have multiple
concurrent seeds that are passed to the generator functions. Thus, it
can be used in multi-threaded programs as long as two threads don't
use the same seed without explicit locking. It produces the same
output for a given seed as the reference version, of course.
Initialization
|
type
t
val make : [< `Array of int array
| `Array32 of int32 array
| `CurrentTime
| `Seed of int
| `Seed32 of int32 ] ->
t
Functions returning random numbers
|
val uint32 : t -> int32
val int32 : t -> int32
val uint64 : t -> int64
val int64 : t -> int64
val unativeint : t -> nativeint
val nativeint : t -> nativeint
val uint : t -> int
val int : t -> int
val real1 : t -> float
val real2 : t -> float
val real3 : t -> float
val res53 : t -> float
module IntSource: sig end
Rand
distributions
module Int32Source: sig end
module FloatSource: sig end