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

#include <drattracer.hpp>

Inheritance diagram for CaDiCaL::DratTracer:
Collaboration diagram for CaDiCaL::DratTracer:

Public Member Functions

 DratTracer (Internal *, File *file, bool binary)
 
 ~DratTracer ()
 
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 12 of file drattracer.hpp.

Constructor & Destructor Documentation

◆ DratTracer()

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

Definition at line 11 of file cadical_drattracer.cpp.

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

◆ ~DratTracer()

CaDiCaL::DratTracer::~DratTracer ( )

Definition at line 27 of file cadical_drattracer.cpp.

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

Member Function Documentation

◆ add_derived_clause()

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

Definition at line 90 of file cadical_drattracer.cpp.

92 {
93 if (file->closed ())
94 return;
95 LOG ("DRAT TRACER tracing addition of derived clause");
96 drat_add_clause (clause);
97#ifndef CADICAL_QUIET
98 added++;
99#endif
100}
struct clause_t clause
STRUCTURE DEFINITIONS ///.
Definition satClause.h:48

◆ add_original_clause()

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

Definition at line 35 of file drattracer.hpp.

36 {} // skip

◆ begin_proof()

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

Reimplemented from CaDiCaL::Tracer.

Definition at line 33 of file drattracer.hpp.

33{} // skip

◆ close()

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

Implements CaDiCaL::FileTracer.

Definition at line 131 of file cadical_drattracer.cpp.

131 {
133 file->close ();
134#ifndef CADICAL_QUIET
135 if (print) {
136 MSG ("DRAT proof file '%s' closed", file->name ());
137 print_statistics ();
138 }
139#else
140 (void) print;
141#endif
142}
#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::DratTracer::closed ( )
overridevirtual

Implements CaDiCaL::FileTracer.

Definition at line 114 of file cadical_drattracer.cpp.

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

◆ connect_internal()

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

Reimplemented from CaDiCaL::InternalTracer.

Definition at line 21 of file cadical_drattracer.cpp.

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

◆ delete_clause()

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

Definition at line 102 of file cadical_drattracer.cpp.

102 {
103 if (file->closed ())
104 return;
105 LOG ("DRAT TRACER tracing deletion of clause");
106 drat_delete_clause (clause);
107#ifndef CADICAL_QUIET
108 deleted++;
109#endif
110}

◆ finalize_clause()

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

Definition at line 43 of file drattracer.hpp.

43{} // skip

◆ flush()

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

Implements CaDiCaL::FileTracer.

Definition at line 144 of file cadical_drattracer.cpp.

144 {
146 file->flush ();
147#ifndef CADICAL_QUIET
148 if (print) {
149 MSG ("DRAT proof file '%s' flushed", file->name ());
150 print_statistics ();
151 }
152#else
153 (void) print;
154#endif
155}
Here is the call graph for this function:

◆ report_status()

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

Reimplemented from CaDiCaL::Tracer.

Definition at line 45 of file drattracer.hpp.

45{} // skip

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