summaryrefslogtreecommitdiff
path: root/src/theory/fp/fp_converter.cpp
diff options
context:
space:
mode:
authorMartin <martin.brain@cs.ox.ac.uk>2017-10-10 07:21:26 +0100
committerAndres Noetzli <andres.noetzli@gmail.com>2017-10-09 23:21:26 -0700
commit8c860213ca3a43e1fe483accb4b2b928ae14028e (patch)
tree4383636a3c88e1cde14e78b9ee4f04f46952c392 /src/theory/fp/fp_converter.cpp
parent96a0bc3b022b67b5ab79bf2ab087573c65a8d248 (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.cpp38
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
generated by cgit on debian on lair
contact matthew@masot.net with questions or feedback