37 using namespace Aleph;
81 return static_cast<int>(p);
84 using ClockType = high_resolution_clock;
85 using TimePointType = ClockType::time_point;
86 using DurationType = ClockType::duration;
93 static const double precision_values[];
99 return ClockType::now();
111 const TimePointType & ltp,
114 DurationType et = std::chrono::duration_cast<nanoseconds>(rtp - ltp);
115 return et.count() * precision_values[to_int(precision)];
130 Now(
bool start_now =
false)
131 : tp(), precision(
Precision::Milliseconds)
150 : tp(), precision(_precision)
171 precision = _precision;
184 tp = this->current_time_point();
198 TimePointType ltp = tp;
199 tp = this->current_time_point();
200 return compute_time_diff(tp, ltp, precision);
223 static double elapsed(
const TimePointType & tp,
224 const Precision & precision = Precision::Milliseconds)
226 return compute_time_diff(current_time_point(), tp, precision);
235 static double delta(
const TimePointType & tp,
236 const Precision & precision = Precision::Milliseconds)
238 return elapsed(tp, precision);
double elapsed()
Definition: ahNow.H:196
static double delta(const TimePointType &tp, const Precision &precision=Precision::Milliseconds)
Definition: ahNow.H:235
TimePointType start()
Definition: ahNow.H:182
double delta()
Definition: ahNow.H:207
static double compute_time_diff(const TimePointType &rtp, const TimePointType <p, const Precision &precision)
Definition: ahNow.H:110
static TimePointType current_time_point()
Gets the current time point.
Definition: ahNow.H:97
Precision
Precision for timing.
Definition: ahNow.H:69
void set_precision(const Precision &_precision)
Definition: ahNow.H:169
Now(bool start_now=false)
Builds a new object with default values.
Definition: ahNow.H:130
const Precision & get_precision() const
Definition: ahNow.H:160
Now(const Precision &_precision, bool start_now=false)
Builds a new object with parametric precision time.
Definition: ahNow.H:149
static double elapsed(const TimePointType &tp, const Precision &precision=Precision::Milliseconds)
Definition: ahNow.H:223