3
0
Fork 0
mirror of https://github.com/Z3Prover/z3 synced 2025-04-28 19:35:50 +00:00

starting the horner heuristic

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
This commit is contained in:
Lev Nachmanson 2019-06-27 14:58:44 -07:00
parent 8d318e81b9
commit f84a06b4c5
6 changed files with 118 additions and 13 deletions

46
src/math/lp/horner.cpp Normal file
View file

@ -0,0 +1,46 @@
/*++
Copyright (c) 2017 Microsoft Corporation
Module Name:
<name>
Abstract:
<abstract>
Author:
Nikolaj Bjorner (nbjorner)
Lev Nachmanson (levnach)
Revision History:
--*/
#include "math/lp/horner.h"
#include "math/lp/nla_core.h"
namespace nla {
horner::horner(core * c) : common(c) {}
void horner::lemma_on_row(const lp::row_strip<rational>&) {}
void horner::horner_lemmas() {
if (!c().m_settings.run_horner()) {
TRACE("nla_solver", tout << "not generating horner lemmas\n";);
return;
}
const auto& m = c().m_lar_solver.A_r();
unsigned r = random();
unsigned s = m.row_count();
for (unsigned i = 0; i < s && !done(); i++) {
lemma_on_row(m.m_rows[(i%s)]);
}
SASSERT(false);
}
}