init_random_seed_by_clock Subroutine

subroutine init_random_seed_by_clock()

Arguments

None

Variables

Type Visibility Attributes Name Initial
integer, public :: clock
integer, public :: i
integer, public :: n
integer, public, DIMENSION(:), ALLOCATABLE :: seed

Source Code

SUBROUTINE init_random_seed_by_clock()
   implicit none
   INTEGER :: i, n, clock
   INTEGER, DIMENSION(:), ALLOCATABLE :: seed
   CALL RANDOM_SEED(size = n)
   ALLOCATE(seed(n))
   CALL SYSTEM_CLOCK(COUNT=clock)
   seed = clock + 37 * (/ (i - 1, i = 1, n) /)
   CALL RANDOM_SEED(PUT = seed)
   DEALLOCATE(seed)
END SUBROUTINE init_random_seed_by_clock