ABC: A System for Sequential Synthesis and Verification
 
Loading...
Searching...
No Matches
drattracer.hpp
Go to the documentation of this file.
1#ifndef _drattracer_h_INCLUDED
2#define _drattracer_h_INCLUDED
3
4#include "global.h"
5
6#include "tracer.hpp"
7
9
10namespace CaDiCaL {
11
12class DratTracer : public FileTracer {
13
14 Internal *internal;
15 File *file;
16 bool binary;
17#ifndef CADICAL_QUIET
18 int64_t added, deleted;
19#endif
20 void put_binary_zero ();
21 void put_binary_lit (int external_lit);
22
23 // support DRAT
24 void drat_add_clause (const vector<int> &);
25 void drat_delete_clause (const vector<int> &);
26
27public:
28 // own and delete 'file'
29 DratTracer (Internal *, File *file, bool binary);
30 ~DratTracer ();
31
32 void connect_internal (Internal *i) override;
33 void begin_proof (int64_t) override {} // skip
34
35 void add_original_clause (int64_t, bool, const vector<int> &,
36 bool = false) override {} // skip
37
38 void add_derived_clause (int64_t, bool, const vector<int> &,
39 const vector<int64_t> &) override;
40
41 void delete_clause (int64_t, bool, const vector<int> &) override;
42
43 void finalize_clause (int64_t, const vector<int> &) override {} // skip
44
45 void report_status (int, int64_t) override {} // skip
46
47#ifndef CADICAL_QUIET
48 void print_statistics ();
49#endif
50 bool closed () override;
51 void close (bool) override;
52 void flush (bool) override;
53};
54
55} // namespace CaDiCaL
56
58
59#endif
#define ABC_NAMESPACE_CXX_HEADER_START
#define ABC_NAMESPACE_CXX_HEADER_END
DratTracer(Internal *, File *file, bool binary)
void connect_internal(Internal *i) override
void finalize_clause(int64_t, const vector< int > &) override
void flush(bool) override
void report_status(int, int64_t) override
void delete_clause(int64_t, bool, const vector< int > &) 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 close(bool) override