64-bit Mersenne Twister¶
-
class randomgen.mt64.MT64(seed=
None
, *, mode='sequence'
)¶ Container for the 64-bit Mersenne Twister pseudo-random number generator
- Parameters:¶
- seed=
None
¶ Random seed used to initialize the pseudo-random number generator. Can be any integer between 0 and 2**64 - 1 inclusive, an array (or other sequence) of unsigned 64-bit integers, a SeedSequence instance or
None
(the default). If seed isNone
, then 312 64-bit unsigned integers are read from/dev/urandom
(or the Windows analog) if available. If unavailable, a hash of the time and process ID is used.- mode=
'sequence'
¶ Deprecated parameter. Do not use.
- seed=
- lock¶
Lock instance that is shared so that the same bit git generator can be used in multiple Generators without corrupting the state. Code that generates values from a bit generator should hold the bit generator’s lock.
- Type:¶
- seed_seq¶
The SeedSequence instance used to initialize the generator if mode is “sequence” or is seed is a SeedSequence.
- Type:¶
{None, SeedSequence}
Notes
MT64
provides a capsule containing function pointers that produce doubles, and unsigned 32 and 64- bit integers ([1], [2]). These are not directly consumable in Python and must be consumed by aGenerator
or similar object that supports low-level access.The Python stdlib module “random” also contains a Mersenne Twister pseudo-random number generator.
State and Seeding
The
MT64
state vector consists of a 312-element array of 64-bit unsigned integers plus a single integer value between 0 and 312 that indexes the current position within the main array.MT64
is seeded using either a single 64-bit unsigned integer or a vector of 64-bit unsigned integers. In either case, the input seed is used as an input (or inputs) for a hashing function, and the output of the hashing function is used as the initial state. Using a single 64-bit value for the seed can only initialize a small range of the possible initial state values.Compatibility Guarantee
MT64
makes a guarantee that a fixed seed and will always produce the same random integer stream.References
Seeding and State¶
|
Seed the generator |
Get or set the PRNG state |
Extending¶
CFFI interface |
|
ctypes interface |
Testing¶
|
Return randoms as generated by the underlying BitGenerator |