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