From a8fa45b89c9cb68ebe4b6dc82d55b9637198acac Mon Sep 17 00:00:00 2001 From: PBerger Date: Mon, 18 Jul 2016 18:56:08 +0200 Subject: [PATCH] Fixed call to terminal(type, valPtr) Former-commit-id: dde588ba1412b4a04d5e841ae3524dfb81ff3fd9 --- src/storage/dd/sylvan/InternalSylvanAdd.cpp | 4 +++- src/storage/dd/sylvan/InternalSylvanDdManager.cpp | 12 +++++++++--- 2 files changed, 12 insertions(+), 4 deletions(-) diff --git a/src/storage/dd/sylvan/InternalSylvanAdd.cpp b/src/storage/dd/sylvan/InternalSylvanAdd.cpp index 693252db8..ff59c2e39 100644 --- a/src/storage/dd/sylvan/InternalSylvanAdd.cpp +++ b/src/storage/dd/sylvan/InternalSylvanAdd.cpp @@ -605,7 +605,9 @@ namespace storm { MTBDD InternalAdd::getLeaf(storm::RationalFunction const& value) { storm_rational_function_ptr_struct helperStruct; helperStruct.storm_rational_function = static_cast(&value); - return sylvan::Mtbdd::terminal(sylvan_storm_rational_function_get_type(), helperStruct); + uint64_t terminalValue = (uint64_t)&helperStruct; + + return sylvan::Mtbdd::terminal(sylvan_storm_rational_function_get_type(), terminalValue); } template diff --git a/src/storage/dd/sylvan/InternalSylvanDdManager.cpp b/src/storage/dd/sylvan/InternalSylvanDdManager.cpp index 93445387f..1d0642048 100644 --- a/src/storage/dd/sylvan/InternalSylvanDdManager.cpp +++ b/src/storage/dd/sylvan/InternalSylvanDdManager.cpp @@ -86,7 +86,9 @@ namespace storm { storm::RationalFunction rationalFunction = storm::utility::one(); storm_rational_function_ptr_struct helperStruct; helperStruct.storm_rational_function = static_cast(&rationalFunction); - return InternalAdd(this, sylvan::Mtbdd::terminal(sylvan_storm_rational_function_get_type(), helperStruct)); + uint64_t value = (uint64_t)&helperStruct; + + return InternalAdd(this, sylvan::Mtbdd::terminal(sylvan_storm_rational_function_get_type(), value)); } #endif @@ -110,7 +112,9 @@ namespace storm { storm::RationalFunction rationalFunction = storm::utility::zero(); storm_rational_function_ptr_struct helperStruct; helperStruct.storm_rational_function = static_cast(&rationalFunction); - return InternalAdd(this, sylvan::Mtbdd::terminal(sylvan_storm_rational_function_get_type(), helperStruct)); + uint64_t value = (uint64_t)&helperStruct; + + return InternalAdd(this, sylvan::Mtbdd::terminal(sylvan_storm_rational_function_get_type(), value)); } #endif @@ -130,7 +134,9 @@ namespace storm { storm::RationalFunction rationalFunction = value; storm_rational_function_ptr_struct helperStruct; helperStruct.storm_rational_function = static_cast(&rationalFunction); - return InternalAdd(this, sylvan::Mtbdd::terminal(sylvan_storm_rational_function_get_type(), helperStruct)); + uint64_t terminalValue = (uint64_t)&helperStruct; + + return InternalAdd(this, sylvan::Mtbdd::terminal(sylvan_storm_rational_function_get_type(), terminalValue)); } #endif