W3cubDocs

/GNU Fortran 10

9.224 RANDOM_INIT — Initialize a pseudo-random number generator

Description:

Initializes the state of the pseudorandom number generator used by RANDOM_NUMBER.

Standard:

Fortran 2018

Class:

Subroutine

Syntax:

CALL RANDOM_INIT(REPEATABLE, IMAGE_DISTINCT)

Arguments:
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 different for repeated execution of the program. 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 th seed set by a call to RANDOM_INIT in another image. If it is .false., the seed is set value that does depend which image called RANDOM_INIT.
Example:
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
See also:

RANDOM_NUMBER, RANDOM_SEED

© Free Software Foundation
Licensed under the GNU Free Documentation License, Version 1.3.
https://gcc.gnu.org/onlinedocs/gcc-10.2.0/gfortran/RANDOM_005fINIT.html