3
3
//
4
4
5
5
#include < iostream>
6
- #include < format>
6
+ #ifndef USE_FORMAT
7
+ #include < iomanip>
8
+ #endif
7
9
8
10
#include " complexity.hpp"
9
11
@@ -69,11 +71,17 @@ auto printStart(const program_opts& opts, const program_params& params) -> void
69
71
if (prettyPrint ())
70
72
{
71
73
std::cout << getVersion () << ' \n ' ;
74
+ #ifdef USE_FORMAT
72
75
std::cout << std::format (
73
76
" \033 [97mStarting the test : \033 [95m{}\033 [97m elements, \033 [95m{}\033 [97m iterations\033 [0m" ,
74
77
params.numbers , params.iterations );
75
78
if (opts.seed .has_value ())
76
79
std::cout << std::format (" (seed {})" , opts.seed .value ());
80
+ #else
81
+ std::cout << " \033 [97mStarting the test : \033 [95m" << params.numbers << " \033 [97m elements, \033 [95m" << params.iterations << " \033 [97m iterations\033 [0m" ;
82
+ if (opts.seed .has_value ())
83
+ std::cout << " (seed " << opts.seed .value () << " )" ;
84
+ #endif
77
85
std::cout << std::endl;
78
86
}
79
87
}
@@ -97,6 +105,7 @@ auto printStatus(const program_params& params, const results_t& results) -> void
97
105
98
106
if (prettyPrint ())
99
107
{
108
+ #ifdef USE_FORMAT
100
109
std::cout << std::format (" Worst = \033 [31m{}\033 [0m instructions\n " , results.worst );
101
110
std::cout << std::format (" Mean = \033 [33m{:.1f}\033 [0m instructions\n " , mean);
102
111
std::cout << std::format (" Best = \033 [36m{}\033 [0m instructions\n " , results.best );
@@ -115,9 +124,32 @@ auto printStatus(const program_params& params, const results_t& results) -> void
115
124
// std::cout << "Precision = enter a tester as the fourth argument\n";
116
125
std::cout << " Failed = currently not available\n " ;
117
126
std::cout << std::format (" \033 [32m{}\033 [0m % effective\n " , percentDone);
127
+ #else
128
+ std::cout << " Worst = \033 [31m" << results.worst << " \033 [0m instructions\n " ;
129
+ std::cout << " Mean = \033 [33m" << std::fixed << std::setprecision (1 ) << mean << " \033 [0m instructions\n " ;
130
+ std::cout << " Best = \033 [36m" << results.best << " \033 [0m instructions\n " ;
131
+ std::cout << " Std. deviation = \033 [93m" << std::fixed << std::setprecision (1 ) << stddev << " \033 [0m instructions\n " ;
132
+
133
+ if (params.objective .has_value ()) {
134
+ std::cout << " Objective = \033 [94m" << underObjective
135
+ << " \033 [0m % under \033 [94m" << params.objective .value ()
136
+ << " \033 [0m (\033 [91m" << results.aboveObjective << " \033 [0m above)\n " ;
137
+ } else {
138
+ std::cout << " Objective = enter a number as the third argument\n " ;
139
+ }
140
+
141
+ // if (params.checker.has_value())
142
+ // std::cout << "Precision = \033[97m" << (ok * 100 / done) << "\033[0m % OK (\033[91m" << (done - ok) << "\033[0m KO) " << std::endl;
143
+ // else
144
+ // std::cout << "Precision = enter a tester as the fourth argument\n";
145
+
146
+ std::cout << " Failed = currently not available\n " ;
147
+ std::cout << " \033 [32m" << percentDone << " \033 [0m % effective\n " ;
148
+ #endif
118
149
}
119
150
else
120
151
{
152
+ #ifdef USE_FORMAT
121
153
std::cout << std::format (
122
154
" {{\n "
123
155
" \" elements\" : {},\n "
@@ -137,5 +169,17 @@ auto printStatus(const program_params& params, const results_t& results) -> void
137
169
results.best ,
138
170
stddev,
139
171
results.aboveObjective );
172
+ #else
173
+ std::cout << " {\n "
174
+ << " \" elements\" : " << params.numbers << " ,\n "
175
+ << " \" iterations\" : " << params.iterations << " ,\n "
176
+ << " \" objective\" : " << params.objective .value_or (-1 ) << " ,\n "
177
+ << " \" worst\" : " << results.worst << " ,\n "
178
+ << " \" mean\" : " << std::fixed << std::setprecision (6 ) << mean << " ,\n "
179
+ << " \" best\" : " << results.best << " ,\n "
180
+ << " \" stddev\" : " << std::fixed << std::setprecision (6 ) << stddev << " ,\n "
181
+ << " \" aboveObjective\" : " << results.aboveObjective << " \n "
182
+ << " }\n " ;
183
+ #endif
140
184
}
141
185
}
0 commit comments