|
|
@ -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
|
|
|
|
|
|
|
|
} |
|
|
|
} |