Index: ginsh/ginsh_parser.yy =================================================================== RCS file: /home/cvs/GiNaC/ginsh/ginsh_parser.yy,v retrieving revision 1.77.2.4 diff -r1.77.2.4 ginsh_parser.yy 32d31 < #include 34,37c33,34 < #if HAVE_UNISTD_H < #include < #include < #endif --- > #include > #include 64c61 < static struct rusage start_time, end_time; --- > static std::clock_t start_time, end_time; 213,218c210,212 < | T_TIME {getrusage(RUSAGE_SELF, &start_time);} '(' exp ')' { < getrusage(RUSAGE_SELF, &end_time); < cout << (end_time.ru_utime.tv_sec - start_time.ru_utime.tv_sec) + < (end_time.ru_stime.tv_sec - start_time.ru_stime.tv_sec) + < double(end_time.ru_utime.tv_usec - start_time.ru_utime.tv_usec) / 1e6 + < double(end_time.ru_stime.tv_usec - start_time.ru_stime.tv_usec) / 1e6 << 's' << endl; --- > | T_TIME { start_time = clock(); } '(' exp ')' { > end_time = clock(); > cout << double(end_time - start_time)/CLOCKS_PER_SEC << 's' << endl; Index: check/timer.cpp =================================================================== RCS file: /home/cvs/GiNaC/check/timer.cpp,v retrieving revision 1.7.4.2 diff -r1.7.4.2 timer.cpp 23,25c23,24 < #include < #include < #include --- > #include > #include 31,32c30,31 < getrusage(RUSAGE_SELF, &used1); < getrusage(RUSAGE_SELF, &used2); --- > used1 = std::clock(); > used2 = std::clock(); 38,39c37,38 < getrusage(RUSAGE_SELF, &used1); < getrusage(RUSAGE_SELF, &used2); --- > used1 = std::clock(); > used2 = std::clock(); 45c44 < getrusage(RUSAGE_SELF, &used2); --- > used2 = std::clock(); 50,51c49,50 < getrusage(RUSAGE_SELF, &used1); < getrusage(RUSAGE_SELF, &used2); --- > used1 = std::clock(); > used2 = std::clock(); 54c53 < double timer::read() --- > const double timer::read() 56d54 < double elapsed; 58,62c56 < getrusage(RUSAGE_SELF, &used2); < elapsed = ((used2.ru_utime.tv_sec - used1.ru_utime.tv_sec) + < (used2.ru_stime.tv_sec - used1.ru_stime.tv_sec) + < (used2.ru_utime.tv_usec - used1.ru_utime.tv_usec) / 1e6 + < (used2.ru_stime.tv_usec - used1.ru_stime.tv_usec) / 1e6); --- > used2 = std::clock(); 64c58,59 < return 0.01*int(elapsed*100+0.5); --- > double elapsed = 0.01*int(100.0*double(used2 - used1)/CLOCKS_PER_SEC + 0.5); > return elapsed; 67c62 < bool timer::running() --- > bool timer::running() const Index: check/timer.h =================================================================== RCS file: /home/cvs/GiNaC/check/timer.h,v retrieving revision 1.3.4.2 diff -r1.3.4.2 timer.h 26c26,28 < #include --- > #include > #include > 34,35c36,37 < double read(); < bool running(); --- > const double read(); > bool running() const; 38c40 < struct rusage used1, used2; --- > std::clock_t used1, used2; Index: configure.ac =================================================================== RCS file: /home/cvs/GiNaC/configure.ac,v retrieving revision 1.21.2.5 diff -r1.21.2.5 configure.ac 113a114 > AC_CHECK_HEADER(ctime, , GINAC_ERROR([The standard header file could not be found.]))