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

Go to the source code of this file.

Macros

#define PROPAGATE_LITERAL   probing_propagate_literal
 
#define PROPAGATION_TYPE   "probing"
 
#define PROBING_PROPAGATION
 

Functions

clausekissat_probing_propagate (kissat *solver, clause *ignore, bool flush)
 

Macro Definition Documentation

◆ PROBING_PROPAGATION

#define PROBING_PROPAGATION

Definition at line 9 of file proprobe.c.

◆ PROPAGATE_LITERAL

#define PROPAGATE_LITERAL   probing_propagate_literal

Definition at line 7 of file proprobe.c.

◆ PROPAGATION_TYPE

#define PROPAGATION_TYPE   "probing"

Definition at line 8 of file proprobe.c.

Function Documentation

◆ kissat_probing_propagate()

clause * kissat_probing_propagate ( kissat * solver,
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: