abc/src/sat/satoko/solver.c
//===------------------------------------------------------------------------===
// Clause functions
//===------------------------------------------------------------------------===
/* Calculate clause LBD (Literal Block Distance):
 * - It's the number of variables in the final conflict clause that come from
 * different decision levels
 */
Clause functions
Calculate clause LBD (Literal Block Distance):
- It's the number of variables in the final conflict clause that come from
different decision levels
Clause functions Calculate clause LBD ( Literal Block Distance ) : - It ' s the number of variables in the final conflict clause that come from different decision levels
static inline unsigned clause_clac_lbd(solver_t *s, unsigned *lits, unsigned size)
{
    unsigned i;
    unsigned lbd = 0;
    s->cur_stamp++;
    for (i = 0; i < size; i++) {
        unsigned level = lit_dlevel(s, lits[i]);
        if (vec_uint_at(s->stamps, level) != s->cur_stamp) {
            vec_uint_assign(s->stamps, level, s->cur_stamp);
            lbd++;
        }
    }
    return lbd;
}
static inline unsigned clause_clac_lbd ( solver_t * s , unsigned * lits , unsigned size ) { unsigned i ; unsigned lbd = 0 ; s -> cur_stamp ++ ; for ( i = 0 ; i < size ; i ++ ) { unsigned level = lit_dlevel ( s , lits [ i ] ) ; if ( vec_uint_at ( s -> stamps , level ) != s -> cur_stamp ) { vec_uint_assign ( s -> stamps , level , s -> cur_stamp ) ; lbd ++ ; } } return lbd ; }
Clause functions
Calculate clause LBD (Literal Block Distance):
 - It's the number of variables in the final conflict clause that come from
 different decision levels
Clause functions Calculate clause LBD ( Literal Block Distance ) : - It ' s the number of variables in the final conflict clause that come from different decision levels