Skip to main content
`Ctrl`+`K`

# mtgp32_params_fast_t Struct Reference

API library: mtgp32_params_fast_t Struct Reference
Public Attributes | List of all members
mtgp32_params_fast_t Struct Reference

`#include <rocrand_mtgp32.h>`

## Public Attributes

int | mexp
int | pos
int | sh1
int | sh2
uint32_t | tbl [16]
uint32_t | tmp_tbl [16]
uint32_t | flt_tmp_tbl [16]
uint32_t | mask
unsigned char | poly_sha1 [21]

## Detailed Description

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.

## Member Data Documentation

## ◆ flt_tmp_tbl

uint32_t mtgp32_params_fast_t::flt_tmp_tbl[16]

A small matrix for tempering and converting to float.

## ◆ mask

uint32_t mtgp32_params_fast_t::mask

This is a mask for state space.

## ◆ mexp

int mtgp32_params_fast_t::mexp

Mersenne exponent. This is redundant.

## ◆ poly_sha1

unsigned char mtgp32_params_fast_t::poly_sha1[21]

SHA1 digest.

## ◆ pos

int mtgp32_params_fast_t::pos

pick up position.

## ◆ sh1

int mtgp32_params_fast_t::sh1

Shift value 1. 0 < sh1 < 32.

## ◆ sh2

int mtgp32_params_fast_t::sh2

Shift value 2. 0 < sh2 < 32.

## ◆ tbl

uint32_t mtgp32_params_fast_t::tbl[16]

A small matrix.

## ◆ tmp_tbl

uint32_t mtgp32_params_fast_t::tmp_tbl[16]

A small matrix for tempering.

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

- /build/rocrand-7S8maf/rocrand-7.1.1/library/include/rocrand/rocrand_mtgp32.h