Skip to content

Commit

Permalink
- Ceval arrays with an unknown dimension size
Browse files Browse the repository at this point in the history
git-svn-id: https://openmodelica.org/svn/OpenModelica/trunk@13723 f25d12d1-65f4-0310-ae8a-bbce733d8d8e
  • Loading branch information
sjoelund committed Oct 30, 2012
1 parent 4f5644c commit 18a7648
Showing 1 changed file with 8 additions and 1 deletion.
9 changes: 8 additions & 1 deletion Compiler/FrontEnd/Ceval.mo
Original file line number Diff line number Diff line change
Expand Up @@ -198,6 +198,13 @@ algorithm
then
(cache,Values.ARRAY(es_1,dims),stOpt);

case (cache,env,DAE.ARRAY(array = es, ty = DAE.T_ARRAY(dims = arrayDims)),impl,stOpt,msg)
equation
failure(_ = List.map(arrayDims, Expression.dimensionSize));
(cache,es_1,stOpt) = cevalList(cache,env, es, impl, stOpt, msg);
then
(cache,ValuesUtil.makeArray(es_1),stOpt);

case (cache,env,DAE.MATRIX(matrix = expll, ty = DAE.T_ARRAY(dims = arrayDims)),impl,stOpt,msg)
equation
dims = List.map(arrayDims, Expression.dimensionSize);
Expand Down Expand Up @@ -713,7 +720,7 @@ algorithm
// cast integer array to real array
case (cache,env,DAE.CAST(ty = DAE.T_ARRAY(ty = DAE.T_REAL(varLst = _)),exp = e),impl,stOpt,msg)
equation
(cache,Values.ARRAY(ivals,dims),stOpt) = ceval(cache,env, e, impl, stOpt, msg);
(cache,v as Values.ARRAY(ivals,dims),stOpt) = ceval(cache,env, e, impl, stOpt, msg);
rvals = ValuesUtil.typeConvert(DAE.T_INTEGER_DEFAULT, DAE.T_REAL_DEFAULT, ivals);
then
(cache,Values.ARRAY(rvals,dims),stOpt);
Expand Down

0 comments on commit 18a7648

Please sign in to comment.