355 use dc_date,
only: evalsec,
operator(+),
operator(-)
358
359 implicit none
360 type(CLOCK), intent(inout):: clk
361 logical, intent(out), optional:: err
362 character(STRING):: cause_c
363 real(DP):: stop_time
364 integer:: stat
365 character(*), parameter:: subname = 'DCClockStop'
366 continue
367 call beginsub(subname)
369 cause_c = 'CLOCK'
370 if (.not. clk % initialized) then
371 call messagenotify(
'W', subname,
'Call Create before Stop in dc_clock.')
372 call dbgmessage('Ignored because input argument was not initialized.')
374 goto 999
375 elseif (clk % start_time < 0.0_dp) then
376 call messagenotify(
'W', subname,
'Call Start before Stop in dc_clock.')
377 call dbgmessage('Ignored because input argument was not started.')
378 goto 999
379 end if
380 call cpu_time(stop_time)
381
382 clk % elapsed_time = clk % elapsed_time + stop_time - clk % start_time
383 clk % start_time = - 1.0
384 call dbgmessage('name=%c, cpu_time=%f, elapsed_time=%f', &
385 & c1=trim(clk % name), d=(/stop_time, clk % elapsed_time/))
386999 continue
388 call endsub(subname)
subroutine, public storeerror(number, where, err, cause_c, cause_i)
integer, parameter, public dc_enotinit
-400 以下: dc ユーティリティのエラー
integer, parameter, public dc_noerr
エラー等を保持
integer, parameter, public dp
倍精度実数型変数