Type | Visibility | Attributes | Name | Initial | |||
---|---|---|---|---|---|---|---|
integer, | public | :: | clock | ||||
integer, | public | :: | i | ||||
integer, | public | :: | n | ||||
integer, | public, | DIMENSION(:), ALLOCATABLE | :: | seed |
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