3
0
Fork 0
mirror of https://github.com/Z3Prover/z3 synced 2025-07-19 19:02:02 +00:00

adding validation code to doc/udoc

Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
This commit is contained in:
Nikolaj Bjorner 2014-09-23 17:10:00 -07:00
parent 54506408f9
commit 1111c0494f
13 changed files with 328 additions and 104 deletions

View file

@ -156,6 +156,14 @@ namespace datalog {
process_costs();
}
void instruction::collect_statistics(statistics& st) const {
costs c;
get_total_cost(c);
st.update("instruction", c.instructions);
st.update("instruction-time", c.milliseconds);
}
void instruction::display_indented(rel_context_base const & _ctx, std::ostream & out, std::string indentation) const {
out << indentation;
rel_context const& ctx = dynamic_cast<const rel_context&>(_ctx);
@ -257,7 +265,7 @@ namespace datalog {
instr_clone_move(bool clone, reg_idx src, reg_idx tgt)
: m_clone(clone), m_src(src), m_tgt(tgt) {}
virtual bool perform(execution_context & ctx) {
log_verbose(ctx);
if (ctx.reg(m_src)) log_verbose(ctx);
ctx.make_empty(m_tgt);
if (m_clone) {
ctx.set_reg(m_tgt, ctx.reg(m_src) ? ctx.reg(m_src)->clone() : 0);
@ -1145,6 +1153,15 @@ namespace datalog {
}
}
void instruction_block::collect_statistics(statistics& st) const {
instr_seq_type::const_iterator it = m_data.begin();
instr_seq_type::const_iterator end = m_data.end();
for(; it!=end; ++it) {
(*it)->collect_statistics(st);
}
}
void instruction_block::make_annotations(execution_context & ctx) {
instr_seq_type::iterator it = m_data.begin();
instr_seq_type::iterator end = m_data.end();