ABC: A System for Sequential Synthesis and Verification
 
Loading...
Searching...
No Matches
proprobe.h File Reference
#include <stdbool.h>
#include "global.h"
Include dependency graph for proprobe.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Functions

struct clausekissat_probing_propagate (struct kissat *, struct clause *, bool flush)
 

Function Documentation

◆ kissat_probing_propagate()

struct clause * kissat_probing_propagate ( struct kissat * solver,
struct clause * ignore,
bool flush )

Definition at line 37 of file proprobe.c.

38 {
39 KISSAT_assert (solver->probing);
40 KISSAT_assert (solver->watching);
41 KISSAT_assert (!solver->inconsistent);
42
43 START (propagate);
44
45 clause *conflict = 0;
46 unsigned *propagate = solver->propagate;
47 solver->ticks = 0;
48 while (!conflict && propagate != END_ARRAY (solver->trail)) {
49 const unsigned lit = *propagate++;
50 conflict = probing_propagate_literal (solver, ignore, lit);
51 }
52
53 const unsigned propagated = propagate - solver->propagate;
54 solver->propagate = propagate;
55 update_probing_propagation_statistics (solver, propagated);
56 kissat_update_conflicts_and_trail (solver, conflict, flush);
57
58 STOP (propagate);
59
60 return conflict;
61}
#define END_ARRAY
Definition array.h:51
#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
int lit
Definition satVec.h:130
Here is the caller graph for this function: