Skip to main content

muRAND Device API 参考


目录


Files


Modules


Class murand_device::mrg32k3a_engine

Definition: murand\_mrg32k3a.h (line 63)

Inner classes

Members

Attributes

Member m_state

Definition: murand\_mrg32k3a.h (line 346)

mrg32k3a_state m_state

Type: mrg32k3a_state

Referenced by:

Friends

Friend detail::engine_boxmuller_helper\< mrg32k3a_engine \>

Definition: murand\_mrg32k3a.h (line 346)

Public functions

Function mrg32k3a_engine

FQUALIFIERS mrg32k3a_engine()

Return type: FQUALIFIERS

References:

Function mrg32k3a_engine

FQUALIFIERS mrg32k3a_engine(const unsigned long long seed, const unsigned long long subsequence, const unsigned long long offset)

Initializes the internal state of the PRNG using seed value seed, goes to subsequence -th subsequence, and skips offset random numbers.

New seed value should not be zero. If seed_value is equal zero, value MURAND_MRG32K3A_DEFAULT_SEED is used instead.

A subsequence is 2^76 numbers long.

Parameters:

  • const unsigned long long seed
  • const unsigned long long subsequence
  • const unsigned long long offset

Return type: FQUALIFIERS

References:

Function seed

FQUALIFIERS void seed(unsigned long long seed_value, const unsigned long long subsequence, const unsigned long long offset)

Reinitializes the internal state of the PRNG using new seed value seed_value, skips subsequence subsequences and offset random numbers.

New seed value should not be zero. If seed_value is equal zero, value MURAND_MRG32K3A_DEFAULT_SEED is used instead.

A subsequence is 2^76 numbers long.

Parameters:

  • unsigned long long seed_value
  • const unsigned long long subsequence
  • const unsigned long long offset

Return type: FQUALIFIERS void

References:

Referenced by:

Function discard

FQUALIFIERS void discard(unsigned long long offset)

Advances the internal state to skip offset numbers.

Parameters:

  • unsigned long long offset

Return type: FQUALIFIERS void

References:

Function discard_subsequence

FQUALIFIERS void discard_subsequence(unsigned long long subsequence)

Advances the internal state to skip subsequence subsequences. A subsequence is 2^76 numbers long.

Parameters:

  • unsigned long long subsequence

Return type: FQUALIFIERS void

References:

Function discard_sequence

FQUALIFIERS void discard_sequence(unsigned long long sequence)

Advances the internal state to skip sequence sequences. A sequence is 2^127 numbers long.

Parameters:

  • unsigned long long sequence

Return type: FQUALIFIERS void

References:

Function restart

FQUALIFIERS void restart(const unsigned long long subsequence, const unsigned long long offset)

Parameters:

  • const unsigned long long subsequence
  • const unsigned long long offset

Return type: FQUALIFIERS void

References:

Referenced by:

Function operator()

FQUALIFIERS unsigned int operator()()

Return type: FQUALIFIERS unsigned int

References:

Function next

FQUALIFIERS unsigned int next()

Return type: FQUALIFIERS unsigned int

References:

Referenced by:

Protected functions

Function discard_impl

FQUALIFIERS void discard_impl(unsigned long long offset)

Parameters:

  • unsigned long long offset

Return type: FQUALIFIERS void

References:

Referenced by:

Function discard_subsequence_impl

FQUALIFIERS void discard_subsequence_impl(unsigned long long subsequence)

Parameters:

  • unsigned long long subsequence

Return type: FQUALIFIERS void

References:

Referenced by:

Function discard_sequence_impl

FQUALIFIERS void discard_sequence_impl(unsigned long long sequence)

Parameters:

  • unsigned long long sequence

Return type: FQUALIFIERS void

References:

Referenced by:

Function discard_state

FQUALIFIERS void discard_state(unsigned long long offset)

Parameters:

  • unsigned long long offset

Return type: FQUALIFIERS void

References:

Function discard_state

FQUALIFIERS void discard_state()

Return type: FQUALIFIERS void

References:

Referenced by:

Private functions

Function mod_mat_vec_m1

FQUALIFIERS void mod_mat_vec_m1(const unsigned long long `A, unsigned int `s)

Parameters:

const unsigned long long A unsigned int s

Return type: FQUALIFIERS void

Function mod_mat_vec_m2

FQUALIFIERS void mod_mat_vec_m2(const unsigned long long `A, unsigned int `s)

Parameters:

const unsigned long long A unsigned int s

Return type: FQUALIFIERS void

Function mod_mul_m1

FQUALIFIERS unsigned long long mod_mul_m1(unsigned int i, unsigned long long j)

Parameters:

  • unsigned int i
  • unsigned long long j

Return type: FQUALIFIERS unsigned long long

Function mod_m1

FQUALIFIERS unsigned long long mod_m1(unsigned long long p)

Parameters:

  • unsigned long long p

Return type: FQUALIFIERS unsigned long long

Function mod_mul_m2

FQUALIFIERS unsigned long long mod_mul_m2(unsigned int i, unsigned long long j)

Parameters:

  • unsigned int i
  • unsigned long long j

Return type: FQUALIFIERS unsigned long long

Function mod_m2

FQUALIFIERS unsigned long long mod_m2(unsigned long long p)

Parameters:

  • unsigned long long p

Return type: FQUALIFIERS unsigned long long


Class murand_device::mtgp32_engine

Definition: murand\_mtgp32.h (line 130)

Members

Attributes

Member m_state

Definition: murand\_mtgp32.h (line 257)

mtgp32_state m_state

Type: mtgp32_state

Referenced by:

Public functions

Function mtgp32_engine

FQUALIFIERS mtgp32_engine()

Return type: FQUALIFIERS

Function mtgp32_engine

FQUALIFIERS mtgp32_engine(const mtgp32_state m_state, const mtgp32_kernel_params_t *params, int bid)

Parameters:

  • const mtgp32_state m_state const [mtgp32\_kernel\_params\_t](#namespacemurand__device_1a6177c3f368dce333d6bcb65e1add064b) params
  • int bid

Return type: FQUALIFIERS

References:

Function ~mtgp32_engine

FQUALIFIERS ~mtgp32_engine()

Return type: FQUALIFIERS

Function copy

FQUALIFIERS void copy(const mtgp32_engine *m_engine)

Parameters:

const [mtgp32\_engine](#classmurand__device_1_1mtgp32__engine) m_engine

Return type: FQUALIFIERS void

References:

Function set_params

FQUALIFIERS void set_params(mtgp32_kernel_params_t *params)

Parameters:

[mtgp32\_kernel\_params\_t](#namespacemurand__device_1a6177c3f368dce333d6bcb65e1add064b) params

Return type: FQUALIFIERS void

References:

Function operator()

FQUALIFIERS unsigned int operator()()

Return type: FQUALIFIERS unsigned int

References:

Function next

FQUALIFIERS unsigned int next()

Return type: FQUALIFIERS unsigned int

References:

Referenced by:

Function next_single

FQUALIFIERS unsigned int next_single()

Return type: FQUALIFIERS unsigned int

Function para_rec

FQUALIFIERS unsigned int para_rec(mtgp32_kernel_params_t *k, unsigned int X1, unsigned int X2, unsigned int Y, int bid)

Parameters:

[mtgp32\_kernel\_params\_t](#namespacemurand__device_1a6177c3f368dce333d6bcb65e1add064b) k

  • unsigned int X1
  • unsigned int X2
  • unsigned int Y
  • int bid

Return type: FQUALIFIERS unsigned int

References:

Referenced by:

Function temper

FQUALIFIERS unsigned int temper(mtgp32_kernel_params_t *k, unsigned int V, unsigned int T, int bid)

Parameters:

[mtgp32\_kernel\_params\_t](#namespacemurand__device_1a6177c3f368dce333d6bcb65e1add064b) k

  • unsigned int V
  • unsigned int T
  • int bid

Return type: FQUALIFIERS unsigned int

References:

Referenced by:

Function temper_single

FQUALIFIERS unsigned int temper_single(mtgp32_kernel_params_t *k, unsigned int V, unsigned int T, int bid)

Parameters:

[mtgp32\_kernel\_params\_t](#namespacemurand__device_1a6177c3f368dce333d6bcb65e1add064b) k

  • unsigned int V
  • unsigned int T
  • int bid

Return type: FQUALIFIERS unsigned int

References:


Class murand_device::philox4x32_10_engine

Definition: murand\_philox4x32\_10.h (line 63)

Inner classes

Members

Attributes

Member m_state

Definition: murand\_philox4x32\_10.h (line 288)

philox4x32_10_state m_state

Type: philox4x32_10_state

Referenced by:

Friends

Friend detail::engine_boxmuller_helper\< philox4x32_10_engine \>

Definition: murand\_philox4x32\_10.h (line 288)

Public functions

Function philox4x32_10_engine

FQUALIFIERS philox4x32_10_engine()

Return type: FQUALIFIERS

References:

Function philox4x32_10_engine

FQUALIFIERS philox4x32_10_engine(const unsigned long long seed, const unsigned long long subsequence, const unsigned long long offset)

Initializes the internal state of the PRNG using seed value seed, goes to subsequence -th subsequence, and skips offset random numbers.

A subsequence consists of 2 ^ 66 random numbers.

Parameters:

  • const unsigned long long seed
  • const unsigned long long subsequence
  • const unsigned long long offset

Return type: FQUALIFIERS

References:

Function seed

FQUALIFIERS void seed(unsigned long long seed_value, const unsigned long long subsequence, const unsigned long long offset)

Reinitializes the internal state of the PRNG using new seed value seed_value, skips subsequence subsequences and offset random numbers.

A subsequence consists of 2 ^ 66 random numbers.

Parameters:

  • unsigned long long seed_value
  • const unsigned long long subsequence
  • const unsigned long long offset

Return type: FQUALIFIERS void

References:

Referenced by:

Function discard

FQUALIFIERS void discard(unsigned long long offset)

Advances the internal state to skip offset numbers.

Parameters:

  • unsigned long long offset

Return type: FQUALIFIERS void

References:

Function discard_subsequence

FQUALIFIERS void discard_subsequence(unsigned long long subsequence)

Advances the internal state to skip subsequence subsequences, a subsequence consisting of 2 ^ 66 random numbers. In other words, this function is equivalent to calling discard 2 ^ 66 times without using the return value, but is much faster.

Parameters:

  • unsigned long long subsequence

Return type: FQUALIFIERS void

References:

Function restart

FQUALIFIERS void restart(const unsigned long long subsequence, const unsigned long long offset)

Parameters:

  • const unsigned long long subsequence
  • const unsigned long long offset

Return type: FQUALIFIERS void

References:

Referenced by:

Function operator()

FQUALIFIERS unsigned int operator()()

Return type: FQUALIFIERS unsigned int

References:

Function next

FQUALIFIERS unsigned int next()

Return type: FQUALIFIERS unsigned int

References:

Referenced by:

Function next4

FQUALIFIERS uint4 next4()

Return type: FQUALIFIERS uint4

References:

Protected functions

Function discard_impl

FQUALIFIERS void discard_impl(unsigned long long offset)

Parameters:

  • unsigned long long offset

Return type: FQUALIFIERS void

References:

Referenced by:

Function discard_subsequence_impl

FQUALIFIERS void discard_subsequence_impl(unsigned long long subsequence)

Parameters:

  • unsigned long long subsequence

Return type: FQUALIFIERS void

References:

Referenced by:

Function discard_state

FQUALIFIERS void discard_state(unsigned long long offset)

Parameters:

  • unsigned long long offset

Return type: FQUALIFIERS void

References:

Function discard_state

FQUALIFIERS void discard_state()

Return type: FQUALIFIERS void

References:

Referenced by:

Function interleave

FQUALIFIERS uint4 interleave(const uint4 prev, const uint4 next) const

Parameters:

  • const uint4 prev
  • const uint4 next

Return type: FQUALIFIERS uint4

References:

Referenced by:

Function ten_rounds

FQUALIFIERS uint4 ten_rounds(uint4 counter, uint2 key)

Parameters:

  • uint4 counter
  • uint2 key

Return type: FQUALIFIERS uint4

Referenced by:

Protected static functions

Function bump_counter

![][static]

static FQUALIFIERS uint4 bump_counter(uint4 counter)

Parameters:

  • uint4 counter

Return type: FQUALIFIERS uint4

Referenced by:

Private functions

Function single_round

FQUALIFIERS uint4 single_round(uint4 counter, uint2 key)

Parameters:

  • uint4 counter
  • uint2 key

Return type: FQUALIFIERS uint4

Function bumpkey

FQUALIFIERS uint2 bumpkey(uint2 key)

Parameters:

  • uint2 key

Return type: FQUALIFIERS uint2


Class murand_device::scrambled_sobol32_engine

Definition: murand\_scrambled\_sobol32.h (line 36)

Template parameters:

  • UseSharedVectorsbool UseSharedVectors

Members

Attributes

Member m_engine

Definition: murand\_scrambled\_sobol32.h (line 77)

sobol32_engine<UseSharedVectors> m_engine

Type: sobol32_engine< UseSharedVectors >

Referenced by:

Member scramble_constant

Definition: murand\_scrambled\_sobol32.h (line 79)

unsigned int scramble_constant

Type: unsigned int

Referenced by:

Public functions

Function scrambled_sobol32_engine

FQUALIFIERS scrambled_sobol32_engine()

Return type: FQUALIFIERS

Function scrambled_sobol32_engine

FQUALIFIERS scrambled_sobol32_engine(const unsigned int *vectors, const unsigned int scramble_constant, const unsigned int offset)

Parameters:

const unsigned int vectors

  • const unsigned int scramble_constant
  • const unsigned int offset

Return type: FQUALIFIERS

References:

Function discard

FQUALIFIERS void discard(unsigned int offset)

Advances the internal state to skip offset numbers.

Parameters:

  • unsigned int offset

Return type: FQUALIFIERS void

References:

Function discard

FQUALIFIERS void discard()

Return type: FQUALIFIERS void

References:

Referenced by:

Function discard_stride

FQUALIFIERS void discard_stride(unsigned int stride)

Advances the internal state by stride times, where stride is power of 2.

Parameters:

  • unsigned int stride

Return type: FQUALIFIERS void

References:

Function operator()

FQUALIFIERS unsigned int operator()()

Return type: FQUALIFIERS unsigned int

References:

Function next

FQUALIFIERS unsigned int next()

Return type: FQUALIFIERS unsigned int

References:

Referenced by:

Function current

FQUALIFIERS unsigned int current()

Return type: FQUALIFIERS unsigned int

References:


Class murand_device::scrambled_sobol64_engine

Definition: murand\_scrambled\_sobol64.h (line 36)

Template parameters:

  • UseSharedVectorsbool UseSharedVectors

Members

Attributes

Member m_engine

Definition: murand\_scrambled\_sobol64.h (line 79)

sobol64_engine<UseSharedVectors> m_engine

Type: sobol64_engine< UseSharedVectors >

Referenced by:

Member scramble_constant

Definition: murand\_scrambled\_sobol64.h (line 81)

unsigned long long int scramble_constant

Type: unsigned long long int

Referenced by:

Public functions

Function scrambled_sobol64_engine

FQUALIFIERS scrambled_sobol64_engine()

Return type: FQUALIFIERS

Function scrambled_sobol64_engine

FQUALIFIERS scrambled_sobol64_engine(const unsigned long long int *vectors, const unsigned long long int scramble_constant, const unsigned int offset)

Parameters:

const unsigned long long int vectors

  • const unsigned long long int scramble_constant
  • const unsigned int offset

Return type: FQUALIFIERS

References:

Function discard

FQUALIFIERS void discard(unsigned long long int offset)

Advances the internal state to skip offset numbers.

Parameters:

  • unsigned long long int offset

Return type: FQUALIFIERS void

References:

Function discard

FQUALIFIERS void discard()

Return type: FQUALIFIERS void

References:

Referenced by:

Function discard_stride

FQUALIFIERS void discard_stride(unsigned long long int stride)

Advances the internal state by stride times, where stride is power of 2.

Parameters:

  • unsigned long long int stride

Return type: FQUALIFIERS void

References:

Function operator()

FQUALIFIERS unsigned long long int operator()()

Return type: FQUALIFIERS unsigned long long int

References:

Function next

FQUALIFIERS unsigned long long int next()

Return type: FQUALIFIERS unsigned long long int

References:

Referenced by:

Function current

FQUALIFIERS unsigned long long int current()

Return type: FQUALIFIERS unsigned long long int

References:


Class murand_device::sobol32_engine

Definition: murand\_sobol32.h (line 67)

Template parameters:

  • UseSharedVectorsbool UseSharedVectors

Members

Public types

Typedef sobol32_state

Definition: murand\_sobol32.h (line 69)

typedef struct sobol32_state< UseSharedVectors > sobol32_state

Return type: struct sobol32_state< UseSharedVectors >

Attributes

Member m_state

Definition: murand\_sobol32.h (line 164)

sobol32_state m_state

Type: sobol32_state

Referenced by:

Public functions

Function sobol32_engine

FQUALIFIERS sobol32_engine()

Return type: FQUALIFIERS

Function sobol32_engine

FQUALIFIERS sobol32_engine(const unsigned int *vectors, const unsigned int offset)

Parameters:

const unsigned int vectors

  • const unsigned int offset

Return type: FQUALIFIERS

References:

Function discard

FQUALIFIERS void discard(unsigned int offset)

Advances the internal state to skip offset numbers.

Parameters:

  • unsigned int offset

Return type: FQUALIFIERS void

References:

Function discard

FQUALIFIERS void discard()

Return type: FQUALIFIERS void

References:

Function discard_stride

FQUALIFIERS void discard_stride(unsigned int stride)

Advances the internal state by stride times, where stride is power of 2.

Parameters:

  • unsigned int stride

Return type: FQUALIFIERS void

References:

Function operator()

FQUALIFIERS unsigned int operator()()

Return type: FQUALIFIERS unsigned int

References:

Function next

FQUALIFIERS unsigned int next()

Return type: FQUALIFIERS unsigned int

References:

Referenced by:

Function current

FQUALIFIERS unsigned int current()

Return type: FQUALIFIERS unsigned int

References:

Protected functions

Function discard_state

FQUALIFIERS void discard_state(unsigned int offset)

Parameters:

  • unsigned int offset

Return type: FQUALIFIERS void

References:

Function discard_state

FQUALIFIERS void discard_state()

Return type: FQUALIFIERS void

References:

Referenced by:

Function discard_state_power2

FQUALIFIERS void discard_state_power2(unsigned int stride)

Parameters:

  • unsigned int stride

Return type: FQUALIFIERS void

References:

Referenced by:

Function rightmost_zero_bit

FQUALIFIERS unsigned int rightmost_zero_bit(unsigned int x)

Parameters:

  • unsigned int x

Return type: FQUALIFIERS unsigned int

Referenced by:


Class murand_device::sobol64_engine

Definition: murand\_sobol64.h (line 67)

Template parameters:

  • UseSharedVectorsbool UseSharedVectors

Members

Public types

Typedef sobol64_state

Definition: murand\_sobol64.h (line 69)

typedef struct sobol64_state< UseSharedVectors > sobol64_state

Return type: struct sobol64_state< UseSharedVectors >

Attributes

Member m_state

Definition: murand\_sobol64.h (line 169)

sobol64_state m_state

Type: sobol64_state

Referenced by:

Public functions

Function sobol64_engine

FQUALIFIERS sobol64_engine()

Return type: FQUALIFIERS

Function sobol64_engine

FQUALIFIERS sobol64_engine(const unsigned long long int *vectors, const unsigned long long int offset)

Parameters:

const unsigned long long int vectors

  • const unsigned long long int offset

Return type: FQUALIFIERS

References:

Function discard

FQUALIFIERS void discard(unsigned long long int offset)

Advances the internal state to skip offset numbers.

Parameters:

  • unsigned long long int offset

Return type: FQUALIFIERS void

References:

Function discard

FQUALIFIERS void discard()

Return type: FQUALIFIERS void

References:

Function discard_stride

FQUALIFIERS void discard_stride(unsigned long long int stride)

Advances the internal state by stride times, where stride is power of 2.

Parameters:

  • unsigned long long int stride

Return type: FQUALIFIERS void

References:

Function operator()

FQUALIFIERS unsigned long long int operator()()

Return type: FQUALIFIERS unsigned long long int

References:

Function next

FQUALIFIERS unsigned long long int next()

Return type: FQUALIFIERS unsigned long long int

References:

Referenced by:

Function current

FQUALIFIERS unsigned long long int current()

Return type: FQUALIFIERS unsigned long long int

References:

Protected functions

Function discard_state

FQUALIFIERS void discard_state(unsigned long long int offset)

Parameters:

  • unsigned long long int offset

Return type: FQUALIFIERS void

References:

Function discard_state

FQUALIFIERS void discard_state()

Return type: FQUALIFIERS void

References:

Referenced by:

Function discard_state_power2

FQUALIFIERS void discard_state_power2(unsigned long long int stride)

Parameters:

  • unsigned long long int stride

Return type: FQUALIFIERS void

References:

Referenced by:

Function rightmost_zero_bit

FQUALIFIERS unsigned int rightmost_zero_bit(unsigned long long int x)

Parameters:

  • unsigned long long int x

Return type: FQUALIFIERS unsigned int

Referenced by:


Class murand_device::xorwow_engine

Definition: murand\_xorwow.h (line 83)

Inner classes

Members

Attributes

Member m_state

Definition: murand\_xorwow.h (line 224)

xorwow_state m_state

Type: xorwow_state

Referenced by:

Friends

Friend detail::engine_boxmuller_helper\< xorwow_engine \>

Definition: murand\_xorwow.h (line 224)

Public functions

Function xorwow_engine

FQUALIFIERS xorwow_engine()

Return type: FQUALIFIERS

Function xorwow_engine

FQUALIFIERS xorwow_engine(const unsigned long long seed, const unsigned long long subsequence, const unsigned long long offset)

Initializes the internal state of the PRNG using seed value seed, goes to subsequence -th subsequence, and skips offset random numbers.

A subsequence is 2^67 numbers long.

Parameters:

  • const unsigned long long seed
  • const unsigned long long subsequence
  • const unsigned long long offset

Return type: FQUALIFIERS

References:

Function discard

FQUALIFIERS void discard(unsigned long long offset)

Advances the internal state to skip offset numbers.

Parameters:

  • unsigned long long offset

Return type: FQUALIFIERS void

References:

Referenced by:

Function discard_subsequence

FQUALIFIERS void discard_subsequence(unsigned long long subsequence)

Advances the internal state to skip subsequence subsequences. A subsequence is 2^67 numbers long.

Parameters:

  • unsigned long long subsequence

Return type: FQUALIFIERS void

References:

Referenced by:

Function operator()

FQUALIFIERS unsigned int operator()()

Return type: FQUALIFIERS unsigned int

References:

Function next

FQUALIFIERS unsigned int next()

Return type: FQUALIFIERS unsigned int

References:

Referenced by:

Protected functions

Function jump

FQUALIFIERS void jump(unsigned long long v, const unsigned int jump_matrices[XORWOW_JUMP_MATRICES][XORWOW_SIZE])

Parameters:

  • unsigned long long v
  • const unsigned int jump_matrices

Return type: FQUALIFIERS void

References:

Referenced by:


File murand_discrete.h

Location: murand\_discrete.h

Namespaces

Includes

Macros

Functions

Function murand_discrete

Function murand_discrete4

Function murand_discrete

Function murand_discrete

Function murand_discrete

Function murand_discrete

Function murand_discrete

Function murand_discrete

Function murand_discrete


File murand_log_normal.h

Location: murand\_log\_normal.h

Includes

Macros

Functions

Function murand_log_normal

Function murand_log_normal2

Function murand_log_normal4

Function murand_log_normal_double

Function murand_log_normal2_double

Function murand_log_normal4_double

Function murand_log_normal

Function murand_log_normal2

Function murand_log_normal_double

Function murand_log_normal2_double

Function murand_log_normal

Function murand_log_normal2

Function murand_log_normal_double

Function murand_log_normal2_double

Function murand_log_normal

Function murand_log_normal_double

Function murand_log_normal

Function murand_log_normal_double

Function murand_log_normal

Function murand_log_normal_double

Function murand_log_normal

Function murand_log_normal_double

Function murand_log_normal

Function murand_log_normal_double


File murand_mrg32k3a.h

Location: murand\_mrg32k3a.h

Classes

Namespaces

Includes

  • murand_common.h
  • murand_mrg32k3a_precomputed.h

Included by

Macros

Macro MURAND_MRG32K3A_POW32

#define MURAND_MRG32K3A_POW32 4294967296

Macro MURAND_MRG32K3A_M1

#define MURAND_MRG32K3A_M1 4294967087

Macro MURAND_MRG32K3A_M1C

#define MURAND_MRG32K3A_M1C 209

Macro MURAND_MRG32K3A_M2

#define MURAND_MRG32K3A_M2 4294944443

Macro MURAND_MRG32K3A_M2C

#define MURAND_MRG32K3A_M2C 22853

Macro MURAND_MRG32K3A_A12

#define MURAND_MRG32K3A_A12 1403580

Macro MURAND_MRG32K3A_A13

#define MURAND_MRG32K3A_A13 (4294967087 - 810728)

Macro MURAND_MRG32K3A_A13N

#define MURAND_MRG32K3A_A13N 810728

Macro MURAND_MRG32K3A_A21

#define MURAND_MRG32K3A_A21 527612

Macro MURAND_MRG32K3A_A23

#define MURAND_MRG32K3A_A23 (4294944443 - 1370589)

Macro MURAND_MRG32K3A_A23N

#define MURAND_MRG32K3A_A23N 1370589

Macro MURAND_MRG32K3A_NORM_DOUBLE

#define MURAND_MRG32K3A_NORM_DOUBLE (2.3283065498378288e-10)

Macro MURAND_MRG32K3A_UINT_NORM

#define MURAND_MRG32K3A_UINT_NORM (1.000000048661607)

Macro MURAND_MRG32K3A_DEFAULT_SEED

#define MURAND_MRG32K3A_DEFAULT_SEED

Functions

Function murand_init

Function murand

Function skipahead

Function skipahead_subsequence

Function skipahead_sequence


File murand_mtgp32.h

Location: murand\_mtgp32.h

Classes

Namespaces

Includes

  • <stdlib.h>
  • murand.h
  • murand_common.h
  • musa.h
  • <stdio.h>

Included by

Macros

Macro MTGP_MEXP

#define MTGP_MEXP 11213

Macro MTGP_N

#define MTGP_N 351

Macro MTGP_FLOOR_2P

#define MTGP_FLOOR_2P 256

Macro MTGP_CEIL_2P

#define MTGP_CEIL_2P 512

Macro MTGP_TN

#define MTGP_TN [MTGP\_FLOOR\_2P](#murand__mtgp32_8h_1ae1ed6237480db3b8978e8c59db64a823)

Macro MTGP_LS

#define MTGP_LS ([MTGP\_TN](#murand__mtgp32_8h_1afec06a93335150763ecf5997518ca0db) * 3)

Macro MTGP_BN_MAX

#define MTGP_BN_MAX 512

Macro MTGP_TS

#define MTGP_TS 16

Macro MTGP_STATE

#define MTGP_STATE 1024

Macro MTGP_MASK

#define MTGP_MASK 1023

Functions

Function murand

FQUALIFIERS unsigned int murand(murandStateMtgp32_t *state)

Returns uniformly distributed random unsigned int value from [0; 2^32 - 1] range.

Generates and returns uniformly distributed random unsigned int value from [0; 2^32 - 1] range using MTGP32 generator in state. State is incremented by one position.

Parameters:

  • state: - Pointer to a state to use

Returns:

Pseudorandom value (32-bit) as an unsigned int

Parameters:

murandStateMtgp32_t state

Return type: FQUALIFIERS unsigned int

References:

Function murandMTGP32BlockCopy

FQUALIFIERS void murandMTGP32BlockCopy(murandStateMtgp32_t `src, murandStateMtgp32_t `dest)

Parameters:

murandStateMtgp32_t src murandStateMtgp32_t dest

Return type: FQUALIFIERS void

Function murandMTGP32SetParams

FQUALIFIERS void murandMTGP32SetParams(murandStateMtgp32_t `state, mtgp32_kernel_params_t `params)

Changes parameters of a MTGP32 state.

Parameters:

  • state: - Pointer to a MTGP32 state
  • params: - Pointer to new parameters

Parameters:

murandStateMtgp32_t state mtgp32_kernel_params_t params

Return type: FQUALIFIERS void

Function murand_mtgp32_specific

FQUALIFIERS unsigned int murand_mtgp32_specific(murandStateMtgp32_t *state, unsigned char index, unsigned char n)

Return 32-bits of pseudorandomness from a specific position in a mtgp32 generator.

Return 32-bits of pseudorandomness from position index of the mtgp32 generator in state, increment position of generator by n positions, which must be the total number of positions upddated in the state by the thread block, for this invocation.

Note : Thread indices must range from 0... n - 1. The number of positions updated may not exceed 256. A thread block may update more than one state, but a given state may not be updated by more than one thread block.

Parameters:

  • state: - Pointer to state to update
  • index: - Index (0..255) of the position within the state to draw from and update
  • n: - The total number of postions in this state that are being updated by this invocation

Returns:

32-bits of pseudorandomness as an unsigned int, all bits valid to use.

Parameters:

murandStateMtgp32_t state

  • unsigned char index
  • unsigned char n

Return type: FQUALIFIERS unsigned int

References:

Function murand_mtgp32_single

FQUALIFIERS float murand_mtgp32_single(murandStateMtgp32_t *state)

Return a uniformly distributed float from a mtgp32 generator.

Return a uniformly distributed float between 0.0f and 1.0f from the mtgp32 generator in state, increment position of generator. Output range excludes 0.0f but includes 1.0f. Denormalized floating point outputs are never returned.

Note: This alternate derivation of a uniform float is provided for completeness with the original source

Parameters:

  • state: - Pointer to state to update

Returns:

uniformly distributed float between 0.0f and 1.0f

Parameters:

murandStateMtgp32_t state

Return type: FQUALIFIERS float

References:

Function murand_mtgp32_single_specific

FQUALIFIERS float murand_mtgp32_single_specific(murandStateMtgp32_t *state, unsigned char index, unsigned char n)

Return a uniformly distributed float from a specific position in a mtgp32 generator.

Return a uniformly distributed float between 0.0f and 1.0f from position index of the mtgp32 generator in state, and increment position of generator by n positions, which must be the total number of positions upddated in the state by the thread block, for this invocation. Output range excludes 0.0f but includes 1.0f. Denormalized floating point outputs are never returned.

Note 1: Thread indices must range from 0...n - 1. The number of positions updated may not exceed 256. A thread block may update more than one state, but a given state may not be updated by more than one thread block.

Note 2: This alternate derivation of a uniform float is provided for completeness with the original source

Parameters:

  • state: - Pointer to state to update
  • index: - Index (0..255) of the position within the state to draw from and update
  • n: - The total number of postions in this state that are being updated by this invocation

Returns:

uniformly distributed float between 0.0f and 1.0f

Parameters:

murandStateMtgp32_t state

  • unsigned char index
  • unsigned char n

Return type: FQUALIFIERS float

References:


File murand_normal.h

Location: murand\_normal.h

Namespaces

Includes

Included by

Macros

Functions

Function murand_normal

Function murand_normal2

Function murand_normal4

Function murand_normal_double

Function murand_normal2_double

Function murand_normal4_double

Function murand_normal

Function murand_normal2

Function murand_normal_double

Function murand_normal2_double

Function murand_normal

Function murand_normal2

Function murand_normal_double

Function murand_normal2_double

Function murand_normal

Function murand_normal_double

Function murand_normal

Function murand_normal_double

Function murand_normal

Function murand_normal_double

Function murand_normal

Function murand_normal_double

Function murand_normal

Function murand_normal_double


File murand_philox4x32_10.h

Location: murand\_philox4x32\_10.h

Classes

Namespaces

Includes

  • murand_common.h

Included by

Macros

Macro MURAND_PHILOX_M4x32_0

#define MURAND_PHILOX_M4x32_0 0xD2511F53U

Macro MURAND_PHILOX_M4x32_1

#define MURAND_PHILOX_M4x32_1 0xCD9E8D57U

Macro MURAND_PHILOX_W32_0

#define MURAND_PHILOX_W32_0 0x9E3779B9U

Macro MURAND_PHILOX_W32_1

#define MURAND_PHILOX_W32_1 0xBB67AE85U

Macro MURAND_PHILOX4x32_DEFAULT_SEED

#define MURAND_PHILOX4x32_DEFAULT_SEED

Functions

Function murand_init

Function murand

Function murand4

Function skipahead

Function skipahead_subsequence

Function skipahead_sequence


File murand_poisson.h

Location: murand\_poisson.h

Namespaces

Includes

Macros

Functions

Function murand_poisson

Function murand_poisson4

Function murand_poisson

Function murand_poisson

Function murand_poisson

Function murand_poisson

Function murand_poisson

Function murand_poisson

Function murand_poisson


File murand_scrambled_sobol32.h

Location: murand\_scrambled\_sobol32.h

Classes

Namespaces

Includes

Included by

Macros

Functions

Function murand_init

Function murand

Function skipahead


File murand_scrambled_sobol64.h

Location: murand\_scrambled\_sobol64.h

Classes

Namespaces

Includes

Included by

Macros

Functions

Function murand_init

Function murand

Function skipahead


File murand_sobol32.h

Location: murand\_sobol32.h

Classes

Namespaces

Includes

  • murand_common.h

Included by

Macros

Functions

Function murand_init

Function murand

Function skipahead


File murand_sobol64.h

Location: murand\_sobol64.h

Classes

Namespaces

Includes

  • murand_common.h

Included by

Macros

Functions

Function murand_init

Function murand

Function skipahead


File murand_uniform.h

Location: murand\_uniform.h

Classes

Namespaces

Includes

Included by

Macros

Functions

Function murand_uniform

Function murand_uniform2

Function murand_uniform4

Function murand_uniform_double

Function murand_uniform2_double

Function murand_uniform4_double

Function murand_uniform

Function murand_uniform_double

Function murand_uniform

Function murand_uniform_double

Function murand_uniform

Function murand_uniform_double

Function murand_uniform

Function murand_uniform_double

Function murand_uniform

Function murand_uniform_double

Function murand_uniform

Function murand_uniform_double

Function murand_uniform

Function murand_uniform_double


File murand_xorwow.h

Location: murand\_xorwow.h

Classes

Namespaces

Includes

  • murand_common.h
  • murand_xorwow_precomputed.h

Included by

Macros

Macro MURAND_XORWOW_DEFAULT_SEED

#define MURAND_XORWOW_DEFAULT_SEED

Functions

Function murand_init

Function murand

Function skipahead

Function skipahead_subsequence

Function skipahead_sequence


Namespace murand_device::detail

Definition: murand\_discrete.h (line 57)

Classes

Variables

Member lambda_threshold_small

Definition: murand\_poisson.h (line 53)

constexpr double lambda_threshold_small = 64.0

Type: constexpr double

Referenced by:

Member lambda_threshold_huge

Definition: murand\_poisson.h (line 54)

constexpr double lambda_threshold_huge = 4000.0

Type: constexpr double

Referenced by:

Functions

Function discrete_alias

FQUALIFIERS unsigned int discrete_alias(const double x, const murandDiscreteDistribution_st &dis)

Parameters:

Return type: FQUALIFIERS unsigned int

Referenced by:

Function discrete_alias

FQUALIFIERS unsigned int discrete_alias(const unsigned int r, const murandDiscreteDistribution_st &dis)

Parameters:

Return type: FQUALIFIERS unsigned int

References:

Function discrete_alias

FQUALIFIERS unsigned int discrete_alias(const unsigned long r, const murandDiscreteDistribution_st &dis)

Parameters:

Return type: FQUALIFIERS unsigned int

References:

Function discrete_alias

FQUALIFIERS unsigned int discrete_alias(const unsigned long long int r, const murandDiscreteDistribution_st &dis)

Parameters:

Return type: FQUALIFIERS unsigned int

References:

Function discrete_cdf

FQUALIFIERS unsigned int discrete_cdf(const double x, const murandDiscreteDistribution_st &dis)

Parameters:

Return type: FQUALIFIERS unsigned int

Referenced by:

Function discrete_cdf

FQUALIFIERS unsigned int discrete_cdf(const unsigned int r, const murandDiscreteDistribution_st &dis)

Parameters:

Return type: FQUALIFIERS unsigned int

References:

Function discrete_cdf

FQUALIFIERS unsigned int discrete_cdf(const unsigned long r, const murandDiscreteDistribution_st &dis)

Parameters:

Return type: FQUALIFIERS unsigned int

References:

Function discrete_cdf

FQUALIFIERS unsigned int discrete_cdf(const unsigned long long int r, const murandDiscreteDistribution_st &dis)

Parameters:

Return type: FQUALIFIERS unsigned int

References:

Function box_muller

FQUALIFIERS float2 box_muller(unsigned int x, unsigned int y)

Parameters:

Return type: FQUALIFIERS float2

References:

Referenced by:

Function box_muller

FQUALIFIERS float2 box_muller(unsigned long long v)

Parameters:

Return type: FQUALIFIERS float2

References:

Function box_muller_double

FQUALIFIERS double2 box_muller_double(uint4 v)

Parameters:

Return type: FQUALIFIERS double2

References:

Referenced by:

Function box_muller_double

FQUALIFIERS double2 box_muller_double(ulonglong2 v)

Parameters:

Return type: FQUALIFIERS double2

References:

Function mrg_box_muller

FQUALIFIERS float2 mrg_box_muller(unsigned int x, unsigned int y)

Parameters:

Return type: FQUALIFIERS float2

References:

Function mrg_box_muller_double

FQUALIFIERS double2 mrg_box_muller_double(unsigned int x, unsigned int y)

Parameters:

Return type: FQUALIFIERS double2

References:

Function mu_f_erfinv

FQUALIFIERS float mu_f_erfinv(float x)

Parameters:

Return type: FQUALIFIERS float

References:

Referenced by:

Function mu_d_erfinv

FQUALIFIERS double mu_d_erfinv(double x)

Parameters:

Return type: FQUALIFIERS double

References:

Referenced by:

Function normal_distribution

FQUALIFIERS float normal_distribution(unsigned int x)

Parameters:

Return type: FQUALIFIERS float

References:

Referenced by:

Function normal_distribution

FQUALIFIERS float normal_distribution(unsigned long long int x)

Parameters:

Return type: FQUALIFIERS float

References:

Function normal_distribution2

FQUALIFIERS float2 normal_distribution2(unsigned int v1, unsigned int v2)

Parameters:

Return type: FQUALIFIERS float2

References:

Referenced by:

Function normal_distribution2

FQUALIFIERS float2 normal_distribution2(uint2 v)

Parameters:

Return type: FQUALIFIERS float2

Function normal_distribution2

FQUALIFIERS float2 normal_distribution2(unsigned long long v)

Parameters:

Return type: FQUALIFIERS float2

Function normal_distribution4

FQUALIFIERS float4 normal_distribution4(uint4 v)

Parameters:

Return type: FQUALIFIERS float4

References:

Referenced by:

Function normal_distribution4

FQUALIFIERS float4 normal_distribution4(longlong2 v)

Parameters:

Return type: FQUALIFIERS float4

References:

Function normal_distribution4

FQUALIFIERS float4 normal_distribution4(unsigned long long v1, unsigned long long v2)

Parameters:

Return type: FQUALIFIERS float4

References:

Function normal_distribution_double

FQUALIFIERS double normal_distribution_double(unsigned int x)

Parameters:

Return type: FQUALIFIERS double

References:

Referenced by:

Function normal_distribution_double

FQUALIFIERS double normal_distribution_double(unsigned long long int x)

Parameters:

Return type: FQUALIFIERS double

References:

Function normal_distribution2_double

FQUALIFIERS double2 normal_distribution2_double(uint4 v)

Parameters:

Return type: FQUALIFIERS double2

Referenced by:

Function normal_distribution2_double

FQUALIFIERS double2 normal_distribution2_double(ulonglong2 v)

Parameters:

Return type: FQUALIFIERS double2

Function mrg_normal_distribution2

FQUALIFIERS float2 mrg_normal_distribution2(unsigned int v1, unsigned int v2)

Parameters:

  • unsigned int v1
  • unsigned int v2

Return type: FQUALIFIERS float2

References:

Referenced by:

Function mrg_normal_distribution2_double

FQUALIFIERS double2 mrg_normal_distribution2_double(unsigned int v1, unsigned int v2)

Parameters:

Return type: FQUALIFIERS double2

References:

Referenced by:

Function mulhilo32

FQUALIFIERS unsigned int mulhilo32(unsigned int x, unsigned int y, unsigned int &z)

Parameters:

Return type: FQUALIFIERS unsigned int

References:

Function poisson_distribution_small

FQUALIFIERS Result_Type poisson_distribution_small(State &state, double lambda)

Parameters:

Return type: FQUALIFIERS Result_Type

References:

Function lgamma_approx

FQUALIFIERS double lgamma_approx(const double x)

Parameters:

Return type: FQUALIFIERS double

References:

Referenced by:

Function poisson_distribution_large

FQUALIFIERS Result_Type poisson_distribution_large(State &state, double lambda)

Parameters:

Return type: FQUALIFIERS Result_Type

References:

Function poisson_distribution_huge

FQUALIFIERS Result_Type poisson_distribution_huge(State &state, double lambda)

Parameters:

Return type: FQUALIFIERS Result_Type

References:

Function poisson_distribution

FQUALIFIERS Result_Type poisson_distribution(State &state, double lambda)

Parameters:

Return type: FQUALIFIERS Result_Type

References:

Referenced by:

Function poisson_distribution_itr

FQUALIFIERS Result_Type poisson_distribution_itr(State &state, double lambda)

Parameters:

Return type: FQUALIFIERS Result_Type

References:

Function poisson_distribution_inv

FQUALIFIERS Result_Type poisson_distribution_inv(State &state, double lambda)

Parameters:

Return type: FQUALIFIERS Result_Type

References:

Referenced by:

Function uniform_distribution

FQUALIFIERS float uniform_distribution(unsigned int v)

Parameters:

Return type: FQUALIFIERS float

References:

Referenced by:

Function uniform_distribution

FQUALIFIERS float uniform_distribution(unsigned long long int v)

Parameters:

Return type: FQUALIFIERS float

References:

Function uniform_distribution4

FQUALIFIERS float4 uniform_distribution4(uint4 v)

Parameters:

Return type: FQUALIFIERS float4

References:

Referenced by:

Function uniform_distribution4

FQUALIFIERS float4 uniform_distribution4(ulonglong4 v)

Parameters:

Return type: FQUALIFIERS float4

References:

Function uniform_distribution_double

FQUALIFIERS double uniform_distribution_double(unsigned int v)

Parameters:

Return type: FQUALIFIERS double

References:

Referenced by:

Function uniform_distribution_double

FQUALIFIERS double uniform_distribution_double(unsigned int v1, unsigned int v2)

Parameters:

Return type: FQUALIFIERS double

References:

Function uniform_distribution_double

FQUALIFIERS double uniform_distribution_double(unsigned long long int v)

Parameters:

Return type: FQUALIFIERS double

References:

Function uniform_distribution2_double

FQUALIFIERS double2 uniform_distribution2_double(uint4 v)

Parameters:

Return type: FQUALIFIERS double2

References:

Referenced by:

Function uniform_distribution4_double

FQUALIFIERS double4 uniform_distribution4_double(uint4 v1, uint4 v2)

Parameters:

Return type: FQUALIFIERS double4

References:

Referenced by:

Function uniform_distribution2_double

FQUALIFIERS double2 uniform_distribution2_double(ulonglong2 v)

Parameters:

Return type: FQUALIFIERS double2

References:

Function uniform_distribution2_double

FQUALIFIERS double2 uniform_distribution2_double(ulonglong4 v)

Parameters:

Return type: FQUALIFIERS double2

References:

Function uniform_distribution4_double

FQUALIFIERS double4 uniform_distribution4_double(ulonglong4 v)

Parameters:

Return type: FQUALIFIERS double4

References:

Function mrg_uniform_distribution_uint

FQUALIFIERS unsigned int mrg_uniform_distribution_uint(unsigned int v)=delete

Parameters:

Return type: FQUALIFIERS unsigned int

Function mrg_uniform_distribution_uint\< murandStateMRG32k3a_t \>

FQUALIFIERS unsigned int mrg_uniform_distribution_uint< murandStateMRG32k3a_t >(unsigned int v)

Parameters:

Return type: FQUALIFIERS unsigned int

References:

Function mrg_uniform_distribution

FQUALIFIERS float mrg_uniform_distribution(unsigned int v)=delete

Parameters:

Return type: FQUALIFIERS float

Function mrg_uniform_distribution\< murandStateMRG32k3a_t \>

FQUALIFIERS float mrg_uniform_distribution< murandStateMRG32k3a_t >(unsigned int v)

Parameters:

Return type: FQUALIFIERS float

References:

Referenced by:

Function mrg_uniform_distribution_double

FQUALIFIERS double mrg_uniform_distribution_double(unsigned int v)=delete

Parameters:

Return type: FQUALIFIERS double

Referenced by:

Function mrg_uniform_distribution_double\< murandStateMRG32k3a_t \>

FQUALIFIERS double mrg_uniform_distribution_double< murandStateMRG32k3a_t >(unsigned int v)

Parameters:

Return type: FQUALIFIERS double

References:

Function copy_vec

FQUALIFIERS void copy_vec(unsigned int `dst, const unsigned int `src)

Parameters:

[unsigned](#namespacemurand__device_1_1detail_1af467985bc29f537fcfbac152a53c3e91) [int](#namespacemurand__device_1_1detail_1af467985bc29f537fcfbac152a53c3e91) dst [const](#namespacemurand__device_1_1detail_1af467985bc29f537fcfbac152a53c3e91) [unsigned](#namespacemurand__device_1_1detail_1af467985bc29f537fcfbac152a53c3e91) [int](#namespacemurand__device_1_1detail_1af467985bc29f537fcfbac152a53c3e91) src

Return type: FQUALIFIERS void

References:

Referenced by:

Function mul_mat_vec_inplace

FQUALIFIERS void mul_mat_vec_inplace(const unsigned int `m, unsigned int `v)

Parameters:

[const](#namespacemurand__device_1_1detail_1af467985bc29f537fcfbac152a53c3e91) [unsigned](#namespacemurand__device_1_1detail_1af467985bc29f537fcfbac152a53c3e91) [int](#namespacemurand__device_1_1detail_1af467985bc29f537fcfbac152a53c3e91) m [unsigned](#namespacemurand__device_1_1detail_1af467985bc29f537fcfbac152a53c3e91) [int](#namespacemurand__device_1_1detail_1af467985bc29f537fcfbac152a53c3e91) v

Return type: FQUALIFIERS void

References:

Referenced by:


Namespace murand_device

Definition: murand\_discrete.h (line 56)

Child namespaces

Classes

Typedefs

Typedef mtgp32_kernel_params_t

Definition: murand\_mtgp32.h (line 98)

typedef mtgp32_params mtgp32_kernel_params_t

Return type: mtgp32_params

Typedef mtgp32_fast_params

Definition: murand\_mtgp32.h (line 99)

typedef mtgp32_params_fast_t mtgp32_fast_params

Return type: mtgp32_params_fast_t

Functions

Function murand_mtgp32_init_state

void murand_mtgp32_init_state(unsigned int array[], const mtgp32_params_fast_t *para, unsigned int seed)

Parameters:

  • unsigned int array const [mtgp32\_params\_fast\_t](#structmtgp32__params__fast__t) para
  • unsigned int seed

Return type: void

References:


Structure mtgp32_params_fast_t

Definition: murand\_mtgp32.h (line 70)

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.

Members

Attributes

Member mexp

Definition: murand\_mtgp32.h (line 71)

int mexp

Mersenne exponent. This is redundant.

Type: int

Referenced by:

Member pos

Definition: murand\_mtgp32.h (line 72)

int pos

pick up position.

Type: int

Member sh1

Definition: murand\_mtgp32.h (line 73)

int sh1

Shift value 1. 0 < sh1 < 32.

Type: int

Member sh2

Definition: murand\_mtgp32.h (line 74)

int sh2

Shift value 2. 0 < sh2 < 32.

Type: int

Member tbl

Definition: murand\_mtgp32.h (line 75)

uint32_t tbl[16][16]

A small matrix.

Type: uint32_t

Referenced by:

Member tmp_tbl

Definition: murand\_mtgp32.h (line 76)

uint32_t tmp_tbl[16][16]

A small matrix for tempering.

Type: uint32_t

Member flt_tmp_tbl

Definition: murand\_mtgp32.h (line 77)

uint32_t flt_tmp_tbl[16][16]

A small matrix for tempering and converting to float.

Type: uint32_t

Member mask

Definition: murand\_mtgp32.h (line 79)

uint32_t mask

This is a mask for state space.

Type: uint32_t

Member poly_sha1

Definition: murand\_mtgp32.h (line 80)

unsigned char poly_sha1[21][21]

SHA1 digest.

Type: unsigned char


Structure murand_device::detail::two_uints

Definition: murand\_uniform.h (line 49)

Members

Attributes

Member x

Definition: murand\_uniform.h (line 50)

unsigned int x

Type: unsigned int

Referenced by:

Member y

Definition: murand\_uniform.h (line 51)

unsigned int y

Type: unsigned int

Referenced by:


Structure murand_device::mrg32k3a_engine::mrg32k3a_state

Definition: murand\_mrg32k3a.h (line 65)

Members

Attributes

Member g1

Definition: murand\_mrg32k3a.h (line 66)

unsigned int g1[3][3]

Type: unsigned int

Referenced by:

Member g2

Definition: murand\_mrg32k3a.h (line 67)

unsigned int g2[3][3]

Type: unsigned int

Referenced by:

Member boxmuller_float_state

Definition: murand\_mrg32k3a.h (line 75)

unsigned int boxmuller_float_state

Type: unsigned int

Referenced by:

Member boxmuller_double_state

Definition: murand\_mrg32k3a.h (line 77)

unsigned int boxmuller_double_state

Type: unsigned int

Referenced by:

Member boxmuller_float

Definition: murand\_mrg32k3a.h (line 78)

float boxmuller_float

Type: float

Member boxmuller_double

Definition: murand\_mrg32k3a.h (line 79)

double boxmuller_double

Type: double


Structure murand_device::mtgp32_params

Definition: murand\_mtgp32.h (line 85)

Members

Attributes

Member pos_tbl

Definition: murand\_mtgp32.h (line 86)

unsigned int pos_tbl[MTGP_BN_MAX][MTGP_BN_MAX]

Type: unsigned int

Referenced by:

Member param_tbl

Definition: murand\_mtgp32.h (line 87)

unsigned int param_tbl[MTGP_BN_MAX][MTGP_TS][MTGP_BN_MAX][MTGP_TS]

Type: unsigned int

Referenced by:

Member temper_tbl

Definition: murand\_mtgp32.h (line 88)

unsigned int temper_tbl[MTGP_BN_MAX][MTGP_TS][MTGP_BN_MAX][MTGP_TS]

Type: unsigned int

Referenced by:

Member single_temper_tbl

Definition: murand\_mtgp32.h (line 89)

unsigned int single_temper_tbl[MTGP_BN_MAX][MTGP_TS][MTGP_BN_MAX][MTGP_TS]

Type: unsigned int

Referenced by:

Member sh1_tbl

Definition: murand\_mtgp32.h (line 90)

unsigned int sh1_tbl[MTGP_BN_MAX][MTGP_BN_MAX]

Type: unsigned int

Referenced by:

Member sh2_tbl

Definition: murand\_mtgp32.h (line 91)

unsigned int sh2_tbl[MTGP_BN_MAX][MTGP_BN_MAX]

Type: unsigned int

Referenced by:

Member mask

Definition: murand\_mtgp32.h (line 92)

unsigned int mask[1][1]

Type: unsigned int

Referenced by:

Public functions

Function ~mtgp32_params

FQUALIFIERS ~mtgp32_params()

Return type: FQUALIFIERS


Structure murand_device::mtgp32_state

Definition: murand\_mtgp32.h (line 101)

Members

Attributes

Member offset

Definition: murand\_mtgp32.h (line 102)

int offset

Type: int

Referenced by:

Member id

Definition: murand\_mtgp32.h (line 103)

int id

Type: int

Referenced by:

Member status

Definition: murand\_mtgp32.h (line 104)

unsigned int status[MTGP_STATE][MTGP_STATE]

Type: unsigned int

Referenced by:

Member k

Definition: murand\_mtgp32.h (line 106)

mtgp32_kernel_params_t* k

Type: mtgp32_kernel_params_t *

Referenced by:

Public functions

Function ~mtgp32_state

FQUALIFIERS ~mtgp32_state()

Return type: FQUALIFIERS


Structure murand_device::philox4x32_10_engine::philox4x32_10_state

Definition: murand\_philox4x32\_10.h (line 65)

Members

Attributes

Member ctr

Definition: murand\_philox4x32\_10.h (line 66)

uint4 ctr

Type: uint4

Referenced by:

Member output

Definition: murand\_philox4x32\_10.h (line 67)

uint4 output

Type: uint4

Referenced by:

Member key

Definition: murand\_philox4x32\_10.h (line 68)

uint2 key

Type: uint2

Referenced by:

Member STATE

Definition: murand\_philox4x32\_10.h (line 69)

unsigned int STATE

Type: unsigned int

Referenced by:

Member boxmuller_float_state

Definition: murand\_philox4x32\_10.h (line 77)

unsigned int boxmuller_float_state

Type: unsigned int

Referenced by:

Member boxmuller_double_state

Definition: murand\_philox4x32\_10.h (line 79)

unsigned int boxmuller_double_state

Type: unsigned int

Referenced by:

Member boxmuller_float

Definition: murand\_philox4x32\_10.h (line 80)

float boxmuller_float

Type: float

Member boxmuller_double

Definition: murand\_philox4x32\_10.h (line 81)

double boxmuller_double

Type: double


Structure murand_device::sobol32_state\< true \>

Definition: murand\_sobol32.h (line 53)

Members

Attributes

Member d

Definition: murand\_sobol32.h (line 54)

unsigned int d

Type: unsigned int

Member i

Definition: murand\_sobol32.h (line 55)

unsigned int i

Type: unsigned int

Member vectors

Definition: murand\_sobol32.h (line 56)

const unsigned int* vectors

Type: const unsigned int *

Public functions

Function sobol32_state

FQUALIFIERS sobol32_state()

Return type: FQUALIFIERS

Function sobol32_state

FQUALIFIERS sobol32_state(const unsigned int d, const unsigned int i, const unsigned int *vectors)

Parameters:

  • const unsigned int d
  • const unsigned int i const unsigned int vectors

Return type: FQUALIFIERS


Structure murand_device::sobol32_state

Definition: murand\_sobol32.h (line 35)

Template parameters:

  • UseSharedVectorsbool UseSharedVectors

Members

Attributes

Member d

Definition: murand\_sobol32.h (line 36)

unsigned int d

Type: unsigned int

Member i

Definition: murand\_sobol32.h (line 37)

unsigned int i

Type: unsigned int

Member vectors

Definition: murand\_sobol32.h (line 38)

unsigned int vectors[32][32]

Type: unsigned int

Referenced by:

Public functions

Function sobol32_state

FQUALIFIERS sobol32_state()

Return type: FQUALIFIERS

Function sobol32_state

FQUALIFIERS sobol32_state(const unsigned int d, const unsigned int i, const unsigned int *vectors)

Parameters:

  • const unsigned int d
  • const unsigned int i const unsigned int vectors

Return type: FQUALIFIERS

References:


Structure murand_device::sobol64_state\< true \>

Definition: murand\_sobol64.h (line 53)

Members

Attributes

Member d

Definition: murand\_sobol64.h (line 54)

unsigned long long int d

Type: unsigned long long int

Member i

Definition: murand\_sobol64.h (line 55)

unsigned long long int i

Type: unsigned long long int

Member vectors

Definition: murand\_sobol64.h (line 56)

const unsigned long long int* vectors

Type: const unsigned long long int *

Public functions

Function sobol64_state

FQUALIFIERS sobol64_state()

Return type: FQUALIFIERS

Function sobol64_state

FQUALIFIERS sobol64_state(const unsigned long long int d, const unsigned long long int i, const unsigned long long int *vectors)

Parameters:

  • const unsigned long long int d
  • const unsigned long long int i const unsigned long long int vectors

Return type: FQUALIFIERS


Structure murand_device::sobol64_state

Definition: murand\_sobol64.h (line 35)

Template parameters:

  • UseSharedVectorsbool UseSharedVectors

Members

Attributes

Member d

Definition: murand\_sobol64.h (line 36)

unsigned long long int d

Type: unsigned long long int

Member i

Definition: murand\_sobol64.h (line 37)

unsigned long long int i

Type: unsigned long long int

Member vectors

Definition: murand\_sobol64.h (line 38)

unsigned long long int vectors[64][64]

Type: unsigned long long int

Referenced by:

Public functions

Function sobol64_state

FQUALIFIERS sobol64_state()

Return type: FQUALIFIERS

Function sobol64_state

FQUALIFIERS sobol64_state(const unsigned long long int d, const unsigned long long int i, const unsigned long long int *vectors)

Parameters:

  • const unsigned long long int d
  • const unsigned long long int i const unsigned long long int vectors

Return type: FQUALIFIERS

References:


Structure murand_device::xorwow_engine::xorwow_state

Definition: murand\_xorwow.h (line 85)

Members

Attributes

Member d

Definition: murand\_xorwow.h (line 87)

unsigned int d

Type: unsigned int

Referenced by:

Member boxmuller_float_state

Definition: murand\_xorwow.h (line 95)

unsigned int boxmuller_float_state

Type: unsigned int

Referenced by:

Member boxmuller_double_state

Definition: murand\_xorwow.h (line 97)

unsigned int boxmuller_double_state

Type: unsigned int

Referenced by:

Member boxmuller_float

Definition: murand\_xorwow.h (line 98)

float boxmuller_float

Type: float

Member boxmuller_double

Definition: murand\_xorwow.h (line 99)

double boxmuller_double

Type: double

Member v

Definition: murand\_xorwow.h (line 103)

unsigned int v[5][5]

Type: unsigned int

Referenced by:


Union murand_device::detail::two_uints_to_ulong undefined

Definition: murand\_uniform.h (line 54)

Members

Attributes

Member uint2_value

Definition: murand\_uniform.h (line 55)

two_uints uint2_value

Type: two_uints

Referenced by:

Member ulong_value

Definition: murand\_uniform.h (line 56)

unsigned long long int ulong_value

Type: unsigned long long int

Referenced by:


Structures


Index of Structures

M


Structure mtgp32_params_fast_t

Definition: murand\_mtgp32.h (line 70)

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.

Members

Attributes

Member mexp

Definition: murand\_mtgp32.h (line 71)

int mexp

Mersenne exponent. This is redundant.

Type: int

Referenced by:

Member pos

Definition: murand\_mtgp32.h (line 72)

int pos

pick up position.

Type: int

Member sh1

Definition: murand\_mtgp32.h (line 73)

int sh1

Shift value 1. 0 < sh1 < 32.

Type: int

Member sh2

Definition: murand\_mtgp32.h (line 74)

int sh2

Shift value 2. 0 < sh2 < 32.

Type: int

Member tbl

Definition: murand\_mtgp32.h (line 75)

uint32_t tbl[16][16]

A small matrix.

Type: uint32_t

Referenced by:

Member tmp_tbl

Definition: murand\_mtgp32.h (line 76)

uint32_t tmp_tbl[16][16]

A small matrix for tempering.

Type: uint32_t

Member flt_tmp_tbl

Definition: murand\_mtgp32.h (line 77)

uint32_t flt_tmp_tbl[16][16]

A small matrix for tempering and converting to float.

Type: uint32_t

Member mask

Definition: murand\_mtgp32.h (line 79)

uint32_t mask

This is a mask for state space.

Type: uint32_t

Member poly_sha1

Definition: murand\_mtgp32.h (line 80)

unsigned char poly_sha1[21][21]

SHA1 digest.

Type: unsigned char


Structure murand_device::detail::two_uints

Definition: murand\_uniform.h (line 49)

Members

Attributes

Member x

Definition: murand\_uniform.h (line 50)

unsigned int x

Type: unsigned int

Referenced by:

Member y

Definition: murand\_uniform.h (line 51)

unsigned int y

Type: unsigned int

Referenced by:


Structure murand_device::mrg32k3a_engine::mrg32k3a_state

Definition: murand\_mrg32k3a.h (line 65)

Members

Attributes

Member g1

Definition: murand\_mrg32k3a.h (line 66)

unsigned int g1[3][3]

Type: unsigned int

Referenced by:

Member g2

Definition: murand\_mrg32k3a.h (line 67)

unsigned int g2[3][3]

Type: unsigned int

Referenced by:

Member boxmuller_float_state

Definition: murand\_mrg32k3a.h (line 75)

unsigned int boxmuller_float_state

Type: unsigned int

Referenced by:

Member boxmuller_double_state

Definition: murand\_mrg32k3a.h (line 77)

unsigned int boxmuller_double_state

Type: unsigned int

Referenced by:

Member boxmuller_float

Definition: murand\_mrg32k3a.h (line 78)

float boxmuller_float

Type: float

Member boxmuller_double

Definition: murand\_mrg32k3a.h (line 79)

double boxmuller_double

Type: double


Structure murand_device::mtgp32_params

Definition: murand\_mtgp32.h (line 85)

Members

Attributes

Member pos_tbl

Definition: murand\_mtgp32.h (line 86)

unsigned int pos_tbl[MTGP_BN_MAX][MTGP_BN_MAX]

Type: unsigned int

Referenced by:

Member param_tbl

Definition: murand\_mtgp32.h (line 87)

unsigned int param_tbl[MTGP_BN_MAX][MTGP_TS][MTGP_BN_MAX][MTGP_TS]

Type: unsigned int

Referenced by:

Member temper_tbl

Definition: murand\_mtgp32.h (line 88)

unsigned int temper_tbl[MTGP_BN_MAX][MTGP_TS][MTGP_BN_MAX][MTGP_TS]

Type: unsigned int

Referenced by:

Member single_temper_tbl

Definition: murand\_mtgp32.h (line 89)

unsigned int single_temper_tbl[MTGP_BN_MAX][MTGP_TS][MTGP_BN_MAX][MTGP_TS]

Type: unsigned int

Referenced by:

Member sh1_tbl

Definition: murand\_mtgp32.h (line 90)

unsigned int sh1_tbl[MTGP_BN_MAX][MTGP_BN_MAX]

Type: unsigned int

Referenced by:

Member sh2_tbl

Definition: murand\_mtgp32.h (line 91)

unsigned int sh2_tbl[MTGP_BN_MAX][MTGP_BN_MAX]

Type: unsigned int

Referenced by:

Member mask

Definition: murand\_mtgp32.h (line 92)

unsigned int mask[1][1]

Type: unsigned int

Referenced by:

Public functions

Function ~mtgp32_params

FQUALIFIERS ~mtgp32_params()

Return type: FQUALIFIERS


Structure murand_device::mtgp32_state

Definition: murand\_mtgp32.h (line 101)

Members

Attributes

Member offset

Definition: murand\_mtgp32.h (line 102)

int offset

Type: int

Referenced by:

Member id

Definition: murand\_mtgp32.h (line 103)

int id

Type: int

Referenced by:

Member status

Definition: murand\_mtgp32.h (line 104)

unsigned int status[MTGP_STATE][MTGP_STATE]

Type: unsigned int

Referenced by:

Member k

Definition: murand\_mtgp32.h (line 106)

mtgp32_kernel_params_t* k

Type: mtgp32_kernel_params_t *

Referenced by:

Public functions

Function ~mtgp32_state

FQUALIFIERS ~mtgp32_state()

Return type: FQUALIFIERS


Structure murand_device::philox4x32_10_engine::philox4x32_10_state

Definition: murand\_philox4x32\_10.h (line 65)

Members

Attributes

Member ctr

Definition: murand\_philox4x32\_10.h (line 66)

uint4 ctr

Type: uint4

Referenced by:

Member output

Definition: murand\_philox4x32\_10.h (line 67)

uint4 output

Type: uint4

Referenced by:

Member key

Definition: murand\_philox4x32\_10.h (line 68)

uint2 key

Type: uint2

Referenced by:

Member STATE

Definition: murand\_philox4x32\_10.h (line 69)

unsigned int STATE

Type: unsigned int

Referenced by:

Member boxmuller_float_state

Definition: murand\_philox4x32\_10.h (line 77)

unsigned int boxmuller_float_state

Type: unsigned int

Referenced by:

Member boxmuller_double_state

Definition: murand\_philox4x32\_10.h (line 79)

unsigned int boxmuller_double_state

Type: unsigned int

Referenced by:

Member boxmuller_float

Definition: murand\_philox4x32\_10.h (line 80)

float boxmuller_float

Type: float

Member boxmuller_double

Definition: murand\_philox4x32\_10.h (line 81)

double boxmuller_double

Type: double


Structure murand_device::sobol32_state\< true \>

Definition: murand\_sobol32.h (line 53)

Members

Attributes

Member d

Definition: murand\_sobol32.h (line 54)

unsigned int d

Type: unsigned int

Member i

Definition: murand\_sobol32.h (line 55)

unsigned int i

Type: unsigned int

Member vectors

Definition: murand\_sobol32.h (line 56)

const unsigned int* vectors

Type: const unsigned int *

Public functions

Function sobol32_state

FQUALIFIERS sobol32_state()

Return type: FQUALIFIERS

Function sobol32_state

FQUALIFIERS sobol32_state(const unsigned int d, const unsigned int i, const unsigned int *vectors)

Parameters:

  • const unsigned int d
  • const unsigned int i const unsigned int vectors

Return type: FQUALIFIERS


Structure murand_device::sobol32_state

Definition: murand\_sobol32.h (line 35)

Template parameters:

  • UseSharedVectorsbool UseSharedVectors

Members

Attributes

Member d

Definition: murand\_sobol32.h (line 36)

unsigned int d

Type: unsigned int

Member i

Definition: murand\_sobol32.h (line 37)

unsigned int i

Type: unsigned int

Member vectors

Definition: murand\_sobol32.h (line 38)

unsigned int vectors[32][32]

Type: unsigned int

Referenced by:

Public functions

Function sobol32_state

FQUALIFIERS sobol32_state()

Return type: FQUALIFIERS

Function sobol32_state

FQUALIFIERS sobol32_state(const unsigned int d, const unsigned int i, const unsigned int *vectors)

Parameters:

  • const unsigned int d
  • const unsigned int i const unsigned int vectors

Return type: FQUALIFIERS

References:


Structure murand_device::sobol64_state\< true \>

Definition: murand\_sobol64.h (line 53)

Members

Attributes

Member d

Definition: murand\_sobol64.h (line 54)

unsigned long long int d

Type: unsigned long long int

Member i

Definition: murand\_sobol64.h (line 55)

unsigned long long int i

Type: unsigned long long int

Member vectors

Definition: murand\_sobol64.h (line 56)

const unsigned long long int* vectors

Type: const unsigned long long int *

Public functions

Function sobol64_state

FQUALIFIERS sobol64_state()

Return type: FQUALIFIERS

Function sobol64_state

FQUALIFIERS sobol64_state(const unsigned long long int d, const unsigned long long int i, const unsigned long long int *vectors)

Parameters:

  • const unsigned long long int d
  • const unsigned long long int i const unsigned long long int vectors

Return type: FQUALIFIERS


Structure murand_device::sobol64_state

Definition: murand\_sobol64.h (line 35)

Template parameters:

  • UseSharedVectorsbool UseSharedVectors

Members

Attributes

Member d

Definition: murand\_sobol64.h (line 36)

unsigned long long int d

Type: unsigned long long int

Member i

Definition: murand\_sobol64.h (line 37)

unsigned long long int i

Type: unsigned long long int

Member vectors

Definition: murand\_sobol64.h (line 38)

unsigned long long int vectors[64][64]

Type: unsigned long long int

Referenced by:

Public functions

Function sobol64_state

FQUALIFIERS sobol64_state()

Return type: FQUALIFIERS

Function sobol64_state

FQUALIFIERS sobol64_state(const unsigned long long int d, const unsigned long long int i, const unsigned long long int *vectors)

Parameters:

  • const unsigned long long int d
  • const unsigned long long int i const unsigned long long int vectors

Return type: FQUALIFIERS

References:


Structure murand_device::xorwow_engine::xorwow_state

Definition: murand\_xorwow.h (line 85)

Members

Attributes

Member d

Definition: murand\_xorwow.h (line 87)

unsigned int d

Type: unsigned int

Referenced by:

Member boxmuller_float_state

Definition: murand\_xorwow.h (line 95)

unsigned int boxmuller_float_state

Type: unsigned int

Referenced by:

Member boxmuller_double_state

Definition: murand\_xorwow.h (line 97)

unsigned int boxmuller_double_state

Type: unsigned int

Referenced by:

Member boxmuller_float

Definition: murand\_xorwow.h (line 98)

float boxmuller_float

Type: float

Member boxmuller_double

Definition: murand\_xorwow.h (line 99)

double boxmuller_double

Type: double

Member v

Definition: murand\_xorwow.h (line 103)

unsigned int v[5][5]

Type: unsigned int

Referenced by:


Classes


Index of Classes

M


Class murand_device::mrg32k3a_engine

Definition: murand\_mrg32k3a.h (line 63)

Inner classes

Members

Attributes

Member m_state

Definition: murand\_mrg32k3a.h (line 346)

mrg32k3a_state m_state

Type: mrg32k3a_state

Referenced by:

Friends

Friend detail::engine_boxmuller_helper\< mrg32k3a_engine \>

Definition: murand\_mrg32k3a.h (line 346)

Public functions

Function mrg32k3a_engine

FQUALIFIERS mrg32k3a_engine()

Return type: FQUALIFIERS

References:

Function mrg32k3a_engine

FQUALIFIERS mrg32k3a_engine(const unsigned long long seed, const unsigned long long subsequence, const unsigned long long offset)

Initializes the internal state of the PRNG using seed value seed, goes to subsequence -th subsequence, and skips offset random numbers.

New seed value should not be zero. If seed_value is equal zero, value MURAND_MRG32K3A_DEFAULT_SEED is used instead.

A subsequence is 2^76 numbers long.

Parameters:

  • const unsigned long long seed
  • const unsigned long long subsequence
  • const unsigned long long offset

Return type: FQUALIFIERS

References:

Function seed

FQUALIFIERS void seed(unsigned long long seed_value, const unsigned long long subsequence, const unsigned long long offset)

Reinitializes the internal state of the PRNG using new seed value seed_value, skips subsequence subsequences and offset random numbers.

New seed value should not be zero. If seed_value is equal zero, value MURAND_MRG32K3A_DEFAULT_SEED is used instead.

A subsequence is 2^76 numbers long.

Parameters:

  • unsigned long long seed_value
  • const unsigned long long subsequence
  • const unsigned long long offset

Return type: FQUALIFIERS void

References:

Referenced by:

Function discard

FQUALIFIERS void discard(unsigned long long offset)

Advances the internal state to skip offset numbers.

Parameters:

  • unsigned long long offset

Return type: FQUALIFIERS void

References:

Function discard_subsequence

FQUALIFIERS void discard_subsequence(unsigned long long subsequence)

Advances the internal state to skip subsequence subsequences. A subsequence is 2^76 numbers long.

Parameters:

  • unsigned long long subsequence

Return type: FQUALIFIERS void

References:

Function discard_sequence

FQUALIFIERS void discard_sequence(unsigned long long sequence)

Advances the internal state to skip sequence sequences. A sequence is 2^127 numbers long.

Parameters:

  • unsigned long long sequence

Return type: FQUALIFIERS void

References:

Function restart

FQUALIFIERS void restart(const unsigned long long subsequence, const unsigned long long offset)

Parameters:

  • const unsigned long long subsequence
  • const unsigned long long offset

Return type: FQUALIFIERS void

References:

Referenced by:

Function operator()

FQUALIFIERS unsigned int operator()()

Return type: FQUALIFIERS unsigned int

References:

Function next

FQUALIFIERS unsigned int next()

Return type: FQUALIFIERS unsigned int

References:

Referenced by:

Protected functions

Function discard_impl

FQUALIFIERS void discard_impl(unsigned long long offset)

Parameters:

  • unsigned long long offset

Return type: FQUALIFIERS void

References:

Referenced by:

Function discard_subsequence_impl

FQUALIFIERS void discard_subsequence_impl(unsigned long long subsequence)

Parameters:

  • unsigned long long subsequence

Return type: FQUALIFIERS void

References:

Referenced by:

Function discard_sequence_impl

FQUALIFIERS void discard_sequence_impl(unsigned long long sequence)

Parameters:

  • unsigned long long sequence

Return type: FQUALIFIERS void

References:

Referenced by:

Function discard_state

FQUALIFIERS void discard_state(unsigned long long offset)

Parameters:

  • unsigned long long offset

Return type: FQUALIFIERS void

References:

Function discard_state

FQUALIFIERS void discard_state()

Return type: FQUALIFIERS void

References:

Referenced by:

Private functions

Function mod_mat_vec_m1

FQUALIFIERS void mod_mat_vec_m1(const unsigned long long `A, unsigned int `s)

Parameters:

const unsigned long long A unsigned int s

Return type: FQUALIFIERS void

Function mod_mat_vec_m2

FQUALIFIERS void mod_mat_vec_m2(const unsigned long long `A, unsigned int `s)

Parameters:

const unsigned long long A unsigned int s

Return type: FQUALIFIERS void

Function mod_mul_m1

FQUALIFIERS unsigned long long mod_mul_m1(unsigned int i, unsigned long long j)

Parameters:

  • unsigned int i
  • unsigned long long j

Return type: FQUALIFIERS unsigned long long

Function mod_m1

FQUALIFIERS unsigned long long mod_m1(unsigned long long p)

Parameters:

  • unsigned long long p

Return type: FQUALIFIERS unsigned long long

Function mod_mul_m2

FQUALIFIERS unsigned long long mod_mul_m2(unsigned int i, unsigned long long j)

Parameters:

  • unsigned int i
  • unsigned long long j

Return type: FQUALIFIERS unsigned long long

Function mod_m2

FQUALIFIERS unsigned long long mod_m2(unsigned long long p)

Parameters:

  • unsigned long long p

Return type: FQUALIFIERS unsigned long long


Class murand_device::mtgp32_engine

Definition: murand\_mtgp32.h (line 130)

Members

Attributes

Member m_state

Definition: murand\_mtgp32.h (line 257)

mtgp32_state m_state

Type: mtgp32_state

Referenced by:

Public functions

Function mtgp32_engine

FQUALIFIERS mtgp32_engine()

Return type: FQUALIFIERS

Function mtgp32_engine

FQUALIFIERS mtgp32_engine(const mtgp32_state m_state, const mtgp32_kernel_params_t *params, int bid)

Parameters:

  • const mtgp32_state m_state const [mtgp32\_kernel\_params\_t](#namespacemurand__device_1a6177c3f368dce333d6bcb65e1add064b) params
  • int bid

Return type: FQUALIFIERS

References:

Function ~mtgp32_engine

FQUALIFIERS ~mtgp32_engine()

Return type: FQUALIFIERS

Function copy

FQUALIFIERS void copy(const mtgp32_engine *m_engine)

Parameters:

const [mtgp32\_engine](#classmurand__device_1_1mtgp32__engine) m_engine

Return type: FQUALIFIERS void

References:

Function set_params

FQUALIFIERS void set_params(mtgp32_kernel_params_t *params)

Parameters:

[mtgp32\_kernel\_params\_t](#namespacemurand__device_1a6177c3f368dce333d6bcb65e1add064b) params

Return type: FQUALIFIERS void

References:

Function operator()

FQUALIFIERS unsigned int operator()()

Return type: FQUALIFIERS unsigned int

References:

Function next

FQUALIFIERS unsigned int next()

Return type: FQUALIFIERS unsigned int

References:

Referenced by:

Function next_single

FQUALIFIERS unsigned int next_single()

Return type: FQUALIFIERS unsigned int

Function para_rec

FQUALIFIERS unsigned int para_rec(mtgp32_kernel_params_t *k, unsigned int X1, unsigned int X2, unsigned int Y, int bid)

Parameters:

[mtgp32\_kernel\_params\_t](#namespacemurand__device_1a6177c3f368dce333d6bcb65e1add064b) k

  • unsigned int X1
  • unsigned int X2
  • unsigned int Y
  • int bid

Return type: FQUALIFIERS unsigned int

References:

Referenced by:

Function temper

FQUALIFIERS unsigned int temper(mtgp32_kernel_params_t *k, unsigned int V, unsigned int T, int bid)

Parameters:

[mtgp32\_kernel\_params\_t](#namespacemurand__device_1a6177c3f368dce333d6bcb65e1add064b) k

  • unsigned int V
  • unsigned int T
  • int bid

Return type: FQUALIFIERS unsigned int

References:

Referenced by:

Function temper_single

FQUALIFIERS unsigned int temper_single(mtgp32_kernel_params_t *k, unsigned int V, unsigned int T, int bid)

Parameters:

[mtgp32\_kernel\_params\_t](#namespacemurand__device_1a6177c3f368dce333d6bcb65e1add064b) k

  • unsigned int V
  • unsigned int T
  • int bid

Return type: FQUALIFIERS unsigned int

References:


Class murand_device::philox4x32_10_engine

Definition: murand\_philox4x32\_10.h (line 63)

Inner classes

Members

Attributes

Member m_state

Definition: murand\_philox4x32\_10.h (line 288)

philox4x32_10_state m_state

Type: philox4x32_10_state

Referenced by:

Friends

Friend detail::engine_boxmuller_helper\< philox4x32_10_engine \>

Definition: murand\_philox4x32\_10.h (line 288)

Public functions

Function philox4x32_10_engine

FQUALIFIERS philox4x32_10_engine()

Return type: FQUALIFIERS

References:

Function philox4x32_10_engine

FQUALIFIERS philox4x32_10_engine(const unsigned long long seed, const unsigned long long subsequence, const unsigned long long offset)

Initializes the internal state of the PRNG using seed value seed, goes to subsequence -th subsequence, and skips offset random numbers.

A subsequence consists of 2 ^ 66 random numbers.

Parameters:

  • const unsigned long long seed
  • const unsigned long long subsequence
  • const unsigned long long offset

Return type: FQUALIFIERS

References:

Function seed

FQUALIFIERS void seed(unsigned long long seed_value, const unsigned long long subsequence, const unsigned long long offset)

Reinitializes the internal state of the PRNG using new seed value seed_value, skips subsequence subsequences and offset random numbers.

A subsequence consists of 2 ^ 66 random numbers.

Parameters:

  • unsigned long long seed_value
  • const unsigned long long subsequence
  • const unsigned long long offset

Return type: FQUALIFIERS void

References:

Referenced by:

Function discard

FQUALIFIERS void discard(unsigned long long offset)

Advances the internal state to skip offset numbers.

Parameters:

  • unsigned long long offset

Return type: FQUALIFIERS void

References:

Function discard_subsequence

FQUALIFIERS void discard_subsequence(unsigned long long subsequence)

Advances the internal state to skip subsequence subsequences, a subsequence consisting of 2 ^ 66 random numbers. In other words, this function is equivalent to calling discard 2 ^ 66 times without using the return value, but is much faster.

Parameters:

  • unsigned long long subsequence

Return type: FQUALIFIERS void

References:

Function restart

FQUALIFIERS void restart(const unsigned long long subsequence, const unsigned long long offset)

Parameters:

  • const unsigned long long subsequence
  • const unsigned long long offset

Return type: FQUALIFIERS void

References:

Referenced by:

Function operator()

FQUALIFIERS unsigned int operator()()

Return type: FQUALIFIERS unsigned int

References:

Function next

FQUALIFIERS unsigned int next()

Return type: FQUALIFIERS unsigned int

References:

Referenced by:

Function next4

FQUALIFIERS uint4 next4()

Return type: FQUALIFIERS uint4

References:

Protected functions

Function discard_impl

FQUALIFIERS void discard_impl(unsigned long long offset)

Parameters:

  • unsigned long long offset

Return type: FQUALIFIERS void

References:

Referenced by:

Function discard_subsequence_impl

FQUALIFIERS void discard_subsequence_impl(unsigned long long subsequence)

Parameters:

  • unsigned long long subsequence

Return type: FQUALIFIERS void

References:

Referenced by:

Function discard_state

FQUALIFIERS void discard_state(unsigned long long offset)

Parameters:

  • unsigned long long offset

Return type: FQUALIFIERS void

References:

Function discard_state

FQUALIFIERS void discard_state()

Return type: FQUALIFIERS void

References:

Referenced by:

Function interleave

FQUALIFIERS uint4 interleave(const uint4 prev, const uint4 next) const

Parameters:

  • const uint4 prev
  • const uint4 next

Return type: FQUALIFIERS uint4

References:

Referenced by:

Function ten_rounds

FQUALIFIERS uint4 ten_rounds(uint4 counter, uint2 key)

Parameters:

  • uint4 counter
  • uint2 key

Return type: FQUALIFIERS uint4

Referenced by:

Protected static functions

Function bump_counter

![][static]

static FQUALIFIERS uint4 bump_counter(uint4 counter)

Parameters:

  • uint4 counter

Return type: FQUALIFIERS uint4

Referenced by:

Private functions

Function single_round

FQUALIFIERS uint4 single_round(uint4 counter, uint2 key)

Parameters:

  • uint4 counter
  • uint2 key

Return type: FQUALIFIERS uint4

Function bumpkey

FQUALIFIERS uint2 bumpkey(uint2 key)

Parameters:

  • uint2 key

Return type: FQUALIFIERS uint2


Class murand_device::scrambled_sobol32_engine

Definition: murand\_scrambled\_sobol32.h (line 36)

Template parameters:

  • UseSharedVectorsbool UseSharedVectors

Members

Attributes

Member m_engine

Definition: murand\_scrambled\_sobol32.h (line 77)

sobol32_engine<UseSharedVectors> m_engine

Type: sobol32_engine< UseSharedVectors >

Referenced by:

Member scramble_constant

Definition: murand\_scrambled\_sobol32.h (line 79)

unsigned int scramble_constant

Type: unsigned int

Referenced by:

Public functions

Function scrambled_sobol32_engine

FQUALIFIERS scrambled_sobol32_engine()

Return type: FQUALIFIERS

Function scrambled_sobol32_engine

FQUALIFIERS scrambled_sobol32_engine(const unsigned int *vectors, const unsigned int scramble_constant, const unsigned int offset)

Parameters:

const unsigned int vectors

  • const unsigned int scramble_constant
  • const unsigned int offset

Return type: FQUALIFIERS

References:

Function discard

FQUALIFIERS void discard(unsigned int offset)

Advances the internal state to skip offset numbers.

Parameters:

  • unsigned int offset

Return type: FQUALIFIERS void

References:

Function discard

FQUALIFIERS void discard()

Return type: FQUALIFIERS void

References:

Referenced by:

Function discard_stride

FQUALIFIERS void discard_stride(unsigned int stride)

Advances the internal state by stride times, where stride is power of 2.

Parameters:

  • unsigned int stride

Return type: FQUALIFIERS void

References:

Function operator()

FQUALIFIERS unsigned int operator()()

Return type: FQUALIFIERS unsigned int

References:

Function next

FQUALIFIERS unsigned int next()

Return type: FQUALIFIERS unsigned int

References:

Referenced by:

Function current

FQUALIFIERS unsigned int current()

Return type: FQUALIFIERS unsigned int

References:


Class murand_device::scrambled_sobol64_engine

Definition: murand\_scrambled\_sobol64.h (line 36)

Template parameters:

  • UseSharedVectorsbool UseSharedVectors

Members

Attributes

Member m_engine

Definition: murand\_scrambled\_sobol64.h (line 79)

sobol64_engine<UseSharedVectors> m_engine

Type: sobol64_engine< UseSharedVectors >

Referenced by:

Member scramble_constant

Definition: murand\_scrambled\_sobol64.h (line 81)

unsigned long long int scramble_constant

Type: unsigned long long int

Referenced by:

Public functions

Function scrambled_sobol64_engine

FQUALIFIERS scrambled_sobol64_engine()

Return type: FQUALIFIERS

Function scrambled_sobol64_engine

FQUALIFIERS scrambled_sobol64_engine(const unsigned long long int *vectors, const unsigned long long int scramble_constant, const unsigned int offset)

Parameters:

const unsigned long long int vectors

  • const unsigned long long int scramble_constant
  • const unsigned int offset

Return type: FQUALIFIERS

References:

Function discard

FQUALIFIERS void discard(unsigned long long int offset)

Advances the internal state to skip offset numbers.

Parameters:

  • unsigned long long int offset

Return type: FQUALIFIERS void

References:

Function discard

FQUALIFIERS void discard()

Return type: FQUALIFIERS void

References:

Referenced by:

Function discard_stride

FQUALIFIERS void discard_stride(unsigned long long int stride)

Advances the internal state by stride times, where stride is power of 2.

Parameters:

  • unsigned long long int stride

Return type: FQUALIFIERS void

References:

Function operator()

FQUALIFIERS unsigned long long int operator()()

Return type: FQUALIFIERS unsigned long long int

References:

Function next

FQUALIFIERS unsigned long long int next()

Return type: FQUALIFIERS unsigned long long int

References:

Referenced by:

Function current

FQUALIFIERS unsigned long long int current()

Return type: FQUALIFIERS unsigned long long int

References:


Class murand_device::sobol32_engine

Definition: murand\_sobol32.h (line 67)

Template parameters:

  • UseSharedVectorsbool UseSharedVectors

Members

Public types

Typedef sobol32_state

Definition: murand\_sobol32.h (line 69)

typedef struct sobol32_state< UseSharedVectors > sobol32_state

Return type: struct sobol32_state< UseSharedVectors >

Attributes

Member m_state

Definition: murand\_sobol32.h (line 164)

sobol32_state m_state

Type: sobol32_state

Referenced by:

Public functions

Function sobol32_engine

FQUALIFIERS sobol32_engine()

Return type: FQUALIFIERS

Function sobol32_engine

FQUALIFIERS sobol32_engine(const unsigned int *vectors, const unsigned int offset)

Parameters:

const unsigned int vectors

  • const unsigned int offset

Return type: FQUALIFIERS

References:

Function discard

FQUALIFIERS void discard(unsigned int offset)

Advances the internal state to skip offset numbers.

Parameters:

  • unsigned int offset

Return type: FQUALIFIERS void

References:

Function discard

FQUALIFIERS void discard()

Return type: FQUALIFIERS void

References:

Function discard_stride

FQUALIFIERS void discard_stride(unsigned int stride)

Advances the internal state by stride times, where stride is power of 2.

Parameters:

  • unsigned int stride

Return type: FQUALIFIERS void

References:

Function operator()

FQUALIFIERS unsigned int operator()()

Return type: FQUALIFIERS unsigned int

References:

Function next

FQUALIFIERS unsigned int next()

Return type: FQUALIFIERS unsigned int

References:

Referenced by:

Function current

FQUALIFIERS unsigned int current()

Return type: FQUALIFIERS unsigned int

References:

Protected functions

Function discard_state

FQUALIFIERS void discard_state(unsigned int offset)

Parameters:

  • unsigned int offset

Return type: FQUALIFIERS void

References:

Function discard_state

FQUALIFIERS void discard_state()

Return type: FQUALIFIERS void

References:

Referenced by:

Function discard_state_power2

FQUALIFIERS void discard_state_power2(unsigned int stride)

Parameters:

  • unsigned int stride

Return type: FQUALIFIERS void

References:

Referenced by:

Function rightmost_zero_bit

FQUALIFIERS unsigned int rightmost_zero_bit(unsigned int x)

Parameters:

  • unsigned int x

Return type: FQUALIFIERS unsigned int

Referenced by:


Class murand_device::sobol64_engine

Definition: murand\_sobol64.h (line 67)

Template parameters:

  • UseSharedVectorsbool UseSharedVectors

Members

Public types

Typedef sobol64_state

Definition: murand\_sobol64.h (line 69)

typedef struct sobol64_state< UseSharedVectors > sobol64_state

Return type: struct sobol64_state< UseSharedVectors >

Attributes

Member m_state

Definition: murand\_sobol64.h (line 169)

sobol64_state m_state

Type: sobol64_state

Referenced by:

Public functions

Function sobol64_engine

FQUALIFIERS sobol64_engine()

Return type: FQUALIFIERS

Function sobol64_engine

FQUALIFIERS sobol64_engine(const unsigned long long int *vectors, const unsigned long long int offset)

Parameters:

const unsigned long long int vectors

  • const unsigned long long int offset

Return type: FQUALIFIERS

References:

Function discard

FQUALIFIERS void discard(unsigned long long int offset)

Advances the internal state to skip offset numbers.

Parameters:

  • unsigned long long int offset

Return type: FQUALIFIERS void

References:

Function discard

FQUALIFIERS void discard()

Return type: FQUALIFIERS void

References:

Function discard_stride

FQUALIFIERS void discard_stride(unsigned long long int stride)

Advances the internal state by stride times, where stride is power of 2.

Parameters:

  • unsigned long long int stride

Return type: FQUALIFIERS void

References:

Function operator()

FQUALIFIERS unsigned long long int operator()()

Return type: FQUALIFIERS unsigned long long int

References:

Function next

FQUALIFIERS unsigned long long int next()

Return type: FQUALIFIERS unsigned long long int

References:

Referenced by:

Function current

FQUALIFIERS unsigned long long int current()

Return type: FQUALIFIERS unsigned long long int

References:

Protected functions

Function discard_state

FQUALIFIERS void discard_state(unsigned long long int offset)

Parameters:

  • unsigned long long int offset

Return type: FQUALIFIERS void

References:

Function discard_state

FQUALIFIERS void discard_state()

Return type: FQUALIFIERS void

References:

Referenced by:

Function discard_state_power2

FQUALIFIERS void discard_state_power2(unsigned long long int stride)

Parameters:

  • unsigned long long int stride

Return type: FQUALIFIERS void

References:

Referenced by:

Function rightmost_zero_bit

FQUALIFIERS unsigned int rightmost_zero_bit(unsigned long long int x)

Parameters:

  • unsigned long long int x

Return type: FQUALIFIERS unsigned int

Referenced by:


Class murand_device::xorwow_engine

Definition: murand\_xorwow.h (line 83)

Inner classes

Members

Attributes

Member m_state

Definition: murand\_xorwow.h (line 224)

xorwow_state m_state

Type: xorwow_state

Referenced by:

Friends

Friend detail::engine_boxmuller_helper\< xorwow_engine \>

Definition: murand\_xorwow.h (line 224)

Public functions

Function xorwow_engine

FQUALIFIERS xorwow_engine()

Return type: FQUALIFIERS

Function xorwow_engine

FQUALIFIERS xorwow_engine(const unsigned long long seed, const unsigned long long subsequence, const unsigned long long offset)

Initializes the internal state of the PRNG using seed value seed, goes to subsequence -th subsequence, and skips offset random numbers.

A subsequence is 2^67 numbers long.

Parameters:

  • const unsigned long long seed
  • const unsigned long long subsequence
  • const unsigned long long offset

Return type: FQUALIFIERS

References:

Function discard

FQUALIFIERS void discard(unsigned long long offset)

Advances the internal state to skip offset numbers.

Parameters:

  • unsigned long long offset

Return type: FQUALIFIERS void

References:

Referenced by:

Function discard_subsequence

FQUALIFIERS void discard_subsequence(unsigned long long subsequence)

Advances the internal state to skip subsequence subsequences. A subsequence is 2^67 numbers long.

Parameters:

  • unsigned long long subsequence

Return type: FQUALIFIERS void

References:

Referenced by:

Function operator()

FQUALIFIERS unsigned int operator()()

Return type: FQUALIFIERS unsigned int

References:

Function next

FQUALIFIERS unsigned int next()

Return type: FQUALIFIERS unsigned int

References:

Referenced by:

Protected functions

Function jump

FQUALIFIERS void jump(unsigned long long v, const unsigned int jump_matrices[XORWOW_JUMP_MATRICES][XORWOW_SIZE])

Parameters:

  • unsigned long long v
  • const unsigned int jump_matrices

Return type: FQUALIFIERS void

References:

Referenced by: