Macros | |
#define | MIRML_RNG_MT19937 1 |
#define | MIRML_RNG_GAUSS_BM 1 |
#define | MIRML_RNG_GAUSS_ZIGGURAT 2 |
#define | MIRML_RNG_GAMMA_MT 1 |
Typedefs | |
typedef struct mirml_rng_t | mirml_rng_t |
Functions | |
mirkl_error_t * | mirml_rng_init (mirml_rng_t **rng, int method, mirkl_uint64_t seed) |
void | mirml_rng_free (mirml_rng_t *rng) |
Free memory allocated for rng. More... | |
mirkl_uint64_t | mirml_rng_uint64 (mirml_rng_t *rng) |
Generates uniform uint64 random number. | |
mirkl_uint32_t | mirml_rng_uint32 (mirml_rng_t *rng) |
Generates uniform uint32 random number. | |
mirkl_uint64_t | mirml_rng_uint64_scale (mirml_rng_t *rng, mirkl_uint64_t s) |
Generates uint64 random number and scales it to the range [0, s-1]. | |
double | mirml_rng_uniform (mirml_rng_t *rng) |
Generates random number in range [0,1) | |
double | mirml_rng_uniform_scale (mirml_rng_t *rng, double mi, double ma) |
Generates random number in range [mi,ma) | |
double | mirml_rng_uniformp (mirml_rng_t *rng) |
Generates random number in range (0,1) | |
mirkl_error_t * | mirml_rng_gauss_init (mirml_rng_t *rng, int method) |
double | mirml_rng_gauss (mirml_rng_t *rng, double sigma) |
mirkl_error_t * | mirml_rng_gamma_init (mirml_rng_t *rng, int method) |
double | mirml_rng_gamma (mirml_rng_t *rng, double k, double theta) |
#define MIRML_RNG_GAMMA_MT 1 |
Methods for calculation of Gamma random variates
#define MIRML_RNG_GAUSS_BM 1 |
Methods for calculation of Gaussian random variates
#define MIRML_RNG_MT19937 1 |
Random number generators.
void mirml_rng_free | ( | mirml_rng_t * | rng | ) |
Free memory allocated for rng.
double mirml_rng_gamma | ( | mirml_rng_t * | rng, |
double | k, | ||
double | theta | ||
) |
Generates random variate from Gamma distribution with a shape parameter k and a scale parameter theta.
mirkl_error_t * mirml_rng_gamma_init | ( | mirml_rng_t * | rng, |
int | method | ||
) |
Initialize rng for generation random numbers from gamma distribution.
[in] | method | One of MIRML_RNG_GAMMA_..., if 0 – default method MIRML_RNG_GAMMA_MT used. |
double mirml_rng_gauss | ( | mirml_rng_t * | rng, |
double | sigma | ||
) |
Generates random variate from Gaussian distribution with mean zero and standard deviation sigma.
mirkl_error_t * mirml_rng_gauss_init | ( | mirml_rng_t * | rng, |
int | method | ||
) |
Initialize rng for generation random numbers from gaussian distribution.
[in] | method | One of MIRML_RNG_GAUSS_..., if 0 – default method MIRML_RNG_GAUSS_BM used. |
mirkl_error_t * mirml_rng_init | ( | mirml_rng_t ** | rng, |
int | method, | ||
mirkl_uint64_t | seed | ||
) |
Allocate and init RNG structure.
[in] | method | One of MIRML_RNG_..., if 0 – default method MIRML_RNG_MT19937 used. |
[in] | seed | Seed value rng. If 0 – default value used (depends on the method). |