ルーチンの時間を計る必要があり、壁時計の時間が必要なので、time() ルーチンを使用しています。ただし、私のコードには既に time という 2D 配列があるため、startt=time() を実行すると、配列を参照していると見なされます。アレイ名を変更せずにこれを回避するにはどうすればよいですか?
これをバイパスするためにメインプログラムの外に関数を作成しようとしましたが、機能しません:
program timetest
real time(0:10,0:10) ! dummy array to demonstrate problem
integer*8 startt,endt,tdif
time=0 ! initialize dummy array to 0
startt=gettime()
call sleep(2) !stuff to be timed
endt=gettime()
tdif=endt-startt
print*,"tdif= ",tdif
end
integer*8 function gettime()
gettime=time()
print*,"gettime= ",gettime
end function
出力:
gettime= 0
gettime= -9223372036854775808
tdif = 0