Next: RANDOM_SEED, Previous: RANDOM_INIT, Up: Intrinsic Procedures [Contents][Index]

### 9.225 `RANDOM_NUMBER`

— Pseudo-random number

*Description*:Returns a single pseudorandom number or an array of pseudorandom numbers from the uniform distribution over the range

*0 \leq x < 1*.The runtime-library implements the xoshiro256** pseudorandom number generator (PRNG). This generator has a period of

*2^{256} - 1*, and when using multiple threads up to*2^{128}*threads can each generate*2^{128}*random numbers before any aliasing occurs.Note that in a multi-threaded program (e.g. using OpenMP directives), each thread will have its own random number state. For details of the seeding procedure, see the documentation for the

`RANDOM_SEED`

intrinsic.*Standard*:Fortran 90 and later

*Class*:Subroutine

*Syntax*:`CALL RANDOM_NUMBER(HARVEST)`

*Arguments*:`HARVEST`Shall be a scalar or an array of type `REAL`

.*Example*:program test_random_number REAL :: r(5,5) CALL RANDOM_NUMBER(r) end program

*See also*: