Manak  2.0.0
set_env.hpp
Go to the documentation of this file.
1 #ifndef MANAK_SET_ENV_HPP_INCLUDED
2 #define MANAK_SET_ENV_HPP_INCLUDED
3 
4 #include <fstream>
5 
6 #include "macro_utils.hpp"
7 
9 #ifdef MANAK_SIMPLE_MODULE
10 #define MANAK_MODULE_NAME MANAK_STRINGIZE(MANAK_SIMPLE_MODULE)
11 
12 #else // MANAK_SIMPLE_MODULE
13 #define MANAK_MODULE_NAME MANAK_STRINGIZE(MANAK_MODULE)
14 
15 #endif // MANAK_SIMPLE_BENCHMARK_MODULE
16 
18 #ifndef MANAK_DEFAULT_OUT_FILENAME
19 #define MANAK_DEFAULT_OUT_FILENAME benchmark_stat
20 #endif
21 
23 #ifndef MANAK_DEFAULT_TOLERANCE
24  #define MANAK_DEFAULT_TOLERANCE 10
25 #endif
26 
28 #ifndef MANAK_DEFAULT_ITERATIONS
29  #define MANAK_DEFAULT_ITERATIONS 10
30 #endif
31 
33 #ifndef MANAK_DEFAULT_SP
34  #define MANAK_DEFAULT_SP 100
35 #endif // MANAK_DEFAULT_SP
36 
40 #ifndef MANAK_REDIRECTION_FILENAME
41 
42 #define MANAK_REDIRECTION_FILENAME benchmark_log.txt
43 
44 #endif // MANAK_REDIRECTION_FILENAME
45 
49 #ifndef MANAK_REDIRECTION_BUFFER
50 
52 #define MANAK_OPEN_LOG std::ofstream f(MANAK_STRINGIZE(MANAK_REDIRECTION_FILENAME), std::fstream::app);
53 #define MANAK_CLOSE_LOG f.close();
54 #define MANAK_REDIRECTION_BUFFER f.rdbuf()
55 
56 #endif //MANAK_REDIRECTION_BUFFER
57 
58 #ifndef MANAK_OPEN_LOG
59 #define MANAK_OPEN_LOG
60 #endif
61 
62 #ifndef MANAK_CLOSE_LOG
63 #define MANAK_CLOSE_LOG
64 #endif
65 
66 #endif // MANAK_SET_ENV_HPP_INCLUDED