198 {
199 unsigned different = 0;
200#ifdef CADICAL_QUIET
201 const bool verbose = false;
202#endif
203 char buffer[256];
204
205#define OPTION(N, V, L, H, O, P, R, D) \
206 if (N != (V)) \
207 different++; \
208 if (verbose || N != (V)) { \
209 if ((L) == 0 && (H) == 1) { \
210 snprintf (buffer, sizeof buffer, "--" #N "=%s", \
211 (N ? "true" : "false")); \
212 MSG (" %s%-30s%s (%s default %s'%s'%s)", \
213 ((N == (V)) ? "" : tout.bright_yellow_code ()), buffer, \
214 ((N == (V)) ? "" : tout.normal_code ()), \
215 ((N == (V)) ? "same as" : "different from"), \
216 ((N == (V)) ? tout.green_code () : tout.yellow_code ()), \
217 (bool) (V) ? "true" : "false", tout.normal_code ()); \
218 } else { \
219 snprintf (buffer, sizeof buffer, "--" #N "=%d", N); \
220 MSG (" %s%-30s%s (%s default %s'" #V "'%s)", \
221 ((N == (V)) ? "" : tout.bright_yellow_code ()), buffer, \
222 ((N == (V)) ? "" : tout.normal_code ()), \
223 ((N == (V)) ? "same as" : "different from"), \
224 ((N == (V)) ? tout.green_code () : tout.yellow_code ()), \
225 tout.normal_code ()); \
226 } \
227 }
229#undef OPTION
230 if (!different)
231 MSG (
"all options are set to their default value");
232}