[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Help-gsl] Seed for RNG
From: |
Daniel Neilson |
Subject: |
Re: [Help-gsl] Seed for RNG |
Date: |
Thu, 28 Feb 2008 13:07:42 -0600 |
User-agent: |
Thunderbird 2.0.0.9 (X11/20071115) |
You can just set up your program to check if the environment variable
GSL_RNG_SEED has been set, and if not, change the value of
gsl_rng_default_seed based on the output of the time() function.
ex (put this after the call to gsl_rng_env_setup()):
if (!getenv("GSL_RNG_SEED")) gsl_rng_default_seed = time(0);
You'll also need to #include <stdlib.h>, if you haven't already, for
the getenv() function.
Alternatively, you can just call gsl_rng_set(r, time(0)) after you
allocate your generator. Checking the environment variable's probably
the better route, though -- it will allow your user to override using
time() to seed the generator.
You can also do the same trick to change the default generator you're
using.
ex:
if (!getenv("GSL_RNG_TYPE")) gsl_rng_default = gsl_rng_taus;
-Daniel
Johan van der Walt wrote:
I got my little code going for generating random numbers using the GSL
routines. Works fine. I now want to use a different seed every time I
run the code. But I don't want to enter a new seed on the command line
like this
$ GSL_RNG_TYPE="taus" GSL_RNG_SEED=123 ./a.out
every time I run the code.
How can I set the seed in the code?
Johan
_______________________________________________
Help-gsl mailing list
address@hidden
http://lists.gnu.org/mailman/listinfo/help-gsl