IMSL C Math Library
random_seed_get
Retrieves the current value of the seed used in the IMSL random number generators.
Synopsis
#include <imsl.h>
int imsl_random_seed_get ( )
Return Value
The value of the seed.
Description
The function imsl_random_seed_get retrieves the current value of the “seed” used in the random number generators. A reason for doing this would be to restart a simulation, using imsl_random_seed_set to reset the seed.
Example
This example illustrates the statements required to restart a simulation using imsl_random_seed_get and imsl_random_seed_set. Also, the example shows that restarting the sequence of random numbers at the value of the seed last generated is the same as generating the random numbers all at once.
 
#include <imsl.h>
 
#define N_RANDOM 5
 
int main()
{
int seed = 123457;
float *r1, *r2, *r;
imsl_random_seed_set(seed);
r1 = imsl_f_random_uniform(N_RANDOM, 0);
imsl_f_write_matrix ("First Group of Random Numbers", 1,
N_RANDOM, r1, 0);
seed = imsl_random_seed_get();
 
imsl_random_seed_set(seed);
r2 = imsl_f_random_uniform(N_RANDOM, 0);
imsl_f_write_matrix ("Second Group of Random Numbers", 1,
N_RANDOM, r2, 0);
 
imsl_random_seed_set(123457);
r = imsl_f_random_uniform(2*N_RANDOM, 0);
imsl_f_write_matrix ("Both Groups of Random Numbers", 1,
2*N_RANDOM, r, 0);
}
Output
 
First Group of Random Numbers
1 2 3 4 5
0.9662 0.2607 0.7663 0.5693 0.8448
 
Second Group of Random Numbers
1 2 3 4 5
0.0443 0.9872 0.6014 0.8964 0.3809
 
Both Groups of Random Numbers
1 2 3 4 5 6
0.9662 0.2607 0.7663 0.5693 0.8448 0.0443
 
7 8 9 10
0.9872 0.6014 0.8964 0.3809