ABC: A System for Sequential Synthesis and Verification
 
Loading...
Searching...
No Matches
CaDiCaL::Eliminator Struct Reference

#include <elim.hpp>

Collaboration diagram for CaDiCaL::Eliminator:

Public Member Functions

 Eliminator (Internal *i)
 
 ~Eliminator ()
 
Clausedequeue ()
 
void enqueue (Clause *)
 

Public Attributes

Internalinternal
 
ElimSchedule schedule
 
queue< Clause * > backward
 
vector< Clause * > gates
 
unsigned definition_unit
 
vector< proof_clauseproof_clauses
 
vector< int > marked
 
GateType gatetype
 

Detailed Description

Definition at line 33 of file elim.hpp.

Constructor & Destructor Documentation

◆ Eliminator()

CaDiCaL::Eliminator::Eliminator ( Internal * i)
inline

Definition at line 38 of file elim.hpp.

39 : internal (i), schedule (elim_more (i)), definition_unit (0),
40 gatetype (NO) {}
@ NO
Definition elim.hpp:31
unsigned definition_unit
Definition elim.hpp:49
Internal * internal
Definition elim.hpp:35
ElimSchedule schedule
Definition elim.hpp:36
GateType gatetype
Definition elim.hpp:52

◆ ~Eliminator()

CaDiCaL::Eliminator::~Eliminator ( )

Definition at line 37 of file cadical_backward.cpp.

37 {
38 while (dequeue ())
39 ;
40}
Here is the call graph for this function:

Member Function Documentation

◆ dequeue()

Clause * CaDiCaL::Eliminator::dequeue ( )

Definition at line 26 of file cadical_backward.cpp.

26 {
27 if (backward.empty ())
28 return 0;
29 Clause *res = backward.front ();
30 backward.pop ();
31 CADICAL_assert (res->enqueued);
32 res->enqueued = false;
33 LOG (res, "backward dequeue");
34 return res;
35}
#define CADICAL_assert(ignore)
Definition global.h:14
#define LOG(...)
queue< Clause * > backward
Definition elim.hpp:43
Here is the caller graph for this function:

◆ enqueue()

void CaDiCaL::Eliminator::enqueue ( Clause * c)

Definition at line 16 of file cadical_backward.cpp.

16 {
17 if (!internal->opts.elimbackward)
18 return;
19 if (c->enqueued)
20 return;
21 LOG (c, "backward enqueue");
22 backward.push (c);
23 c->enqueued = true;
24}
Here is the caller graph for this function:

Member Data Documentation

◆ backward

queue<Clause *> CaDiCaL::Eliminator::backward

Definition at line 43 of file elim.hpp.

◆ definition_unit

unsigned CaDiCaL::Eliminator::definition_unit

Definition at line 49 of file elim.hpp.

◆ gates

vector<Clause *> CaDiCaL::Eliminator::gates

Definition at line 48 of file elim.hpp.

◆ gatetype

GateType CaDiCaL::Eliminator::gatetype

Definition at line 52 of file elim.hpp.

◆ internal

Internal* CaDiCaL::Eliminator::internal

Definition at line 35 of file elim.hpp.

◆ marked

vector<int> CaDiCaL::Eliminator::marked

Definition at line 51 of file elim.hpp.

◆ proof_clauses

vector<proof_clause> CaDiCaL::Eliminator::proof_clauses

Definition at line 50 of file elim.hpp.

◆ schedule

ElimSchedule CaDiCaL::Eliminator::schedule

Definition at line 36 of file elim.hpp.


The documentation for this struct was generated from the following files: