mirror of
https://github.com/Z3Prover/z3
synced 2025-04-28 11:25:51 +00:00
52 lines
1,022 B
C++
52 lines
1,022 B
C++
|
|
/*++
|
|
Copyright (c) 2018 Microsoft Corporation
|
|
|
|
Module Name:
|
|
|
|
arith_value.h
|
|
|
|
Abstract:
|
|
|
|
Utility to extract arithmetic values from context.
|
|
|
|
Author:
|
|
|
|
Nikolaj Bjorner (nbjorner) 2018-12-08.
|
|
|
|
Revision History:
|
|
|
|
--*/
|
|
#pragma once
|
|
|
|
#include "ast/arith_decl_plugin.h"
|
|
|
|
namespace euf {
|
|
class solver;
|
|
}
|
|
namespace arith {
|
|
|
|
class solver;
|
|
|
|
class arith_value {
|
|
euf::solver& s;
|
|
ast_manager& m;
|
|
arith_util a;
|
|
solver* as = nullptr;
|
|
void init();
|
|
public:
|
|
arith_value(euf::solver& s);
|
|
bool get_value(expr* e, rational& value);
|
|
|
|
#if 0
|
|
bool get_lo_equiv(expr* e, rational& lo, bool& strict);
|
|
bool get_up_equiv(expr* e, rational& up, bool& strict);
|
|
bool get_lo(expr* e, rational& lo, bool& strict);
|
|
bool get_up(expr* e, rational& up, bool& strict);
|
|
bool get_value_equiv(expr* e, rational& value);
|
|
expr_ref get_lo(expr* e);
|
|
expr_ref get_up(expr* e);
|
|
expr_ref get_fixed(expr* e);
|
|
#endif
|
|
};
|
|
};
|