1.drup_file
声明的成员与函数
FILE* drup_file;
#ifdef BIN_DRUP
static inline void byteDRUP(Lit l){ unsigned int u = 2 * (var(l) + 1) + sign(l); } template<class V> assert(op == ‘a‘ || op == ‘d‘); } static inline void binDRUP_strengthen(const Clause& c, Lit l, FILE* drup_file){ *buf_ptr++ = ‘a‘; buf_len++; } static inline void binDRUP_flush(FILE* drup_file){ fwrite(drup_buf, sizeof(unsigned char), buf_len, drup_file); }
|
|
被使用的情况
bool Solver::addClause_(vec<Lit>& ps)
// Check if clause is satisfied and remove false/duplicate literals: if (drup_file){
for (i = j = 0, p = lit_Undef; i < ps.size(); i++) if (drup_file && i != j){ fprintf(drup_file, "d "); if (ps.size() == 0) return true;
|
|
void Solver::removeClause(CRef cr) { if (drup_file){ detachClause(cr); |
|
search函数传播遇到冲突代码段中有以下相关代码: if (drup_file){ |
|
solve_最后也有相关代码段 #ifdef BIN_DRUP |
|
其余被使用均在化简的相关函数之中 |
Relaxed_LCMDCBDL_newTech解读中目前不清楚的地方2021-5-18
原文:https://www.cnblogs.com/yuweng1689/p/14779865.html