@@ -10944,10 +10944,7 @@ template algloopcppfilenames2(SimEqSystem eq, Context context, Text &varDecls, S
1094410944 >>
1094510945 else
1094610946 ""
10947- end algloopcppfilenames2;
10948-
10949-
10950-
10947+ end algloopcppfilenames2;
1095110948
1095210949
1095310950template equationArrayCallAssign(SimEqSystem eq, Context context, Text &varDecls, SimCode simCode, Text& extraFuncs,
@@ -10960,56 +10957,26 @@ match eq
1096010957case eqn as SES_ARRAY_CALL_ASSIGN(lhs=lhs as CREF(__)) then
1096110958 let &preExp = buffer "" /*BUFD*/
1096210959 let expPart = daeExp(exp, context, &preExp /*BUF let &preExp = buffer "" /*BUFD*/
10963- let &helpInits = buffer "" /*BUFD*/
10964- let helpIf = (conditions |> (e, hidx) =>
10960+ let &helpInits = buffer "" /*BUFD*/
10961+ let helpIf = (conditions |> (e, hidx) =>
1096510962 let helpInit = daeExp(e, context, &preExp /*BUFC*/, &varDecls /*BUFD*/,simCode , &extraFuncs , &extraFuncsDecl, extraFuncsNamespace, useFlatArrayNotation)
1096610963 let &helpInits += 'localData->helpVars[<%hidx%>] = <%helpInit%>;'
1096710964 'localData->helpVars[<%hidx%>] && !localData->helpVars_saved[<%hidx%>] /* edge */'
1096810965 ;separator=" || ")C*/, &varDecls /*BUFD*/,simCode , &extraFuncs , &extraFuncsDecl, extraFuncsNamespace, stateDerVectorName, useFlatArrayNotation)
1096910966 match expTypeFromExpShort(eqn.exp)
10970- case "boolean" then
10971-
10972-
10973- <<
10974- <%preExp%>
10975- <%cref1(lhs.componentRef,simCode , &extraFuncs , &extraFuncsDecl, extraFuncsNamespace, context, varDeclsCref, stateDerVectorName, useFlatArrayNotation)%>=<%expPart%>;
10976- >>
10967+ case "boolean"
1097710968 case "int" then
10978-
1097910969 <<
1098010970 <%preExp%>
10981-
1098210971 <%cref1(lhs.componentRef,simCode , &extraFuncs , &extraFuncsDecl, extraFuncsNamespace, context, varDeclsCref, stateDerVectorName, useFlatArrayNotation)%>=<%expPart%>;
1098310972 >>
1098410973 case "double" then
1098510974 <<
1098610975 <%preExp%>
10987- <%assignDerArray(context,expPart,lhs.componentRef,simCode , &extraFuncs , &extraFuncsDecl, extraFuncsNamespace, stateDerVectorName, useFlatArrayNotation)%>
10976+ <%assignDerArray(context, expPart, lhs, simCode , &extraFuncs, &extraFuncsDecl, extraFuncsNamespace, stateDerVectorName, useFlatArrayNotation)%>
1098810977 >>
1098910978end equationArrayCallAssign;
1099010979
10991- template assignDerArray(Context context, String arr, ComponentRef c,SimCode simCode ,Text& extraFuncs,Text& extraFuncsDecl,Text extraFuncsNamespace, Text stateDerVectorName /*=__zDot*/, Boolean useFlatArrayNotation)
10992- ::=
10993- cref2simvar(c, simCode ) |> var as SIMVAR(__) =>
10994- match varKind
10995- case STATE(__) then
10996- let &varDeclsCref = buffer "" /*BUFD*/
10997- <<
10998- /*<%cref(c,useFlatArrayNotation)%>*/
10999- memcpy(&<%cref1(c,simCode , &extraFuncs , &extraFuncsDecl, extraFuncsNamespace, context, varDeclsCref, stateDerVectorName, useFlatArrayNotation)%>,<%arr%>.getData(),<%arr%>.getNumElems()*sizeof(double));
11000- >>
11001- case STATE_DER(__) then
11002- let &varDeclsCref = buffer "" /*BUFD*/
11003- <<
11004- memcpy(&<%cref1(c,simCode , &extraFuncs , &extraFuncsDecl, extraFuncsNamespace, context, varDeclsCref, stateDerVectorName, useFlatArrayNotation)%>,<%arr%>.getData(),<%arr%>.getNumElems()*sizeof(double));
11005- >>
11006- else
11007- let &varDeclsCref = buffer "" /*BUFD*/
11008- <<
11009- <%cref1(c,simCode , &extraFuncs , &extraFuncsDecl, extraFuncsNamespace, context, varDeclsCref, stateDerVectorName, useFlatArrayNotation)%>.assign(<%arr%>);
11010- >>
11011- end assignDerArray;
11012-
1101310980template equationWhen(SimEqSystem eq, Context context, Text &varDecls, SimCode simCode, Text& extraFuncs, Text& extraFuncsDecl,
1101410981 Text extraFuncsNamespace, Text stateDerVectorName /*=__zDot*/, Boolean useFlatArrayNotation)
1101510982 "Generates a when equation."
0 commit comments