From c46ce03e6092c765f4653235b08d0526d95f7370 Mon Sep 17 00:00:00 2001
From: Sebastian Junges <sebastian.junges@rwth-aachen.de>
Date: Wed, 5 Jul 2017 18:08:15 +0200
Subject: [PATCH] make storm compile with latest version of carl

---
 resources/3rdparty/sylvan/src/storm_wrapper.cpp           | 6 +++---
 src/storm/storage/expressions/ToRationalNumberVisitor.cpp | 2 +-
 src/storm/utility/constants.cpp                           | 8 ++++----
 3 files changed, 8 insertions(+), 8 deletions(-)

diff --git a/resources/3rdparty/sylvan/src/storm_wrapper.cpp b/resources/3rdparty/sylvan/src/storm_wrapper.cpp
index b042227fd..ae9a91bb9 100644
--- a/resources/3rdparty/sylvan/src/storm_wrapper.cpp
+++ b/resources/3rdparty/sylvan/src/storm_wrapper.cpp
@@ -201,8 +201,8 @@ storm_rational_number_ptr storm_rational_number_pow(storm_rational_number_ptr a,
     
     storm::RationalNumber const& srn_a = *(storm::RationalNumber const*)a;
     storm::RationalNumber const& srn_b = *(storm::RationalNumber const*)b;
-    
-    uint64_t exponentAsInteger = carl::toInt<unsigned long>(srn_b);
+
+    carl::uint exponentAsInteger = carl::toInt<carl::uint>(srn_b);
     storm::RationalNumber* result_srn = new storm::RationalNumber(carl::pow(srn_a, exponentAsInteger));
     return (storm_rational_number_ptr)result_srn;
 }
@@ -515,7 +515,7 @@ storm_rational_function_ptr storm_rational_function_pow(storm_rational_function_
     storm::RationalFunction const& srf_a = *(storm::RationalFunction const*)a;
     storm::RationalFunction const& srf_b = *(storm::RationalFunction const*)b;
     
-    uint64_t exponentAsInteger = carl::toInt<unsigned long>(srf_b.nominatorAsNumber());
+    carl::uint exponentAsInteger = carl::toInt<carl::uint>(srf_b.nominatorAsNumber());
     storm::RationalFunction* result_srf = new storm::RationalFunction(carl::pow(srf_a, exponentAsInteger));
     return (storm_rational_function_ptr)result_srf;
 }
diff --git a/src/storm/storage/expressions/ToRationalNumberVisitor.cpp b/src/storm/storage/expressions/ToRationalNumberVisitor.cpp
index 042485104..f7aa3236d 100644
--- a/src/storm/storage/expressions/ToRationalNumberVisitor.cpp
+++ b/src/storm/storage/expressions/ToRationalNumberVisitor.cpp
@@ -75,7 +75,7 @@ namespace storm {
                     break;
                 case BinaryNumericalFunctionExpression::OperatorType::Power:
                     STORM_LOG_THROW(storm::utility::isInteger(secondOperandAsRationalNumber), storm::exceptions::InvalidArgumentException, "Exponent of power operator must be a positive integer.");
-                    uint_fast64_t exponentAsInteger = storm::utility::convertNumber<uint_fast64_t>(secondOperandAsRationalNumber);
+                    uint_fast64_t exponentAsInteger = storm::utility::convertNumber<carl::uint>(secondOperandAsRationalNumber);
                     result = storm::utility::pow(firstOperandAsRationalNumber, exponentAsInteger);
                     return result;
                     break;
diff --git a/src/storm/utility/constants.cpp b/src/storm/utility/constants.cpp
index 35d79c13f..67ac0a6b8 100644
--- a/src/storm/utility/constants.cpp
+++ b/src/storm/utility/constants.cpp
@@ -256,7 +256,7 @@ namespace storm {
 
         template<>
         uint_fast64_t convertNumber(ClnRationalNumber const& number) {
-            return carl::toInt<unsigned long>(number);
+            return carl::toInt<carl::uint>(number);
         }
         
         template<>
@@ -386,7 +386,7 @@ namespace storm {
         
         template<>
         uint_fast64_t convertNumber(GmpRationalNumber const& number){
-            return carl::toInt<unsigned long>(number);
+            return carl::toInt<carl::uint>(number);
         }
         
         template<>
@@ -549,8 +549,8 @@ namespace storm {
 #endif
         
         template<>
-        uint_fast64_t convertNumber(RationalFunction const& func) {
-            return carl::toInt<unsigned long>(convertNumber<RationalFunctionCoefficient>(func));
+        carl::uint convertNumber(RationalFunction const& func) {
+            return carl::toInt<carl::uint>(convertNumber<RationalFunctionCoefficient>(func));
         }
         
         template<>