mirror of
https://github.com/Z3Prover/z3
synced 2025-04-29 20:05:51 +00:00
redo bindings/fingerprints
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
This commit is contained in:
parent
281fb67d88
commit
33f4e65fa9
6 changed files with 145 additions and 180 deletions
|
@ -20,7 +20,7 @@ Author:
|
|||
#include "ast/cost_evaluator.h"
|
||||
#include "ast/rewriter/cached_var_subst.h"
|
||||
#include "parsers/util/cost_parser.h"
|
||||
#include "sat/smt/q_fingerprint.h"
|
||||
#include "sat/smt/q_clause.h"
|
||||
|
||||
|
||||
|
||||
|
@ -51,12 +51,12 @@ namespace q {
|
|||
cost_evaluator m_evaluator;
|
||||
cached_var_subst m_subst;
|
||||
svector<float> m_vals;
|
||||
double m_eager_cost_threshold { 0 };
|
||||
double m_eager_cost_threshold = 0;
|
||||
struct entry {
|
||||
fingerprint * m_qb;
|
||||
binding * m_qb;
|
||||
float m_cost;
|
||||
bool m_instantiated{ false };
|
||||
entry(fingerprint * f, float c):m_qb(f), m_cost(c) {}
|
||||
bool m_instantiated = false;
|
||||
entry(binding * f, float c):m_qb(f), m_cost(c) {}
|
||||
};
|
||||
struct reset_new_entries;
|
||||
struct reset_instantiated;
|
||||
|
@ -64,18 +64,18 @@ namespace q {
|
|||
svector<entry> m_new_entries;
|
||||
svector<entry> m_delayed_entries;
|
||||
|
||||
float get_cost(fingerprint& f);
|
||||
void set_values(fingerprint& f, float cost);
|
||||
float get_cost(binding& f);
|
||||
void set_values(binding& f, float cost);
|
||||
void init_parser_vars();
|
||||
void setup();
|
||||
unsigned get_new_gen(fingerprint& f, float cost);
|
||||
unsigned get_new_gen(binding& f, float cost);
|
||||
void instantiate(entry& e);
|
||||
|
||||
public:
|
||||
|
||||
queue(ematch& em, euf::solver& ctx);
|
||||
|
||||
void insert(fingerprint* f);
|
||||
void insert(binding* f);
|
||||
|
||||
bool propagate();
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue