cloud-sat/workers/basekissat.hpp
2023-03-01 22:05:44 +08:00

40 lines
1.1 KiB
C++

#include "basesolver.hpp"
struct kissat;
struct cvec;
class basekissat : public basesolver {
public:
void terminate();
void add(int l);
int solve();
int val(int l);
void configure(const char* name, int id);
// int get_reset_data();
// void reset();
int get_conflicts();
void parse_from_CNF(char* filename);
void parse_from_PAR(preprocess *pre);
void get_model(vec<int> &model);
void exp_clause(void *cl, int lbd);
bool imp_clause(clause_store *cls, void *cl);
void export_clauses_to(vec<clause_store *> &clauses);
void import_clauses_from(vec<clause_store *> &clauses);
void broaden_export_limit();
void restrict_export_limit();
double get_waiting_time();
basekissat(int id, light *light);
~basekissat();
int x1 = 0, x2 = 0;
double waiting_time = 0;
kissat* solver;
int good_clause_lbd = 0;
friend int cbkImportClause(void *, int *, cvec *);
friend int cbkExportClause(void *, int *, cvec *);
friend void cbkWaitSharing(void *);
std::ofstream outimport;
std::ofstream outexport;
std::ofstream outfree;
};