CBMC
satcheck.h
Go to the documentation of this file.
1 /*******************************************************************\
2 
3 Module:
4 
5 Author: Daniel Kroening, kroening@kroening.com
6 
7 \*******************************************************************/
8 
9 
10 #ifndef CPROVER_SOLVERS_SAT_SATCHECK_H
11 #define CPROVER_SOLVERS_SAT_SATCHECK_H
12 
13 // This sets a define for the SAT solver
14 // based on set flags that come via the compiler
15 // command line.
16 
17 // #define SATCHECK_ZCHAFF
18 // #define SATCHECK_MINISAT1
19 // #define SATCHECK_MINISAT2
20 // #define SATCHECK_GLUCOSE
21 // #define SATCHECK_BOOLEFORCE
22 // #define SATCHECK_PICOSAT
23 // #define SATCHECK_LINGELING
24 // #define SATCHECK_CADICAL
25 
26 #if defined(HAVE_IPASIR) && !defined(SATCHECK_IPASIR)
27 #define SATCHECK_IPASIR
28 #endif
29 
30 #if defined(HAVE_ZCHAFF) && !defined(SATCHECK_ZCHAFF)
31 #define SATCHECK_ZCHAFF
32 #endif
33 
34 #if defined(HAVE_MINISAT1) && !defined(SATCHECK_MINISAT1)
35 #define SATCHECK_MINISAT1
36 #endif
37 
38 #if defined(HAVE_MINISAT2) && !defined(SATCHECK_MINISAT2)
39 #define SATCHECK_MINISAT2
40 #endif
41 
42 #if defined(HAVE_GLUCOSE) && !defined(SATCHECK_GLUCOSE)
43 #define SATCHECK_GLUCOSE
44 #endif
45 
46 #if defined(HAVE_BOOLEFORCE) && !defined(SATCHECK_BOOLEFORCE)
47 #define SATCHECK_BOOLEFORCE
48 #endif
49 
50 #if defined(HAVE_PICOSAT) && !defined(SATCHECK_PICOSAT)
51 #define SATCHECK_PICOSAT
52 #endif
53 
54 #if defined(HAVE_LINGELING) && !defined(SATCHECK_LINGELING)
55 #define SATCHECK_LINGELING
56 #endif
57 
58 #if defined(HAVE_CADICAL) && !defined(SATCHECK_CADICAL)
59 #define SATCHECK_CADICAL
60 #endif
61 
62 #if defined SATCHECK_ZCHAFF
63 # include "satcheck_zchaff.h"
64 #endif
65 
66 #if defined SATCHECK_BOOLEFORCE
67 # include "satcheck_booleforce.h"
68 #endif
69 
70 #if defined SATCHECK_MINISAT1
71 # include "satcheck_minisat.h"
72 #endif
73 
74 #if defined SATCHECK_MINISAT2
75 # include "satcheck_minisat2.h"
76 #endif
77 
78 #if defined SATCHECK_IPASIR
79 # include "satcheck_ipasir.h"
80 #endif
81 
82 #if defined SATCHECK_PICOSAT
83 # include "satcheck_picosat.h"
84 #endif
85 
86 #if defined SATCHECK_LINGELING
87 # include "satcheck_lingeling.h"
88 #endif
89 
90 #if defined SATCHECK_GLUCOSE
91 # include "satcheck_glucose.h"
92 #endif
93 
94 #if defined SATCHECK_CADICAL
95 # include "satcheck_cadical.h"
96 #endif
97 
98 #if defined SATCHECK_ZCHAFF
99 
100 typedef satcheck_zchafft satcheckt;
101 typedef satcheck_zchafft satcheck_no_simplifiert;
102 
103 #elif defined SATCHECK_BOOLEFORCE
104 
105 typedef satcheck_booleforcet satcheckt;
106 typedef satcheck_booleforcet satcheck_no_simplifiert;
107 
108 #elif defined SATCHECK_MINISAT1
109 
110 typedef satcheck_minisat1t satcheckt;
111 typedef satcheck_minisat1t satcheck_no_simplifiert;
112 
113 #elif defined SATCHECK_MINISAT2
114 
115 typedef satcheck_minisat_simplifiert satcheckt;
116 typedef satcheck_minisat_no_simplifiert satcheck_no_simplifiert;
117 
118 #elif defined SATCHECK_IPASIR
119 
120 typedef satcheck_ipasirt satcheckt;
121 typedef satcheck_ipasirt satcheck_no_simplifiert;
122 
123 #elif defined SATCHECK_PICOSAT
124 
125 typedef satcheck_picosatt satcheckt;
126 typedef satcheck_picosatt satcheck_no_simplifiert;
127 
128 #elif defined SATCHECK_LINGELING
129 
130 typedef satcheck_lingelingt satcheckt;
131 typedef satcheck_lingelingt satcheck_no_simplifiert;
132 
133 #elif defined SATCHECK_GLUCOSE
134 
135 typedef satcheck_glucose_simplifiert satcheckt;
136 typedef satcheck_glucose_no_simplifiert satcheck_no_simplifiert;
137 
138 #elif defined SATCHECK_CADICAL
139 
140 typedef satcheck_cadical_no_preprocessingt satcheckt;
141 typedef satcheck_cadical_no_preprocessingt satcheck_no_simplifiert;
142 
143 #endif
144 
145 #endif // CPROVER_SOLVERS_SAT_SATCHECK_H
Interface for generic SAT solver interface IPASIR.