# Struct mtgp32_params_fast_t

- Defined in File rocrand_mtgp32.h

## Struct Documentation

struct mtgp32_params_fast_t

  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.

  Public Members

  int mexp

    Mersenne exponent. This is redundant.

  int pos

    pick up position.

  int sh1

    Shift value 1. 0 < sh1 < 32.

  int sh2

    Shift value 2. 0 < sh2 < 32.

  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.