int main(int argc, char **argv) { int err = 0; /* Allocate random number generator in heap */ rng_t *rng = allocate_rng(RNG_UNIFORM); /* Set the seed value */ err = rng_set_seed_value(rng, 123); assert(err == 0); err = rng_set_seed_value(NULL, 123); assert(err != 0); assert(errno == EINVAL); /* Get random value */ double output1, output2; err = rng_get_random_value(*rng, &output1); err = rng_get_random_value(*rng, &output2); assert(output1 != output2); err = rng_get_random_value(*rng, NULL); assert(err != 0); assert(errno == EINVAL); free_rng(rng); }
void allocate_rng() { free_rng(); rand_gen = gsl_rng_alloc(gsl_rng_ranlux); gsl_rng_set(rand_gen, time(NULL)); }