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

#include <frattracer.hpp>

Inheritance diagram for CaDiCaL::FratTracer:
Collaboration diagram for CaDiCaL::FratTracer:

Public Member Functions

 FratTracer (Internal *, File *file, bool binary, bool antecedents)
 
 ~FratTracer ()
 
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 frattracer.hpp.

Constructor & Destructor Documentation

◆ FratTracer()

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

Definition at line 11 of file cadical_frattracer.cpp.

12 : internal (i), file (f), binary (b), with_antecedents (a)
13#ifndef CADICAL_QUIET
14 ,
15 added (0), deleted (0), finalized (0), original (0)
16#endif
17{
18 (void) internal;
19}

◆ ~FratTracer()

CaDiCaL::FratTracer::~FratTracer ( )

Definition at line 27 of file cadical_frattracer.cpp.

27 {
28 LOG ("FRAT TRACER delete");
29 delete file;
30}
#define LOG(...)

Member Function Documentation

◆ add_derived_clause()

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

Definition at line 199 of file cadical_frattracer.cpp.

201 {
202 if (file->closed ())
203 return;
204 LOG ("FRAT TRACER tracing addition of derived clause");
205 if (with_antecedents)
206 frat_add_derived_clause (id, clause, chain);
207 else
208 frat_add_derived_clause (id, clause);
209#ifndef CADICAL_QUIET
210 added++;
211#endif
212}
struct clause_t clause
STRUCTURE DEFINITIONS ///.
Definition satClause.h:48

◆ add_original_clause()

void CaDiCaL::FratTracer::add_original_clause ( int64_t id,
bool ,
const vector< int > & clause,
bool = false )
override

Definition at line 191 of file cadical_frattracer.cpp.

192 {
193 if (file->closed ())
194 return;
195 LOG ("FRAT TRACER tracing addition of original clause");
196 frat_add_original_clause (id, clause);
197}

◆ begin_proof()

void CaDiCaL::FratTracer::begin_proof ( int64_t )
inlineoverridevirtual

Reimplemented from CaDiCaL::Tracer.

Definition at line 42 of file frattracer.hpp.

42{} // skip

◆ close()

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

Implements CaDiCaL::FileTracer.

Definition at line 255 of file cadical_frattracer.cpp.

255 {
257 file->close ();
258#ifndef CADICAL_QUIET
259 if (print) {
260 MSG ("FRAT proof file '%s' closed", file->name ());
261 print_statistics ();
262 }
263#else
264 (void) print;
265#endif
266}
#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::FratTracer::closed ( )
overridevirtual

Implements CaDiCaL::FileTracer.

Definition at line 234 of file cadical_frattracer.cpp.

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

◆ connect_internal()

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

Reimplemented from CaDiCaL::InternalTracer.

Definition at line 21 of file cadical_frattracer.cpp.

21 {
22 internal = i;
23 file->connect_internal (internal);
24 LOG ("FRAT TRACER connected to internal");
25}

◆ delete_clause()

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

Definition at line 214 of file cadical_frattracer.cpp.

215 {
216 if (file->closed ())
217 return;
218 LOG ("FRAT TRACER tracing deletion of clause");
219 frat_delete_clause (id, clause);
220#ifndef CADICAL_QUIET
221 deleted++;
222#endif
223}

◆ finalize_clause()

void CaDiCaL::FratTracer::finalize_clause ( int64_t id,
const vector< int > & clause )
override

Definition at line 225 of file cadical_frattracer.cpp.

225 {
226 if (file->closed ())
227 return;
228 LOG ("FRAT TRACER tracing finalization of clause");
229 frat_finalize_clause (id, clause);
230}

◆ flush()

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

Implements CaDiCaL::FileTracer.

Definition at line 268 of file cadical_frattracer.cpp.

268 {
270 file->flush ();
271#ifndef CADICAL_QUIET
272 if (print) {
273 MSG ("FRAT proof file '%s' flushed", file->name ());
274 print_statistics ();
275 }
276#else
277 (void) print;
278#endif
279}
Here is the call graph for this function:

◆ report_status()

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

Reimplemented from CaDiCaL::Tracer.

Definition at line 54 of file frattracer.hpp.

54{} // skip

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