1This is an implementation of the Mersenne Twist pseudorandom number 2generator, including both C and C++ interfaces and a set of functions 3for generating random variates from common distributions. 4 5The full documentation for the package is in the manual pages, 6mtwist.3 and randistrs.3. 7 8For more information, see the Web page for the package, at: 9 10 http://www.cs.hmc.edu/~geoff/mtwist.html 11 12BRIEF SUMMARY OF FUNCTIONS: 13 14All functions come in two forms: mt_xxx and mts_xxx. The difference 15is that the mts_xxx functions accept an additional parameter, "state", 16which encapsulates the entire PRNG state. This allows multiple 17independent PRNG streams to be used. The mt_xxx versions use a single 18shared state provided by the implementation. Only the most commonly 19used mt_xxx versions are mentioned here; see mtwist(3) for more 20information. There is also a C++ interface; again, see the manual 21page for information. 22 23void mt_seed32new(uint32_t seed) 24 Seeds the generator from a 32-bit constant 25 26uint32_t mt_seed(void) 27 Automatically seeds from /dev/urandom or system time 28 29uint32_t mt_goodseed(void) 30 Automatically seeds from /dev/random or system time (can be slow) 31 32void mt_bestseed(void) 33 Automatically seeds from /dev/random with high entropy (very slow) 34 35uint32_t mt_lrand(void) 36 Return a 32-bit pseudorandom value 37 38uint64_t mt_llrand(void) 39 Return a 64-bit pseudorandom value 40 41double mt_drand(void) 42 Return a pseudorandom double in [0,1) with 32 bits of randomness 43 44double mt_ldrand(void) 45 Return a pseudorandom double in [0,1) with 64 bits of randomness 46