mirror of
https://github.com/Z3Prover/z3
synced 2025-04-15 13:28:47 +00:00
unresolved in nla_intervals
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
This commit is contained in:
parent
a4ad71bf33
commit
9ce2733105
4
src/math/lp/nla_intervals.cpp
Normal file → Executable file
4
src/math/lp/nla_intervals.cpp
Normal file → Executable file
|
@ -107,15 +107,17 @@ namespace nla {
|
||||||
|
|
||||||
lp::impq intervals::get_upper_bound_of_monomial(lpvar j) const {
|
lp::impq intervals::get_upper_bound_of_monomial(lpvar j) const {
|
||||||
SASSERT(false);
|
SASSERT(false);
|
||||||
|
throw;
|
||||||
}
|
}
|
||||||
|
|
||||||
lp::impq intervals::get_lower_bound_of_monomial(lpvar j) const {
|
lp::impq intervals::get_lower_bound_of_monomial(lpvar j) const {
|
||||||
SASSERT(false);
|
SASSERT(false);
|
||||||
|
throw;
|
||||||
}
|
}
|
||||||
|
|
||||||
bool intervals::product_has_upper_bound(int sign, const svector<lpvar>&) const {
|
bool intervals::product_has_upper_bound(int sign, const svector<lpvar>&) const {
|
||||||
interval a;
|
interval a;
|
||||||
|
throw;
|
||||||
}
|
}
|
||||||
|
|
||||||
bool intervals::monomial_has_lower_bound(lpvar j) const {
|
bool intervals::monomial_has_lower_bound(lpvar j) const {
|
||||||
|
|
17
src/math/lp/nla_intervals.h
Normal file → Executable file
17
src/math/lp/nla_intervals.h
Normal file → Executable file
|
@ -19,6 +19,7 @@
|
||||||
--*/
|
--*/
|
||||||
#pragma once
|
#pragma once
|
||||||
#include "util/dependency.h"
|
#include "util/dependency.h"
|
||||||
|
#include "util/small_object_allocator.h"
|
||||||
#include "math/lp/nla_common.h"
|
#include "math/lp/nla_common.h"
|
||||||
#include "math/lp/lar_solver.h"
|
#include "math/lp/lar_solver.h"
|
||||||
#include "math/interval/interval.h"
|
#include "math/interval/interval.h"
|
||||||
|
@ -134,11 +135,14 @@ namespace nla {
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
ci_dependency_manager m_dep_manager;
|
small_object_allocator m_alloc;
|
||||||
|
ci_value_manager m_val_manager;
|
||||||
|
unsynch_mpq_manager m_num_manager;
|
||||||
|
ci_dependency_manager m_dep_manager;
|
||||||
im_config m_config;
|
im_config m_config;
|
||||||
interval_manager<im_config> m_imanager;
|
interval_manager<im_config> m_imanager;
|
||||||
region m_region;
|
region m_region;
|
||||||
// lp::lar_solver& m_solver;
|
lp::lar_solver& m_solver;
|
||||||
|
|
||||||
typedef interval_manager<im_config>::interval interval;
|
typedef interval_manager<im_config>::interval interval;
|
||||||
|
|
||||||
|
@ -151,7 +155,14 @@ namespace nla {
|
||||||
bool check(lp::lar_term const& t);
|
bool check(lp::lar_term const& t);
|
||||||
|
|
||||||
public:
|
public:
|
||||||
intervals(core* c) : m_core(c) {}
|
intervals(core* c, reslimit& lim, lp::lar_solver& s) :
|
||||||
|
m_core(c),
|
||||||
|
m_alloc("intervals"),
|
||||||
|
m_dep_manager(m_val_manager, m_alloc),
|
||||||
|
m_config(m_num_manager, m_dep_manager),
|
||||||
|
m_imanager(lim, im_config(m_num_manager, m_dep_manager)),
|
||||||
|
m_solver(s)
|
||||||
|
{}
|
||||||
bool check();
|
bool check();
|
||||||
bool monomial_has_lower_bound(lpvar j) const;
|
bool monomial_has_lower_bound(lpvar j) const;
|
||||||
bool monomial_has_upper_bound(lpvar j) const;
|
bool monomial_has_upper_bound(lpvar j) const;
|
||||||
|
|
|
@ -55,7 +55,7 @@ void solver::pop(unsigned n) {
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
solver::solver(lp::lar_solver& s): m_core(alloc(core, s)), m_intervals(m_core) {
|
solver::solver(lp::lar_solver& s): m_core(alloc(core, s)), m_intervals(m_core, m_res_limit, s) {
|
||||||
}
|
}
|
||||||
|
|
||||||
solver::~solver() {
|
solver::~solver() {
|
||||||
|
|
|
@ -33,6 +33,7 @@ namespace nla {
|
||||||
// nonlinear integer incremental linear solver
|
// nonlinear integer incremental linear solver
|
||||||
class solver {
|
class solver {
|
||||||
core* m_core;
|
core* m_core;
|
||||||
|
reslimit m_res_limit;
|
||||||
intervals m_intervals;
|
intervals m_intervals;
|
||||||
public:
|
public:
|
||||||
void add_monomial(lpvar v, unsigned sz, lpvar const* vs);
|
void add_monomial(lpvar v, unsigned sz, lpvar const* vs);
|
||||||
|
|
Loading…
Reference in a new issue