4 #include <boost/lexical_cast.hpp> 
   10                                  const char *message,
long long int loop)
 
   13   const char *unit = 
"clocks";
 
   15   const char *unit = 
"microSecs";
 
   17   std::cerr << std::dec << message << 
" : take " << cycles 
 
   18             << 
" " << unit << 
", loop= " << loop;
 
   20     std::cerr << 
" clocks/loop= " <<  (cycles/loop) << 
"."  
   21               << std::setfill(
'0') << std::setw(2) 
 
   22               << (cycles*100/loop)-(cycles/loop)*100;
 
   23   std::cerr << std::endl;
 
   28   : counter1(0), counter2(0),
 
   29     message(std::string(file)+
":"+(function)+
":"+boost::lexical_cast<std::string>(line))
 
   35   std::cerr << message << 
" " << counter1 << 
"/" << counter2;
 
   36   if(counter2!=0) std::cerr << 
" = " << (double)counter1/(
double)counter2;
 
   37   std::cerr << std::endl;
 
   43   gettimeofday(&end, NULL);
 
   45   end.tv_usec -= start.tv_usec;
 
   49     end.tv_usec += 1000000;
 
   52   end.tv_sec -= start.tv_sec;
 
   55      << end.tv_sec << 
":" << end.tv_usec