#include "timerRemap.hpp" #include "mpi.hpp" #include #include #include namespace sphereRemap { using namespace std; map *CTimer::allTimer = 0; CTimer::CTimer(const string& name_) : name(name_) { reset(); } double CTimer::getTime(void) { return MPI_Wtime(); } void CTimer::suspend(void) { if (!suspended) cumulatedTime+=getTime()-lastTime; suspended=true; } void CTimer::resume(void) { if (suspended) lastTime=getTime(); suspended=false; } void CTimer::reset(void) { cumulatedTime=0.; suspended=true; } double CTimer::getCumulatedTime(void) { return cumulatedTime; } void CTimer::print(void) { #ifdef TIMEIT cout << " Time for "<; map::iterator it; it=(*allTimer).find(name); if (it==(*allTimer).end()) it=(*allTimer).insert(pair(name,new CTimer(name))).first; return *(it->second); } }