RANDOM_INIT — Initialize a pseudo-random number generator ¶CALL RANDOM_INIT(REPEATABLE, IMAGE_DISTINCT)
Initializes the state of the pseudorandom number generator used by
RANDOM_NUMBER.
Subroutine
| REPEATABLE | Shall be a scalar with a LOGICAL type,
and it is INTENT(IN). If it is .true., the seed is set to
a processor-dependent value that is the same each time RANDOM_INIT
is called from the same image. The term “same image” means a single
instance of program execution. The sequence of random numbers is the same
for repeated execution of the program with the same execution environment.
If it is .false., the seed is set to a processor-dependent value. |
| IMAGE_DISTINCT | Shall be a scalar with a
LOGICAL type, and it is INTENT(IN). If it is .true.,
the seed is set to a processor-dependent value that is distinct from the
seed set by a call to RANDOM_INIT in another image. If it is
.false., the seed is set to a value that is the same on every image
calling RANDOM_INIT. |
program test_random_seed implicit none real x(3), y(3) call random_init(.true., .true.) call random_number(x) call random_init(.true., .true.) call random_number(y) ! x and y are the same sequence if (any(x /= y)) call abort end program test_random_seed
Fortran 2018
RANDOM_NUMBER — Pseudo-random number,
RANDOM_SEED — Initialize a pseudo-random number sequence