From 9407c4e96fed47911dd38dd017a99dbeb46448ad Mon Sep 17 00:00:00 2001 From: Lev Date: Thu, 1 Nov 2018 15:56:06 -0700 Subject: [PATCH] add an assert Signed-off-by: Lev --- src/util/lp/lar_solver.cpp | 11 +++++++++++ src/util/lp/lar_solver.h | 2 ++ 2 files changed, 13 insertions(+) diff --git a/src/util/lp/lar_solver.cpp b/src/util/lp/lar_solver.cpp index e7c842a5d..5ddd4d8e6 100644 --- a/src/util/lp/lar_solver.cpp +++ b/src/util/lp/lar_solver.cpp @@ -1709,8 +1709,19 @@ void lar_solver::push_and_register_term(lar_term* t) { m_terms.push_back(t); } + // terms +bool lar_solver::all_vars_are_registered(const vector> & coeffs) { + for (const auto & p : coeffs) { + if (p.second >= m_var_register.size()) { + return false; + } + } + return true; +} + var_index lar_solver::add_term(const vector> & coeffs) { + lp_assert(all_vars_are_registered(coeffs)); if (strategy_is_undecided()) return add_term_undecided(coeffs); diff --git a/src/util/lp/lar_solver.h b/src/util/lp/lar_solver.h index 2b2438f56..6000d414c 100644 --- a/src/util/lp/lar_solver.h +++ b/src/util/lp/lar_solver.h @@ -176,6 +176,8 @@ public: // terms + bool all_vars_are_registered(const vector> & coeffs); + var_index add_term(const vector> & coeffs); var_index add_term_undecided(const vector> & coeffs);