Browse Source

fixed translation of mathsat's rational number expressions to storm's rational number expressions

tempestpy_adaptions
TimQu 8 years ago
parent
commit
3d4d23691c
  1. 6
      src/storm/adapters/MathsatExpressionAdapter.h

6
src/storm/adapters/MathsatExpressionAdapter.h

@ -13,6 +13,7 @@
#include "storage/expressions/Expressions.h"
#include "storage/expressions/ExpressionVisitor.h"
#include "storm/utility/macros.h"
#include "storm/utility/constants.h"
#include "storm/exceptions/ExpressionEvaluationException.h"
#include "storm/exceptions/InvalidTypeException.h"
#include "storm/exceptions/InvalidArgumentException.h"
@ -250,10 +251,13 @@ namespace storm {
msat_free(name);
return result;
} else if (msat_term_is_number(env, term)) {
char* termAsCString = msat_term_repr(term);
std::string termString(termAsCString);
msat_free(termAsCString);
if (msat_is_integer_type(env, msat_term_get_type(term))) {
return manager.integer(std::stoll(msat_term_repr(term)));
} else if (msat_is_rational_type(env, msat_term_get_type(term))) {
return manager.rational(std::stod(msat_term_repr(term)));
return manager.rational(storm::utility::convertNumber<storm::RationalNumber>(termString));
}
}

Loading…
Cancel
Save