#include "theory/fp/fp_converter.h"
#include "theory/fp/theory_fp_rewriter.h"
#include "theory/output_channel.h"
-#include "theory/rewriter.h"
#include "theory/theory_model.h"
#include "util/floatingpoint.h"
Node evaluate =
nm->mkNode(kind::FLOATINGPOINT_TO_REAL_TOTAL, floatValue, undefValue);
- Node concreteValue = Rewriter::rewrite(evaluate);
+ Node concreteValue = rewrite(evaluate);
Assert(concreteValue.isConst());
Trace("fp-refineAbstraction")
handleLemma(fl, InferenceId::FP_PREPROCESS);
// Then the backwards constraints
- Node floatAboveAbstract = Rewriter::rewrite(
+ Node floatAboveAbstract = rewrite(
nm->mkNode(kind::FLOATINGPOINT_TO_FP_REAL,
nm->mkConst(FloatingPointToFPReal(
concrete[0].getType().getConst<FloatingPointSize>())),
nm->mkNode(kind::GEQ, abstract, abstractValue)));
handleLemma(bg, InferenceId::FP_PREPROCESS);
- Node floatBelowAbstract = Rewriter::rewrite(
+ Node floatBelowAbstract = rewrite(
nm->mkNode(kind::FLOATINGPOINT_TO_FP_REAL,
nm->mkConst(FloatingPointToFPReal(
concrete[0].getType().getConst<FloatingPointSize>())),
concrete.getType().getConst<FloatingPointSize>())),
rmValue,
realValue);
- Node concreteValue = Rewriter::rewrite(evaluate);
+ Node concreteValue = rewrite(evaluate);
Assert(concreteValue.isConst());
Trace("fp-refineAbstraction")
if (!abstractValue.getConst<FloatingPoint>().isInfinite())
{
Node realValueOfAbstract =
- Rewriter::rewrite(nm->mkNode(kind::FLOATINGPOINT_TO_REAL_TOTAL,
- abstractValue,
- nm->mkConst(Rational(0U))));
+ rewrite(nm->mkNode(kind::FLOATINGPOINT_TO_REAL_TOTAL,
+ abstractValue,
+ nm->mkConst(Rational(0U))));
Node bg = nm->mkNode(
kind::IMPLIES,
/* When not word-blasting lazier, we word-blast every term on
* registration. */
- if (!options::fpLazyWb())
+ if (!options().fp.fpLazyWb)
{
convertAndEquateTerm(node);
}
void TheoryFp::preRegisterTerm(TNode node)
{
- if (!options::fpExp())
+ if (!options().fp.fpExp)
{
TypeNode tn = node.getType();
if (tn.isFloatingPoint())
TNode atom, bool pol, TNode fact, bool isPrereg, bool isInternal)
{
/* Word-blast lazier if configured. */
- if (options::fpLazyWb() && d_wbFactsCache.find(atom) == d_wbFactsCache.end())
+ if (options().fp.fpLazyWb
+ && d_wbFactsCache.find(atom) == d_wbFactsCache.end())
{
d_wbFactsCache.insert(atom);
convertAndEquateTerm(atom);
void TheoryFp::notifySharedTerm(TNode n)
{
/* Word-blast lazier if configured. */
- if (options::fpLazyWb() && d_wbFactsCache.find(n) == d_wbFactsCache.end())
+ if (options().fp.fpLazyWb && d_wbFactsCache.find(n) == d_wbFactsCache.end())
{
d_wbFactsCache.insert(n);
convertAndEquateTerm(n);