KronLinInv  0.3
Kronecker-product-based linear inversion

◆ timeinfo()

subroutine parautil::timeinfo ( integer  totit,
integer  curit,
real(dp)  startt,
character(len=30)  loopinfo 
)

Definition at line 313 of file ompi_kronlininv.f08.

313  use, intrinsic :: iso_fortran_env, only: output_unit
314  character(len=30) :: loopinfo
315  integer :: totit,curit
316  real(dp) :: frac,eta,startt
317 
318  frac = real(curit,dp)/(real(totit,dp))
319  eta = ( (mpi_wtime()-startt) / real(curit,dp) ) * &
320  (real(totit-curit,dp))
321  !! char(27) -> escape
322  !! ESC[#A -> moves cursor up # lines (ANSI)
323  !! achar(13) -> carriage return (ASCII)
324  write(output_unit,fmt='(a5,a34,f7.3,a7,f12.2,1x,a3)') &
325  char(27)//'[1A'//achar(13),&
326  adjustl(loopinfo)//': ',&
327  frac*100_dp,"%, ETA:",eta/60.0,"min"
328  flush(output_unit) !! to make sure it prints immediately
integer, parameter, public dp
Here is the caller graph for this function: