Browse Source

Bugfix in simulator trace export to file.

git-svn-id: https://www.prismmodelchecker.org/svn/prism/prism/trunk@58 bbc10eb1-c90d-0410-af57-cb519fbb1720
master
Dave Parker 20 years ago
parent
commit
50d1d0f570
  1. 30
      prism/src/simulator/SimulatorEngine.java

30
prism/src/simulator/SimulatorEngine.java

@ -983,6 +983,7 @@ public class SimulatorEngine
{
try
{
int i, j, n, m;
PrintWriter pw = new PrintWriter(new FileWriter(f), false);
if(modulesFile == null)
@ -993,40 +994,45 @@ public class SimulatorEngine
}
//Write headers
pw.print("step ");
for(int i = 0; i < getNumVariables(); i++)
m = getNumVariables();
for(j = 0; j < m; j++)
{
pw.print(varNames[i]+" ");
if (j>0) pw.print(" ");
pw.print(varNames[j]);
}
if(modulesFile.getType() == ModulesFile.STOCHASTIC)
{
pw.print("time_in_state ");
pw.print(" time_in_state");
}
pw.print("state_reward transition_reward");
pw.print(" state_reward transition_reward");
pw.println();
//Write path
for(int i = 0; i < getPathSize(); i++)
n = getPathSize();
m = getNumVariables();
for(i = 0; i < n; i++)
{
pw.print(i+" ");
for(int j = 0; j < getNumVariables(); j++)
for(j = 0; j < m; j++)
{
if (j>0) pw.print(" ");
if(varTypes[j] == Expression.BOOLEAN)
{
if(getPathData(j, i) == 0) pw.print("false ");
else pw.print("true ");
if(getPathData(j, i) == 0) pw.print("false");
else pw.print("true");
}
else
{
pw.print(getPathData(j, i)+" ");
pw.print(getPathData(j, i));
}
}
if(modulesFile.getType() == ModulesFile.STOCHASTIC)
{
pw.print(getTimeSpentInPathState(i)+" ");
pw.print(" "+((i<m-1)?getTimeSpentInPathState(i):0.0));
}
pw.print(getStateRewardOfPathState(i)+" ");
pw.println(getTransitionRewardOfPathState(i));
pw.print(" "+((i<m-1)?getStateRewardOfPathState(i):0.0));
pw.println(" "+((i<m-1)?getTransitionRewardOfPathState(i):0.0));
}
pw.println();

Loading…
Cancel
Save