DECLARATIONS ///.
Date [Ver. 1.0. Started - June 20, 2005.]
32 {
33 int RetValue;
34 int Lits[3];
35
36 {
42 Lits[0] = Abc_Var2Lit(a, 0);
43 Lits[1] = Abc_Var2Lit(b, 0);
44 Lits[2] = Abc_Var2Lit(c, 0);
45 printf("adding (a, b, c)\n");
48 Lits[0] = Abc_Var2Lit(a, 0);
49 Lits[1] = Abc_Var2Lit(b, 1);
50 printf("adding (a, !b)\n");
53 Lits[0] = Abc_Var2Lit(a, 1);
54 printf("adding (!a)\n");
58 printf("solved: %d\n", RetValue);
63 printf("a = %d, b = %d, c = %d\n", a_val, b_val, c_val);
68 printf("test 1 passed\n");
69 }
70
71 {
75 Lits[0] = Abc_Var2Lit(0, 0);
76 Lits[1] = Abc_Var2Lit(1, 0);
77 printf("adding (x0, x1)\n");
80 Lits[0] = Abc_Var2Lit(0, 0);
81 Lits[1] = Abc_Var2Lit(1, 1);
82 printf("adding (x0, !x1)\n");
85 Lits[0] = Abc_Var2Lit(0, 1);
86 Lits[1] = Abc_Var2Lit(1, 1);
87 printf("adding (!x0, !x1)\n");
91 printf("solved: %d\n", RetValue);
97 printf("test 2 passed\n");
98 }
99
100 {
104 Lits[0] = Abc_Var2Lit(0, 1);
105 Lits[1] = Abc_Var2Lit(1, 0);
106 Lits[2] = Abc_Var2Lit(2, 1);
107 printf("adding (!x0, x1, !x2)\n");
110 Lits[0] = Abc_Var2Lit(0, 0);
111 printf("adding (x0)\n");
114 Lits[0] = Abc_Var2Lit(1, 1);
115 printf("adding (!x1)\n");
118 Lits[0] = Abc_Var2Lit(2, 0);
119 printf("adding (x2)\n");
122 printf("solved: %d\n", RetValue);
125 printf("test 3 passed\n");
126 }
127
128 {
132 Lits[0] = Abc_Var2Lit(0, 1);
133 Lits[1] = Abc_Var2Lit(1, 0);
134 Lits[2] = Abc_Var2Lit(2, 1);
135 printf("adding (!x0, x1, !x2)\n");
138 Lits[0] = Abc_Var2Lit(0, 0);
139 printf("adding (x0)\n");
142 Lits[0] = Abc_Var2Lit(1, 1);
143 printf("assume (!x1)\n");
145 printf("solved: %d\n", RetValue);
152 printf("test 4 passed\n");
153 }
154
155 {
159 Lits[0] = Abc_Var2Lit(0, 1);
160 Lits[1] = Abc_Var2Lit(1, 0);
161 Lits[2] = Abc_Var2Lit(2, 1);
162 printf("adding (!x0, x1, !x2)\n");
165 Lits[0] = Abc_Var2Lit(0, 1);
166 Lits[1] = Abc_Var2Lit(1, 1);
167 Lits[2] = Abc_Var2Lit(2, 1);
168 printf("adding (!x0, !x1, !x2)\n");
171 Lits[0] = Abc_Var2Lit(0, 0);
172 printf("adding (x0)\n");
175 Lits[0] = Abc_Var2Lit(1, 0);
176 Lits[1] = Abc_Var2Lit(2, 0);
177 printf("assume (x1, x2)\n");
179 printf("solved: %d\n", RetValue);
181 int *pCore;
183 printf("core: ");
184 for(int i = 0; i < nSize; i++) {
185 if(i) {
186 printf(", ");
187 }
188 if(Abc_LitIsCompl(pCore[i])) {
189 printf("!");
190 }
191 printf("x%d", Abc_Lit2Var(pCore[i]));
192 }
193 printf("\n");
194 int neg_x2_in_core = 0;
195 for(int i = 0; i < nSize; i++) {
196 if(Abc_LitIsCompl(pCore[i]) && Abc_Lit2Var(pCore[i]) == 2) {
197 neg_x2_in_core = 1;
198 }
199 }
202 printf("test 5 passed\n");
203 }
204}
int cadical_solver_final(cadical_solver *s, int **ppArray)
int cadical_solver_addclause(cadical_solver *s, int *begin, int *end)
int cadical_solver_get_var_value(cadical_solver *s, int v)
int cadical_solver_nvars(cadical_solver *s)
void cadical_solver_setnvars(cadical_solver *s, int n)
int cadical_solver_addvar(cadical_solver *s)
int cadical_solver_solve(cadical_solver *s, int *begin, int *end, ABC_INT64_T nConfLimit, ABC_INT64_T nInsLimit, ABC_INT64_T nConfLimitGlobal, ABC_INT64_T nInsLimitGlobal)
ABC_NAMESPACE_IMPL_START cadical_solver * cadical_solver_new(void)
DECLARATIONS ///.
void cadical_solver_delete(cadical_solver *s)
typedefABC_NAMESPACE_HEADER_START struct cadical_solver_ cadical_solver
INCLUDES ///.