@@ -6024,13 +6024,15 @@ end zeroCrossingOpFunc;
60246024template giveZeroFunc1(list<ZeroCrossing > zeroCrossings,SimCode simCode)
60256025::=
60266026 let &varDecls = buffer "" /*BUFD*/
6027- let zeroCrossingsCode = giveZeroFunc2(zeroCrossings, &varDecls /*BUFD*/, simCode)
6027+ let &prexp = buffer "" /*BUFD*/
6028+ let zeroCrossingsCode = giveZeroFunc2(zeroCrossings, &varDecls /*BUFD*/,prexp, simCode)
60286029 match simCode
60296030 case SIMCODE(modelInfo = MODELINFO(__)) then
60306031<<
60316032 void <%lastIdentOfPath(modelInfo.name)%>::giveZeroFunc(double* f)
60326033 {
60336034 <% varDecls%>
6035+ <% prexp%>
60346036 <% zeroCrossingsCode%>
60356037 }
60366038>>
@@ -6073,17 +6075,17 @@ template saveConditions(SimCode simCode)
60736075>>
60746076end saveConditions;
60756077
6076- template giveZeroFunc2(list<ZeroCrossing > zeroCrossings, Text &varDecls /*BUFP*/,SimCode simCode)
6078+ template giveZeroFunc2(list<ZeroCrossing > zeroCrossings, Text &varDecls /*BUFP*/,Text &preExp, SimCode simCode)
60776079::=
60786080
60796081 (zeroCrossings |> ZERO_CROSSING(__) hasindex i0 =>
6080- giveZeroFunc3(i0, relation_, &varDecls /*BUFD*/,simCode)
6082+ giveZeroFunc3(i0, relation_, &varDecls /*BUFD*/,&preExp, simCode)
60816083 ;separator="\n")
60826084end giveZeroFunc2;
60836085
6084- template giveZeroFunc3(Integer index1, Exp relation, Text &varDecls /*BUFP*/,SimCode simCode)
6086+ template giveZeroFunc3(Integer index1, Exp relation, Text &varDecls /*BUFP*/,Text &preExp , SimCode simCode)
60856087::=
6086- let &preExp = buffer "" /*BUFD*/
6088+
60876089 match relation
60886090 case rel as RELATION(index=zerocrossingIndex) then
60896091 let e1 = daeExp(exp1, contextOther, &preExp /*BUFC*/, &varDecls /*BUFD*/,simCode)
0 commit comments