Skip to content

Commit 613355e

Browse files
authored
Change 'modelica_integer' to 'int'. (#9064)
* Change modelica_integer to int * Change _index_t to modelica_integer (=int) * Change modelica_integer to int in OpenCL code. * Update expected outputs for test cases. - These are due to the fact that we now use the limit `INT_MAX/2` instead of `LONG_MAX/2` for integer maximums. * Add the test case from the ticket to the testsuite.
1 parent 8feafe1 commit 613355e

File tree

27 files changed

+166
-150
lines changed

27 files changed

+166
-150
lines changed

OMCompiler/SimulationRuntime/ParModelica/explicit/openclrt/OCLRuntimeUtil.cl

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -87,7 +87,7 @@
8787
#define cos(v,m) (cos(v))
8888

8989
#ifdef DOUBLE_PREC_AVAILABLE
90-
typedef long modelica_integer;
90+
typedef int modelica_integer;
9191
typedef double modelica_real;
9292
#else
9393
typedef float modelica_real;

OMCompiler/SimulationRuntime/c/meta/meta_modelica_builtin.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -696,7 +696,7 @@ modelica_real realMaxLit(void)
696696

697697
modelica_integer intMaxLit(void)
698698
{
699-
return LONG_MAX / 2;
699+
return INT_MAX / 2;
700700
}
701701

702702
modelica_boolean setStackOverflowSignal(modelica_boolean inSignal)

OMCompiler/SimulationRuntime/c/openmodelica_types.h

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -90,8 +90,8 @@ typedef int mmc_sint_t;
9090
#define OMC_INT_FORMAT "%*lld"
9191
#else
9292
#define modelica_div_integer ldiv
93-
#define OMC_INT_FORMAT_LEFT_JUSTIFIED "%-*ld"
94-
#define OMC_INT_FORMAT "%*ld"
93+
#define OMC_INT_FORMAT_LEFT_JUSTIFIED "%-*d"
94+
#define OMC_INT_FORMAT "%*d"
9595
#endif
9696

9797
typedef void* modelica_complex; /* currently only External objects are represented using modelica_complex.*/
@@ -103,11 +103,12 @@ pointers, some changes need to be done to code generation */
103103
typedef void* modelica_fnptr;
104104

105105
typedef double modelica_real;
106-
typedef mmc_sint_t modelica_integer;
106+
typedef mmc_sint_t meta_modelica_integer;
107+
typedef int modelica_integer;
107108
typedef signed char modelica_boolean;
108109
/* When MetaModelica grammar is enabled, all strings are boxed */
109110
typedef modelica_metatype modelica_string;
110-
typedef mmc_sint_t _index_t;
111+
typedef modelica_integer _index_t;
111112

112113
#ifndef FALSE
113114
#define FALSE 0

OMCompiler/SimulationRuntime/c/simulation/simulation_input_xml.c

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -396,7 +396,7 @@ static void read_var_attribute_int(omc_ScalarVariable *v, INTEGER_ATTRIBUTE *att
396396
read_value_long(findHashStringStringEmpty(v,"min"), &attribute->min, INTEGER_MIN);
397397
read_value_long(findHashStringStringEmpty(v,"max"), &attribute->max, INTEGER_MAX);
398398

399-
infoStreamPrint(LOG_DEBUG, 0, "Integer %s(start=%ld, fixed=%s, min=%ld, max=%ld)", findHashStringString(v,"name"), attribute->start, attribute->fixed?"true":"false", attribute->min, attribute->max);
399+
infoStreamPrint(LOG_DEBUG, 0, "Integer %s(start=%d, fixed=%s, min=%d, max=%d)", findHashStringString(v,"name"), attribute->start, attribute->fixed?"true":"false", attribute->min, attribute->max);
400400
}
401401

402402
static void read_var_attribute_bool(omc_ScalarVariable *v, BOOLEAN_ATTRIBUTE *attribute)
@@ -591,15 +591,15 @@ void read_input_xml(MODEL_DATA* modelData,
591591
if (ACTIVE_WARNING_STREAM(LOG_SIMULATION))
592592
{
593593
warningStreamPrint(LOG_SIMULATION, 1, "Error, input data file does not match model.");
594-
warningStreamPrint(LOG_SIMULATION, 0, "nx in setup file: %ld from model code: %d", nxchk, (int)modelData->nStates);
595-
warningStreamPrint(LOG_SIMULATION, 0, "ny in setup file: %ld from model code: %ld", nychk, modelData->nVariablesReal - 2*modelData->nStates);
596-
warningStreamPrint(LOG_SIMULATION, 0, "np in setup file: %ld from model code: %ld", npchk, modelData->nParametersReal);
597-
warningStreamPrint(LOG_SIMULATION, 0, "npint in setup file: %ld from model code: %ld", npintchk, modelData->nParametersInteger);
598-
warningStreamPrint(LOG_SIMULATION, 0, "nyint in setup file: %ld from model code: %ld", nyintchk, modelData->nVariablesInteger);
599-
warningStreamPrint(LOG_SIMULATION, 0, "npbool in setup file: %ld from model code: %ld", npboolchk, modelData->nParametersBoolean);
600-
warningStreamPrint(LOG_SIMULATION, 0, "nybool in setup file: %ld from model code: %ld", nyboolchk, modelData->nVariablesBoolean);
601-
warningStreamPrint(LOG_SIMULATION, 0, "npstr in setup file: %ld from model code: %ld", npstrchk, modelData->nParametersString);
602-
warningStreamPrint(LOG_SIMULATION, 0, "nystr in setup file: %ld from model code: %ld", nystrchk, modelData->nVariablesString);
594+
warningStreamPrint(LOG_SIMULATION, 0, "nx in setup file: %d from model code: %d", nxchk, (int)modelData->nStates);
595+
warningStreamPrint(LOG_SIMULATION, 0, "ny in setup file: %d from model code: %ld", nychk, modelData->nVariablesReal - 2*modelData->nStates);
596+
warningStreamPrint(LOG_SIMULATION, 0, "np in setup file: %d from model code: %ld", npchk, modelData->nParametersReal);
597+
warningStreamPrint(LOG_SIMULATION, 0, "npint in setup file: %d from model code: %ld", npintchk, modelData->nParametersInteger);
598+
warningStreamPrint(LOG_SIMULATION, 0, "nyint in setup file: %d from model code: %ld", nyintchk, modelData->nVariablesInteger);
599+
warningStreamPrint(LOG_SIMULATION, 0, "npbool in setup file: %d from model code: %ld", npboolchk, modelData->nParametersBoolean);
600+
warningStreamPrint(LOG_SIMULATION, 0, "nybool in setup file: %d from model code: %ld", nyboolchk, modelData->nVariablesBoolean);
601+
warningStreamPrint(LOG_SIMULATION, 0, "npstr in setup file: %d from model code: %ld", npstrchk, modelData->nParametersString);
602+
warningStreamPrint(LOG_SIMULATION, 0, "nystr in setup file: %d from model code: %ld", nystrchk, modelData->nVariablesString);
603603
messageClose(LOG_SIMULATION);
604604
}
605605
XML_ParserFree(parser);

OMCompiler/SimulationRuntime/c/simulation/solver/initialization/initialization.c

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -136,7 +136,7 @@ void dumpInitialSolution(DATA *simData)
136136
{
137137
infoStreamPrint(LOG_SOTI, 1, "integer variables");
138138
for(i=0; i<mData->nVariablesInteger; ++i)
139-
infoStreamPrint(LOG_SOTI, 0, "[%ld] Integer %s(start=%ld) = %ld (pre: %ld)", i+1,
139+
infoStreamPrint(LOG_SOTI, 0, "[%ld] Integer %s(start=%d) = %d (pre: %d)", i+1,
140140
mData->integerVarsData[i].info.name,
141141
mData->integerVarsData[i].attribute.start,
142142
simData->localData[0]->integerVars[i],
@@ -620,7 +620,7 @@ int importStartValues(DATA *data, threadData_t *threadData, const char *pInitFil
620620
omc_matlab4_val(&value, &reader, pVar, initTime);
621621
mData->integerParameterData[i].attribute.start = (modelica_integer)value;
622622
data->simulationInfo->integerParameter[i] = (modelica_integer)value;
623-
infoStreamPrint(LOG_INIT_V, 0, "| %s(start=%ld)", mData->integerParameterData[i].info.name, mData->integerParameterData[i].attribute.start);
623+
infoStreamPrint(LOG_INIT_V, 0, "| %s(start=%d)", mData->integerParameterData[i].info.name, mData->integerParameterData[i].attribute.start);
624624
} else {
625625
warningStreamPrint(LOG_INIT, 0, "unable to import integer parameter %s from given file", mData->integerParameterData[i].info.name);
626626
}

OMCompiler/SimulationRuntime/c/simulation/solver/model_help.c

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -224,7 +224,7 @@ void printAllVars(DATA *data, int ringSegment, int stream)
224224

225225
infoStreamPrint(stream, 1, "integer variables");
226226
for(i=0; i<mData->nVariablesInteger; ++i)
227-
infoStreamPrint(stream, 0, "%ld: %s = %ld (pre: %ld)", i+1, mData->integerVarsData[i].info.name, data->localData[ringSegment]->integerVars[i], sInfo->integerVarsPre[i]);
227+
infoStreamPrint(stream, 0, "%ld: %s = %d (pre: %d)", i+1, mData->integerVarsData[i].info.name, data->localData[ringSegment]->integerVars[i], sInfo->integerVarsPre[i]);
228228
messageClose(stream);
229229

230230
infoStreamPrint(stream, 1, "boolean variables");
@@ -335,7 +335,7 @@ void printParameters(DATA *data, int stream)
335335
{
336336
infoStreamPrint(stream, 1, "integer parameters");
337337
for(i=0; i<mData->nParametersInteger; ++i)
338-
infoStreamPrint(stream, 0, "[%ld] parameter Integer %s(start=%ld, fixed=%s) = %ld", i+1,
338+
infoStreamPrint(stream, 0, "[%ld] parameter Integer %s(start=%d, fixed=%s) = %d", i+1,
339339
mData->integerParameterData[i].info.name,
340340
mData->integerParameterData[i].attribute.start,
341341
mData->integerParameterData[i].attribute.fixed ? "true" : "false",
@@ -653,7 +653,7 @@ void printRingBufferSimulationData(RINGBUFFER *rb, DATA* data)
653653
infoStreamPrint(LOG_STDOUT, 1, "RingBuffer Integer Variable");
654654
for (int j = 0; j < data->modelData->nVariablesInteger; ++j)
655655
{
656-
infoStreamPrint(LOG_STDOUT, 0, "%d: %s = %li ", j+1, data->modelData->integerVarsData[j].info.name, sdata->integerVars[j]);
656+
infoStreamPrint(LOG_STDOUT, 0, "%d: %s = %d ", j+1, data->modelData->integerVarsData[j].info.name, sdata->integerVars[j]);
657657
}
658658
messageClose(LOG_STDOUT);
659659

@@ -722,7 +722,7 @@ void setAllVarsToStart(DATA *data)
722722
for(i=0; i<mData->nVariablesInteger; ++i)
723723
{
724724
sData->integerVars[i] = mData->integerVarsData[i].attribute.start;
725-
debugStreamPrint(LOG_DEBUG, 0, "set Integer var %s = %ld", mData->integerVarsData[i].info.name, sData->integerVars[i]);
725+
debugStreamPrint(LOG_DEBUG, 0, "set Integer var %s = %d", mData->integerVarsData[i].info.name, sData->integerVars[i]);
726726
}
727727
for(i=0; i<mData->nVariablesBoolean; ++i)
728728
{
@@ -763,7 +763,7 @@ void setAllStartToVars(DATA *data)
763763
for(i=0; i<mData->nVariablesInteger; ++i)
764764
{
765765
mData->integerVarsData[i].attribute.start = sData->integerVars[i];
766-
debugStreamPrint(LOG_DEBUG, 0, "Integer var %s(start=%ld)", mData->integerVarsData[i].info.name, sData->integerVars[i]);
766+
debugStreamPrint(LOG_DEBUG, 0, "Integer var %s(start=%d)", mData->integerVarsData[i].info.name, sData->integerVars[i]);
767767
}
768768
for(i=0; i<mData->nVariablesBoolean; ++i)
769769
{
@@ -807,7 +807,7 @@ void setAllParamsToStart(DATA *data)
807807
for(i=0; i<mData->nParametersInteger; ++i)
808808
{
809809
sInfo->integerParameter[i] = mData->integerParameterData[i].attribute.start;
810-
debugStreamPrint(LOG_DEBUG, 0, "set Integer var %s = %ld", mData->integerParameterData[i].info.name, sInfo->integerParameter[i]);
810+
debugStreamPrint(LOG_DEBUG, 0, "set Integer var %s = %d", mData->integerParameterData[i].info.name, sInfo->integerParameter[i]);
811811
}
812812
for(i=0; i<mData->nParametersBoolean; ++i)
813813
{

OMCompiler/SimulationRuntime/c/simulation/solver/nonlinearSystem.c

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1186,7 +1186,7 @@ int solve_nonlinear_system(DATA *data, threadData_t *threadData, int sysNumber)
11861186
/* performance measurement */
11871187
rt_ext_tp_tick(&nonlinsys->totalTimeClock);
11881188

1189-
infoStreamPrint(LOG_NLS_EXTRAPOLATE, 1, "Nonlinear system %ld dump LOG_NLS_EXTRAPOLATE", nonlinsys->equationIndex);
1189+
infoStreamPrint(LOG_NLS_EXTRAPOLATE, 1, "Nonlinear system %d dump LOG_NLS_EXTRAPOLATE", nonlinsys->equationIndex);
11901190
/* grab the initial guess */
11911191
/* if last solving is too long ago use just old values */
11921192
if (fabs(data->localData[0]->timeValue - nonlinsys->lastTimeSolved) < 5*data->simulationInfo->stepSize || casualTearingSet)
@@ -1206,7 +1206,7 @@ int solve_nonlinear_system(DATA *data, threadData_t *threadData, int sysNumber)
12061206
}
12071207

12081208
/* print debug initial information */
1209-
infoStreamPrint(LOG_NLS, 1, "############ Solve nonlinear system %ld at time %g ############", nonlinsys->equationIndex, data->localData[0]->timeValue);
1209+
infoStreamPrint(LOG_NLS, 1, "############ Solve nonlinear system %d at time %g ############", nonlinsys->equationIndex, data->localData[0]->timeValue);
12101210
printNonLinearInitialInfo(LOG_NLS, data, nonlinsys);
12111211

12121212
/* try */

OMCompiler/SimulationRuntime/c/simulation/solver/solver_main.c

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1197,7 +1197,7 @@ static void writeOutputVars(char* names, DATA* data)
11971197
fprintf(stdout, ",%s=%.20g", p, (data->localData[0])->realVars[i]);
11981198
for(i = 0; i < data->modelData->nVariablesInteger; i++)
11991199
if(!strcmp(p, data->modelData->integerVarsData[i].info.name))
1200-
fprintf(stdout, ",%s=%li", p, (data->localData[0])->integerVars[i]);
1200+
fprintf(stdout, ",%s=%d", p, (data->localData[0])->integerVars[i]);
12011201
for(i = 0; i < data->modelData->nVariablesBoolean; i++)
12021202
if(!strcmp(p, data->modelData->booleanVarsData[i].info.name))
12031203
fprintf(stdout, ",%s=%i", p, (data->localData[0])->booleanVars[i]);
@@ -1217,9 +1217,9 @@ static void writeOutputVars(char* names, DATA* data)
12171217
if(!strcmp(p, data->modelData->integerAlias[i].info.name))
12181218
{
12191219
if(data->modelData->integerAlias[i].negate)
1220-
fprintf(stdout, ",%s=%li", p, -(data->localData[0])->integerVars[data->modelData->integerAlias[i].nameID]);
1220+
fprintf(stdout, ",%s=%d", p, -(data->localData[0])->integerVars[data->modelData->integerAlias[i].nameID]);
12211221
else
1222-
fprintf(stdout, ",%s=%li", p, (data->localData[0])->integerVars[data->modelData->integerAlias[i].nameID]);
1222+
fprintf(stdout, ",%s=%d", p, (data->localData[0])->integerVars[data->modelData->integerAlias[i].nameID]);
12231223
}
12241224
for(i = 0; i < data->modelData->nAliasBoolean; i++)
12251225
if(!strcmp(p, data->modelData->booleanAlias[i].info.name))
@@ -1240,7 +1240,7 @@ static void writeOutputVars(char* names, DATA* data)
12401240

12411241
for(i = 0; i < data->modelData->nParametersInteger; i++)
12421242
if(!strcmp(p, data->modelData->integerParameterData[i].info.name))
1243-
fprintf(stdout, ",%s=%li", p, data->simulationInfo->integerParameter[i]);
1243+
fprintf(stdout, ",%s=%d", p, data->simulationInfo->integerParameter[i]);
12441244

12451245
for(i = 0; i < data->modelData->nParametersBoolean; i++)
12461246
if(!strcmp(p, data->modelData->booleanParameterData[i].info.name))

OMCompiler/SimulationRuntime/c/simulation/solver/stateset.c

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -323,7 +323,7 @@ void printStateSelectionInfo(DATA *data, STATE_SET_DATA *set)
323323
{
324324
long k, l;
325325

326-
infoStreamPrint(LOG_DSS, 1, "Select %ld states from %ld candidates.", set->nStates, set->nCandidates);
326+
infoStreamPrint(LOG_DSS, 1, "Select %d states from %d candidates.", set->nStates, set->nCandidates);
327327
for(k=0; k < set->nCandidates; k++)
328328
{
329329
infoStreamPrint(LOG_DSS, 0, "[%ld] candidate %s", k+1, set->statescandidates[k]->name);
@@ -391,7 +391,7 @@ int stateSelectionSet(DATA *data, threadData_t *threadData, char reportError, in
391391
/* error, report the matrix and the time */
392392

393393
char *buffer = (char*)malloc(sizeof(char)*data->simulationInfo->analyticJacobians[set->jacobianIndex].sizeCols*100+5);
394-
warningStreamPrint(LOG_DSS, 1, "jacobian %dx%d [id: %ld]", data->simulationInfo->analyticJacobians[set->jacobianIndex].sizeRows, data->simulationInfo->analyticJacobians[set->jacobianIndex].sizeCols, set->jacobianIndex);
394+
warningStreamPrint(LOG_DSS, 1, "jacobian %dx%d [id: %d]", data->simulationInfo->analyticJacobians[set->jacobianIndex].sizeRows, data->simulationInfo->analyticJacobians[set->jacobianIndex].sizeCols, set->jacobianIndex);
395395

396396
for(m=0; m < data->simulationInfo->analyticJacobians[set->jacobianIndex].sizeRows; m++)
397397
{

OMCompiler/SimulationRuntime/c/util/generic_array.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -46,7 +46,7 @@ static int generic_array_ndims_eq(const base_array_t* src, const base_array_t* d
4646
return 1;
4747
}
4848

49-
#define omc_FORMAT "src->dim_size[%d] != dst->dim_size[%d], %" PRINT_MMC_SINT_T " != %" PRINT_MMC_SINT_T "\n"
49+
#define omc_FORMAT "src->dim_size[%d] != dst->dim_size[%d], %d != %d\n"
5050

5151
static int generic_array_dimsizes_eq(const base_array_t* src, const base_array_t* dst, int print_error)
5252
{

0 commit comments

Comments
 (0)