DEFINITION MODULE Timing;

(*
    Title: 	Time various parts of execution
    LastEdit:	"Fri May  3 16:28:57 1985"
    Author: 	ahj
		Cambridge University Computer Laboratory
*)

FROM Streams IMPORT Stream ;

EXPORT QUALIFIED ZeroTimes, BreakTimes, PrintTotalTimes, PrintPartialTimes ;

PROCEDURE ZeroTimes;
(* Start all timers *)

PROCEDURE BreakTimes;
(* Reset lap timer *)

PROCEDURE PrintTotalTimes (stream : Stream) ;
(* Print the times between the last ZeroTimes and last BreakTimes,
   without newlines *)

PROCEDURE PrintPartialTimes (stream : Stream) ;
(* Print the times between the last two BreakTimes,
   without newlines *)

END Timing.
