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

#include <lrattracer.hpp>

Inheritance diagram for CaDiCaL::LratTracer:
Collaboration diagram for CaDiCaL::LratTracer:

Public Member Functions

 LratTracer (Internal *, File *file, bool binary)
 
 ~LratTracer ()
 
void connect_internal (Internal *i) override
 
void begin_proof (int64_t) override
 
void add_original_clause (int64_t, bool, const vector< int > &, bool=false) override
 
void add_derived_clause (int64_t, bool, const vector< int > &, const vector< int64_t > &) override
 
void delete_clause (int64_t, bool, const vector< int > &) override
 
void finalize_clause (int64_t, const vector< int > &) override
 
void report_status (int, int64_t) override
 
bool closed () override
 
void close (bool) override
 
void flush (bool) override
 
- Public Member Functions inherited from CaDiCaL::FileTracer
 FileTracer ()
 
virtual ~FileTracer ()
 
- Public Member Functions inherited from CaDiCaL::InternalTracer
 InternalTracer ()
 
virtual ~InternalTracer ()
 
- Public Member Functions inherited from CaDiCaL::Tracer
 Tracer ()
 
virtual ~Tracer ()
 
virtual void add_original_clause (int64_t, bool, const std::vector< int > &, bool=false)
 
virtual void add_derived_clause (int64_t, bool, const std::vector< int > &, const std::vector< int64_t > &)
 
virtual void delete_clause (int64_t, bool, const std::vector< int > &)
 
virtual void demote_clause (uint64_t, const std::vector< int > &)
 
virtual void weaken_minus (int64_t, const std::vector< int > &)
 
virtual void strengthen (int64_t)
 
virtual void finalize_clause (int64_t, const std::vector< int > &)
 
virtual void solve_query ()
 
virtual void add_assumption (int)
 
virtual void add_constraint (const std::vector< int > &)
 
virtual void reset_assumptions ()
 
virtual void add_assumption_clause (int64_t, const std::vector< int > &, const std::vector< int64_t > &)
 
virtual void conclude_unsat (ConclusionType, const std::vector< int64_t > &)
 
virtual void conclude_sat (const std::vector< int > &)
 
virtual void conclude_unknown (const std::vector< int > &)
 

Detailed Description

Definition at line 10 of file lrattracer.hpp.

Constructor & Destructor Documentation

◆ LratTracer()

CaDiCaL::LratTracer::LratTracer ( Internal * i,
File * file,
bool binary )

Definition at line 13 of file cadical_lrattracer.cpp.

14 : internal (i), file (f), binary (b)
15#ifndef CADICAL_QUIET
16 ,
17 added (0), deleted (0)
18#endif
19 ,
20 latest_id (0) {
21 (void) internal;
22}

◆ ~LratTracer()

CaDiCaL::LratTracer::~LratTracer ( )

Definition at line 30 of file cadical_lrattracer.cpp.

30 {
31 LOG ("LRAT TRACER delete");
32 delete file;
33}
#define LOG(...)

Member Function Documentation

◆ add_derived_clause()

void CaDiCaL::LratTracer::add_derived_clause ( int64_t id,
bool ,
const vector< int > & clause,
const vector< int64_t > & chain )
override

Definition at line 130 of file cadical_lrattracer.cpp.

132 {
133 if (file->closed ())
134 return;
135 LOG ("LRAT TRACER tracing addition of derived clause");
136 lrat_add_clause (id, clause, chain);
137#ifndef CADICAL_QUIET
138 added++;
139#endif
140}
struct clause_t clause
STRUCTURE DEFINITIONS ///.
Definition satClause.h:48

◆ add_original_clause()

void CaDiCaL::LratTracer::add_original_clause ( int64_t ,
bool ,
const vector< int > & ,
bool = false )
inlineoverride

Definition at line 39 of file lrattracer.hpp.

40 {} // skip

◆ begin_proof()

void CaDiCaL::LratTracer::begin_proof ( int64_t id)
overridevirtual

Reimplemented from CaDiCaL::Tracer.

Definition at line 152 of file cadical_lrattracer.cpp.

152 {
153 if (file->closed ())
154 return;
155 LOG ("LRAT TRACER tracing begin of proof");
156 latest_id = id;
157}

◆ close()

void CaDiCaL::LratTracer::close ( bool print)
overridevirtual

Implements CaDiCaL::FileTracer.

Definition at line 178 of file cadical_lrattracer.cpp.

178 {
180 file->close ();
181#ifndef CADICAL_QUIET
182 if (print) {
183 MSG ("LRAT proof file '%s' closed", file->name ());
184 print_statistics ();
185 }
186#else
187 (void) print;
188#endif
189}
#define CADICAL_assert(ignore)
Definition global.h:14
#define MSG(...)
Definition message.hpp:49
Here is the call graph for this function:

◆ closed()

bool CaDiCaL::LratTracer::closed ( )
overridevirtual

Implements CaDiCaL::FileTracer.

Definition at line 161 of file cadical_lrattracer.cpp.

161{ return file->closed (); }
Here is the caller graph for this function:

◆ connect_internal()

void CaDiCaL::LratTracer::connect_internal ( Internal * i)
overridevirtual

Reimplemented from CaDiCaL::InternalTracer.

Definition at line 24 of file cadical_lrattracer.cpp.

24 {
25 internal = i;
26 file->connect_internal (internal);
27 LOG ("LRAT TRACER connected to internal");
28}

◆ delete_clause()

void CaDiCaL::LratTracer::delete_clause ( int64_t id,
bool ,
const vector< int > &  )
override

Definition at line 142 of file cadical_lrattracer.cpp.

142 {
143 if (file->closed ())
144 return;
145 LOG ("LRAT TRACER tracing deletion of clause");
146 lrat_delete_clause (id);
147#ifndef CADICAL_QUIET
148 deleted++;
149#endif
150}

◆ finalize_clause()

void CaDiCaL::LratTracer::finalize_clause ( int64_t ,
const vector< int > &  )
inlineoverride

Definition at line 47 of file lrattracer.hpp.

47{} // skip

◆ flush()

void CaDiCaL::LratTracer::flush ( bool print)
overridevirtual

Implements CaDiCaL::FileTracer.

Definition at line 191 of file cadical_lrattracer.cpp.

191 {
193 file->flush ();
194#ifndef CADICAL_QUIET
195 if (print) {
196 MSG ("LRAT proof file '%s' flushed", file->name ());
197 print_statistics ();
198 }
199#else
200 (void) print;
201#endif
202}
Here is the call graph for this function:

◆ report_status()

void CaDiCaL::LratTracer::report_status ( int ,
int64_t  )
inlineoverridevirtual

Reimplemented from CaDiCaL::Tracer.

Definition at line 49 of file lrattracer.hpp.

49{} // skip

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