|
,
diff --git a/SimulationRuntime/c/simulation/modelinfo.c b/SimulationRuntime/c/simulation/modelinfo.c
index a0f7a43dfef..52e76090494 100644
--- a/SimulationRuntime/c/simulation/modelinfo.c
+++ b/SimulationRuntime/c/simulation/modelinfo.c
@@ -235,7 +235,6 @@ static void printVar(FILE *fout, int level, VAR_INFO* info) {
fprintf(fout, "\n");
}
-
static void printFunctions(FILE *fout, FILE *plt, const char *plotFormat, const char *outputPath, const char *modelFilePrefix, DATA *data) {
int i;
for(i=0; imodelData->modelDataXml.nFunctions; i++) {
@@ -269,13 +268,52 @@ static void printProfileBlocks(FILE *fout, FILE *plt, const char *plotFormat, co
}
}
-static void printEquations(FILE *fout, int n, MODEL_DATA_XML *xml) {
+
+static int getVarIdByName(DATA *data, const char* varName)
+{
+ int i;
+ for(i=0;imodelData->nVariablesReal;++i)
+ if (strcmp(varName, data->modelData->realVarsData[i].info.name) == 0)
+ return data->modelData->realVarsData[i].info.id;
+
+ for(i=0;imodelData->nParametersReal;++i)
+ if (strcmp(varName, data->modelData->realParameterData[i].info.name) == 0)
+ return data->modelData->realParameterData[i].info.id;
+
+ for(i=0;imodelData->nVariablesInteger;++i)
+ if (strcmp(varName, data->modelData->integerVarsData[i].info.name) == 0)
+ return data->modelData->integerVarsData[i].info.id;
+
+ for(i=0;imodelData->nParametersInteger;++i)
+ if (strcmp(varName, data->modelData->integerParameterData[i].info.name) == 0)
+ return data->modelData->integerParameterData[i].info.id;
+
+ for(i=0;imodelData->nVariablesBoolean;++i)
+ if (strcmp(varName, data->modelData->integerParameterData[i].info.name) == 0)
+ return data->modelData->integerParameterData[i].info.id;
+
+ for(i=0;imodelData->nParametersBoolean;++i)
+ if (strcmp(varName, data->modelData->booleanParameterData[i].info.name) == 0)
+ return data->modelData->booleanParameterData[i].info.id;
+
+ for(i=0;imodelData->nVariablesString;++i)
+ if (strcmp(varName, data->modelData->stringVarsData[i].info.name) == 0)
+ return data->modelData->stringVarsData[i].info.id;
+
+ for(i=0;imodelData->nParametersString;++i)
+ if (strcmp(varName, data->modelData->stringParameterData[i].info.name) == 0)
+ return data->modelData->stringParameterData[i].info.id;
+
+ return 0;
+}
+
+static void printEquations(FILE *fout, int n, MODEL_DATA_XML *xml, DATA *data) {
int i,j;
for(i=0; i\n", modelInfoGetEquation(xml,i).id);
indent(fout,4);fprintf(fout, "\n");
for(j=0; j\n", 0 /* modelInfoGetEquation(xml,i).vars[j]->id */);
+ indent(fout,6);fprintf(fout, "\n", getVarIdByName(data, modelInfoGetEquation(xml,i).vars[j]));
}
indent(fout,4);fprintf(fout, "\n");
indent(fout,4);fprintf(fout, "\n", rt_accumulated(SIM_TIMER_FIRST_FUNCTION + xml->nFunctions + xml->nProfileBlocks + modelInfoGetEquation(xml,i).id), (long) rt_ncall(SIM_TIMER_FIRST_FUNCTION + xml->nFunctions + xml->nProfileBlocks + modelInfoGetEquation(xml,i).id));
@@ -439,7 +477,7 @@ int printModelInfo(DATA *data, threadData_t *threadData, const char *outputPath,
fprintf(fout, "\n");
fprintf(fout, "\n");
- printEquations(fout, data->modelData->modelDataXml.nEquations, &data->modelData->modelDataXml);
+ printEquations(fout, data->modelData->modelDataXml.nEquations, &data->modelData->modelDataXml, data);
fprintf(fout, "\n");
fprintf(fout, "\n");
|