13#ifndef SANDALS_TIC_TOC_HH
14#define SANDALS_TIC_TOC_HH
35 template <
typename Real>
38 using Clock = std::chrono::high_resolution_clock;
39 using Time = std::chrono::microseconds;
64 void tic() {this->m_start_time = Clock::now();}
71 this->m_stop_time = Clock::now();
72 this->m_elapsed_time = std::chrono::duration_cast<Time>(
73 this->m_stop_time - this->m_start_time
81 Real
elapsed_s()
const {
return Real(1.0e-6)*this->m_elapsed_time.count();}
87 Real
elapsed_ms()
const {
return Real(1.0e-3)*this->m_elapsed_time.count();}
93 Real
elapsed_us()
const {
return this->m_elapsed_time.count();}
Time m_elapsed_time
Definition TicToc.hh:43
Real elapsed_us() const
Definition TicToc.hh:93
TicToc(const TicToc &)=delete
Clock::time_point m_start_time
Definition TicToc.hh:41
TicToc()
Definition TicToc.hh:59
void toc()
Definition TicToc.hh:69
TicToc & operator=(TicToc const &)=delete
Real elapsed_ms() const
Definition TicToc.hh:87
std::chrono::high_resolution_clock Clock
Definition TicToc.hh:38
Real elapsed_s() const
Definition TicToc.hh:81
std::chrono::microseconds Time
Definition TicToc.hh:39
Clock::time_point m_stop_time
Definition TicToc.hh:42
void tic()
Definition TicToc.hh:64
The namespace for the Sandals library.
Definition Sandals.hh:89