Skip to content

Commit 54abbc3

Browse files
committed
- fix function rem (#2279)
git-svn-id: https://openmodelica.org/svn/OpenModelica/trunk@16571 f25d12d1-65f4-0310-ae8a-bbce733d8d8e
1 parent 38f8437 commit 54abbc3

File tree

3 files changed

+4
-19
lines changed

3 files changed

+4
-19
lines changed

Compiler/FrontEnd/ModelicaBuiltin.mo

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -776,15 +776,17 @@ package Internal "Contains internal implementations, e.g. overloaded builtin fun
776776
input Integer x;
777777
input Integer y;
778778
output Integer z;
779-
external "builtin" z=rem(x,y);
779+
algorithm
780+
z := x - (div(x, y) * y);
780781
annotation(preferredView="text");
781782
end intRem;
782783

783784
function realRem
784785
input Real x;
785786
input Real y;
786787
output Real z;
787-
external "builtin" z=rem(x,y);
788+
algorithm
789+
z := x - (div(x, y) * y);
788790
annotation(preferredView="text");
789791
end realRem;
790792

Compiler/Template/CodegenC.tpl

Lines changed: 0 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -7527,12 +7527,6 @@ template daeExpCall(Exp call, Context context, Text &preExp /*BUFP*/, Text &varD
75277527
let var2 = daeExp(e2, context, &preExp, &varDecls)
75287528
'modelica_mod_<%expTypeShort(ty)%>(<%var1%>,<%var2%>)'
75297529

7530-
case CALL(path=IDENT(name="rem"), expLst={e1, e2}) then
7531-
let var1 = daeExp(e1, context, &preExp, &varDecls)
7532-
let var2 = daeExp(e2, context, &preExp, &varDecls)
7533-
let typeStr = expTypeFromExpShort(e1)
7534-
'modelica_rem_<%typeStr%>(<%var1%>,<%var2%>)'
7535-
75367530
case CALL(path=IDENT(name="max"), attr=CALL_ATTR(ty = ty), expLst={array}) then
75377531
let expVar = daeExp(array, context, &preExp /*BUFC*/, &varDecls /*BUFD*/)
75387532
let arr_tp_str = '<%expTypeArray(ty)%>'

SimulationRuntime/c/util/utility.h

Lines changed: 0 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -89,17 +89,6 @@ static inline modelica_integer modelica_mod_integer(modelica_integer x, modelica
8989
}
9090

9191

92-
static inline modelica_real modelica_rem_real(modelica_real x, modelica_real y)
93-
{
94-
return x - (y * (modelica_div(x,y)));
95-
}
96-
97-
static inline modelica_integer modelica_rem_integer(modelica_integer x, modelica_integer y)
98-
{
99-
return x - (y * ((x / y)));
100-
}
101-
102-
10392
static inline modelica_integer modelica_integer_min(modelica_integer x,modelica_integer y)
10493
{
10594
return (x < y) ? x : y;

0 commit comments

Comments
 (0)