Expand description
§PhpMt
A Rust implementation of PHP’s MT19937-based random number generator.
This implementation is bit-for-bit compatible with PHP 7.1+ for:
mt_srand(seed)mt_rand()mt_rand(min, max)
Notes:
- In PHP 7.1+,
rand()is an alias ofmt_rand(). - In PHP 7.1+,
srand(seed)is an alias ofmt_srand(seed). - This implementation matches the Zend Engine MT19937 algorithm.
Implementation details:
- 624-element MT19937 state array
- Exact Zend tempering constants
mt_rand()returns 31-bit output (next_u32() >> 1)mt_rand(min, max)uses integer rejection sampling (no float scaling)
This crate is intended for deterministic cross-language compatibility and reproducible test vectors.
Not cryptographically secure.