mirror of
https://github.com/Z3Prover/z3
synced 2025-04-28 19:35:50 +00:00
Reorganizing the code
Signed-off-by: Leonardo de Moura <leonardo@microsoft.com>
This commit is contained in:
parent
8b70f0b833
commit
d8cd3fc3ab
36 changed files with 261 additions and 429 deletions
|
@ -1,49 +0,0 @@
|
|||
/*++
|
||||
Copyright (c) 2007 Microsoft Corporation
|
||||
|
||||
Module Name:
|
||||
|
||||
expr_map.h
|
||||
|
||||
Abstract:
|
||||
|
||||
Mapping from expressions to expressions + proofs. This mapping
|
||||
is used to cache simplification results.
|
||||
For every entry [e1->(e2, p)] we have that p is a proof that (= e1 e2).
|
||||
|
||||
Author:
|
||||
|
||||
Leonardo (leonardo) 2008-01-03
|
||||
|
||||
Notes:
|
||||
|
||||
--*/
|
||||
#ifndef _EXPR_MAP_H_
|
||||
#define _EXPR_MAP_H_
|
||||
|
||||
#include"ast.h"
|
||||
#include"obj_hashtable.h"
|
||||
|
||||
/**
|
||||
\brief Map from expressions to expressions+proofs.
|
||||
|
||||
When proof production is disabled, no extra space is used.
|
||||
*/
|
||||
class expr_map {
|
||||
ast_manager & m_manager;
|
||||
bool m_store_proofs;
|
||||
obj_map<expr, expr*> m_expr2expr;
|
||||
obj_map<expr, proof*> m_expr2pr;
|
||||
public:
|
||||
expr_map(ast_manager & m);
|
||||
expr_map(ast_manager & m, bool store_proofs);
|
||||
~expr_map();
|
||||
void insert(expr * k, expr * d, proof * p);
|
||||
bool contains(expr * k) const { return m_expr2expr.contains(k); }
|
||||
void get(expr * k, expr * & d, proof * & p) const;
|
||||
void erase(expr * k);
|
||||
void reset();
|
||||
void flush();
|
||||
};
|
||||
|
||||
#endif
|
Loading…
Add table
Add a link
Reference in a new issue