MTGP32 parameters. More...
#include <mtgp32-fast.h>
Data Fields | |
int | mexp |
Mersenne exponent. | |
int | pos |
pick up position. | |
int | sh1 |
shift value 1. | |
int | sh2 |
shift value 2. | |
uint32_t | tbl [16] |
a small matrix. | |
uint32_t | tmp_tbl [16] |
a small matrix for tempering. | |
uint32_t | flt_tmp_tbl [16] |
a small matrix for tempering and converting to float. | |
uint32_t | mask |
This is a mask for state space. | |
unsigned char | poly_sha1 [21] |
SHA1 digest. |
MTGP32 parameters.
Some element is redundant to keep structure simple.
pos is a pick up position which is selected to have good performance on graphic processors. 3 < pos < Q, where Q is a maximum number such that the size of status array - Q is a power of 2. For example, when mexp is 44497, size of 32-bit status array is 696, and Q is 184, then pos is between 4 and 183. This means 512 parallel calculations is allowed when mexp is 44497.
poly_sha1 is SHA1 digest of the characteristic polynomial of state transition function. SHA1 is calculated based on printing form of the polynomial. This is important when we use parameters generated by the dynamic creator which
mask This is a mask to make the dimension of state space have just Mersenne Prime. This is redundant.
uint32_t MTGP32_PARAMS_FAST_T::flt_tmp_tbl[16] |
a small matrix for tempering and converting to float.
Referenced by make_constant(), mtgp32_genrand_close1_open2(), and mtgp32_genrand_open_open().
uint32_t MTGP32_PARAMS_FAST_T::mask |
This is a mask for state space.
Referenced by make_constant(), and mtgp32_next_state().
Mersenne exponent.
This is redundant.
Referenced by alloc_state(), mtgp32_init_by_array(), mtgp32_init_by_str(), mtgp32_init_state(), and mtgp32_print_idstring().
unsigned char MTGP32_PARAMS_FAST_T::poly_sha1[21] |
SHA1 digest.
Referenced by mtgp32_print_idstring().
pick up position.
Referenced by make_constant(), mtgp32_genrand_close1_open2(), mtgp32_genrand_open_open(), mtgp32_genrand_uint32(), and mtgp32_next_state().
uint32_t MTGP32_PARAMS_FAST_T::tbl[16] |
a small matrix.
Referenced by make_constant(), mtgp32_init_by_array(), mtgp32_init_by_str(), mtgp32_init_state(), and mtgp32_next_state().
uint32_t MTGP32_PARAMS_FAST_T::tmp_tbl[16] |
a small matrix for tempering.
Referenced by make_constant(), and mtgp32_genrand_uint32().