/**** This is a include file to be included as #include "timer.h" in your code. it defines to procedural macros starttimer and stoptimer to be used in code as explained in the handout ***/ #include #include #include extern struct rusage timestuff; extern double dtime; extern long time1, time2; extern double precondtime, conjgradtime; #define starttimer getrusage(RUSAGE_SELF,×tuff); \ time1 = timestuff.ru_utime.tv_sec; time2 = timestuff.ru_utime.tv_usec #define stoptimer getrusage(RUSAGE_SELF,×tuff); \ time1 -=timestuff.ru_utime.tv_sec; time2 -= timestuff.ru_utime.tv_usec; \ dtime -= (time2 + 1.0e6 * time1); \ dtime /= 1.0e6