ABC: A System for Sequential Synthesis and Verification
 
Loading...
Searching...
No Matches
propdense.c File Reference
#include "propdense.h"
#include "fastassign.h"
Include dependency graph for propdense.c:

Go to the source code of this file.

Functions

bool kissat_dense_propagate (kissat *solver)
 

Function Documentation

◆ kissat_dense_propagate()

bool kissat_dense_propagate ( kissat * solver)

Definition at line 88 of file propdense.c.

88 {
89 KISSAT_assert (!solver->level);
90 KISSAT_assert (!solver->watching);
91 KISSAT_assert (!solver->inconsistent);
92 START (propagate);
93 unsigned *propagate = solver->propagate;
94 bool res = true;
95 while (res && propagate != END_ARRAY (solver->trail))
96 res = non_watching_propagate_literal (solver, *propagate++);
97 const unsigned propagated = propagate - solver->propagate;
98 solver->propagate = propagate;
99 ADD (dense_propagations, propagated);
100 ADD (propagations, propagated);
101 if (!res) {
102 KISSAT_assert (!solver->inconsistent);
103 LOG ("inconsistent root propagation");
106 solver->inconsistent = true;
107 }
108 STOP (propagate);
109 return res;
110}
#define END_ARRAY
Definition array.h:51
#define ADD(NAME, DELTA)
#define LOG(...)
#define CHECK_AND_ADD_EMPTY(...)
Definition check.h:146
#define KISSAT_assert(ignore)
Definition global.h:13
#define solver
Definition kitten.c:211
#define STOP(P)
Definition profile.hpp:158
#define START(P)
Definition profile.hpp:150
#define ADD_EMPTY_TO_PROOF(...)
Definition proof.h:135
Here is the caller graph for this function: