package CPUClock is
------------------------------------------------------------------
--|                                                              
--| Specification for a package to do CPU timing of algorithms
--|                                                              
--| Author: Michael B. Feldman, The George Washington University 
--| Last Modified: October 1995                                     
--|                                                              
------------------------------------------------------------------
  
  subtype CPUSecond is Float range 0.0 .. Float'Last;
  -- We make CPUSecond a Float type so the usual operations are available

  procedure ResetCPUTime;
  -- Pre:  none
  -- Post: resets a CPU timer

  function CPUTime return CPUSecond;
  -- Pre:  none
  -- Post: returns the number of CPUSeconds since the last reset

end CPUClock;