mirror of
https://github.com/Z3Prover/z3
synced 2025-04-23 17:15:31 +00:00
arith_solver (#4733)
* porting arithmetic solver * integrating arithmetic * lp Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com> * na Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com> * na Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com> * na Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
This commit is contained in:
parent
2841796a92
commit
44679d8f5b
33 changed files with 3172 additions and 403 deletions
|
@ -317,6 +317,28 @@ public:
|
|||
}
|
||||
};
|
||||
|
||||
|
||||
template<typename Ctx, typename T, bool CallDestructors = true>
|
||||
class history_trail : public trail<Ctx> {
|
||||
vector<T, CallDestructors>& m_dst;
|
||||
unsigned m_idx;
|
||||
vector<T, CallDestructors>& m_hist;
|
||||
public:
|
||||
history_trail(vector<T, CallDestructors>& v, unsigned idx, vector<T, CallDestructors>& hist) :
|
||||
m_dst(v),
|
||||
m_idx(idx),
|
||||
m_hist(hist) {}
|
||||
|
||||
~history_trail() override {
|
||||
}
|
||||
|
||||
void undo(Ctx& ctx) override {
|
||||
m_dst[m_idx] = m_hist.back();
|
||||
m_hist.pop_back();
|
||||
}
|
||||
};
|
||||
|
||||
|
||||
template<typename Ctx, typename T>
|
||||
class new_obj_trail : public trail<Ctx> {
|
||||
T * m_obj;
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue