diff options
author | Martin <martin.brain@cs.ox.ac.uk> | 2017-10-10 07:21:26 +0100 |
---|---|---|
committer | Andres Noetzli <andres.noetzli@gmail.com> | 2017-10-09 23:21:26 -0700 |
commit | 8c860213ca3a43e1fe483accb4b2b928ae14028e (patch) | |
tree | 4383636a3c88e1cde14e78b9ee4f04f46952c392 /src/theory/fp/fp_converter.cpp | |
parent | 96a0bc3b022b67b5ab79bf2ab087573c65a8d248 (diff) |
Add skeleton of the FP theory solver (#1130)
This commit adds the skeleton of the theory solver using a dummy version of the converter (fp_converter.{h,cpp}). The converter is a class that is used to produce bit-vector expressions equivalent to floating-point ones. The commit sets up the equality engine and the infrastructure for interacting with the main theory components. The majority of this code is still agnostic to how the conversion is actually implemented / what kind of theory solver this is. This is pretty much the template code you need to write any kind of theory solver. This includes equality reasoning and so should be able to solve some basic problems.
Diffstat (limited to 'src/theory/fp/fp_converter.cpp')
-rw-r--r-- | src/theory/fp/fp_converter.cpp | 38 |
1 files changed, 38 insertions, 0 deletions
diff --git a/src/theory/fp/fp_converter.cpp b/src/theory/fp/fp_converter.cpp new file mode 100644 index 000000000..6ce2195cb --- /dev/null +++ b/src/theory/fp/fp_converter.cpp @@ -0,0 +1,38 @@ +/********************* */ +/*! \file fp_converter.cpp + ** \verbatim + ** Top contributors (to current version): + ** Martin Brain + ** This file is part of the CVC4 project. + ** Copyright (c) 2009-2017 by the authors listed in the file AUTHORS + ** in the top-level source directory) and their institutional affiliations. + ** All rights reserved. See the file COPYING in the top-level source + ** directory for licensing information.\endverbatim + ** + ** \brief Conversion of floating-point operations to bit-vectors using symfpu. + **/ + +#include "theory/fp/fp_converter.h" + +#include <stack> + +namespace CVC4 { +namespace theory { +namespace fp { + +FpConverter::FpConverter(context::UserContext *user) + : d_additionalAssertions(user) {} + +Node FpConverter::convert(TNode node) { + Unimplemented("Conversion not implemented."); + return node; +} + +Node FpConverter::getValue(Valuation &val, TNode var) { + Unimplemented("Conversion not implemented."); + return Node::null(); +} + +} // namespace fp +} // namespace theory +} // namespace CVC4 |