dSFMT 2.2

- Main Page
- Data Structures
- Files

- File List
- Globals

Data Structures | Defines | Typedefs | Functions | Variables
dSFMT.h File Reference

double precision SIMD oriented Fast Mersenne Twister(dSFMT) pseudorandom number generator based on IEEE 754 format. More...

`#include <stdio.h>`
`#include <assert.h>`
`#include <inttypes.h>`

Go to the source code of this file.

## Data Structures
union | W128_T
| 128-bit data structure More...
struct | DSFMT_T
| the 128-bit internal state array More...
## Defines
#define | DSFMT_MEXP 19937
#define | DSFMT_N ((DSFMT_MEXP - 128) / 104 + 1)
| DSFMT generator has an internal state array of 128-bit integers, and N is its size.
#define | DSFMT_N32 (DSFMT_N * 4)
| N32 is the size of internal state array when regarded as an array of 32-bit integers.
#define | DSFMT_N64 (DSFMT_N * 2)
| N64 is the size of internal state array when regarded as an array of 64-bit integers.
#define | inline
#define | PRIu64 "llu"
#define | PRIx64 "llx"
#define | UINT64_C(v) (v ## ULL)
#define | DSFMT_PRE_INLINE inline static
#define | DSFMT_PST_INLINE
## Typedefs
typedef union W128_T | w128_t
| 128-bit data type
typedef struct DSFMT_T | dsfmt_t
## Functions
void | dsfmt_gen_rand_all (dsfmt_t *dsfmt)
| This function fills the internal state array with double precision floating point pseudorandom numbers of the IEEE 754 format.
void | dsfmt_fill_array_open_close (dsfmt_t *dsfmt, double array[], int size)
| This function generates double precision floating point pseudorandom numbers which distribute in the range (0, 1] to the specified array[] by one call.
void | dsfmt_fill_array_close_open (dsfmt_t *dsfmt, double array[], int size)
| This function generates double precision floating point pseudorandom numbers which distribute in the range [0, 1) to the specified array[] by one call.
void | dsfmt_fill_array_open_open (dsfmt_t *dsfmt, double array[], int size)
| This function generates double precision floating point pseudorandom numbers which distribute in the range (0, 1) to the specified array[] by one call.
void | dsfmt_fill_array_close1_open2 (dsfmt_t *dsfmt, double array[], int size)
| This function generates double precision floating point pseudorandom numbers which distribute in the range [1, 2) to the specified array[] by one call.
void | dsfmt_chk_init_gen_rand (dsfmt_t *dsfmt, uint32_t seed, int mexp)
| This function initializes the internal state array with a 32-bit integer seed.
void | dsfmt_chk_init_by_array (dsfmt_t *dsfmt, uint32_t init_key[], int key_length, int mexp)
| This function initializes the internal state array, with an array of 32-bit integers used as the seeds.
const char * | dsfmt_get_idstring (void)
| This function returns the identification string.
int | dsfmt_get_min_array_size (void)
| This function returns the minimum size of array used for fill_array functions.
DSFMT_PRE_INLINE uint32_t | dsfmt_genrand_uint32 (dsfmt_t *dsfmt)
| This function generates and returns unsigned 32-bit integer.
DSFMT_PRE_INLINE double | dsfmt_genrand_close1_open2 (dsfmt_t *dsfmt)
| This function generates and returns double precision pseudorandom number which distributes uniformly in the range [1, 2).
DSFMT_PRE_INLINE double | dsfmt_genrand_close_open (dsfmt_t *dsfmt)
| This function generates and returns double precision pseudorandom number which distributes uniformly in the range [0, 1).
DSFMT_PRE_INLINE double | dsfmt_genrand_open_close (dsfmt_t *dsfmt)
| This function generates and returns double precision pseudorandom number which distributes uniformly in the range (0, 1].
DSFMT_PRE_INLINE double | dsfmt_genrand_open_open (dsfmt_t *dsfmt)
| This function generates and returns double precision pseudorandom number which distributes uniformly in the range (0, 1).
DSFMT_PRE_INLINE uint32_t | dsfmt_gv_genrand_uint32 (void)
| This function generates and returns unsigned 32-bit integer.
DSFMT_PRE_INLINE double | dsfmt_gv_genrand_close1_open2 (void)
| This function generates and returns double precision pseudorandom number which distributes uniformly in the range [1, 2).
DSFMT_PRE_INLINE double | dsfmt_gv_genrand_close_open (void)
| This function generates and returns double precision pseudorandom number which distributes uniformly in the range [0, 1).
DSFMT_PRE_INLINE double | dsfmt_gv_genrand_open_close (void)
| This function generates and returns double precision pseudorandom number which distributes uniformly in the range (0, 1].
DSFMT_PRE_INLINE double | dsfmt_gv_genrand_open_open (void)
| This function generates and returns double precision pseudorandom number which distributes uniformly in the range (0, 1).
DSFMT_PRE_INLINE void | dsfmt_gv_fill_array_open_close (double array[], int size)
| This function generates double precision floating point pseudorandom numbers which distribute in the range (0, 1] to the specified array[] by one call.
DSFMT_PRE_INLINE void | dsfmt_gv_fill_array_close_open (double array[], int size)
| This function generates double precision floating point pseudorandom numbers which distribute in the range [0, 1) to the specified array[] by one call.
DSFMT_PRE_INLINE void | dsfmt_gv_fill_array_open_open (double array[], int size)
| This function generates double precision floating point pseudorandom numbers which distribute in the range (0, 1) to the specified array[] by one call.
DSFMT_PRE_INLINE void | dsfmt_gv_fill_array_close1_open2 (double array[], int size)
| This function generates double precision floating point pseudorandom numbers which distribute in the range [1, 2) to the specified array[] by one call.
DSFMT_PRE_INLINE void | dsfmt_gv_init_gen_rand (uint32_t seed)
| This function initializes the internal state array with a 32-bit integer seed.
DSFMT_PRE_INLINE void | dsfmt_gv_init_by_array (uint32_t init_key[], int key_length)
| This function initializes the internal state array, with an array of 32-bit integers used as the seeds.
DSFMT_PRE_INLINE void | dsfmt_init_gen_rand (dsfmt_t *dsfmt, uint32_t seed)
| This function initializes the internal state array with a 32-bit integer seed.
DSFMT_PRE_INLINE void | dsfmt_init_by_array (dsfmt_t *dsfmt, uint32_t init_key[], int key_length)
| This function initializes the internal state array, with an array of 32-bit integers used as the seeds.
DSFMT_PRE_INLINE const char * | get_idstring (void)
| This function is just the same as dsfmt_get_idstring().
DSFMT_PRE_INLINE int | get_min_array_size (void)
| This function is just the same as dsfmt_get_min_array_size().
DSFMT_PRE_INLINE void | init_gen_rand (uint32_t seed)
| This function is just the same as dsfmt_gv_init_gen_rand().
DSFMT_PRE_INLINE void | init_by_array (uint32_t init_key[], int key_length)
| This function is just the same as dsfmt_gv_init_by_array().
DSFMT_PRE_INLINE double | genrand_close1_open2 (void)
| This function is just the same as dsfmt_gv_genrand_close1_open2().
DSFMT_PRE_INLINE double | genrand_close_open (void)
| This function is just the same as dsfmt_gv_genrand_close_open().
DSFMT_PRE_INLINE double | genrand_open_close (void)
| This function is just the same as dsfmt_gv_genrand_open_close().
DSFMT_PRE_INLINE double | genrand_open_open (void)
| This function is just the same as dsfmt_gv_genrand_open_open().
DSFMT_PRE_INLINE void | fill_array_open_close (double array[], int size)
| This function is juset the same as dsfmt_gv_fill_array_open_close().
DSFMT_PRE_INLINE void | fill_array_close_open (double array[], int size)
| This function is juset the same as dsfmt_gv_fill_array_close_open().
DSFMT_PRE_INLINE void | fill_array_open_open (double array[], int size)
| This function is juset the same as dsfmt_gv_fill_array_open_open().
DSFMT_PRE_INLINE void | fill_array_close1_open2 (double array[], int size)
| This function is juset the same as dsfmt_gv_fill_array_close1_open2().
## Variables
dsfmt_t | dsfmt_global_data
| dsfmt internal state vector
const int | dsfmt_global_mexp
| dsfmt mexp for check

## Detailed Description

double precision SIMD oriented Fast Mersenne Twister(dSFMT) pseudorandom number generator based on IEEE 754 format.

Author:
  Mutsuo Saito (Hiroshima University)
  Makoto Matsumoto (Hiroshima University)

Copyright (C) 2007, 2008 Mutsuo Saito, Makoto Matsumoto and Hiroshima University. All rights reserved. Copyright (C) 2012 Mutsuo Saito, Makoto Matsumoto, Hiroshima University and The University of Tokyo. All rights reserved.

The new BSD License is applied to this software. see LICENSE.txt

Note:
  We assume that your system has inttypes.h. If your system doesn't have inttypes.h, you have to typedef uint32_t and uint64_t, and you have to define PRIu64 and PRIx64 in this file as follows:

       typedef unsigned int uint32_t
       typedef unsigned long long uint64_t
       #define PRIu64 "llu"
       #define PRIx64 "llx"

  uint32_t must be exactly 32-bit unsigned integer type (no more, no less), and uint64_t must be exactly 64-bit unsigned integer type. PRIu64 and PRIx64 are used for printf function to print 64-bit unsigned int and 64-bit unsigned int in hexadecimal format.

## Define Documentation

#define DSFMT_MEXP 19937

Referenced by dsfmt_init_by_array(), and dsfmt_init_gen_rand().

#define DSFMT_N ((DSFMT_MEXP - 128) / 104 + 1)

DSFMT generator has an internal state array of 128-bit integers, and N is its size.

Referenced by dsfmt_chk_init_by_array(), dsfmt_chk_init_gen_rand(), dsfmt_gen_rand_all(), gen_rand_array_c0o1(), gen_rand_array_c1o2(), gen_rand_array_o0c1(), gen_rand_array_o0o1(), initial_mask(), and period_certification().

#define DSFMT_N32 (DSFMT_N * 4)

N32 is the size of internal state array when regarded as an array of 32-bit integers.

#define DSFMT_N64 (DSFMT_N * 2)

N64 is the size of internal state array when regarded as an array of 64-bit integers.

Referenced by dsfmt_chk_init_by_array(), dsfmt_chk_init_gen_rand(), dsfmt_fill_array_close1_open2(), dsfmt_fill_array_close_open(), dsfmt_fill_array_open_close(), dsfmt_fill_array_open_open(), dsfmt_genrand_close1_open2(), dsfmt_genrand_open_open(), dsfmt_genrand_uint32(), and dsfmt_get_min_array_size().

#define DSFMT_PRE_INLINE inline static

#define DSFMT_PST_INLINE

#define inline

#define PRIu64 "llu"

#define PRIx64 "llx"

#define UINT64_C | ( |  | v | ) | (v ## ULL)

## Typedef Documentation

typedef struct DSFMT_T dsfmt_t

typedef union W128_T w128_t

128-bit data type

## Function Documentation

void dsfmt_chk_init_by_array | ( | dsfmt_t * | dsfmt,
|  | uint32_t | init_key[],
|  | int | key_length,
|  | int | mexp
| ) |  |

This function initializes the internal state array, with an array of 32-bit integers used as the seeds.

Parameters:

  dsfmt | dsfmt state vector.
  init_key | the array of 32-bit integers, used as a seed.
  key_length | the length of init_key.
  mexp | caller's mersenne expornent

References DSFMT_N, DSFMT_N64, DSFMT_T::idx, idxof(), ini_func1(), ini_func2(), initial_mask(), period_certification(), DSFMT_T::status, and W128_T::u32.

Referenced by dsfmt_init_by_array().

void dsfmt_chk_init_gen_rand | ( | dsfmt_t * | dsfmt,
|  | uint32_t | seed,
|  | int | mexp
| ) |  |

This function initializes the internal state array with a 32-bit integer seed.

Parameters:

  dsfmt | dsfmt state vector.
  seed | a 32-bit integer used as the seed.
  mexp | caller's mersenne expornent

References DSFMT_N, DSFMT_N64, DSFMT_T::idx, idxof(), initial_mask(), period_certification(), DSFMT_T::status, and W128_T::u32.

Referenced by dsfmt_init_gen_rand().

void dsfmt_fill_array_close1_open2 | ( | dsfmt_t * | dsfmt,
|  | double | array[],
|  | int | size
| ) |  |

This function generates double precision floating point pseudorandom numbers which distribute in the range [1, 2) to the specified array[] by one call.

The number of pseudorandom numbers is specified by the argument size, which must be at least (SFMT_MEXP / 128) * 2 and a multiple of two. The function get_min_array_size() returns this minimum size. The generation by this function is much faster than the following fill_array_xxx functions.

For initialization, init_gen_rand() or init_by_array() must be called before the first call of this function. This function can not be used after calling genrand_xxx functions, without initialization.

Parameters:

  dsfmt | dsfmt state vector.
  array | an array where pseudorandom numbers are filled by this function. The pointer to the array must be "aligned" (namely, must be a multiple of 16) in the SIMD version, since it refers to the address of a 128-bit integer. In the standard C version, the pointer is arbitrary.
  size | the number of 64-bit pseudorandom integers to be generated. size must be a multiple of 2, and greater than or equal to (SFMT_MEXP / 128) * 2.

Note:
  memalign or posix_memalign is available to get aligned memory. Mac OSX doesn't have these functions, but malloc of OSX returns the pointer to the aligned memory block.

References DSFMT_N64, and gen_rand_array_c1o2().

Referenced by dsfmt_gv_fill_array_close1_open2().

void dsfmt_fill_array_close_open | ( | dsfmt_t * | dsfmt,
|  | double | array[],
|  | int | size
| ) |  |

This function generates double precision floating point pseudorandom numbers which distribute in the range [0, 1) to the specified array[] by one call.

This function is the same as fill_array_close1_open2() except the distribution range.

Parameters:

  array | an array where pseudorandom numbers are filled by this function.
  dsfmt | dsfmt state vector.
  size | the number of pseudorandom numbers to be generated. see also

See also:
  fill_array_close1_open2()

References DSFMT_N64, and gen_rand_array_c0o1().

Referenced by dsfmt_gv_fill_array_close_open().

void dsfmt_fill_array_open_close | ( | dsfmt_t * | dsfmt,
|  | double | array[],
|  | int | size
| ) |  |

This function generates double precision floating point pseudorandom numbers which distribute in the range (0, 1] to the specified array[] by one call.

This function is the same as fill_array_close1_open2() except the distribution range.

Parameters:

  dsfmt | dsfmt state vector.
  array | an array where pseudorandom numbers are filled by this function.
  size | the number of pseudorandom numbers to be generated. see also

See also:
  fill_array_close1_open2()

References DSFMT_N64, and gen_rand_array_o0c1().

Referenced by dsfmt_gv_fill_array_open_close().

void dsfmt_fill_array_open_open | ( | dsfmt_t * | dsfmt,
|  | double | array[],
|  | int | size
| ) |  |

This function generates double precision floating point pseudorandom numbers which distribute in the range (0, 1) to the specified array[] by one call.

This function is the same as fill_array_close1_open2() except the distribution range.

Parameters:

  dsfmt | dsfmt state vector.
  array | an array where pseudorandom numbers are filled by this function.
  size | the number of pseudorandom numbers to be generated. see also

See also:
  fill_array_close1_open2()

References DSFMT_N64, and gen_rand_array_o0o1().

Referenced by dsfmt_gv_fill_array_open_open().

void dsfmt_gen_rand_all | ( | dsfmt_t * | dsfmt | ) |

This function fills the internal state array with double precision floating point pseudorandom numbers of the IEEE 754 format.

Parameters:

  dsfmt | dsfmt state vector.

References do_recursion(), DSFMT_N, and DSFMT_T::status.

Referenced by dsfmt_genrand_close1_open2(), dsfmt_genrand_open_open(), and dsfmt_genrand_uint32().

static double dsfmt_genrand_close1_open2 | ( | dsfmt_t * | dsfmt | ) | `[inline]`

This function generates and returns double precision pseudorandom number which distributes uniformly in the range [1, 2).

This is the primitive and faster than generating numbers in other ranges. dsfmt_init_gen_rand() or dsfmt_init_by_array() must be called before this function.

Parameters:

  dsfmt | dsfmt internal state date

Returns:
  double precision floating point pseudorandom number

References W128_T::d, dsfmt_gen_rand_all(), DSFMT_N64, DSFMT_T::idx, and DSFMT_T::status.

Referenced by dsfmt_genrand_close_open(), dsfmt_genrand_open_close(), and dsfmt_gv_genrand_close1_open2().

static double dsfmt_genrand_close_open | ( | dsfmt_t * | dsfmt | ) | `[inline]`

This function generates and returns double precision pseudorandom number which distributes uniformly in the range [0, 1).

dsfmt_init_gen_rand() or dsfmt_init_by_array() must be called before this function.

Parameters:

  dsfmt | dsfmt internal state date

Returns:
  double precision floating point pseudorandom number

References dsfmt_genrand_close1_open2().

static double dsfmt_genrand_open_close | ( | dsfmt_t * | dsfmt | ) | `[inline]`

This function generates and returns double precision pseudorandom number which distributes uniformly in the range (0, 1].

dsfmt_init_gen_rand() or dsfmt_init_by_array() must be called before this function.

Parameters:

  dsfmt | dsfmt internal state date

Returns:
  double precision floating point pseudorandom number

References dsfmt_genrand_close1_open2().

static double dsfmt_genrand_open_open | ( | dsfmt_t * | dsfmt | ) | `[inline]`

This function generates and returns double precision pseudorandom number which distributes uniformly in the range (0, 1).

dsfmt_init_gen_rand() or dsfmt_init_by_array() must be called before this function.

Parameters:

  dsfmt | dsfmt internal state date

Returns:
  double precision floating point pseudorandom number

References W128_T::d, dsfmt_gen_rand_all(), DSFMT_N64, DSFMT_T::idx, and DSFMT_T::status.

Referenced by dsfmt_gv_genrand_open_open().

static uint32_t dsfmt_genrand_uint32 | ( | dsfmt_t * | dsfmt | ) | `[inline]`

This function generates and returns unsigned 32-bit integer.

This is slower than SFMT, only for convenience usage. dsfmt_init_gen_rand() or dsfmt_init_by_array() must be called before this function.

Parameters:

  dsfmt | dsfmt internal state date

Returns:
  double precision floating point pseudorandom number

References dsfmt_gen_rand_all(), and DSFMT_N64.

Referenced by dsfmt_gv_genrand_uint32().

const char* dsfmt_get_idstring | ( | void |  | ) |

This function returns the identification string.

The string shows the Mersenne exponent, and all parameters of this generator.

Returns:
  id string.

Referenced by get_idstring().

int dsfmt_get_min_array_size | ( | void |  | ) |

This function returns the minimum size of array used for fill_array functions.

Returns:
  minimum size of array used for fill_array functions.

References DSFMT_N64.

Referenced by get_min_array_size().

static void dsfmt_gv_fill_array_close1_open2 | ( | double | array[],
|  | int | size
| ) |  | `[inline]`

This function generates double precision floating point pseudorandom numbers which distribute in the range [1, 2) to the specified array[] by one call.

This function is the same as dsfmt_fill_array_close1_open2() except that this function uses global variables.

Parameters:

  array | an array where pseudorandom numbers are filled by this function.
  size | the number of pseudorandom numbers to be generated. see also

See also:
  dsfmt_fill_array_close1_open2()

References dsfmt_fill_array_close1_open2().

Referenced by fill_array_close1_open2().

static void dsfmt_gv_fill_array_close_open | ( | double | array[],
|  | int | size
| ) |  | `[inline]`

This function generates double precision floating point pseudorandom numbers which distribute in the range [0, 1) to the specified array[] by one call.

This function is the same as dsfmt_gv_fill_array_close1_open2() except the distribution range. This function uses global variables.

Parameters:

  array | an array where pseudorandom numbers are filled by this function.
  size | the number of pseudorandom numbers to be generated. see also

See also:
  dsfmt_fill_array_close1_open2()
  dsfmt_gv_fill_array_close1_open2()

References dsfmt_fill_array_close_open().

Referenced by fill_array_close_open().

static void dsfmt_gv_fill_array_open_close | ( | double | array[],
|  | int | size
| ) |  | `[inline]`

This function generates double precision floating point pseudorandom numbers which distribute in the range (0, 1] to the specified array[] by one call.

This function is the same as dsfmt_gv_fill_array_close1_open2() except the distribution range. This function uses global variables.

Parameters:

  array | an array where pseudorandom numbers are filled by this function.
  size | the number of pseudorandom numbers to be generated. see also

See also:
  dsfmt_fill_array_close1_open2() and
  dsfmt_gv_fill_array_close1_open2()

References dsfmt_fill_array_open_close().

Referenced by fill_array_open_close().

static void dsfmt_gv_fill_array_open_open | ( | double | array[],
|  | int | size
| ) |  | `[inline]`

This function generates double precision floating point pseudorandom numbers which distribute in the range (0, 1) to the specified array[] by one call.

This function is the same as dsfmt_gv_fill_array_close1_open2() except the distribution range. This function uses global variables.

Parameters:

  array | an array where pseudorandom numbers are filled by this function.
  size | the number of pseudorandom numbers to be generated. see also

See also:
  dsfmt_fill_array_close1_open2()
  dsfmt_gv_fill_array_close1_open2()

References dsfmt_fill_array_open_open().

Referenced by fill_array_open_open().

static double dsfmt_gv_genrand_close1_open2 | ( | void |  | ) | `[inline]`

This function generates and returns double precision pseudorandom number which distributes uniformly in the range [1, 2).

dsfmt_gv_init_gen_rand() or dsfmt_gv_init_by_array() must be called before this function. This function uses global variables.

Returns:
  double precision floating point pseudorandom number

References dsfmt_genrand_close1_open2().

Referenced by dsfmt_gv_genrand_close_open(), dsfmt_gv_genrand_open_close(), and genrand_close1_open2().

static double dsfmt_gv_genrand_close_open | ( | void |  | ) | `[inline]`

This function generates and returns double precision pseudorandom number which distributes uniformly in the range [0, 1).

dsfmt_gv_init_gen_rand() or dsfmt_gv_init_by_array() must be called before this function. This function uses global variables.

Returns:
  double precision floating point pseudorandom number

References dsfmt_gv_genrand_close1_open2().

Referenced by genrand_close_open().

static double dsfmt_gv_genrand_open_close | ( | void |  | ) | `[inline]`

This function generates and returns double precision pseudorandom number which distributes uniformly in the range (0, 1].

dsfmt_gv_init_gen_rand() or dsfmt_gv_init_by_array() must be called before this function. This function uses global variables.

Returns:
  double precision floating point pseudorandom number

References dsfmt_gv_genrand_close1_open2().

Referenced by genrand_open_close().

static double dsfmt_gv_genrand_open_open | ( | void |  | ) | `[inline]`

This function generates and returns double precision pseudorandom number which distributes uniformly in the range (0, 1).

dsfmt_gv_init_gen_rand() or dsfmt_gv_init_by_array() must be called before this function. This function uses global variables.

Returns:
  double precision floating point pseudorandom number

References dsfmt_genrand_open_open().

Referenced by genrand_open_open().

static uint32_t dsfmt_gv_genrand_uint32 | ( | void |  | ) | `[inline]`

This function generates and returns unsigned 32-bit integer.

This is slower than SFMT, only for convenience usage. dsfmt_gv_init_gen_rand() or dsfmt_gv_init_by_array() must be called before this function. This function uses global variables.

Returns:
  double precision floating point pseudorandom number

References dsfmt_genrand_uint32().

static void dsfmt_gv_init_by_array | ( | uint32_t | init_key[],
|  | int | key_length
| ) |  | `[inline]`

This function initializes the internal state array, with an array of 32-bit integers used as the seeds.

This function uses global variables.

Parameters:

  init_key | the array of 32-bit integers, used as a seed.
  key_length | the length of init_key. see also

See also:
  dsfmt_init_by_array()

References dsfmt_init_by_array().

Referenced by init_by_array().

static void dsfmt_gv_init_gen_rand | ( | uint32_t | seed | ) | `[inline]`

This function initializes the internal state array with a 32-bit integer seed.

This function uses global variables.

Parameters:

  seed | a 32-bit integer used as the seed. see also

See also:
  dsfmt_init_gen_rand()

References dsfmt_init_gen_rand().

Referenced by init_gen_rand().

static void dsfmt_init_by_array | ( | dsfmt_t * | dsfmt,
|  | uint32_t | init_key[],
|  | int | key_length
| ) |  | `[inline]`

This function initializes the internal state array, with an array of 32-bit integers used as the seeds.

Parameters:

  dsfmt | dsfmt state vector
  init_key | the array of 32-bit integers, used as a seed.
  key_length | the length of init_key.

References dsfmt_chk_init_by_array(), and DSFMT_MEXP.

Referenced by dsfmt_gv_init_by_array().

static void dsfmt_init_gen_rand | ( | dsfmt_t * | dsfmt,
|  | uint32_t | seed
| ) |  | `[inline]`

This function initializes the internal state array with a 32-bit integer seed.

Parameters:

  dsfmt | dsfmt state vector.
  seed | a 32-bit integer used as the seed.

References dsfmt_chk_init_gen_rand(), and DSFMT_MEXP.

Referenced by dsfmt_gv_init_gen_rand().

static void fill_array_close1_open2 | ( | double | array[],
|  | int | size
| ) |  | `[inline]`

This function is juset the same as dsfmt_gv_fill_array_close1_open2().

Parameters:

  array | an array where pseudorandom numbers are filled by this function.
  size | the number of pseudorandom numbers to be generated. see also

See also:
  dsfmt_fill_array_close1_open2(),
  dsfmt_gv_fill_array_close1_open2()

References dsfmt_gv_fill_array_close1_open2().

static void fill_array_close_open | ( | double | array[],
|  | int | size
| ) |  | `[inline]`

This function is juset the same as dsfmt_gv_fill_array_close_open().

Parameters:

  array | an array where pseudorandom numbers are filled by this function.
  size | the number of pseudorandom numbers to be generated. see also

See also:
  dsfmt_gv_fill_array_close_open(),
  dsfmt_fill_array_close1_open2(),
  dsfmt_gv_fill_array_close1_open2()

References dsfmt_gv_fill_array_close_open().

static void fill_array_open_close | ( | double | array[],
|  | int | size
| ) |  | `[inline]`

This function is juset the same as dsfmt_gv_fill_array_open_close().

Parameters:

  array | an array where pseudorandom numbers are filled by this function.
  size | the number of pseudorandom numbers to be generated. see also

See also:
  dsfmt_gv_fill_array_open_close(),
  dsfmt_fill_array_close1_open2(),
  dsfmt_gv_fill_array_close1_open2()

References dsfmt_gv_fill_array_open_close().

static void fill_array_open_open | ( | double | array[],
|  | int | size
| ) |  | `[inline]`

This function is juset the same as dsfmt_gv_fill_array_open_open().

Parameters:

  array | an array where pseudorandom numbers are filled by this function.
  size | the number of pseudorandom numbers to be generated. see also

See also:
  dsfmt_gv_fill_array_open_open(),
  dsfmt_fill_array_close1_open2(),
  dsfmt_gv_fill_array_close1_open2()

References dsfmt_gv_fill_array_open_open().

static double genrand_close1_open2 | ( | void |  | ) | `[inline]`

This function is just the same as dsfmt_gv_genrand_close1_open2().

Returns:
  double precision floating point number. see also

See also:
  dsfmt_genrand_close1_open2()
  dsfmt_gv_genrand_close1_open2()

References dsfmt_gv_genrand_close1_open2().

static double genrand_close_open | ( | void |  | ) | `[inline]`

This function is just the same as dsfmt_gv_genrand_close_open().

Returns:
  double precision floating point number. see also

See also:
  dsfmt_genrand_close_open()
  dsfmt_gv_genrand_close_open()

References dsfmt_gv_genrand_close_open().

static double genrand_open_close | ( | void |  | ) | `[inline]`

This function is just the same as dsfmt_gv_genrand_open_close().

Returns:
  double precision floating point number. see also

See also:
  dsfmt_genrand_open_close()
  dsfmt_gv_genrand_open_close()

References dsfmt_gv_genrand_open_close().

static double genrand_open_open | ( | void |  | ) | `[inline]`

This function is just the same as dsfmt_gv_genrand_open_open().

Returns:
  double precision floating point number. see also

See also:
  dsfmt_genrand_open_open()
  dsfmt_gv_genrand_open_open()

References dsfmt_gv_genrand_open_open().

static const char * get_idstring | ( | void |  | ) | `[inline]`

This function is just the same as dsfmt_get_idstring().

Returns:
  id string. see also

See also:
  dsfmt_get_idstring()

References dsfmt_get_idstring().

static int get_min_array_size | ( | void |  | ) | `[inline]`

This function is just the same as dsfmt_get_min_array_size().

Returns:
  minimum size of array used for fill_array functions. see also

See also:
  dsfmt_get_min_array_size()

References dsfmt_get_min_array_size().

static void init_by_array | ( | uint32_t | init_key[],
|  | int | key_length
| ) |  | `[inline]`

This function is just the same as dsfmt_gv_init_by_array().

Parameters:

  init_key | the array of 32-bit integers, used as a seed.
  key_length | the length of init_key. see also

See also:
  dsfmt_gv_init_by_array(),
  dsfmt_init_by_array().

References dsfmt_gv_init_by_array().

static void init_gen_rand | ( | uint32_t | seed | ) | `[inline]`

This function is just the same as dsfmt_gv_init_gen_rand().

Parameters:

  seed | a 32-bit integer used as the seed. see also

See also:
  dsfmt_gv_init_gen_rand(),
  dsfmt_init_gen_rand().

References dsfmt_gv_init_gen_rand().

## Variable Documentation

dsfmt_t dsfmt_global_data

dsfmt internal state vector

const int dsfmt_global_mexp

dsfmt mexp for check