mirror of
https://github.com/Z3Prover/z3
synced 2025-09-07 18:21:23 +00:00
Perform clause simplification earlier
This commit is contained in:
parent
44f0f88172
commit
5f2fd039ba
8 changed files with 57 additions and 45 deletions
|
@ -61,7 +61,7 @@ enum class LogLevel : int {
|
|||
|
||||
/// Filter log messages
|
||||
bool
|
||||
polysat_should_log(LogLevel msg_level, std::string fn, std::string pretty_fn);
|
||||
polysat_should_log(unsigned verbose_lvl, LogLevel msg_level, std::string fn, std::string pretty_fn);
|
||||
|
||||
std::pair<std::ostream&, bool>
|
||||
polysat_log(LogLevel msg_level, std::string fn, std::string pretty_fn);
|
||||
|
@ -70,31 +70,36 @@ polysat_log(LogLevel msg_level, std::string fn, std::string pretty_fn);
|
|||
#define __PRETTY_FUNCTION__ __FUNCSIG__
|
||||
#endif
|
||||
|
||||
#define LOG_(lvl, x) \
|
||||
do { \
|
||||
if (polysat_should_log(lvl, __func__, __PRETTY_FUNCTION__)) { \
|
||||
auto pair = polysat_log(lvl, __func__, __PRETTY_FUNCTION__); \
|
||||
std::ostream& os = pair.first; \
|
||||
bool should_reset = pair.second; \
|
||||
os << x; \
|
||||
if (should_reset) \
|
||||
os << color_reset(); \
|
||||
os << std::endl; \
|
||||
} \
|
||||
#define LOG_(verbose_lvl, log_lvl, x) \
|
||||
do { \
|
||||
if (polysat_should_log(verbose_lvl, log_lvl, __func__, __PRETTY_FUNCTION__)) { \
|
||||
auto pair = polysat_log(log_lvl, __func__, __PRETTY_FUNCTION__); \
|
||||
std::ostream& os = pair.first; \
|
||||
bool should_reset = pair.second; \
|
||||
os << x; \
|
||||
if (should_reset) \
|
||||
os << color_reset(); \
|
||||
os << std::endl; \
|
||||
} \
|
||||
} while (false)
|
||||
|
||||
#define LOG_CONCAT_HELPER(a,b) a ## b
|
||||
#define LOG_CONCAT(a,b) LOG_CONCAT_HELPER(a,b)
|
||||
|
||||
#define LOG_INDENT(lvl, x) \
|
||||
LOG_(lvl, x); \
|
||||
#define LOG_INDENT(verbose_lvl, log_lvl, x) \
|
||||
LOG_(verbose_lvl, log_lvl, x); \
|
||||
polysat_log_indent LOG_CONCAT(polysat_log_indent_obj_, __LINE__) (4);
|
||||
|
||||
#define LOG_H1(x) LOG_INDENT(LogLevel::Heading1, x)
|
||||
#define LOG_H2(x) LOG_INDENT(LogLevel::Heading2, x)
|
||||
#define LOG_H3(x) LOG_INDENT(LogLevel::Heading3, x)
|
||||
#define LOG(x) LOG_(LogLevel::Default , x)
|
||||
#define LOG_V(x) LOG_(LogLevel::Verbose , x)
|
||||
#define LOG_H1(x) LOG_INDENT(0, LogLevel::Heading1, x)
|
||||
#define LOG_H2(x) LOG_INDENT(0, LogLevel::Heading2, x)
|
||||
#define LOG_H3(x) LOG_INDENT(0, LogLevel::Heading3, x)
|
||||
#define LOG(x) LOG_(0, LogLevel::Default , x)
|
||||
|
||||
#define LOG_H1_V(verbose_lvl, x) LOG_INDENT(verbose_lvl, LogLevel::Heading1, x)
|
||||
#define LOG_H2_V(verbose_lvl, x) LOG_INDENT(verbose_lvl, LogLevel::Heading2, x)
|
||||
#define LOG_H3_V(verbose_lvl, x) LOG_INDENT(verbose_lvl, LogLevel::Heading3, x)
|
||||
#define LOG_V(verbose_lvl, x) LOG_(verbose_lvl, LogLevel::Verbose , x)
|
||||
|
||||
#define COND_LOG(c, x) if (c) LOG(x)
|
||||
#define LOGE(x) LOG(#x << " = " << (x))
|
||||
|
||||
|
@ -110,18 +115,23 @@ inline void set_log_enabled(bool) {}
|
|||
inline bool get_log_enabled() { return false; }
|
||||
class scoped_set_log_enabled {};
|
||||
|
||||
#define LOG_(lvl, x) \
|
||||
do { \
|
||||
/* do nothing */ \
|
||||
#define LOG_(vlvl, lvl, x) \
|
||||
do { \
|
||||
/* do nothing */ \
|
||||
} while (false)
|
||||
|
||||
#define LOG_H1(x) LOG_(0, x)
|
||||
#define LOG_H2(x) LOG_(0, x)
|
||||
#define LOG_H3(x) LOG_(0, x)
|
||||
#define LOG(x) LOG_(0, x)
|
||||
#define LOG_V(x) LOG_(0, x)
|
||||
#define COND_LOG(c, x) LOG_(c, x)
|
||||
#define LOGE(x) LOG_(0, x)
|
||||
#define LOG_H1(x) LOG_(0, 0, x)
|
||||
#define LOG_H2(x) LOG_(0, 0, x)
|
||||
#define LOG_H3(x) LOG_(0, 0, x)
|
||||
#define LOG(x) LOG_(0, 0, x)
|
||||
|
||||
#define LOG_H1_V(v, x) LOG_(v, 0, x)
|
||||
#define LOG_H2_V(v, x) LOG_(v, 0, x)
|
||||
#define LOG_H3_V(v, x) LOG_(v, 0, x)
|
||||
#define LOG_V(v, x) LOG_(v, 0, x)
|
||||
|
||||
#define COND_LOG(c, x) LOG_(0, c, x)
|
||||
#define LOGE(x) LOG_(0, 0, x)
|
||||
|
||||
#define IF_LOGGING(x) \
|
||||
do { \
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue