`Run file time remaining clear all vari h,m,s,h0,m0,s0,h1,m1,s1,dh,dm,ds,nr,sr,ds0,ds1,ds2,dsa,dn macro tick set h0=LEFT 2 "{time}" set m0=LEFT 5 "{time}" set m0=RIGHT 2 "{m0}" set s0=RIGHT 2 "{time}" / macro tock set h1=LEFT 2 "{time}" set m1=LEFT 5 "{time}" set m1=RIGHT 2 "{m1}" set s1=RIGHT 2 "{time}" set dh={h1} MINUS {h0} `compute difference set dm={m1} MINUS {m0} set ds={s1} MINUS {s0} set dh={dh} TIMES 60 TIMES 60 `convert all to seconds set dm={dm} TIMES 60 set ds={dh} PLUS {dm} PLUS {ds} `total elapsed seconds `\ Total Elapsed Seconds: {ds} \ `.h_m_s {ds} `\ Elapsed Time: {h}h {m}m {s}s / macro h_m_s `enter time in seconds `hours set h=%1 DIVIDE 60 DIVIDE 60 set h=TRUNC {h} `minutes set m={h} TIMES 60 TIMES 60 set m=%1 MINUS {m} set m={m} DIVIDE 60 set m=TRUNC {m} `seconds set h0={h} TIMES 60 TIMES 60 set m0={m} TIMES 60 set s=%1 MINUS {m0} MINUS {h0} / macro how_long `enter total iterations, current iteration if %2=1 then set ds1=0, ds2=0, dn=1 if %2=2 then set ds1={ds0}, ds2=0, dn=2 if %2>=3 then set ds1={ds0}, ds2={ds1}, dn=3 set ds0={ds} set dsa={ds0} PLUS {ds1} PLUS {ds2} DIVIDE {dn} `average set nr=%1 MINUS %2 set sr={dsa} TIMES {nr} `remaining total seconds .h_m_s {sr} `\ {2}Time remaining: {h}h {m}m {s}s / macro loop .tick `---- Calculations Go Here ---- `\ Working on iteration %1 out of {n}... wait 3 `------------------------------ .tock .how_long {n} %1 `total iterations, current iteration title "Time remaining: {h}h {m}m {s}s" /bar / vari n=5000 .loop({n},1)1