program test_seed
implicit none
real x
integer jj
call init_random_seed()
do jj=1,10
call random_number(x) ! initial 之後 再call 即為 random ~~@@
write(*,*) x
enddo
end program
subroutine init_random_seed()
INTEGER :: i, n, clock
INTEGER, ALLOCATABLE :: seed(:)
CALL RANDOM_SEED(size = n)
ALLOCATE(seed(n))
CALL SYSTEM_CLOCK(COUNT=clock)
seed = clock - 2047 * (/ (i - 1, i = 1, n) /)
seed = seed * 1103515245 + 2531011
CALL RANDOM_SEED(PUT = seed)
DEALLOCATE(seed)
end subroutine
----------------------------------------
program random_test
implicit none
real*8 :: x(10)
! call random_seed()
call init_random_seed() !<- this line is for GFortran
call random_number(x)
write(*,'(F21.18)') x
end program
沒有留言:
張貼留言