RANDOM_INIT — Initialize a pseudo-random number generator#
-
RANDOM_INIT(REPEATABLE, IMAGE_DISTINCT)#
Initializes the state of the pseudorandom number generator used by
RANDOM_NUMBER
.- Parameters:
REPEATABLE – Shall be a scalar with a
LOGICAL
type, and it isINTENT(IN)
. If it is.true.
, the seed is set to a processor-dependent value that is the same each timeRANDOM_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 isINTENT(IN)
. If it is.true.
, the seed is set to a processor-dependent value that is distinct from th seed set by a call toRANDOM_INIT
in another image. If it is.false.
, the seed is set to a value that does depend which image calledRANDOM_INIT
.
- Standard:
Fortran 2018
- Class:
Subroutine
- Syntax:
CALL RANDOM_INIT(REPEATABLE, IMAGE_DISTINCT)
- 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 — Pseudo-random number, RANDOM_SEED — Initialize a pseudo-random number sequence