Alsvinn  0.5.3
The fast FVM simulator with UQ support
Classes | Namespaces | Macros
Timer.hpp File Reference
#include <chrono>
#include "alsutils/timer/TimerData.hpp"
#include "alsutils/timer/TimerDatabase.hpp"
#include "alsutils/config.hpp"

Go to the source code of this file.

Classes

class  alsutils::timer::Timer
 

Namespaces

 alsutils
 Various utilities for mpi and cuda.
 
 alsutils::timer
 

Macros

#define ALSVINN_MAKE_TIMER_VARIABLE_NAME1(X)   timer##X
 
#define ALSVINN_MAKE_TIMER_VARIABLE_NAME2(X, Y)   timer##X##Y
 
#define ALSVINN_MAKE_TIMER_VARIABLE_NAME3(X, Y, Z)   timer##X##Y##Z
 
#define ALSVINN_MAKE_TIMER_VARIABLE_NAME4(X, Y, Z, V)   timer##X##Y##Z##V
 
#define ALSVINN_MAKE_TIMER_VARIABLE_NAME5(X, Y, Z, V, W)   timer##X##Y##Z##V##W
 
#define ALSVINN_MAKE_TIMER_VARIABLE_NAME6(X, Y, Z, V, W, Q)   timer##X##Y##Z##V##W##Q
 
#define ALSVINN_MAKE_TIMER_STRINGS1(X)   #X
 
#define ALSVINN_MAKE_TIMER_STRINGS2(X, Y)   #X,#Y
 
#define ALSVINN_MAKE_TIMER_STRINGS3(X, Y, Z)   #X,#Y,#Z
 
#define ALSVINN_MAKE_TIMER_STRINGS4(X, Y, Z, V)   #X, #Y, #Z,#V
 
#define ALSVINN_MAKE_TIMER_STRINGS5(X, Y, Z, V, W)   #X, #Y, #Z, #V, #W
 
#define ALSVINN_MAKE_TIMER_STRINGS6(X, Y, Z, V, W, Q)   #X, #Y, #Z, #V, #W, #Q
 
#define GET_MACRO(_1, _2, _3, _4, _5, _6, NAME, ...)   NAME
 
#define ALSVINN_MAKE_TIMER_VARIABLE_NAME(...)   GET_MACRO(__VA_ARGS__, ALSVINN_MAKE_TIMER_VARIABLE_NAME6, ALSVINN_MAKE_TIMER_VARIABLE_NAME5, ALSVINN_MAKE_TIMER_VARIABLE_NAME4, ALSVINN_MAKE_TIMER_VARIABLE_NAME3, ALSVINN_MAKE_TIMER_VARIABLE_NAME2, ALSVINN_MAKE_TIMER_VARIABLE_NAME1)(__VA_ARGS__)
 
#define ALSVINN_MAKE_TIMER_STRINGS(...)   GET_MACRO(__VA_ARGS__, ALSVINN_MAKE_TIMER_VARIABLE_NAME6, ALSVINN_MAKE_TIMER_STRINGS5, ALSVINN_MAKE_TIMER_STRINGS4,ALSVINN_MAKE_TIMER_STRINGS3, ALSVINN_MAKE_TIMER_STRINGS2, ALSVINN_MAKE_TIMER_STRINGS1)(__VA_ARGS__)
 
#define ALSVINN_TIME_BLOCK(...)
 

Macro Definition Documentation

◆ ALSVINN_MAKE_TIMER_STRINGS

◆ ALSVINN_MAKE_TIMER_STRINGS1

#define ALSVINN_MAKE_TIMER_STRINGS1 (   X)    #X

◆ ALSVINN_MAKE_TIMER_STRINGS2

#define ALSVINN_MAKE_TIMER_STRINGS2 (   X,
 
)    #X,#Y

◆ ALSVINN_MAKE_TIMER_STRINGS3

#define ALSVINN_MAKE_TIMER_STRINGS3 (   X,
  Y,
 
)    #X,#Y,#Z

◆ ALSVINN_MAKE_TIMER_STRINGS4

#define ALSVINN_MAKE_TIMER_STRINGS4 (   X,
  Y,
  Z,
 
)    #X, #Y, #Z,#V

◆ ALSVINN_MAKE_TIMER_STRINGS5

#define ALSVINN_MAKE_TIMER_STRINGS5 (   X,
  Y,
  Z,
  V,
 
)    #X, #Y, #Z, #V, #W

◆ ALSVINN_MAKE_TIMER_STRINGS6

#define ALSVINN_MAKE_TIMER_STRINGS6 (   X,
  Y,
  Z,
  V,
  W,
 
)    #X, #Y, #Z, #V, #W, #Q

◆ ALSVINN_MAKE_TIMER_VARIABLE_NAME

◆ ALSVINN_MAKE_TIMER_VARIABLE_NAME1

#define ALSVINN_MAKE_TIMER_VARIABLE_NAME1 (   X)    timer##X

◆ ALSVINN_MAKE_TIMER_VARIABLE_NAME2

#define ALSVINN_MAKE_TIMER_VARIABLE_NAME2 (   X,
 
)    timer##X##Y

◆ ALSVINN_MAKE_TIMER_VARIABLE_NAME3

#define ALSVINN_MAKE_TIMER_VARIABLE_NAME3 (   X,
  Y,
 
)    timer##X##Y##Z

◆ ALSVINN_MAKE_TIMER_VARIABLE_NAME4

#define ALSVINN_MAKE_TIMER_VARIABLE_NAME4 (   X,
  Y,
  Z,
 
)    timer##X##Y##Z##V

◆ ALSVINN_MAKE_TIMER_VARIABLE_NAME5

#define ALSVINN_MAKE_TIMER_VARIABLE_NAME5 (   X,
  Y,
  Z,
  V,
 
)    timer##X##Y##Z##V##W

◆ ALSVINN_MAKE_TIMER_VARIABLE_NAME6

#define ALSVINN_MAKE_TIMER_VARIABLE_NAME6 (   X,
  Y,
  Z,
  V,
  W,
 
)    timer##X##Y##Z##V##W##Q

◆ ALSVINN_TIME_BLOCK

#define ALSVINN_TIME_BLOCK (   ...)

◆ GET_MACRO

#define GET_MACRO (   _1,
  _2,
  _3,
  _4,
  _5,
  _6,
  NAME,
  ... 
)    NAME