tinyopt
700
Tinyopt, a lightweight, header only optimization library
Toggle main menu visibility
Loading...
Searching...
No Matches
time.h
1
// Copyright 2026 Julien Michot.
2
// SPDX-License-Identifier: Apache-2.0
3
4
#pragma once
5
6
#include <chrono>
7
8
namespace
tinyopt {
9
10
using
Clock = std::chrono::high_resolution_clock;
11
using
TimePoint = std::chrono::high_resolution_clock::time_point;
12
21
inline
auto
tic() {
return
Clock::now(); }
22
34
inline
double
toc_ms(
const
std::chrono::time_point<Clock> &t0) {
35
return
static_cast<
double
>
(
36
std::chrono::duration_cast<std::chrono::microseconds>(tic() - t0).count()) *
37
1e-3;
38
}
39
51
inline
double
dt_ms(
const
std::chrono::time_point<Clock> &t0,
52
const
std::chrono::time_point<Clock> &t1) {
53
return
static_cast<
double
>
(
54
std::chrono::duration_cast<std::chrono::microseconds>(t1 - t0).count()) *
55
1e-3;
56
}
57
58
}
// namespace tinyopt
include
tinyopt
time.h
Generated by
1.18.0