2022-08-30 15:42:35 +08:00
|
|
|
#include "basesolver.hpp"
|
2023-03-15 14:15:44 +08:00
|
|
|
#include <deque>
|
2022-08-30 15:42:35 +08:00
|
|
|
|
|
|
|
struct kissat;
|
2022-09-15 10:31:41 +08:00
|
|
|
struct cvec;
|
2022-08-30 15:42:35 +08:00
|
|
|
|
|
|
|
class basekissat : public basesolver {
|
|
|
|
public:
|
|
|
|
void terminate();
|
2023-02-28 15:14:04 +08:00
|
|
|
void add(int l);
|
2022-08-30 15:42:35 +08:00
|
|
|
int solve();
|
2023-02-28 15:14:04 +08:00
|
|
|
int val(int l);
|
2023-03-01 22:05:44 +08:00
|
|
|
void configure(const char* name, int id);
|
2023-03-15 14:15:44 +08:00
|
|
|
|
2023-02-28 15:14:04 +08:00
|
|
|
int get_conflicts();
|
|
|
|
void parse_from_CNF(char* filename);
|
|
|
|
void parse_from_PAR(preprocess *pre);
|
|
|
|
void exp_clause(void *cl, int lbd);
|
|
|
|
bool imp_clause(clause_store *cls, void *cl);
|
2022-08-30 15:42:35 +08:00
|
|
|
|
|
|
|
basekissat(int id, light *light);
|
|
|
|
~basekissat();
|
|
|
|
kissat* solver;
|
2023-03-15 14:15:44 +08:00
|
|
|
|
2022-09-15 10:31:41 +08:00
|
|
|
friend int cbkImportClause(void *, int *, cvec *);
|
|
|
|
friend int cbkExportClause(void *, int *, cvec *);
|
2023-03-20 21:40:19 +08:00
|
|
|
friend void cbk_free_clauses(void *);
|
2022-08-30 15:42:35 +08:00
|
|
|
};
|