ABC: A System for Sequential Synthesis and Verification
Loading...
Searching...
No Matches
cover.hpp
Go to the documentation of this file.
1
#ifndef _cover_hpp_INCLUDED
2
#define _cover_hpp_INCLUDED
3
4
#include "
global.h
"
5
6
/*------------------------------------------------------------------------*/
7
8
// This header only provides the 'COVER' macro for testing. It is unrelated
9
// to 'cover.cpp' which implements covered clause elimination (CCE), but we
10
// wanted to use the name base name in both cases. More explanation on CCE
11
// is provided in 'cover.cpp'.
12
13
/*------------------------------------------------------------------------*/
14
15
// Coverage goal, used similar to 'CADICAL_assert' (but with flipped condition) and
16
// also included even if 'CADICAL_NDEBUG' is defined (in optimizing compilation).
17
//
18
// This should in essence not be used in production code.
19
//
20
// There seems to be no problem overloading the name 'COVER' of this macro
21
// with the constant 'COVER' of 'Internal::Mode' (surprisingly).
22
23
#define COVER(COND) \
24
do { \
25
if (!(COND)) \
26
break; \
27
fprintf (stderr, \
28
"%scadical%s: %s:%d: %s: Coverage goal %s`%s'%s reached.\n", \
29
terr.bold_code (), terr.normal_code (), __FUNCTION__, \
30
__LINE__, __FILE__, terr.green_code (), #COND, \
31
terr.normal_code ()); \
32
fflush (stderr); \
33
abort (); \
34
} while (0)
35
36
#endif
global.h
src
sat
cadical
cover.hpp
Generated by Doxygen 1.13.2 © 2025 EPTansuo. All rights reserved.
鲁ICP备2021046540号