Пример #1
0
void SimpSolver::removeClause(Clause& c)
{
    assert(!c.learnt());

    if (use_simplification)
        for (int i = 0; i < c.size(); i++){
            n_occ[toInt(c[i])]--;
            updateElimHeap(var(c[i]));
        }

    detachClause(c);
    c.mark(1);
}
Пример #2
0
// Modified Lines
// void MiniSATP::removeClause(Clause& c) 
// {
void MiniSATP::removeClause(Clause& c) 
{
    // Remove clause from reasons
    // 
    for ( int i = 0 ; i < c.size( ) ; i ++ )
    {
      const Var v = var(c[i]);
      if ( reason[ v ] == &c )
	reason[ v ] = NULL;
    }
    detachClause(c);
    removed.push( &c );
}
Пример #3
0
void Solver::removeClause(Clause& c) {
    detachClause(c);
    free(&c); }