00001 #ifndef __J2K__Measure_INL__
00002 #define __J2K__Measure_INL__
00003
00004 inline _uint64 Measure::getCycles()
00005 {
00006 return ClockCycles();
00007 }
00008
00009 inline double Measure::getCPUfreq()
00010 {
00011 return cpu_freq;
00012 }
00013
00014 inline ULONG Measure::getClockPeriod()
00015 {
00016 return clock_period;
00017 }
00018
00019 inline double Measure::start()
00020 {
00021 start_time = ClockCycles();
00022 return ( start_time / cpu_freq );
00023 }
00024
00025 inline double Measure::stop()
00026 {
00027 stop_time = ClockCycles();
00028 return ( stop_time / cpu_freq );
00029 }
00030
00031
00032 inline double Measure::getElapsed()
00033 {
00034 elapsed = ( stop_time - start_time ) / cpu_freq;
00035 return elapsed;
00036 }
00037
00038 inline void Measure::print()
00039 {
00040 printf( "%6.4f ms", elapsed * Period_1_ms );
00041 }
00042
00043 inline Measure::Measure( const Measure& src )
00044 : elapsed( src.elapsed ),
00045 start_time( src.start_time ), stop_time( src.stop_time ) { }
00046
00047 inline const Measure& Measure::operator = ( const Measure& src )
00048 {
00049 elapsed = src.elapsed;
00050 start_time = src.start_time;
00051 stop_time = src.stop_time;
00052 }
00053
00054 #endif