14#define RANDOM_MKL_RNG VSL_BRNG_SFMT19937
27#define random_init(data, seed) random_mkl_init(data, seed)
28#define random_uniform(data) random_mkl_uniform(data)
29#define random_normal(data) random_mkl_normal(data)
30#define random_uniform_simd(data, n, r) random_mkl_uniform_simd(data, n, r)
31#define random_normal_simd(data, n, r) random_mkl_normal_simd(data, n, r)
34#elif defined(RANDOM_GSL)
36#include <gsl/gsl_rng.h>
48#define random_init(data, seed) random_gsl_init(data, seed)
49#define random_uniform(data) random_gsl_uniform(data)
50#define random_normal(data) random_gsl_normal(data)
51#define random_uniform_simd(data, n, r) random_gsl_uniform_simd(data, n, r)
52#define random_normal_simd(data, n, r) random_gsl_normal_simd(data, n, r)
55#elif defined(RANDOM_LCG)
58#include "offload_acc_omp.h"
75#define random_init(data, seed) random_lcg_init(data, seed)
76#define random_uniform(data) random_lcg_uniform(data)
77#define random_normal(data) random_lcg_normal(data)
78#define random_uniform_simd(data, n, r) random_lcg_uniform_simd(data, n, r)
79#define random_normal_simd(data, n, r) random_lcg_normal_simd(data, n, r)
94#define random_init(data, seed) srand48(seed)
96#define random_uniform(data) drand48()
98#define random_normal(data) random_drand48_normal()
100#define random_uniform_simd(data, n, r) random_drand48_uniform_simd(n, r)
102#define random_normal_simd(data, n, r) random_drand48_normal_simd(n, r)
void random_drand48_uniform_simd(int n, double *r)
Vectorised sampling from uniform distribution.
double random_drand48_normal()
Initialize random generator which uses the linear congruential algorithm and 48-bit integer arithmeti...
void random_drand48_normal_simd(int n, double *r)
Vectorised sampling from normal distribution.