Browse Source

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
master
Joachim Klein 9 years ago
parent
commit
0c39f57269
  1. 11
      prism/src/mtbdd/PM_ExportVector.cc

11
prism/src/mtbdd/PM_ExportVector.cc

@ -26,6 +26,7 @@
// includes
#include "PrismMTBDD.h"
#include <cinttypes>
#include <util.h>
#include <cudd.h>
#include <dd.h>
@ -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;
}

Loading…
Cancel
Save