#include "timerRemap.hpp" #include "mpi.hpp" #include #include #include #ifdef _usingEP using namespace ep_lib; #endif namespace sphereRemap { using namespace std; map *CTimer::allTimer_ptr = 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 "<::iterator it; if(allTimer_ptr == 0) allTimer_ptr = new map; it=allTimer_ptr->find(name); if (it==allTimer_ptr->end()) it=allTimer_ptr->insert(pair(name,new CTimer(name))).first; return *(it->second); } }