src/gaussian.cpp
// Delete this row because we have already add to xor clause, nothing to do anymore
Delete this row because we have already add to xor clause, nothing to do anymore
Delete this row because we have already add to xor clause nothing to do anymore
void EGaussian::delete_gausswatch(
    const bool orig_basic
    , const uint32_t row_n
    , const uint32_t no_touch_var
) {
    if (orig_basic) {
        bool debug_find = false;
        assert(matrix.row_to_nb_var[row_n] != no_touch_var);
        vec<GaussWatched>& ws_t = solver->gwatches[matrix.row_to_nb_var[row_n]];
        for (int32_t tmpi = ws_t.size() - 1; tmpi >= 0; tmpi--) {
            if (ws_t[tmpi].row_id == row_n
                && ws_t[tmpi].matrix_num == matrix_no
            ) {
                ws_t[tmpi] = ws_t.last();
                ws_t.shrink(1);
                debug_find = true;
                break;
            }
        }
        #ifdef VERBOSE_DEBUG
        cout
        << "mat[" << matrix_no << "] "
        << "Tried cleaning watch of var: "
        << matrix.row_to_nb_var[row_n]+1 << endl;
        #endif
        assert(debug_find);
    } else {
        clear_gwatches(tmp_clause[0].var());
    }
}
void EGaussian :: delete_gausswatch ( const bool orig_basic , const uint32_t row_n , const uint32_t no_touch_var ) { if ( orig_basic ) { bool debug_find = false ; assert ( matrix . row_to_nb_var [ row_n ] != no_touch_var ) ; vec < GaussWatched > & ws_t = solver -> gwatches [ matrix . row_to_nb_var [ row_n ] ] ; for ( int32_t tmpi = ws_t . size ( ) - 1 ; tmpi >= 0 ; tmpi -- ) { if ( ws_t [ tmpi ] . row_id == row_n && ws_t [ tmpi ] . matrix_num == matrix_no ) { ws_t [ tmpi ] = ws_t . last ( ) ; ws_t . shrink ( 1 ) ; debug_find = true ; break ; } } #ifdef VERBOSE_DEBUG cout << " " << matrix_no << " " << " " << matrix . row_to_nb_var [ row_n ] + 1 << endl ; #endif assert ( debug_find ) ; } else { clear_gwatches ( tmp_clause [ 0 ] . var ( ) ) ; } }
Delete this row because we have already add to xor clause, nothing to do anymore
Delete this row because we have already add to xor clause nothing to do anymore
// clear nonbasic value watch list