#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 &model); void exp_clause(void *cl, int lbd); bool imp_clause(clause_store *cls, void *cl); void export_clauses_to(vec &clauses); void import_clauses_from(vec &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; };