Reaktoro
v2.11.0
A unified framework for modeling chemically reactive systems
Home
Modules
Namespaces
Classes
Files
License
File List
Reaktoro
Common
Profiling.hpp
1
// Reaktoro is a unified framework for modeling chemically reactive systems.
2
//
3
// Copyright © 2014-2024 Allan Leal
4
//
5
// This library is free software; you can redistribute it and/or
6
// modify it under the terms of the GNU Lesser General Public
7
// License as published by the Free Software Foundation; either
8
// version 2.1 of the License, or (at your option) any later version.
9
//
10
// This library is distributed in the hope that it will be useful,
11
// but WITHOUT ANY WARRANTY; without even the implied warranty of
12
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
13
// Lesser General Public License for more details.
14
//
15
// You should have received a copy of the GNU Lesser General Public License
16
// along with this library. If not, see <http://www.gnu.org/licenses/>.
17
18
#pragma once
19
20
// Reaktoro includes
21
#include <Reaktoro/Common/TimeUtils.hpp>
22
23
namespace
Reaktoro
{
24
25
#ifdef REAKTORO_DISABLE_PROFILING
26
28
#define tic(id)
29
31
#define toc(id) 0.0
32
34
#define timeit(expr, res) { expr; res 0.0; }
35
36
#else
37
39
#define tic(id) Time __start_time ## id = time();
40
42
#define toc(id) elapsed(__start_time ## id)
43
45
#define timeit(expr, res) { tic(__##__LINE__); expr; res elapsed(__start_time##__##__LINE__); }
46
47
#endif
// REAKTORO_DISABLE_PROFILING
48
49
}
// namespace Reaktoro
Reaktoro
The namespace containing all components of the Reaktoro library.
Definition:
Algorithms.hpp:29
Generated on Fri Jan 19 2024 09:38:41 for Reaktoro by
1.9.1