wfcreate u 1 50
scalar starttime = @now*24*3600 'start time in seconds
mode quiet
logmode logmsg

equation dummy
series e = nrnd
dummy.ls e c 


!updateinterval = 5
!meaniterationtime = 0.05
!elapsed_update = !updateinterval
table(1,15) progresstable

tic

scalar iterationnumber
scalar iterations = 100


for iterationnumber=1 to iterations
logmsg Iteration {iterationnumber} 
progresstable.display

exec "./iterationtest - innerloop.prg"


!elapsed = @toc
tic

!meaniterationtime = ((iterationnumber-1) * !meaniterationtime + !elapsed) / iterationnumber 
!remaining = !meaniterationtime*(iterations - iterationnumber)

matrix(iterations,2) progressmatrix
progressmatrix(iterationnumber,1) = !remaining 'estimated remaining time in seconds
progressmatrix(iterationnumber,2) = (@now*24*3600 + !remaining - starttime) 'total runtime estimate in seconds
!elapsed_update = !elapsed_update + !elapsed

if !elapsed_update > !updateinterval then 
	progresstable(1,1) = "Seconds elapsed for last iteration (average): " + @str(!elapsed) + " (" + @str(!meaniterationtime) + ")"
	progressmatrix.line
	progresstable.display
	!elapsed_update = 0
endif
next