MTGP  1.1.1
Data Fields
MTGP64_PARAMS_FAST_T Struct Reference

MTGP64 parameters. More...

#include <mtgp64-fast.h>

Data Fields

int mexp
 Mersenne exponent.
int pos
 pick up position.
int sh1
 shift value 1.
int sh2
 shift value 2.
uint64_t tbl [16]
 a small matrix.
uint64_t tmp_tbl [16]
 a small matrix for tempering.
uint64_t dbl_tmp_tbl [16]
 a small matrix for tempering and converting to double.
uint64_t mask
 This is a mask for state space.
unsigned char poly_sha1 [21]
 SHA1 digest.

Detailed Description

MTGP64 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

  1. For example, when mexp is 44497, size of 64-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.


Field Documentation

uint64_t MTGP64_PARAMS_FAST_T::dbl_tmp_tbl[16]

a small matrix for tempering and converting to double.

Referenced by mtgp64_genrand_close1_open2(), and mtgp64_genrand_open_open().

uint64_t MTGP64_PARAMS_FAST_T::mask

This is a mask for state space.

Referenced by mtgp64_next_state().

int MTGP64_PARAMS_FAST_T::mexp

Mersenne exponent.

This is redundant.

Referenced by alloc_state(), mtgp64_init_by_array(), mtgp64_init_by_str(), mtgp64_init_state(), and mtgp64_print_idstring().

unsigned char MTGP64_PARAMS_FAST_T::poly_sha1[21]

SHA1 digest.

Referenced by mtgp64_print_idstring().

int MTGP64_PARAMS_FAST_T::pos
int MTGP64_PARAMS_FAST_T::sh1

shift value 1.

0 < sh1 < 32.

Referenced by mtgp64_next_state().

int MTGP64_PARAMS_FAST_T::sh2

shift value 2.

0 < sh2 < 32.

Referenced by mtgp64_next_state().

uint64_t MTGP64_PARAMS_FAST_T::tbl[16]
uint64_t MTGP64_PARAMS_FAST_T::tmp_tbl[16]

a small matrix for tempering.

Referenced by mtgp64_genrand_uint64().


The documentation for this struct was generated from the following file: