Browse Source

towards compiling storm with the latest carl version

tempestpy_adaptions
Sebastian Junges 8 years ago
parent
commit
4a43d7ab0d
  1. 18
      src/storm/storage/expressions/ToRationalNumberVisitor.cpp

18
src/storm/storage/expressions/ToRationalNumberVisitor.cpp

@ -1,6 +1,6 @@
#include "storm/storage/expressions/ToRationalNumberVisitor.h"
#include "storm/utility/macros.h"
#include "storm/utility/constants.h"
#include "storm/exceptions/InvalidArgumentException.h"
#include "storm/exceptions/NotSupportedException.h"
@ -128,22 +128,12 @@ namespace storm {
template<typename RationalNumberType>
boost::any ToRationalNumberVisitor<RationalNumberType>::visit(IntegerLiteralExpression const& expression, boost::any const&) {
(void)expression;
#ifdef STORM_HAVE_CARL
return RationalNumberType(carl::rationalize<storm::RationalNumber>(static_cast<size_t>(expression.getValue())));
#else
STORM_LOG_THROW(false, storm::exceptions::NotSupportedException, "Rational numbers are not supported in this build.");
#endif
return RationalNumberType(carl::rationalize<storm::RationalNumber>(static_cast<carl::uint>(expression.getValue())));
}
template<typename RationalNumberType>
boost::any ToRationalNumberVisitor<RationalNumberType>::visit(RationalLiteralExpression const& expression, boost::any const&) {
(void)expression;
#ifdef STORM_HAVE_CARL
return expression.getValue();
#else
STORM_LOG_THROW(false, storm::exceptions::NotSupportedException, "Rational numbers are not supported in this build.");
#endif
}
template<typename RationalNumberType>
@ -151,8 +141,8 @@ namespace storm {
valueMapping[variable] = value;
}
#ifdef STORM_HAVE_CARL
template class ToRationalNumberVisitor<storm::RationalNumber>;
#endif
}
}
Loading…
Cancel
Save