From 0c39f572696c322e70ab43b00ad32153bc733bbd Mon Sep 17 00:00:00 2001 From: Joachim Klein Date: Wed, 2 Aug 2017 11:31:17 +0000 Subject: [PATCH] PM_ExportVector: use int64_t for ODD indexing, adapt printf format string git-svn-id: https://www.prismmodelchecker.org/svn/prism/prism/trunk@12183 bbc10eb1-c90d-0410-af57-cb519fbb1720 --- prism/src/mtbdd/PM_ExportVector.cc | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/prism/src/mtbdd/PM_ExportVector.cc b/prism/src/mtbdd/PM_ExportVector.cc index c1726f72..0f145497 100644 --- a/prism/src/mtbdd/PM_ExportVector.cc +++ b/prism/src/mtbdd/PM_ExportVector.cc @@ -26,6 +26,7 @@ // includes #include "PrismMTBDD.h" +#include #include #include #include @@ -36,7 +37,7 @@ //------------------------------------------------------------------------------ // local function prototypes -static void export_rec(DdNode *dd, DdNode **vars, int num_vars, int level, ODDNode *odd, long index); +static void export_rec(DdNode *dd, DdNode **vars, int num_vars, int level, ODDNode *odd, int64_t index); // globals static const char *export_name; @@ -82,7 +83,7 @@ jstring fn // filename //------------------------------------------------------------------------------ -static void export_rec(DdNode *dd, DdNode **vars, int num_vars, int level, ODDNode *odd, long index) +static void export_rec(DdNode *dd, DdNode **vars, int num_vars, int level, ODDNode *odd, int64_t index) { DdNode *e, *t; @@ -92,9 +93,9 @@ static void export_rec(DdNode *dd, DdNode **vars, int num_vars, int level, ODDNo // base case - non zero terminal if (level == num_vars) { switch (export_type) { - case EXPORT_PLAIN: export_string("%d %.12g\n", index, Cudd_V(dd)); break; - case EXPORT_MATLAB: export_string("%s(%d)=%.12g;\n", export_name, index+1, Cudd_V(dd)); break; - case EXPORT_MRMC: export_string("%d %.12g\n", index+1, Cudd_V(dd)); break; + case EXPORT_PLAIN: export_string("%" PRId64 " %.12g\n", index, Cudd_V(dd)); break; + case EXPORT_MATLAB: export_string("%s(%" PRId64 ")=%.12g;\n", export_name, index+1, Cudd_V(dd)); break; + case EXPORT_MRMC: export_string("%" PRId64 " %.12g\n", index+1, Cudd_V(dd)); break; } return; }