#ifdef OMC_BASE_FILE
#define OMC_FILE OMC_BASE_FILE
#else
#define OMC_FILE "/home/mahge/dev/OpenModelica/OMCompiler/Compiler/boot/build/tmp/CodegenCFunctions.c"
#endif
#include "omc_simulation_settings.h"
#include "CodegenCFunctions.h"
#define _OMC_LIT0_data "(modelica_integer)"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT0,18,_OMC_LIT0_data);
#define _OMC_LIT0 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT0)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT0}};
#define _OMC_LIT1 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1)
#define _OMC_LIT2_data "(omsi_int)"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2,10,_OMC_LIT2_data);
#define _OMC_LIT2 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT3,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT2}};
#define _OMC_LIT3 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT3)
#define _OMC_LIT4_data "(modelica_real)"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT4,15,_OMC_LIT4_data);
#define _OMC_LIT4 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT4)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT5,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT4}};
#define _OMC_LIT5 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT5)
#define _OMC_LIT6_data "(modelica_boolean)"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT6,18,_OMC_LIT6_data);
#define _OMC_LIT6 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT6)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT7,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT6}};
#define _OMC_LIT7 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT7)
#define _OMC_LIT8_data "(omsi_real)"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT8,11,_OMC_LIT8_data);
#define _OMC_LIT8 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT8)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT9,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT8}};
#define _OMC_LIT9 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT9)
#define _OMC_LIT10_data "(omsi_bool)"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT10,11,_OMC_LIT10_data);
#define _OMC_LIT10 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT10)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT11,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT10}};
#define _OMC_LIT11 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT11)
#define _OMC_LIT12_data "dummyREAL_ATTRIBUTE"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT12,19,_OMC_LIT12_data);
#define _OMC_LIT12 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT12)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT13,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT12}};
#define _OMC_LIT13 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT13)
#define _OMC_LIT14_data "data->modelData->"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT14,17,_OMC_LIT14_data);
#define _OMC_LIT14 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT14)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT15,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT14}};
#define _OMC_LIT15 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT15)
#define _OMC_LIT16_data "Data["
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT16,5,_OMC_LIT16_data);
#define _OMC_LIT16 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT16)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT17,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT16}};
#define _OMC_LIT17 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT17)
#define _OMC_LIT18_data "].attribute /* "
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT18,15,_OMC_LIT18_data);
#define _OMC_LIT18 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT18)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT19,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT18}};
#define _OMC_LIT19 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT19)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT20,3,3) {&Tpl_Text_MEM__TEXT__desc,MMC_REFSTRUCTLIT(mmc_nil),MMC_REFSTRUCTLIT(mmc_nil)}};
#define _OMC_LIT20 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT20)
#define _OMC_LIT21_data " */"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT21,3,_OMC_LIT21_data);
#define _OMC_LIT21 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT21)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT22,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT21}};
#define _OMC_LIT22 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT22)
#define _OMC_LIT23_data "varAttributes got negative index="
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT23,33,_OMC_LIT23_data);
#define _OMC_LIT23 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT23)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT24,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT23}};
#define _OMC_LIT24 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT24)
#define _OMC_LIT25_data " for "
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT25,5,_OMC_LIT25_data);
#define _OMC_LIT25 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT25)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT26,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT25}};
#define _OMC_LIT26 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT26)
#define _OMC_LIT27_data "CodegenCFunctions.tpl"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT27,21,_OMC_LIT27_data);
#define _OMC_LIT27 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT27)
#define _OMC_LIT28_data " "
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT28,1,_OMC_LIT28_data);
#define _OMC_LIT28 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT28)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT29,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT28}};
#define _OMC_LIT29 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT29)
#define _OMC_LIT30_data "].info /* "
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT30,10,_OMC_LIT30_data);
#define _OMC_LIT30 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT30)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT31,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT30}};
#define _OMC_LIT31 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT31)
#define _OMC_LIT32_data "Parameter"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT32,9,_OMC_LIT32_data);
#define _OMC_LIT32 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT32)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT33,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT32}};
#define _OMC_LIT33 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT33)
#define _OMC_LIT34_data "Vars"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT34,4,_OMC_LIT34_data);
#define _OMC_LIT34 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT34)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT35,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT34}};
#define _OMC_LIT35 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT35)
#define _OMC_LIT36_data "omsic"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT36,5,_OMC_LIT36_data);
#define _OMC_LIT36 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT36)
#define _OMC_LIT37_data "data->simulationInfo->"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT37,22,_OMC_LIT37_data);
#define _OMC_LIT37 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT37)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT38,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT37}};
#define _OMC_LIT38 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT38)
#define _OMC_LIT39_data "Parameter["
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT39,10,_OMC_LIT39_data);
#define _OMC_LIT39 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT39)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT40,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT39}};
#define _OMC_LIT40 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT40)
#define _OMC_LIT41_data "] /* "
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT41,5,_OMC_LIT41_data);
#define _OMC_LIT41 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT41)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT42,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT41}};
#define _OMC_LIT42 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT42)
#define _OMC_LIT43_data "data->simulationInfo->extObjs["
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT43,30,_OMC_LIT43_data);
#define _OMC_LIT43 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT43)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT44,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT43}};
#define _OMC_LIT44 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT44)
#define _OMC_LIT45_data "]"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT45,1,_OMC_LIT45_data);
#define _OMC_LIT45 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT45)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT46,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT45}};
#define _OMC_LIT46 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT46)
#define _OMC_LIT47_data ".start"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT47,6,_OMC_LIT47_data);
#define _OMC_LIT47 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT47)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT48,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT47}};
#define _OMC_LIT48 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT48)
#define _OMC_LIT49_data "data->localData["
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT49,16,_OMC_LIT49_data);
#define _OMC_LIT49 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT49)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT50,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT49}};
#define _OMC_LIT50 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT50)
#define _OMC_LIT51_data "]->"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT51,3,_OMC_LIT51_data);
#define _OMC_LIT51 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT51)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT52,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT51}};
#define _OMC_LIT52 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT52)
#define _OMC_LIT53_data "Vars["
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT53,5,_OMC_LIT53_data);
#define _OMC_LIT53 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT53)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT54,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT53}};
#define _OMC_LIT54 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT54)
#define _OMC_LIT55_data "VarsPre["
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT55,8,_OMC_LIT55_data);
#define _OMC_LIT55 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT55)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT56,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT55}};
#define _OMC_LIT56 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT56)
#define _OMC_LIT57_data "ERROR: Not implemented in varArrayNameValues"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT57,44,_OMC_LIT57_data);
#define _OMC_LIT57 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT57)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT58,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT57}};
#define _OMC_LIT58 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT58)
#define _OMC_LIT59_data "this_function->function_vars->"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT59,30,_OMC_LIT59_data);
#define _OMC_LIT59 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT59)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT60,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT59}};
#define _OMC_LIT60 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT60)
#define _OMC_LIT61_data "["
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT61,1,_OMC_LIT61_data);
#define _OMC_LIT61 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT61)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT62,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT61}};
#define _OMC_LIT62 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT62)
#define _OMC_LIT63_data "this_function->pre_vars->"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT63,25,_OMC_LIT63_data);
#define _OMC_LIT63 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT63)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT64,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT63}};
#define _OMC_LIT64 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT64)
#define _OMC_LIT65_data "crefType:ERROR"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT65,14,_OMC_LIT65_data);
#define _OMC_LIT65 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT65)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT66,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT65}};
#define _OMC_LIT66 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT66)
#define _OMC_LIT67_data "("
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT67,1,_OMC_LIT67_data);
#define _OMC_LIT67 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT67)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT68,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT67}};
#define _OMC_LIT68 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT68)
#define _OMC_LIT69_data "+1)"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT69,3,_OMC_LIT69_data);
#define _OMC_LIT69 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT69)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT70,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT69}};
#define _OMC_LIT70 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT70)
#define _OMC_LIT71_data "modelica_boolean"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT71,16,_OMC_LIT71_data);
#define _OMC_LIT71 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT71)
#define _OMC_LIT72_data "non INDEX(_) (i.e., slice) subscripts probably should not reach here. Check indexedAssign template."
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT72,99,_OMC_LIT72_data);
#define _OMC_LIT72 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT72)
#define _OMC_LIT73_data "_OMC_LIT"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT73,8,_OMC_LIT73_data);
#define _OMC_LIT73 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT73)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT74,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT73}};
#define _OMC_LIT74 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT74)
#define _OMC_LIT75_data "mmc_unbox_"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT75,10,_OMC_LIT75_data);
#define _OMC_LIT75 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT75)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT76,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT75}};
#define _OMC_LIT76 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT76)
#define _OMC_LIT77_data ")"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT77,1,_OMC_LIT77_data);
#define _OMC_LIT77 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT77)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT78,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT77}};
#define _OMC_LIT78 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT78)
#define _OMC_LIT79_data "mmc_mk_"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT79,7,_OMC_LIT79_data);
#define _OMC_LIT79 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT79)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT80,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT79}};
#define _OMC_LIT80 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT80)
#define _OMC_LIT81_data "modelica_array"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT81,14,_OMC_LIT81_data);
#define _OMC_LIT81 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT81)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT82,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT81}};
#define _OMC_LIT82 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT82)
#define _OMC_LIT83_data "case "
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT83,5,_OMC_LIT83_data);
#define _OMC_LIT83 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT83)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT84,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT83}};
#define _OMC_LIT84 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT84)
#define _OMC_LIT85_data " /* "
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT85,4,_OMC_LIT85_data);
#define _OMC_LIT85 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT85)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT86,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT85}};
#define _OMC_LIT86 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT86)
#define _OMC_LIT87_data "default"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT87,7,_OMC_LIT87_data);
#define _OMC_LIT87 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT87)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT88,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT87}};
#define _OMC_LIT88 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT88)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT89,1,3) {&Tpl_StringToken_ST__NEW__LINE__desc,}};
#define _OMC_LIT89 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT89)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT90,9,3) {&Tpl_IterOptions_ITER__OPTIONS__desc,MMC_IMMEDIATE(MMC_TAGFIXNUM(0)),MMC_REFSTRUCTLIT(mmc_none),MMC_REFSTRUCTLIT(mmc_none),MMC_IMMEDIATE(MMC_TAGFIXNUM(0)),MMC_IMMEDIATE(MMC_TAGFIXNUM(0)),_OMC_LIT89,MMC_IMMEDIATE(MMC_TAGFIXNUM(0)),_OMC_LIT89}};
#define _OMC_LIT90 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT90)
#define _OMC_LIT91_data ""
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT91,0,_OMC_LIT91_data);
#define _OMC_LIT91 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT91)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT92,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT91}};
#define _OMC_LIT92 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT92)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT93,1,1) {_OMC_LIT92}};
#define _OMC_LIT93 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT93)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT94,9,3) {&Tpl_IterOptions_ITER__OPTIONS__desc,MMC_IMMEDIATE(MMC_TAGFIXNUM(0)),_OMC_LIT93,MMC_REFSTRUCTLIT(mmc_none),MMC_IMMEDIATE(MMC_TAGFIXNUM(0)),MMC_IMMEDIATE(MMC_TAGFIXNUM(0)),_OMC_LIT89,MMC_IMMEDIATE(MMC_TAGFIXNUM(0)),_OMC_LIT89}};
#define _OMC_LIT94 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT94)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT95,1,1) {_OMC_LIT89}};
#define _OMC_LIT95 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT95)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT96,9,3) {&Tpl_IterOptions_ITER__OPTIONS__desc,MMC_IMMEDIATE(MMC_TAGFIXNUM(0)),MMC_REFSTRUCTLIT(mmc_none),_OMC_LIT95,MMC_IMMEDIATE(MMC_TAGFIXNUM(0)),MMC_IMMEDIATE(MMC_TAGFIXNUM(0)),_OMC_LIT89,MMC_IMMEDIATE(MMC_TAGFIXNUM(0)),_OMC_LIT89}};
#define _OMC_LIT96 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT96)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT97,2,4) {&Tpl_BlockType_BT__INDENT__desc,MMC_IMMEDIATE(MMC_TAGFIXNUM(2))}};
#define _OMC_LIT97 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT97)
#define _OMC_LIT98_data "goto "
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT98,5,_OMC_LIT98_data);
#define _OMC_LIT98 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT98)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT99,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT98}};
#define _OMC_LIT99 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT99)
#define _OMC_LIT100_data "_done;\n"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT100,7,_OMC_LIT100_data);
#define _OMC_LIT100 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT100)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT101,2,5) {&Tpl_StringToken_ST__LINE__desc,_OMC_LIT100}};
#define _OMC_LIT101 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT101)
#define _OMC_LIT102_data "}"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT102,1,_OMC_LIT102_data);
#define _OMC_LIT102 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT102)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT103,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT102}};
#define _OMC_LIT103 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT103)
#define _OMC_LIT104_data ";"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT104,1,_OMC_LIT104_data);
#define _OMC_LIT104 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT104)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT105,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT104}};
#define _OMC_LIT105 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT105)
#define _OMC_LIT106_data "/* Pattern matching succeeded */"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT106,32,_OMC_LIT106_data);
#define _OMC_LIT106 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT106)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT107,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT106}};
#define _OMC_LIT107 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT107)
#define _OMC_LIT108_data " += "
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT108,4,_OMC_LIT108_data);
#define _OMC_LIT108 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT108)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT109,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT108}};
#define _OMC_LIT109 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT109)
#define _OMC_LIT110_data "; /* Pattern matching succeeded; we may skip some cases if we fail */"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT110,69,_OMC_LIT110_data);
#define _OMC_LIT110 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT110)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT111,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT110}};
#define _OMC_LIT111 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT111)
#define _OMC_LIT112_data ": {"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT112,3,_OMC_LIT112_data);
#define _OMC_LIT112 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT112)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT113,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT112}};
#define _OMC_LIT113 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT113)
#define _OMC_LIT114_data ":\n"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT114,2,_OMC_LIT114_data);
#define _OMC_LIT114 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT114)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT115,2,5) {&Tpl_StringToken_ST__LINE__desc,_OMC_LIT114}};
#define _OMC_LIT115 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT115)
#define _OMC_LIT116_data "_default: OMC_LABEL_UNUSED; {"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT116,29,_OMC_LIT116_data);
#define _OMC_LIT116 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT116)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT117,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT116}};
#define _OMC_LIT117 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT117)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT118,9,3) {&Tpl_IterOptions_ITER__OPTIONS__desc,MMC_IMMEDIATE(MMC_TAGFIXNUM(1)),MMC_REFSTRUCTLIT(mmc_none),MMC_REFSTRUCTLIT(mmc_none),MMC_IMMEDIATE(MMC_TAGFIXNUM(0)),MMC_IMMEDIATE(MMC_TAGFIXNUM(0)),_OMC_LIT89,MMC_IMMEDIATE(MMC_TAGFIXNUM(0)),_OMC_LIT89}};
#define _OMC_LIT118 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT118)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT119,9,3) {&Tpl_IterOptions_ITER__OPTIONS__desc,MMC_IMMEDIATE(MMC_TAGFIXNUM(2)),MMC_REFSTRUCTLIT(mmc_none),MMC_REFSTRUCTLIT(mmc_none),MMC_IMMEDIATE(MMC_TAGFIXNUM(0)),MMC_IMMEDIATE(MMC_TAGFIXNUM(0)),_OMC_LIT89,MMC_IMMEDIATE(MMC_TAGFIXNUM(0)),_OMC_LIT89}};
#define _OMC_LIT119 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT119)
#define _OMC_LIT120_data " = "
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT120,3,_OMC_LIT120_data);
#define _OMC_LIT120 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT120)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT121,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT120}};
#define _OMC_LIT121 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT121)
#define _OMC_LIT122_data ", &"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT122,3,_OMC_LIT122_data);
#define _OMC_LIT122 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT122)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT123,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT122}};
#define _OMC_LIT123 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT123)
#define _OMC_LIT124_data "/* Check guard condition after assignments */\n"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT124,46,_OMC_LIT124_data);
#define _OMC_LIT124 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT124)
#define _OMC_LIT125_data "if (!"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT125,5,_OMC_LIT125_data);
#define _OMC_LIT125 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT125)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT126,2,1) {_OMC_LIT125,MMC_REFSTRUCTLIT(mmc_nil)}};
#define _OMC_LIT126 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT126)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT127,2,1) {_OMC_LIT124,_OMC_LIT126}};
#define _OMC_LIT127 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT127)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT128,3,6) {&Tpl_StringToken_ST__STRING__LIST__desc,_OMC_LIT127,MMC_IMMEDIATE(MMC_TAGFIXNUM(0))}};
#define _OMC_LIT128 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT128)
#define _OMC_LIT129_data ") "
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT129,2,_OMC_LIT129_data);
#define _OMC_LIT129 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT129)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT130,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT129}};
#define _OMC_LIT130 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT130)
#define _OMC_LIT131_data "_end"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT131,4,_OMC_LIT131_data);
#define _OMC_LIT131 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT131)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT132,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT131}};
#define _OMC_LIT132 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT132)
#define _OMC_LIT133_data "_default"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT133,8,_OMC_LIT133_data);
#define _OMC_LIT133 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT133)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT134,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT133}};
#define _OMC_LIT134 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT134)
#define _OMC_LIT135_data "goto_"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT135,5,_OMC_LIT135_data);
#define _OMC_LIT135 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT135)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT136,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT135}};
#define _OMC_LIT136 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT136)
#define _OMC_LIT137_data "tmp"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT137,3,_OMC_LIT137_data);
#define _OMC_LIT137 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT137)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT138,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT137}};
#define _OMC_LIT138 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT138)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT139,9,3) {&Tpl_IterOptions_ITER__OPTIONS__desc,MMC_IMMEDIATE(MMC_TAGFIXNUM(1)),_OMC_LIT93,MMC_REFSTRUCTLIT(mmc_none),MMC_IMMEDIATE(MMC_TAGFIXNUM(0)),MMC_IMMEDIATE(MMC_TAGFIXNUM(0)),_OMC_LIT89,MMC_IMMEDIATE(MMC_TAGFIXNUM(0)),_OMC_LIT89}};
#define _OMC_LIT139 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT139)
#define _OMC_LIT140_data "int"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT140,3,_OMC_LIT140_data);
#define _OMC_LIT140 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT140)
#define _OMC_LIT141_data "{ /* "
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT141,5,_OMC_LIT141_data);
#define _OMC_LIT141 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT141)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT142,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT141}};
#define _OMC_LIT142 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT142)
#define _OMC_LIT143_data " */\n"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT143,4,_OMC_LIT143_data);
#define _OMC_LIT143 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT143)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT144,2,5) {&Tpl_StringToken_ST__LINE__desc,_OMC_LIT143}};
#define _OMC_LIT144 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT144)
#define _OMC_LIT145_data "{\n"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT145,2,_OMC_LIT145_data);
#define _OMC_LIT145 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT145)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT146,2,5) {&Tpl_StringToken_ST__LINE__desc,_OMC_LIT145}};
#define _OMC_LIT146 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT146)
#define _OMC_LIT147_data "switch (MMC_SWITCH_CAST("
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT147,24,_OMC_LIT147_data);
#define _OMC_LIT147 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT147)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT148,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT147}};
#define _OMC_LIT148 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT148)
#define _OMC_LIT149_data ")) {\n"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT149,5,_OMC_LIT149_data);
#define _OMC_LIT149 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT149)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT150,2,5) {&Tpl_StringToken_ST__LINE__desc,_OMC_LIT149}};
#define _OMC_LIT150 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT150)
#define _OMC_LIT151_data "}\n"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT151,2,_OMC_LIT151_data);
#define _OMC_LIT151 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT151)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT152,2,1) {_OMC_LIT98,MMC_REFSTRUCTLIT(mmc_nil)}};
#define _OMC_LIT152 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT152)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT153,2,1) {_OMC_LIT151,_OMC_LIT152}};
#define _OMC_LIT153 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT153)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT154,3,6) {&Tpl_StringToken_ST__STRING__LIST__desc,_OMC_LIT153,MMC_IMMEDIATE(MMC_TAGFIXNUM(0))}};
#define _OMC_LIT154 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT154)
#define _OMC_LIT155_data "_end;\n"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT155,6,_OMC_LIT155_data);
#define _OMC_LIT155 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT155)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT156,2,5) {&Tpl_StringToken_ST__LINE__desc,_OMC_LIT155}};
#define _OMC_LIT156 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT156)
#define _OMC_LIT157_data "_end: ;\n"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT157,8,_OMC_LIT157_data);
#define _OMC_LIT157 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT157)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT158,2,5) {&Tpl_StringToken_ST__LINE__desc,_OMC_LIT157}};
#define _OMC_LIT158 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT158)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT159,2,5) {&Tpl_StringToken_ST__LINE__desc,_OMC_LIT151}};
#define _OMC_LIT159 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT159)
#define _OMC_LIT160_data ";\n"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT160,2,_OMC_LIT160_data);
#define _OMC_LIT160 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT160)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT161,2,5) {&Tpl_StringToken_ST__LINE__desc,_OMC_LIT160}};
#define _OMC_LIT161 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT161)
#define _OMC_LIT162_data "_done:\n"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT162,7,_OMC_LIT162_data);
#define _OMC_LIT162 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT162)
#define _OMC_LIT163_data "(void)"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT163,6,_OMC_LIT163_data);
#define _OMC_LIT163 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT163)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT164,2,1) {_OMC_LIT163,MMC_REFSTRUCTLIT(mmc_nil)}};
#define _OMC_LIT164 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT164)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT165,2,1) {_OMC_LIT162,_OMC_LIT164}};
#define _OMC_LIT165 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT165)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT166,3,6) {&Tpl_StringToken_ST__STRING__LIST__desc,_OMC_LIT165,MMC_IMMEDIATE(MMC_TAGFIXNUM(0))}};
#define _OMC_LIT166 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT166)
#define _OMC_LIT167_data "MMC_RESTORE_INTERNAL(mmc_jumper);\n"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT167,34,_OMC_LIT167_data);
#define _OMC_LIT167 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT167)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT168,2,1) {_OMC_LIT167,_OMC_LIT152}};
#define _OMC_LIT168 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT168)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT169,2,1) {_OMC_LIT160,_OMC_LIT168}};
#define _OMC_LIT169 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT169)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT170,3,6) {&Tpl_StringToken_ST__STRING__LIST__desc,_OMC_LIT169,MMC_IMMEDIATE(MMC_TAGFIXNUM(0))}};
#define _OMC_LIT170 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT170)
#define _OMC_LIT171_data "_done2;\n"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT171,8,_OMC_LIT171_data);
#define _OMC_LIT171 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT171)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT172,2,5) {&Tpl_StringToken_ST__LINE__desc,_OMC_LIT171}};
#define _OMC_LIT172 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT172)
#define _OMC_LIT173_data ":;\n"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT173,3,_OMC_LIT173_data);
#define _OMC_LIT173 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT173)
#define _OMC_LIT174_data "MMC_CATCH_INTERNAL(mmc_jumper);\n"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT174,32,_OMC_LIT174_data);
#define _OMC_LIT174 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT174)
#define _OMC_LIT175_data "if (++"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT175,6,_OMC_LIT175_data);
#define _OMC_LIT175 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT175)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT176,2,1) {_OMC_LIT175,MMC_REFSTRUCTLIT(mmc_nil)}};
#define _OMC_LIT176 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT176)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT177,2,1) {_OMC_LIT174,_OMC_LIT176}};
#define _OMC_LIT177 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT177)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT178,2,1) {_OMC_LIT173,_OMC_LIT177}};
#define _OMC_LIT178 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT178)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT179,3,6) {&Tpl_StringToken_ST__STRING__LIST__desc,_OMC_LIT178,MMC_IMMEDIATE(MMC_TAGFIXNUM(0))}};
#define _OMC_LIT179 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT179)
#define _OMC_LIT180_data " < "
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT180,3,_OMC_LIT180_data);
#define _OMC_LIT180 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT180)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT181,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT180}};
#define _OMC_LIT181 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT181)
#define _OMC_LIT182_data ") {\n"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT182,4,_OMC_LIT182_data);
#define _OMC_LIT182 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT182)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT183,2,5) {&Tpl_StringToken_ST__LINE__desc,_OMC_LIT182}};
#define _OMC_LIT183 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT183)
#define _OMC_LIT184_data "_top;\n"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT184,6,_OMC_LIT184_data);
#define _OMC_LIT184 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT184)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT185,2,5) {&Tpl_StringToken_ST__LINE__desc,_OMC_LIT184}};
#define _OMC_LIT185 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT185)
#define _OMC_LIT186_data "_done2:;"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT186,8,_OMC_LIT186_data);
#define _OMC_LIT186 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT186)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT187,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT186}};
#define _OMC_LIT187 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT187)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT188,2,5) {&Tpl_StringToken_ST__LINE__desc,_OMC_LIT173}};
#define _OMC_LIT188 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT188)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT189,2,1) {_OMC_LIT160,_OMC_LIT152}};
#define _OMC_LIT189 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT189)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT190,3,6) {&Tpl_StringToken_ST__STRING__LIST__desc,_OMC_LIT189,MMC_IMMEDIATE(MMC_TAGFIXNUM(0))}};
#define _OMC_LIT190 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT190)
#define _OMC_LIT191_data "_done:;"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT191,7,_OMC_LIT191_data);
#define _OMC_LIT191 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT191)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT192,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT191}};
#define _OMC_LIT192 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT192)
#define _OMC_LIT193_data "{"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT193,1,_OMC_LIT193_data);
#define _OMC_LIT193 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT193)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT194,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT193}};
#define _OMC_LIT194 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT194)
#define _OMC_LIT195_data " = 0;\n"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT195,6,_OMC_LIT195_data);
#define _OMC_LIT195 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT195)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT196,2,5) {&Tpl_StringToken_ST__LINE__desc,_OMC_LIT195}};
#define _OMC_LIT196 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT196)
#define _OMC_LIT197_data "for (; "
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT197,7,_OMC_LIT197_data);
#define _OMC_LIT197 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT197)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT198,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT197}};
#define _OMC_LIT198 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT198)
#define _OMC_LIT199_data "; "
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT199,2,_OMC_LIT199_data);
#define _OMC_LIT199 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT199)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT200,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT199}};
#define _OMC_LIT200 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT200)
#define _OMC_LIT201_data "++) {"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT201,5,_OMC_LIT201_data);
#define _OMC_LIT201 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT201)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT202,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT201}};
#define _OMC_LIT202 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT202)
#define _OMC_LIT203_data "MMC_TRY_INTERNAL(mmc_jumper)\n"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT203,29,_OMC_LIT203_data);
#define _OMC_LIT203 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT203)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT204,2,5) {&Tpl_StringToken_ST__LINE__desc,_OMC_LIT203}};
#define _OMC_LIT204 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT204)
#define _OMC_LIT205_data "_top:\n"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT205,6,_OMC_LIT205_data);
#define _OMC_LIT205 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT205)
#define _OMC_LIT206_data "threadData->mmc_jumper = &new_mmc_jumper;"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT206,41,_OMC_LIT206_data);
#define _OMC_LIT206 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT206)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT207,2,1) {_OMC_LIT206,MMC_REFSTRUCTLIT(mmc_nil)}};
#define _OMC_LIT207 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT207)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT208,2,1) {_OMC_LIT205,_OMC_LIT207}};
#define _OMC_LIT208 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT208)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT209,3,6) {&Tpl_StringToken_ST__STRING__LIST__desc,_OMC_LIT208,MMC_IMMEDIATE(MMC_TAGFIXNUM(0))}};
#define _OMC_LIT209 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT209)
#define _OMC_LIT210_data "matchcontinue expression"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT210,24,_OMC_LIT210_data);
#define _OMC_LIT210 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT210)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT211,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT210}};
#define _OMC_LIT211 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT211)
#define _OMC_LIT212_data "match expression"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT212,16,_OMC_LIT212_data);
#define _OMC_LIT212 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT212)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT213,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT212}};
#define _OMC_LIT213 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT213)
#define _OMC_LIT214_data "{ /* stack overflow check */\n"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT214,29,_OMC_LIT214_data);
#define _OMC_LIT214 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT214)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT215,2,5) {&Tpl_StringToken_ST__LINE__desc,_OMC_LIT214}};
#define _OMC_LIT215 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT215)
#define _OMC_LIT216_data "MMC_TRY_STACK()\n"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT216,16,_OMC_LIT216_data);
#define _OMC_LIT216 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT216)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT217,2,5) {&Tpl_StringToken_ST__LINE__desc,_OMC_LIT216}};
#define _OMC_LIT217 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT217)
#define _OMC_LIT218_data "MMC_ELSE_STACK()\n"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT218,17,_OMC_LIT218_data);
#define _OMC_LIT218 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT218)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT219,2,5) {&Tpl_StringToken_ST__LINE__desc,_OMC_LIT218}};
#define _OMC_LIT219 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT219)
#define _OMC_LIT220_data "MMC_CATCH_STACK()\n"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT220,18,_OMC_LIT220_data);
#define _OMC_LIT220 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT220)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT221,2,5) {&Tpl_StringToken_ST__LINE__desc,_OMC_LIT220}};
#define _OMC_LIT221 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT221)
#define _OMC_LIT222_data "Got stack overflow block with more than 2 cases"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT222,47,_OMC_LIT222_data);
#define _OMC_LIT222 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT222)
#define _OMC_LIT223_data "stringHashDjb2Mod("
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT223,18,_OMC_LIT223_data);
#define _OMC_LIT223 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT223)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT224,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT223}};
#define _OMC_LIT224 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT224)
#define _OMC_LIT225_data ","
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT225,1,_OMC_LIT225_data);
#define _OMC_LIT225 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT225)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT226,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT225}};
#define _OMC_LIT226 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT226)
#define _OMC_LIT227_data "valueConstructor("
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT227,17,_OMC_LIT227_data);
#define _OMC_LIT227 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT227)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT228,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT227}};
#define _OMC_LIT228 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT228)
#define _OMC_LIT229_data "Unknown switch: "
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT229,16,_OMC_LIT229_data);
#define _OMC_LIT229 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT229)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT230,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT229}};
#define _OMC_LIT230 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT230)
#define _OMC_LIT231_data "\""
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT231,1,_OMC_LIT231_data);
#define _OMC_LIT231 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT231)
#define _OMC_LIT232_data "volatile mmc_switch_type"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT232,24,_OMC_LIT232_data);
#define _OMC_LIT232 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT232)
#define _OMC_LIT233_data " _"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT233,2,_OMC_LIT233_data);
#define _OMC_LIT233 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT233)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT234,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT233}};
#define _OMC_LIT234 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT234)
#define _OMC_LIT235_data "_"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT235,1,_OMC_LIT235_data);
#define _OMC_LIT235 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT235)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT236,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT235}};
#define _OMC_LIT236 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT236)
#define _OMC_LIT237_data "ERROR_INDEX"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT237,11,_OMC_LIT237_data);
#define _OMC_LIT237 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT237)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT238,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT237}};
#define _OMC_LIT238 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT238)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT239,2,3) {&DAE_Exp_ICONST__desc,MMC_IMMEDIATE(MMC_TAGFIXNUM(0))}};
#define _OMC_LIT239 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT239)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT240,2,1) {_OMC_LIT239,MMC_REFSTRUCTLIT(mmc_nil)}};
#define _OMC_LIT240 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT240)
#define _OMC_LIT241_data "match expression not returning anything should be caught in a noretcall statement and not reach this code: "
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT241,107,_OMC_LIT241_data);
#define _OMC_LIT241 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT241)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT242,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT241}};
#define _OMC_LIT242 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT242)
#define _OMC_LIT243_data "match expression returning an empty tuple should be caught in a noretcall statement and not reach this code: "
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT243,109,_OMC_LIT243_data);
#define _OMC_LIT243 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT243)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT244,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT243}};
#define _OMC_LIT244 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT244)
#define _OMC_LIT245_data "while(1) {\n"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT245,11,_OMC_LIT245_data);
#define _OMC_LIT245 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT245)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT246,2,5) {&Tpl_StringToken_ST__LINE__desc,_OMC_LIT245}};
#define _OMC_LIT246 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT246)
#define _OMC_LIT247_data "if ("
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT247,4,_OMC_LIT247_data);
#define _OMC_LIT247 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT247)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT248,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT247}};
#define _OMC_LIT248 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT248)
#define _OMC_LIT249_data " == 0) {\n"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT249,9,_OMC_LIT249_data);
#define _OMC_LIT249 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT249)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT250,2,5) {&Tpl_StringToken_ST__LINE__desc,_OMC_LIT249}};
#define _OMC_LIT250 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT250)
#define _OMC_LIT251_data "} "
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT251,2,_OMC_LIT251_data);
#define _OMC_LIT251 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT251)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT252,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT251}};
#define _OMC_LIT252 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT252)
#define _OMC_LIT253_data "Code generation does not support multiple iterators: "
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT253,53,_OMC_LIT253_data);
#define _OMC_LIT253 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT253)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT254,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT253}};
#define _OMC_LIT254 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT254)
#define _OMC_LIT255_data "*"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT255,1,_OMC_LIT255_data);
#define _OMC_LIT255 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT255)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT256,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT255}};
#define _OMC_LIT256 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT256)
#define _OMC_LIT257_data " = mmc_mk_nil();"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT257,16,_OMC_LIT257_data);
#define _OMC_LIT257 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT257)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT258,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT257}};
#define _OMC_LIT258 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT258)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT259,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT125}};
#define _OMC_LIT259 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT259)
#define _OMC_LIT260_data " = &"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT260,4,_OMC_LIT260_data);
#define _OMC_LIT260 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT260)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT261,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT260}};
#define _OMC_LIT261 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT261)
#define _OMC_LIT262_data "else if ("
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT262,9,_OMC_LIT262_data);
#define _OMC_LIT262 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT262)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT263,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT262}};
#define _OMC_LIT263 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT263)
#define _OMC_LIT264_data " == "
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT264,4,_OMC_LIT264_data);
#define _OMC_LIT264 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT264)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT265,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT264}};
#define _OMC_LIT265 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT265)
#define _OMC_LIT266_data "  break;\n"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT266,9,_OMC_LIT266_data);
#define _OMC_LIT266 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT266)
#define _OMC_LIT267_data "} else {\n"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT267,9,_OMC_LIT267_data);
#define _OMC_LIT267 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT267)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT268,2,1) {_OMC_LIT267,MMC_REFSTRUCTLIT(mmc_nil)}};
#define _OMC_LIT268 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT268)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT269,2,1) {_OMC_LIT266,_OMC_LIT268}};
#define _OMC_LIT269 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT269)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT270,2,1) {_OMC_LIT182,_OMC_LIT269}};
#define _OMC_LIT270 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT270)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT271,3,6) {&Tpl_StringToken_ST__STRING__LIST__desc,_OMC_LIT270,MMC_IMMEDIATE(MMC_TAGFIXNUM(1))}};
#define _OMC_LIT271 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT271)
#define _OMC_LIT272_data " = 0;"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT272,5,_OMC_LIT272_data);
#define _OMC_LIT272 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT272)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT273,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT272}};
#define _OMC_LIT273 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT273)
#define _OMC_LIT274_data " = 1;\n"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT274,6,_OMC_LIT274_data);
#define _OMC_LIT274 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT274)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT275,2,5) {&Tpl_StringToken_ST__LINE__desc,_OMC_LIT274}};
#define _OMC_LIT275 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT275)
#define _OMC_LIT276_data "array"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT276,5,_OMC_LIT276_data);
#define _OMC_LIT276 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT276)
#define _OMC_LIT277_data "; /* defaultValue */"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT277,20,_OMC_LIT277_data);
#define _OMC_LIT277 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT277)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT278,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT277}};
#define _OMC_LIT278 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT278)
#define _OMC_LIT279_data " = 0; /* "
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT279,9,_OMC_LIT279_data);
#define _OMC_LIT279 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT279)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT280,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT279}};
#define _OMC_LIT280 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT280)
#define _OMC_LIT281_data " lacks default-value */"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT281,23,_OMC_LIT281_data);
#define _OMC_LIT281 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT281)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT282,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT281}};
#define _OMC_LIT282 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT282)
#define _OMC_LIT283_data "alloc_generic_array(&"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT283,21,_OMC_LIT283_data);
#define _OMC_LIT283 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT283)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT284,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT283}};
#define _OMC_LIT284 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT284)
#define _OMC_LIT285_data ",sizeof("
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT285,8,_OMC_LIT285_data);
#define _OMC_LIT285 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT285)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT286,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT285}};
#define _OMC_LIT286 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT286)
#define _OMC_LIT287_data "),1,"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT287,4,_OMC_LIT287_data);
#define _OMC_LIT287 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT287)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT288,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT287}};
#define _OMC_LIT288 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT288)
#define _OMC_LIT289_data ");"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT289,2,_OMC_LIT289_data);
#define _OMC_LIT289 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT289)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT290,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT289}};
#define _OMC_LIT290 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT290)
#define _OMC_LIT291_data ", "
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT291,2,_OMC_LIT291_data);
#define _OMC_LIT291 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT291)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT292,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT291}};
#define _OMC_LIT292 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT292)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT293,1,1) {_OMC_LIT292}};
#define _OMC_LIT293 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT293)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT294,9,3) {&Tpl_IterOptions_ITER__OPTIONS__desc,MMC_IMMEDIATE(MMC_TAGFIXNUM(0)),MMC_REFSTRUCTLIT(mmc_none),_OMC_LIT293,MMC_IMMEDIATE(MMC_TAGFIXNUM(0)),MMC_IMMEDIATE(MMC_TAGFIXNUM(0)),_OMC_LIT89,MMC_IMMEDIATE(MMC_TAGFIXNUM(0)),_OMC_LIT89}};
#define _OMC_LIT294 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT294)
#define _OMC_LIT295_data "alloc_"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT295,6,_OMC_LIT295_data);
#define _OMC_LIT295 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT295)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT296,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT295}};
#define _OMC_LIT296 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT296)
#define _OMC_LIT297_data "(&"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT297,2,_OMC_LIT297_data);
#define _OMC_LIT297 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT297)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT298,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT297}};
#define _OMC_LIT298 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT298)
#define _OMC_LIT299_data "simple_alloc_1d_"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT299,16,_OMC_LIT299_data);
#define _OMC_LIT299 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT299)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT300,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT299}};
#define _OMC_LIT300 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT300)
#define _OMC_LIT301_data ", 2"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT301,3,_OMC_LIT301_data);
#define _OMC_LIT301 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT301)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT302,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT301}};
#define _OMC_LIT302 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT302)
#define _OMC_LIT303_data "array reduction unable to generate code for element of unknown dimension sizes; type "
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT303,85,_OMC_LIT303_data);
#define _OMC_LIT303 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT303)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT304,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT303}};
#define _OMC_LIT304 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT304)
#define _OMC_LIT305_data ": "
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT305,2,_OMC_LIT305_data);
#define _OMC_LIT305 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT305)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT306,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT305}};
#define _OMC_LIT306 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT306)
#define _OMC_LIT307_data "_loopVar"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT307,8,_OMC_LIT307_data);
#define _OMC_LIT307 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT307)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT308,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT307}};
#define _OMC_LIT308 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT308)
#define _OMC_LIT309_data " = modelica_integer_max("
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT309,24,_OMC_LIT309_data);
#define _OMC_LIT309 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT309)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT310,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT309}};
#define _OMC_LIT310 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT310)
#define _OMC_LIT311_data "modelica_metatype"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT311,17,_OMC_LIT311_data);
#define _OMC_LIT311 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT311)
#define _OMC_LIT312_data "_length"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT312,7,_OMC_LIT312_data);
#define _OMC_LIT312 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT312)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT313,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT312}};
#define _OMC_LIT313 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT313)
#define _OMC_LIT314_data "size_of_dimension_base_array("
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT314,29,_OMC_LIT314_data);
#define _OMC_LIT314 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT314)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT315,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT314}};
#define _OMC_LIT315 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT315)
#define _OMC_LIT316_data ", 1)"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT316,4,_OMC_LIT316_data);
#define _OMC_LIT316 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT316)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT317,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT316}};
#define _OMC_LIT317 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT317)
#define _OMC_LIT318_data "listLength("
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT318,11,_OMC_LIT318_data);
#define _OMC_LIT318 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT318)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT319,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT318}};
#define _OMC_LIT319 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT319)
#define _OMC_LIT320_data "arrayLength("
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT320,12,_OMC_LIT320_data);
#define _OMC_LIT320 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT320)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT321,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT320}};
#define _OMC_LIT321 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT321)
#define _OMC_LIT322_data "--;\n"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT322,4,_OMC_LIT322_data);
#define _OMC_LIT322 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT322)
#define _OMC_LIT323_data "break;\n"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT323,7,_OMC_LIT323_data);
#define _OMC_LIT323 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT323)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT324,2,1) {_OMC_LIT323,MMC_REFSTRUCTLIT(mmc_nil)}};
#define _OMC_LIT324 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT324)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT325,2,1) {_OMC_LIT322,_OMC_LIT324}};
#define _OMC_LIT325 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT325)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT326,3,6) {&Tpl_StringToken_ST__STRING__LIST__desc,_OMC_LIT325,MMC_IMMEDIATE(MMC_TAGFIXNUM(1))}};
#define _OMC_LIT326 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT326)
#define _OMC_LIT327_data " ("
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT327,2,_OMC_LIT327_data);
#define _OMC_LIT327 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT327)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT328,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT327}};
#define _OMC_LIT328 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT328)
#define _OMC_LIT329_data " > 0 ? "
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT329,7,_OMC_LIT329_data);
#define _OMC_LIT329 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT329)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT330,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT329}};
#define _OMC_LIT330 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT330)
#define _OMC_LIT331_data "+"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT331,1,_OMC_LIT331_data);
#define _OMC_LIT331 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT331)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT332,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT331}};
#define _OMC_LIT332 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT332)
#define _OMC_LIT333_data " <= "
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT333,4,_OMC_LIT333_data);
#define _OMC_LIT333 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT333)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT334,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT333}};
#define _OMC_LIT334 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT334)
#define _OMC_LIT335_data " : "
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT335,3,_OMC_LIT335_data);
#define _OMC_LIT335 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT335)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT336,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT335}};
#define _OMC_LIT336 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT336)
#define _OMC_LIT337_data " >= "
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT337,4,_OMC_LIT337_data);
#define _OMC_LIT337 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT337)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT338,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT337}};
#define _OMC_LIT338 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT338)
#define _OMC_LIT339_data "while("
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT339,6,_OMC_LIT339_data);
#define _OMC_LIT339 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT339)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT340,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT339}};
#define _OMC_LIT340 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT340)
#define _OMC_LIT341_data " <= size_of_dimension_base_array("
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT341,33,_OMC_LIT341_data);
#define _OMC_LIT341 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT341)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT342,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT341}};
#define _OMC_LIT342 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT342)
#define _OMC_LIT343_data ", 1)) {\n"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT343,8,_OMC_LIT343_data);
#define _OMC_LIT343 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT343)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT344,2,5) {&Tpl_StringToken_ST__LINE__desc,_OMC_LIT343}};
#define _OMC_LIT344 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT344)
#define _OMC_LIT345_data "if("
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT345,3,_OMC_LIT345_data);
#define _OMC_LIT345 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT345)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT346,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT345}};
#define _OMC_LIT346 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT346)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT347,2,5) {&Tpl_StringToken_ST__LINE__desc,_OMC_LIT322}};
#define _OMC_LIT347 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT347)
#define _OMC_LIT348_data "_array_get("
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT348,11,_OMC_LIT348_data);
#define _OMC_LIT348 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT348)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT349,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT348}};
#define _OMC_LIT349 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT349)
#define _OMC_LIT350_data ", 1, "
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT350,5,_OMC_LIT350_data);
#define _OMC_LIT350 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT350)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT351,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT350}};
#define _OMC_LIT351 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT351)
#define _OMC_LIT352_data "++)"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT352,3,_OMC_LIT352_data);
#define _OMC_LIT352 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT352)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT353,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT352}};
#define _OMC_LIT353 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT353)
#define _OMC_LIT354_data "_get1("
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT354,6,_OMC_LIT354_data);
#define _OMC_LIT354 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT354)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT355,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT354}};
#define _OMC_LIT355 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT355)
#define _OMC_LIT356_data "--;"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT356,3,_OMC_LIT356_data);
#define _OMC_LIT356 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT356)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT357,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT356}};
#define _OMC_LIT357 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT357)
#define _OMC_LIT358_data "while"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT358,5,_OMC_LIT358_data);
#define _OMC_LIT358 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT358)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT359,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT358}};
#define _OMC_LIT359 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT359)
#define _OMC_LIT360_data "if"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT360,2,_OMC_LIT360_data);
#define _OMC_LIT360 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT360)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT361,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT360}};
#define _OMC_LIT361 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT361)
#define _OMC_LIT362_data "while ("
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT362,7,_OMC_LIT362_data);
#define _OMC_LIT362 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT362)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT363,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT362}};
#define _OMC_LIT363 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT363)
#define _OMC_LIT364_data " <= arrayLength("
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT364,16,_OMC_LIT364_data);
#define _OMC_LIT364 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT364)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT365,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT364}};
#define _OMC_LIT365 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT365)
#define _OMC_LIT366_data " = arrayGet("
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT366,12,_OMC_LIT366_data);
#define _OMC_LIT366 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT366)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT367,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT366}};
#define _OMC_LIT367 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT367)
#define _OMC_LIT368_data "++);\n"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT368,5,_OMC_LIT368_data);
#define _OMC_LIT368 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT368)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT369,2,5) {&Tpl_StringToken_ST__LINE__desc,_OMC_LIT368}};
#define _OMC_LIT369 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT369)
#define _OMC_LIT370_data "while (!listEmpty("
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT370,18,_OMC_LIT370_data);
#define _OMC_LIT370 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT370)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT371,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT370}};
#define _OMC_LIT371 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT371)
#define _OMC_LIT372_data " = MMC_CAR("
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT372,11,_OMC_LIT372_data);
#define _OMC_LIT372 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT372)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT373,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT372}};
#define _OMC_LIT373 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT373)
#define _OMC_LIT374_data ");\n"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT374,3,_OMC_LIT374_data);
#define _OMC_LIT374 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT374)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT375,2,5) {&Tpl_StringToken_ST__LINE__desc,_OMC_LIT374}};
#define _OMC_LIT375 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT375)
#define _OMC_LIT376_data " = MMC_CDR("
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT376,11,_OMC_LIT376_data);
#define _OMC_LIT376 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT376)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT377,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT376}};
#define _OMC_LIT377 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT377)
#define _OMC_LIT378_data "if (!listEmpty("
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT378,15,_OMC_LIT378_data);
#define _OMC_LIT378 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT378)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT379,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT378}};
#define _OMC_LIT379 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT379)
#define _OMC_LIT380_data " = ("
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT380,4,_OMC_LIT380_data);
#define _OMC_LIT380 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT380)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT381,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT380}};
#define _OMC_LIT381 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT381)
#define _OMC_LIT382_data ")-"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT382,2,_OMC_LIT382_data);
#define _OMC_LIT382 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT382)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT383,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT382}};
#define _OMC_LIT383 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT383)
#define _OMC_LIT384_data "_length = (("
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT384,12,_OMC_LIT384_data);
#define _OMC_LIT384 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT384)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT385,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT384}};
#define _OMC_LIT385 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT385)
#define _OMC_LIT386_data "-"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT386,1,_OMC_LIT386_data);
#define _OMC_LIT386 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT386)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT387,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT386}};
#define _OMC_LIT387 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT387)
#define _OMC_LIT388_data ")/"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT388,2,_OMC_LIT388_data);
#define _OMC_LIT388 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT388)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT389,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT388}};
#define _OMC_LIT389 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT389)
#define _OMC_LIT390_data ")+1;"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT390,4,_OMC_LIT390_data);
#define _OMC_LIT390 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT390)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT391,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT390}};
#define _OMC_LIT391 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT391)
#define _OMC_LIT392_data " = 1;"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT392,5,_OMC_LIT392_data);
#define _OMC_LIT392 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT392)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT393,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT392}};
#define _OMC_LIT393 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT393)
#define _OMC_LIT394_data "modelica_integer "
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT394,17,_OMC_LIT394_data);
#define _OMC_LIT394 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT394)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT395,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT394}};
#define _OMC_LIT395 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT395)
#define _OMC_LIT396_data "_length;"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT396,8,_OMC_LIT396_data);
#define _OMC_LIT396 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT396)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT397,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT396}};
#define _OMC_LIT397 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT397)
#define _OMC_LIT398_data "1"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT398,1,_OMC_LIT398_data);
#define _OMC_LIT398 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT398)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT399,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT398}};
#define _OMC_LIT399 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT399)
#define _OMC_LIT400_data "  FILE_INFO info = omc_dummyFileInfo;\n"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT400,38,_OMC_LIT400_data);
#define _OMC_LIT400 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT400)
#define _OMC_LIT401_data "  omc_assert(threadData, info, \"Range with a step of zero.\");\n"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT401,62,_OMC_LIT401_data);
#define _OMC_LIT401 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT401)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT402,2,1) {_OMC_LIT102,MMC_REFSTRUCTLIT(mmc_nil)}};
#define _OMC_LIT402 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT402)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT403,2,1) {_OMC_LIT401,_OMC_LIT402}};
#define _OMC_LIT403 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT403)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT404,2,1) {_OMC_LIT400,_OMC_LIT403}};
#define _OMC_LIT404 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT404)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT405,2,1) {_OMC_LIT249,_OMC_LIT404}};
#define _OMC_LIT405 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT405)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT406,3,6) {&Tpl_StringToken_ST__STRING__LIST__desc,_OMC_LIT405,MMC_IMMEDIATE(MMC_TAGFIXNUM(0))}};
#define _OMC_LIT406 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT406)
#define _OMC_LIT407_data " /* Range start-value */"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT407,24,_OMC_LIT407_data);
#define _OMC_LIT407 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT407)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT408,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT407}};
#define _OMC_LIT408 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT408)
#define _OMC_LIT409_data " /* Range stop-value */"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT409,23,_OMC_LIT409_data);
#define _OMC_LIT409 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT409)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT410,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT409}};
#define _OMC_LIT410 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT410)
#define _OMC_LIT411_data "1 /* Range step-value */"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT411,24,_OMC_LIT411_data);
#define _OMC_LIT411 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT411)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT412,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT411}};
#define _OMC_LIT412 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT412)
#define _OMC_LIT413_data " /* Range step-value */"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT413,23,_OMC_LIT413_data);
#define _OMC_LIT413 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT413)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT414,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT413}};
#define _OMC_LIT414 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT414)
#define _OMC_LIT415_data "modelica_metatype "
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT415,18,_OMC_LIT415_data);
#define _OMC_LIT415 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT415)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT416,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT415}};
#define _OMC_LIT416 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT416)
#define _OMC_LIT417_data " = mmc_mk_cons("
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT417,15,_OMC_LIT417_data);
#define _OMC_LIT417 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT417)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT418,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT417}};
#define _OMC_LIT418 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT418)
#define _OMC_LIT419_data ",0);\n"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT419,5,_OMC_LIT419_data);
#define _OMC_LIT419 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT419)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT420,2,5) {&Tpl_StringToken_ST__LINE__desc,_OMC_LIT419}};
#define _OMC_LIT420 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT420)
#define _OMC_LIT421_data " = &MMC_CDR(*"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT421,13,_OMC_LIT421_data);
#define _OMC_LIT421 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT421)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT422,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT421}};
#define _OMC_LIT422 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT422)
#define _OMC_LIT423_data "list"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT423,4,_OMC_LIT423_data);
#define _OMC_LIT423 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT423)
#define _OMC_LIT424_data "listReverse"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT424,11,_OMC_LIT424_data);
#define _OMC_LIT424 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT424)
#define _OMC_LIT425_data ")\n"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT425,2,_OMC_LIT425_data);
#define _OMC_LIT425 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT425)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT426,2,1) {_OMC_LIT145,MMC_REFSTRUCTLIT(mmc_nil)}};
#define _OMC_LIT426 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT426)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT427,2,1) {_OMC_LIT425,_OMC_LIT426}};
#define _OMC_LIT427 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT427)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT428,3,6) {&Tpl_StringToken_ST__STRING__LIST__desc,_OMC_LIT427,MMC_IMMEDIATE(MMC_TAGFIXNUM(1))}};
#define _OMC_LIT428 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT428)
#define _OMC_LIT429_data "else\n"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT429,5,_OMC_LIT429_data);
#define _OMC_LIT429 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT429)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT430,2,1) {_OMC_LIT429,_OMC_LIT426}};
#define _OMC_LIT430 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT430)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT431,2,1) {_OMC_LIT151,_OMC_LIT430}};
#define _OMC_LIT431 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT431)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT432,3,6) {&Tpl_StringToken_ST__STRING__LIST__desc,_OMC_LIT431,MMC_IMMEDIATE(MMC_TAGFIXNUM(1))}};
#define _OMC_LIT432 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT432)
#define _OMC_LIT433_data "++) = "
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT433,6,_OMC_LIT433_data);
#define _OMC_LIT433 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT433)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT434,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT433}};
#define _OMC_LIT434 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT434)
#define _OMC_LIT435_data "index_spec_t"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT435,12,_OMC_LIT435_data);
#define _OMC_LIT435 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT435)
#define _OMC_LIT436_data "create_index_spec(&"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT436,19,_OMC_LIT436_data);
#define _OMC_LIT436 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT436)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT437,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT436}};
#define _OMC_LIT437 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT437)
#define _OMC_LIT438_data ", (0), make_index_array(1, (int) "
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT438,33,_OMC_LIT438_data);
#define _OMC_LIT438 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT438)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT439,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT438}};
#define _OMC_LIT439 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT439)
#define _OMC_LIT440_data "++), 'S'"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT440,8,_OMC_LIT440_data);
#define _OMC_LIT440 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT440)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT441,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT440}};
#define _OMC_LIT441 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT441)
#define _OMC_LIT442_data "indexed_assign_"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT442,15,_OMC_LIT442_data);
#define _OMC_LIT442 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT442)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT443,2,1) {_OMC_LIT442,MMC_REFSTRUCTLIT(mmc_nil)}};
#define _OMC_LIT443 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT443)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT444,2,1) {_OMC_LIT374,_OMC_LIT443}};
#define _OMC_LIT444 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT444)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT445,3,6) {&Tpl_StringToken_ST__STRING__LIST__desc,_OMC_LIT444,MMC_IMMEDIATE(MMC_TAGFIXNUM(0))}};
#define _OMC_LIT445 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT445)
#define _OMC_LIT446_data ", (1), (int*)0, 'W'"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT446,19,_OMC_LIT446_data);
#define _OMC_LIT446 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT446)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT447,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT446}};
#define _OMC_LIT447 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT447)
#define _OMC_LIT448_data "modelica_metatype*"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT448,18,_OMC_LIT448_data);
#define _OMC_LIT448 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT448)
#define _OMC_LIT449_data "modelica_integer"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT449,16,_OMC_LIT449_data);
#define _OMC_LIT449 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT449)
#define _OMC_LIT450_data " = size_of_dimension_base_array("
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT450,32,_OMC_LIT450_data);
#define _OMC_LIT450 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT450)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT451,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT450}};
#define _OMC_LIT451 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT451)
#define _OMC_LIT452_data "integer_array"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT452,13,_OMC_LIT452_data);
#define _OMC_LIT452 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT452)
#define _OMC_LIT453_data "sizes_of_dimensions_base_array(&"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT453,32,_OMC_LIT453_data);
#define _OMC_LIT453 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT453)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT454,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT453}};
#define _OMC_LIT454 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT454)
#define _OMC_LIT455_data " not implemented"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT455,16,_OMC_LIT455_data);
#define _OMC_LIT455 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT455)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT456,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT455}};
#define _OMC_LIT456 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT456)
#define _OMC_LIT457_data "Code generation does not support pre("
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT457,37,_OMC_LIT457_data);
#define _OMC_LIT457 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT457)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT458,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT457}};
#define _OMC_LIT458 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT458)
#define _OMC_LIT459_data ")-1"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT459,3,_OMC_LIT459_data);
#define _OMC_LIT459 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT459)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT460,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT459}};
#define _OMC_LIT460 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT460)
#define _OMC_LIT461_data "metatype"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT461,8,_OMC_LIT461_data);
#define _OMC_LIT461 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT461)
#define _OMC_LIT462_data "Nested array subscripting *should* have been handled by the routine creating the asub, but for some reason it was not: "
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT462,119,_OMC_LIT462_data);
#define _OMC_LIT462 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT462)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT463,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT462}};
#define _OMC_LIT463 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT463)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT464,9,3) {&Tpl_IterOptions_ITER__OPTIONS__desc,MMC_IMMEDIATE(MMC_TAGFIXNUM(1)),MMC_REFSTRUCTLIT(mmc_none),_OMC_LIT95,MMC_IMMEDIATE(MMC_TAGFIXNUM(0)),MMC_IMMEDIATE(MMC_TAGFIXNUM(0)),_OMC_LIT89,MMC_IMMEDIATE(MMC_TAGFIXNUM(0)),_OMC_LIT89}};
#define _OMC_LIT464 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT464)
#define _OMC_LIT465_data "switch("
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT465,7,_OMC_LIT465_data);
#define _OMC_LIT465 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT465)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT466,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT465}};
#define _OMC_LIT466 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT466)
#define _OMC_LIT467_data "{ /* ASUB */\n"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT467,13,_OMC_LIT467_data);
#define _OMC_LIT467 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT467)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT468,2,1) {_OMC_LIT467,MMC_REFSTRUCTLIT(mmc_nil)}};
#define _OMC_LIT468 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT468)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT469,2,1) {_OMC_LIT425,_OMC_LIT468}};
#define _OMC_LIT469 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT469)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT470,3,6) {&Tpl_StringToken_ST__STRING__LIST__desc,_OMC_LIT469,MMC_IMMEDIATE(MMC_TAGFIXNUM(1))}};
#define _OMC_LIT470 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT470)
#define _OMC_LIT471_data "default:\n"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT471,9,_OMC_LIT471_data);
#define _OMC_LIT471 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT471)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT472,2,5) {&Tpl_StringToken_ST__LINE__desc,_OMC_LIT471}};
#define _OMC_LIT472 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT472)
#define _OMC_LIT473_data "throwStreamPrint(threadData, \"Index %ld out of bounds [1.."
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT473,58,_OMC_LIT473_data);
#define _OMC_LIT473 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT473)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT474,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT473}};
#define _OMC_LIT474 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT474)
#define _OMC_LIT475_data "] for array "
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT475,12,_OMC_LIT475_data);
#define _OMC_LIT475 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT475)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT476,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT475}};
#define _OMC_LIT476 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT476)
#define _OMC_LIT477_data "\", (long) "
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT477,10,_OMC_LIT477_data);
#define _OMC_LIT477 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT477)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT478,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT477}};
#define _OMC_LIT478 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT478)
#define _OMC_LIT479_data " + "
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT479,3,_OMC_LIT479_data);
#define _OMC_LIT479 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT479)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT480,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT479}};
#define _OMC_LIT480 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT480)
#define _OMC_LIT481_data " - 1;\n"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT481,6,_OMC_LIT481_data);
#define _OMC_LIT481 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT481)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT482,2,1) {_OMC_LIT247,MMC_REFSTRUCTLIT(mmc_nil)}};
#define _OMC_LIT482 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT482)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT483,2,1) {_OMC_LIT481,_OMC_LIT482}};
#define _OMC_LIT483 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT483)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT484,3,6) {&Tpl_StringToken_ST__STRING__LIST__desc,_OMC_LIT483,MMC_IMMEDIATE(MMC_TAGFIXNUM(0))}};
#define _OMC_LIT484 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT484)
#define _OMC_LIT485_data " > "
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT485,3,_OMC_LIT485_data);
#define _OMC_LIT485 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT485)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT486,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT485}};
#define _OMC_LIT486 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT486)
#define _OMC_LIT487_data "throwStreamPrint(threadData, \"Value %ld out of bounds for range "
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT487,64,_OMC_LIT487_data);
#define _OMC_LIT487 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT487)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT488,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT487}};
#define _OMC_LIT488 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT488)
#define _OMC_LIT489_data "ASUB_EASY_CASE type:"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT489,20,_OMC_LIT489_data);
#define _OMC_LIT489 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT489)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT490,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT489}};
#define _OMC_LIT490 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT490)
#define _OMC_LIT491_data " range:"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT491,7,_OMC_LIT491_data);
#define _OMC_LIT491 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT491)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT492,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT491}};
#define _OMC_LIT492 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT492)
#define _OMC_LIT493_data " index:"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT493,7,_OMC_LIT493_data);
#define _OMC_LIT493 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT493)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT494,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT493}};
#define _OMC_LIT494 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT494)
#define _OMC_LIT495_data "OTHER_ASUB "
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT495,11,_OMC_LIT495_data);
#define _OMC_LIT495 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT495)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT496,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT495}};
#define _OMC_LIT496 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT496)
#define _OMC_LIT497_data "ASUB non-scalar "
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT497,16,_OMC_LIT497_data);
#define _OMC_LIT497 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT497)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT498,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT497}};
#define _OMC_LIT498 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT498)
#define _OMC_LIT499_data ". The inner exp has type: "
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT499,26,_OMC_LIT499_data);
#define _OMC_LIT499 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT499)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT500,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT499}};
#define _OMC_LIT500 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT500)
#define _OMC_LIT501_data ". After ASUB it is still an array: "
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT501,35,_OMC_LIT501_data);
#define _OMC_LIT501 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT501)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT502,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT501}};
#define _OMC_LIT502 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT502)
#define _OMC_LIT503_data "."
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT503,1,_OMC_LIT503_data);
#define _OMC_LIT503 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT503)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT504,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT503}};
#define _OMC_LIT504 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT504)
#define _OMC_LIT505_data "_get"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT505,4,_OMC_LIT505_data);
#define _OMC_LIT505 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT505)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT506,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT505}};
#define _OMC_LIT506 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT506)
#define _OMC_LIT507_data "D"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT507,1,_OMC_LIT507_data);
#define _OMC_LIT507 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT507)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT508,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT507}};
#define _OMC_LIT508 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT508)
#define _OMC_LIT509_data ": {\n"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT509,4,_OMC_LIT509_data);
#define _OMC_LIT509 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT509)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT510,2,5) {&Tpl_StringToken_ST__LINE__desc,_OMC_LIT509}};
#define _OMC_LIT510 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT510)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT511,2,1) {_OMC_LIT160,_OMC_LIT324}};
#define _OMC_LIT511 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT511)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT512,3,6) {&Tpl_StringToken_ST__STRING__LIST__desc,_OMC_LIT511,MMC_IMMEDIATE(MMC_TAGFIXNUM(1))}};
#define _OMC_LIT512 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT512)
#define _OMC_LIT513_data "arrayGet("
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT513,9,_OMC_LIT513_data);
#define _OMC_LIT513 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT513)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT514,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT513}};
#define _OMC_LIT514 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT514)
#define _OMC_LIT515_data ") /* DAE.ASUB */"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT515,16,_OMC_LIT515_data);
#define _OMC_LIT515 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT515)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT516,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT515}};
#define _OMC_LIT516 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT516)
#define _OMC_LIT517_data "._"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT517,2,_OMC_LIT517_data);
#define _OMC_LIT517 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT517)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT518,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT517}};
#define _OMC_LIT518 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT518)
#define _OMC_LIT519_data "(MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR("
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT519,35,_OMC_LIT519_data);
#define _OMC_LIT519 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT519)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT520,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT519}};
#define _OMC_LIT520 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT520)
#define _OMC_LIT521_data "), "
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT521,3,_OMC_LIT521_data);
#define _OMC_LIT521 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT521)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT522,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT521}};
#define _OMC_LIT522 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT522)
#define _OMC_LIT523_data ")))"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT523,3,_OMC_LIT523_data);
#define _OMC_LIT523 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT523)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT524,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT523}};
#define _OMC_LIT524 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT524)
#define _OMC_LIT525_data ": failed"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT525,8,_OMC_LIT525_data);
#define _OMC_LIT525 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT525)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT526,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT525}};
#define _OMC_LIT526 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT526)
#define _OMC_LIT527_data ": TSUB only makes sense if the subscripted expression is a function call of tuple type"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT527,86,_OMC_LIT527_data);
#define _OMC_LIT527 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT527)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT528,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT527}};
#define _OMC_LIT528 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT528)
#define _OMC_LIT529_data ".dim_size = 0;"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT529,14,_OMC_LIT529_data);
#define _OMC_LIT529 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT529)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT530,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT529}};
#define _OMC_LIT530 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT530)
#define _OMC_LIT531_data ", NULL"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT531,6,_OMC_LIT531_data);
#define _OMC_LIT531 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT531)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT532,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT531}};
#define _OMC_LIT532 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT532)
#define _OMC_LIT533_data "cast_"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT533,5,_OMC_LIT533_data);
#define _OMC_LIT533 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT533)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT534,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT533}};
#define _OMC_LIT534 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT534)
#define _OMC_LIT535_data "_array_to_"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT535,10,_OMC_LIT535_data);
#define _OMC_LIT535 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT535)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT536,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT535}};
#define _OMC_LIT536 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT536)
#define _OMC_LIT537_data ") /* could not cast, using the variable as it is */"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT537,51,_OMC_LIT537_data);
#define _OMC_LIT537 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT537)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT538,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT537}};
#define _OMC_LIT538 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT538)
#define _OMC_LIT539_data "Cast on record. Revise me. "
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT539,27,_OMC_LIT539_data);
#define _OMC_LIT539 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT539)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT540,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT539}};
#define _OMC_LIT540 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT540)
#define _OMC_LIT541_data "create_"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT541,7,_OMC_LIT541_data);
#define _OMC_LIT541 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT541)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT542,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT541}};
#define _OMC_LIT542 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT542)
#define _OMC_LIT543_data "_from_range(&"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT543,13,_OMC_LIT543_data);
#define _OMC_LIT543 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT543)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT544,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT543}};
#define _OMC_LIT544 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT544)
#define _OMC_LIT545_data "promote_scalar_"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT545,15,_OMC_LIT545_data);
#define _OMC_LIT545 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT545)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT546,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT545}};
#define _OMC_LIT546 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT546)
#define _OMC_LIT547_data ", 2, &"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT547,6,_OMC_LIT547_data);
#define _OMC_LIT547 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT547)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT548,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT547}};
#define _OMC_LIT548 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT548)
#define _OMC_LIT549_data ", 2, 0, 1);"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT549,11,_OMC_LIT549_data);
#define _OMC_LIT549 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT549)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT550,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT549}};
#define _OMC_LIT550 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT550)
#define _OMC_LIT551_data "/* -- start: matrix["
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT551,20,_OMC_LIT551_data);
#define _OMC_LIT551 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT551)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT552,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT551}};
#define _OMC_LIT552 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT552)
#define _OMC_LIT553_data "] -- */"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT553,7,_OMC_LIT553_data);
#define _OMC_LIT553 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT553)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT554,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT553}};
#define _OMC_LIT554 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT554)
#define _OMC_LIT555_data "_array(&"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT555,8,_OMC_LIT555_data);
#define _OMC_LIT555 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT555)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT556,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT555}};
#define _OMC_LIT556 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT556)
#define _OMC_LIT557_data ", 2, "
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT557,5,_OMC_LIT557_data);
#define _OMC_LIT557 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT557)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT558,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT557}};
#define _OMC_LIT558 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT558)
#define _OMC_LIT559_data "/* -- end: matrix["
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT559,18,_OMC_LIT559_data);
#define _OMC_LIT559 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT559)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT560,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT559}};
#define _OMC_LIT560 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT560)
#define _OMC_LIT561_data "cat_alloc_"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT561,10,_OMC_LIT561_data);
#define _OMC_LIT561 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT561)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT562,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT561}};
#define _OMC_LIT562 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT562)
#define _OMC_LIT563_data "(1, &"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT563,5,_OMC_LIT563_data);
#define _OMC_LIT563 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT563)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT564,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT563}};
#define _OMC_LIT564 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT564)
#define _OMC_LIT565_data "real"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT565,4,_OMC_LIT565_data);
#define _OMC_LIT565 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT565)
#define _OMC_LIT566_data "integer"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT566,7,_OMC_LIT566_data);
#define _OMC_LIT566 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT566)
#define _OMC_LIT567_data "boolean"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT567,7,_OMC_LIT567_data);
#define _OMC_LIT567 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT567)
#define _OMC_LIT568_data "(2, &"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT568,5,_OMC_LIT568_data);
#define _OMC_LIT568 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT568)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT569,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT568}};
#define _OMC_LIT569 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT569)
#define _OMC_LIT570_data "put_"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT570,4,_OMC_LIT570_data);
#define _OMC_LIT570 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT570)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT571,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT570}};
#define _OMC_LIT571 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT571)
#define _OMC_LIT572_data "_matrix_element("
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT572,16,_OMC_LIT572_data);
#define _OMC_LIT572 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT572)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT573,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT572}};
#define _OMC_LIT573 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT573)
#define _OMC_LIT574_data "base_array_t"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT574,12,_OMC_LIT574_data);
#define _OMC_LIT574 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT574)
#define _OMC_LIT575_data "simple_alloc_1d_base_array(&"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT575,28,_OMC_LIT575_data);
#define _OMC_LIT575 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT575)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT576,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT575}};
#define _OMC_LIT576 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT576)
#define _OMC_LIT577_data ", 0, NULL);"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT577,11,_OMC_LIT577_data);
#define _OMC_LIT577 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT577)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT578,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT577}};
#define _OMC_LIT578 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT578)
#define _OMC_LIT579_data "array_alloc_"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT579,12,_OMC_LIT579_data);
#define _OMC_LIT579 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT579)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT580,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT579}};
#define _OMC_LIT580 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT580)
#define _OMC_LIT581_data "&"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT581,1,_OMC_LIT581_data);
#define _OMC_LIT581 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT581)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT582,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT581}};
#define _OMC_LIT582 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT582)
#define _OMC_LIT583_data "scalar_"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT583,7,_OMC_LIT583_data);
#define _OMC_LIT583 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT583)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT584,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT583}};
#define _OMC_LIT584 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT584)
#define _OMC_LIT585_data "// We dont actually need to deep copy the record here. The temp variables are not used anywhere else.\n"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT585,102,_OMC_LIT585_data);
#define _OMC_LIT585 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT585)
#define _OMC_LIT586_data "// "
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT586,3,_OMC_LIT586_data);
#define _OMC_LIT586 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT586)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT587,2,1) {_OMC_LIT586,MMC_REFSTRUCTLIT(mmc_nil)}};
#define _OMC_LIT587 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT587)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT588,2,1) {_OMC_LIT585,_OMC_LIT587}};
#define _OMC_LIT588 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT588)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT589,3,6) {&Tpl_StringToken_ST__STRING__LIST__desc,_OMC_LIT588,MMC_IMMEDIATE(MMC_TAGFIXNUM(0))}};
#define _OMC_LIT589 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT589)
#define _OMC_LIT590_data "_copy("
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT590,6,_OMC_LIT590_data);
#define _OMC_LIT590 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT590)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT591,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT590}};
#define _OMC_LIT591 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT591)
#define _OMC_LIT592_data "));\n"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT592,4,_OMC_LIT592_data);
#define _OMC_LIT592 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT592)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT593,2,5) {&Tpl_StringToken_ST__LINE__desc,_OMC_LIT592}};
#define _OMC_LIT593 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT593)
#define _OMC_LIT594_data ") = "
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT594,4,_OMC_LIT594_data);
#define _OMC_LIT594 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT594)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT595,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT594}};
#define _OMC_LIT595 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT595)
#define _OMC_LIT596_data "what is this suppsoed to do?"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT596,28,_OMC_LIT596_data);
#define _OMC_LIT596 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT596)
#define _OMC_LIT597_data "(*)(threadData_t*"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT597,17,_OMC_LIT597_data);
#define _OMC_LIT597 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT597)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT598,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT597}};
#define _OMC_LIT598 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT598)
#define _OMC_LIT599_data "))"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT599,2,_OMC_LIT599_data);
#define _OMC_LIT599 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT599)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT600,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT599}};
#define _OMC_LIT600 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT600)
#define _OMC_LIT601_data "relocatableFunctions"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT601,20,_OMC_LIT601_data);
#define _OMC_LIT601 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT601)
#define _OMC_LIT602_data "Generates relocatable code: all functions become function pointers and can be replaced at run-time."
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT602,99,_OMC_LIT602_data);
#define _OMC_LIT602 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT602)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT603,2,3) {&Gettext_TranslatableContent_gettext__desc,_OMC_LIT602}};
#define _OMC_LIT603 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT603)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT604,5,3) {&Flags_DebugFlag_DEBUG__FLAG__desc,MMC_IMMEDIATE(MMC_TAGFIXNUM(118)),_OMC_LIT601,MMC_IMMEDIATE(MMC_TAGFIXNUM(0)),_OMC_LIT603}};
#define _OMC_LIT604 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT604)
#define _OMC_LIT605_data "*(void**)"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT605,9,_OMC_LIT605_data);
#define _OMC_LIT605 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT605)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT606,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT605}};
#define _OMC_LIT606 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT606)
#define _OMC_LIT607_data ", modelica_metatype"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT607,19,_OMC_LIT607_data);
#define _OMC_LIT607 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT607)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT608,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT607}};
#define _OMC_LIT608 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT608)
#define _OMC_LIT609_data "void"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT609,4,_OMC_LIT609_data);
#define _OMC_LIT609 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT609)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT610,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT609}};
#define _OMC_LIT610 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT610)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT611,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT311}};
#define _OMC_LIT611 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT611)
#define _OMC_LIT612_data "), 1)))"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT612,7,_OMC_LIT612_data);
#define _OMC_LIT612 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT612)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT613,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT612}};
#define _OMC_LIT613 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT613)
#define _OMC_LIT614_data "), 2)))"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT614,7,_OMC_LIT614_data);
#define _OMC_LIT614 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT614)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT615,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT614}};
#define _OMC_LIT615 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT615)
#define _OMC_LIT616_data "threadData, "
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT616,12,_OMC_LIT616_data);
#define _OMC_LIT616 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT616)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT617,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT616}};
#define _OMC_LIT617 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT617)
#define _OMC_LIT618_data " ? ("
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT618,4,_OMC_LIT618_data);
#define _OMC_LIT618 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT618)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT619,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT618}};
#define _OMC_LIT619 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT619)
#define _OMC_LIT620_data ") ("
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT620,3,_OMC_LIT620_data);
#define _OMC_LIT620 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT620)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT621,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT620}};
#define _OMC_LIT621 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT621)
#define _OMC_LIT622_data ") : ("
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT622,5,_OMC_LIT622_data);
#define _OMC_LIT622 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT622)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT623,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT622}};
#define _OMC_LIT623 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT623)
#define _OMC_LIT624_data "We only support function pointer calls where the pointer is a local variable (not inside any record). Got: "
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT624,107,_OMC_LIT624_data);
#define _OMC_LIT624 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT624)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT625,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT624}};
#define _OMC_LIT625 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT625)
#define _OMC_LIT626_data "omc_"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT626,4,_OMC_LIT626_data);
#define _OMC_LIT626 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT626)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT627,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT626}};
#define _OMC_LIT627 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT627)
#define _OMC_LIT628_data "threadData"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT628,10,_OMC_LIT628_data);
#define _OMC_LIT628 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT628)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT629,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT628}};
#define _OMC_LIT629 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT629)
#define _OMC_LIT630_data "Code generation does not support der("
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT630,37,_OMC_LIT630_data);
#define _OMC_LIT630 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT630)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT631,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT630}};
#define _OMC_LIT631 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT631)
#define _OMC_LIT632_data "data->simulationInfo->clocksData[clockIndex].interval"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT632,53,_OMC_LIT632_data);
#define _OMC_LIT632 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT632)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT633,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT632}};
#define _OMC_LIT633 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT633)
#define _OMC_LIT634_data "(data->simulationInfo->clocksData[clockIndex].cnt == 0)"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT634,55,_OMC_LIT634_data);
#define _OMC_LIT634 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT634)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT635,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT634}};
#define _OMC_LIT635 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT635)
#define _OMC_LIT636_data "fireClock(data, threadData, "
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT636,28,_OMC_LIT636_data);
#define _OMC_LIT636 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT636)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT637,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT636}};
#define _OMC_LIT637 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT637)
#define _OMC_LIT638_data ", data->localData[0]->timeValue)"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT638,32,_OMC_LIT638_data);
#define _OMC_LIT638 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT638)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT639,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT638}};
#define _OMC_LIT639 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT639)
#define _OMC_LIT640_data " >= 0.0 ? 1.0:-1.0)"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT640,19,_OMC_LIT640_data);
#define _OMC_LIT640 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT640)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT641,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT640}};
#define _OMC_LIT641 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT641)
#define _OMC_LIT642_data "data->simulationInfo->inlineData->dt"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT642,36,_OMC_LIT642_data);
#define _OMC_LIT642 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT642)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT643,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT642}};
#define _OMC_LIT643 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT643)
#define _OMC_LIT644_data " == 0.0 ? "
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT644,10,_OMC_LIT644_data);
#define _OMC_LIT644 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT644)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT645,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT644}};
#define _OMC_LIT645 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT645)
#define _OMC_LIT646_data " : ("
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT646,4,_OMC_LIT646_data);
#define _OMC_LIT646 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT646)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT647,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT646}};
#define _OMC_LIT647 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT647)
#define _OMC_LIT648_data " - "
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT648,3,_OMC_LIT648_data);
#define _OMC_LIT648 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT648)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT649,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT648}};
#define _OMC_LIT649 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT649)
#define _OMC_LIT650_data "((modelica_integer)round((modelica_real)("
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT650,41,_OMC_LIT650_data);
#define _OMC_LIT650 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT650)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT651,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT650}};
#define _OMC_LIT651 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT651)
#define _OMC_LIT652_data " && !"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT652,5,_OMC_LIT652_data);
#define _OMC_LIT652 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT652)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT653,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT652}};
#define _OMC_LIT653 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT653)
#define _OMC_LIT654_data "(!"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT654,2,_OMC_LIT654_data);
#define _OMC_LIT654 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT654)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT655,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT654}};
#define _OMC_LIT655 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT655)
#define _OMC_LIT656_data " && "
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT656,4,_OMC_LIT656_data);
#define _OMC_LIT656 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT656)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT657,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT656}};
#define _OMC_LIT657 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT657)
#define _OMC_LIT658_data "Code generation does not support edge("
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT658,38,_OMC_LIT658_data);
#define _OMC_LIT658 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT658)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT659,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT658}};
#define _OMC_LIT659 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT659)
#define _OMC_LIT660_data " != "
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT660,4,_OMC_LIT660_data);
#define _OMC_LIT660 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT660)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT661,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT660}};
#define _OMC_LIT661 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT661)
#define _OMC_LIT662_data "Code generation does not support change("
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT662,40,_OMC_LIT662_data);
#define _OMC_LIT662 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT662)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT663,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT662}};
#define _OMC_LIT663 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT663)
#define _OMC_LIT664_data "Code generation does not support cardinality("
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT664,45,_OMC_LIT664_data);
#define _OMC_LIT664 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT664)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT665,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT664}};
#define _OMC_LIT665 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT665)
#define _OMC_LIT666_data "). It should have been handled somewhere else in the compiler."
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT666,62,_OMC_LIT666_data);
#define _OMC_LIT666 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT666)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT667,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT666}};
#define _OMC_LIT667 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT667)
#define _OMC_LIT668_data "fputs(MMC_STRINGDATA("
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT668,21,_OMC_LIT668_data);
#define _OMC_LIT668 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT668)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT669,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT668}};
#define _OMC_LIT669 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT669)
#define _OMC_LIT670_data "),stdout)"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT670,9,_OMC_LIT670_data);
#define _OMC_LIT670 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT670)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT671,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT670}};
#define _OMC_LIT671 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT671)
#define _OMC_LIT672_data "fmax("
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT672,5,_OMC_LIT672_data);
#define _OMC_LIT672 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT672)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT673,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT672}};
#define _OMC_LIT673 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT673)
#define _OMC_LIT674_data "modelica_integer_max((modelica_integer)("
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT674,40,_OMC_LIT674_data);
#define _OMC_LIT674 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT674)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT675,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT674}};
#define _OMC_LIT675 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT675)
#define _OMC_LIT676_data "),(modelica_integer)("
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT676,21,_OMC_LIT676_data);
#define _OMC_LIT676 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT676)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT677,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT676}};
#define _OMC_LIT677 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT677)
#define _OMC_LIT678_data "sum_"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT678,4,_OMC_LIT678_data);
#define _OMC_LIT678 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT678)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT679,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT678}};
#define _OMC_LIT679 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT679)
#define _OMC_LIT680_data "product_"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT680,8,_OMC_LIT680_data);
#define _OMC_LIT680 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT680)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT681,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT680}};
#define _OMC_LIT681 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT681)
#define _OMC_LIT682_data "fmin("
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT682,5,_OMC_LIT682_data);
#define _OMC_LIT682 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT682)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT683,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT682}};
#define _OMC_LIT683 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT683)
#define _OMC_LIT684_data "modelica_integer_min((modelica_integer)("
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT684,40,_OMC_LIT684_data);
#define _OMC_LIT684 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT684)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT685,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT684}};
#define _OMC_LIT685 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT685)
#define _OMC_LIT686_data "labs("
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT686,5,_OMC_LIT686_data);
#define _OMC_LIT686 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT686)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT687,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT686}};
#define _OMC_LIT687 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT687)
#define _OMC_LIT688_data "fabs("
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT688,5,_OMC_LIT688_data);
#define _OMC_LIT688 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT688)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT689,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT688}};
#define _OMC_LIT689 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT689)
#define _OMC_LIT690_data " > 0.0"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT690,6,_OMC_LIT690_data);
#define _OMC_LIT690 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT690)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT691,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT690}};
#define _OMC_LIT691 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT691)
#define _OMC_LIT692_data "\"Model error: Argument of log("
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT692,30,_OMC_LIT692_data);
#define _OMC_LIT692 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT692)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT693,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT692}};
#define _OMC_LIT693 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT693)
#define _OMC_LIT694_data ") was %g should be > 0\", "
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT694,25,_OMC_LIT694_data);
#define _OMC_LIT694 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT694)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT695,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT694}};
#define _OMC_LIT695 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT695)
static const MMC_DEFREALLIT(_OMC_LIT_STRUCT696,0.0);
#define _OMC_LIT696 MMC_REFREALLIT(_OMC_LIT_STRUCT696)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT697,8,3) {&SourceInfo_SOURCEINFO__desc,_OMC_LIT91,MMC_IMMEDIATE(MMC_TAGFIXNUM(0)),MMC_IMMEDIATE(MMC_TAGFIXNUM(0)),MMC_IMMEDIATE(MMC_TAGFIXNUM(0)),MMC_IMMEDIATE(MMC_TAGFIXNUM(0)),MMC_IMMEDIATE(MMC_TAGFIXNUM(0)),_OMC_LIT696}};
#define _OMC_LIT697 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT697)
#define _OMC_LIT698_data "log("
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT698,4,_OMC_LIT698_data);
#define _OMC_LIT698 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT698)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT699,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT698}};
#define _OMC_LIT699 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT699)
#define _OMC_LIT700_data "\"Model error: Argument of log10("
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT700,32,_OMC_LIT700_data);
#define _OMC_LIT700 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT700)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT701,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT700}};
#define _OMC_LIT701 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT701)
#define _OMC_LIT702_data "log10("
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT702,6,_OMC_LIT702_data);
#define _OMC_LIT702 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT702)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT703,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT702}};
#define _OMC_LIT703 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT703)
#define _OMC_LIT704_data "modelica_real"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT704,13,_OMC_LIT704_data);
#define _OMC_LIT704 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT704)
#define _OMC_LIT705_data " >= -1.0 && "
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT705,12,_OMC_LIT705_data);
#define _OMC_LIT705 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT705)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT706,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT705}};
#define _OMC_LIT706 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT706)
#define _OMC_LIT707_data " <= 1.0"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT707,7,_OMC_LIT707_data);
#define _OMC_LIT707 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT707)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT708,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT707}};
#define _OMC_LIT708 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT708)
#define _OMC_LIT709_data "\"Model error: Argument of "
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT709,26,_OMC_LIT709_data);
#define _OMC_LIT709 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT709)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT710,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT709}};
#define _OMC_LIT710 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT710)
#define _OMC_LIT711_data " outside the domain -1.0 <= %g <= 1.0\", "
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT711,40,_OMC_LIT711_data);
#define _OMC_LIT711 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT711)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT712,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT711}};
#define _OMC_LIT712 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT712)
#define _OMC_LIT713_data "acos("
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT713,5,_OMC_LIT713_data);
#define _OMC_LIT713 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT713)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT714,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT713}};
#define _OMC_LIT714 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT714)
#define _OMC_LIT715_data "asin("
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT715,5,_OMC_LIT715_data);
#define _OMC_LIT715 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT715)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT716,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT715}};
#define _OMC_LIT716 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT716)
#define _OMC_LIT717_data "_event_mod_"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT717,11,_OMC_LIT717_data);
#define _OMC_LIT717 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT717)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT718,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT717}};
#define _OMC_LIT718 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT718)
#define _OMC_LIT719_data ", data, threadData)"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT719,19,_OMC_LIT719_data);
#define _OMC_LIT719 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT719)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT720,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT719}};
#define _OMC_LIT720 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT720)
#define _OMC_LIT721_data "_event_div_"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT721,11,_OMC_LIT721_data);
#define _OMC_LIT721 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT721)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT722,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT721}};
#define _OMC_LIT722 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT722)
#define _OMC_LIT723_data "(_event_integer("
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT723,16,_OMC_LIT723_data);
#define _OMC_LIT723 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT723)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT724,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT723}};
#define _OMC_LIT724 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT724)
#define _OMC_LIT725_data ", data))"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT725,8,_OMC_LIT725_data);
#define _OMC_LIT725 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT725)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT726,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT725}};
#define _OMC_LIT726 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT726)
#define _OMC_LIT727_data "((modelica_"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT727,11,_OMC_LIT727_data);
#define _OMC_LIT727 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT727)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT728,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT727}};
#define _OMC_LIT728 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT728)
#define _OMC_LIT729_data ")_event_floor("
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT729,14,_OMC_LIT729_data);
#define _OMC_LIT729 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT729)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT730,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT729}};
#define _OMC_LIT730 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT730)
#define _OMC_LIT731_data ")_event_ceil("
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT731,13,_OMC_LIT731_data);
#define _OMC_LIT731 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT731)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT732,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT731}};
#define _OMC_LIT732 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT732)
#define _OMC_LIT733_data "((modelica_integer)floor("
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT733,25,_OMC_LIT733_data);
#define _OMC_LIT733 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT733)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT734,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT733}};
#define _OMC_LIT734 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT734)
#define _OMC_LIT735_data "_mod("
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT735,5,_OMC_LIT735_data);
#define _OMC_LIT735 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT735)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT736,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT735}};
#define _OMC_LIT736 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT736)
#define _OMC_LIT737_data "(("
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT737,2,_OMC_LIT737_data);
#define _OMC_LIT737 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT737)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT738,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT737}};
#define _OMC_LIT738 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT738)
#define _OMC_LIT739_data ") - floor(("
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT739,11,_OMC_LIT739_data);
#define _OMC_LIT739 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT739)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT740,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT739}};
#define _OMC_LIT740 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT740)
#define _OMC_LIT741_data ") / ("
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT741,5,_OMC_LIT741_data);
#define _OMC_LIT741 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT741)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT742,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT741}};
#define _OMC_LIT742 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT742)
#define _OMC_LIT743_data ")) * ("
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT743,6,_OMC_LIT743_data);
#define _OMC_LIT743 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT743)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT744,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT743}};
#define _OMC_LIT744 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT744)
#define _OMC_LIT745_data "trunc(("
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT745,7,_OMC_LIT745_data);
#define _OMC_LIT745 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT745)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT746,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT745}};
#define _OMC_LIT746 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT746)
#define _OMC_LIT747_data "modelica_mod_"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT747,13,_OMC_LIT747_data);
#define _OMC_LIT747 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT747)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT748,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT747}};
#define _OMC_LIT748 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT748)
#define _OMC_LIT749_data " = max_"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT749,7,_OMC_LIT749_data);
#define _OMC_LIT749 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT749)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT750,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT749}};
#define _OMC_LIT750 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT750)
#define _OMC_LIT751_data " = min_"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT751,7,_OMC_LIT751_data);
#define _OMC_LIT751 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT751)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT752,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT751}};
#define _OMC_LIT752 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT752)
#define _OMC_LIT753_data "fill_alloc_"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT753,11,_OMC_LIT753_data);
#define _OMC_LIT753 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT753)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT754,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT753}};
#define _OMC_LIT754 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT754)
#define _OMC_LIT755_data "void *"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT755,6,_OMC_LIT755_data);
#define _OMC_LIT755 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT755)
#define _OMC_LIT756_data "sizeof("
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT756,7,_OMC_LIT756_data);
#define _OMC_LIT756 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT756)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT757,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT756}};
#define _OMC_LIT757 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT757)
#define _OMC_LIT758_data "=0;\n"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT758,4,_OMC_LIT758_data);
#define _OMC_LIT758 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT758)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT759,2,5) {&Tpl_StringToken_ST__LINE__desc,_OMC_LIT758}};
#define _OMC_LIT759 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT759)
#define _OMC_LIT760_data " > 1) {\n"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT760,8,_OMC_LIT760_data);
#define _OMC_LIT760 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT760)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT761,2,5) {&Tpl_StringToken_ST__LINE__desc,_OMC_LIT760}};
#define _OMC_LIT761 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT761)
#define _OMC_LIT762_data "throwStreamPrint(threadData, \"Called vector with >1 dimensions with size >1: "
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT762,77,_OMC_LIT762_data);
#define _OMC_LIT762 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT762)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT763,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT762}};
#define _OMC_LIT763 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT763)
#define _OMC_LIT764_data "\");\n"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT764,4,_OMC_LIT764_data);
#define _OMC_LIT764 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT764)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT765,2,5) {&Tpl_StringToken_ST__LINE__desc,_OMC_LIT764}};
#define _OMC_LIT765 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT765)
#define _OMC_LIT766_data " = base_array_nr_of_elements("
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT766,29,_OMC_LIT766_data);
#define _OMC_LIT766 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT766)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT767,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT766}};
#define _OMC_LIT767 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT767)
#define _OMC_LIT768_data " = omc_alloc_interface.malloc("
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT768,30,_OMC_LIT768_data);
#define _OMC_LIT768 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT768)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT769,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT768}};
#define _OMC_LIT769 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT769)
#define _OMC_LIT770_data "memcpy("
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT770,7,_OMC_LIT770_data);
#define _OMC_LIT770 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT770)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT771,2,1) {_OMC_LIT770,MMC_REFSTRUCTLIT(mmc_nil)}};
#define _OMC_LIT771 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT771)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT772,2,1) {_OMC_LIT374,_OMC_LIT771}};
#define _OMC_LIT772 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT772)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT773,3,6) {&Tpl_StringToken_ST__STRING__LIST__desc,_OMC_LIT772,MMC_IMMEDIATE(MMC_TAGFIXNUM(0))}};
#define _OMC_LIT773 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT773)
#define _OMC_LIT774_data ".data, "
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT774,7,_OMC_LIT774_data);
#define _OMC_LIT774 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT774)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT775,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT774}};
#define _OMC_LIT775 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT775)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT776,2,1) {_OMC_LIT575,MMC_REFSTRUCTLIT(mmc_nil)}};
#define _OMC_LIT776 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT776)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT777,2,1) {_OMC_LIT374,_OMC_LIT776}};
#define _OMC_LIT777 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT777)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT778,3,6) {&Tpl_StringToken_ST__STRING__LIST__desc,_OMC_LIT777,MMC_IMMEDIATE(MMC_TAGFIXNUM(0))}};
#define _OMC_LIT778 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT778)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT779,1,1) {_OMC_LIT123}};
#define _OMC_LIT779 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT779)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT780,9,3) {&Tpl_IterOptions_ITER__OPTIONS__desc,MMC_IMMEDIATE(MMC_TAGFIXNUM(0)),MMC_REFSTRUCTLIT(mmc_none),_OMC_LIT779,MMC_IMMEDIATE(MMC_TAGFIXNUM(0)),MMC_IMMEDIATE(MMC_TAGFIXNUM(0)),_OMC_LIT89,MMC_IMMEDIATE(MMC_TAGFIXNUM(0)),_OMC_LIT89}};
#define _OMC_LIT780 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT780)
#define _OMC_LIT781_data "promote_alloc_"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT781,14,_OMC_LIT781_data);
#define _OMC_LIT781 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT781)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT782,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT781}};
#define _OMC_LIT782 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT782)
#define _OMC_LIT783_data " - ndims_base_array(&"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT783,21,_OMC_LIT783_data);
#define _OMC_LIT783 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT783)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT784,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT783}};
#define _OMC_LIT784 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT784)
#define _OMC_LIT785_data "), &"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT785,4,_OMC_LIT785_data);
#define _OMC_LIT785 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT785)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT786,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT785}};
#define _OMC_LIT786 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT786)
#define _OMC_LIT787_data "transpose_alloc_"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT787,16,_OMC_LIT787_data);
#define _OMC_LIT787 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT787)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT788,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT787}};
#define _OMC_LIT788 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT788)
#define _OMC_LIT789_data "symmetric_"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT789,10,_OMC_LIT789_data);
#define _OMC_LIT789 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT789)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT790,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT789}};
#define _OMC_LIT790 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT790)
#define _OMC_LIT791_data "skew_"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT791,5,_OMC_LIT791_data);
#define _OMC_LIT791 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT791)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT792,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT791}};
#define _OMC_LIT792 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT792)
#define _OMC_LIT793_data "cross_alloc_"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT793,12,_OMC_LIT793_data);
#define _OMC_LIT793 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT793)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT794,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT793}};
#define _OMC_LIT794 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT794)
#define _OMC_LIT795_data "identity_alloc_"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT795,15,_OMC_LIT795_data);
#define _OMC_LIT795 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT795)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT796,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT795}};
#define _OMC_LIT796 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT796)
#define _OMC_LIT797_data "diagonal_alloc_"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT797,15,_OMC_LIT797_data);
#define _OMC_LIT797 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT797)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT798,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT797}};
#define _OMC_LIT798 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT798)
#define _OMC_LIT799_data "modelica_string"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT799,15,_OMC_LIT799_data);
#define _OMC_LIT799 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT799)
#define _OMC_LIT800_data "_to_modelica_string_format("
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT800,27,_OMC_LIT800_data);
#define _OMC_LIT800 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT800)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT801,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT800}};
#define _OMC_LIT801 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT801)
#define _OMC_LIT802_data " = modelica_real_to_modelica_string("
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT802,36,_OMC_LIT802_data);
#define _OMC_LIT802 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT802)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT803,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT802}};
#define _OMC_LIT803 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT803)
#define _OMC_LIT804_data " = delayImpl(data, threadData, "
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT804,31,_OMC_LIT804_data);
#define _OMC_LIT804 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT804)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT805,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT804}};
#define _OMC_LIT805 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT805)
#define _OMC_LIT806_data ", data->localData[0]->timeValue, "
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT806,33,_OMC_LIT806_data);
#define _OMC_LIT806 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT806)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT807,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT806}};
#define _OMC_LIT807 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT807)
#define _OMC_LIT808_data "((modelica_integer)("
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT808,20,_OMC_LIT808_data);
#define _OMC_LIT808 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT808)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT809,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT808}};
#define _OMC_LIT809 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT809)
#define _OMC_LIT810_data "mmc_clock()"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT810,11,_OMC_LIT810_data);
#define _OMC_LIT810 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT810)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT811,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT810}};
#define _OMC_LIT811 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT811)
#define _OMC_LIT812_data "stateSelectionSet(data, threadData, 1, 1, "
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT812,42,_OMC_LIT812_data);
#define _OMC_LIT812 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT812)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT813,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT812}};
#define _OMC_LIT813 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT813)
#define _OMC_LIT814_data ", 0)"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT814,4,_OMC_LIT814_data);
#define _OMC_LIT814 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT814)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT815,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT814}};
#define _OMC_LIT815 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT815)
#define _OMC_LIT816_data "initialStateSelection(data, threadData, 1, 1, "
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT816,46,_OMC_LIT816_data);
#define _OMC_LIT816 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT816)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT817,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT816}};
#define _OMC_LIT817 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT817)
#define _OMC_LIT818_data "mmc_anyString("
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT818,14,_OMC_LIT818_data);
#define _OMC_LIT818 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT818)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT819,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT818}};
#define _OMC_LIT819 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT819)
#define _OMC_LIT820_data " = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR("
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT820,37,_OMC_LIT820_data);
#define _OMC_LIT820 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT820)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT821,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT820}};
#define _OMC_LIT821 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT821)
#define _OMC_LIT822_data "));"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT822,3,_OMC_LIT822_data);
#define _OMC_LIT822 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT822)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT823,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT822}};
#define _OMC_LIT823 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT823)
#define _OMC_LIT824_data "(~"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT824,2,_OMC_LIT824_data);
#define _OMC_LIT824 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT824)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT825,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT824}};
#define _OMC_LIT825 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT825)
#define _OMC_LIT826_data "/* Tail recursive call */\n"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT826,26,_OMC_LIT826_data);
#define _OMC_LIT826 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT826)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT827,2,5) {&Tpl_StringToken_ST__LINE__desc,_OMC_LIT826}};
#define _OMC_LIT827 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT827)
#define _OMC_LIT828_data "goto _tailrecursive;\n"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT828,21,_OMC_LIT828_data);
#define _OMC_LIT828 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT828)
#define _OMC_LIT829_data "/* TODO: Make sure any eventual dead code below is never generated */"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT829,69,_OMC_LIT829_data);
#define _OMC_LIT829 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT829)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT830,2,1) {_OMC_LIT829,MMC_REFSTRUCTLIT(mmc_nil)}};
#define _OMC_LIT830 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT830)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT831,2,1) {_OMC_LIT828,_OMC_LIT830}};
#define _OMC_LIT831 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT831)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT832,3,6) {&Tpl_StringToken_ST__STRING__LIST__desc,_OMC_LIT831,MMC_IMMEDIATE(MMC_TAGFIXNUM(0))}};
#define _OMC_LIT832 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT832)
#define _OMC_LIT833_data "smooth"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT833,6,_OMC_LIT833_data);
#define _OMC_LIT833 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT833)
#define _OMC_LIT834_data "der"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT834,3,_OMC_LIT834_data);
#define _OMC_LIT834 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT834)
#define _OMC_LIT835_data "pre"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT835,3,_OMC_LIT835_data);
#define _OMC_LIT835 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT835)
#define _OMC_LIT836_data "interval"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT836,8,_OMC_LIT836_data);
#define _OMC_LIT836 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT836)
#define _OMC_LIT837_data "previous"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT837,8,_OMC_LIT837_data);
#define _OMC_LIT837 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT837)
#define _OMC_LIT838_data "firstTick"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT838,9,_OMC_LIT838_data);
#define _OMC_LIT838 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT838)
#define _OMC_LIT839_data "$_clkfire"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT839,9,_OMC_LIT839_data);
#define _OMC_LIT839 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT839)
#define _OMC_LIT840_data "$_signNoNull"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT840,12,_OMC_LIT840_data);
#define _OMC_LIT840 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT840)
#define _OMC_LIT841_data "$_DF$DER"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT841,8,_OMC_LIT841_data);
#define _OMC_LIT841 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT841)
#define _OMC_LIT842_data "$_round"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT842,7,_OMC_LIT842_data);
#define _OMC_LIT842 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT842)
#define _OMC_LIT843_data "edge"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT843,4,_OMC_LIT843_data);
#define _OMC_LIT843 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT843)
#define _OMC_LIT844_data "change"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT844,6,_OMC_LIT844_data);
#define _OMC_LIT844 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT844)
#define _OMC_LIT845_data "cardinality"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT845,11,_OMC_LIT845_data);
#define _OMC_LIT845 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT845)
#define _OMC_LIT846_data "print"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT846,5,_OMC_LIT846_data);
#define _OMC_LIT846 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT846)
#define _OMC_LIT847_data "max"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT847,3,_OMC_LIT847_data);
#define _OMC_LIT847 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT847)
#define _OMC_LIT848_data "sum"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT848,3,_OMC_LIT848_data);
#define _OMC_LIT848 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT848)
#define _OMC_LIT849_data "product"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT849,7,_OMC_LIT849_data);
#define _OMC_LIT849 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT849)
#define _OMC_LIT850_data "min"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT850,3,_OMC_LIT850_data);
#define _OMC_LIT850 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT850)
#define _OMC_LIT851_data "abs"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT851,3,_OMC_LIT851_data);
#define _OMC_LIT851 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT851)
#define _OMC_LIT852_data "sqrt"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT852,4,_OMC_LIT852_data);
#define _OMC_LIT852 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT852)
#define _OMC_LIT853_data "log"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT853,3,_OMC_LIT853_data);
#define _OMC_LIT853 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT853)
#define _OMC_LIT854_data "log10"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT854,5,_OMC_LIT854_data);
#define _OMC_LIT854 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT854)
#define _OMC_LIT855_data "acos"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT855,4,_OMC_LIT855_data);
#define _OMC_LIT855 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT855)
#define _OMC_LIT856_data "asin"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT856,4,_OMC_LIT856_data);
#define _OMC_LIT856 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT856)
#define _OMC_LIT857_data "mod"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT857,3,_OMC_LIT857_data);
#define _OMC_LIT857 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT857)
#define _OMC_LIT858_data "div"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT858,3,_OMC_LIT858_data);
#define _OMC_LIT858 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT858)
#define _OMC_LIT859_data "floor"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT859,5,_OMC_LIT859_data);
#define _OMC_LIT859 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT859)
#define _OMC_LIT860_data "ceil"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT860,4,_OMC_LIT860_data);
#define _OMC_LIT860 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT860)
#define _OMC_LIT861_data "fill"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT861,4,_OMC_LIT861_data);
#define _OMC_LIT861 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT861)
#define _OMC_LIT862_data "vector"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT862,6,_OMC_LIT862_data);
#define _OMC_LIT862 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT862)
#define _OMC_LIT863_data "cat"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT863,3,_OMC_LIT863_data);
#define _OMC_LIT863 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT863)
#define _OMC_LIT864_data "promote"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT864,7,_OMC_LIT864_data);
#define _OMC_LIT864 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT864)
#define _OMC_LIT865_data "transpose"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT865,9,_OMC_LIT865_data);
#define _OMC_LIT865 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT865)
#define _OMC_LIT866_data "symmetric"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT866,9,_OMC_LIT866_data);
#define _OMC_LIT866 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT866)
#define _OMC_LIT867_data "skew"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT867,4,_OMC_LIT867_data);
#define _OMC_LIT867 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT867)
#define _OMC_LIT868_data "cross"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT868,5,_OMC_LIT868_data);
#define _OMC_LIT868 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT868)
#define _OMC_LIT869_data "identity"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT869,8,_OMC_LIT869_data);
#define _OMC_LIT869 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT869)
#define _OMC_LIT870_data "diagonal"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT870,8,_OMC_LIT870_data);
#define _OMC_LIT870 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT870)
#define _OMC_LIT871_data "String"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT871,6,_OMC_LIT871_data);
#define _OMC_LIT871 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT871)
#define _OMC_LIT872_data "delay"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT872,5,_OMC_LIT872_data);
#define _OMC_LIT872 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT872)
#define _OMC_LIT873_data "Integer"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT873,7,_OMC_LIT873_data);
#define _OMC_LIT873 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT873)
#define _OMC_LIT874_data "clock"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT874,5,_OMC_LIT874_data);
#define _OMC_LIT874 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT874)
#define _OMC_LIT875_data "noEvent"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT875,7,_OMC_LIT875_data);
#define _OMC_LIT875 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT875)
#define _OMC_LIT876_data "$getPart"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT876,8,_OMC_LIT876_data);
#define _OMC_LIT876 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT876)
#define _OMC_LIT877_data "$stateSelectionSet"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT877,18,_OMC_LIT877_data);
#define _OMC_LIT877 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT877)
#define _OMC_LIT878_data "$initialStateSelection"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT878,22,_OMC_LIT878_data);
#define _OMC_LIT878 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT878)
#define _OMC_LIT879_data "sample"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT879,6,_OMC_LIT879_data);
#define _OMC_LIT879 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT879)
#define _OMC_LIT880_data "anyString"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT880,9,_OMC_LIT880_data);
#define _OMC_LIT880 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT880)
#define _OMC_LIT881_data "fail"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT881,4,_OMC_LIT881_data);
#define _OMC_LIT881 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT881)
#define _OMC_LIT882_data "mmc_get_field"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT882,13,_OMC_LIT882_data);
#define _OMC_LIT882 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT882)
#define _OMC_LIT883_data "mmc_unbox_record"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT883,16,_OMC_LIT883_data);
#define _OMC_LIT883 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT883)
#define _OMC_LIT884_data "intBitNot"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT884,9,_OMC_LIT884_data);
#define _OMC_LIT884 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT884)
#define _OMC_LIT885_data "intBitAnd"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT885,9,_OMC_LIT885_data);
#define _OMC_LIT885 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT885)
#define _OMC_LIT886_data "intBitOr"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT886,8,_OMC_LIT886_data);
#define _OMC_LIT886 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT886)
#define _OMC_LIT887_data "intBitXor"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT887,9,_OMC_LIT887_data);
#define _OMC_LIT887 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT887)
#define _OMC_LIT888_data "intBitLShift"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT888,12,_OMC_LIT888_data);
#define _OMC_LIT888 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT888)
#define _OMC_LIT889_data "intBitRShift"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT889,12,_OMC_LIT889_data);
#define _OMC_LIT889 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT889)
#define _OMC_LIT890_data "SIM_PROF_TICK_FN("
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT890,17,_OMC_LIT890_data);
#define _OMC_LIT890 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT890)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT891,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT890}};
#define _OMC_LIT891 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT891)
#define _OMC_LIT892_data "_index);"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT892,8,_OMC_LIT892_data);
#define _OMC_LIT892 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT892)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT893,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT892}};
#define _OMC_LIT893 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT893)
#define _OMC_LIT894_data "SIM_PROF_ACC_FN("
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT894,16,_OMC_LIT894_data);
#define _OMC_LIT894 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT894)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT895,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT894}};
#define _OMC_LIT895 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT895)
#define _OMC_LIT896_data "|"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT896,1,_OMC_LIT896_data);
#define _OMC_LIT896 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT896)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT897,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT896}};
#define _OMC_LIT897 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT897)
#define _OMC_LIT898_data "^"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT898,1,_OMC_LIT898_data);
#define _OMC_LIT898 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT898)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT899,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT898}};
#define _OMC_LIT899 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT899)
#define _OMC_LIT900_data "<<"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT900,2,_OMC_LIT900_data);
#define _OMC_LIT900 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT900)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT901,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT900}};
#define _OMC_LIT901 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT901)
#define _OMC_LIT902_data ">>"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT902,2,_OMC_LIT902_data);
#define _OMC_LIT902 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT902)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT903,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT902}};
#define _OMC_LIT903 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT903)
#define _OMC_LIT904_data "omsi_on_sample_event(this_function, "
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT904,36,_OMC_LIT904_data);
#define _OMC_LIT904 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT904)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT905,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT904}};
#define _OMC_LIT905 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT905)
#define _OMC_LIT906_data ", omsic_get_model_state())"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT906,26,_OMC_LIT906_data);
#define _OMC_LIT906 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT906)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT907,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT906}};
#define _OMC_LIT907 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT907)
#define _OMC_LIT908_data "data->simulationInfo->samples["
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT908,30,_OMC_LIT908_data);
#define _OMC_LIT908 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT908)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT909,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT908}};
#define _OMC_LIT909 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT909)
#define _OMC_LIT910_data "_to_modelica_string("
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT910,20,_OMC_LIT910_data);
#define _OMC_LIT910 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT910)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT911,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT910}};
#define _OMC_LIT911 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT911)
#define _OMC_LIT912_data ", 6);"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT912,5,_OMC_LIT912_data);
#define _OMC_LIT912 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT912)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT913,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT912}};
#define _OMC_LIT913 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT913)
#define _OMC_LIT914_data "enum"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT914,4,_OMC_LIT914_data);
#define _OMC_LIT914 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT914)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT915,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT914}};
#define _OMC_LIT915 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT915)
#define _OMC_LIT916_data "const char*"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT916,11,_OMC_LIT916_data);
#define _OMC_LIT916 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT916)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT917,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT231}};
#define _OMC_LIT917 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT917)
#define _OMC_LIT918_data "if (size_of_dimension_base_array("
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT918,33,_OMC_LIT918_data);
#define _OMC_LIT918 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT918)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT919,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT918}};
#define _OMC_LIT919 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT919)
#define _OMC_LIT920_data ")>1) "
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT920,5,_OMC_LIT920_data);
#define _OMC_LIT920 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT920)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT921,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT920}};
#define _OMC_LIT921 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT921)
#define _OMC_LIT922_data "++;"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT922,3,_OMC_LIT922_data);
#define _OMC_LIT922 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT922)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT923,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT922}};
#define _OMC_LIT923 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT923)
#define _OMC_LIT924_data " == 0.0) {throwStreamPrint(threadData, \"Division by zero %s\", \""
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT924,63,_OMC_LIT924_data);
#define _OMC_LIT924 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT924)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT925,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT924}};
#define _OMC_LIT925 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT925)
#define _OMC_LIT926_data "\");}"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT926,4,_OMC_LIT926_data);
#define _OMC_LIT926 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT926)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT927,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT926}};
#define _OMC_LIT927 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT927)
#define _OMC_LIT928_data " == 0.0) {"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT928,10,_OMC_LIT928_data);
#define _OMC_LIT928 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT928)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT929,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT928}};
#define _OMC_LIT929 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT929)
#define _OMC_LIT930_data ";}"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT930,2,_OMC_LIT930_data);
#define _OMC_LIT930 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT930)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT931,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT930}};
#define _OMC_LIT931 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT931)
#define _OMC_LIT932_data "ldiv("
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT932,5,_OMC_LIT932_data);
#define _OMC_LIT932 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT932)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT933,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT932}};
#define _OMC_LIT933 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT933)
#define _OMC_LIT934_data ").quot"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT934,6,_OMC_LIT934_data);
#define _OMC_LIT934 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT934)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT935,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT934}};
#define _OMC_LIT935 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT935)
#define _OMC_LIT936_data "(modelica_integer)(("
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT936,20,_OMC_LIT936_data);
#define _OMC_LIT936 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT936)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT937,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT936}};
#define _OMC_LIT937 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT937)
#define _OMC_LIT938_data ") / "
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT938,4,_OMC_LIT938_data);
#define _OMC_LIT938 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT938)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT939,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT938}};
#define _OMC_LIT939 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT939)
#define _OMC_LIT940_data " == 0) {throwStreamPrint(threadData, \"Division by zero %s\", \""
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT940,61,_OMC_LIT940_data);
#define _OMC_LIT940 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT940)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT941,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT940}};
#define _OMC_LIT941 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT941)
#define _OMC_LIT942_data " == 0) {"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT942,8,_OMC_LIT942_data);
#define _OMC_LIT942 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT942)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT943,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT942}};
#define _OMC_LIT943 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT943)
#define _OMC_LIT944_data " >= 0.0"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT944,7,_OMC_LIT944_data);
#define _OMC_LIT944 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT944)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT945,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT944}};
#define _OMC_LIT945 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT945)
#define _OMC_LIT946_data "\"Model error: Argument of sqrt("
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT946,31,_OMC_LIT946_data);
#define _OMC_LIT946 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT946)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT947,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT946}};
#define _OMC_LIT947 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT947)
#define _OMC_LIT948_data ") was %g should be >= 0\", "
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT948,26,_OMC_LIT948_data);
#define _OMC_LIT948 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT948)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT949,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT948}};
#define _OMC_LIT949 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT949)
#define _OMC_LIT950_data "sqrt("
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT950,5,_OMC_LIT950_data);
#define _OMC_LIT950 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT950)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT951,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT950}};
#define _OMC_LIT951 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT951)
#define _OMC_LIT952_data "closure"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT952,7,_OMC_LIT952_data);
#define _OMC_LIT952 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT952)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT953,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT952}};
#define _OMC_LIT953 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT953)
#define _OMC_LIT954_data " = mmc_mk_box"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT954,13,_OMC_LIT954_data);
#define _OMC_LIT954 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT954)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT955,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT954}};
#define _OMC_LIT955 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT955)
#define _OMC_LIT956_data "0"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT956,1,_OMC_LIT956_data);
#define _OMC_LIT956 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT956)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT957,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT956}};
#define _OMC_LIT957 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT957)
#define _OMC_LIT958_data "static "
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT958,7,_OMC_LIT958_data);
#define _OMC_LIT958 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT958)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT959,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT958}};
#define _OMC_LIT959 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT959)
#define _OMC_LIT960_data "(threadData_t *thData, modelica_metatype closure"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT960,48,_OMC_LIT960_data);
#define _OMC_LIT960 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT960)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT961,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT960}};
#define _OMC_LIT961 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT961)
#define _OMC_LIT962_data "(modelica_fnptr) mmc_mk_box2(0,"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT962,31,_OMC_LIT962_data);
#define _OMC_LIT962 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT962)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT963,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT962}};
#define _OMC_LIT963 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT963)
#define _OMC_LIT964_data "PARTEVALFUNCTION: "
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT964,18,_OMC_LIT964_data);
#define _OMC_LIT964 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT964)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT965,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT964}};
#define _OMC_LIT965 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT965)
#define _OMC_LIT966_data ", ty="
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT966,5,_OMC_LIT966_data);
#define _OMC_LIT966 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT966)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT967,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT966}};
#define _OMC_LIT967 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT967)
#define _OMC_LIT968_data ", origType="
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT968,11,_OMC_LIT968_data);
#define _OMC_LIT968 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT968)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT969,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT968}};
#define _OMC_LIT969 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT969)
#define _OMC_LIT970_data "boxptr_"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT970,7,_OMC_LIT970_data);
#define _OMC_LIT970 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT970)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT971,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT970}};
#define _OMC_LIT971 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT971)
#define _OMC_LIT972_data "(thData"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT972,7,_OMC_LIT972_data);
#define _OMC_LIT972 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT972)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT973,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT972}};
#define _OMC_LIT973 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT973)
#define _OMC_LIT974_data "modelica_fnptr "
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT974,15,_OMC_LIT974_data);
#define _OMC_LIT974 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT974)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT975,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT974}};
#define _OMC_LIT975 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT975)
#define _OMC_LIT976_data " = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(closure),"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT976,46,_OMC_LIT976_data);
#define _OMC_LIT976 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT976)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT977,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT976}};
#define _OMC_LIT977 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT977)
#define _OMC_LIT978_data "if (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR("
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT978,38,_OMC_LIT978_data);
#define _OMC_LIT978 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT978)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT979,2,1) {_OMC_LIT978,MMC_REFSTRUCTLIT(mmc_nil)}};
#define _OMC_LIT979 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT979)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT980,2,1) {_OMC_LIT592,_OMC_LIT979}};
#define _OMC_LIT980 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT980)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT981,3,6) {&Tpl_StringToken_ST__STRING__LIST__desc,_OMC_LIT980,MMC_IMMEDIATE(MMC_TAGFIXNUM(0))}};
#define _OMC_LIT981 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT981)
#define _OMC_LIT982_data "),2))) {\n"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT982,9,_OMC_LIT982_data);
#define _OMC_LIT982 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT982)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT983,2,5) {&Tpl_StringToken_ST__LINE__desc,_OMC_LIT982}};
#define _OMC_LIT983 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT983)
#define _OMC_LIT984_data ") (thData, MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR("
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT984,45,_OMC_LIT984_data);
#define _OMC_LIT984 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT984)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT985,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT984}};
#define _OMC_LIT985 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT985)
#define _OMC_LIT986_data "),2))"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT986,5,_OMC_LIT986_data);
#define _OMC_LIT986 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT986)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT987,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT986}};
#define _OMC_LIT987 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT987)
#define _OMC_LIT988_data "} else { /* No closure in the called variable */\n"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT988,49,_OMC_LIT988_data);
#define _OMC_LIT988 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT988)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT989,2,5) {&Tpl_StringToken_ST__LINE__desc,_OMC_LIT988}};
#define _OMC_LIT989 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT989)
#define _OMC_LIT990_data ") (thData"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT990,9,_OMC_LIT990_data);
#define _OMC_LIT990 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT990)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT991,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT990}};
#define _OMC_LIT991 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT991)
#define _OMC_LIT992_data ", _"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT992,3,_OMC_LIT992_data);
#define _OMC_LIT992 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT992)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT993,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT992}};
#define _OMC_LIT993 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT993)
#define _OMC_LIT994_data "return "
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT994,7,_OMC_LIT994_data);
#define _OMC_LIT994 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT994)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT995,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT994}};
#define _OMC_LIT995 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT995)
#define _OMC_LIT996_data ".c"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT996,2,_OMC_LIT996_data);
#define _OMC_LIT996 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT996)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT997,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT996}};
#define _OMC_LIT997 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT997)
#define _OMC_LIT998_data " = (modelica_boolean)"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT998,21,_OMC_LIT998_data);
#define _OMC_LIT998 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT998)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT999,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT998}};
#define _OMC_LIT999 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT999)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1000,2,1) {_OMC_LIT345,MMC_REFSTRUCTLIT(mmc_nil)}};
#define _OMC_LIT1000 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1000)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1001,2,1) {_OMC_LIT160,_OMC_LIT1000}};
#define _OMC_LIT1001 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1001)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1002,3,6) {&Tpl_StringToken_ST__STRING__LIST__desc,_OMC_LIT1001,MMC_IMMEDIATE(MMC_TAGFIXNUM(0))}};
#define _OMC_LIT1002 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1002)
#define _OMC_LIT1003_data "?"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1003,1,_OMC_LIT1003_data);
#define _OMC_LIT1003 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1003)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1004,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT1003}};
#define _OMC_LIT1004 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1004)
#define _OMC_LIT1005_data ":"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1005,1,_OMC_LIT1005_data);
#define _OMC_LIT1005 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1005)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1006,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT1005}};
#define _OMC_LIT1006 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1006)
#define _OMC_LIT1007_data "x"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1007,1,_OMC_LIT1007_data);
#define _OMC_LIT1007 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1007)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1008,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT1007}};
#define _OMC_LIT1008 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1008)
#define _OMC_LIT1009_data "omsi_bool"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1009,9,_OMC_LIT1009_data);
#define _OMC_LIT1009 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1009)
#define _OMC_LIT1010_data " = Less("
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1010,8,_OMC_LIT1010_data);
#define _OMC_LIT1010 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1010)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1011,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT1010}};
#define _OMC_LIT1011 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1011)
#define _OMC_LIT1012_data " = LessEq("
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1012,10,_OMC_LIT1012_data);
#define _OMC_LIT1012 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1012)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1013,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT1012}};
#define _OMC_LIT1013 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1013)
#define _OMC_LIT1014_data " = Greater("
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1014,11,_OMC_LIT1014_data);
#define _OMC_LIT1014 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1014)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1015,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT1014}};
#define _OMC_LIT1015 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1015)
#define _OMC_LIT1016_data " = GreaterEq("
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1016,13,_OMC_LIT1016_data);
#define _OMC_LIT1016 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1016)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1017,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT1016}};
#define _OMC_LIT1017 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1017)
#define _OMC_LIT1018_data "GreaterEq("
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1018,10,_OMC_LIT1018_data);
#define _OMC_LIT1018 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1018)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1019,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT1018}};
#define _OMC_LIT1019 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1019)
#define _OMC_LIT1020_data "GreaterEqZC("
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1020,12,_OMC_LIT1020_data);
#define _OMC_LIT1020 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1020)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1021,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT1020}};
#define _OMC_LIT1021 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1021)
#define _OMC_LIT1022_data ", data->simulationInfo->storedRelations["
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1022,40,_OMC_LIT1022_data);
#define _OMC_LIT1022 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1022)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1023,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT1022}};
#define _OMC_LIT1023 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1023)
#define _OMC_LIT1024_data "])"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1024,2,_OMC_LIT1024_data);
#define _OMC_LIT1024 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1024)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1025,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT1024}};
#define _OMC_LIT1025 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1025)
#define _OMC_LIT1026_data "Greater("
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1026,8,_OMC_LIT1026_data);
#define _OMC_LIT1026 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1026)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1027,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT1026}};
#define _OMC_LIT1027 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1027)
#define _OMC_LIT1028_data "GreaterZC("
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1028,10,_OMC_LIT1028_data);
#define _OMC_LIT1028 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1028)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1029,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT1028}};
#define _OMC_LIT1029 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1029)
#define _OMC_LIT1030_data "LessEq("
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1030,7,_OMC_LIT1030_data);
#define _OMC_LIT1030 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1030)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1031,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT1030}};
#define _OMC_LIT1031 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1031)
#define _OMC_LIT1032_data "LessEqZC("
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1032,9,_OMC_LIT1032_data);
#define _OMC_LIT1032 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1032)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1033,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT1032}};
#define _OMC_LIT1033 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1033)
#define _OMC_LIT1034_data "Less("
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1034,5,_OMC_LIT1034_data);
#define _OMC_LIT1034 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1034)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1035,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT1034}};
#define _OMC_LIT1035 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1035)
#define _OMC_LIT1036_data "LessZC("
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1036,7,_OMC_LIT1036_data);
#define _OMC_LIT1036 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1036)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1037,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT1036}};
#define _OMC_LIT1037 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1037)
#define _OMC_LIT1038_data "true"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1038,4,_OMC_LIT1038_data);
#define _OMC_LIT1038 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1038)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1039,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT1038}};
#define _OMC_LIT1039 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1039)
#define _OMC_LIT1040_data " + ("
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1040,4,_OMC_LIT1040_data);
#define _OMC_LIT1040 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1040)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1041,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT1040}};
#define _OMC_LIT1041 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1041)
#define _OMC_LIT1042_data ", Less);"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1042,8,_OMC_LIT1042_data);
#define _OMC_LIT1042 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1042)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1043,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT1042}};
#define _OMC_LIT1043 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1043)
#define _OMC_LIT1044_data ", LessEq);"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1044,10,_OMC_LIT1044_data);
#define _OMC_LIT1044 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1044)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1045,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT1044}};
#define _OMC_LIT1045 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1045)
#define _OMC_LIT1046_data ", Greater);"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1046,11,_OMC_LIT1046_data);
#define _OMC_LIT1046 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1046)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1047,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT1046}};
#define _OMC_LIT1047 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1047)
#define _OMC_LIT1048_data ", GreaterEq);"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1048,13,_OMC_LIT1048_data);
#define _OMC_LIT1048 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1048)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1049,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT1048}};
#define _OMC_LIT1049 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1049)
#define _OMC_LIT1050_data "RELATION"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1050,8,_OMC_LIT1050_data);
#define _OMC_LIT1050 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1050)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1051,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT1050}};
#define _OMC_LIT1051 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1051)
#define _OMC_LIT1052_data "RELATIONHYSTERESIS"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1052,18,_OMC_LIT1052_data);
#define _OMC_LIT1052 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1052)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1053,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT1052}};
#define _OMC_LIT1053 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1053)
#define _OMC_LIT1054_data "omsi_function_zero_crossings(this_function, "
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1054,44,_OMC_LIT1054_data);
#define _OMC_LIT1054 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1054)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1055,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT1054}};
#define _OMC_LIT1055 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1055)
#define _OMC_LIT1056_data "(stringCompare("
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1056,15,_OMC_LIT1056_data);
#define _OMC_LIT1056 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1056)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1057,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT1056}};
#define _OMC_LIT1057 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1057)
#define _OMC_LIT1058_data ") < 0)"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1058,6,_OMC_LIT1058_data);
#define _OMC_LIT1058 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1058)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1059,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT1058}};
#define _OMC_LIT1059 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1059)
#define _OMC_LIT1060_data ") > 0)"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1060,6,_OMC_LIT1060_data);
#define _OMC_LIT1060 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1060)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1061,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT1060}};
#define _OMC_LIT1061 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1061)
#define _OMC_LIT1062_data " || "
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1062,4,_OMC_LIT1062_data);
#define _OMC_LIT1062 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1062)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1063,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT1062}};
#define _OMC_LIT1063 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1063)
#define _OMC_LIT1064_data ") <= 0)"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1064,7,_OMC_LIT1064_data);
#define _OMC_LIT1064 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1064)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1065,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT1064}};
#define _OMC_LIT1065 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1065)
#define _OMC_LIT1066_data " || !"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1066,5,_OMC_LIT1066_data);
#define _OMC_LIT1066 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1066)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1067,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT1066}};
#define _OMC_LIT1067 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1067)
#define _OMC_LIT1068_data ") >= 0)"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1068,7,_OMC_LIT1068_data);
#define _OMC_LIT1068 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1068)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1069,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT1068}};
#define _OMC_LIT1069 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1069)
#define _OMC_LIT1070_data "((!"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1070,3,_OMC_LIT1070_data);
#define _OMC_LIT1070 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1070)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1071,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT1070}};
#define _OMC_LIT1071 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1071)
#define _OMC_LIT1072_data ") || ("
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1072,6,_OMC_LIT1072_data);
#define _OMC_LIT1072 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1072)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1073,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT1072}};
#define _OMC_LIT1073 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1073)
#define _OMC_LIT1074_data "(stringEqual("
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1074,13,_OMC_LIT1074_data);
#define _OMC_LIT1074 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1074)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1075,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT1074}};
#define _OMC_LIT1075 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1075)
#define _OMC_LIT1076_data "(!stringEqual("
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1076,14,_OMC_LIT1076_data);
#define _OMC_LIT1076 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1076)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1077,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT1076}};
#define _OMC_LIT1077 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1077)
#define _OMC_LIT1078_data "daeExpRelation "
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1078,15,_OMC_LIT1078_data);
#define _OMC_LIT1078 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1078)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1079,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT1078}};
#define _OMC_LIT1079 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1079)
#define _OMC_LIT1080_data "boolean_array"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1080,13,_OMC_LIT1080_data);
#define _OMC_LIT1080 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1080)
#define _OMC_LIT1081_data "not_boolean_array("
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1081,18,_OMC_LIT1081_data);
#define _OMC_LIT1081 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1081)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1082,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT1081}};
#define _OMC_LIT1082 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1082)
#define _OMC_LIT1083_data ",&"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1083,2,_OMC_LIT1083_data);
#define _OMC_LIT1083 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1083)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1084,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT1083}};
#define _OMC_LIT1084 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1084)
#define _OMC_LIT1085_data "and_boolean_array(&"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1085,19,_OMC_LIT1085_data);
#define _OMC_LIT1085 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1085)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1086,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT1085}};
#define _OMC_LIT1086 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1086)
#define _OMC_LIT1087_data "or_boolean_array(&"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1087,18,_OMC_LIT1087_data);
#define _OMC_LIT1087 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1087)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1088,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT1087}};
#define _OMC_LIT1088 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1088)
#define _OMC_LIT1089_data "daeExpLbinary:ERR"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1089,17,_OMC_LIT1089_data);
#define _OMC_LIT1089 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1089)
#define _OMC_LIT1090_data "real_array"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1090,10,_OMC_LIT1090_data);
#define _OMC_LIT1090 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1090)
#define _OMC_LIT1091_data "usub_alloc_real_array("
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1091,22,_OMC_LIT1091_data);
#define _OMC_LIT1091 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1091)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1092,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT1091}};
#define _OMC_LIT1092 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1092)
#define _OMC_LIT1093_data "usub_alloc_integer_array("
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1093,25,_OMC_LIT1093_data);
#define _OMC_LIT1093 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1093)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1094,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT1093}};
#define _OMC_LIT1094 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1094)
#define _OMC_LIT1095_data "unary minus for non-real arrays not implemented"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1095,47,_OMC_LIT1095_data);
#define _OMC_LIT1095 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1095)
#define _OMC_LIT1096_data "daeExpUnary:ERR"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1096,15,_OMC_LIT1096_data);
#define _OMC_LIT1096 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1096)
#define _OMC_LIT1097_data "(-("
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1097,3,_OMC_LIT1097_data);
#define _OMC_LIT1097 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1097)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1098,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT1097}};
#define _OMC_LIT1098 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1098)
#define _OMC_LIT1099_data "(-"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1099,2,_OMC_LIT1099_data);
#define _OMC_LIT1099 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1099)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1100,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT1099}};
#define _OMC_LIT1100 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1100)
#define _OMC_LIT1101_data " = stringAppend("
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1101,16,_OMC_LIT1101_data);
#define _OMC_LIT1101 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1101)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1102,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT1101}};
#define _OMC_LIT1102 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1102)
#define _OMC_LIT1103_data ") * ("
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1103,5,_OMC_LIT1103_data);
#define _OMC_LIT1103 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1103)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1104,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT1103}};
#define _OMC_LIT1104 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1104)
#define _OMC_LIT1105_data "add_alloc_"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1105,10,_OMC_LIT1105_data);
#define _OMC_LIT1105 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1105)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1106,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT1105}};
#define _OMC_LIT1106 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1106)
#define _OMC_LIT1107_data "sub_alloc_"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1107,10,_OMC_LIT1107_data);
#define _OMC_LIT1107 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1107)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1108,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT1107}};
#define _OMC_LIT1108 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1108)
#define _OMC_LIT1109_data "mul_alloc_"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1109,10,_OMC_LIT1109_data);
#define _OMC_LIT1109 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1109)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1110,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT1109}};
#define _OMC_LIT1110 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1110)
#define _OMC_LIT1111_data "div_alloc_"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1111,10,_OMC_LIT1111_data);
#define _OMC_LIT1111 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1111)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1112,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT1111}};
#define _OMC_LIT1112 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1112)
#define _OMC_LIT1113_data "sub_alloc_scalar_"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1113,17,_OMC_LIT1113_data);
#define _OMC_LIT1113 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1113)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1114,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT1113}};
#define _OMC_LIT1114 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1114)
#define _OMC_LIT1115_data "mul_"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1115,4,_OMC_LIT1115_data);
#define _OMC_LIT1115 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1115)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1116,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT1115}};
#define _OMC_LIT1116 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1116)
#define _OMC_LIT1117_data "_product("
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1117,9,_OMC_LIT1117_data);
#define _OMC_LIT1117 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1117)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1118,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT1117}};
#define _OMC_LIT1118 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1118)
#define _OMC_LIT1119_data "_array"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1119,6,_OMC_LIT1119_data);
#define _OMC_LIT1119 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1119)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1120,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT1119}};
#define _OMC_LIT1120 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1120)
#define _OMC_LIT1121_data "_matrix_product_smart("
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1121,22,_OMC_LIT1121_data);
#define _OMC_LIT1121 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1121)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1122,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT1121}};
#define _OMC_LIT1122 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1122)
#define _OMC_LIT1123_data "div_alloc_scalar_"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1123,17,_OMC_LIT1123_data);
#define _OMC_LIT1123 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1123)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1124,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT1123}};
#define _OMC_LIT1124 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1124)
#define _OMC_LIT1125_data "pow_alloc_"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1125,10,_OMC_LIT1125_data);
#define _OMC_LIT1125 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1125)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1126,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT1125}};
#define _OMC_LIT1126 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1126)
#define _OMC_LIT1127_data "_scalar("
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1127,8,_OMC_LIT1127_data);
#define _OMC_LIT1127 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1127)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1128,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT1127}};
#define _OMC_LIT1128 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1128)
#define _OMC_LIT1129_data "daeExpBinary:ERR for POW_ARRAY_SCALAR"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1129,37,_OMC_LIT1129_data);
#define _OMC_LIT1129 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1129)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1130,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT1129}};
#define _OMC_LIT1130 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1130)
#define _OMC_LIT1131_data "daeExpBinary:ERR for POW_SCALAR_ARRAY"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1131,37,_OMC_LIT1131_data);
#define _OMC_LIT1131 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1131)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1132,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT1131}};
#define _OMC_LIT1132 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1132)
#define _OMC_LIT1133_data "daeExpBinary:ERR for POW_ARR"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1133,28,_OMC_LIT1133_data);
#define _OMC_LIT1133 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1133)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1134,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT1133}};
#define _OMC_LIT1134 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1134)
#define _OMC_LIT1135_data "daeExpBinary:ERR for POW_ARR2"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1135,29,_OMC_LIT1135_data);
#define _OMC_LIT1135 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1135)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1136,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT1135}};
#define _OMC_LIT1136 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1136)
#define _OMC_LIT1137_data "daeExpBinary:ERR"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1137,16,_OMC_LIT1137_data);
#define _OMC_LIT1137 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1137)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1138,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT452}};
#define _OMC_LIT1138 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1138)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1139,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT1090}};
#define _OMC_LIT1139 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1139)
#define _OMC_LIT1140_data "division_alloc_"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1140,15,_OMC_LIT1140_data);
#define _OMC_LIT1140 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1140)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1141,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT1140}};
#define _OMC_LIT1141 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1141)
#define _OMC_LIT1142_data "_scalar(threadData,"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1142,19,_OMC_LIT1142_data);
#define _OMC_LIT1142 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1142)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1143,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT1142}};
#define _OMC_LIT1143 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1143)
#define _OMC_LIT1144_data ",\""
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1144,2,_OMC_LIT1144_data);
#define _OMC_LIT1144 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1144)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1145,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT1144}};
#define _OMC_LIT1145 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1145)
#define _OMC_LIT1146_data "\")"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1146,2,_OMC_LIT1146_data);
#define _OMC_LIT1146 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1146)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1147,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT1146}};
#define _OMC_LIT1147 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1147)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1148,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT566}};
#define _OMC_LIT1148 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1148)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1149,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT565}};
#define _OMC_LIT1149 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1149)
#define _OMC_LIT1150_data "integer_scalar"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1150,14,_OMC_LIT1150_data);
#define _OMC_LIT1150 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1150)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1151,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT1150}};
#define _OMC_LIT1151 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1151)
#define _OMC_LIT1152_data "real_scalar"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1152,11,_OMC_LIT1152_data);
#define _OMC_LIT1152 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1152)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1153,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT1152}};
#define _OMC_LIT1153 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1153)
#define _OMC_LIT1154_data " * "
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1154,3,_OMC_LIT1154_data);
#define _OMC_LIT1154 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1154)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1155,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT1154}};
#define _OMC_LIT1155 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1155)
#define _OMC_LIT1156_data " *= "
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1156,4,_OMC_LIT1156_data);
#define _OMC_LIT1156 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1156)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1157,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT1156}};
#define _OMC_LIT1157 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1157)
#define _OMC_LIT1158_data "real_int_pow(threadData, "
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1158,25,_OMC_LIT1158_data);
#define _OMC_LIT1158 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1158)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1159,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT1158}};
#define _OMC_LIT1159 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1159)
#define _OMC_LIT1160_data " < 0.0 && "
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1160,10,_OMC_LIT1160_data);
#define _OMC_LIT1160 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1160)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1161,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT1160}};
#define _OMC_LIT1161 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1161)
#define _OMC_LIT1162_data " != 0.0)\n"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1162,9,_OMC_LIT1162_data);
#define _OMC_LIT1162 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1162)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1163,2,1) {_OMC_LIT1162,_OMC_LIT426}};
#define _OMC_LIT1163 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1163)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1164,3,6) {&Tpl_StringToken_ST__STRING__LIST__desc,_OMC_LIT1163,MMC_IMMEDIATE(MMC_TAGFIXNUM(1))}};
#define _OMC_LIT1164 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1164)
#define _OMC_LIT1165_data " = modf("
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1165,8,_OMC_LIT1165_data);
#define _OMC_LIT1165 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1165)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1166,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT1165}};
#define _OMC_LIT1166 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1166)
#define _OMC_LIT1167_data "\n"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1167,1,_OMC_LIT1167_data);
#define _OMC_LIT1167 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1167)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1168,2,1) {_OMC_LIT1167,_OMC_LIT1000}};
#define _OMC_LIT1168 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1168)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1169,2,1) {_OMC_LIT374,_OMC_LIT1168}};
#define _OMC_LIT1169 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1169)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1170,3,6) {&Tpl_StringToken_ST__STRING__LIST__desc,_OMC_LIT1169,MMC_IMMEDIATE(MMC_TAGFIXNUM(0))}};
#define _OMC_LIT1170 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1170)
#define _OMC_LIT1171_data " > 0.5)\n"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1171,8,_OMC_LIT1171_data);
#define _OMC_LIT1171 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1171)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1172,2,1) {_OMC_LIT1171,_OMC_LIT426}};
#define _OMC_LIT1172 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1172)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1173,3,6) {&Tpl_StringToken_ST__STRING__LIST__desc,_OMC_LIT1172,MMC_IMMEDIATE(MMC_TAGFIXNUM(1))}};
#define _OMC_LIT1173 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1173)
#define _OMC_LIT1174_data " -= 1.0;\n"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1174,9,_OMC_LIT1174_data);
#define _OMC_LIT1174 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1174)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1175,2,5) {&Tpl_StringToken_ST__LINE__desc,_OMC_LIT1174}};
#define _OMC_LIT1175 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1175)
#define _OMC_LIT1176_data " += 1.0;\n"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1176,9,_OMC_LIT1176_data);
#define _OMC_LIT1176 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1176)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1177,2,5) {&Tpl_StringToken_ST__LINE__desc,_OMC_LIT1176}};
#define _OMC_LIT1177 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1177)
#define _OMC_LIT1178_data "else if("
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1178,8,_OMC_LIT1178_data);
#define _OMC_LIT1178 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1178)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1179,2,1) {_OMC_LIT1178,MMC_REFSTRUCTLIT(mmc_nil)}};
#define _OMC_LIT1179 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1179)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1180,2,1) {_OMC_LIT151,_OMC_LIT1179}};
#define _OMC_LIT1180 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1180)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1181,3,6) {&Tpl_StringToken_ST__STRING__LIST__desc,_OMC_LIT1180,MMC_IMMEDIATE(MMC_TAGFIXNUM(0))}};
#define _OMC_LIT1181 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1181)
#define _OMC_LIT1182_data " < -0.5)\n"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1182,9,_OMC_LIT1182_data);
#define _OMC_LIT1182 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1182)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1183,2,1) {_OMC_LIT1182,_OMC_LIT426}};
#define _OMC_LIT1183 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1183)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1184,3,6) {&Tpl_StringToken_ST__STRING__LIST__desc,_OMC_LIT1183,MMC_IMMEDIATE(MMC_TAGFIXNUM(1))}};
#define _OMC_LIT1184 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1184)
#define _OMC_LIT1185_data "if(fabs("
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1185,8,_OMC_LIT1185_data);
#define _OMC_LIT1185 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1185)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1186,2,1) {_OMC_LIT1185,MMC_REFSTRUCTLIT(mmc_nil)}};
#define _OMC_LIT1186 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1186)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1187,2,1) {_OMC_LIT1167,_OMC_LIT1186}};
#define _OMC_LIT1187 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1187)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1188,2,1) {_OMC_LIT151,_OMC_LIT1187}};
#define _OMC_LIT1188 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1188)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1189,3,6) {&Tpl_StringToken_ST__STRING__LIST__desc,_OMC_LIT1188,MMC_IMMEDIATE(MMC_TAGFIXNUM(0))}};
#define _OMC_LIT1189 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1189)
#define _OMC_LIT1190_data ") < 1e-10)\n"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1190,11,_OMC_LIT1190_data);
#define _OMC_LIT1190 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1190)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1191,2,5) {&Tpl_StringToken_ST__LINE__desc,_OMC_LIT1190}};
#define _OMC_LIT1191 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1191)
#define _OMC_LIT1192_data " = pow("
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1192,7,_OMC_LIT1192_data);
#define _OMC_LIT1192 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1192)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1193,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT1192}};
#define _OMC_LIT1193 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1193)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1194,3,6) {&Tpl_StringToken_ST__STRING__LIST__desc,_OMC_LIT430,MMC_IMMEDIATE(MMC_TAGFIXNUM(1))}};
#define _OMC_LIT1194 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1194)
#define _OMC_LIT1195_data " = modf(1.0/"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1195,12,_OMC_LIT1195_data);
#define _OMC_LIT1195 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1195)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1196,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT1195}};
#define _OMC_LIT1196 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1196)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1197,2,1) {_OMC_LIT374,_OMC_LIT1000}};
#define _OMC_LIT1197 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1197)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1198,3,6) {&Tpl_StringToken_ST__STRING__LIST__desc,_OMC_LIT1197,MMC_IMMEDIATE(MMC_TAGFIXNUM(0))}};
#define _OMC_LIT1198 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1198)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1199,2,1) {_OMC_LIT151,_OMC_LIT1186}};
#define _OMC_LIT1199 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1199)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1200,3,6) {&Tpl_StringToken_ST__STRING__LIST__desc,_OMC_LIT1199,MMC_IMMEDIATE(MMC_TAGFIXNUM(0))}};
#define _OMC_LIT1200 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1200)
#define _OMC_LIT1201_data ") < 1e-10 && ((unsigned long)"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1201,29,_OMC_LIT1201_data);
#define _OMC_LIT1201 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1201)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1202,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT1201}};
#define _OMC_LIT1202 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1202)
#define _OMC_LIT1203_data " & 1))\n"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1203,7,_OMC_LIT1203_data);
#define _OMC_LIT1203 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1203)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1204,2,1) {_OMC_LIT1203,_OMC_LIT426}};
#define _OMC_LIT1204 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1204)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1205,3,6) {&Tpl_StringToken_ST__STRING__LIST__desc,_OMC_LIT1204,MMC_IMMEDIATE(MMC_TAGFIXNUM(1))}};
#define _OMC_LIT1205 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1205)
#define _OMC_LIT1206_data " = -pow(-"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1206,9,_OMC_LIT1206_data);
#define _OMC_LIT1206 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1206)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1207,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT1206}};
#define _OMC_LIT1207 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1207)
#define _OMC_LIT1208_data ")*pow("
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1208,6,_OMC_LIT1208_data);
#define _OMC_LIT1208 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1208)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1209,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT1208}};
#define _OMC_LIT1209 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1209)
#define _OMC_LIT1210_data "if(isnan("
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1210,9,_OMC_LIT1210_data);
#define _OMC_LIT1210 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1210)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1211,2,1) {_OMC_LIT1210,MMC_REFSTRUCTLIT(mmc_nil)}};
#define _OMC_LIT1211 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1211)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1212,2,1) {_OMC_LIT151,_OMC_LIT1211}};
#define _OMC_LIT1212 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1212)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1213,3,6) {&Tpl_StringToken_ST__STRING__LIST__desc,_OMC_LIT1212,MMC_IMMEDIATE(MMC_TAGFIXNUM(0))}};
#define _OMC_LIT1213 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1213)
#define _OMC_LIT1214_data ") || isinf("
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1214,11,_OMC_LIT1214_data);
#define _OMC_LIT1214 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1214)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1215,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT1214}};
#define _OMC_LIT1215 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1215)
#define _OMC_LIT1216_data "))\n"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1216,3,_OMC_LIT1216_data);
#define _OMC_LIT1216 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1216)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1217,2,1) {_OMC_LIT1216,_OMC_LIT426}};
#define _OMC_LIT1217 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1217)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1218,3,6) {&Tpl_StringToken_ST__STRING__LIST__desc,_OMC_LIT1217,MMC_IMMEDIATE(MMC_TAGFIXNUM(1))}};
#define _OMC_LIT1218 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1218)
#define _OMC_LIT1219_data "throwStreamPrint(threadData, \"%s:%d: Invalid root: (%g)^(%g)\", __FILE__, __LINE__, "
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1219,83,_OMC_LIT1219_data);
#define _OMC_LIT1219 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1219)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1220,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT1219}};
#define _OMC_LIT1220 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1220)
#define _OMC_LIT1221_data "DIVISION_SIM("
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1221,13,_OMC_LIT1221_data);
#define _OMC_LIT1221 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1221)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1222,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT1221}};
#define _OMC_LIT1222 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1222)
#define _OMC_LIT1223_data "\",equationIndexes)"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1223,18,_OMC_LIT1223_data);
#define _OMC_LIT1223 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1223)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1224,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT1223}};
#define _OMC_LIT1224 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1224)
#define _OMC_LIT1225_data "DIVISION("
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1225,9,_OMC_LIT1225_data);
#define _OMC_LIT1225 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1225)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1226,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT1225}};
#define _OMC_LIT1226 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1226)
#define _OMC_LIT1227_data " - ("
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1227,4,_OMC_LIT1227_data);
#define _OMC_LIT1227 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1227)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1228,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT1227}};
#define _OMC_LIT1228 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1228)
#define _OMC_LIT1229_data "(0), make_index_array(1, (int) "
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1229,31,_OMC_LIT1229_data);
#define _OMC_LIT1229 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1229)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1230,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT1229}};
#define _OMC_LIT1230 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1230)
#define _OMC_LIT1231_data "), 'S'"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1231,6,_OMC_LIT1231_data);
#define _OMC_LIT1231 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1231)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1232,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT1231}};
#define _OMC_LIT1232 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1232)
#define _OMC_LIT1233_data "(1), (int*)0, 'W'"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1233,17,_OMC_LIT1233_data);
#define _OMC_LIT1233 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1233)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1234,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT1233}};
#define _OMC_LIT1234 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1234)
#define _OMC_LIT1235_data ", 1);"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1235,5,_OMC_LIT1235_data);
#define _OMC_LIT1235 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1235)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1236,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT1235}};
#define _OMC_LIT1236 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1236)
#define _OMC_LIT1237_data ", integer_array_make_index_array("
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1237,33,_OMC_LIT1237_data);
#define _OMC_LIT1237 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1237)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1238,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT1237}};
#define _OMC_LIT1238 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1238)
#define _OMC_LIT1239_data "), 'A'"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1239,6,_OMC_LIT1239_data);
#define _OMC_LIT1239 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1239)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1240,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT1239}};
#define _OMC_LIT1240 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1240)
#define _OMC_LIT1241_data "SimCodeC.tpl template: daeExpCrefLhsFunContextParModExpl: UNHANDLED EXPRESSION:  "
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1241,81,_OMC_LIT1241_data);
#define _OMC_LIT1241 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1241)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1242,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT1241}};
#define _OMC_LIT1242 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1242)
#define _OMC_LIT1243_data "This should have been handled in indexed assign and should not have gotten here. "
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1243,81,_OMC_LIT1243_data);
#define _OMC_LIT1243 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1243)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1244,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT1243}};
#define _OMC_LIT1244 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1244)
#define _OMC_LIT1245_data "(*"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1245,2,_OMC_LIT1245_data);
#define _OMC_LIT1245 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1245)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1246,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT1245}};
#define _OMC_LIT1246 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1246)
#define _OMC_LIT1247_data "_element_addr_c99_"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1247,18,_OMC_LIT1247_data);
#define _OMC_LIT1247 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1247)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1248,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT1247}};
#define _OMC_LIT1248 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1248)
#define _OMC_LIT1249_data "SimCodeC.tpl template: daeExpCrefLhsFunContextNormal: UNHANDLED EXPRESSION:  "
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1249,77,_OMC_LIT1249_data);
#define _OMC_LIT1249 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1249)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1250,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT1249}};
#define _OMC_LIT1250 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1250)
#define _OMC_LIT1251_data "This should have been handled in the new daeExpCrefLhsSimContext function. "
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1251,75,_OMC_LIT1251_data);
#define _OMC_LIT1251 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1251)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1252,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT1251}};
#define _OMC_LIT1252 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1252)
#define _OMC_LIT1253_data "[calc_base_index_dims_subs("
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1253,27,_OMC_LIT1253_data);
#define _OMC_LIT1253 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1253)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1254,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT1253}};
#define _OMC_LIT1254 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1254)
#define _OMC_LIT1255_data ")]"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1255,2,_OMC_LIT1255_data);
#define _OMC_LIT1255 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1255)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1256,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT1255}};
#define _OMC_LIT1256 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1256)
#define _OMC_LIT1257_data "indexSubs got different number of dimensions and subscripts"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1257,59,_OMC_LIT1257_data);
#define _OMC_LIT1257 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1257)
#define _OMC_LIT1258_data "daeExpCrefLhsSimContext got record "
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1258,35,_OMC_LIT1258_data);
#define _OMC_LIT1258 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1258)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1259,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT1258}};
#define _OMC_LIT1259 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1259)
#define _OMC_LIT1260_data ". This does not make sense. Assigning to records is handled in a different way in the code generator, and reaching here is probably an error..."
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1260,143,_OMC_LIT1260_data);
#define _OMC_LIT1260 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1260)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1261,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT1260}};
#define _OMC_LIT1261 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1261)
#define _OMC_LIT1262_data "daeExpCrefLhsSimContext: UNHANDLED CREF: "
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1262,41,_OMC_LIT1262_data);
#define _OMC_LIT1262 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1262)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1263,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT1262}};
#define _OMC_LIT1263 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1263)
#define _OMC_LIT1264_data "daeExpCrefLhsSimContext: This should have been handled in indexed assign and should not have gotten here "
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1264,105,_OMC_LIT1264_data);
#define _OMC_LIT1264 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1264)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1265,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT1264}};
#define _OMC_LIT1265 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1265)
#define _OMC_LIT1266_data "_array_create(&"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1266,15,_OMC_LIT1266_data);
#define _OMC_LIT1266 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1266)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1267,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT1266}};
#define _OMC_LIT1267 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1267)
#define _OMC_LIT1268_data ", ((modelica_"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1268,13,_OMC_LIT1268_data);
#define _OMC_LIT1268 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1268)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1269,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT1268}};
#define _OMC_LIT1269 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1269)
#define _OMC_LIT1270_data "*)&((&"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1270,6,_OMC_LIT1270_data);
#define _OMC_LIT1270 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1270)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1271,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT1270}};
#define _OMC_LIT1271 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1271)
#define _OMC_LIT1272_data ")), "
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1272,4,_OMC_LIT1272_data);
#define _OMC_LIT1272 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1272)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1273,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT1272}};
#define _OMC_LIT1273 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1273)
#define _OMC_LIT1274_data "((modelica_fnptr)boxptr_"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1274,24,_OMC_LIT1274_data);
#define _OMC_LIT1274 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1274)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1275,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT1274}};
#define _OMC_LIT1275 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1275)
#define _OMC_LIT1276_data ") /*arrayScalarRhs*/"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1276,20,_OMC_LIT1276_data);
#define _OMC_LIT1276 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1276)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1277,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT1276}};
#define _OMC_LIT1277 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1277)
#define _OMC_LIT1278_data "metatype_array"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1278,14,_OMC_LIT1278_data);
#define _OMC_LIT1278 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1278)
#define _OMC_LIT1279_data "daeExpCrefRhsFunContext: UNHANDLED EXPRESSION: "
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1279,47,_OMC_LIT1279_data);
#define _OMC_LIT1279 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1279)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1280,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT1279}};
#define _OMC_LIT1280 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1280)
#define _OMC_LIT1281_data "This should have been handled in the new daeExpCrefRhsSimContext function. "
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1281,75,_OMC_LIT1281_data);
#define _OMC_LIT1281 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1281)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1282,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT1281}};
#define _OMC_LIT1282 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1282)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1283,2,4) {&Tpl_BlockType_BT__INDENT__desc,MMC_IMMEDIATE(MMC_TAGFIXNUM(1))}};
#define _OMC_LIT1283 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1283)
#define _OMC_LIT1284_data "_get("
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1284,5,_OMC_LIT1284_data);
#define _OMC_LIT1284 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1284)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1285,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT1284}};
#define _OMC_LIT1285 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1285)
#define _OMC_LIT1286_data "index_alloc_"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1286,12,_OMC_LIT1286_data);
#define _OMC_LIT1286 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1286)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1287,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT1286}};
#define _OMC_LIT1287 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1287)
#define _OMC_LIT1288_data "daeExpCrefRhsFunContext: Slice in simulation context: "
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1288,54,_OMC_LIT1288_data);
#define _OMC_LIT1288 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1288)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1289,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT1288}};
#define _OMC_LIT1289 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1289)
#define _OMC_LIT1290_data "(threadData"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1290,11,_OMC_LIT1290_data);
#define _OMC_LIT1290 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1290)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1291,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT1290}};
#define _OMC_LIT1291 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1291)
#define _OMC_LIT1292_data "daeExpCrefRhsSimContext: UNHANDLED CREF: "
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1292,41,_OMC_LIT1292_data);
#define _OMC_LIT1292 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1292)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1293,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT1292}};
#define _OMC_LIT1293 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1293)
#define _OMC_LIT1294_data ", (modelica_"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1294,12,_OMC_LIT1294_data);
#define _OMC_LIT1294 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1294)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1295,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT1294}};
#define _OMC_LIT1295 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1295)
#define _OMC_LIT1296_data "*)&"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1296,3,_OMC_LIT1296_data);
#define _OMC_LIT1296 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1296)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1297,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT1296}};
#define _OMC_LIT1297 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1297)
#define _OMC_LIT1298_data "boxvar_"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1298,7,_OMC_LIT1298_data);
#define _OMC_LIT1298 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1298)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1299,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT1298}};
#define _OMC_LIT1299 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1299)
#define _OMC_LIT1300_data "((modelica_fnptr) _"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1300,19,_OMC_LIT1300_data);
#define _OMC_LIT1300 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1300)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1301,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT1300}};
#define _OMC_LIT1301 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1301)
#define _OMC_LIT1302_data "(MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1302,36,_OMC_LIT1302_data);
#define _OMC_LIT1302 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1302)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1303,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT1302}};
#define _OMC_LIT1303 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1303)
#define _OMC_LIT1304_data "MMC_THROW_INTERNAL()"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1304,20,_OMC_LIT1304_data);
#define _OMC_LIT1304 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1304)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1305,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT1304}};
#define _OMC_LIT1305 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1305)
#define _OMC_LIT1306_data "goto goto_"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1306,10,_OMC_LIT1306_data);
#define _OMC_LIT1306 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1306)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1307,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT1306}};
#define _OMC_LIT1307 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1307)
#define _OMC_LIT1308_data "Unknown slice "
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1308,14,_OMC_LIT1308_data);
#define _OMC_LIT1308 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1308)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1309,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT1308}};
#define _OMC_LIT1309 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1309)
#define _OMC_LIT1310_data "WHOLEDIM"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1310,8,_OMC_LIT1310_data);
#define _OMC_LIT1310 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1310)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1311,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT1310}};
#define _OMC_LIT1311 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1311)
#define _OMC_LIT1312_data "WHOLE_NONEXP"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1312,12,_OMC_LIT1312_data);
#define _OMC_LIT1312 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1312)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1313,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT1312}};
#define _OMC_LIT1313 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1313)
#define _OMC_LIT1314_data "UNKNOWN_SUBSCRIPT"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1314,17,_OMC_LIT1314_data);
#define _OMC_LIT1314 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1314)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1315,1,7) {&SimCodeFunction_Context_OTHER__CONTEXT__desc,}};
#define _OMC_LIT1315 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1315)
#define _OMC_LIT1316_data "lB"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1316,2,_OMC_LIT1316_data);
#define _OMC_LIT1316 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1316)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1317,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT1316}};
#define _OMC_LIT1317 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1317)
#define _OMC_LIT1318_data "c"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1318,1,_OMC_LIT1318_data);
#define _OMC_LIT1318 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1318)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1319,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT1318}};
#define _OMC_LIT1319 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1319)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1320,1,1) {_OMC_LIT1319}};
#define _OMC_LIT1320 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1320)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1321,9,3) {&Tpl_IterOptions_ITER__OPTIONS__desc,MMC_IMMEDIATE(MMC_TAGFIXNUM(0)),MMC_REFSTRUCTLIT(mmc_none),_OMC_LIT1320,MMC_IMMEDIATE(MMC_TAGFIXNUM(0)),MMC_IMMEDIATE(MMC_TAGFIXNUM(0)),_OMC_LIT89,MMC_IMMEDIATE(MMC_TAGFIXNUM(0)),_OMC_LIT89}};
#define _OMC_LIT1321 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1321)
#define _OMC_LIT1322_data "rB"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1322,2,_OMC_LIT1322_data);
#define _OMC_LIT1322 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1322)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1323,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT1322}};
#define _OMC_LIT1323 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1323)
#define _OMC_LIT1324_data "P"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1324,1,_OMC_LIT1324_data);
#define _OMC_LIT1324 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1324)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1325,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT1324}};
#define _OMC_LIT1325 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1325)
#define _OMC_LIT1326_data "CREF_NOT_IDENT_OR_QUAL"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1326,22,_OMC_LIT1326_data);
#define _OMC_LIT1326 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1326)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1327,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT1326}};
#define _OMC_LIT1327 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1327)
#define _OMC_LIT1328_data "mmc_mk_box"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1328,10,_OMC_LIT1328_data);
#define _OMC_LIT1328 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1328)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1329,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT1328}};
#define _OMC_LIT1329 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1329)
#define _OMC_LIT1330_data "__desc"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1330,6,_OMC_LIT1330_data);
#define _OMC_LIT1330 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1330)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1331,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT1330}};
#define _OMC_LIT1331 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1331)
#define _OMC_LIT1332_data "mmc_mk_none()"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1332,13,_OMC_LIT1332_data);
#define _OMC_LIT1332 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1332)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1333,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT1332}};
#define _OMC_LIT1333 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1333)
#define _OMC_LIT1334_data "mmc_mk_some("
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1334,12,_OMC_LIT1334_data);
#define _OMC_LIT1334 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1334)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1335,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT1334}};
#define _OMC_LIT1335 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1335)
#define _OMC_LIT1336_data "struct {\n"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1336,9,_OMC_LIT1336_data);
#define _OMC_LIT1336 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1336)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1337,2,5) {&Tpl_StringToken_ST__LINE__desc,_OMC_LIT1336}};
#define _OMC_LIT1337 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1337)
#define _OMC_LIT1338_data " c"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1338,2,_OMC_LIT1338_data);
#define _OMC_LIT1338 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1338)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1339,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT1338}};
#define _OMC_LIT1339 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1339)
#define _OMC_LIT1340_data "mmc_mk_cons("
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1340,12,_OMC_LIT1340_data);
#define _OMC_LIT1340 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1340)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1341,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT1340}};
#define _OMC_LIT1341 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1341)
#define _OMC_LIT1342_data "MMC_REFSTRUCTLIT(mmc_nil)"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1342,25,_OMC_LIT1342_data);
#define _OMC_LIT1342 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1342)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1343,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT1342}};
#define _OMC_LIT1343 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1343)
#define _OMC_LIT1344_data "(modelica_string) mmc_emptystring"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1344,33,_OMC_LIT1344_data);
#define _OMC_LIT1344 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1344)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1345,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT1344}};
#define _OMC_LIT1345 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1345)
#define _OMC_LIT1346_data "(modelica_string) mmc_strings_len1["
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1346,35,_OMC_LIT1346_data);
#define _OMC_LIT1346 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1346)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1347,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT1346}};
#define _OMC_LIT1347 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1347)
#define _OMC_LIT1348_data "static const MMC_DEFSTRINGLIT("
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1348,30,_OMC_LIT1348_data);
#define _OMC_LIT1348 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1348)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1349,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT1348}};
#define _OMC_LIT1349 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1349)
#define _OMC_LIT1350_data "\");"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1350,3,_OMC_LIT1350_data);
#define _OMC_LIT1350 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1350)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1351,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT1350}};
#define _OMC_LIT1351 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1351)
#define _OMC_LIT1352_data "MMC_REFSTRINGLIT("
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1352,17,_OMC_LIT1352_data);
#define _OMC_LIT1352 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1352)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1353,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT1352}};
#define _OMC_LIT1353 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1353)
#define _OMC_LIT1354_data ") data_of_"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1354,10,_OMC_LIT1354_data);
#define _OMC_LIT1354 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1354)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1355,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT1354}};
#define _OMC_LIT1355 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1355)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1356,3,4) {&SimCodeFunction_Context_FUNCTION__CONTEXT__desc,_OMC_LIT91,MMC_IMMEDIATE(MMC_TAGFIXNUM(0))}};
#define _OMC_LIT1356 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1356)
#define _OMC_LIT1357_data " = MMC_STRINGDATA("
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1357,18,_OMC_LIT1357_data);
#define _OMC_LIT1357 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1357)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1358,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT1357}};
#define _OMC_LIT1358 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1358)
#define _OMC_LIT1359_data "MMC_STRINGDATA("
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1359,15,_OMC_LIT1359_data);
#define _OMC_LIT1359 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1359)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1360,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT1359}};
#define _OMC_LIT1360 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1360)
#define _OMC_LIT1361_data "Not a simple literal expression: "
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1361,33,_OMC_LIT1361_data);
#define _OMC_LIT1361 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1361)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1362,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT1361}};
#define _OMC_LIT1362 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1362)
#define _OMC_LIT1363_data "omsi_int"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1363,8,_OMC_LIT1363_data);
#define _OMC_LIT1363 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1363)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1364,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT1363}};
#define _OMC_LIT1364 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1364)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1365,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT449}};
#define _OMC_LIT1365 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1365)
#define _OMC_LIT1366_data "#error \""
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1366,8,_OMC_LIT1366_data);
#define _OMC_LIT1366 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1366)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1367,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT1366}};
#define _OMC_LIT1367 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1367)
#define _OMC_LIT1368_data "Unknown expression: "
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1368,20,_OMC_LIT1368_data);
#define _OMC_LIT1368 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1368)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1369,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT1368}};
#define _OMC_LIT1369 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1369)
#define _OMC_LIT1370_data "tmpMeta["
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1370,8,_OMC_LIT1370_data);
#define _OMC_LIT1370 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1370)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1371,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT1370}};
#define _OMC_LIT1371 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1371)
#define _OMC_LIT1372_data "_c"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1372,2,_OMC_LIT1372_data);
#define _OMC_LIT1372 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1372)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1373,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT1372}};
#define _OMC_LIT1373 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1373)
#define _OMC_LIT1374_data "metamodelica_string"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1374,19,_OMC_LIT1374_data);
#define _OMC_LIT1374 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1374)
#define _OMC_LIT1375_data "metamodelica_string_const"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1375,25,_OMC_LIT1375_data);
#define _OMC_LIT1375 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1375)
#define _OMC_LIT1376_data " __attribute__((unused)) = 0;"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1376,29,_OMC_LIT1376_data);
#define _OMC_LIT1376 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1376)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1377,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT1376}};
#define _OMC_LIT1377 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1377)
#define _OMC_LIT1378_data "volatile "
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1378,9,_OMC_LIT1378_data);
#define _OMC_LIT1378 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1378)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1379,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT1378}};
#define _OMC_LIT1379 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1379)
#define _OMC_LIT1380_data "] = {"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1380,5,_OMC_LIT1380_data);
#define _OMC_LIT1380 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1380)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1381,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT1380}};
#define _OMC_LIT1381 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1381)
#define _OMC_LIT1382_data "};"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1382,2,_OMC_LIT1382_data);
#define _OMC_LIT1382 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1382)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1383,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT1382}};
#define _OMC_LIT1383 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1383)
#define _OMC_LIT1384_data "gendebugsymbols"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1384,15,_OMC_LIT1384_data);
#define _OMC_LIT1384 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1384)
#define _OMC_LIT1385_data "Generate code with debugging symbols."
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1385,37,_OMC_LIT1385_data);
#define _OMC_LIT1385 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1385)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1386,2,3) {&Gettext_TranslatableContent_gettext__desc,_OMC_LIT1385}};
#define _OMC_LIT1386 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1386)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1387,5,3) {&Flags_DebugFlag_DEBUG__FLAG__desc,MMC_IMMEDIATE(MMC_TAGFIXNUM(70)),_OMC_LIT1384,MMC_IMMEDIATE(MMC_TAGFIXNUM(0)),_OMC_LIT1386}};
#define _OMC_LIT1387 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1387)
#define _OMC_LIT1388_data "/*#endModelicaLine*/"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1388,20,_OMC_LIT1388_data);
#define _OMC_LIT1388 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1388)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1389,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT1388}};
#define _OMC_LIT1389 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1389)
#define _OMC_LIT1390_data "metaModelicaRecordAllocWords"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1390,28,_OMC_LIT1390_data);
#define _OMC_LIT1390 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1390)
#define _OMC_LIT1391_data "Instrument the source code to record memory allocations (requires run-time and generated files compiled with -DOMC_RECORD_ALLOC_WORDS)."
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1391,135,_OMC_LIT1391_data);
#define _OMC_LIT1391 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1391)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1392,2,3) {&Gettext_TranslatableContent_gettext__desc,_OMC_LIT1391}};
#define _OMC_LIT1392 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1392)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1393,5,3) {&Flags_DebugFlag_DEBUG__FLAG__desc,MMC_IMMEDIATE(MMC_TAGFIXNUM(155)),_OMC_LIT1390,MMC_IMMEDIATE(MMC_TAGFIXNUM(0)),_OMC_LIT1392}};
#define _OMC_LIT1393 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1393)
#define _OMC_LIT1394_data "/*#modelicaLine "
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1394,16,_OMC_LIT1394_data);
#define _OMC_LIT1394 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1394)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1395,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT1394}};
#define _OMC_LIT1395 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1395)
#define _OMC_LIT1396_data "*/"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1396,2,_OMC_LIT1396_data);
#define _OMC_LIT1396 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1396)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1397,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT1396}};
#define _OMC_LIT1397 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1397)
#define _OMC_LIT1398_data ".interface.mo"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1398,13,_OMC_LIT1398_data);
#define _OMC_LIT1398 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1398)
#define _OMC_LIT1399_data "mmc_set_current_pos(\""
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1399,21,_OMC_LIT1399_data);
#define _OMC_LIT1399 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1399)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1400,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT1399}};
#define _OMC_LIT1400 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1400)
#define _OMC_LIT1401_data "modelica_metatype tmpMeta["
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1401,26,_OMC_LIT1401_data);
#define _OMC_LIT1401 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1401)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1402,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT1401}};
#define _OMC_LIT1402 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1402)
#define _OMC_LIT1403_data "] __attribute__((unused)) = {0};"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1403,32,_OMC_LIT1403_data);
#define _OMC_LIT1403 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1403)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1404,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT1403}};
#define _OMC_LIT1404 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1404)
#define _OMC_LIT1405_data "__"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1405,2,_OMC_LIT1405_data);
#define _OMC_LIT1405 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1405)
#define _OMC_LIT1406_data "ints"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1406,4,_OMC_LIT1406_data);
#define _OMC_LIT1406 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1406)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1407,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT1406}};
#define _OMC_LIT1407 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1407)
#define _OMC_LIT1408_data "reals"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1408,5,_OMC_LIT1408_data);
#define _OMC_LIT1408 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1408)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1409,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT1408}};
#define _OMC_LIT1409 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1409)
#define _OMC_LIT1410_data "strings"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1410,7,_OMC_LIT1410_data);
#define _OMC_LIT1410 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1410)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1411,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT1410}};
#define _OMC_LIT1411 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1411)
#define _OMC_LIT1412_data "bools"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1412,5,_OMC_LIT1412_data);
#define _OMC_LIT1412 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1412)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1413,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT1412}};
#define _OMC_LIT1413 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1413)
#define _OMC_LIT1414_data "complex"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1414,7,_OMC_LIT1414_data);
#define _OMC_LIT1414 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1414)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1415,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT1414}};
#define _OMC_LIT1415 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1415)
#define _OMC_LIT1416_data "crefTypeNameOMSIC: "
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1416,19,_OMC_LIT1416_data);
#define _OMC_LIT1416 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1416)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1417,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT1416}};
#define _OMC_LIT1417 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1417)
#define _OMC_LIT1418_data "CREF_NOT_FOUND"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1418,14,_OMC_LIT1418_data);
#define _OMC_LIT1418 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1418)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1419,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT1418}};
#define _OMC_LIT1419 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1419)
#define _OMC_LIT1420_data "data->localData[0]->timeValue"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1420,29,_OMC_LIT1420_data);
#define _OMC_LIT1420 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1420)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1421,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT1420}};
#define _OMC_LIT1421 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1421)
#define _OMC_LIT1422_data "time"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1422,4,_OMC_LIT1422_data);
#define _OMC_LIT1422 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1422)
#define _OMC_LIT1423_data "$PRE"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1423,4,_OMC_LIT1423_data);
#define _OMC_LIT1423 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1423)
#define _OMC_LIT1424_data "$START"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1424,6,_OMC_LIT1424_data);
#define _OMC_LIT1424 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1424)
#define _OMC_LIT1425_data "data->simulationInfo->inlineData->algOldVars["
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1425,45,_OMC_LIT1425_data);
#define _OMC_LIT1425 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1425)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1426,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT1425}};
#define _OMC_LIT1426 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1426)
#define _OMC_LIT1427_data "!("
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1427,2,_OMC_LIT1427_data);
#define _OMC_LIT1427 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1427)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1428,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT1427}};
#define _OMC_LIT1428 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1428)
#define _OMC_LIT1429_data "-("
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1429,2,_OMC_LIT1429_data);
#define _OMC_LIT1429 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1429)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1430,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT1429}};
#define _OMC_LIT1430 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1430)
#define _OMC_LIT1431_data "parentJacobian->resultVars["
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1431,27,_OMC_LIT1431_data);
#define _OMC_LIT1431 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1431)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1432,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT1431}};
#define _OMC_LIT1432 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1432)
#define _OMC_LIT1433_data "parentJacobian->tmpVars["
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1433,24,_OMC_LIT1433_data);
#define _OMC_LIT1433 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1433)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1434,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT1433}};
#define _OMC_LIT1434 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1434)
#define _OMC_LIT1435_data "parentJacobian->seedVars["
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1435,25,_OMC_LIT1435_data);
#define _OMC_LIT1435 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1435)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1436,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT1435}};
#define _OMC_LIT1436 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1436)
#define _OMC_LIT1437_data "data->simulationInfo->daeModeData->residualVars["
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1437,48,_OMC_LIT1437_data);
#define _OMC_LIT1437 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1437)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1438,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT1437}};
#define _OMC_LIT1438 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1438)
#define _OMC_LIT1439_data "data->simulationInfo->daeModeData->auxiliaryVars["
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1439,49,_OMC_LIT1439_data);
#define _OMC_LIT1439 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1439)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1440,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT1439}};
#define _OMC_LIT1440 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1440)
#define _OMC_LIT1441_data "crefToCStr got index=-1 for "
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1441,28,_OMC_LIT1441_data);
#define _OMC_LIT1441 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1441)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1442,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT1441}};
#define _OMC_LIT1442 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1442)
#define _OMC_LIT1443_data "Got $PRE for something that is already pre: "
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1443,44,_OMC_LIT1443_data);
#define _OMC_LIT1443 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1443)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1444,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT1443}};
#define _OMC_LIT1444 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1444)
#define _OMC_LIT1445_data "xloc"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1445,4,_OMC_LIT1445_data);
#define _OMC_LIT1445 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1445)
#define _OMC_LIT1446_data "data->localData[0]->timeValueOld"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1446,32,_OMC_LIT1446_data);
#define _OMC_LIT1446 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1446)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1447,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT1446}};
#define _OMC_LIT1447 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1447)
#define _OMC_LIT1448_data "]->timeValue"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1448,12,_OMC_LIT1448_data);
#define _OMC_LIT1448 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1448)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1449,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT1448}};
#define _OMC_LIT1449 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1449)
#define _OMC_LIT1450_data "data->simulationInfo->lambda"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1450,28,_OMC_LIT1450_data);
#define _OMC_LIT1450 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1450)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1451,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT1450}};
#define _OMC_LIT1451 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1451)
#define _OMC_LIT1452_data "__OMC_DT"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1452,8,_OMC_LIT1452_data);
#define _OMC_LIT1452 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1452)
#define _OMC_LIT1453_data "__HOM_LAMBDA"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1453,12,_OMC_LIT1453_data);
#define _OMC_LIT1453 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1453)
#define _OMC_LIT1454_data "jacobian->resultVars["
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1454,21,_OMC_LIT1454_data);
#define _OMC_LIT1454 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1454)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1455,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT1454}};
#define _OMC_LIT1455 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1455)
#define _OMC_LIT1456_data "jacobian->tmpVars["
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1456,18,_OMC_LIT1456_data);
#define _OMC_LIT1456 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1456)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1457,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT1456}};
#define _OMC_LIT1457 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1457)
#define _OMC_LIT1458_data "jacobian->seedVars["
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1458,19,_OMC_LIT1458_data);
#define _OMC_LIT1458 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1458)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1459,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT1458}};
#define _OMC_LIT1459 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1459)
#define _OMC_LIT1460_data "_array_get(_"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1460,12,_OMC_LIT1460_data);
#define _OMC_LIT1460 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1460)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1461,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT1460}};
#define _OMC_LIT1461 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1461)
#define _OMC_LIT1462_data ")->"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1462,3,_OMC_LIT1462_data);
#define _OMC_LIT1462 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1462)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1463,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT1462}};
#define _OMC_LIT1463 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1463)
#define _OMC_LIT1464_data "crefNonSimVar got a cref it does not know how to handle "
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1464,56,_OMC_LIT1464_data);
#define _OMC_LIT1464 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1464)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1465,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT1464}};
#define _OMC_LIT1465 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1465)
#define _OMC_LIT1466_data "if(!("
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1466,5,_OMC_LIT1466_data);
#define _OMC_LIT1466 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1466)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1467,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT1466}};
#define _OMC_LIT1467 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1467)
#define _OMC_LIT1468_data "  omc_assert(threadData, info, \"Common assertion failed\");\n"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1468,59,_OMC_LIT1468_data);
#define _OMC_LIT1468 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1468)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1469,2,1) {_OMC_LIT1468,_OMC_LIT402}};
#define _OMC_LIT1469 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1469)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1470,2,1) {_OMC_LIT400,_OMC_LIT1469}};
#define _OMC_LIT1470 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1470)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1471,2,1) {_OMC_LIT145,_OMC_LIT1470}};
#define _OMC_LIT1471 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1471)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1472,2,1) {_OMC_LIT1216,_OMC_LIT1471}};
#define _OMC_LIT1472 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1472)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1473,3,6) {&Tpl_StringToken_ST__STRING__LIST__desc,_OMC_LIT1472,MMC_IMMEDIATE(MMC_TAGFIXNUM(0))}};
#define _OMC_LIT1473 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1473)
#define _OMC_LIT1474_data "FILE_INFO info = {"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1474,18,_OMC_LIT1474_data);
#define _OMC_LIT1474 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1474)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1475,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT1474}};
#define _OMC_LIT1475 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1475)
#define _OMC_LIT1476_data "};\n"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1476,3,_OMC_LIT1476_data);
#define _OMC_LIT1476 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1476)
#define _OMC_LIT1477_data "omc_assert(threadData, info, "
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1477,29,_OMC_LIT1477_data);
#define _OMC_LIT1477 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1477)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1478,2,1) {_OMC_LIT1477,MMC_REFSTRUCTLIT(mmc_nil)}};
#define _OMC_LIT1478 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1478)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1479,2,1) {_OMC_LIT1476,_OMC_LIT1478}};
#define _OMC_LIT1479 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1479)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1480,3,6) {&Tpl_StringToken_ST__STRING__LIST__desc,_OMC_LIT1479,MMC_IMMEDIATE(MMC_TAGFIXNUM(0))}};
#define _OMC_LIT1480 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1480)
#define _OMC_LIT1481_data "  /* TODO: Add assert */\n"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1481,25,_OMC_LIT1481_data);
#define _OMC_LIT1481 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1481)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1482,2,1) {_OMC_LIT1481,_OMC_LIT402}};
#define _OMC_LIT1482 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1482)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1483,2,1) {_OMC_LIT145,_OMC_LIT1482}};
#define _OMC_LIT1483 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1483)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1484,2,1) {_OMC_LIT1216,_OMC_LIT1483}};
#define _OMC_LIT1484 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1484)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1485,3,6) {&Tpl_StringToken_ST__STRING__LIST__desc,_OMC_LIT1484,MMC_IMMEDIATE(MMC_TAGFIXNUM(0))}};
#define _OMC_LIT1485 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1485)
#define _OMC_LIT1486_data "omc_assert_warning(info, \"The following assertion has been violated %sat time %f\", initial() ? \"during initialization \" : \"\", data->localData[0]->timeValue);\n"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1486,158,_OMC_LIT1486_data);
#define _OMC_LIT1486 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1486)
#define _OMC_LIT1487_data "throwStreamPrintWithEquationIndexes(threadData, equationIndexes, "
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1487,65,_OMC_LIT1487_data);
#define _OMC_LIT1487 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1487)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1488,2,1) {_OMC_LIT1487,MMC_REFSTRUCTLIT(mmc_nil)}};
#define _OMC_LIT1488 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1488)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1489,2,1) {_OMC_LIT1486,_OMC_LIT1488}};
#define _OMC_LIT1489 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1489)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1490,2,1) {_OMC_LIT1476,_OMC_LIT1489}};
#define _OMC_LIT1490 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1490)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1491,3,6) {&Tpl_StringToken_ST__STRING__LIST__desc,_OMC_LIT1490,MMC_IMMEDIATE(MMC_TAGFIXNUM(0))}};
#define _OMC_LIT1491 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1491)
#define _OMC_LIT1492_data "static int"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1492,10,_OMC_LIT1492_data);
#define _OMC_LIT1492 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1492)
#define _OMC_LIT1493_data "if(!"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1493,4,_OMC_LIT1493_data);
#define _OMC_LIT1493 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1493)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1494,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT1493}};
#define _OMC_LIT1494 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1494)
#define _OMC_LIT1495_data "info, "
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1495,6,_OMC_LIT1495_data);
#define _OMC_LIT1495 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1495)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1496,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT1495}};
#define _OMC_LIT1496 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1496)
#define _OMC_LIT1497_data "omc_assert_warning"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1497,18,_OMC_LIT1497_data);
#define _OMC_LIT1497 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1497)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1498,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT1497}};
#define _OMC_LIT1498 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1498)
#define _OMC_LIT1499_data "omc_assert"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1499,10,_OMC_LIT1499_data);
#define _OMC_LIT1499 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1499)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1500,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT1499}};
#define _OMC_LIT1500 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1500)
#define _OMC_LIT1501_data "(threadData, "
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1501,13,_OMC_LIT1501_data);
#define _OMC_LIT1501 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1501)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1502,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT1501}};
#define _OMC_LIT1502 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1502)
#define _OMC_LIT1503_data "omc_assert_warning(info, \"The following assertion has been violated %sat time %f\\n"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1503,82,_OMC_LIT1503_data);
#define _OMC_LIT1503 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1503)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1504,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT1503}};
#define _OMC_LIT1504 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1504)
#define _OMC_LIT1505_data "\", initial() ? \"during initialization \" : \"\", data->localData[0]->timeValue);"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1505,77,_OMC_LIT1505_data);
#define _OMC_LIT1505 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1505)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1506,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT1505}};
#define _OMC_LIT1506 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1506)
#define _OMC_LIT1507_data "_withEquationIndexes"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1507,20,_OMC_LIT1507_data);
#define _OMC_LIT1507 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1507)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1508,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT1507}};
#define _OMC_LIT1508 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1508)
#define _OMC_LIT1509_data "equationIndexes, "
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1509,17,_OMC_LIT1509_data);
#define _OMC_LIT1509 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1509)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1510,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT1509}};
#define _OMC_LIT1510 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1510)
#define _OMC_LIT1511_data "\","
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1511,2,_OMC_LIT1511_data);
#define _OMC_LIT1511 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1511)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1512,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT1511}};
#define _OMC_LIT1512 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1512)
#define _OMC_LIT1513_data "if (optionNone("
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1513,15,_OMC_LIT1513_data);
#define _OMC_LIT1513 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1513)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1514,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT1513}};
#define _OMC_LIT1514 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1514)
#define _OMC_LIT1515_data ")) "
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1515,3,_OMC_LIT1515_data);
#define _OMC_LIT1515 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1515)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1516,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT1515}};
#define _OMC_LIT1516 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1516)
#define _OMC_LIT1517_data "), 1));\n"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1517,8,_OMC_LIT1517_data);
#define _OMC_LIT1517 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1517)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1518,2,5) {&Tpl_StringToken_ST__LINE__desc,_OMC_LIT1517}};
#define _OMC_LIT1518 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1518)
#define _OMC_LIT1519_data "if (listEmpty("
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1519,14,_OMC_LIT1519_data);
#define _OMC_LIT1519 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1519)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1520,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT1519}};
#define _OMC_LIT1520 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1520)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1521,9,3) {&Tpl_IterOptions_ITER__OPTIONS__desc,MMC_IMMEDIATE(MMC_TAGFIXNUM(2)),_OMC_LIT93,MMC_REFSTRUCTLIT(mmc_none),MMC_IMMEDIATE(MMC_TAGFIXNUM(0)),MMC_IMMEDIATE(MMC_TAGFIXNUM(0)),_OMC_LIT89,MMC_IMMEDIATE(MMC_TAGFIXNUM(0)),_OMC_LIT89}};
#define _OMC_LIT1521 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1521)
#define _OMC_LIT1522_data "  /* pattern as ty="
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1522,19,_OMC_LIT1522_data);
#define _OMC_LIT1522 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1522)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1523,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT1522}};
#define _OMC_LIT1523 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1523)
#define _OMC_LIT1524_data " */;"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1524,4,_OMC_LIT1524_data);
#define _OMC_LIT1524 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1524)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1525,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT1524}};
#define _OMC_LIT1525 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1525)
#define _OMC_LIT1526_data "UNKNOWN_PATTERN /* rhs: "
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1526,24,_OMC_LIT1526_data);
#define _OMC_LIT1526 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1526)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1527,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT1526}};
#define _OMC_LIT1527 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1527)
#define _OMC_LIT1528_data "if (mmc__uniontype__metarecord__typedef__equal("
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1528,47,_OMC_LIT1528_data);
#define _OMC_LIT1528 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1528)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1529,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT1528}};
#define _OMC_LIT1529 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1529)
#define _OMC_LIT1530_data ") == 0) "
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1530,8,_OMC_LIT1530_data);
#define _OMC_LIT1530 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1530)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1531,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT1530}};
#define _OMC_LIT1531 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1531)
#define _OMC_LIT1532_data " != MMC_STRLEN("
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1532,15,_OMC_LIT1532_data);
#define _OMC_LIT1532 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1532)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1533,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT1532}};
#define _OMC_LIT1533 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1533)
#define _OMC_LIT1534_data ") || strcmp(\""
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1534,13,_OMC_LIT1534_data);
#define _OMC_LIT1534 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1534)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1535,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT1534}};
#define _OMC_LIT1535 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1535)
#define _OMC_LIT1536_data "\", MMC_STRINGDATA("
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1536,18,_OMC_LIT1536_data);
#define _OMC_LIT1536 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1536)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1537,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT1536}};
#define _OMC_LIT1537 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1537)
#define _OMC_LIT1538_data ")) != 0) "
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1538,9,_OMC_LIT1538_data);
#define _OMC_LIT1538 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1538)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1539,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT1538}};
#define _OMC_LIT1539 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1539)
#define _OMC_LIT1540_data ") || strcmp(MMC_STRINGDATA(_OMC_LIT"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1540,35,_OMC_LIT1540_data);
#define _OMC_LIT1540 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1540)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1541,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT1540}};
#define _OMC_LIT1541 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1541)
#define _OMC_LIT1542_data "), MMC_STRINGDATA("
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1542,18,_OMC_LIT1542_data);
#define _OMC_LIT1542 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1542)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1543,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT1542}};
#define _OMC_LIT1543 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1543)
#define _OMC_LIT1544_data "if (!optionNone("
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1544,16,_OMC_LIT1544_data);
#define _OMC_LIT1544 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1544)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1545,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT1544}};
#define _OMC_LIT1545 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1545)
#define _OMC_LIT1546_data "if (!valueEq(_OMC_LIT"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1546,21,_OMC_LIT1546_data);
#define _OMC_LIT1546 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1546)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1547,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT1546}};
#define _OMC_LIT1547 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1547)
#define _OMC_LIT1548_data "UNKNOWN_CONSTANT_PATTERN "
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1548,25,_OMC_LIT1548_data);
#define _OMC_LIT1548 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1548)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1549,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT1548}};
#define _OMC_LIT1549 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1549)
#define _OMC_LIT1550_data "Improve simplifcation, got pattern assignment _ = "
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1550,50,_OMC_LIT1550_data);
#define _OMC_LIT1550 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1550)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1551,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT1550}};
#define _OMC_LIT1551 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1551)
#define _OMC_LIT1552_data ", expected NORETCALL"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1552,20,_OMC_LIT1552_data);
#define _OMC_LIT1552 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1552)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1553,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT1552}};
#define _OMC_LIT1553 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1553)
#define _OMC_LIT1554_data "/* Pattern-matching assignment */\n"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1554,34,_OMC_LIT1554_data);
#define _OMC_LIT1554 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1554)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1555,2,5) {&Tpl_StringToken_ST__LINE__desc,_OMC_LIT1554}};
#define _OMC_LIT1555 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1555)
#define _OMC_LIT1556_data "/* Pattern-matching tuple assignment, wild first pattern */"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1556,59,_OMC_LIT1556_data);
#define _OMC_LIT1556 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1556)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1557,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT1556}};
#define _OMC_LIT1557 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1557)
#define _OMC_LIT1558_data "/* Pattern-matching tuple assignment */\n"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1558,40,_OMC_LIT1558_data);
#define _OMC_LIT1558 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1558)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1559,2,5) {&Tpl_StringToken_ST__LINE__desc,_OMC_LIT1558}};
#define _OMC_LIT1559 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1559)
#define _OMC_LIT1560_data "2"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1560,1,_OMC_LIT1560_data);
#define _OMC_LIT1560 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1560)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1561,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT1560}};
#define _OMC_LIT1561 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1561)
#define _OMC_LIT1562_data "Unknown dimensions may not be part of generated code. This is most likely an error on the part of OpenModelica. Please submit a detailed bug-report."
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1562,148,_OMC_LIT1562_data);
#define _OMC_LIT1562 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1562)
#define _OMC_LIT1563_data "dimension: INVALID_DIMENSION"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1563,28,_OMC_LIT1563_data);
#define _OMC_LIT1563 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1563)
#define _OMC_LIT1564_data "Negeative dimension(unknown dimensions) may not be part of generated code. This is most likely an error on the part of OpenModelica. Please submit a detailed bug-report."
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1564,169,_OMC_LIT1564_data);
#define _OMC_LIT1564 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1564)
#define _OMC_LIT1565_data "expTypeFromOpFlag:ERROR"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1565,23,_OMC_LIT1565_data);
#define _OMC_LIT1565 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1565)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1566,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT567}};
#define _OMC_LIT1566 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1566)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1567,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT71}};
#define _OMC_LIT1567 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1567)
#define _OMC_LIT1568_data "expTypeFromExpFlag(flag="
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1568,24,_OMC_LIT1568_data);
#define _OMC_LIT1568 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1568)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1569,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT1568}};
#define _OMC_LIT1569 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1569)
#define _OMC_LIT1570_data "):"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1570,2,_OMC_LIT1570_data);
#define _OMC_LIT1570 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1570)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1571,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT1570}};
#define _OMC_LIT1571 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1571)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1572,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT461}};
#define _OMC_LIT1572 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1572)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1573,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT140}};
#define _OMC_LIT1573 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1573)
#define _OMC_LIT1574_data "string"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1574,6,_OMC_LIT1574_data);
#define _OMC_LIT1574 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1574)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1575,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT1574}};
#define _OMC_LIT1575 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1575)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1576,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT799}};
#define _OMC_LIT1576 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1576)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1577,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT704}};
#define _OMC_LIT1577 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1577)
#define _OMC_LIT1578_data "double"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1578,6,_OMC_LIT1578_data);
#define _OMC_LIT1578 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1578)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1579,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT1578}};
#define _OMC_LIT1579 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1579)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1580,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT916}};
#define _OMC_LIT1580 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1580)
#define _OMC_LIT1581_data "I do not know the external type of "
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1581,35,_OMC_LIT1581_data);
#define _OMC_LIT1581 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1581)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1582,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT1581}};
#define _OMC_LIT1582 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1582)
#define _OMC_LIT1583_data "modelica_"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1583,9,_OMC_LIT1583_data);
#define _OMC_LIT1583 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1583)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1584,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT1583}};
#define _OMC_LIT1584 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1584)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1585,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT276}};
#define _OMC_LIT1585 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1585)
#define _OMC_LIT1586_data "fnptr"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1586,5,_OMC_LIT1586_data);
#define _OMC_LIT1586 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1586)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1587,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT1586}};
#define _OMC_LIT1587 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1587)
#define _OMC_LIT1588_data "mmcTypeShort:ERROR "
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1588,19,_OMC_LIT1588_data);
#define _OMC_LIT1588 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1588)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1589,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT1588}};
#define _OMC_LIT1589 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1589)
#define _OMC_LIT1590_data "expTypeShort: "
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1590,14,_OMC_LIT1590_data);
#define _OMC_LIT1590 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1590)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1591,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT1590}};
#define _OMC_LIT1591 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1591)
#define _OMC_LIT1592_data "real /* assuming real for unknown type! */"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1592,42,_OMC_LIT1592_data);
#define _OMC_LIT1592 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1592)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1593,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT1592}};
#define _OMC_LIT1593 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1593)
#define _OMC_LIT1594_data "complex /* assuming void* for unknown type! when -g=MetaModelica */ "
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1594,68,_OMC_LIT1594_data);
#define _OMC_LIT1594 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1594)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1595,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT1594}};
#define _OMC_LIT1595 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1595)
#define _OMC_LIT1596_data "TYPE_DESC_INT"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1596,13,_OMC_LIT1596_data);
#define _OMC_LIT1596 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1596)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1597,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT1596}};
#define _OMC_LIT1597 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1597)
#define _OMC_LIT1598_data "TYPE_DESC_REAL"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1598,14,_OMC_LIT1598_data);
#define _OMC_LIT1598 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1598)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1599,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT1598}};
#define _OMC_LIT1599 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1599)
#define _OMC_LIT1600_data "TYPE_DESC_STRING"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1600,16,_OMC_LIT1600_data);
#define _OMC_LIT1600 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1600)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1601,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT1600}};
#define _OMC_LIT1601 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1601)
#define _OMC_LIT1602_data "TYPE_DESC_BOOL"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1602,14,_OMC_LIT1602_data);
#define _OMC_LIT1602 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1602)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1603,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT1602}};
#define _OMC_LIT1603 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1603)
#define _OMC_LIT1604_data "_ARRAY"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1604,6,_OMC_LIT1604_data);
#define _OMC_LIT1604 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1604)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1605,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT1604}};
#define _OMC_LIT1605 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1605)
#define _OMC_LIT1606_data "TYPE_DESC_RECORD"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1606,16,_OMC_LIT1606_data);
#define _OMC_LIT1606 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1606)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1607,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT1606}};
#define _OMC_LIT1607 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1607)
#define _OMC_LIT1608_data "TYPE_DESC_MMC"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1608,13,_OMC_LIT1608_data);
#define _OMC_LIT1608 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1608)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1609,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT1608}};
#define _OMC_LIT1609 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1609)
#define _OMC_LIT1610_data "/* "
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1610,3,_OMC_LIT1610_data);
#define _OMC_LIT1610 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1610)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1611,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT1610}};
#define _OMC_LIT1611 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1611)
#define _OMC_LIT1612_data "this_function->local_vars->"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1612,27,_OMC_LIT1612_data);
#define _OMC_LIT1612 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1612)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1613,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT1612}};
#define _OMC_LIT1613 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1613)
#define _OMC_LIT1614_data "] "
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1614,2,_OMC_LIT1614_data);
#define _OMC_LIT1614 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1614)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1615,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT1614}};
#define _OMC_LIT1615 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1615)
#define _OMC_LIT1616_data "model_vars_and_params->"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1616,23,_OMC_LIT1616_data);
#define _OMC_LIT1616 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1616)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1617,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT1616}};
#define _OMC_LIT1617 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1617)
#define _OMC_LIT1618_data " /* TODO: Check why pre variable  "
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1618,34,_OMC_LIT1618_data);
#define _OMC_LIT1618 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1618)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1619,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT1618}};
#define _OMC_LIT1619 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1619)
#define _OMC_LIT1620_data " is not in local hash table! */"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1620,31,_OMC_LIT1620_data);
#define _OMC_LIT1620 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1620)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1621,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT1620}};
#define _OMC_LIT1621 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1621)
#define _OMC_LIT1622_data "this_function->function_vars->time_value"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1622,40,_OMC_LIT1622_data);
#define _OMC_LIT1622 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1622)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1623,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT1622}};
#define _OMC_LIT1623 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1623)
#define _OMC_LIT1624_data "ERROR in crefOMSI: No valid SimCodeFunction.Context"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1624,51,_OMC_LIT1624_data);
#define _OMC_LIT1624 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1624)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1625,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT1624}};
#define _OMC_LIT1625 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1625)
#define _OMC_LIT1626_data "modelica_fnptr"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1626,14,_OMC_LIT1626_data);
#define _OMC_LIT1626 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1626)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1627,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT1626}};
#define _OMC_LIT1627 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1627)
#define _OMC_LIT1628_data "device_"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1628,7,_OMC_LIT1628_data);
#define _OMC_LIT1628 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1628)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1629,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT1628}};
#define _OMC_LIT1629 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1629)
#define _OMC_LIT1630_data "device_local_"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1630,13,_OMC_LIT1630_data);
#define _OMC_LIT1630 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1630)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1631,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT1630}};
#define _OMC_LIT1631 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1631)
#define _OMC_LIT1632_data "literalExpConstArrayVal failed: "
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1632,32,_OMC_LIT1632_data);
#define _OMC_LIT1632 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1632)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1633,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT1632}};
#define _OMC_LIT1633 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1633)
#define _OMC_LIT1634_data "_OMC_LIT_STRUCT"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1634,15,_OMC_LIT1634_data);
#define _OMC_LIT1634 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1634)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1635,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT1634}};
#define _OMC_LIT1635 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1635)
#define _OMC_LIT1636_data "static const MMC_DEFREALLIT("
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1636,28,_OMC_LIT1636_data);
#define _OMC_LIT1636 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1636)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1637,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT1636}};
#define _OMC_LIT1637 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1637)
#define _OMC_LIT1638_data "#define "
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1638,8,_OMC_LIT1638_data);
#define _OMC_LIT1638 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1638)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1639,2,1) {_OMC_LIT1638,MMC_REFSTRUCTLIT(mmc_nil)}};
#define _OMC_LIT1639 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1639)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1640,2,1) {_OMC_LIT374,_OMC_LIT1639}};
#define _OMC_LIT1640 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1640)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1641,3,6) {&Tpl_StringToken_ST__STRING__LIST__desc,_OMC_LIT1640,MMC_IMMEDIATE(MMC_TAGFIXNUM(0))}};
#define _OMC_LIT1641 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1641)
#define _OMC_LIT1642_data " MMC_REFREALLIT("
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1642,16,_OMC_LIT1642_data);
#define _OMC_LIT1642 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1642)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1643,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT1642}};
#define _OMC_LIT1643 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1643)
#define _OMC_LIT1644_data "MMC_IMMEDIATE(MMC_TAGFIXNUM("
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1644,28,_OMC_LIT1644_data);
#define _OMC_LIT1644 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1644)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1645,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT1644}};
#define _OMC_LIT1645 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1645)
#define _OMC_LIT1646_data "MMC_REFSTRUCTLIT(mmc_none)"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1646,26,_OMC_LIT1646_data);
#define _OMC_LIT1646 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1646)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1647,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT1646}};
#define _OMC_LIT1647 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1647)
#define _OMC_LIT1648_data "literalExpConstBoxedVal failed: "
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1648,32,_OMC_LIT1648_data);
#define _OMC_LIT1648 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1648)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1649,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT1648}};
#define _OMC_LIT1649 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1649)
#define _OMC_LIT1650_data "static modelica_metatype const "
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1650,31,_OMC_LIT1650_data);
#define _OMC_LIT1650 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1650)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1651,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT1650}};
#define _OMC_LIT1651 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1651)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1652,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT1638}};
#define _OMC_LIT1652 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1652)
#define _OMC_LIT1653_data "_data \""
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1653,7,_OMC_LIT1653_data);
#define _OMC_LIT1653 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1653)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1654,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT1653}};
#define _OMC_LIT1654 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1654)
#define _OMC_LIT1655_data "\"\n"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1655,2,_OMC_LIT1655_data);
#define _OMC_LIT1655 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1655)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1656,2,1) {_OMC_LIT1348,MMC_REFSTRUCTLIT(mmc_nil)}};
#define _OMC_LIT1656 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1656)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1657,2,1) {_OMC_LIT1655,_OMC_LIT1656}};
#define _OMC_LIT1657 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1657)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1658,3,6) {&Tpl_StringToken_ST__STRING__LIST__desc,_OMC_LIT1657,MMC_IMMEDIATE(MMC_TAGFIXNUM(0))}};
#define _OMC_LIT1658 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1658)
#define _OMC_LIT1659_data "_data);\n"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1659,8,_OMC_LIT1659_data);
#define _OMC_LIT1659 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1659)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1660,2,1) {_OMC_LIT1659,_OMC_LIT1639}};
#define _OMC_LIT1660 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1660)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1661,3,6) {&Tpl_StringToken_ST__STRING__LIST__desc,_OMC_LIT1660,MMC_IMMEDIATE(MMC_TAGFIXNUM(0))}};
#define _OMC_LIT1661 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1661)
#define _OMC_LIT1662_data " MMC_REFSTRINGLIT("
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1662,18,_OMC_LIT1662_data);
#define _OMC_LIT1662 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1662)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1663,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT1662}};
#define _OMC_LIT1663 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1663)
#define _OMC_LIT1664_data "static _index_t "
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1664,16,_OMC_LIT1664_data);
#define _OMC_LIT1664 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1664)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1665,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT1664}};
#define _OMC_LIT1665 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1665)
#define _OMC_LIT1666_data "_dims["
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1666,6,_OMC_LIT1666_data);
#define _OMC_LIT1666 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1666)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1667,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT1666}};
#define _OMC_LIT1667 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1667)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1668,2,5) {&Tpl_StringToken_ST__LINE__desc,_OMC_LIT1476}};
#define _OMC_LIT1668 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1668)
#define _OMC_LIT1669_data " = MMC_IMMEDIATE(MMC_TAGFIXNUM("
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1669,31,_OMC_LIT1669_data);
#define _OMC_LIT1669 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1669)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1670,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT1669}};
#define _OMC_LIT1670 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1670)
#define _OMC_LIT1671_data "_car"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1671,4,_OMC_LIT1671_data);
#define _OMC_LIT1671 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1671)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1672,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT1671}};
#define _OMC_LIT1672 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1672)
#define _OMC_LIT1673_data "_cdr"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1673,4,_OMC_LIT1673_data);
#define _OMC_LIT1673 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1673)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1674,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT1673}};
#define _OMC_LIT1674 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1674)
#define _OMC_LIT1675_data "static const MMC_DEFSTRUCTLIT("
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1675,30,_OMC_LIT1675_data);
#define _OMC_LIT1675 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1675)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1676,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT1675}};
#define _OMC_LIT1676 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1676)
#define _OMC_LIT1677_data ",2,1) {"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1677,7,_OMC_LIT1677_data);
#define _OMC_LIT1677 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1677)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1678,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT1677}};
#define _OMC_LIT1678 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1678)
#define _OMC_LIT1679_data "}};\n"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1679,4,_OMC_LIT1679_data);
#define _OMC_LIT1679 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1679)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1680,2,1) {_OMC_LIT1679,_OMC_LIT1639}};
#define _OMC_LIT1680 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1680)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1681,3,6) {&Tpl_StringToken_ST__STRING__LIST__desc,_OMC_LIT1680,MMC_IMMEDIATE(MMC_TAGFIXNUM(0))}};
#define _OMC_LIT1681 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1681)
#define _OMC_LIT1682_data " MMC_REFSTRUCTLIT("
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1682,18,_OMC_LIT1682_data);
#define _OMC_LIT1682 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1682)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1683,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT1682}};
#define _OMC_LIT1683 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1683)
#define _OMC_LIT1684_data "_cons_"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1684,6,_OMC_LIT1684_data);
#define _OMC_LIT1684 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1684)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1685,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT1684}};
#define _OMC_LIT1685 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1685)
#define _OMC_LIT1686_data "static const "
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1686,13,_OMC_LIT1686_data);
#define _OMC_LIT1686 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1686)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1687,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT1686}};
#define _OMC_LIT1687 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1687)
#define _OMC_LIT1688_data " {"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1688,2,_OMC_LIT1688_data);
#define _OMC_LIT1688 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1688)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1689,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT1688}};
#define _OMC_LIT1689 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1689)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1690,1,1) {_OMC_LIT226}};
#define _OMC_LIT1690 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1690)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1691,9,3) {&Tpl_IterOptions_ITER__OPTIONS__desc,MMC_IMMEDIATE(MMC_TAGFIXNUM(0)),MMC_REFSTRUCTLIT(mmc_none),_OMC_LIT1690,MMC_IMMEDIATE(MMC_TAGFIXNUM(0)),MMC_IMMEDIATE(MMC_TAGFIXNUM(0)),_OMC_LIT89,MMC_IMMEDIATE(MMC_TAGFIXNUM(0)),_OMC_LIT89}};
#define _OMC_LIT1691 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1691)
#define _OMC_LIT1692_data "_1"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1692,2,_OMC_LIT1692_data);
#define _OMC_LIT1692 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1692)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1693,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT1692}};
#define _OMC_LIT1693 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1693)
#define _OMC_LIT1694_data ",1,1) {"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1694,7,_OMC_LIT1694_data);
#define _OMC_LIT1694 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1694)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1695,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT1694}};
#define _OMC_LIT1695 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1695)
#define _OMC_LIT1696_data ") {&"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1696,4,_OMC_LIT1696_data);
#define _OMC_LIT1696 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1696)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1697,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT1696}};
#define _OMC_LIT1697 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1697)
#define _OMC_LIT1698_data "__desc,"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1698,7,_OMC_LIT1698_data);
#define _OMC_LIT1698 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1698)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1699,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT1698}};
#define _OMC_LIT1699 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1699)
#define _OMC_LIT1700_data "literalExpConst failed: "
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1700,24,_OMC_LIT1700_data);
#define _OMC_LIT1700 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1700)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1701,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT1700}};
#define _OMC_LIT1701 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1701)
#define _OMC_LIT1702_data "listArrayLiteral"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1702,16,_OMC_LIT1702_data);
#define _OMC_LIT1702 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1702)
#define _OMC_LIT1703_data ",MMC_ARRAY_TAG) {"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1703,17,_OMC_LIT1703_data);
#define _OMC_LIT1703 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1703)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1704,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT1703}};
#define _OMC_LIT1704 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1704)
#define _OMC_LIT1705_data "literalExpConst failed; listArrayLiteral requires a list or cons-cells: "
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1705,72,_OMC_LIT1705_data);
#define _OMC_LIT1705 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1705)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1706,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT1705}};
#define _OMC_LIT1706 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1706)
#define _OMC_LIT1707_data "MMC_DEFSTRUCTLIT("
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1707,17,_OMC_LIT1707_data);
#define _OMC_LIT1707 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1707)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1708,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT1707}};
#define _OMC_LIT1708 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1708)
#define _OMC_LIT1709_data ",0)"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1709,3,_OMC_LIT1709_data);
#define _OMC_LIT1709 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1709)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1710,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT1709}};
#define _OMC_LIT1710 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1710)
#define _OMC_LIT1711_data "MMC_DEFSTRUCT0LIT("
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1711,18,_OMC_LIT1711_data);
#define _OMC_LIT1711 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1711)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1712,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT1711}};
#define _OMC_LIT1712 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1712)
#define _OMC_LIT1713_data "_elt_"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1713,5,_OMC_LIT1713_data);
#define _OMC_LIT1713 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1713)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1714,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT1713}};
#define _OMC_LIT1714 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1714)
#define _OMC_LIT1715_data ",MMC_REFSTRUCTLIT("
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1715,18,_OMC_LIT1715_data);
#define _OMC_LIT1715 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1715)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1716,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT1715}};
#define _OMC_LIT1716 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1716)
#define _OMC_LIT1717_data ")}};"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1717,4,_OMC_LIT1717_data);
#define _OMC_LIT1717 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1717)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1718,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT1717}};
#define _OMC_LIT1718 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1718)
#define _OMC_LIT1719_data "mmc_nil"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1719,7,_OMC_LIT1719_data);
#define _OMC_LIT1719 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1719)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1720,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT1719}};
#define _OMC_LIT1720 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1720)
#define _OMC_LIT1721_data "static base_array_t const "
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1721,26,_OMC_LIT1721_data);
#define _OMC_LIT1721 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1721)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1722,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT1721}};
#define _OMC_LIT1722 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1722)
#define _OMC_LIT1723_data " = {\n"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1723,5,_OMC_LIT1723_data);
#define _OMC_LIT1723 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1723)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1724,2,5) {&Tpl_StringToken_ST__LINE__desc,_OMC_LIT1723}};
#define _OMC_LIT1724 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1724)
#define _OMC_LIT1725_data "_dims, (void*) 0, (modelica_boolean) 0\n"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1725,39,_OMC_LIT1725_data);
#define _OMC_LIT1725 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1725)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1726,2,5) {&Tpl_StringToken_ST__LINE__desc,_OMC_LIT1725}};
#define _OMC_LIT1726 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1726)
#define _OMC_LIT1727_data "static const modelica_"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1727,22,_OMC_LIT1727_data);
#define _OMC_LIT1727 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1727)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1728,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT1727}};
#define _OMC_LIT1728 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1728)
#define _OMC_LIT1729_data "_data[] = {"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1729,11,_OMC_LIT1729_data);
#define _OMC_LIT1729 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1729)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1730,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT1729}};
#define _OMC_LIT1730 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1730)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1731,2,1) {_OMC_LIT958,MMC_REFSTRUCTLIT(mmc_nil)}};
#define _OMC_LIT1731 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1731)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1732,2,1) {_OMC_LIT1476,_OMC_LIT1731}};
#define _OMC_LIT1732 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1732)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1733,3,6) {&Tpl_StringToken_ST__STRING__LIST__desc,_OMC_LIT1732,MMC_IMMEDIATE(MMC_TAGFIXNUM(0))}};
#define _OMC_LIT1733 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1733)
#define _OMC_LIT1734_data "_array const "
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1734,13,_OMC_LIT1734_data);
#define _OMC_LIT1734 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1734)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1735,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT1734}};
#define _OMC_LIT1735 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1735)
#define _OMC_LIT1736_data "_dims, (void*) "
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1736,15,_OMC_LIT1736_data);
#define _OMC_LIT1736 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1736)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1737,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT1736}};
#define _OMC_LIT1737 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1737)
#define _OMC_LIT1738_data "_data, (modelica_boolean) 0\n"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1738,28,_OMC_LIT1738_data);
#define _OMC_LIT1738 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1738)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1739,2,5) {&Tpl_StringToken_ST__LINE__desc,_OMC_LIT1738}};
#define _OMC_LIT1739 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1739)
#define _OMC_LIT1740_data "/* Additional record code for "
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1740,30,_OMC_LIT1740_data);
#define _OMC_LIT1740 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1740)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1741,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT1740}};
#define _OMC_LIT1741 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1741)
#define _OMC_LIT1742_data " generated by the OpenModelica Compiler "
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1742,40,_OMC_LIT1742_data);
#define _OMC_LIT1742 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1742)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1743,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT1742}};
#define _OMC_LIT1743 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1743)
#define _OMC_LIT1744_data ". */\n"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1744,5,_OMC_LIT1744_data);
#define _OMC_LIT1744 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1744)
#define _OMC_LIT1745_data "#include \"omc_simulation_settings.h\"\n"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1745,37,_OMC_LIT1745_data);
#define _OMC_LIT1745 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1745)
#define _OMC_LIT1746_data "#include \"meta/meta_modelica.h\"\n"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1746,32,_OMC_LIT1746_data);
#define _OMC_LIT1746 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1746)
#define _OMC_LIT1747_data "#include \""
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1747,10,_OMC_LIT1747_data);
#define _OMC_LIT1747 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1747)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1748,2,1) {_OMC_LIT1747,MMC_REFSTRUCTLIT(mmc_nil)}};
#define _OMC_LIT1748 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1748)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1749,2,1) {_OMC_LIT1746,_OMC_LIT1748}};
#define _OMC_LIT1749 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1749)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1750,2,1) {_OMC_LIT1745,_OMC_LIT1749}};
#define _OMC_LIT1750 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1750)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1751,2,1) {_OMC_LIT1167,_OMC_LIT1750}};
#define _OMC_LIT1751 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1751)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1752,2,1) {_OMC_LIT1744,_OMC_LIT1751}};
#define _OMC_LIT1752 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1752)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1753,3,6) {&Tpl_StringToken_ST__STRING__LIST__desc,_OMC_LIT1752,MMC_IMMEDIATE(MMC_TAGFIXNUM(0))}};
#define _OMC_LIT1753 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1753)
#define _OMC_LIT1754_data "#ifdef __cplusplus\n"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1754,19,_OMC_LIT1754_data);
#define _OMC_LIT1754 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1754)
#define _OMC_LIT1755_data "extern \"C\" {\n"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1755,13,_OMC_LIT1755_data);
#define _OMC_LIT1755 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1755)
#define _OMC_LIT1756_data "#endif\n"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1756,7,_OMC_LIT1756_data);
#define _OMC_LIT1756 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1756)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1757,2,1) {_OMC_LIT1167,MMC_REFSTRUCTLIT(mmc_nil)}};
#define _OMC_LIT1757 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1757)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1758,2,1) {_OMC_LIT1756,_OMC_LIT1757}};
#define _OMC_LIT1758 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1758)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1759,2,1) {_OMC_LIT1755,_OMC_LIT1758}};
#define _OMC_LIT1759 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1759)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1760,2,1) {_OMC_LIT1754,_OMC_LIT1759}};
#define _OMC_LIT1760 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1760)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1761,2,1) {_OMC_LIT1167,_OMC_LIT1760}};
#define _OMC_LIT1761 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1761)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1762,2,1) {_OMC_LIT1655,_OMC_LIT1761}};
#define _OMC_LIT1762 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1762)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1763,3,6) {&Tpl_StringToken_ST__STRING__LIST__desc,_OMC_LIT1762,MMC_IMMEDIATE(MMC_TAGFIXNUM(1))}};
#define _OMC_LIT1763 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1763)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1764,2,1) {_OMC_LIT1167,_OMC_LIT1757}};
#define _OMC_LIT1764 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1764)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1765,3,6) {&Tpl_StringToken_ST__STRING__LIST__desc,_OMC_LIT1764,MMC_IMMEDIATE(MMC_TAGFIXNUM(1))}};
#define _OMC_LIT1765 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1765)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1766,1,1) {_OMC_LIT1765}};
#define _OMC_LIT1766 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1766)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1767,9,3) {&Tpl_IterOptions_ITER__OPTIONS__desc,MMC_IMMEDIATE(MMC_TAGFIXNUM(0)),MMC_REFSTRUCTLIT(mmc_none),_OMC_LIT1766,MMC_IMMEDIATE(MMC_TAGFIXNUM(0)),MMC_IMMEDIATE(MMC_TAGFIXNUM(0)),_OMC_LIT89,MMC_IMMEDIATE(MMC_TAGFIXNUM(0)),_OMC_LIT89}};
#define _OMC_LIT1767 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1767)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1768,2,1) {_OMC_LIT151,_OMC_LIT1758}};
#define _OMC_LIT1768 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1768)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1769,2,1) {_OMC_LIT1754,_OMC_LIT1768}};
#define _OMC_LIT1769 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1769)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1770,2,1) {_OMC_LIT1167,_OMC_LIT1769}};
#define _OMC_LIT1770 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1770)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1771,3,6) {&Tpl_StringToken_ST__STRING__LIST__desc,_OMC_LIT1770,MMC_IMMEDIATE(MMC_TAGFIXNUM(1))}};
#define _OMC_LIT1771 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1771)
#define _OMC_LIT1772_data ".h"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1772,2,_OMC_LIT1772_data);
#define _OMC_LIT1772 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1772)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1773,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT1772}};
#define _OMC_LIT1773 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1773)
#define _OMC_LIT1774_data "_functions.h"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1774,12,_OMC_LIT1774_data);
#define _OMC_LIT1774 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1774)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1775,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT1774}};
#define _OMC_LIT1775 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1775)
#define _OMC_LIT1776_data "#include <ParModelica/explicit/openclrt/OCLRuntimeUtil.cl>\n"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1776,59,_OMC_LIT1776_data);
#define _OMC_LIT1776 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1776)
#define _OMC_LIT1777_data "// ParModelica Parallel Function headers.\n"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1777,42,_OMC_LIT1777_data);
#define _OMC_LIT1777 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1777)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1778,2,1) {_OMC_LIT1777,MMC_REFSTRUCTLIT(mmc_nil)}};
#define _OMC_LIT1778 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1778)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1779,2,1) {_OMC_LIT1167,_OMC_LIT1778}};
#define _OMC_LIT1779 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1779)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1780,2,1) {_OMC_LIT1776,_OMC_LIT1779}};
#define _OMC_LIT1780 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1780)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1781,3,6) {&Tpl_StringToken_ST__STRING__LIST__desc,_OMC_LIT1780,MMC_IMMEDIATE(MMC_TAGFIXNUM(1))}};
#define _OMC_LIT1781 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1781)
#define _OMC_LIT1782_data "// Headers finish here.\n"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1782,24,_OMC_LIT1782_data);
#define _OMC_LIT1782 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1782)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1783,2,1) {_OMC_LIT1782,_OMC_LIT1757}};
#define _OMC_LIT1783 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1783)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1784,2,1) {_OMC_LIT1167,_OMC_LIT1783}};
#define _OMC_LIT1784 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1784)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1785,3,6) {&Tpl_StringToken_ST__STRING__LIST__desc,_OMC_LIT1784,MMC_IMMEDIATE(MMC_TAGFIXNUM(1))}};
#define _OMC_LIT1785 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1785)
#define _OMC_LIT1786_data "infoStreamPrint(LOG_EVENTS, 0, \"reinit "
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1786,39,_OMC_LIT1786_data);
#define _OMC_LIT1786 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1786)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1787,2,1) {_OMC_LIT1786,MMC_REFSTRUCTLIT(mmc_nil)}};
#define _OMC_LIT1787 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1787)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1788,2,1) {_OMC_LIT160,_OMC_LIT1787}};
#define _OMC_LIT1788 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1788)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1789,3,6) {&Tpl_StringToken_ST__STRING__LIST__desc,_OMC_LIT1788,MMC_IMMEDIATE(MMC_TAGFIXNUM(0))}};
#define _OMC_LIT1789 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1789)
#define _OMC_LIT1790_data " = %f\", "
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1790,8,_OMC_LIT1790_data);
#define _OMC_LIT1790 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1790)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1791,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT1790}};
#define _OMC_LIT1791 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1791)
#define _OMC_LIT1792_data "data->simulationInfo->needToIterate = 1;"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1792,40,_OMC_LIT1792_data);
#define _OMC_LIT1792 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1792)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1793,2,1) {_OMC_LIT1792,MMC_REFSTRUCTLIT(mmc_nil)}};
#define _OMC_LIT1793 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1793)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1794,2,1) {_OMC_LIT374,_OMC_LIT1793}};
#define _OMC_LIT1794 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1794)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1795,3,6) {&Tpl_StringToken_ST__STRING__LIST__desc,_OMC_LIT1794,MMC_IMMEDIATE(MMC_TAGFIXNUM(0))}};
#define _OMC_LIT1795 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1795)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1796,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT1178}};
#define _OMC_LIT1796 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1796)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1797,2,3) {&SimCodeFunction_Context_SIMULATION__CONTEXT__desc,MMC_IMMEDIATE(MMC_TAGFIXNUM(1))}};
#define _OMC_LIT1797 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1797)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1798,1,1) {_OMC_LIT1063}};
#define _OMC_LIT1798 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1798)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1799,9,3) {&Tpl_IterOptions_ITER__OPTIONS__desc,MMC_IMMEDIATE(MMC_TAGFIXNUM(0)),MMC_REFSTRUCTLIT(mmc_none),_OMC_LIT1798,MMC_IMMEDIATE(MMC_TAGFIXNUM(0)),MMC_IMMEDIATE(MMC_TAGFIXNUM(0)),_OMC_LIT89,MMC_IMMEDIATE(MMC_TAGFIXNUM(0)),_OMC_LIT89}};
#define _OMC_LIT1799 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1799)
#define _OMC_LIT1800_data " /* edge */)"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1800,12,_OMC_LIT1800_data);
#define _OMC_LIT1800 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1800)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1801,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT1800}};
#define _OMC_LIT1801 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1801)
#define _OMC_LIT1802_data "if(data->simulationInfo->discreteCall == 1)\n"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1802,44,_OMC_LIT1802_data);
#define _OMC_LIT1802 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1802)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1803,2,1) {_OMC_LIT1802,_OMC_LIT426}};
#define _OMC_LIT1803 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1803)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1804,3,6) {&Tpl_StringToken_ST__STRING__LIST__desc,_OMC_LIT1803,MMC_IMMEDIATE(MMC_TAGFIXNUM(1))}};
#define _OMC_LIT1804 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1804)
#define _OMC_LIT1805_data " = 0; /* begin failure */\n"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1805,26,_OMC_LIT1805_data);
#define _OMC_LIT1805 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1805)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1806,2,1) {_OMC_LIT203,MMC_REFSTRUCTLIT(mmc_nil)}};
#define _OMC_LIT1806 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1806)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1807,2,1) {_OMC_LIT1805,_OMC_LIT1806}};
#define _OMC_LIT1807 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1807)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1808,3,6) {&Tpl_StringToken_ST__STRING__LIST__desc,_OMC_LIT1807,MMC_IMMEDIATE(MMC_TAGFIXNUM(1))}};
#define _OMC_LIT1808 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1808)
#define _OMC_LIT1809_data "MMC_CATCH_INTERNAL(mmc_jumper)"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1809,30,_OMC_LIT1809_data);
#define _OMC_LIT1809 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1809)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1810,2,1) {_OMC_LIT1809,MMC_REFSTRUCTLIT(mmc_nil)}};
#define _OMC_LIT1810 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1810)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1811,2,1) {_OMC_LIT173,_OMC_LIT1810}};
#define _OMC_LIT1811 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1811)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1812,3,6) {&Tpl_StringToken_ST__STRING__LIST__desc,_OMC_LIT1811,MMC_IMMEDIATE(MMC_TAGFIXNUM(0))}};
#define _OMC_LIT1812 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1812)
#define _OMC_LIT1813_data ") {"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1813,3,_OMC_LIT1813_data);
#define _OMC_LIT1813 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1813)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1814,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT1813}};
#define _OMC_LIT1814 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1814)
#define _OMC_LIT1815_data ";} /* end failure */"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1815,20,_OMC_LIT1815_data);
#define _OMC_LIT1815 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1815)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1816,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT1815}};
#define _OMC_LIT1816 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1816)
#define _OMC_LIT1817_data "omc_terminate(info, MMC_STRINGDATA("
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1817,35,_OMC_LIT1817_data);
#define _OMC_LIT1817 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1817)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1818,2,1) {_OMC_LIT1817,MMC_REFSTRUCTLIT(mmc_nil)}};
#define _OMC_LIT1818 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1818)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1819,2,1) {_OMC_LIT1476,_OMC_LIT1818}};
#define _OMC_LIT1819 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1819)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1820,3,6) {&Tpl_StringToken_ST__STRING__LIST__desc,_OMC_LIT1819,MMC_IMMEDIATE(MMC_TAGFIXNUM(0))}};
#define _OMC_LIT1820 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1820)
#define _OMC_LIT1821_data "while(1)\n"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1821,9,_OMC_LIT1821_data);
#define _OMC_LIT1821 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1821)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1822,2,1) {_OMC_LIT1821,_OMC_LIT426}};
#define _OMC_LIT1822 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1822)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1823,3,6) {&Tpl_StringToken_ST__STRING__LIST__desc,_OMC_LIT1822,MMC_IMMEDIATE(MMC_TAGFIXNUM(1))}};
#define _OMC_LIT1823 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1823)
#define _OMC_LIT1824_data ") break;\n"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1824,9,_OMC_LIT1824_data);
#define _OMC_LIT1824 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1824)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1825,2,5) {&Tpl_StringToken_ST__LINE__desc,_OMC_LIT1824}};
#define _OMC_LIT1825 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1825)
#define _OMC_LIT1826_data "for("
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1826,4,_OMC_LIT1826_data);
#define _OMC_LIT1826 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1826)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1827,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT1826}};
#define _OMC_LIT1827 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1827)
#define _OMC_LIT1828_data " = 1; "
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1828,6,_OMC_LIT1828_data);
#define _OMC_LIT1828 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1828)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1829,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT1828}};
#define _OMC_LIT1829 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1829)
#define _OMC_LIT1830_data ", 1); ++"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1830,8,_OMC_LIT1830_data);
#define _OMC_LIT1830 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1830)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1831,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT1830}};
#define _OMC_LIT1831 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1831)
#define _OMC_LIT1832_data "simple_index_alloc_"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1832,19,_OMC_LIT1832_data);
#define _OMC_LIT1832 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1832)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1833,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT1832}};
#define _OMC_LIT1833 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1833)
#define _OMC_LIT1834_data "1(&"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1834,3,_OMC_LIT1834_data);
#define _OMC_LIT1834 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1834)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1835,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT1834}};
#define _OMC_LIT1835 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1835)
#define _OMC_LIT1836_data "for ("
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1836,5,_OMC_LIT1836_data);
#define _OMC_LIT1836 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1836)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1837,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT1836}};
#define _OMC_LIT1837 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1837)
#define _OMC_LIT1838_data " = arrayLength("
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1838,15,_OMC_LIT1838_data);
#define _OMC_LIT1838 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1838)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1839,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT1838}};
#define _OMC_LIT1839 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1839)
#define _OMC_LIT1840_data "++)\n"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1840,4,_OMC_LIT1840_data);
#define _OMC_LIT1840 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1840)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1841,2,1) {_OMC_LIT1840,_OMC_LIT426}};
#define _OMC_LIT1841 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1841)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1842,3,6) {&Tpl_StringToken_ST__STRING__LIST__desc,_OMC_LIT1841,MMC_IMMEDIATE(MMC_TAGFIXNUM(1))}};
#define _OMC_LIT1842 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1842)
#define _OMC_LIT1843_data "; !listEmpty("
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1843,13,_OMC_LIT1843_data);
#define _OMC_LIT1843 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1843)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1844,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT1843}};
#define _OMC_LIT1844 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1844)
#define _OMC_LIT1845_data "); "
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1845,3,_OMC_LIT1845_data);
#define _OMC_LIT1845 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1845)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1846,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT1845}};
#define _OMC_LIT1846 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1846)
#define _OMC_LIT1847_data "=MMC_CDR("
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1847,9,_OMC_LIT1847_data);
#define _OMC_LIT1847 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1847)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1848,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT1847}};
#define _OMC_LIT1848 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1848)
#define _OMC_LIT1849_data " iterator is not supported"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1849,26,_OMC_LIT1849_data);
#define _OMC_LIT1849 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1849)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1850,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT1849}};
#define _OMC_LIT1850 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1850)
#define _OMC_LIT1851_data "if(!((("
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1851,7,_OMC_LIT1851_data);
#define _OMC_LIT1851 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1851)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1852,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT1851}};
#define _OMC_LIT1852 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1852)
#define _OMC_LIT1853_data " > 0) && ("
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1853,10,_OMC_LIT1853_data);
#define _OMC_LIT1853 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1853)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1854,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT1853}};
#define _OMC_LIT1854 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1854)
#define _OMC_LIT1855_data ")) || (("
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1855,8,_OMC_LIT1855_data);
#define _OMC_LIT1855 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1855)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1856,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT1855}};
#define _OMC_LIT1856 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1856)
#define _OMC_LIT1857_data " < 0) && ("
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1857,10,_OMC_LIT1857_data);
#define _OMC_LIT1857 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1857)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1858,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT1857}};
#define _OMC_LIT1858 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1858)
#define _OMC_LIT1859_data "))))\n"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1859,5,_OMC_LIT1859_data);
#define _OMC_LIT1859 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1859)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1860,2,1) {_OMC_LIT1859,_OMC_LIT426}};
#define _OMC_LIT1860 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1860)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1861,3,6) {&Tpl_StringToken_ST__STRING__LIST__desc,_OMC_LIT1860,MMC_IMMEDIATE(MMC_TAGFIXNUM(1))}};
#define _OMC_LIT1861 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1861)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1862,2,1) {_OMC_LIT1826,MMC_REFSTRUCTLIT(mmc_nil)}};
#define _OMC_LIT1862 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1862)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1863,2,1) {_OMC_LIT160,_OMC_LIT1862}};
#define _OMC_LIT1863 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1863)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1864,3,6) {&Tpl_StringToken_ST__STRING__LIST__desc,_OMC_LIT1863,MMC_IMMEDIATE(MMC_TAGFIXNUM(0))}};
#define _OMC_LIT1864 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1864)
#define _OMC_LIT1865_data "; in_range_"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1865,11,_OMC_LIT1865_data);
#define _OMC_LIT1865 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1865)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1866,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT1865}};
#define _OMC_LIT1866 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1866)
#define _OMC_LIT1867_data "  FILE_INFO info = omc_dummyFileInfo;"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1867,37,_OMC_LIT1867_data);
#define _OMC_LIT1867 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1867)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1868,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT1867}};
#define _OMC_LIT1868 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1868)
#define _OMC_LIT1869_data "  omc_assert"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1869,12,_OMC_LIT1869_data);
#define _OMC_LIT1869 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1869)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1870,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT1869}};
#define _OMC_LIT1870 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1870)
#define _OMC_LIT1871_data "(threadData, info, "
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1871,19,_OMC_LIT1871_data);
#define _OMC_LIT1871 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1871)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1872,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT1871}};
#define _OMC_LIT1872 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1872)
#define _OMC_LIT1873_data "\"assertion range step != 0 failed\");"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1873,36,_OMC_LIT1873_data);
#define _OMC_LIT1873 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1873)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1874,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT1873}};
#define _OMC_LIT1874 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1874)
#define _OMC_LIT1875_data "} else "
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1875,7,_OMC_LIT1875_data);
#define _OMC_LIT1875 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1875)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1876,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT1875}};
#define _OMC_LIT1876 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1876)
#define _OMC_LIT1877_data "((modelica_integer) 1)"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1877,22,_OMC_LIT1877_data);
#define _OMC_LIT1877 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1877)
#define _OMC_LIT1878_data "((modelica_integer) -1)"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1878,23,_OMC_LIT1878_data);
#define _OMC_LIT1878 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1878)
#define _OMC_LIT1879_data "cl_kernel"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1879,9,_OMC_LIT1879_data);
#define _OMC_LIT1879 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1879)
#define _OMC_LIT1880_data "parfor_"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1880,7,_OMC_LIT1880_data);
#define _OMC_LIT1880 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1880)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1881,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT1880}};
#define _OMC_LIT1881 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1881)
#define _OMC_LIT1882_data "_arg_nr"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1882,7,_OMC_LIT1882_data);
#define _OMC_LIT1882 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1882)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1883,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT1882}};
#define _OMC_LIT1883 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1883)
#define _OMC_LIT1884_data " = ocl_create_kernel(omc_ocl_program, \""
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1884,39,_OMC_LIT1884_data);
#define _OMC_LIT1884 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1884)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1885,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT1884}};
#define _OMC_LIT1885 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1885)
#define _OMC_LIT1886_data "int "
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1886,4,_OMC_LIT1886_data);
#define _OMC_LIT1886 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1886)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1887,2,1) {_OMC_LIT1886,MMC_REFSTRUCTLIT(mmc_nil)}};
#define _OMC_LIT1887 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1887)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1888,2,1) {_OMC_LIT764,_OMC_LIT1887}};
#define _OMC_LIT1888 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1888)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1889,3,6) {&Tpl_StringToken_ST__STRING__LIST__desc,_OMC_LIT1888,MMC_IMMEDIATE(MMC_TAGFIXNUM(0))}};
#define _OMC_LIT1889 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1889)
#define _OMC_LIT1890_data "ocl_set_kernel_arg("
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1890,19,_OMC_LIT1890_data);
#define _OMC_LIT1890 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1890)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1891,2,1) {_OMC_LIT1890,MMC_REFSTRUCTLIT(mmc_nil)}};
#define _OMC_LIT1891 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1891)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1892,2,1) {_OMC_LIT1167,_OMC_LIT1891}};
#define _OMC_LIT1892 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1892)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1893,2,1) {_OMC_LIT195,_OMC_LIT1892}};
#define _OMC_LIT1893 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1893)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1894,3,6) {&Tpl_StringToken_ST__STRING__LIST__desc,_OMC_LIT1893,MMC_IMMEDIATE(MMC_TAGFIXNUM(0))}};
#define _OMC_LIT1894 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1894)
#define _OMC_LIT1895_data "); ++"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1895,5,_OMC_LIT1895_data);
#define _OMC_LIT1895 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1895)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1896,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT1895}};
#define _OMC_LIT1896 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1896)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1897,3,6) {&Tpl_StringToken_ST__STRING__LIST__desc,_OMC_LIT1892,MMC_IMMEDIATE(MMC_TAGFIXNUM(0))}};
#define _OMC_LIT1897 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1897)
#define _OMC_LIT1898_data "ocl_execute_kernel("
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1898,19,_OMC_LIT1898_data);
#define _OMC_LIT1898 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1898)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1899,2,1) {_OMC_LIT1898,MMC_REFSTRUCTLIT(mmc_nil)}};
#define _OMC_LIT1899 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1899)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1900,2,1) {_OMC_LIT1167,_OMC_LIT1899}};
#define _OMC_LIT1900 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1900)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1901,3,6) {&Tpl_StringToken_ST__STRING__LIST__desc,_OMC_LIT1900,MMC_IMMEDIATE(MMC_TAGFIXNUM(0))}};
#define _OMC_LIT1901 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1901)
#define _OMC_LIT1902_data "clReleaseKernel("
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1902,16,_OMC_LIT1902_data);
#define _OMC_LIT1902 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1902)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1903,2,1) {_OMC_LIT1902,MMC_REFSTRUCTLIT(mmc_nil)}};
#define _OMC_LIT1903 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1903)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1904,2,1) {_OMC_LIT374,_OMC_LIT1903}};
#define _OMC_LIT1904 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1904)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1905,3,6) {&Tpl_StringToken_ST__STRING__LIST__desc,_OMC_LIT1904,MMC_IMMEDIATE(MMC_TAGFIXNUM(0))}};
#define _OMC_LIT1905 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1905)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1906,2,1) {_OMC_LIT374,_OMC_LIT1764}};
#define _OMC_LIT1906 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1906)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1907,3,6) {&Tpl_StringToken_ST__STRING__LIST__desc,_OMC_LIT1906,MMC_IMMEDIATE(MMC_TAGFIXNUM(1))}};
#define _OMC_LIT1907 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1907)
#define _OMC_LIT1908_data "(modelica_integer)1"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1908,19,_OMC_LIT1908_data);
#define _OMC_LIT1908 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1908)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1909,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT1908}};
#define _OMC_LIT1909 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1909)
#define _OMC_LIT1910_data ", \n"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1910,3,_OMC_LIT1910_data);
#define _OMC_LIT1910 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1910)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1911,2,5) {&Tpl_StringToken_ST__LINE__desc,_OMC_LIT1910}};
#define _OMC_LIT1911 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1911)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1912,1,1) {_OMC_LIT1911}};
#define _OMC_LIT1912 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1912)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1913,9,3) {&Tpl_IterOptions_ITER__OPTIONS__desc,MMC_IMMEDIATE(MMC_TAGFIXNUM(0)),MMC_REFSTRUCTLIT(mmc_none),_OMC_LIT1912,MMC_IMMEDIATE(MMC_TAGFIXNUM(0)),MMC_IMMEDIATE(MMC_TAGFIXNUM(0)),_OMC_LIT89,MMC_IMMEDIATE(MMC_TAGFIXNUM(0)),_OMC_LIT89}};
#define _OMC_LIT1913 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1913)
#define _OMC_LIT1914_data "__kernel void "
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1914,14,_OMC_LIT1914_data);
#define _OMC_LIT1914 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1914)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1915,2,1) {_OMC_LIT1914,MMC_REFSTRUCTLIT(mmc_nil)}};
#define _OMC_LIT1915 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1915)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1916,2,1) {_OMC_LIT1167,_OMC_LIT1915}};
#define _OMC_LIT1916 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1916)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1917,3,6) {&Tpl_StringToken_ST__STRING__LIST__desc,_OMC_LIT1916,MMC_IMMEDIATE(MMC_TAGFIXNUM(0))}};
#define _OMC_LIT1917 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1917)
#define _OMC_LIT1918_data "(\n"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1918,2,_OMC_LIT1918_data);
#define _OMC_LIT1918 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1918)
#define _OMC_LIT1919_data "      modelica_integer loop_start,\n"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1919,35,_OMC_LIT1919_data);
#define _OMC_LIT1919 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1919)
#define _OMC_LIT1920_data "      modelica_integer loop_step,\n"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1920,34,_OMC_LIT1920_data);
#define _OMC_LIT1920 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1920)
#define _OMC_LIT1921_data "      modelica_integer loop_end,\n"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1921,33,_OMC_LIT1921_data);
#define _OMC_LIT1921 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1921)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1922,2,1) {_OMC_LIT1921,MMC_REFSTRUCTLIT(mmc_nil)}};
#define _OMC_LIT1922 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1922)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1923,2,1) {_OMC_LIT1920,_OMC_LIT1922}};
#define _OMC_LIT1923 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1923)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1924,2,1) {_OMC_LIT1919,_OMC_LIT1923}};
#define _OMC_LIT1924 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1924)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1925,2,1) {_OMC_LIT1918,_OMC_LIT1924}};
#define _OMC_LIT1925 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1925)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1926,3,6) {&Tpl_StringToken_ST__STRING__LIST__desc,_OMC_LIT1925,MMC_IMMEDIATE(MMC_TAGFIXNUM(1))}};
#define _OMC_LIT1926 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1926)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1927,2,4) {&Tpl_BlockType_BT__INDENT__desc,MMC_IMMEDIATE(MMC_TAGFIXNUM(6))}};
#define _OMC_LIT1927 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1927)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1928,2,5) {&Tpl_StringToken_ST__LINE__desc,_OMC_LIT425}};
#define _OMC_LIT1928 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1928)
#define _OMC_LIT1929_data "  /* algStmtParForRangeBody : Thread managment for parfor loops */\n"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1929,67,_OMC_LIT1929_data);
#define _OMC_LIT1929 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1929)
#define _OMC_LIT1930_data "  modelica_integer inner_start = (get_global_id(0) * loop_step) + (loop_start);\n"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1930,80,_OMC_LIT1930_data);
#define _OMC_LIT1930 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1930)
#define _OMC_LIT1931_data "  modelica_integer stride = get_global_size(0) * loop_step;\n"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1931,60,_OMC_LIT1931_data);
#define _OMC_LIT1931 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1931)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1932,2,1) {_OMC_LIT1931,_OMC_LIT1757}};
#define _OMC_LIT1932 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1932)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1933,2,1) {_OMC_LIT1930,_OMC_LIT1932}};
#define _OMC_LIT1933 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1933)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1934,2,1) {_OMC_LIT1929,_OMC_LIT1933}};
#define _OMC_LIT1934 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1934)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1935,2,1) {_OMC_LIT145,_OMC_LIT1934}};
#define _OMC_LIT1935 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1935)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1936,3,6) {&Tpl_StringToken_ST__STRING__LIST__desc,_OMC_LIT1935,MMC_IMMEDIATE(MMC_TAGFIXNUM(1))}};
#define _OMC_LIT1936 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1936)
#define _OMC_LIT1937_data "for(modelica_integer "
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1937,21,_OMC_LIT1937_data);
#define _OMC_LIT1937 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1937)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1938,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT1937}};
#define _OMC_LIT1938 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1938)
#define _OMC_LIT1939_data " = (modelica_integer) inner_start; in_range_integer("
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1939,52,_OMC_LIT1939_data);
#define _OMC_LIT1939 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1939)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1940,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT1939}};
#define _OMC_LIT1940 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1940)
#define _OMC_LIT1941_data ", loop_start, loop_end); "
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1941,25,_OMC_LIT1941_data);
#define _OMC_LIT1941 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1941)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1942,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT1941}};
#define _OMC_LIT1942 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1942)
#define _OMC_LIT1943_data " += stride)\n"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1943,12,_OMC_LIT1943_data);
#define _OMC_LIT1943 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1943)
#define _OMC_LIT1944_data "  /* algStmtParForRangeBody : Reconstruct Arrays */\n"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1944,52,_OMC_LIT1944_data);
#define _OMC_LIT1944 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1944)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1945,2,1) {_OMC_LIT1944,MMC_REFSTRUCTLIT(mmc_nil)}};
#define _OMC_LIT1945 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1945)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1946,2,1) {_OMC_LIT145,_OMC_LIT1945}};
#define _OMC_LIT1946 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1946)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1947,2,1) {_OMC_LIT1943,_OMC_LIT1946}};
#define _OMC_LIT1947 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1947)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1948,3,6) {&Tpl_StringToken_ST__STRING__LIST__desc,_OMC_LIT1947,MMC_IMMEDIATE(MMC_TAGFIXNUM(1))}};
#define _OMC_LIT1948 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1948)
#define _OMC_LIT1949_data "/* algStmtParForRangeBody : locals */\n"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1949,38,_OMC_LIT1949_data);
#define _OMC_LIT1949 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1949)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1950,2,1) {_OMC_LIT1949,MMC_REFSTRUCTLIT(mmc_nil)}};
#define _OMC_LIT1950 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1950)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1951,2,1) {_OMC_LIT1167,_OMC_LIT1950}};
#define _OMC_LIT1951 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1951)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1952,3,6) {&Tpl_StringToken_ST__STRING__LIST__desc,_OMC_LIT1951,MMC_IMMEDIATE(MMC_TAGFIXNUM(1))}};
#define _OMC_LIT1952 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1952)
#define _OMC_LIT1953_data "NULL"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1953,4,_OMC_LIT1953_data);
#define _OMC_LIT1953 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1953)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1954,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT1953}};
#define _OMC_LIT1954 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1954)
#define _OMC_LIT1955_data "tupleReturnVariableUpdates: Unhandled expression. "
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1955,50,_OMC_LIT1955_data);
#define _OMC_LIT1955 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1955)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1956,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT1955}};
#define _OMC_LIT1956 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1956)
#define _OMC_LIT1957_data ".dim_size = NULL;"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1957,17,_OMC_LIT1957_data);
#define _OMC_LIT1957 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1957)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1958,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT1957}};
#define _OMC_LIT1958 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1958)
#define _OMC_LIT1959_data "A tuple assignment of only one variable is a regular assignment"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1959,63,_OMC_LIT1959_data);
#define _OMC_LIT1959 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1959)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1960,9,3) {&Tpl_IterOptions_ITER__OPTIONS__desc,MMC_IMMEDIATE(MMC_TAGFIXNUM(1)),_OMC_LIT93,_OMC_LIT95,MMC_IMMEDIATE(MMC_TAGFIXNUM(0)),MMC_IMMEDIATE(MMC_TAGFIXNUM(0)),_OMC_LIT89,MMC_IMMEDIATE(MMC_TAGFIXNUM(0)),_OMC_LIT89}};
#define _OMC_LIT1960 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1960)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1961,9,3) {&Tpl_IterOptions_ITER__OPTIONS__desc,MMC_IMMEDIATE(MMC_TAGFIXNUM(0)),_OMC_LIT93,_OMC_LIT95,MMC_IMMEDIATE(MMC_TAGFIXNUM(0)),MMC_IMMEDIATE(MMC_TAGFIXNUM(0)),_OMC_LIT89,MMC_IMMEDIATE(MMC_TAGFIXNUM(0)),_OMC_LIT89}};
#define _OMC_LIT1961 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1961)
#define _OMC_LIT1962_data "algStmtTupleAssign failed"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1962,25,_OMC_LIT1962_data);
#define _OMC_LIT1962 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1962)
#define _OMC_LIT1963_data " ,"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1963,2,_OMC_LIT1963_data);
#define _OMC_LIT1963 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1963)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1964,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT1963}};
#define _OMC_LIT1964 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1964)
#define _OMC_LIT1965_data "indexedAssign simulationContext failed"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1965,38,_OMC_LIT1965_data);
#define _OMC_LIT1965 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1965)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1966,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT442}};
#define _OMC_LIT1966 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1966)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1967,2,1) {_OMC_LIT1167,_OMC_LIT443}};
#define _OMC_LIT1967 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1967)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1968,3,6) {&Tpl_StringToken_ST__STRING__LIST__desc,_OMC_LIT1967,MMC_IMMEDIATE(MMC_TAGFIXNUM(0))}};
#define _OMC_LIT1968 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1968)
#define _OMC_LIT1969_data "fill_"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1969,5,_OMC_LIT1969_data);
#define _OMC_LIT1969 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1969)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1970,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT1969}};
#define _OMC_LIT1970 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1970)
#define _OMC_LIT1971_data "_copy_data("
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1971,11,_OMC_LIT1971_data);
#define _OMC_LIT1971 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1971)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1972,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT1971}};
#define _OMC_LIT1972 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1972)
#define _OMC_LIT1973_data "algStmtAssignWithRhsExpStr: Unhandled lhs expression. "
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1973,54,_OMC_LIT1973_data);
#define _OMC_LIT1973 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1973)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1974,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT1973}};
#define _OMC_LIT1974 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1974)
#define _OMC_LIT1975_data "Left hand side of an assignment is a call expression. "
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1975,54,_OMC_LIT1975_data);
#define _OMC_LIT1975 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1975)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1976,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT1975}};
#define _OMC_LIT1976 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1976)
#define _OMC_LIT1977_data "Left hand side of an assignment is a record expression. "
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1977,56,_OMC_LIT1977_data);
#define _OMC_LIT1977 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1977)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1978,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT1977}};
#define _OMC_LIT1978 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1978)
#define _OMC_LIT1979_data "Unhandled record assignment. "
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1979,29,_OMC_LIT1979_data);
#define _OMC_LIT1979 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1979)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1980,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT1979}};
#define _OMC_LIT1980 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1980)
#define _OMC_LIT1981_data " = MMC_TAGPTR(mmc_alloc_words("
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1981,30,_OMC_LIT1981_data);
#define _OMC_LIT1981 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1981)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1982,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT1981}};
#define _OMC_LIT1982 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1982)
#define _OMC_LIT1983_data "memcpy(MMC_UNTAGPTR("
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1983,20,_OMC_LIT1983_data);
#define _OMC_LIT1983 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1983)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1984,2,1) {_OMC_LIT1983,MMC_REFSTRUCTLIT(mmc_nil)}};
#define _OMC_LIT1984 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1984)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1985,2,1) {_OMC_LIT592,_OMC_LIT1984}};
#define _OMC_LIT1985 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1985)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1986,3,6) {&Tpl_StringToken_ST__STRING__LIST__desc,_OMC_LIT1985,MMC_IMMEDIATE(MMC_TAGFIXNUM(0))}};
#define _OMC_LIT1986 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1986)
#define _OMC_LIT1987_data "), MMC_UNTAGPTR("
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1987,16,_OMC_LIT1987_data);
#define _OMC_LIT1987 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1987)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1988,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT1987}};
#define _OMC_LIT1988 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1988)
#define _OMC_LIT1989_data "*sizeof(modelica_metatype));\n"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1989,29,_OMC_LIT1989_data);
#define _OMC_LIT1989 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1989)
#define _OMC_LIT1990_data "((modelica_metatype*)MMC_UNTAGPTR("
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1990,34,_OMC_LIT1990_data);
#define _OMC_LIT1990 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1990)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1991,2,1) {_OMC_LIT1990,MMC_REFSTRUCTLIT(mmc_nil)}};
#define _OMC_LIT1991 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1991)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1992,2,1) {_OMC_LIT1989,_OMC_LIT1991}};
#define _OMC_LIT1992 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1992)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1993,3,6) {&Tpl_StringToken_ST__STRING__LIST__desc,_OMC_LIT1992,MMC_IMMEDIATE(MMC_TAGFIXNUM(0))}};
#define _OMC_LIT1993 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1993)
#define _OMC_LIT1994_data "))["
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1994,3,_OMC_LIT1994_data);
#define _OMC_LIT1994 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1994)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1995,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT1994}};
#define _OMC_LIT1995 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1995)
#define _OMC_LIT1996_data "] = "
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1996,4,_OMC_LIT1996_data);
#define _OMC_LIT1996 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1996)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1997,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT1996}};
#define _OMC_LIT1997 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1997)
#define _OMC_LIT1998_data "Code generation not implemented for lhs assignment "
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1998,51,_OMC_LIT1998_data);
#define _OMC_LIT1998 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1998)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1999,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT1998}};
#define _OMC_LIT1999 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1999)
#define _OMC_LIT2000_data " = (modelica_fnptr) "
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2000,20,_OMC_LIT2000_data);
#define _OMC_LIT2000 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2000)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2001,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT2000}};
#define _OMC_LIT2001 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2001)
#define _OMC_LIT2002_data "arrayUpdate("
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2002,12,_OMC_LIT2002_data);
#define _OMC_LIT2002 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2002)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2003,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT2002}};
#define _OMC_LIT2003 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2003)
#define _OMC_LIT2004_data "break;"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2004,6,_OMC_LIT2004_data);
#define _OMC_LIT2004 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2004)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2005,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT2004}};
#define _OMC_LIT2005 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2005)
#define _OMC_LIT2006_data "continue;"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2006,9,_OMC_LIT2006_data);
#define _OMC_LIT2006 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2006)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2007,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT2006}};
#define _OMC_LIT2007 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2007)
#define _OMC_LIT2008_data "goto _return;"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2008,13,_OMC_LIT2008_data);
#define _OMC_LIT2008 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2008)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2009,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT2008}};
#define _OMC_LIT2009 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2009)
#define _OMC_LIT2010_data "ALG_STATEMENT NYI"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2010,17,_OMC_LIT2010_data);
#define _OMC_LIT2010 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2010)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2011,3,4) {&SimCodeFunction_Context_FUNCTION__CONTEXT__desc,_OMC_LIT91,MMC_IMMEDIATE(MMC_TAGFIXNUM(1))}};
#define _OMC_LIT2011 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2011)
#define _OMC_LIT2012_data "_size_"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2012,6,_OMC_LIT2012_data);
#define _OMC_LIT2012 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2012)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2013,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT2012}};
#define _OMC_LIT2013 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2013)
#define _OMC_LIT2014_data "tempSizeVarName:UNHANDLED_EXPRESSION"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2014,36,_OMC_LIT2014_data);
#define _OMC_LIT2014 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2014)
#define _OMC_LIT2015_data "data_of_"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2015,8,_OMC_LIT2015_data);
#define _OMC_LIT2015 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2015)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2016,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT2015}};
#define _OMC_LIT2016 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2016)
#define _OMC_LIT2017_data "_f77_array(&("
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2017,13,_OMC_LIT2017_data);
#define _OMC_LIT2017 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2017)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2018,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT2017}};
#define _OMC_LIT2018 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2018)
#define _OMC_LIT2019_data "(int*) &"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2019,8,_OMC_LIT2019_data);
#define _OMC_LIT2019 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2019)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2020,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT2019}};
#define _OMC_LIT2020 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2020)
#define _OMC_LIT2021_data "(char*)MMC_STRINGDATA("
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2021,22,_OMC_LIT2021_data);
#define _OMC_LIT2021 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2021)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2022,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT2021}};
#define _OMC_LIT2022 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2022)
#define _OMC_LIT2023_data "_ext"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2023,4,_OMC_LIT2023_data);
#define _OMC_LIT2023 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2023)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2024,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT2023}};
#define _OMC_LIT2024 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2024)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2025,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT755}};
#define _OMC_LIT2025 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2025)
#define _OMC_LIT2026_data "_c89;"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2026,5,_OMC_LIT2026_data);
#define _OMC_LIT2026 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2026)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2027,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT2026}};
#define _OMC_LIT2027 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2027)
#define _OMC_LIT2028_data "_c89 = (void*) data_of_"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2028,23,_OMC_LIT2028_data);
#define _OMC_LIT2028 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2028)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2029,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT2028}};
#define _OMC_LIT2029 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2029)
#define _OMC_LIT2030_data "_c89_array("
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2030,13,_OMC_LIT2030_data);
#define _OMC_LIT2030 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2030)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2031,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT2030}};
#define _OMC_LIT2031 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2031)
#define _OMC_LIT2032_data "_c89"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2032,4,_OMC_LIT2032_data);
#define _OMC_LIT2032 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2032)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2033,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT2032}};
#define _OMC_LIT2033 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2033)
#define _OMC_LIT2034_data "_packed"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2034,7,_OMC_LIT2034_data);
#define _OMC_LIT2034 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2034)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2035,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT2034}};
#define _OMC_LIT2035 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2035)
#define _OMC_LIT2036_data "convert_alloc_"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2036,14,_OMC_LIT2036_data);
#define _OMC_LIT2036 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2036)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2037,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT2036}};
#define _OMC_LIT2037 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2037)
#define _OMC_LIT2038_data "_from_f77(&"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2038,11,_OMC_LIT2038_data);
#define _OMC_LIT2038 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2038)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2039,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT2038}};
#define _OMC_LIT2039 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2039)
#define _OMC_LIT2040_data "mmc_mk_scon("
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2040,12,_OMC_LIT2040_data);
#define _OMC_LIT2040 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2040)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2041,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT2040}};
#define _OMC_LIT2041 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2041)
#define _OMC_LIT2042_data "unpack_string_array(&"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2042,21,_OMC_LIT2042_data);
#define _OMC_LIT2042 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2042)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2043,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT2042}};
#define _OMC_LIT2043 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2043)
#define _OMC_LIT2044_data "_c89);"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2044,6,_OMC_LIT2044_data);
#define _OMC_LIT2044 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2044)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2045,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT2044}};
#define _OMC_LIT2045 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2045)
#define _OMC_LIT2046_data "unpack_integer_array(&"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2046,22,_OMC_LIT2046_data);
#define _OMC_LIT2046 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2046)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2047,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT2046}};
#define _OMC_LIT2047 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2047)
#define _OMC_LIT2048_data "unpack_copy_integer_array(&"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2048,27,_OMC_LIT2048_data);
#define _OMC_LIT2048 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2048)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2049,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT2048}};
#define _OMC_LIT2049 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2049)
#define _OMC_LIT2050_data "_packed, &"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2050,10,_OMC_LIT2050_data);
#define _OMC_LIT2050 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2050)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2051,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT2050}};
#define _OMC_LIT2051 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2051)
#define _OMC_LIT2052_data "_to_f77(&"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2052,9,_OMC_LIT2052_data);
#define _OMC_LIT2052 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2052)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2053,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT2052}};
#define _OMC_LIT2053 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2053)
#define _OMC_LIT2054_data "copy_"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2054,5,_OMC_LIT2054_data);
#define _OMC_LIT2054 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2054)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2055,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT2054}};
#define _OMC_LIT2055 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2055)
#define _OMC_LIT2056_data "0.0"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2056,3,_OMC_LIT2056_data);
#define _OMC_LIT2056 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2056)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2057,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT2056}};
#define _OMC_LIT2057 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2057)
#define _OMC_LIT2058_data "= "
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2058,2,_OMC_LIT2058_data);
#define _OMC_LIT2058 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2058)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2059,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT2058}};
#define _OMC_LIT2059 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2059)
#define _OMC_LIT2060_data "if (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2060,39,_OMC_LIT2060_data);
#define _OMC_LIT2060 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2060)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2061,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT2060}};
#define _OMC_LIT2061 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2061)
#define _OMC_LIT2062_data "), 2))) {\n"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2062,10,_OMC_LIT2062_data);
#define _OMC_LIT2062 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2062)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2063,2,5) {&Tpl_StringToken_ST__LINE__desc,_OMC_LIT2062}};
#define _OMC_LIT2063 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2063)
#define _OMC_LIT2064_data " /* The FFI does not allow closures */\n"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2064,39,_OMC_LIT2064_data);
#define _OMC_LIT2064 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2064)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2065,2,5) {&Tpl_StringToken_ST__LINE__desc,_OMC_LIT2064}};
#define _OMC_LIT2065 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2065)
#define _OMC_LIT2066_data "MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2066,35,_OMC_LIT2066_data);
#define _OMC_LIT2066 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2066)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2067,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT2066}};
#define _OMC_LIT2067 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2067)
#define _OMC_LIT2068_data "), 1));"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2068,7,_OMC_LIT2068_data);
#define _OMC_LIT2068 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2068)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2069,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT2068}};
#define _OMC_LIT2069 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2069)
#define _OMC_LIT2070_data "Got function pointer that is not a CREF_IDENT: "
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2070,47,_OMC_LIT2070_data);
#define _OMC_LIT2070 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2070)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2071,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT2070}};
#define _OMC_LIT2071 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2071)
#define _OMC_LIT2072_data "fill_string_array(&"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2072,19,_OMC_LIT2072_data);
#define _OMC_LIT2072 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2072)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2073,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT2072}};
#define _OMC_LIT2073 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2073)
#define _OMC_LIT2074_data ", mmc_string_uninitialized);"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2074,28,_OMC_LIT2074_data);
#define _OMC_LIT2074 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2074)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2075,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT2074}};
#define _OMC_LIT2075 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2075)
#define _OMC_LIT2076_data "integer_array "
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2076,14,_OMC_LIT2076_data);
#define _OMC_LIT2076 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2076)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2077,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT2076}};
#define _OMC_LIT2077 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2077)
#define _OMC_LIT2078_data "_packed;"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2078,8,_OMC_LIT2078_data);
#define _OMC_LIT2078 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2078)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2079,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT2078}};
#define _OMC_LIT2079 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2079)
#define _OMC_LIT2080_data "pack_alloc_integer_array(&"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2080,26,_OMC_LIT2080_data);
#define _OMC_LIT2080 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2080)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2081,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT2080}};
#define _OMC_LIT2081 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2081)
#define _OMC_LIT2082_data "_packed);"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2082,9,_OMC_LIT2082_data);
#define _OMC_LIT2082 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2082)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2083,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT2082}};
#define _OMC_LIT2083 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2083)
#define _OMC_LIT2084_data "/* extFunCallF77: varDecs */"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2084,28,_OMC_LIT2084_data);
#define _OMC_LIT2084 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2084)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2085,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT2084}};
#define _OMC_LIT2085 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2085)
#define _OMC_LIT2086_data "/* extFunCallF77: biVarDecs */"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2086,30,_OMC_LIT2086_data);
#define _OMC_LIT2086 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2086)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2087,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT2086}};
#define _OMC_LIT2087 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2087)
#define _OMC_LIT2088_data "/* extFunCallF77: args */"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2088,25,_OMC_LIT2088_data);
#define _OMC_LIT2088 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2088)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2089,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT2088}};
#define _OMC_LIT2089 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2089)
#define _OMC_LIT2090_data "/* extFunCallF77: end args */"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2090,29,_OMC_LIT2090_data);
#define _OMC_LIT2090 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2090)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2091,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT2090}};
#define _OMC_LIT2091 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2091)
#define _OMC_LIT2092_data "/* extFunCallF77: extReturn */\n"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2092,31,_OMC_LIT2092_data);
#define _OMC_LIT2092 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2092)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2093,2,5) {&Tpl_StringToken_ST__LINE__desc,_OMC_LIT2092}};
#define _OMC_LIT2093 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2093)
#define _OMC_LIT2094_data "/* extFunCallF77: CALL */\n"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2094,26,_OMC_LIT2094_data);
#define _OMC_LIT2094 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2094)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2095,2,5) {&Tpl_StringToken_ST__LINE__desc,_OMC_LIT2094}};
#define _OMC_LIT2095 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2095)
#define _OMC_LIT2096_data "_("
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2096,2,_OMC_LIT2096_data);
#define _OMC_LIT2096 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2096)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2097,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT2096}};
#define _OMC_LIT2097 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2097)
#define _OMC_LIT2098_data "/* extFunCallF77: copy args */\n"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2098,31,_OMC_LIT2098_data);
#define _OMC_LIT2098 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2098)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2099,2,1) {_OMC_LIT2098,MMC_REFSTRUCTLIT(mmc_nil)}};
#define _OMC_LIT2099 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2099)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2100,2,1) {_OMC_LIT374,_OMC_LIT2099}};
#define _OMC_LIT2100 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2100)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2101,3,6) {&Tpl_StringToken_ST__STRING__LIST__desc,_OMC_LIT2100,MMC_IMMEDIATE(MMC_TAGFIXNUM(1))}};
#define _OMC_LIT2101 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2101)
#define _OMC_LIT2102_data "/* extFunCallF77: copy return */\n"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2102,33,_OMC_LIT2102_data);
#define _OMC_LIT2102 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2102)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2103,2,5) {&Tpl_StringToken_ST__LINE__desc,_OMC_LIT2102}};
#define _OMC_LIT2103 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2103)
#define _OMC_LIT2104_data "==NULL)\n"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2104,8,_OMC_LIT2104_data);
#define _OMC_LIT2104 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2104)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2105,2,1) {_OMC_LIT2104,_OMC_LIT426}};
#define _OMC_LIT2105 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2105)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2106,3,6) {&Tpl_StringToken_ST__STRING__LIST__desc,_OMC_LIT2105,MMC_IMMEDIATE(MMC_TAGFIXNUM(1))}};
#define _OMC_LIT2106 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2106)
#define _OMC_LIT2107_data "omc_terminate(info, \"dynamic external function "
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2107,47,_OMC_LIT2107_data);
#define _OMC_LIT2107 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2107)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2108,2,1) {_OMC_LIT2107,MMC_REFSTRUCTLIT(mmc_nil)}};
#define _OMC_LIT2108 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2108)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2109,2,1) {_OMC_LIT1476,_OMC_LIT2108}};
#define _OMC_LIT2109 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2109)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2110,3,6) {&Tpl_StringToken_ST__STRING__LIST__desc,_OMC_LIT2109,MMC_IMMEDIATE(MMC_TAGFIXNUM(0))}};
#define _OMC_LIT2110 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2110)
#define _OMC_LIT2111_data " not set!\");\n"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2111,13,_OMC_LIT2111_data);
#define _OMC_LIT2111 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2111)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2112,2,5) {&Tpl_StringToken_ST__LINE__desc,_OMC_LIT2111}};
#define _OMC_LIT2112 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2112)
#define _OMC_LIT2113_data "} else"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2113,6,_OMC_LIT2113_data);
#define _OMC_LIT2113 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2113)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2114,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT2113}};
#define _OMC_LIT2114 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2114)
#define _OMC_LIT2115_data "ptr_"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2115,4,_OMC_LIT2115_data);
#define _OMC_LIT2115 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2115)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2116,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT2115}};
#define _OMC_LIT2116 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2116)
#define _OMC_LIT2117_data "Unsupported external language: "
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2117,31,_OMC_LIT2117_data);
#define _OMC_LIT2117 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2117)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2118,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT2117}};
#define _OMC_LIT2118 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2118)
#define _OMC_LIT2119_data "BUILTIN"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2119,7,_OMC_LIT2119_data);
#define _OMC_LIT2119 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2119)
#define _OMC_LIT2120_data "C"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2120,1,_OMC_LIT2120_data);
#define _OMC_LIT2120 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2120)
#define _OMC_LIT2121_data "FORTRAN 77"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2121,10,_OMC_LIT2121_data);
#define _OMC_LIT2121 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2121)
#define _OMC_LIT2122_data "_construct(threadData, "
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2122,23,_OMC_LIT2122_data);
#define _OMC_LIT2122 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2122)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2123,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT2122}};
#define _OMC_LIT2123 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2123)
#define _OMC_LIT2124_data " = (modelica_fnptr) _"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2124,21,_OMC_LIT2124_data);
#define _OMC_LIT2124 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2124)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2125,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT2124}};
#define _OMC_LIT2125 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2125)
#define _OMC_LIT2126_data " = ocl_device_alloc(sizeof(modelica_"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2126,36,_OMC_LIT2126_data);
#define _OMC_LIT2126 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2126)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2127,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT2126}};
#define _OMC_LIT2127 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2127)
#define _OMC_LIT2128_data "if (out"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2128,7,_OMC_LIT2128_data);
#define _OMC_LIT2128 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2128)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2129,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT2128}};
#define _OMC_LIT2129 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2129)
#define _OMC_LIT2130_data ") { *out"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2130,8,_OMC_LIT2130_data);
#define _OMC_LIT2130 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2130)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2131,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT2130}};
#define _OMC_LIT2131 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2131)
#define _OMC_LIT2132_data " = (modelica_fnptr)"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2132,19,_OMC_LIT2132_data);
#define _OMC_LIT2132 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2132)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2133,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT2132}};
#define _OMC_LIT2133 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2133)
#define _OMC_LIT2134_data "; }"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2134,3,_OMC_LIT2134_data);
#define _OMC_LIT2134 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2134)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2135,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT2134}};
#define _OMC_LIT2135 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2135)
#define _OMC_LIT2136_data ") { if (out"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2136,11,_OMC_LIT2136_data);
#define _OMC_LIT2136 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2136)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2137,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT2136}};
#define _OMC_LIT2137 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2137)
#define _OMC_LIT2138_data "->info == NULL) {copy_"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2138,22,_OMC_LIT2138_data);
#define _OMC_LIT2138 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2138)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2139,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT2138}};
#define _OMC_LIT2139 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2139)
#define _OMC_LIT2140_data "_array("
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2140,7,_OMC_LIT2140_data);
#define _OMC_LIT2140 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2140)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2141,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT2140}};
#define _OMC_LIT2141 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2141)
#define _OMC_LIT2142_data ", out"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2142,5,_OMC_LIT2142_data);
#define _OMC_LIT2142 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2142)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2143,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT2142}};
#define _OMC_LIT2143 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2143)
#define _OMC_LIT2144_data ");} else {"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2144,10,_OMC_LIT2144_data);
#define _OMC_LIT2144 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2144)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2145,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT2144}};
#define _OMC_LIT2145 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2145)
#define _OMC_LIT2146_data "_array_copy_data("
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2146,17,_OMC_LIT2146_data);
#define _OMC_LIT2146 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2146)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2147,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT2146}};
#define _OMC_LIT2147 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2147)
#define _OMC_LIT2148_data ", *out"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2148,6,_OMC_LIT2148_data);
#define _OMC_LIT2148 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2148)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2149,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT2148}};
#define _OMC_LIT2149 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2149)
#define _OMC_LIT2150_data ");} }"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2150,5,_OMC_LIT2150_data);
#define _OMC_LIT2150 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2150)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2151,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT2150}};
#define _OMC_LIT2151 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2151)
#define _OMC_LIT2152_data "->dim_size == NULL) {copy_"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2152,26,_OMC_LIT2152_data);
#define _OMC_LIT2152 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2152)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2153,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT2152}};
#define _OMC_LIT2153 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2153)
#define _OMC_LIT2154_data "varOutput:error Unknown variable type as output"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2154,47,_OMC_LIT2154_data);
#define _OMC_LIT2154 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2154)
#define _OMC_LIT2155_data "->info == NULL) {\n"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2155,18,_OMC_LIT2155_data);
#define _OMC_LIT2155 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2155)
#define _OMC_LIT2156_data "  omc_assert(threadData, info, \"Unknown size parallel array.\");\n"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2156,64,_OMC_LIT2156_data);
#define _OMC_LIT2156 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2156)
#define _OMC_LIT2157_data "else {\n"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2157,7,_OMC_LIT2157_data);
#define _OMC_LIT2157 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2157)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2158,2,1) {_OMC_LIT2157,MMC_REFSTRUCTLIT(mmc_nil)}};
#define _OMC_LIT2158 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2158)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2159,2,1) {_OMC_LIT151,_OMC_LIT2158}};
#define _OMC_LIT2159 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2159)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2160,2,1) {_OMC_LIT2156,_OMC_LIT2159}};
#define _OMC_LIT2160 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2160)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2161,2,1) {_OMC_LIT400,_OMC_LIT2160}};
#define _OMC_LIT2161 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2161)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2162,2,1) {_OMC_LIT2155,_OMC_LIT2161}};
#define _OMC_LIT2162 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2162)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2163,3,6) {&Tpl_StringToken_ST__STRING__LIST__desc,_OMC_LIT2162,MMC_IMMEDIATE(MMC_TAGFIXNUM(1))}};
#define _OMC_LIT2163 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2163)
#define _OMC_LIT2164_data "#error Unknown local variable type"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2164,34,_OMC_LIT2164_data);
#define _OMC_LIT2164 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2164)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2165,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT2164}};
#define _OMC_LIT2165 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2165)
#define _OMC_LIT2166_data "varInitParallel:error Unknown local variable type"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2166,49,_OMC_LIT2166_data);
#define _OMC_LIT2166 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2166)
#define _OMC_LIT2167_data "_array_c99_"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2167,11,_OMC_LIT2167_data);
#define _OMC_LIT2167 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2167)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2168,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT2167}};
#define _OMC_LIT2168 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2168)
#define _OMC_LIT2169_data ", memory_state);"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2169,16,_OMC_LIT2169_data);
#define _OMC_LIT2169 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2169)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2170,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT2169}};
#define _OMC_LIT2170 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2170)
#define _OMC_LIT2171_data ".targ"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2171,5,_OMC_LIT2171_data);
#define _OMC_LIT2171 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2171)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2172,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT2171}};
#define _OMC_LIT2172 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2172)
#define _OMC_LIT2173_data "#error Unknown parallel variable type"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2173,37,_OMC_LIT2173_data);
#define _OMC_LIT2173 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2173)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2174,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT2173}};
#define _OMC_LIT2174 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2174)
#define _OMC_LIT2175_data "parVarInit:error Unknown parallel variable type"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2175,47,_OMC_LIT2175_data);
#define _OMC_LIT2175 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2175)
#define _OMC_LIT2176_data "_array "
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2176,7,_OMC_LIT2176_data);
#define _OMC_LIT2176 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2176)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2177,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT2176}};
#define _OMC_LIT2177 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2177)
#define _OMC_LIT2178_data "alloc_device_local_"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2178,19,_OMC_LIT2178_data);
#define _OMC_LIT2178 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2178)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2179,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT2178}};
#define _OMC_LIT2179 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2179)
#define _OMC_LIT2180_data "modelica_fnptr _"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2180,16,_OMC_LIT2180_data);
#define _OMC_LIT2180 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2180)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2181,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT2180}};
#define _OMC_LIT2181 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2181)
#define _OMC_LIT2182_data "Unknown local variable type"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2182,27,_OMC_LIT2182_data);
#define _OMC_LIT2182 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2182)
#define _OMC_LIT2183_data " = NULL"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2183,7,_OMC_LIT2183_data);
#define _OMC_LIT2183 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2183)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2184,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT2183}};
#define _OMC_LIT2184 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2184)
#define _OMC_LIT2185_data ", TYPE_DESC_NONE"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2185,16,_OMC_LIT2185_data);
#define _OMC_LIT2185 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2185)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2186,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT2185}};
#define _OMC_LIT2186 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2186)
#define _OMC_LIT2187_data ", &("
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2187,4,_OMC_LIT2187_data);
#define _OMC_LIT2187 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2187)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2188,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT2187}};
#define _OMC_LIT2188 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2188)
#define _OMC_LIT2189_data "write_modelica_record(outVar, "
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2189,30,_OMC_LIT2189_data);
#define _OMC_LIT2189 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2189)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2190,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT2189}};
#define _OMC_LIT2190 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2190)
#define _OMC_LIT2191_data "write_"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2191,6,_OMC_LIT2191_data);
#define _OMC_LIT2191 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2191)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2192,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT2191}};
#define _OMC_LIT2192 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2192)
#define _OMC_LIT2193_data "(outVar, &"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2193,10,_OMC_LIT2193_data);
#define _OMC_LIT2193 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2193)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2194,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT2193}};
#define _OMC_LIT2194 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2194)
#define _OMC_LIT2195_data "&("
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2195,2,_OMC_LIT2195_data);
#define _OMC_LIT2195 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2195)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2196,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT2195}};
#define _OMC_LIT2196 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2196)
#define _OMC_LIT2197_data "if (read_modelica_record(&inArgs, "
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2197,34,_OMC_LIT2197_data);
#define _OMC_LIT2197 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2197)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2198,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT2197}};
#define _OMC_LIT2198 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2198)
#define _OMC_LIT2199_data ")) return 1;"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2199,12,_OMC_LIT2199_data);
#define _OMC_LIT2199 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2199)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2200,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT2199}};
#define _OMC_LIT2200 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2200)
#define _OMC_LIT2201_data "if (read_"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2201,9,_OMC_LIT2201_data);
#define _OMC_LIT2201 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2201)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2202,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT2201}};
#define _OMC_LIT2202 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2202)
#define _OMC_LIT2203_data "(&inArgs, "
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2203,10,_OMC_LIT2203_data);
#define _OMC_LIT2203 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2203)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2204,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT2203}};
#define _OMC_LIT2204 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2204)
#define _OMC_LIT2205_data " &"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2205,2,_OMC_LIT2205_data);
#define _OMC_LIT2205 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2205)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2206,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT2205}};
#define _OMC_LIT2206 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2206)
#define _OMC_LIT2207_data "(&inArgs, &"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2207,11,_OMC_LIT2207_data);
#define _OMC_LIT2207 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2207)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2208,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT2207}};
#define _OMC_LIT2208 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2208)
#define _OMC_LIT2209_data "(char**)"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2209,8,_OMC_LIT2209_data);
#define _OMC_LIT2209 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2209)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2210,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT2209}};
#define _OMC_LIT2210 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2210)
#define _OMC_LIT2211_data "mmc_mk_icon("
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2211,12,_OMC_LIT2211_data);
#define _OMC_LIT2211 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2211)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2212,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT2211}};
#define _OMC_LIT2212 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2212)
#define _OMC_LIT2213_data "mmc_mk_rcon("
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2213,12,_OMC_LIT2213_data);
#define _OMC_LIT2213 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2213)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2214,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT2213}};
#define _OMC_LIT2214 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2214)
#define _OMC_LIT2215_data "mmc_mk_string("
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2215,14,_OMC_LIT2215_data);
#define _OMC_LIT2215 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2215)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2216,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT2215}};
#define _OMC_LIT2216 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2216)
#define _OMC_LIT2217_data "mmc_mk_modelica_array("
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2217,22,_OMC_LIT2217_data);
#define _OMC_LIT2217 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2217)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2218,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT2217}};
#define _OMC_LIT2218 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2218)
#define _OMC_LIT2219_data "3, &"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2219,4,_OMC_LIT2219_data);
#define _OMC_LIT2219 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2219)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2220,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT2219}};
#define _OMC_LIT2220 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2220)
#define _OMC_LIT2221_data "mmc_mk_box("
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2221,11,_OMC_LIT2221_data);
#define _OMC_LIT2221 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2221)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2222,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT2221}};
#define _OMC_LIT2222 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2222)
#define _OMC_LIT2223_data "/* skip box "
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2223,12,_OMC_LIT2223_data);
#define _OMC_LIT2223 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2223)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2224,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT2223}};
#define _OMC_LIT2224 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2224)
#define _OMC_LIT2225_data ") { "
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2225,4,_OMC_LIT2225_data);
#define _OMC_LIT2225 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2225)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2226,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT2225}};
#define _OMC_LIT2226 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2226)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2227,9,3) {&Tpl_IterOptions_ITER__OPTIONS__desc,MMC_IMMEDIATE(MMC_TAGFIXNUM(2)),MMC_REFSTRUCTLIT(mmc_none),_OMC_LIT95,MMC_IMMEDIATE(MMC_TAGFIXNUM(0)),MMC_IMMEDIATE(MMC_TAGFIXNUM(0)),_OMC_LIT89,MMC_IMMEDIATE(MMC_TAGFIXNUM(0)),_OMC_LIT89}};
#define _OMC_LIT2227 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2227)
#define _OMC_LIT2228_data " = (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR("
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2228,38,_OMC_LIT2228_data);
#define _OMC_LIT2228 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2228)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2229,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT2228}};
#define _OMC_LIT2229 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2229)
#define _OMC_LIT2230_data ")));\n"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2230,5,_OMC_LIT2230_data);
#define _OMC_LIT2230 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2230)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2231,2,5) {&Tpl_StringToken_ST__LINE__desc,_OMC_LIT2230}};
#define _OMC_LIT2231 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2231)
#define _OMC_LIT2232_data "*((base_array_t*)"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2232,17,_OMC_LIT2232_data);
#define _OMC_LIT2232 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2232)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2233,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT2232}};
#define _OMC_LIT2233 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2233)
#define _OMC_LIT2234_data " = mmc_unbox_"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2234,13,_OMC_LIT2234_data);
#define _OMC_LIT2234 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2234)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2235,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT2234}};
#define _OMC_LIT2235 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2235)
#define _OMC_LIT2236_data "Trying to generate a boxed function with non protected parglobal array."
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2236,71,_OMC_LIT2236_data);
#define _OMC_LIT2236 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2236)
#define _OMC_LIT2237_data "Trying to generate a boxed function with non protected parlocal array."
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2237,70,_OMC_LIT2237_data);
#define _OMC_LIT2237 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2237)
#define _OMC_LIT2238_data "_rettypeboxed"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2238,13,_OMC_LIT2238_data);
#define _OMC_LIT2238 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2238)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2239,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT2238}};
#define _OMC_LIT2239 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2239)
#define _OMC_LIT2240_data "modelica_metatype boxptr"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2240,24,_OMC_LIT2240_data);
#define _OMC_LIT2240 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2240)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2241,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT2240}};
#define _OMC_LIT2241 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2241)
#define _OMC_LIT2242_data "(threadData_t *threadData"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2242,25,_OMC_LIT2242_data);
#define _OMC_LIT2242 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2242)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2243,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT2242}};
#define _OMC_LIT2243 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2243)
#define _OMC_LIT2244_data "return mmc_mk_box"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2244,17,_OMC_LIT2244_data);
#define _OMC_LIT2244 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2244)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2245,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT2244}};
#define _OMC_LIT2245 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2245)
#define _OMC_LIT2246_data "boxptrtd_"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2246,9,_OMC_LIT2246_data);
#define _OMC_LIT2246 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2246)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2247,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT2246}};
#define _OMC_LIT2247 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2247)
#define _OMC_LIT2248_data " boxptr_"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2248,8,_OMC_LIT2248_data);
#define _OMC_LIT2248 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2248)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2249,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT2248}};
#define _OMC_LIT2249 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2249)
#define _OMC_LIT2250_data " = boxptrimpl_"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2250,14,_OMC_LIT2250_data);
#define _OMC_LIT2250 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2250)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2251,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT2250}};
#define _OMC_LIT2251 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2251)
#define _OMC_LIT2252_data "impl"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2252,4,_OMC_LIT2252_data);
#define _OMC_LIT2252 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2252)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2253,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT2252}};
#define _OMC_LIT2253 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2253)
#define _OMC_LIT2254_data "PROTECTED_FUNCTION_STATIC "
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2254,26,_OMC_LIT2254_data);
#define _OMC_LIT2254 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2254)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2255,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT2254}};
#define _OMC_LIT2255 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2255)
#define _OMC_LIT2256_data "boxRecordConstructor:Unknown variable"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2256,37,_OMC_LIT2256_data);
#define _OMC_LIT2256 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2256)
#define _OMC_LIT2257_data "return;"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2257,7,_OMC_LIT2257_data);
#define _OMC_LIT2257 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2257)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2258,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT2257}};
#define _OMC_LIT2258 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2258)
#define _OMC_LIT2259_data "*out"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2259,4,_OMC_LIT2259_data);
#define _OMC_LIT2259 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2259)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2260,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT2259}};
#define _OMC_LIT2260 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2260)
#define _OMC_LIT2261_data "out"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2261,3,_OMC_LIT2261_data);
#define _OMC_LIT2261 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2261)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2262,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT2261}};
#define _OMC_LIT2262 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2262)
#define _OMC_LIT2263_data "Unknown local variable type in record"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2263,37,_OMC_LIT2263_data);
#define _OMC_LIT2263 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2263)
#define _OMC_LIT2264_data " omc"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2264,4,_OMC_LIT2264_data);
#define _OMC_LIT2264 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2264)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2265,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT2264}};
#define _OMC_LIT2265 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2265)
#define _OMC_LIT2266_data "omctd_"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2266,6,_OMC_LIT2266_data);
#define _OMC_LIT2266 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2266)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2267,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT2266}};
#define _OMC_LIT2267 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2267)
#define _OMC_LIT2268_data " omc_"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2268,5,_OMC_LIT2268_data);
#define _OMC_LIT2268 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2268)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2269,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT2268}};
#define _OMC_LIT2269 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2269)
#define _OMC_LIT2270_data " = omcimpl_"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2270,11,_OMC_LIT2270_data);
#define _OMC_LIT2270 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2270)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2271,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT2270}};
#define _OMC_LIT2271 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2271)
#define _OMC_LIT2272_data " = omc_"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2272,7,_OMC_LIT2272_data);
#define _OMC_LIT2272 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2272)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2273,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT2272}};
#define _OMC_LIT2273 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2273)
#define _OMC_LIT2274_data "ptrT_"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2274,5,_OMC_LIT2274_data);
#define _OMC_LIT2274 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2274)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2275,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT2274}};
#define _OMC_LIT2275 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2275)
#define _OMC_LIT2276_data " ptr_"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2276,5,_OMC_LIT2276_data);
#define _OMC_LIT2276 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2276)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2277,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT2276}};
#define _OMC_LIT2277 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2277)
#define _OMC_LIT2278_data "=NULL;"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2278,6,_OMC_LIT2278_data);
#define _OMC_LIT2278 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2278)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2279,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT2278}};
#define _OMC_LIT2279 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2279)
#define _OMC_LIT2280_data "_rettype"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2280,8,_OMC_LIT2280_data);
#define _OMC_LIT2280 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2280)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2281,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT2280}};
#define _OMC_LIT2281 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2281)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2282,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT1890}};
#define _OMC_LIT2282 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2282)
#define _OMC_LIT2283_data ".data); ++"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2283,10,_OMC_LIT2283_data);
#define _OMC_LIT2283 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2283)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2284,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT2283}};
#define _OMC_LIT2284 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2284)
#define _OMC_LIT2285_data ".info_dev); ++"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2285,14,_OMC_LIT2285_data);
#define _OMC_LIT2285 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2285)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2286,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT2285}};
#define _OMC_LIT2286 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2286)
#define _OMC_LIT2287_data "ocl_set_local_kernel_arg("
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2287,25,_OMC_LIT2287_data);
#define _OMC_LIT2287 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2287)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2288,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT2287}};
#define _OMC_LIT2288 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2288)
#define _OMC_LIT2289_data ", sizeof(modelica_"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2289,18,_OMC_LIT2289_data);
#define _OMC_LIT2289 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2289)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2290,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT2289}};
#define _OMC_LIT2290 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2290)
#define _OMC_LIT2291_data ") * device_array_nr_of_elements(&"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2291,33,_OMC_LIT2291_data);
#define _OMC_LIT2291 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2291)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2292,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT2291}};
#define _OMC_LIT2292 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2292)
#define _OMC_LIT2293_data ")); ++"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2293,6,_OMC_LIT2293_data);
#define _OMC_LIT2293 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2293)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2294,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT2293}};
#define _OMC_LIT2294 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2294)
#define _OMC_LIT2295_data ", sizeof(modelica_integer) * ("
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2295,30,_OMC_LIT2295_data);
#define _OMC_LIT2295 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2295)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2296,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT2295}};
#define _OMC_LIT2296 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2296)
#define _OMC_LIT2297_data ".info[0]+1)*sizeof(modelica_integer)); ++"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2297,41,_OMC_LIT2297_data);
#define _OMC_LIT2297 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2297)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2298,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT2297}};
#define _OMC_LIT2298 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2298)
#define _OMC_LIT2299_data "  // declerations\n"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2299,18,_OMC_LIT2299_data);
#define _OMC_LIT2299 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2299)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2300,2,1) {_OMC_LIT2299,MMC_REFSTRUCTLIT(mmc_nil)}};
#define _OMC_LIT2300 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2300)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2301,2,1) {_OMC_LIT145,_OMC_LIT2300}};
#define _OMC_LIT2301 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2301)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2302,3,6) {&Tpl_StringToken_ST__STRING__LIST__desc,_OMC_LIT2301,MMC_IMMEDIATE(MMC_TAGFIXNUM(1))}};
#define _OMC_LIT2302 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2302)
#define _OMC_LIT2303_data "// inits\n"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2303,9,_OMC_LIT2303_data);
#define _OMC_LIT2303 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2303)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2304,2,5) {&Tpl_StringToken_ST__LINE__desc,_OMC_LIT2303}};
#define _OMC_LIT2304 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2304)
#define _OMC_LIT2305_data "/* functionBodyKernelFunctionInterface : "
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2305,41,_OMC_LIT2305_data);
#define _OMC_LIT2305 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2305)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2306,2,1) {_OMC_LIT2305,MMC_REFSTRUCTLIT(mmc_nil)}};
#define _OMC_LIT2306 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2306)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2307,2,1) {_OMC_LIT1167,_OMC_LIT2306}};
#define _OMC_LIT2307 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2307)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2308,3,6) {&Tpl_StringToken_ST__STRING__LIST__desc,_OMC_LIT2307,MMC_IMMEDIATE(MMC_TAGFIXNUM(0))}};
#define _OMC_LIT2308 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2308)
#define _OMC_LIT2309_data " Kernel creation and execution */\n"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2309,34,_OMC_LIT2309_data);
#define _OMC_LIT2309 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2309)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2310,2,1) {_OMC_LIT2309,_OMC_LIT1887}};
#define _OMC_LIT2310 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2310)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2311,3,6) {&Tpl_StringToken_ST__STRING__LIST__desc,_OMC_LIT2310,MMC_IMMEDIATE(MMC_TAGFIXNUM(0))}};
#define _OMC_LIT2311 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2311)
#define _OMC_LIT2312_data " = ocl_create_kernel(omc_ocl_program, \"omc_"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2312,43,_OMC_LIT2312_data);
#define _OMC_LIT2312 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2312)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2313,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT2312}};
#define _OMC_LIT2313 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2313)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2314,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT1898}};
#define _OMC_LIT2314 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2314)
#define _OMC_LIT2315_data "/*functionBodyKernelFunctionInterface : "
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2315,40,_OMC_LIT2315_data);
#define _OMC_LIT2315 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2315)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2316,2,1) {_OMC_LIT2315,MMC_REFSTRUCTLIT(mmc_nil)}};
#define _OMC_LIT2316 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2316)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2317,2,1) {_OMC_LIT374,_OMC_LIT2316}};
#define _OMC_LIT2317 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2317)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2318,3,6) {&Tpl_StringToken_ST__STRING__LIST__desc,_OMC_LIT2317,MMC_IMMEDIATE(MMC_TAGFIXNUM(0))}};
#define _OMC_LIT2318 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2318)
#define _OMC_LIT2319_data " kernel execution ends here.*/\n"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2319,31,_OMC_LIT2319_data);
#define _OMC_LIT2319 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2319)
#define _OMC_LIT2320_data "// outvar assign\n"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2320,17,_OMC_LIT2320_data);
#define _OMC_LIT2320 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2320)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2321,2,1) {_OMC_LIT2320,MMC_REFSTRUCTLIT(mmc_nil)}};
#define _OMC_LIT2321 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2321)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2322,2,1) {_OMC_LIT1167,_OMC_LIT2321}};
#define _OMC_LIT2322 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2322)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2323,2,1) {_OMC_LIT2319,_OMC_LIT2322}};
#define _OMC_LIT2323 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2323)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2324,3,6) {&Tpl_StringToken_ST__STRING__LIST__desc,_OMC_LIT2323,MMC_IMMEDIATE(MMC_TAGFIXNUM(1))}};
#define _OMC_LIT2324 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2324)
#define _OMC_LIT2325_data "//varfree\n"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2325,10,_OMC_LIT2325_data);
#define _OMC_LIT2325 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2325)
#define _OMC_LIT2326_data "/*\n"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2326,3,_OMC_LIT2326_data);
#define _OMC_LIT2326 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2326)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2327,2,1) {_OMC_LIT2326,MMC_REFSTRUCTLIT(mmc_nil)}};
#define _OMC_LIT2327 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2327)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2328,2,1) {_OMC_LIT2325,_OMC_LIT2327}};
#define _OMC_LIT2328 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2328)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2329,2,1) {_OMC_LIT1167,_OMC_LIT2328}};
#define _OMC_LIT2329 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2329)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2330,3,6) {&Tpl_StringToken_ST__STRING__LIST__desc,_OMC_LIT2329,MMC_IMMEDIATE(MMC_TAGFIXNUM(1))}};
#define _OMC_LIT2330 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2330)
#define _OMC_LIT2331_data "*/\n"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2331,3,_OMC_LIT2331_data);
#define _OMC_LIT2331 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2331)
#define _OMC_LIT2332_data "// return\n"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2332,10,_OMC_LIT2332_data);
#define _OMC_LIT2332 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2332)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2333,2,1) {_OMC_LIT2332,MMC_REFSTRUCTLIT(mmc_nil)}};
#define _OMC_LIT2333 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2333)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2334,2,1) {_OMC_LIT1167,_OMC_LIT2333}};
#define _OMC_LIT2334 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2334)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2335,2,1) {_OMC_LIT2331,_OMC_LIT2334}};
#define _OMC_LIT2335 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2335)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2336,3,6) {&Tpl_StringToken_ST__STRING__LIST__desc,_OMC_LIT2335,MMC_IMMEDIATE(MMC_TAGFIXNUM(1))}};
#define _OMC_LIT2336 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2336)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2337,2,1) {_OMC_LIT151,_OMC_LIT1757}};
#define _OMC_LIT2337 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2337)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2338,3,6) {&Tpl_StringToken_ST__STRING__LIST__desc,_OMC_LIT2337,MMC_IMMEDIATE(MMC_TAGFIXNUM(1))}};
#define _OMC_LIT2338 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2338)
#define _OMC_LIT2339_data " }"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2339,2,_OMC_LIT2339_data);
#define _OMC_LIT2339 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2339)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2340,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT2339}};
#define _OMC_LIT2340 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2340)
#define _OMC_LIT2341_data "    "
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2341,4,_OMC_LIT2341_data);
#define _OMC_LIT2341 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2341)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2342,2,1) {_OMC_LIT2341,MMC_REFSTRUCTLIT(mmc_nil)}};
#define _OMC_LIT2342 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2342)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2343,2,1) {_OMC_LIT1910,_OMC_LIT2342}};
#define _OMC_LIT2343 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2343)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2344,3,6) {&Tpl_StringToken_ST__STRING__LIST__desc,_OMC_LIT2343,MMC_IMMEDIATE(MMC_TAGFIXNUM(0))}};
#define _OMC_LIT2344 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2344)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2345,1,1) {_OMC_LIT2344}};
#define _OMC_LIT2345 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2345)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2346,9,3) {&Tpl_IterOptions_ITER__OPTIONS__desc,MMC_IMMEDIATE(MMC_TAGFIXNUM(0)),MMC_REFSTRUCTLIT(mmc_none),_OMC_LIT2345,MMC_IMMEDIATE(MMC_TAGFIXNUM(0)),MMC_IMMEDIATE(MMC_TAGFIXNUM(0)),_OMC_LIT89,MMC_IMMEDIATE(MMC_TAGFIXNUM(0)),_OMC_LIT89}};
#define _OMC_LIT2346 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2346)
#define _OMC_LIT2347_data ",\n"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2347,2,_OMC_LIT2347_data);
#define _OMC_LIT2347 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2347)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2348,2,5) {&Tpl_StringToken_ST__LINE__desc,_OMC_LIT2347}};
#define _OMC_LIT2348 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2348)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2349,1,1) {_OMC_LIT2348}};
#define _OMC_LIT2349 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2349)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2350,9,3) {&Tpl_IterOptions_ITER__OPTIONS__desc,MMC_IMMEDIATE(MMC_TAGFIXNUM(0)),MMC_REFSTRUCTLIT(mmc_none),_OMC_LIT2349,MMC_IMMEDIATE(MMC_TAGFIXNUM(0)),MMC_IMMEDIATE(MMC_TAGFIXNUM(0)),_OMC_LIT89,MMC_IMMEDIATE(MMC_TAGFIXNUM(0)),_OMC_LIT89}};
#define _OMC_LIT2350 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2350)
#define _OMC_LIT2351_data "__kernel void omc_"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2351,18,_OMC_LIT2351_data);
#define _OMC_LIT2351 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2351)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2352,2,1) {_OMC_LIT2351,MMC_REFSTRUCTLIT(mmc_nil)}};
#define _OMC_LIT2352 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2352)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2353,2,1) {_OMC_LIT1167,_OMC_LIT2352}};
#define _OMC_LIT2353 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2353)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2354,3,6) {&Tpl_StringToken_ST__STRING__LIST__desc,_OMC_LIT2353,MMC_IMMEDIATE(MMC_TAGFIXNUM(0))}};
#define _OMC_LIT2354 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2354)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2355,2,5) {&Tpl_StringToken_ST__LINE__desc,_OMC_LIT1918}};
#define _OMC_LIT2355 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2355)
#define _OMC_LIT2356_data "	"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2356,1,_OMC_LIT2356_data);
#define _OMC_LIT2356 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2356)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2357,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT2356}};
#define _OMC_LIT2357 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2357)
#define _OMC_LIT2358_data "  /* functionBodyKernelFunction: Reconstruct Arrays */\n"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2358,55,_OMC_LIT2358_data);
#define _OMC_LIT2358 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2358)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2359,2,1) {_OMC_LIT2358,MMC_REFSTRUCTLIT(mmc_nil)}};
#define _OMC_LIT2359 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2359)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2360,2,1) {_OMC_LIT145,_OMC_LIT2359}};
#define _OMC_LIT2360 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2360)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2361,3,6) {&Tpl_StringToken_ST__STRING__LIST__desc,_OMC_LIT2360,MMC_IMMEDIATE(MMC_TAGFIXNUM(1))}};
#define _OMC_LIT2361 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2361)
#define _OMC_LIT2362_data "/* functionBodyKernelFunction: locals */\n"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2362,41,_OMC_LIT2362_data);
#define _OMC_LIT2362 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2362)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2363,2,1) {_OMC_LIT2362,MMC_REFSTRUCTLIT(mmc_nil)}};
#define _OMC_LIT2363 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2363)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2364,2,1) {_OMC_LIT1167,_OMC_LIT2363}};
#define _OMC_LIT2364 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2364)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2365,3,6) {&Tpl_StringToken_ST__STRING__LIST__desc,_OMC_LIT2364,MMC_IMMEDIATE(MMC_TAGFIXNUM(1))}};
#define _OMC_LIT2365 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2365)
#define _OMC_LIT2366_data "/* functionBodyKernelFunction: var inits */\n"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2366,44,_OMC_LIT2366_data);
#define _OMC_LIT2366 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2366)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2367,2,1) {_OMC_LIT2366,MMC_REFSTRUCTLIT(mmc_nil)}};
#define _OMC_LIT2367 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2367)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2368,2,1) {_OMC_LIT1167,_OMC_LIT2367}};
#define _OMC_LIT2368 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2368)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2369,3,6) {&Tpl_StringToken_ST__STRING__LIST__desc,_OMC_LIT2368,MMC_IMMEDIATE(MMC_TAGFIXNUM(1))}};
#define _OMC_LIT2369 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2369)
#define _OMC_LIT2370_data "/* functionBodyKernelFunction: body */\n"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2370,39,_OMC_LIT2370_data);
#define _OMC_LIT2370 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2370)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2371,2,5) {&Tpl_StringToken_ST__LINE__desc,_OMC_LIT2370}};
#define _OMC_LIT2371 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2371)
#define _OMC_LIT2372_data "/* Free GPU/OpenCL CPU memory */\n"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2372,33,_OMC_LIT2372_data);
#define _OMC_LIT2372 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2372)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2373,2,1) {_OMC_LIT2372,MMC_REFSTRUCTLIT(mmc_nil)}};
#define _OMC_LIT2373 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2373)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2374,2,1) {_OMC_LIT1167,_OMC_LIT2373}};
#define _OMC_LIT2374 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2374)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2375,3,6) {&Tpl_StringToken_ST__STRING__LIST__desc,_OMC_LIT2374,MMC_IMMEDIATE(MMC_TAGFIXNUM(1))}};
#define _OMC_LIT2375 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2375)
#define _OMC_LIT2376_data "DLLExport\n"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2376,10,_OMC_LIT2376_data);
#define _OMC_LIT2376 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2376)
#define _OMC_LIT2377_data "int in_"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2377,7,_OMC_LIT2377_data);
#define _OMC_LIT2377 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2377)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2378,2,1) {_OMC_LIT2377,MMC_REFSTRUCTLIT(mmc_nil)}};
#define _OMC_LIT2378 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2378)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2379,2,1) {_OMC_LIT2376,_OMC_LIT2378}};
#define _OMC_LIT2379 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2379)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2380,3,6) {&Tpl_StringToken_ST__STRING__LIST__desc,_OMC_LIT2379,MMC_IMMEDIATE(MMC_TAGFIXNUM(0))}};
#define _OMC_LIT2380 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2380)
#define _OMC_LIT2381_data "(threadData_t *threadData, type_description * inArgs, type_description * outVar)\n"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2381,81,_OMC_LIT2381_data);
#define _OMC_LIT2381 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2381)
#define _OMC_LIT2382_data "  //if (!mmc_GC_state) mmc_GC_init();\n"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2382,38,_OMC_LIT2382_data);
#define _OMC_LIT2382 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2382)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2383,2,1) {_OMC_LIT2382,MMC_REFSTRUCTLIT(mmc_nil)}};
#define _OMC_LIT2383 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2383)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2384,2,1) {_OMC_LIT145,_OMC_LIT2383}};
#define _OMC_LIT2384 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2384)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2385,2,1) {_OMC_LIT2381,_OMC_LIT2384}};
#define _OMC_LIT2385 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2385)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2386,3,6) {&Tpl_StringToken_ST__STRING__LIST__desc,_OMC_LIT2385,MMC_IMMEDIATE(MMC_TAGFIXNUM(1))}};
#define _OMC_LIT2386 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2386)
#define _OMC_LIT2387_data "MMC_TRY_TOP_INTERNAL()\n"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2387,23,_OMC_LIT2387_data);
#define _OMC_LIT2387 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2387)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2388,2,5) {&Tpl_StringToken_ST__LINE__desc,_OMC_LIT2387}};
#define _OMC_LIT2388 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2388)
#define _OMC_LIT2389_data "MMC_CATCH_TOP(return 1)\n"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2389,24,_OMC_LIT2389_data);
#define _OMC_LIT2389 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2389)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2390,2,1) {_OMC_LIT2389,MMC_REFSTRUCTLIT(mmc_nil)}};
#define _OMC_LIT2390 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2390)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2391,2,1) {_OMC_LIT374,_OMC_LIT2390}};
#define _OMC_LIT2391 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2391)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2392,3,6) {&Tpl_StringToken_ST__STRING__LIST__desc,_OMC_LIT2391,MMC_IMMEDIATE(MMC_TAGFIXNUM(1))}};
#define _OMC_LIT2392 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2392)
#define _OMC_LIT2393_data "fflush(NULL);\n"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2393,14,_OMC_LIT2393_data);
#define _OMC_LIT2393 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2393)
#define _OMC_LIT2394_data "return 0;\n"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2394,10,_OMC_LIT2394_data);
#define _OMC_LIT2394 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2394)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2395,2,1) {_OMC_LIT2394,MMC_REFSTRUCTLIT(mmc_nil)}};
#define _OMC_LIT2395 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2395)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2396,2,1) {_OMC_LIT2393,_OMC_LIT2395}};
#define _OMC_LIT2396 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2396)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2397,3,6) {&Tpl_StringToken_ST__STRING__LIST__desc,_OMC_LIT2396,MMC_IMMEDIATE(MMC_TAGFIXNUM(1))}};
#define _OMC_LIT2397 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2397)
#define _OMC_LIT2398_data "#ifdef GENERATE_MAIN_EXECUTABLE\n"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2398,32,_OMC_LIT2398_data);
#define _OMC_LIT2398 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2398)
#define _OMC_LIT2399_data "static int rml_execution_failed()\n"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2399,34,_OMC_LIT2399_data);
#define _OMC_LIT2399 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2399)
#define _OMC_LIT2400_data "  fflush(NULL);\n"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2400,16,_OMC_LIT2400_data);
#define _OMC_LIT2400 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2400)
#define _OMC_LIT2401_data "  fprintf(stderr, \"Execution failed!\\n\");\n"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2401,42,_OMC_LIT2401_data);
#define _OMC_LIT2401 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2401)
#define _OMC_LIT2402_data "  return 1;\n"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2402,12,_OMC_LIT2402_data);
#define _OMC_LIT2402 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2402)
#define _OMC_LIT2403_data "void (*omc_assert)(threadData_t*,FILE_INFO info,const char *msg,...) __attribute__((noreturn)) = omc_assert_function;\n"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2403,118,_OMC_LIT2403_data);
#define _OMC_LIT2403 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2403)
#define _OMC_LIT2404_data "void (*omc_assert_warning)(FILE_INFO info,const char *msg,...) = omc_assert_warning_function;\n"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2404,94,_OMC_LIT2404_data);
#define _OMC_LIT2404 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2404)
#define _OMC_LIT2405_data "void (*omc_terminate)(FILE_INFO info,const char *msg,...) = omc_terminate_function;\n"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2405,84,_OMC_LIT2405_data);
#define _OMC_LIT2405 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2405)
#define _OMC_LIT2406_data "void (*omc_throw)(threadData_t*) __attribute__ ((noreturn)) = omc_throw_function;\n"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2406,82,_OMC_LIT2406_data);
#define _OMC_LIT2406 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2406)
#define _OMC_LIT2407_data "int main(int argc, char **argv) {\n"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2407,34,_OMC_LIT2407_data);
#define _OMC_LIT2407 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2407)
#define _OMC_LIT2408_data "  MMC_INIT(0);\n"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2408,15,_OMC_LIT2408_data);
#define _OMC_LIT2408 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2408)
#define _OMC_LIT2409_data "  {\n"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2409,4,_OMC_LIT2409_data);
#define _OMC_LIT2409 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2409)
#define _OMC_LIT2410_data "  void *lst = mmc_mk_nil();\n"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2410,28,_OMC_LIT2410_data);
#define _OMC_LIT2410 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2410)
#define _OMC_LIT2411_data "  int i = 0;\n"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2411,13,_OMC_LIT2411_data);
#define _OMC_LIT2411 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2411)
#define _OMC_LIT2412_data "  for (i=argc-1; i>0; i--) {\n"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2412,29,_OMC_LIT2412_data);
#define _OMC_LIT2412 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2412)
#define _OMC_LIT2413_data "    lst = mmc_mk_cons(mmc_mk_scon(argv[i]), lst);\n"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2413,50,_OMC_LIT2413_data);
#define _OMC_LIT2413 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2413)
#define _OMC_LIT2414_data "  }\n"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2414,4,_OMC_LIT2414_data);
#define _OMC_LIT2414 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2414)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2415,2,1) {_OMC_LIT2414,_OMC_LIT1757}};
#define _OMC_LIT2415 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2415)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2416,2,1) {_OMC_LIT2413,_OMC_LIT2415}};
#define _OMC_LIT2416 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2416)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2417,2,1) {_OMC_LIT2412,_OMC_LIT2416}};
#define _OMC_LIT2417 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2417)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2418,2,1) {_OMC_LIT1167,_OMC_LIT2417}};
#define _OMC_LIT2418 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2418)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2419,2,1) {_OMC_LIT2411,_OMC_LIT2418}};
#define _OMC_LIT2419 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2419)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2420,2,1) {_OMC_LIT2410,_OMC_LIT2419}};
#define _OMC_LIT2420 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2420)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2421,2,1) {_OMC_LIT2409,_OMC_LIT2420}};
#define _OMC_LIT2421 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2421)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2422,2,1) {_OMC_LIT2408,_OMC_LIT2421}};
#define _OMC_LIT2422 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2422)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2423,2,1) {_OMC_LIT2407,_OMC_LIT2422}};
#define _OMC_LIT2423 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2423)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2424,2,1) {_OMC_LIT1167,_OMC_LIT2423}};
#define _OMC_LIT2424 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2424)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2425,2,1) {_OMC_LIT2406,_OMC_LIT2424}};
#define _OMC_LIT2425 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2425)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2426,2,1) {_OMC_LIT2405,_OMC_LIT2425}};
#define _OMC_LIT2426 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2426)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2427,2,1) {_OMC_LIT2404,_OMC_LIT2426}};
#define _OMC_LIT2427 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2427)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2428,2,1) {_OMC_LIT2403,_OMC_LIT2427}};
#define _OMC_LIT2428 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2428)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2429,2,1) {_OMC_LIT1167,_OMC_LIT2428}};
#define _OMC_LIT2429 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2429)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2430,2,1) {_OMC_LIT151,_OMC_LIT2429}};
#define _OMC_LIT2430 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2430)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2431,2,1) {_OMC_LIT2402,_OMC_LIT2430}};
#define _OMC_LIT2431 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2431)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2432,2,1) {_OMC_LIT2400,_OMC_LIT2431}};
#define _OMC_LIT2432 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2432)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2433,2,1) {_OMC_LIT2401,_OMC_LIT2432}};
#define _OMC_LIT2433 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2433)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2434,2,1) {_OMC_LIT2400,_OMC_LIT2433}};
#define _OMC_LIT2434 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2434)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2435,2,1) {_OMC_LIT145,_OMC_LIT2434}};
#define _OMC_LIT2435 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2435)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2436,2,1) {_OMC_LIT2399,_OMC_LIT2435}};
#define _OMC_LIT2436 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2436)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2437,2,1) {_OMC_LIT2398,_OMC_LIT2436}};
#define _OMC_LIT2437 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2437)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2438,2,1) {_OMC_LIT151,_OMC_LIT2437}};
#define _OMC_LIT2438 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2438)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2439,3,6) {&Tpl_StringToken_ST__STRING__LIST__desc,_OMC_LIT2438,MMC_IMMEDIATE(MMC_TAGFIXNUM(1))}};
#define _OMC_LIT2439 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2439)
#define _OMC_LIT2440_data "(threadData, lst);"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2440,18,_OMC_LIT2440_data);
#define _OMC_LIT2440 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2440)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2441,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT2440}};
#define _OMC_LIT2441 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2441)
#define _OMC_LIT2442_data "https://trac.openmodelica.org/OpenModelica/newticket"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2442,52,_OMC_LIT2442_data);
#define _OMC_LIT2442 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2442)
#define _OMC_LIT2443_data "hpcom"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2443,5,_OMC_LIT2443_data);
#define _OMC_LIT2443 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2443)
#define _OMC_LIT2444_data "Enables parallel calculation based on task-graphs."
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2444,50,_OMC_LIT2444_data);
#define _OMC_LIT2444 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2444)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2445,2,3) {&Gettext_TranslatableContent_gettext__desc,_OMC_LIT2444}};
#define _OMC_LIT2445 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2445)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2446,5,3) {&Flags_DebugFlag_DEBUG__FLAG__desc,MMC_IMMEDIATE(MMC_TAGFIXNUM(87)),_OMC_LIT2443,MMC_IMMEDIATE(MMC_TAGFIXNUM(0)),_OMC_LIT2445}};
#define _OMC_LIT2446 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2446)
#define _OMC_LIT2447_data "EXIT(0);\n"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2447,9,_OMC_LIT2447_data);
#define _OMC_LIT2447 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2447)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2448,2,1) {_OMC_LIT2447,_OMC_LIT2395}};
#define _OMC_LIT2448 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2448)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2449,2,1) {_OMC_LIT2393,_OMC_LIT2448}};
#define _OMC_LIT2449 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2449)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2450,3,6) {&Tpl_StringToken_ST__STRING__LIST__desc,_OMC_LIT2449,MMC_IMMEDIATE(MMC_TAGFIXNUM(1))}};
#define _OMC_LIT2450 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2450)
#define _OMC_LIT2451_data "#endif"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2451,6,_OMC_LIT2451_data);
#define _OMC_LIT2451 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2451)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2452,2,1) {_OMC_LIT2451,MMC_REFSTRUCTLIT(mmc_nil)}};
#define _OMC_LIT2452 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2452)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2453,2,1) {_OMC_LIT151,_OMC_LIT2452}};
#define _OMC_LIT2453 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2453)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2454,3,6) {&Tpl_StringToken_ST__STRING__LIST__desc,_OMC_LIT2453,MMC_IMMEDIATE(MMC_TAGFIXNUM(0))}};
#define _OMC_LIT2454 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2454)
#define _OMC_LIT2455_data "terminateHpcOmThreads();"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2455,24,_OMC_LIT2455_data);
#define _OMC_LIT2455 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2455)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2456,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT2455}};
#define _OMC_LIT2456 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2456)
#define _OMC_LIT2457_data "write_noretcall(outVar);"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2457,24,_OMC_LIT2457_data);
#define _OMC_LIT2457 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2457)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2458,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT2457}};
#define _OMC_LIT2458 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2458)
#define _OMC_LIT2459_data "_tailrecursive: OMC_LABEL_UNUSED\n"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2459,33,_OMC_LIT2459_data);
#define _OMC_LIT2459 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2459)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2460,2,5) {&Tpl_StringToken_ST__LINE__desc,_OMC_LIT2459}};
#define _OMC_LIT2460 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2460)
#define _OMC_LIT2461_data "_return: OMC_LABEL_UNUSED\n"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2461,26,_OMC_LIT2461_data);
#define _OMC_LIT2461 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2461)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2462,2,5) {&Tpl_StringToken_ST__LINE__desc,_OMC_LIT2461}};
#define _OMC_LIT2462 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2462)
#define _OMC_LIT2463_data "/* Free GPU/OpenCL CPU memory */"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2463,32,_OMC_LIT2463_data);
#define _OMC_LIT2463 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2463)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2464,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT2463}};
#define _OMC_LIT2464 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2464)
#define _OMC_LIT2465_data "MMC_SO();"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2465,9,_OMC_LIT2465_data);
#define _OMC_LIT2465 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2465)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2466,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT2465}};
#define _OMC_LIT2466 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2466)
#define _OMC_LIT2467_data "DLLExport"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2467,9,_OMC_LIT2467_data);
#define _OMC_LIT2467 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2467)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2468,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT2467}};
#define _OMC_LIT2468 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2468)
#define _OMC_LIT2469_data "_destructor(threadData,"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2469,23,_OMC_LIT2469_data);
#define _OMC_LIT2469 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2469)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2470,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT2469}};
#define _OMC_LIT2470 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2470)
#define _OMC_LIT2471_data "jmp_buf *old_mmc_jumper = threadData->mmc_jumper;"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2471,49,_OMC_LIT2471_data);
#define _OMC_LIT2471 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2471)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2472,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT2471}};
#define _OMC_LIT2472 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2472)
#define _OMC_LIT2473_data "threadData->mmc_jumper = old_mmc_jumper;"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2473,40,_OMC_LIT2473_data);
#define _OMC_LIT2473 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2473)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2474,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT2473}};
#define _OMC_LIT2474 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2474)
#define _OMC_LIT2475_data " /*"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2475,3,_OMC_LIT2475_data);
#define _OMC_LIT2475 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2475)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2476,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT2475}};
#define _OMC_LIT2476 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2476)
#define _OMC_LIT2477_data "int *"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2477,5,_OMC_LIT2477_data);
#define _OMC_LIT2477 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2477)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2478,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT2477}};
#define _OMC_LIT2478 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2478)
#define _OMC_LIT2479_data "size_t"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2479,6,_OMC_LIT2479_data);
#define _OMC_LIT2479 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2479)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2480,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT2479}};
#define _OMC_LIT2480 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2480)
#define _OMC_LIT2481_data "char"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2481,4,_OMC_LIT2481_data);
#define _OMC_LIT2481 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2481)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2482,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT2481}};
#define _OMC_LIT2482 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2482)
#define _OMC_LIT2483_data "void*"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2483,5,_OMC_LIT2483_data);
#define _OMC_LIT2483 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2483)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2484,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT2483}};
#define _OMC_LIT2484 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2484)
#define _OMC_LIT2485_data "Unknown external F77 type "
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2485,26,_OMC_LIT2485_data);
#define _OMC_LIT2485 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2485)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2486,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT2485}};
#define _OMC_LIT2486 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2486)
#define _OMC_LIT2487_data "const "
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2487,6,_OMC_LIT2487_data);
#define _OMC_LIT2487 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2487)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2488,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT2487}};
#define _OMC_LIT2488 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2488)
#define _OMC_LIT2489_data "Unknown external C type "
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2489,24,_OMC_LIT2489_data);
#define _OMC_LIT2489 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2489)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2490,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT2489}};
#define _OMC_LIT2490 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2490)
#define _OMC_LIT2491_data "Expression types are unsupported as return arguments "
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2491,53,_OMC_LIT2491_data);
#define _OMC_LIT2491 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2491)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2492,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT2491}};
#define _OMC_LIT2492 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2492)
#define _OMC_LIT2493_data "Unsupported return argument"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2493,27,_OMC_LIT2493_data);
#define _OMC_LIT2493 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2493)
#define _OMC_LIT2494_data "typedef "
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2494,8,_OMC_LIT2494_data);
#define _OMC_LIT2494 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2494)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2495,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT2494}};
#define _OMC_LIT2495 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2495)
#define _OMC_LIT2496_data " (*ptrT_"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2496,8,_OMC_LIT2496_data);
#define _OMC_LIT2496 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2496)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2497,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT2496}};
#define _OMC_LIT2497 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2497)
#define _OMC_LIT2498_data ")("
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2498,2,_OMC_LIT2498_data);
#define _OMC_LIT2498 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2498)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2499,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT2498}};
#define _OMC_LIT2499 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2499)
#define _OMC_LIT2500_data "extern ptrT_"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2500,12,_OMC_LIT2500_data);
#define _OMC_LIT2500 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2500)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2501,2,1) {_OMC_LIT2500,MMC_REFSTRUCTLIT(mmc_nil)}};
#define _OMC_LIT2501 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2501)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2502,2,1) {_OMC_LIT374,_OMC_LIT2501}};
#define _OMC_LIT2502 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2502)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2503,3,6) {&Tpl_StringToken_ST__STRING__LIST__desc,_OMC_LIT2502,MMC_IMMEDIATE(MMC_TAGFIXNUM(0))}};
#define _OMC_LIT2503 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2503)
#define _OMC_LIT2504_data "extern "
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2504,7,_OMC_LIT2504_data);
#define _OMC_LIT2504 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2504)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2505,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT2504}};
#define _OMC_LIT2505 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2505)
#define _OMC_LIT2506_data " * The function has annotation(Include=...>) or is builtin\n"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2506,59,_OMC_LIT2506_data);
#define _OMC_LIT2506 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2506)
#define _OMC_LIT2507_data " * the external function definition should be present\n"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2507,54,_OMC_LIT2507_data);
#define _OMC_LIT2507 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2507)
#define _OMC_LIT2508_data " * in one of these files and have this prototype:\n"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2508,50,_OMC_LIT2508_data);
#define _OMC_LIT2508 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2508)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2509,2,1) {_OMC_LIT2508,MMC_REFSTRUCTLIT(mmc_nil)}};
#define _OMC_LIT2509 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2509)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2510,2,1) {_OMC_LIT2507,_OMC_LIT2509}};
#define _OMC_LIT2510 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2510)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2511,2,1) {_OMC_LIT2506,_OMC_LIT2510}};
#define _OMC_LIT2511 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2511)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2512,2,1) {_OMC_LIT2326,_OMC_LIT2511}};
#define _OMC_LIT2512 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2512)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2513,3,6) {&Tpl_StringToken_ST__STRING__LIST__desc,_OMC_LIT2512,MMC_IMMEDIATE(MMC_TAGFIXNUM(1))}};
#define _OMC_LIT2513 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2513)
#define _OMC_LIT2514_data "* extern "
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2514,9,_OMC_LIT2514_data);
#define _OMC_LIT2514 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2514)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2515,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT2514}};
#define _OMC_LIT2515 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2515)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2516,2,1) {_OMC_LIT1396,MMC_REFSTRUCTLIT(mmc_nil)}};
#define _OMC_LIT2516 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2516)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2517,2,1) {_OMC_LIT374,_OMC_LIT2516}};
#define _OMC_LIT2517 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2517)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2518,3,6) {&Tpl_StringToken_ST__STRING__LIST__desc,_OMC_LIT2517,MMC_IMMEDIATE(MMC_TAGFIXNUM(0))}};
#define _OMC_LIT2518 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2518)
#define _OMC_LIT2519_data ".data = data_"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2519,13,_OMC_LIT2519_data);
#define _OMC_LIT2519 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2519)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2520,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT2519}};
#define _OMC_LIT2520 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2520)
#define _OMC_LIT2521_data ".ndims = info_"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2521,14,_OMC_LIT2521_data);
#define _OMC_LIT2521 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2521)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2522,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT2521}};
#define _OMC_LIT2522 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2522)
#define _OMC_LIT2523_data "[0]; "
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2523,5,_OMC_LIT2523_data);
#define _OMC_LIT2523 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2523)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2524,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT2523}};
#define _OMC_LIT2524 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2524)
#define _OMC_LIT2525_data ".dim_size = info_"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2525,17,_OMC_LIT2525_data);
#define _OMC_LIT2525 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2525)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2526,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT2525}};
#define _OMC_LIT2526 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2526)
#define _OMC_LIT2527_data " + 1; "
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2527,6,_OMC_LIT2527_data);
#define _OMC_LIT2527 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2527)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2528,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT2527}};
#define _OMC_LIT2528 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2528)
#define _OMC_LIT2529_data "local_"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2529,6,_OMC_LIT2529_data);
#define _OMC_LIT2529 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2529)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2530,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT2529}};
#define _OMC_LIT2530 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2530)
#define _OMC_LIT2531_data "#wiered variable in kerenl reconstruction of arrays"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2531,51,_OMC_LIT2531_data);
#define _OMC_LIT2531 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2531)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2532,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT2531}};
#define _OMC_LIT2532 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2532)
#define _OMC_LIT2533_data "real_array "
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2533,11,_OMC_LIT2533_data);
#define _OMC_LIT2533 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2533)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2534,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT2533}};
#define _OMC_LIT2534 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2534)
#define _OMC_LIT2535_data "modelica_real "
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2535,14,_OMC_LIT2535_data);
#define _OMC_LIT2535 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2535)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2536,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT2535}};
#define _OMC_LIT2536 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2536)
#define _OMC_LIT2537_data "Tempalte error in parFunArgDefinitionFromLooptupleVar"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2537,53,_OMC_LIT2537_data);
#define _OMC_LIT2537 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2537)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2538,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT2537}};
#define _OMC_LIT2538 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2538)
#define _OMC_LIT2539_data "__global modelica_integer* data_"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2539,32,_OMC_LIT2539_data);
#define _OMC_LIT2539 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2539)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2540,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT2539}};
#define _OMC_LIT2540 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2540)
#define _OMC_LIT2541_data "__global modelica_integer* info_"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2541,32,_OMC_LIT2541_data);
#define _OMC_LIT2541 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2541)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2542,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT2541}};
#define _OMC_LIT2542 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2542)
#define _OMC_LIT2543_data "__global modelica_real* data_"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2543,29,_OMC_LIT2543_data);
#define _OMC_LIT2543 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2543)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2544,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT2543}};
#define _OMC_LIT2544 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2544)
#define _OMC_LIT2545_data "Template error in parFunArgDefinitionFromLooptupleVar"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2545,53,_OMC_LIT2545_data);
#define _OMC_LIT2545 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2545)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2546,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT2545}};
#define _OMC_LIT2546 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2546)
#define _OMC_LIT2547_data "    __global modelica_"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2547,22,_OMC_LIT2547_data);
#define _OMC_LIT2547 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2547)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2548,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT2547}};
#define _OMC_LIT2548 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2548)
#define _OMC_LIT2549_data "* data_"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2549,7,_OMC_LIT2549_data);
#define _OMC_LIT2549 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2549)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2550,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT2549}};
#define _OMC_LIT2550 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2550)
#define _OMC_LIT2551_data "    __global modelica_integer* info_"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2551,36,_OMC_LIT2551_data);
#define _OMC_LIT2551 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2551)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2552,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT2551}};
#define _OMC_LIT2552 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2552)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2553,2,4) {&Tpl_BlockType_BT__INDENT__desc,MMC_IMMEDIATE(MMC_TAGFIXNUM(4))}};
#define _OMC_LIT2553 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2553)
#define _OMC_LIT2554_data "#error Unknown variable type in as function argument funArgDefinitionKernelFunctionBody2"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2554,88,_OMC_LIT2554_data);
#define _OMC_LIT2554 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2554)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2555,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT2554}};
#define _OMC_LIT2555 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2555)
#define _OMC_LIT2556_data "    modelica_"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2556,13,_OMC_LIT2556_data);
#define _OMC_LIT2556 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2556)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2557,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT2556}};
#define _OMC_LIT2557 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2557)
#define _OMC_LIT2558_data "__global modelica_"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2558,18,_OMC_LIT2558_data);
#define _OMC_LIT2558 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2558)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2559,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT2558}};
#define _OMC_LIT2559 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2559)
#define _OMC_LIT2560_data "__local modelica_"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2560,17,_OMC_LIT2560_data);
#define _OMC_LIT2560 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2560)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2561,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT2560}};
#define _OMC_LIT2561 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2561)
#define _OMC_LIT2562_data "    __local modelica_integer* info_"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2562,35,_OMC_LIT2562_data);
#define _OMC_LIT2562 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2562)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2563,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT2562}};
#define _OMC_LIT2563 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2563)
#define _OMC_LIT2564_data "#error Unknown variable type in as function argument funArgDefinitionKernelFunctionBody"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2564,87,_OMC_LIT2564_data);
#define _OMC_LIT2564 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2564)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2565,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT2564}};
#define _OMC_LIT2565 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2565)
#define _OMC_LIT2566_data " *out"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2566,5,_OMC_LIT2566_data);
#define _OMC_LIT2566 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2566)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2567,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT2566}};
#define _OMC_LIT2567 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2567)
#define _OMC_LIT2568_data "tupleOutfunArgDefinitionKernelFunctionInterface : unsupported function argument type"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2568,84,_OMC_LIT2568_data);
#define _OMC_LIT2568 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2568)
#define _OMC_LIT2569_data "funArgDefinitionKernelFunctionInterface : unsupported function argument type"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2569,76,_OMC_LIT2569_data);
#define _OMC_LIT2569 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2569)
#define _OMC_LIT2570_data " = {0}"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2570,6,_OMC_LIT2570_data);
#define _OMC_LIT2570 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2570)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2571,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT2570}};
#define _OMC_LIT2571 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2571)
#define _OMC_LIT2572_data "threadData_t *threadData"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2572,24,_OMC_LIT2572_data);
#define _OMC_LIT2572 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2572)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2573,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT2572}};
#define _OMC_LIT2573 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2573)
#define _OMC_LIT2574_data "void omc_"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2574,9,_OMC_LIT2574_data);
#define _OMC_LIT2574 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2574)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2575,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT2574}};
#define _OMC_LIT2575 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2575)
#define _OMC_LIT2576_data "functionHeaderKernelFunctionInterfacePrototype failed"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2576,53,_OMC_LIT2576_data);
#define _OMC_LIT2576 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2576)
#define _OMC_LIT2577_data "void "
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2577,5,_OMC_LIT2577_data);
#define _OMC_LIT2577 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2577)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2578,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT2577}};
#define _OMC_LIT2578 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2578)
#define _OMC_LIT2579_data "modelica_fnptr *out"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2579,19,_OMC_LIT2579_data);
#define _OMC_LIT2579 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2579)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2580,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT2579}};
#define _OMC_LIT2580 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2580)
#define _OMC_LIT2581_data "td_"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2581,3,_OMC_LIT2581_data);
#define _OMC_LIT2581 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2581)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2582,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT2581}};
#define _OMC_LIT2582 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2582)
#define _OMC_LIT2583_data "impl_"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2583,5,_OMC_LIT2583_data);
#define _OMC_LIT2583 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2583)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2584,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT2583}};
#define _OMC_LIT2584 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2584)
#define _OMC_LIT2585_data "omc"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2585,3,_OMC_LIT2585_data);
#define _OMC_LIT2585 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2585)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2586,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT2585}};
#define _OMC_LIT2586 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2586)
#define _OMC_LIT2587_data "boxptr"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2587,6,_OMC_LIT2587_data);
#define _OMC_LIT2587 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2587)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2588,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT2587}};
#define _OMC_LIT2588 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2588)
#define _OMC_LIT2589_data "(threadData_t *threadData, type_description * inArgs, type_description * outVar);"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2589,81,_OMC_LIT2589_data);
#define _OMC_LIT2589 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2589)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2590,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT2589}};
#define _OMC_LIT2590 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2590)
#define _OMC_LIT2591_data "static const MMC_DEFSTRUCTLIT(boxvar_lit_"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2591,41,_OMC_LIT2591_data);
#define _OMC_LIT2591 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2591)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2592,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT2591}};
#define _OMC_LIT2592 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2592)
#define _OMC_LIT2593_data ",2,0) {(void*) "
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2593,15,_OMC_LIT2593_data);
#define _OMC_LIT2593 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2593)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2594,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT2593}};
#define _OMC_LIT2594 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2594)
#define _OMC_LIT2595_data ",0}};\n"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2595,6,_OMC_LIT2595_data);
#define _OMC_LIT2595 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2595)
#define _OMC_LIT2596_data "#define boxvar_"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2596,15,_OMC_LIT2596_data);
#define _OMC_LIT2596 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2596)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2597,2,1) {_OMC_LIT2596,MMC_REFSTRUCTLIT(mmc_nil)}};
#define _OMC_LIT2597 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2597)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2598,2,1) {_OMC_LIT2595,_OMC_LIT2597}};
#define _OMC_LIT2598 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2598)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2599,3,6) {&Tpl_StringToken_ST__STRING__LIST__desc,_OMC_LIT2598,MMC_IMMEDIATE(MMC_TAGFIXNUM(0))}};
#define _OMC_LIT2599 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2599)
#define _OMC_LIT2600_data " MMC_REFSTRUCTLIT(boxvar_lit_"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2600,29,_OMC_LIT2600_data);
#define _OMC_LIT2600 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2600)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2601,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT2600}};
#define _OMC_LIT2601 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2601)
#define _OMC_LIT2602_data " /* boxvar early */"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2602,19,_OMC_LIT2602_data);
#define _OMC_LIT2602 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2602)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2603,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT2602}};
#define _OMC_LIT2603 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2603)
#define _OMC_LIT2604_data "#define boxptr_"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2604,15,_OMC_LIT2604_data);
#define _OMC_LIT2604 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2604)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2605,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT2604}};
#define _OMC_LIT2605 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2605)
#define _OMC_LIT2606_data "extern struct record_description "
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2606,33,_OMC_LIT2606_data);
#define _OMC_LIT2606 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2606)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2607,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT2606}};
#define _OMC_LIT2607 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2607)
#define _OMC_LIT2608_data "__desc;"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2608,7,_OMC_LIT2608_data);
#define _OMC_LIT2608 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2608)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2609,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT2608}};
#define _OMC_LIT2609 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2609)
#define _OMC_LIT2610_data "__desc_added 1\n"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2610,15,_OMC_LIT2610_data);
#define _OMC_LIT2610 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2610)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2611,2,5) {&Tpl_StringToken_ST__LINE__desc,_OMC_LIT2610}};
#define _OMC_LIT2611 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2611)
#define _OMC_LIT2612_data "struct record_description "
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2612,26,_OMC_LIT2612_data);
#define _OMC_LIT2612 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2612)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2613,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT2612}};
#define _OMC_LIT2613 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2613)
#define _OMC_LIT2614_data "__desc = {\n"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2614,11,_OMC_LIT2614_data);
#define _OMC_LIT2614 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2614)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2615,2,5) {&Tpl_StringToken_ST__LINE__desc,_OMC_LIT2614}};
#define _OMC_LIT2615 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2615)
#define _OMC_LIT2616_data "\", /* package_record__X */\n"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2616,27,_OMC_LIT2616_data);
#define _OMC_LIT2616 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2616)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2617,2,1) {_OMC_LIT231,MMC_REFSTRUCTLIT(mmc_nil)}};
#define _OMC_LIT2617 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2617)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2618,2,1) {_OMC_LIT2616,_OMC_LIT2617}};
#define _OMC_LIT2618 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2618)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2619,3,6) {&Tpl_StringToken_ST__STRING__LIST__desc,_OMC_LIT2618,MMC_IMMEDIATE(MMC_TAGFIXNUM(0))}};
#define _OMC_LIT2619 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2619)
#define _OMC_LIT2620_data "\", /* package.record_X */\n"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2620,26,_OMC_LIT2620_data);
#define _OMC_LIT2620 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2620)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2621,2,5) {&Tpl_StringToken_ST__LINE__desc,_OMC_LIT2620}};
#define _OMC_LIT2621 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2621)
#define _OMC_LIT2622_data "__desc__fields\n"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2622,15,_OMC_LIT2622_data);
#define _OMC_LIT2622 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2622)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2623,2,5) {&Tpl_StringToken_ST__LINE__desc,_OMC_LIT2622}};
#define _OMC_LIT2623 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2623)
#define _OMC_LIT2624_data "SourceInfo_SOURCEINFO"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2624,21,_OMC_LIT2624_data);
#define _OMC_LIT2624 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2624)
#define _OMC_LIT2625_data "const char* "
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2625,12,_OMC_LIT2625_data);
#define _OMC_LIT2625 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2625)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2626,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT2625}};
#define _OMC_LIT2626 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2626)
#define _OMC_LIT2627_data "__desc__fields[1] = {\"no fields\"};"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2627,34,_OMC_LIT2627_data);
#define _OMC_LIT2627 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2627)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2628,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT2627}};
#define _OMC_LIT2628 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2628)
#define _OMC_LIT2629_data "__desc__fields["
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2629,15,_OMC_LIT2629_data);
#define _OMC_LIT2629 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2629)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2630,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT2629}};
#define _OMC_LIT2630 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2630)
#define _OMC_LIT2631_data "_array(&("
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2631,9,_OMC_LIT2631_data);
#define _OMC_LIT2631 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2631)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2632,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT2631}};
#define _OMC_LIT2632 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2632)
#define _OMC_LIT2633_data "); // "
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2633,6,_OMC_LIT2633_data);
#define _OMC_LIT2633 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2633)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2634,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT2633}};
#define _OMC_LIT2634 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2634)
#define _OMC_LIT2635_data " has no default value."
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2635,22,_OMC_LIT2635_data);
#define _OMC_LIT2635 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2635)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2636,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT2635}};
#define _OMC_LIT2636 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2636)
#define _OMC_LIT2637_data "generic_array_create_flexible(&"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2637,31,_OMC_LIT2637_data);
#define _OMC_LIT2637 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2637)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2638,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT2637}};
#define _OMC_LIT2638 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2638)
#define _OMC_LIT2639_data " has unknown size and no default value. It is flexible."
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2639,55,_OMC_LIT2639_data);
#define _OMC_LIT2639 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2639)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2640,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT2639}};
#define _OMC_LIT2640 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2640)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2641,2,1) {_OMC_LIT374,_OMC_LIT1757}};
#define _OMC_LIT2641 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2641)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2642,3,6) {&Tpl_StringToken_ST__STRING__LIST__desc,_OMC_LIT2641,MMC_IMMEDIATE(MMC_TAGFIXNUM(1))}};
#define _OMC_LIT2642 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2642)
#define _OMC_LIT2643_data "_array_alloc_copy("
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2643,18,_OMC_LIT2643_data);
#define _OMC_LIT2643 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2643)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2644,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT2643}};
#define _OMC_LIT2644 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2644)
#define _OMC_LIT2645_data "in"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2645,2,_OMC_LIT2645_data);
#define _OMC_LIT2645 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2645)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2646,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT2645}};
#define _OMC_LIT2646 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2646)
#define _OMC_LIT2647_data "Record has binding from outside but found a non EQBOUND binding. Implement me."
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2647,78,_OMC_LIT2647_data);
#define _OMC_LIT2647 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2647)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2648,2,1) {_OMC_LIT160,_OMC_LIT1757}};
#define _OMC_LIT2648 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2648)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2649,3,6) {&Tpl_StringToken_ST__STRING__LIST__desc,_OMC_LIT2648,MMC_IMMEDIATE(MMC_TAGFIXNUM(1))}};
#define _OMC_LIT2649 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2649)
#define _OMC_LIT2650_data " // "
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2650,4,_OMC_LIT2650_data);
#define _OMC_LIT2650 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2650)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2651,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT2650}};
#define _OMC_LIT2651 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2651)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2652,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT586}};
#define _OMC_LIT2652 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2652)
#define _OMC_LIT2653_data "_construct_p(threadData_t *threadData, void* v_ths "
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2653,51,_OMC_LIT2653_data);
#define _OMC_LIT2653 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2653)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2654,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT2653}};
#define _OMC_LIT2654 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2654)
#define _OMC_LIT2655_data "* ths = ("
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2655,9,_OMC_LIT2655_data);
#define _OMC_LIT2655 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2655)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2656,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT2655}};
#define _OMC_LIT2656 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2656)
#define _OMC_LIT2657_data "*)(v_ths);\n"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2657,11,_OMC_LIT2657_data);
#define _OMC_LIT2657 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2657)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2658,2,5) {&Tpl_StringToken_ST__LINE__desc,_OMC_LIT2657}};
#define _OMC_LIT2658 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2658)
#define _OMC_LIT2659_data "ths->"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2659,5,_OMC_LIT2659_data);
#define _OMC_LIT2659 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2659)
#define _OMC_LIT2660_data " in"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2660,3,_OMC_LIT2660_data);
#define _OMC_LIT2660 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2660)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2661,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT2660}};
#define _OMC_LIT2661 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2661)
#define _OMC_LIT2662_data "dst."
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2662,4,_OMC_LIT2662_data);
#define _OMC_LIT2662 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2662)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2663,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT2662}};
#define _OMC_LIT2663 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2663)
#define _OMC_LIT2664_data "// This function should eventualy replace the default 'modelica' record constructor funcition\n"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2664,94,_OMC_LIT2664_data);
#define _OMC_LIT2664 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2664)
#define _OMC_LIT2665_data "// that omc used to generate, i.e., replace functionBodyRecordConstructor template.\n"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2665,84,_OMC_LIT2665_data);
#define _OMC_LIT2665 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2665)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2666,2,1) {_OMC_LIT2665,_OMC_LIT2327}};
#define _OMC_LIT2666 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2666)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2667,2,1) {_OMC_LIT2664,_OMC_LIT2666}};
#define _OMC_LIT2667 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2667)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2668,3,6) {&Tpl_StringToken_ST__STRING__LIST__desc,_OMC_LIT2667,MMC_IMMEDIATE(MMC_TAGFIXNUM(1))}};
#define _OMC_LIT2668 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2668)
#define _OMC_LIT2669_data "(threadData_t *threadData "
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2669,26,_OMC_LIT2669_data);
#define _OMC_LIT2669 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2669)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2670,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT2669}};
#define _OMC_LIT2670 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2670)
#define _OMC_LIT2671_data " dst;\n"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2671,6,_OMC_LIT2671_data);
#define _OMC_LIT2671 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2671)
#define _OMC_LIT2672_data "// TODO Improve me. No need to initalize the record memebers with defaults in "
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2672,78,_OMC_LIT2672_data);
#define _OMC_LIT2672 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2672)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2673,2,1) {_OMC_LIT2672,MMC_REFSTRUCTLIT(mmc_nil)}};
#define _OMC_LIT2673 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2673)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2674,2,1) {_OMC_LIT2671,_OMC_LIT2673}};
#define _OMC_LIT2674 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2674)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2675,3,6) {&Tpl_StringToken_ST__STRING__LIST__desc,_OMC_LIT2674,MMC_IMMEDIATE(MMC_TAGFIXNUM(0))}};
#define _OMC_LIT2675 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2675)
#define _OMC_LIT2676_data "_construct\n"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2676,11,_OMC_LIT2676_data);
#define _OMC_LIT2676 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2676)
#define _OMC_LIT2677_data "// We should just do the allocs here and then copy the input parameters as default values instead.\n"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2677,99,_OMC_LIT2677_data);
#define _OMC_LIT2677 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2677)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2678,2,1) {_OMC_LIT2677,MMC_REFSTRUCTLIT(mmc_nil)}};
#define _OMC_LIT2678 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2678)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2679,2,1) {_OMC_LIT2676,_OMC_LIT2678}};
#define _OMC_LIT2679 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2679)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2680,3,6) {&Tpl_StringToken_ST__STRING__LIST__desc,_OMC_LIT2679,MMC_IMMEDIATE(MMC_TAGFIXNUM(1))}};
#define _OMC_LIT2680 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2680)
#define _OMC_LIT2681_data "_construct(threadData, dst);\n"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2681,29,_OMC_LIT2681_data);
#define _OMC_LIT2681 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2681)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2682,2,5) {&Tpl_StringToken_ST__LINE__desc,_OMC_LIT2681}};
#define _OMC_LIT2682 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2682)
#define _OMC_LIT2683_data "return dst;\n"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2683,12,_OMC_LIT2683_data);
#define _OMC_LIT2683 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2683)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2684,2,5) {&Tpl_StringToken_ST__LINE__desc,_OMC_LIT2683}};
#define _OMC_LIT2684 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2684)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2685,2,1) {_OMC_LIT151,_OMC_LIT2516}};
#define _OMC_LIT2685 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2685)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2686,3,6) {&Tpl_StringToken_ST__STRING__LIST__desc,_OMC_LIT2685,MMC_IMMEDIATE(MMC_TAGFIXNUM(0))}};
#define _OMC_LIT2686 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2686)
#define _OMC_LIT2687_data "dst->"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2687,5,_OMC_LIT2687_data);
#define _OMC_LIT2687 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2687)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2688,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT2687}};
#define _OMC_LIT2688 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2688)
#define _OMC_LIT2689_data "src->"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2689,5,_OMC_LIT2689_data);
#define _OMC_LIT2689 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2689)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2690,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT2689}};
#define _OMC_LIT2690 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2690)
#define _OMC_LIT2691_data "_copy_p(void* v_src, void* v_dst) {\n"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2691,36,_OMC_LIT2691_data);
#define _OMC_LIT2691 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2691)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2692,2,5) {&Tpl_StringToken_ST__LINE__desc,_OMC_LIT2691}};
#define _OMC_LIT2692 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2692)
#define _OMC_LIT2693_data "* src = ("
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2693,9,_OMC_LIT2693_data);
#define _OMC_LIT2693 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2693)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2694,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT2693}};
#define _OMC_LIT2694 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2694)
#define _OMC_LIT2695_data "*)(v_src);\n"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2695,11,_OMC_LIT2695_data);
#define _OMC_LIT2695 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2695)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2696,2,5) {&Tpl_StringToken_ST__LINE__desc,_OMC_LIT2695}};
#define _OMC_LIT2696 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2696)
#define _OMC_LIT2697_data "* dst = ("
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2697,9,_OMC_LIT2697_data);
#define _OMC_LIT2697 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2697)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2698,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT2697}};
#define _OMC_LIT2698 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2698)
#define _OMC_LIT2699_data "*)(v_dst);\n"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2699,11,_OMC_LIT2699_data);
#define _OMC_LIT2699 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2699)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2700,2,5) {&Tpl_StringToken_ST__LINE__desc,_OMC_LIT2699}};
#define _OMC_LIT2700 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2700)
#define _OMC_LIT2701_data "_construct"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2701,10,_OMC_LIT2701_data);
#define _OMC_LIT2701 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2701)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2702,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT2701}};
#define _OMC_LIT2702 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2702)
#define _OMC_LIT2703_data "_p"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2703,2,_OMC_LIT2703_data);
#define _OMC_LIT2703 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2703)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2704,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT2703}};
#define _OMC_LIT2704 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2704)
#define _OMC_LIT2705_data "_copy"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2705,5,_OMC_LIT2705_data);
#define _OMC_LIT2705 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2705)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2706,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT2705}};
#define _OMC_LIT2706 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2706)
#define _OMC_LIT2707_data "_copy_to_vars"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2707,13,_OMC_LIT2707_data);
#define _OMC_LIT2707 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2707)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2708,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT2707}};
#define _OMC_LIT2708 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2708)
#define _OMC_LIT2709_data "__desc;\n"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2709,8,_OMC_LIT2709_data);
#define _OMC_LIT2709 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2709)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2710,2,1) {_OMC_LIT2577,MMC_REFSTRUCTLIT(mmc_nil)}};
#define _OMC_LIT2710 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2710)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2711,2,1) {_OMC_LIT1167,_OMC_LIT2710}};
#define _OMC_LIT2711 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2711)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2712,2,1) {_OMC_LIT2709,_OMC_LIT2711}};
#define _OMC_LIT2712 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2712)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2713,3,6) {&Tpl_StringToken_ST__STRING__LIST__desc,_OMC_LIT2712,MMC_IMMEDIATE(MMC_TAGFIXNUM(0))}};
#define _OMC_LIT2713 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2713)
#define _OMC_LIT2714_data "(threadData_t *threadData, void* v_ths "
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2714,39,_OMC_LIT2714_data);
#define _OMC_LIT2714 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2714)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2715,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT2714}};
#define _OMC_LIT2715 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2715)
#define _OMC_LIT2716_data "(td, ths "
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2716,9,_OMC_LIT2716_data);
#define _OMC_LIT2716 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2716)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2717,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT2716}};
#define _OMC_LIT2717 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2717)
#define _OMC_LIT2718_data "(td, &ths "
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2718,10,_OMC_LIT2718_data);
#define _OMC_LIT2718 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2718)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2719,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT2718}};
#define _OMC_LIT2719 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2719)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2720,2,1) {_OMC_LIT425,_OMC_LIT2710}};
#define _OMC_LIT2720 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2720)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2721,3,6) {&Tpl_StringToken_ST__STRING__LIST__desc,_OMC_LIT2720,MMC_IMMEDIATE(MMC_TAGFIXNUM(0))}};
#define _OMC_LIT2721 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2721)
#define _OMC_LIT2722_data "(void* v_src, void* v_dst);\n"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2722,28,_OMC_LIT2722_data);
#define _OMC_LIT2722 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2722)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2723,2,1) {_OMC_LIT2722,_OMC_LIT1639}};
#define _OMC_LIT2723 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2723)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2724,3,6) {&Tpl_StringToken_ST__STRING__LIST__desc,_OMC_LIT2723,MMC_IMMEDIATE(MMC_TAGFIXNUM(0))}};
#define _OMC_LIT2724 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2724)
#define _OMC_LIT2725_data "(src,dst) "
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2725,10,_OMC_LIT2725_data);
#define _OMC_LIT2725 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2725)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2726,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT2725}};
#define _OMC_LIT2726 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2726)
#define _OMC_LIT2727_data "(&src, &dst)\n"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2727,13,_OMC_LIT2727_data);
#define _OMC_LIT2727 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2727)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2728,2,1) {_OMC_LIT2665,_OMC_LIT587}};
#define _OMC_LIT2728 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2728)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2729,2,1) {_OMC_LIT2664,_OMC_LIT2728}};
#define _OMC_LIT2729 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2729)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2730,2,1) {_OMC_LIT1167,_OMC_LIT2729}};
#define _OMC_LIT2730 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2730)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2731,2,1) {_OMC_LIT2727,_OMC_LIT2730}};
#define _OMC_LIT2731 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2731)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2732,3,6) {&Tpl_StringToken_ST__STRING__LIST__desc,_OMC_LIT2731,MMC_IMMEDIATE(MMC_TAGFIXNUM(0))}};
#define _OMC_LIT2732 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2732)
#define _OMC_LIT2733_data "// This function is not needed anymore. If you want to know how a record\n"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2733,73,_OMC_LIT2733_data);
#define _OMC_LIT2733 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2733)
#define _OMC_LIT2734_data "// is 'assigned to' in simulation context see assignRhsExpToRecordCrefSimContext and\n"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2734,85,_OMC_LIT2734_data);
#define _OMC_LIT2734 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2734)
#define _OMC_LIT2735_data "// splitRecordAssignmentToMemberAssignments (simCode). Basically the record is\n"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2735,79,_OMC_LIT2735_data);
#define _OMC_LIT2735 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2735)
#define _OMC_LIT2736_data "// split up assignments generated for each memeber individualy.\n"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2736,64,_OMC_LIT2736_data);
#define _OMC_LIT2736 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2736)
#define _OMC_LIT2737_data "// void "
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2737,8,_OMC_LIT2737_data);
#define _OMC_LIT2737 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2737)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2738,2,1) {_OMC_LIT2737,MMC_REFSTRUCTLIT(mmc_nil)}};
#define _OMC_LIT2738 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2738)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2739,2,1) {_OMC_LIT2736,_OMC_LIT2738}};
#define _OMC_LIT2739 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2739)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2740,2,1) {_OMC_LIT2735,_OMC_LIT2739}};
#define _OMC_LIT2740 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2740)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2741,2,1) {_OMC_LIT2734,_OMC_LIT2740}};
#define _OMC_LIT2741 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2741)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2742,2,1) {_OMC_LIT2733,_OMC_LIT2741}};
#define _OMC_LIT2742 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2742)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2743,2,1) {_OMC_LIT1167,_OMC_LIT2742}};
#define _OMC_LIT2743 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2743)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2744,2,1) {_OMC_LIT374,_OMC_LIT2743}};
#define _OMC_LIT2744 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2744)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2745,3,6) {&Tpl_StringToken_ST__STRING__LIST__desc,_OMC_LIT2744,MMC_IMMEDIATE(MMC_TAGFIXNUM(0))}};
#define _OMC_LIT2745 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2745)
#define _OMC_LIT2746_data "(void* v_src "
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2746,13,_OMC_LIT2746_data);
#define _OMC_LIT2746 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2746)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2747,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT2746}};
#define _OMC_LIT2747 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2747)
#define _OMC_LIT2748_data "// #define "
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2748,11,_OMC_LIT2748_data);
#define _OMC_LIT2748 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2748)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2749,2,1) {_OMC_LIT2748,MMC_REFSTRUCTLIT(mmc_nil)}};
#define _OMC_LIT2749 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2749)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2750,2,1) {_OMC_LIT374,_OMC_LIT2749}};
#define _OMC_LIT2750 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2750)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2751,3,6) {&Tpl_StringToken_ST__STRING__LIST__desc,_OMC_LIT2750,MMC_IMMEDIATE(MMC_TAGFIXNUM(0))}};
#define _OMC_LIT2751 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2751)
#define _OMC_LIT2752_data "(src,...) "
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2752,10,_OMC_LIT2752_data);
#define _OMC_LIT2752 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2752)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2753,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT2752}};
#define _OMC_LIT2753 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2753)
#define _OMC_LIT2754_data "(&src, __VA_ARGS__)\n"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2754,20,_OMC_LIT2754_data);
#define _OMC_LIT2754 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2754)
#define _OMC_LIT2755_data "typedef base_array_t "
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2755,21,_OMC_LIT2755_data);
#define _OMC_LIT2755 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2755)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2756,2,1) {_OMC_LIT2755,MMC_REFSTRUCTLIT(mmc_nil)}};
#define _OMC_LIT2756 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2756)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2757,2,1) {_OMC_LIT1167,_OMC_LIT2756}};
#define _OMC_LIT2757 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2757)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2758,2,1) {_OMC_LIT2754,_OMC_LIT2757}};
#define _OMC_LIT2758 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2758)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2759,3,6) {&Tpl_StringToken_ST__STRING__LIST__desc,_OMC_LIT2758,MMC_IMMEDIATE(MMC_TAGFIXNUM(0))}};
#define _OMC_LIT2759 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2759)
#define _OMC_LIT2760_data "_array;\n"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2760,8,_OMC_LIT2760_data);
#define _OMC_LIT2760 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2760)
#define _OMC_LIT2761_data "#define alloc_"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2761,14,_OMC_LIT2761_data);
#define _OMC_LIT2761 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2761)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2762,2,1) {_OMC_LIT2761,MMC_REFSTRUCTLIT(mmc_nil)}};
#define _OMC_LIT2762 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2762)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2763,2,1) {_OMC_LIT2760,_OMC_LIT2762}};
#define _OMC_LIT2763 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2763)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2764,3,6) {&Tpl_StringToken_ST__STRING__LIST__desc,_OMC_LIT2763,MMC_IMMEDIATE(MMC_TAGFIXNUM(0))}};
#define _OMC_LIT2764 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2764)
#define _OMC_LIT2765_data "_array(dst,ndims,...) generic_array_create(NULL, dst, "
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2765,54,_OMC_LIT2765_data);
#define _OMC_LIT2765 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2765)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2766,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT2765}};
#define _OMC_LIT2766 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2766)
#define _OMC_LIT2767_data ", ndims, sizeof("
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2767,16,_OMC_LIT2767_data);
#define _OMC_LIT2767 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2767)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2768,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT2767}};
#define _OMC_LIT2768 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2768)
#define _OMC_LIT2769_data "), __VA_ARGS__)\n"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2769,16,_OMC_LIT2769_data);
#define _OMC_LIT2769 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2769)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2770,2,1) {_OMC_LIT2769,_OMC_LIT1639}};
#define _OMC_LIT2770 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2770)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2771,3,6) {&Tpl_StringToken_ST__STRING__LIST__desc,_OMC_LIT2770,MMC_IMMEDIATE(MMC_TAGFIXNUM(0))}};
#define _OMC_LIT2771 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2771)
#define _OMC_LIT2772_data "_array_copy_data(src,dst)   generic_array_copy_data(src, &dst, "
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2772,63,_OMC_LIT2772_data);
#define _OMC_LIT2772 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2772)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2773,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT2772}};
#define _OMC_LIT2773 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2773)
#define _OMC_LIT2774_data ", sizeof("
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2774,9,_OMC_LIT2774_data);
#define _OMC_LIT2774 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2774)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2775,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT2774}};
#define _OMC_LIT2775 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2775)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2776,2,1) {_OMC_LIT1216,_OMC_LIT1639}};
#define _OMC_LIT2776 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2776)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2777,3,6) {&Tpl_StringToken_ST__STRING__LIST__desc,_OMC_LIT2776,MMC_IMMEDIATE(MMC_TAGFIXNUM(0))}};
#define _OMC_LIT2777 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2777)
#define _OMC_LIT2778_data "_array_alloc_copy(src,dst)  generic_array_alloc_copy(src, &dst, "
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2778,64,_OMC_LIT2778_data);
#define _OMC_LIT2778 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2778)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2779,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT2778}};
#define _OMC_LIT2779 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2779)
#define _OMC_LIT2780_data "_array_get(src,ndims,...)   (*("
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2780,31,_OMC_LIT2780_data);
#define _OMC_LIT2780 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2780)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2781,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT2780}};
#define _OMC_LIT2781 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2781)
#define _OMC_LIT2782_data "*)(generic_array_get(&src, sizeof("
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2782,34,_OMC_LIT2782_data);
#define _OMC_LIT2782 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2782)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2783,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT2782}};
#define _OMC_LIT2783 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2783)
#define _OMC_LIT2784_data "), __VA_ARGS__)))\n"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2784,18,_OMC_LIT2784_data);
#define _OMC_LIT2784 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2784)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2785,2,1) {_OMC_LIT2784,_OMC_LIT1639}};
#define _OMC_LIT2785 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2785)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2786,3,6) {&Tpl_StringToken_ST__STRING__LIST__desc,_OMC_LIT2785,MMC_IMMEDIATE(MMC_TAGFIXNUM(0))}};
#define _OMC_LIT2786 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2786)
#define _OMC_LIT2787_data "_set(dst,val,...)           generic_array_set(&dst, &val, "
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2787,58,_OMC_LIT2787_data);
#define _OMC_LIT2787 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2787)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2788,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT2787}};
#define _OMC_LIT2788 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2788)
#define _OMC_LIT2789_data "), __VA_ARGS__)"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2789,15,_OMC_LIT2789_data);
#define _OMC_LIT2789 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2789)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2790,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT2789}};
#define _OMC_LIT2790 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2790)
#define _OMC_LIT2791_data "typedef struct {\n"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2791,17,_OMC_LIT2791_data);
#define _OMC_LIT2791 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2791)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2792,2,5) {&Tpl_StringToken_ST__LINE__desc,_OMC_LIT2791}};
#define _OMC_LIT2792 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2792)
#define _OMC_LIT2793_data " in_"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2793,4,_OMC_LIT2793_data);
#define _OMC_LIT2793 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2793)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2794,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT2793}};
#define _OMC_LIT2794 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2794)
#define _OMC_LIT2795_data "* in_"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2795,5,_OMC_LIT2795_data);
#define _OMC_LIT2795 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2795)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2796,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT2795}};
#define _OMC_LIT2796 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2796)
#define _OMC_LIT2797_data "in_"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2797,3,_OMC_LIT2797_data);
#define _OMC_LIT2797 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2797)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2798,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT2797}};
#define _OMC_LIT2798 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2798)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2799,2,1) {_OMC_LIT1167,_OMC_LIT2762}};
#define _OMC_LIT2799 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2799)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2800,2,1) {_OMC_LIT425,_OMC_LIT2799}};
#define _OMC_LIT2800 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2800)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2801,3,6) {&Tpl_StringToken_ST__STRING__LIST__desc,_OMC_LIT2800,MMC_IMMEDIATE(MMC_TAGFIXNUM(0))}};
#define _OMC_LIT2801 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2801)
#define _OMC_LIT2802_data "functionHeaderParallelImpl failed"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2802,33,_OMC_LIT2802_data);
#define _OMC_LIT2802 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2802)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2803,2,4) {&Absyn_Path_IDENT__desc,_OMC_LIT91}};
#define _OMC_LIT2803 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2803)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2804,2,6) {&ClassInf_State_RECORD__desc,_OMC_LIT2803}};
#define _OMC_LIT2804 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2804)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2805,4,12) {&DAE_Type_T__COMPLEX__desc,_OMC_LIT2804,MMC_REFSTRUCTLIT(mmc_nil),MMC_REFSTRUCTLIT(mmc_none)}};
#define _OMC_LIT2805 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2805)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2806,4,4) {&DAE_ComponentRef_CREF__IDENT__desc,_OMC_LIT91,_OMC_LIT2805,MMC_REFSTRUCTLIT(mmc_nil)}};
#define _OMC_LIT2806 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2806)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2807,1,5) {&DAE_VarParallelism_NON__PARALLEL__desc,}};
#define _OMC_LIT2807 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2807)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2808,1,3) {&DAE_VarKind_VARIABLE__desc,}};
#define _OMC_LIT2808 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2808)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2809,8,3) {&SimCodeFunction_Variable_VARIABLE__desc,_OMC_LIT2806,_OMC_LIT2805,MMC_REFSTRUCTLIT(mmc_none),MMC_REFSTRUCTLIT(mmc_nil),_OMC_LIT2807,_OMC_LIT2808,MMC_IMMEDIATE(MMC_TAGFIXNUM(0))}};
#define _OMC_LIT2809 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2809)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2810,2,1) {_OMC_LIT2809,MMC_REFSTRUCTLIT(mmc_nil)}};
#define _OMC_LIT2810 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2810)
#define _OMC_LIT2811_data " (threadData_t *threadData"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2811,26,_OMC_LIT2811_data);
#define _OMC_LIT2811 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2811)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2812,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT2811}};
#define _OMC_LIT2812 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2812)
#define _OMC_LIT2813_data " (*omctd_"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2813,9,_OMC_LIT2813_data);
#define _OMC_LIT2813 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2813)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2814,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT2813}};
#define _OMC_LIT2814 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2814)
#define _OMC_LIT2815_data ")(threadData_t *threadData"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2815,26,_OMC_LIT2815_data);
#define _OMC_LIT2815 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2815)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2816,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT2815}};
#define _OMC_LIT2816 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2816)
#define _OMC_LIT2817_data "#ifndef "
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2817,8,_OMC_LIT2817_data);
#define _OMC_LIT2817 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2817)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2818,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT2817}};
#define _OMC_LIT2818 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2818)
#define _OMC_LIT2819_data "__H\n"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2819,4,_OMC_LIT2819_data);
#define _OMC_LIT2819 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2819)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2820,2,1) {_OMC_LIT2819,_OMC_LIT1639}};
#define _OMC_LIT2820 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2820)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2821,3,6) {&Tpl_StringToken_ST__STRING__LIST__desc,_OMC_LIT2820,MMC_IMMEDIATE(MMC_TAGFIXNUM(0))}};
#define _OMC_LIT2821 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2821)
#define _OMC_LIT2822_data "//#include \"helper.cl\"\n"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2822,23,_OMC_LIT2822_data);
#define _OMC_LIT2822 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2822)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2823,2,1) {_OMC_LIT2822,_OMC_LIT1757}};
#define _OMC_LIT2823 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2823)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2824,2,1) {_OMC_LIT2819,_OMC_LIT2823}};
#define _OMC_LIT2824 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2824)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2825,3,6) {&Tpl_StringToken_ST__STRING__LIST__desc,_OMC_LIT2824,MMC_IMMEDIATE(MMC_TAGFIXNUM(1))}};
#define _OMC_LIT2825 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2825)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2826,2,1) {_OMC_LIT1167,_OMC_LIT1758}};
#define _OMC_LIT2826 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2826)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2827,3,6) {&Tpl_StringToken_ST__STRING__LIST__desc,_OMC_LIT2826,MMC_IMMEDIATE(MMC_TAGFIXNUM(1))}};
#define _OMC_LIT2827 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2827)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2828,2,1) {_OMC_LIT1756,MMC_REFSTRUCTLIT(mmc_nil)}};
#define _OMC_LIT2828 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2828)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2829,2,1) {_OMC_LIT1755,_OMC_LIT2828}};
#define _OMC_LIT2829 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2829)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2830,2,1) {_OMC_LIT1754,_OMC_LIT2829}};
#define _OMC_LIT2830 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2830)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2831,3,6) {&Tpl_StringToken_ST__STRING__LIST__desc,_OMC_LIT2830,MMC_IMMEDIATE(MMC_TAGFIXNUM(1))}};
#define _OMC_LIT2831 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2831)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2832,2,1) {_OMC_LIT1754,_OMC_LIT2453}};
#define _OMC_LIT2832 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2832)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2833,3,6) {&Tpl_StringToken_ST__STRING__LIST__desc,_OMC_LIT2832,MMC_IMMEDIATE(MMC_TAGFIXNUM(0))}};
#define _OMC_LIT2833 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2833)
#define _OMC_LIT2834_data "#include \"util/modelica.h\"\n"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2834,27,_OMC_LIT2834_data);
#define _OMC_LIT2834 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2834)
#define _OMC_LIT2835_data "#include <stdio.h>\n"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2835,19,_OMC_LIT2835_data);
#define _OMC_LIT2835 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2835)
#define _OMC_LIT2836_data "#include <stdlib.h>\n"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2836,20,_OMC_LIT2836_data);
#define _OMC_LIT2836 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2836)
#define _OMC_LIT2837_data "#include <errno.h>\n"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2837,19,_OMC_LIT2837_data);
#define _OMC_LIT2837 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2837)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2838,2,1) {_OMC_LIT2837,MMC_REFSTRUCTLIT(mmc_nil)}};
#define _OMC_LIT2838 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2838)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2839,2,1) {_OMC_LIT2836,_OMC_LIT2838}};
#define _OMC_LIT2839 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2839)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2840,2,1) {_OMC_LIT2835,_OMC_LIT2839}};
#define _OMC_LIT2840 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2840)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2841,2,1) {_OMC_LIT2834,_OMC_LIT2840}};
#define _OMC_LIT2841 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2841)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2842,2,1) {_OMC_LIT1746,_OMC_LIT2841}};
#define _OMC_LIT2842 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2842)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2843,3,6) {&Tpl_StringToken_ST__STRING__LIST__desc,_OMC_LIT2842,MMC_IMMEDIATE(MMC_TAGFIXNUM(1))}};
#define _OMC_LIT2843 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2843)
#define _OMC_LIT2844_data "#include <ParModelica/explicit/openclrt/omc_ocl_interface.h>"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2844,60,_OMC_LIT2844_data);
#define _OMC_LIT2844 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2844)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2845,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT2844}};
#define _OMC_LIT2845 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2845)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2846,1,1) {_OMC_LIT29}};
#define _OMC_LIT2846 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2846)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2847,9,3) {&Tpl_IterOptions_ITER__OPTIONS__desc,MMC_IMMEDIATE(MMC_TAGFIXNUM(0)),MMC_REFSTRUCTLIT(mmc_none),_OMC_LIT2846,MMC_IMMEDIATE(MMC_TAGFIXNUM(0)),MMC_IMMEDIATE(MMC_TAGFIXNUM(0)),_OMC_LIT89,MMC_IMMEDIATE(MMC_TAGFIXNUM(0)),_OMC_LIT89}};
#define _OMC_LIT2847 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2847)
#define _OMC_LIT2848_data "win32"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2848,5,_OMC_LIT2848_data);
#define _OMC_LIT2848 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2848)
#define _OMC_LIT2849_data "win64"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2849,5,_OMC_LIT2849_data);
#define _OMC_LIT2849 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2849)
#define _OMC_LIT2850_data "# Makefile generated by OpenModelica\n"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2850,37,_OMC_LIT2850_data);
#define _OMC_LIT2850 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2850)
#define _OMC_LIT2851_data "# Platform: "
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2851,12,_OMC_LIT2851_data);
#define _OMC_LIT2851 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2851)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2852,2,1) {_OMC_LIT2851,MMC_REFSTRUCTLIT(mmc_nil)}};
#define _OMC_LIT2852 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2852)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2853,2,1) {_OMC_LIT2850,_OMC_LIT2852}};
#define _OMC_LIT2853 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2853)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2854,3,6) {&Tpl_StringToken_ST__STRING__LIST__desc,_OMC_LIT2853,MMC_IMMEDIATE(MMC_TAGFIXNUM(0))}};
#define _OMC_LIT2854 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2854)
#define _OMC_LIT2855_data "# Dynamic loading uses -O0 by default\n"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2855,38,_OMC_LIT2855_data);
#define _OMC_LIT2855 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2855)
#define _OMC_LIT2856_data "SIM_OR_DYNLOAD_OPT_LEVEL=-O0\n"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2856,29,_OMC_LIT2856_data);
#define _OMC_LIT2856 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2856)
#define _OMC_LIT2857_data "CC="
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2857,3,_OMC_LIT2857_data);
#define _OMC_LIT2857 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2857)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2858,2,1) {_OMC_LIT2857,MMC_REFSTRUCTLIT(mmc_nil)}};
#define _OMC_LIT2858 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2858)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2859,2,1) {_OMC_LIT2856,_OMC_LIT2858}};
#define _OMC_LIT2859 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2859)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2860,2,1) {_OMC_LIT2855,_OMC_LIT2859}};
#define _OMC_LIT2860 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2860)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2861,2,1) {_OMC_LIT1167,_OMC_LIT2860}};
#define _OMC_LIT2861 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2861)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2862,3,6) {&Tpl_StringToken_ST__STRING__LIST__desc,_OMC_LIT2861,MMC_IMMEDIATE(MMC_TAGFIXNUM(0))}};
#define _OMC_LIT2862 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2862)
#define _OMC_LIT2863_data "CXX="
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2863,4,_OMC_LIT2863_data);
#define _OMC_LIT2863 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2863)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2864,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT2863}};
#define _OMC_LIT2864 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2864)
#define _OMC_LIT2865_data "LINK="
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2865,5,_OMC_LIT2865_data);
#define _OMC_LIT2865 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2865)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2866,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT2865}};
#define _OMC_LIT2866 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2866)
#define _OMC_LIT2867_data "EXEEXT="
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2867,7,_OMC_LIT2867_data);
#define _OMC_LIT2867 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2867)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2868,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT2867}};
#define _OMC_LIT2868 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2868)
#define _OMC_LIT2869_data "DLLEXT="
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2869,7,_OMC_LIT2869_data);
#define _OMC_LIT2869 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2869)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2870,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT2869}};
#define _OMC_LIT2870 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2870)
#define _OMC_LIT2871_data "DEBUG_FLAGS="
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2871,12,_OMC_LIT2871_data);
#define _OMC_LIT2871 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2871)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2872,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT2871}};
#define _OMC_LIT2872 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2872)
#define _OMC_LIT2873_data "CFLAGS= $(DEBUG_FLAGS) "
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2873,23,_OMC_LIT2873_data);
#define _OMC_LIT2873 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2873)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2874,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT2873}};
#define _OMC_LIT2874 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2874)
#define _OMC_LIT2875_data "CPPFLAGS= -I\""
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2875,13,_OMC_LIT2875_data);
#define _OMC_LIT2875 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2875)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2876,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT2875}};
#define _OMC_LIT2876 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2876)
#define _OMC_LIT2877_data "/include/omc/c\" "
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2877,16,_OMC_LIT2877_data);
#define _OMC_LIT2877 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2877)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2878,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT2877}};
#define _OMC_LIT2878 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2878)
#define _OMC_LIT2879_data "LDFLAGS= -L\""
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2879,12,_OMC_LIT2879_data);
#define _OMC_LIT2879 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2879)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2880,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT2879}};
#define _OMC_LIT2880 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2880)
#define _OMC_LIT2881_data "/lib/"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2881,5,_OMC_LIT2881_data);
#define _OMC_LIT2881 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2881)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2882,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT2881}};
#define _OMC_LIT2882 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2882)
#define _OMC_LIT2883_data "/omc\" -Wl,"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2883,10,_OMC_LIT2883_data);
#define _OMC_LIT2883 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2883)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2884,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT2883}};
#define _OMC_LIT2884 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2884)
#define _OMC_LIT2885_data "-rpath,'"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2885,8,_OMC_LIT2885_data);
#define _OMC_LIT2885 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2885)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2886,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT2885}};
#define _OMC_LIT2886 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2886)
#define _OMC_LIT2887_data "/omc' "
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2887,6,_OMC_LIT2887_data);
#define _OMC_LIT2887 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2887)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2888,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT2887}};
#define _OMC_LIT2888 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2888)
#define _OMC_LIT2889_data "PERL=perl\n"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2889,10,_OMC_LIT2889_data);
#define _OMC_LIT2889 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2889)
#define _OMC_LIT2890_data "MAINFILE="
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2890,9,_OMC_LIT2890_data);
#define _OMC_LIT2890 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2890)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2891,2,1) {_OMC_LIT2890,MMC_REFSTRUCTLIT(mmc_nil)}};
#define _OMC_LIT2891 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2891)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2892,2,1) {_OMC_LIT2889,_OMC_LIT2891}};
#define _OMC_LIT2892 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2892)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2893,3,6) {&Tpl_StringToken_ST__STRING__LIST__desc,_OMC_LIT2892,MMC_IMMEDIATE(MMC_TAGFIXNUM(0))}};
#define _OMC_LIT2893 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2893)
#define _OMC_LIT2894_data ".c\n"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2894,3,_OMC_LIT2894_data);
#define _OMC_LIT2894 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2894)
#define _OMC_LIT2895_data ".PHONY: "
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2895,8,_OMC_LIT2895_data);
#define _OMC_LIT2895 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2895)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2896,2,1) {_OMC_LIT2895,MMC_REFSTRUCTLIT(mmc_nil)}};
#define _OMC_LIT2896 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2896)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2897,2,1) {_OMC_LIT1167,_OMC_LIT2896}};
#define _OMC_LIT2897 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2897)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2898,2,1) {_OMC_LIT2894,_OMC_LIT2897}};
#define _OMC_LIT2898 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2898)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2899,3,6) {&Tpl_StringToken_ST__STRING__LIST__desc,_OMC_LIT2898,MMC_IMMEDIATE(MMC_TAGFIXNUM(0))}};
#define _OMC_LIT2899 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2899)
#define _OMC_LIT2900_data ": $(MAINFILE) "
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2900,14,_OMC_LIT2900_data);
#define _OMC_LIT2900 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2900)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2901,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT2900}};
#define _OMC_LIT2901 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2901)
#define _OMC_LIT2902_data ".h "
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2902,3,_OMC_LIT2902_data);
#define _OMC_LIT2902 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2902)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2903,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT2902}};
#define _OMC_LIT2903 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2903)
#define _OMC_LIT2904_data "_records.c\n"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2904,11,_OMC_LIT2904_data);
#define _OMC_LIT2904 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2904)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2905,2,5) {&Tpl_StringToken_ST__LINE__desc,_OMC_LIT2904}};
#define _OMC_LIT2905 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2905)
#define _OMC_LIT2906_data " $(CC) $(CFLAGS) $(CPPFLAGS) -c -o "
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2906,35,_OMC_LIT2906_data);
#define _OMC_LIT2906 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2906)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2907,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT2906}};
#define _OMC_LIT2907 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2907)
#define _OMC_LIT2908_data ".o $(MAINFILE)\n"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2908,15,_OMC_LIT2908_data);
#define _OMC_LIT2908 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2908)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2909,2,5) {&Tpl_StringToken_ST__LINE__desc,_OMC_LIT2908}};
#define _OMC_LIT2909 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2909)
#define _OMC_LIT2910_data "_records.o "
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2910,11,_OMC_LIT2910_data);
#define _OMC_LIT2910 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2910)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2911,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT2910}};
#define _OMC_LIT2911 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2911)
#define _OMC_LIT2912_data " $(LINK) -o "
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2912,12,_OMC_LIT2912_data);
#define _OMC_LIT2912 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2912)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2913,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT2912}};
#define _OMC_LIT2913 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2913)
#define _OMC_LIT2914_data "$(DLLEXT) "
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2914,10,_OMC_LIT2914_data);
#define _OMC_LIT2914 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2914)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2915,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT2914}};
#define _OMC_LIT2915 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2915)
#define _OMC_LIT2916_data ".o "
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2916,3,_OMC_LIT2916_data);
#define _OMC_LIT2916 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2916)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2917,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT2916}};
#define _OMC_LIT2917 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2917)
#define _OMC_LIT2918_data " $(CFLAGS) $(CPPFLAGS) $(LDFLAGS) -lm"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2918,37,_OMC_LIT2918_data);
#define _OMC_LIT2918 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2918)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2919,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT2918}};
#define _OMC_LIT2919 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2919)
#define _OMC_LIT2920_data " -DOMC_GENERATE_RELOCATABLE_CODE"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2920,32,_OMC_LIT2920_data);
#define _OMC_LIT2920 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2920)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2921,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT2920}};
#define _OMC_LIT2921 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2921)
#define _OMC_LIT2922_data " -g"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2922,3,_OMC_LIT2922_data);
#define _OMC_LIT2922 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2922)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2923,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT2922}};
#define _OMC_LIT2923 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2923)
#define _OMC_LIT2924_data "g++"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2924,3,_OMC_LIT2924_data);
#define _OMC_LIT2924 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2924)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2925,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT2924}};
#define _OMC_LIT2925 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2925)
#define _OMC_LIT2926_data "-lOpenModelicaCompiler"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2926,22,_OMC_LIT2926_data);
#define _OMC_LIT2926 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2926)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2927,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT2926}};
#define _OMC_LIT2927 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2927)
#define _OMC_LIT2928_data "--stack,16777216,"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2928,17,_OMC_LIT2928_data);
#define _OMC_LIT2928 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2928)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2929,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT2928}};
#define _OMC_LIT2929 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2929)
#define _OMC_LIT2930_data "-lParModelicaExpl -lOpenCL"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2930,26,_OMC_LIT2930_data);
#define _OMC_LIT2930 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2930)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2931,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT2930}};
#define _OMC_LIT2931 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2931)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2932,2,5) {&Tpl_StringToken_ST__LINE__desc,_OMC_LIT2819}};
#define _OMC_LIT2932 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2932)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2933,3,6) {&Tpl_StringToken_ST__STRING__LIST__desc,_OMC_LIT1760,MMC_IMMEDIATE(MMC_TAGFIXNUM(1))}};
#define _OMC_LIT2933 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2933)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2934,2,1) {_OMC_LIT1756,_OMC_LIT2452}};
#define _OMC_LIT2934 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2934)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2935,2,1) {_OMC_LIT151,_OMC_LIT2934}};
#define _OMC_LIT2935 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2935)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2936,2,1) {_OMC_LIT1754,_OMC_LIT2935}};
#define _OMC_LIT2936 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2936)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2937,2,1) {_OMC_LIT1167,_OMC_LIT2936}};
#define _OMC_LIT2937 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2937)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2938,3,6) {&Tpl_StringToken_ST__STRING__LIST__desc,_OMC_LIT2937,MMC_IMMEDIATE(MMC_TAGFIXNUM(0))}};
#define _OMC_LIT2938 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2938)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2939,2,1) {_OMC_LIT1745,_OMC_LIT1748}};
#define _OMC_LIT2939 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2939)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2940,3,6) {&Tpl_StringToken_ST__STRING__LIST__desc,_OMC_LIT2939,MMC_IMMEDIATE(MMC_TAGFIXNUM(0))}};
#define _OMC_LIT2940 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2940)
#define _OMC_LIT2941_data ".h\"\n"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2941,4,_OMC_LIT2941_data);
#define _OMC_LIT2941 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2941)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2942,2,5) {&Tpl_StringToken_ST__LINE__desc,_OMC_LIT2941}};
#define _OMC_LIT2942 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2942)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2943,2,1) {_OMC_LIT1167,_OMC_LIT1748}};
#define _OMC_LIT2943 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2943)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2944,2,1) {_OMC_LIT2834,_OMC_LIT2943}};
#define _OMC_LIT2944 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2944)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2945,3,6) {&Tpl_StringToken_ST__STRING__LIST__desc,_OMC_LIT2944,MMC_IMMEDIATE(MMC_TAGFIXNUM(0))}};
#define _OMC_LIT2945 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2945)
#define _OMC_LIT2946_data "_includes.h\"\n"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2946,13,_OMC_LIT2946_data);
#define _OMC_LIT2946 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2946)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2947,2,1) {_OMC_LIT2946,_OMC_LIT1757}};
#define _OMC_LIT2947 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2947)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2948,3,6) {&Tpl_StringToken_ST__STRING__LIST__desc,_OMC_LIT2947,MMC_IMMEDIATE(MMC_TAGFIXNUM(1))}};
#define _OMC_LIT2948 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2948)
#define _OMC_LIT2949_data "/* default, do not make protected functions static */\n"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2949,54,_OMC_LIT2949_data);
#define _OMC_LIT2949 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2949)
#define _OMC_LIT2950_data "#if !defined(PROTECTED_FUNCTION_STATIC)\n"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2950,40,_OMC_LIT2950_data);
#define _OMC_LIT2950 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2950)
#define _OMC_LIT2951_data "#define PROTECTED_FUNCTION_STATIC\n"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2951,34,_OMC_LIT2951_data);
#define _OMC_LIT2951 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2951)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2952,2,1) {_OMC_LIT2951,_OMC_LIT2828}};
#define _OMC_LIT2952 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2952)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2953,2,1) {_OMC_LIT2950,_OMC_LIT2952}};
#define _OMC_LIT2953 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2953)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2954,2,1) {_OMC_LIT2949,_OMC_LIT2953}};
#define _OMC_LIT2954 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2954)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2955,3,6) {&Tpl_StringToken_ST__STRING__LIST__desc,_OMC_LIT2954,MMC_IMMEDIATE(MMC_TAGFIXNUM(1))}};
#define _OMC_LIT2955 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2955)
#define _OMC_LIT2956_data "/* the OpenCL Kernels file name needed in libParModelicaExpl.a */\n"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2956,66,_OMC_LIT2956_data);
#define _OMC_LIT2956 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2956)
#define _OMC_LIT2957_data "const char* omc_ocl_kernels_source = \""
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2957,38,_OMC_LIT2957_data);
#define _OMC_LIT2957 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2957)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2958,2,1) {_OMC_LIT2957,MMC_REFSTRUCTLIT(mmc_nil)}};
#define _OMC_LIT2958 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2958)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2959,2,1) {_OMC_LIT2956,_OMC_LIT2958}};
#define _OMC_LIT2959 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2959)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2960,3,6) {&Tpl_StringToken_ST__STRING__LIST__desc,_OMC_LIT2959,MMC_IMMEDIATE(MMC_TAGFIXNUM(0))}};
#define _OMC_LIT2960 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2960)
#define _OMC_LIT2961_data "_kernels.cl\";\n"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2961,14,_OMC_LIT2961_data);
#define _OMC_LIT2961 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2961)
#define _OMC_LIT2962_data "/* the OpenCL program. Made global to avoid repeated builds */\n"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2962,63,_OMC_LIT2962_data);
#define _OMC_LIT2962 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2962)
#define _OMC_LIT2963_data "extern cl_program omc_ocl_program;\n"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2963,35,_OMC_LIT2963_data);
#define _OMC_LIT2963 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2963)
#define _OMC_LIT2964_data "/* The default OpenCL device. If not set (=0) show the selection option.*/\n"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2964,75,_OMC_LIT2964_data);
#define _OMC_LIT2964 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2964)
#define _OMC_LIT2965_data "unsigned int default_ocl_device = "
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2965,34,_OMC_LIT2965_data);
#define _OMC_LIT2965 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2965)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2966,2,1) {_OMC_LIT2965,MMC_REFSTRUCTLIT(mmc_nil)}};
#define _OMC_LIT2966 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2966)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2967,2,1) {_OMC_LIT2964,_OMC_LIT2966}};
#define _OMC_LIT2967 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2967)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2968,2,1) {_OMC_LIT2963,_OMC_LIT2967}};
#define _OMC_LIT2968 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2968)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2969,2,1) {_OMC_LIT2962,_OMC_LIT2968}};
#define _OMC_LIT2969 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2969)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2970,2,1) {_OMC_LIT2961,_OMC_LIT2969}};
#define _OMC_LIT2970 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2970)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2971,3,6) {&Tpl_StringToken_ST__STRING__LIST__desc,_OMC_LIT2970,MMC_IMMEDIATE(MMC_TAGFIXNUM(0))}};
#define _OMC_LIT2971 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2971)
#define _OMC_LIT2972_data "_includes.h"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2972,11,_OMC_LIT2972_data);
#define _OMC_LIT2972 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2972)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2973,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT2972}};
#define _OMC_LIT2973 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2973)
#define _OMC_LIT2974_data "_records.c"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2974,10,_OMC_LIT2974_data);
#define _OMC_LIT2974 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2974)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2975,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT2974}};
#define _OMC_LIT2975 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2975)
#define _OMC_LIT2976_data ".makefile"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2976,9,_OMC_LIT2976_data);
#define _OMC_LIT2976 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2976)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2977,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT2976}};
#define _OMC_LIT2977 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2977)
#define _OMC_LIT2978_data "_kernels.cl"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2978,11,_OMC_LIT2978_data);
#define _OMC_LIT2978 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2978)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2979,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT2978}};
#define _OMC_LIT2979 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2979)
#define _OMC_LIT2980_data "  MMC_TRY_TOP()\n"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2980,16,_OMC_LIT2980_data);
#define _OMC_LIT2980 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2980)
#define _OMC_LIT2981_data "  MMC_TRY_STACK()\n"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2981,18,_OMC_LIT2981_data);
#define _OMC_LIT2981 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2981)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2982,2,1) {_OMC_LIT2981,_OMC_LIT1757}};
#define _OMC_LIT2982 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2982)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2983,2,1) {_OMC_LIT1167,_OMC_LIT2982}};
#define _OMC_LIT2983 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2983)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2984,2,1) {_OMC_LIT2980,_OMC_LIT2983}};
#define _OMC_LIT2984 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2984)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2985,2,1) {_OMC_LIT145,_OMC_LIT2984}};
#define _OMC_LIT2985 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2985)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2986,3,6) {&Tpl_StringToken_ST__STRING__LIST__desc,_OMC_LIT2985,MMC_IMMEDIATE(MMC_TAGFIXNUM(1))}};
#define _OMC_LIT2986 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2986)
#define _OMC_LIT2987_data "MMC_ELSE()\n"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2987,11,_OMC_LIT2987_data);
#define _OMC_LIT2987 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2987)
#define _OMC_LIT2988_data "rml_execution_failed();\n"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2988,24,_OMC_LIT2988_data);
#define _OMC_LIT2988 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2988)
#define _OMC_LIT2989_data "fprintf(stderr, \"Stack overflow detected and was not caught.\\nSend us a bug report at "
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2989,86,_OMC_LIT2989_data);
#define _OMC_LIT2989 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2989)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2990,2,1) {_OMC_LIT2989,MMC_REFSTRUCTLIT(mmc_nil)}};
#define _OMC_LIT2990 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2990)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2991,2,1) {_OMC_LIT2988,_OMC_LIT2990}};
#define _OMC_LIT2991 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2991)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2992,2,1) {_OMC_LIT2987,_OMC_LIT2991}};
#define _OMC_LIT2992 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2992)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2993,2,1) {_OMC_LIT1167,_OMC_LIT2992}};
#define _OMC_LIT2993 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2993)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2994,3,6) {&Tpl_StringToken_ST__STRING__LIST__desc,_OMC_LIT2993,MMC_IMMEDIATE(MMC_TAGFIXNUM(0))}};
#define _OMC_LIT2994 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2994)
#define _OMC_LIT2995_data "\\n    Include the following trace:\\n\");\n"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2995,40,_OMC_LIT2995_data);
#define _OMC_LIT2995 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2995)
#define _OMC_LIT2996_data "printStacktraceMessages();\n"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2996,27,_OMC_LIT2996_data);
#define _OMC_LIT2996 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2996)
#define _OMC_LIT2997_data "return 1;\n"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2997,10,_OMC_LIT2997_data);
#define _OMC_LIT2997 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2997)
#define _OMC_LIT2998_data "MMC_CATCH_TOP(return rml_execution_failed());\n"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2998,46,_OMC_LIT2998_data);
#define _OMC_LIT2998 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2998)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2999,2,1) {_OMC_LIT2998,MMC_REFSTRUCTLIT(mmc_nil)}};
#define _OMC_LIT2999 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2999)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT3000,2,1) {_OMC_LIT1167,_OMC_LIT2999}};
#define _OMC_LIT3000 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT3000)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT3001,2,1) {_OMC_LIT220,_OMC_LIT3000}};
#define _OMC_LIT3001 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT3001)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT3002,2,1) {_OMC_LIT2997,_OMC_LIT3001}};
#define _OMC_LIT3002 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT3002)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT3003,2,1) {_OMC_LIT2393,_OMC_LIT3002}};
#define _OMC_LIT3003 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT3003)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT3004,2,1) {_OMC_LIT2996,_OMC_LIT3003}};
#define _OMC_LIT3004 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT3004)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT3005,2,1) {_OMC_LIT2995,_OMC_LIT3004}};
#define _OMC_LIT3005 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT3005)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT3006,3,6) {&Tpl_StringToken_ST__STRING__LIST__desc,_OMC_LIT3005,MMC_IMMEDIATE(MMC_TAGFIXNUM(1))}};
#define _OMC_LIT3006 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT3006)
#define _OMC_LIT3007_data "/* This is an automatically generated entry point to a MetaModelica function */\n"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT3007,80,_OMC_LIT3007_data);
#define _OMC_LIT3007 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT3007)
#define _OMC_LIT3008_data "#if defined(__cplusplus)\n"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT3008,25,_OMC_LIT3008_data);
#define _OMC_LIT3008 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT3008)
#define _OMC_LIT3009_data "#if defined(OMC_ENTRYPOINT_STATIC)\n"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT3009,35,_OMC_LIT3009_data);
#define _OMC_LIT3009 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT3009)
#define _OMC_LIT3010_data "#include <openmodelica.h>\n"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT3010,26,_OMC_LIT3010_data);
#define _OMC_LIT3010 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT3010)
#define _OMC_LIT3011_data "DLLImport extern int __omc_main(int argc, char **argv);\n"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT3011,56,_OMC_LIT3011_data);
#define _OMC_LIT3011 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT3011)
#define _OMC_LIT3012_data "int main(int argc, char **argv)\n"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT3012,32,_OMC_LIT3012_data);
#define _OMC_LIT3012 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT3012)
#define _OMC_LIT3013_data "  return __omc_main(argc, argv);\n"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT3013,33,_OMC_LIT3013_data);
#define _OMC_LIT3013 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT3013)
#define _OMC_LIT3014_data "#else\n"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT3014,6,_OMC_LIT3014_data);
#define _OMC_LIT3014 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT3014)
#define _OMC_LIT3015_data "#include <meta/meta_modelica.h>\n"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT3015,32,_OMC_LIT3015_data);
#define _OMC_LIT3015 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT3015)
#define _OMC_LIT3016_data "extern void\n"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT3016,12,_OMC_LIT3016_data);
#define _OMC_LIT3016 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT3016)
#define _OMC_LIT3017_data "#if defined(OMC_GENERATE_RELOCATABLE_CODE)\n"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT3017,43,_OMC_LIT3017_data);
#define _OMC_LIT3017 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT3017)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT3018,2,1) {_OMC_LIT1245,MMC_REFSTRUCTLIT(mmc_nil)}};
#define _OMC_LIT3018 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT3018)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT3019,2,1) {_OMC_LIT3017,_OMC_LIT3018}};
#define _OMC_LIT3019 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT3019)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT3020,2,1) {_OMC_LIT3016,_OMC_LIT3019}};
#define _OMC_LIT3020 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT3020)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT3021,2,1) {_OMC_LIT2835,_OMC_LIT3020}};
#define _OMC_LIT3021 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT3021)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT3022,2,1) {_OMC_LIT3015,_OMC_LIT3021}};
#define _OMC_LIT3022 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT3022)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT3023,2,1) {_OMC_LIT1167,_OMC_LIT3022}};
#define _OMC_LIT3023 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT3023)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT3024,2,1) {_OMC_LIT3014,_OMC_LIT3023}};
#define _OMC_LIT3024 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT3024)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT3025,2,1) {_OMC_LIT1167,_OMC_LIT3024}};
#define _OMC_LIT3025 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT3025)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT3026,2,1) {_OMC_LIT151,_OMC_LIT3025}};
#define _OMC_LIT3026 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT3026)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT3027,2,1) {_OMC_LIT3013,_OMC_LIT3026}};
#define _OMC_LIT3027 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT3027)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT3028,2,1) {_OMC_LIT145,_OMC_LIT3027}};
#define _OMC_LIT3028 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT3028)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT3029,2,1) {_OMC_LIT3012,_OMC_LIT3028}};
#define _OMC_LIT3029 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT3029)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT3030,2,1) {_OMC_LIT1167,_OMC_LIT3029}};
#define _OMC_LIT3030 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT3030)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT3031,2,1) {_OMC_LIT3011,_OMC_LIT3030}};
#define _OMC_LIT3031 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT3031)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT3032,2,1) {_OMC_LIT1167,_OMC_LIT3031}};
#define _OMC_LIT3032 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT3032)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT3033,2,1) {_OMC_LIT3010,_OMC_LIT3032}};
#define _OMC_LIT3033 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT3033)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT3034,2,1) {_OMC_LIT2835,_OMC_LIT3033}};
#define _OMC_LIT3034 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT3034)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT3035,2,1) {_OMC_LIT1167,_OMC_LIT3034}};
#define _OMC_LIT3035 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT3035)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT3036,2,1) {_OMC_LIT3009,_OMC_LIT3035}};
#define _OMC_LIT3036 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT3036)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT3037,2,1) {_OMC_LIT1167,_OMC_LIT3036}};
#define _OMC_LIT3037 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT3037)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT3038,2,1) {_OMC_LIT1756,_OMC_LIT3037}};
#define _OMC_LIT3038 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT3038)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT3039,2,1) {_OMC_LIT1755,_OMC_LIT3038}};
#define _OMC_LIT3039 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT3039)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT3040,2,1) {_OMC_LIT3008,_OMC_LIT3039}};
#define _OMC_LIT3040 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT3040)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT3041,2,1) {_OMC_LIT1167,_OMC_LIT3040}};
#define _OMC_LIT3041 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT3041)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT3042,2,1) {_OMC_LIT3007,_OMC_LIT3041}};
#define _OMC_LIT3042 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT3042)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT3043,3,6) {&Tpl_StringToken_ST__STRING__LIST__desc,_OMC_LIT3042,MMC_IMMEDIATE(MMC_TAGFIXNUM(0))}};
#define _OMC_LIT3043 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT3043)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT3044,2,1) {_OMC_LIT3014,MMC_REFSTRUCTLIT(mmc_nil)}};
#define _OMC_LIT3044 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT3044)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT3045,2,1) {_OMC_LIT425,_OMC_LIT3044}};
#define _OMC_LIT3045 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT3045)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT3046,3,6) {&Tpl_StringToken_ST__STRING__LIST__desc,_OMC_LIT3045,MMC_IMMEDIATE(MMC_TAGFIXNUM(1))}};
#define _OMC_LIT3046 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT3046)
#define _OMC_LIT3047_data "(threadData_t*,modelica_metatype);\n"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT3047,35,_OMC_LIT3047_data);
#define _OMC_LIT3047 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT3047)
#define _OMC_LIT3048_data "#ifdef _OPENMP\n"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT3048,15,_OMC_LIT3048_data);
#define _OMC_LIT3048 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT3048)
#define _OMC_LIT3049_data "#include<omp.h>\n"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT3049,16,_OMC_LIT3049_data);
#define _OMC_LIT3049 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT3049)
#define _OMC_LIT3050_data "/* Hack to make gcc-4.8 link in the OpenMP runtime if -fopenmp is given */\n"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT3050,75,_OMC_LIT3050_data);
#define _OMC_LIT3050 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT3050)
#define _OMC_LIT3051_data "int (*force_link_omp)(void) = omp_get_num_threads;\n"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT3051,51,_OMC_LIT3051_data);
#define _OMC_LIT3051 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT3051)
#define _OMC_LIT3052_data "DLLExport int __omc_main(int argc, char **argv)\n"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT3052,48,_OMC_LIT3052_data);
#define _OMC_LIT3052 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT3052)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT3053_cons_1,2,1) {_OMC_LIT1167,MMC_REFSTRUCTLIT(mmc_nil)}};
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT3053_cons_2,2,1) {_OMC_LIT2414,MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT3053_cons_1)}};
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT3053_cons_3,2,1) {_OMC_LIT2413,MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT3053_cons_2)}};
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT3053_cons_4,2,1) {_OMC_LIT2412,MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT3053_cons_3)}};
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT3053_cons_5,2,1) {_OMC_LIT1167,MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT3053_cons_4)}};
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT3053_cons_6,2,1) {_OMC_LIT2411,MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT3053_cons_5)}};
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT3053_cons_7,2,1) {_OMC_LIT2410,MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT3053_cons_6)}};
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT3053_cons_8,2,1) {_OMC_LIT2409,MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT3053_cons_7)}};
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT3053_cons_9,2,1) {_OMC_LIT2408,MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT3053_cons_8)}};
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT3053_cons_10,2,1) {_OMC_LIT145,MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT3053_cons_9)}};
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT3053_cons_11,2,1) {_OMC_LIT3052,MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT3053_cons_10)}};
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT3053_cons_12,2,1) {_OMC_LIT1167,MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT3053_cons_11)}};
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT3053_cons_13,2,1) {_OMC_LIT151,MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT3053_cons_12)}};
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT3053_cons_14,2,1) {_OMC_LIT2402,MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT3053_cons_13)}};
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT3053_cons_15,2,1) {_OMC_LIT2400,MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT3053_cons_14)}};
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT3053_cons_16,2,1) {_OMC_LIT2401,MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT3053_cons_15)}};
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT3053_cons_17,2,1) {_OMC_LIT2400,MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT3053_cons_16)}};
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT3053_cons_18,2,1) {_OMC_LIT145,MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT3053_cons_17)}};
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT3053_cons_19,2,1) {_OMC_LIT2399,MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT3053_cons_18)}};
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT3053_cons_20,2,1) {_OMC_LIT1167,MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT3053_cons_19)}};
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT3053_cons_21,2,1) {_OMC_LIT1756,MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT3053_cons_20)}};
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT3053_cons_22,2,1) {_OMC_LIT3051,MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT3053_cons_21)}};
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT3053_cons_23,2,1) {_OMC_LIT3050,MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT3053_cons_22)}};
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT3053_cons_24,2,1) {_OMC_LIT3049,MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT3053_cons_23)}};
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT3053_cons_25,2,1) {_OMC_LIT3048,MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT3053_cons_24)}};
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT3053_cons_26,2,1) {_OMC_LIT1167,MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT3053_cons_25)}};
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT3053_cons_27,2,1) {_OMC_LIT2406,MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT3053_cons_26)}};
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT3053_cons_28,2,1) {_OMC_LIT2405,MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT3053_cons_27)}};
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT3053_cons_29,2,1) {_OMC_LIT2404,MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT3053_cons_28)}};
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT3053_cons_30,2,1) {_OMC_LIT2403,MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT3053_cons_29)}};
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT3053_cons_31,2,1) {_OMC_LIT1167,MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT3053_cons_30)}};
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT3053_cons_32,2,1) {_OMC_LIT3047,MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT3053_cons_31)}};
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT3053_cons_33,2,1) {_OMC_LIT1756,MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT3053_cons_32)}};
#define _OMC_LIT3053 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT3053_cons_33)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT3054,3,6) {&Tpl_StringToken_ST__STRING__LIST__desc,_OMC_LIT3053,MMC_IMMEDIATE(MMC_TAGFIXNUM(1))}};
#define _OMC_LIT3054 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT3054)
#define _OMC_LIT3055_data "} /* end extern \"C\" */\n"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT3055,23,_OMC_LIT3055_data);
#define _OMC_LIT3055 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT3055)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT3056,2,1) {_OMC_LIT3055,_OMC_LIT1758}};
#define _OMC_LIT3056 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT3056)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT3057,2,1) {_OMC_LIT3008,_OMC_LIT3056}};
#define _OMC_LIT3057 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT3057)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT3058,2,1) {_OMC_LIT1167,_OMC_LIT3057}};
#define _OMC_LIT3058 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT3058)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT3059,2,1) {_OMC_LIT1756,_OMC_LIT3058}};
#define _OMC_LIT3059 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT3059)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT3060,2,1) {_OMC_LIT1167,_OMC_LIT3059}};
#define _OMC_LIT3060 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT3060)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT3061,2,1) {_OMC_LIT151,_OMC_LIT3060}};
#define _OMC_LIT3061 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT3061)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT3062,3,6) {&Tpl_StringToken_ST__STRING__LIST__desc,_OMC_LIT3061,MMC_IMMEDIATE(MMC_TAGFIXNUM(1))}};
#define _OMC_LIT3062 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT3062)
#include "util/modelica.h"
#include "CodegenCFunctions_includes.h"
#if !defined(PROTECTED_FUNCTION_STATIC)
#define PROTECTED_FUNCTION_STATIC
#endif
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__1229(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_ty);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__1229,2,0) {(void*) boxptr_CodegenCFunctions_fun__1229,0}};
#define boxvar_CodegenCFunctions_fun__1229 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__1229)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__1228(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_ty);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__1228,2,0) {(void*) boxptr_CodegenCFunctions_fun__1228,0}};
#define boxvar_CodegenCFunctions_fun__1228 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__1228)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__1226(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_ty);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__1226,2,0) {(void*) boxptr_CodegenCFunctions_fun__1226,0}};
#define boxvar_CodegenCFunctions_fun__1226 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__1226)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__1225(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_ty);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__1225,2,0) {(void*) boxptr_CodegenCFunctions_fun__1225,0}};
#define boxvar_CodegenCFunctions_fun__1225 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__1225)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__1223(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_mArg);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__1223,2,0) {(void*) boxptr_CodegenCFunctions_fun__1223,0}};
#define boxvar_CodegenCFunctions_fun__1223 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__1223)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__1222(threadData_t *threadData, modelica_metatype _in_txt, modelica_boolean _in_mArg, modelica_metatype _in_a_name, modelica_integer _in_a_index, modelica_metatype _in_a_var);
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__1222(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_mArg, modelica_metatype _in_a_name, modelica_metatype _in_a_index, modelica_metatype _in_a_var);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__1222,2,0) {(void*) boxptr_CodegenCFunctions_fun__1222,0}};
#define boxvar_CodegenCFunctions_fun__1222 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__1222)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__1219(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_mArg);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__1219,2,0) {(void*) boxptr_CodegenCFunctions_fun__1219,0}};
#define boxvar_CodegenCFunctions_fun__1219 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__1219)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__1216(threadData_t *threadData, modelica_metatype _in_txt, modelica_string _in_mArg, modelica_metatype _in_a_var, modelica_integer _in_a_ix, modelica_boolean _in_a_isPre, modelica_boolean _in_a_isStart);
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__1216(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_mArg, modelica_metatype _in_a_var, modelica_metatype _in_a_ix, modelica_metatype _in_a_isPre, modelica_metatype _in_a_isStart);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__1216,2,0) {(void*) boxptr_CodegenCFunctions_fun__1216,0}};
#define boxvar_CodegenCFunctions_fun__1216 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__1216)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__1215(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_var, modelica_integer _in_a_ix, modelica_boolean _in_a_isPre, modelica_boolean _in_a_isStart);
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__1215(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_var, modelica_metatype _in_a_ix, modelica_metatype _in_a_isPre, modelica_metatype _in_a_isStart);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__1215,2,0) {(void*) boxptr_CodegenCFunctions_fun__1215,0}};
#define boxvar_CodegenCFunctions_fun__1215 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__1215)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__1214(threadData_t *threadData, modelica_metatype _in_txt, modelica_boolean _in_a_isStart, modelica_metatype _in_a_var, modelica_metatype _in_a_varKind, modelica_integer _in_a_index, modelica_metatype _in_a_name, modelica_integer _in_a_ix, modelica_boolean _in_a_isPre);
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__1214(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_isStart, modelica_metatype _in_a_var, modelica_metatype _in_a_varKind, modelica_metatype _in_a_index, modelica_metatype _in_a_name, modelica_metatype _in_a_ix, modelica_metatype _in_a_isPre);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__1214,2,0) {(void*) boxptr_CodegenCFunctions_fun__1214,0}};
#define boxvar_CodegenCFunctions_fun__1214 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__1214)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__1213(threadData_t *threadData, modelica_metatype _in_txt, modelica_boolean _in_a_isPre, modelica_metatype _in_a_varKind, modelica_integer _in_a_index, modelica_metatype _in_a_name, modelica_integer _in_a_ix);
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__1213(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_isPre, modelica_metatype _in_a_varKind, modelica_metatype _in_a_index, modelica_metatype _in_a_name, modelica_metatype _in_a_ix);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__1213,2,0) {(void*) boxptr_CodegenCFunctions_fun__1213,0}};
#define boxvar_CodegenCFunctions_fun__1213 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__1213)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__1212(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_var, modelica_boolean _in_a_isPre, modelica_boolean _in_a_isStart);
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__1212(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_var, modelica_metatype _in_a_isPre, modelica_metatype _in_a_isStart);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__1212,2,0) {(void*) boxptr_CodegenCFunctions_fun__1212,0}};
#define boxvar_CodegenCFunctions_fun__1212 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__1212)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__1211(threadData_t *threadData, modelica_metatype _in_txt, modelica_boolean _in_a_isStart, modelica_metatype _in_a_var, modelica_metatype _in_a_varKind, modelica_metatype _in_a_c__comment, modelica_integer _in_a_index, modelica_metatype _in_a_name, modelica_boolean _in_a_isPre);
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__1211(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_isStart, modelica_metatype _in_a_var, modelica_metatype _in_a_varKind, modelica_metatype _in_a_c__comment, modelica_metatype _in_a_index, modelica_metatype _in_a_name, modelica_metatype _in_a_isPre);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__1211,2,0) {(void*) boxptr_CodegenCFunctions_fun__1211,0}};
#define boxvar_CodegenCFunctions_fun__1211 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__1211)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__1210(threadData_t *threadData, modelica_metatype _in_txt, modelica_boolean _in_a_isPre, modelica_metatype _in_a_varKind, modelica_metatype _in_a_c__comment, modelica_integer _in_a_index, modelica_metatype _in_a_name);
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__1210(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_isPre, modelica_metatype _in_a_varKind, modelica_metatype _in_a_c__comment, modelica_metatype _in_a_index, modelica_metatype _in_a_name);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__1210,2,0) {(void*) boxptr_CodegenCFunctions_fun__1210,0}};
#define boxvar_CodegenCFunctions_fun__1210 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__1210)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__1207(threadData_t *threadData, modelica_metatype _in_txt, modelica_string _in_mArg, modelica_metatype _in_a_res);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__1207,2,0) {(void*) boxptr_CodegenCFunctions_fun__1207,0}};
#define boxvar_CodegenCFunctions_fun__1207 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__1207)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__1202(threadData_t *threadData, modelica_metatype _in_txt, modelica_boolean _in_mArg, modelica_metatype _in_a_exp);
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__1202(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_mArg, modelica_metatype _in_a_exp);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__1202,2,0) {(void*) boxptr_CodegenCFunctions_fun__1202,0}};
#define boxvar_CodegenCFunctions_fun__1202 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__1202)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_lm__1199(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_items, modelica_metatype _in_a_ix, modelica_metatype _in_a_tupleAssignExps, modelica_metatype _in_a_startIndexOutputs, modelica_metatype _in_a_res, modelica_metatype _in_a_auxFunction, modelica_metatype _in_a_context, modelica_metatype _in_a_startIndexInputs, modelica_metatype _in_a_prefix, modelica_metatype _in_a_cases, modelica_metatype _in_a_ty, modelica_integer _in_a_startTmpTickIndex, modelica_metatype *out_out_a_auxFunction);
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_lm__1199(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_items, modelica_metatype _in_a_ix, modelica_metatype _in_a_tupleAssignExps, modelica_metatype _in_a_startIndexOutputs, modelica_metatype _in_a_res, modelica_metatype _in_a_auxFunction, modelica_metatype _in_a_context, modelica_metatype _in_a_startIndexInputs, modelica_metatype _in_a_prefix, modelica_metatype _in_a_cases, modelica_metatype _in_a_ty, modelica_metatype _in_a_startTmpTickIndex, modelica_metatype *out_out_a_auxFunction);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_lm__1199,2,0) {(void*) boxptr_CodegenCFunctions_lm__1199,0}};
#define boxvar_CodegenCFunctions_lm__1199 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_lm__1199)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__1198(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_c_result, modelica_metatype _in_a_caseRes, modelica_metatype _in_a_preRes);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__1198,2,0) {(void*) boxptr_CodegenCFunctions_fun__1198,0}};
#define boxvar_CodegenCFunctions_fun__1198 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__1198)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__1197(threadData_t *threadData, modelica_metatype _in_txt, modelica_integer _in_a_c_jump, modelica_metatype _in_a_ix);
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__1197(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_c_jump, modelica_metatype _in_a_ix);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__1197,2,0) {(void*) boxptr_CodegenCFunctions_fun__1197,0}};
#define boxvar_CodegenCFunctions_fun__1197 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__1197)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__1196(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_ty, modelica_integer _in_a_i0, modelica_metatype _in_a_prefix, modelica_metatype _in_a_c_patterns);
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__1196(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_ty, modelica_metatype _in_a_i0, modelica_metatype _in_a_prefix, modelica_metatype _in_a_c_patterns);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__1196,2,0) {(void*) boxptr_CodegenCFunctions_fun__1196,0}};
#define boxvar_CodegenCFunctions_fun__1196 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__1196)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__1195(threadData_t *threadData, modelica_metatype _in_txt, modelica_string _in_mArg, modelica_metatype _in_a_prefix, modelica_metatype _in_a_name);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__1195,2,0) {(void*) boxptr_CodegenCFunctions_fun__1195,0}};
#define boxvar_CodegenCFunctions_fun__1195 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__1195)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_lm__1194(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_items, modelica_metatype _in_a_auxFunction, modelica_metatype _in_a_varFrees, modelica_metatype _in_a_preExpCaseInner, modelica_metatype _in_a_varDeclsCaseInner, modelica_metatype *out_out_a_auxFunction, modelica_metatype *out_out_a_varFrees, modelica_metatype *out_out_a_preExpCaseInner, modelica_metatype *out_out_a_varDeclsCaseInner);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_lm__1194,2,0) {(void*) boxptr_CodegenCFunctions_lm__1194,0}};
#define boxvar_CodegenCFunctions_lm__1194 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_lm__1194)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__1193(threadData_t *threadData, modelica_metatype _in_txt, modelica_string _in_mArg, modelica_metatype _in_a_tupleAssignExps, modelica_metatype _in_a_auxFunction, modelica_metatype _in_a_varDeclsCaseInner, modelica_metatype _in_a_preRes, modelica_metatype _in_a_context, modelica_metatype _in_a_startIndexOutputs, modelica_metatype _in_a_res, modelica_metatype _in_a_c_result, modelica_metatype *out_out_a_auxFunction, modelica_metatype *out_out_a_varDeclsCaseInner, modelica_metatype *out_out_a_preRes);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__1193,2,0) {(void*) boxptr_CodegenCFunctions_fun__1193,0}};
#define boxvar_CodegenCFunctions_fun__1193 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__1193)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__1192(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_c_result, modelica_metatype _in_a_tupleAssignExps, modelica_metatype _in_a_auxFunction, modelica_metatype _in_a_varDeclsCaseInner, modelica_metatype _in_a_preRes, modelica_metatype _in_a_context, modelica_metatype _in_a_startIndexOutputs, modelica_metatype _in_a_res, modelica_metatype *out_out_a_auxFunction, modelica_metatype *out_out_a_varDeclsCaseInner, modelica_metatype *out_out_a_preRes);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__1192,2,0) {(void*) boxptr_CodegenCFunctions_fun__1192,0}};
#define boxvar_CodegenCFunctions_fun__1192 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__1192)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__1191(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_tupleAssignExps, modelica_metatype _in_a_startIndexOutputs, modelica_metatype _in_a_res, modelica_metatype _in_a_retStruct);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__1191,2,0) {(void*) boxptr_CodegenCFunctions_fun__1191,0}};
#define boxvar_CodegenCFunctions_fun__1191 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__1191)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_lm__1190(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_items, modelica_metatype _in_a_startIndexOutputs, modelica_metatype _in_a_res, modelica_metatype _in_a_tupleAssignExps);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_lm__1190,2,0) {(void*) boxptr_CodegenCFunctions_lm__1190,0}};
#define boxvar_CodegenCFunctions_lm__1190 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_lm__1190)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_lm__1189(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_items, modelica_metatype _in_a_auxFunction, modelica_metatype _in_a_varDeclsCaseInner, modelica_metatype _in_a_preRes, modelica_metatype _in_a_context, modelica_metatype _in_a_startIndexOutputs, modelica_metatype _in_a_res, modelica_metatype _in_a_exps, modelica_metatype *out_out_a_auxFunction, modelica_metatype *out_out_a_varDeclsCaseInner, modelica_metatype *out_out_a_preRes);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_lm__1189,2,0) {(void*) boxptr_CodegenCFunctions_lm__1189,0}};
#define boxvar_CodegenCFunctions_lm__1189 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_lm__1189)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__1188(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_c_patternGuard, modelica_metatype _in_a_onPatternFail, modelica_metatype _in_a_auxFunction, modelica_metatype _in_a_varDeclsCaseInner, modelica_metatype _in_a_preGuardCheck, modelica_metatype _in_a_context, modelica_metatype *out_out_a_auxFunction, modelica_metatype *out_out_a_varDeclsCaseInner, modelica_metatype *out_out_a_preGuardCheck);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__1188,2,0) {(void*) boxptr_CodegenCFunctions_fun__1188,0}};
#define boxvar_CodegenCFunctions_fun__1188 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__1188)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_lm__1187(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_items, modelica_metatype _in_a_auxFunction, modelica_metatype _in_a_varDeclsCaseInner, modelica_metatype _in_a_context, modelica_metatype *out_out_a_auxFunction, modelica_metatype *out_out_a_varDeclsCaseInner);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_lm__1187,2,0) {(void*) boxptr_CodegenCFunctions_lm__1187,0}};
#define boxvar_CodegenCFunctions_lm__1187 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_lm__1187)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_lm__1186(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_items, modelica_metatype _in_a_assignments, modelica_metatype _in_a_varDeclsCaseInner, modelica_metatype _in_a_onPatternFail, modelica_metatype _in_a_startIndexInputs, modelica_metatype *out_out_a_assignments, modelica_metatype *out_out_a_varDeclsCaseInner, modelica_metatype *out_out_a_onPatternFail);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_lm__1186,2,0) {(void*) boxptr_CodegenCFunctions_lm__1186,0}};
#define boxvar_CodegenCFunctions_lm__1186 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_lm__1186)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__1185(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_ty, modelica_metatype _in_a_prefix, modelica_metatype _in_a_lastSwitchIndex);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__1185,2,0) {(void*) boxptr_CodegenCFunctions_fun__1185,0}};
#define boxvar_CodegenCFunctions_fun__1185 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__1185)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__1184(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_ty, modelica_metatype _in_a_prefix, modelica_metatype _in_a_cases);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__1184,2,0) {(void*) boxptr_CodegenCFunctions_fun__1184,0}};
#define boxvar_CodegenCFunctions_fun__1184 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__1184)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__1183(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_mArg, modelica_metatype _in_a_prefix, modelica_integer _in_a_div, modelica_integer _in_a_n);
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__1183(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_mArg, modelica_metatype _in_a_prefix, modelica_metatype _in_a_div, modelica_metatype _in_a_n);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__1183,2,0) {(void*) boxptr_CodegenCFunctions_fun__1183,0}};
#define boxvar_CodegenCFunctions_fun__1183 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__1183)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__1182(threadData_t *threadData, modelica_metatype _in_txt, modelica_string _in_mArg, modelica_metatype _in_a_prefix);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__1182,2,0) {(void*) boxptr_CodegenCFunctions_fun__1182,0}};
#define boxvar_CodegenCFunctions_fun__1182 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__1182)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__1180(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_exp_matchType, modelica_metatype _in_a_goto, modelica_metatype _in_a_varDecls, modelica_metatype _in_a_exp_inputs, modelica_metatype _in_a_startIndexInputs, modelica_metatype _in_a_startIndexOutputs, modelica_metatype _in_a_res, modelica_metatype _in_a_tupleAssignExps, modelica_metatype _in_a_prefix, modelica_metatype _in_a_ix, modelica_metatype _in_a_varDeclsInner, modelica_metatype _in_a_preExpInner, modelica_metatype _in_a_expInput, modelica_metatype _in_a_preExpInput, modelica_metatype _in_a_varDeclsInput, modelica_metatype _in_a_auxFunction, modelica_metatype _in_a_context, modelica_metatype _in_a_exp_cases, modelica_metatype *out_out_a_varDecls, modelica_metatype *out_out_a_startIndexInputs, modelica_metatype *out_out_a_startIndexOutputs, modelica_metatype *out_out_a_res, modelica_metatype *out_out_a_prefix, modelica_metatype *out_out_a_ix, modelica_metatype *out_out_a_auxFunction);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__1180,2,0) {(void*) boxptr_CodegenCFunctions_fun__1180,0}};
#define boxvar_CodegenCFunctions_fun__1180 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__1180)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__1179(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_exp_matchType, modelica_metatype _in_a_exp_cases, modelica_metatype _in_a_ix, modelica_metatype _in_a_prefix, modelica_metatype _in_a_goto);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__1179,2,0) {(void*) boxptr_CodegenCFunctions_fun__1179,0}};
#define boxvar_CodegenCFunctions_fun__1179 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__1179)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__1178(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_exp_matchType, modelica_metatype _in_a_exp_cases, modelica_metatype _in_a_prefix, modelica_metatype _in_a_ix);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__1178,2,0) {(void*) boxptr_CodegenCFunctions_fun__1178,0}};
#define boxvar_CodegenCFunctions_fun__1178 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__1178)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__1177(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_exp_matchType, modelica_metatype _in_a_prefix);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__1177,2,0) {(void*) boxptr_CodegenCFunctions_fun__1177,0}};
#define boxvar_CodegenCFunctions_fun__1177 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__1177)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__1176(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_exp_matchType);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__1176,2,0) {(void*) boxptr_CodegenCFunctions_fun__1176,0}};
#define boxvar_CodegenCFunctions_fun__1176 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__1176)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__1175(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_exp_cases, modelica_metatype _in_a_preExpInner, modelica_metatype _in_a_expInput, modelica_metatype _in_a_preExpInput, modelica_metatype _in_a_varDeclsInput, modelica_metatype _in_a_auxFunction, modelica_metatype _in_a_varDeclsInner, modelica_metatype _in_a_context, modelica_metatype *out_out_a_auxFunction, modelica_metatype *out_out_a_varDeclsInner);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__1175,2,0) {(void*) boxptr_CodegenCFunctions_fun__1175,0}};
#define boxvar_CodegenCFunctions_fun__1175 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__1175)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_lm__1174(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_items, modelica_metatype _in_a_auxFunction, modelica_metatype _in_a_varDeclsInner, modelica_metatype _in_a_context, modelica_metatype *out_out_a_auxFunction, modelica_metatype *out_out_a_varDeclsInner);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_lm__1174,2,0) {(void*) boxptr_CodegenCFunctions_lm__1174,0}};
#define boxvar_CodegenCFunctions_lm__1174 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_lm__1174)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_lm__1173(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_items, modelica_metatype _in_a_auxFunction, modelica_metatype _in_a_varDeclsInner, modelica_metatype _in_a_context, modelica_metatype *out_out_a_auxFunction, modelica_metatype *out_out_a_varDeclsInner);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_lm__1173,2,0) {(void*) boxptr_CodegenCFunctions_lm__1173,0}};
#define boxvar_CodegenCFunctions_lm__1173 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_lm__1173)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__1172(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_exp_matchType, modelica_metatype _in_a_varDeclsInner, modelica_metatype _in_a_exp, modelica_metatype _in_a_startIndexInputs, modelica_metatype *out_out_a_varDeclsInner);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__1172,2,0) {(void*) boxptr_CodegenCFunctions_fun__1172,0}};
#define boxvar_CodegenCFunctions_fun__1172 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__1172)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_lm__1171(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_items, modelica_metatype _in_a_auxFunction, modelica_metatype _in_a_preExpInput, modelica_metatype _in_a_context, modelica_metatype _in_a_expInput, modelica_metatype _in_a_varDeclsInput, modelica_metatype _in_a_startIndexInputs, modelica_metatype _in_a_exp_matchType, modelica_metatype *out_out_a_auxFunction, modelica_metatype *out_out_a_preExpInput, modelica_metatype *out_out_a_expInput, modelica_metatype *out_out_a_varDeclsInput);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_lm__1171,2,0) {(void*) boxptr_CodegenCFunctions_lm__1171,0}};
#define boxvar_CodegenCFunctions_lm__1171 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_lm__1171)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_lm__1170(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_items, modelica_metatype _in_a_decl, modelica_metatype _in_a_typ, modelica_metatype _in_a_varDeclsInput, modelica_metatype *out_out_a_varDeclsInput);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_lm__1170,2,0) {(void*) boxptr_CodegenCFunctions_lm__1170,0}};
#define boxvar_CodegenCFunctions_lm__1170 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_lm__1170)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_lm__1169(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_items, modelica_metatype _in_a_auxFunction, modelica_metatype _in_a_varFrees, modelica_metatype _in_a_preExpInner, modelica_metatype _in_a_varDeclsInner, modelica_metatype *out_out_a_auxFunction, modelica_metatype *out_out_a_varFrees, modelica_metatype *out_out_a_preExpInner, modelica_metatype *out_out_a_varDeclsInner);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_lm__1169,2,0) {(void*) boxptr_CodegenCFunctions_lm__1169,0}};
#define boxvar_CodegenCFunctions_lm__1169 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_lm__1169)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__1168(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_exp_matchType);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__1168,2,0) {(void*) boxptr_CodegenCFunctions_fun__1168,0}};
#define boxvar_CodegenCFunctions_fun__1168 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__1168)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__1166(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_et, modelica_metatype _in_a_varDecls, modelica_metatype _in_a_exp, modelica_metatype *out_out_a_varDecls);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__1166,2,0) {(void*) boxptr_CodegenCFunctions_fun__1166,0}};
#define boxvar_CodegenCFunctions_fun__1166 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__1166)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__1164(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_resTail);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__1164,2,0) {(void*) boxptr_CodegenCFunctions_fun__1164,0}};
#define boxvar_CodegenCFunctions_fun__1164 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__1164)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__1163(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_foundFirst);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__1163,2,0) {(void*) boxptr_CodegenCFunctions_fun__1163,0}};
#define boxvar_CodegenCFunctions_fun__1163 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__1163)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__1162(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_resTail, modelica_metatype _in_a_res);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__1162,2,0) {(void*) boxptr_CodegenCFunctions_fun__1162,0}};
#define boxvar_CodegenCFunctions_fun__1162 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__1162)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__1161(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_iterators, modelica_metatype _in_a_endLoop);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__1161,2,0) {(void*) boxptr_CodegenCFunctions_fun__1161,0}};
#define boxvar_CodegenCFunctions_fun__1161 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__1161)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__1160(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_ri_path, modelica_metatype _in_a_defaultValue, modelica_metatype _in_a_preDefault, modelica_metatype _in_a_foundFirst, modelica_metatype _in_a_arrayTypeResult, modelica_metatype _in_a_auxFunction, modelica_metatype _in_a_res, modelica_metatype _in_a_r_expr, modelica_metatype _in_a_arrIndex, modelica_metatype _in_a_context, modelica_metatype _in_a_iterators, modelica_metatype _in_a_rangeExpPre, modelica_metatype _in_a_tmpVarDecls, modelica_metatype *out_out_a_auxFunction, modelica_metatype *out_out_a_rangeExpPre, modelica_metatype *out_out_a_tmpVarDecls);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__1160,2,0) {(void*) boxptr_CodegenCFunctions_fun__1160,0}};
#define boxvar_CodegenCFunctions_fun__1160 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__1160)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__1159(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_foundFirst, modelica_metatype _in_a_ri_path, modelica_metatype _in_a_defaultValue, modelica_metatype _in_a_res, modelica_metatype _in_a_preDefault);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__1159,2,0) {(void*) boxptr_CodegenCFunctions_fun__1159,0}};
#define boxvar_CodegenCFunctions_fun__1159 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__1159)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__1158(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_mArg, modelica_metatype _in_a_arrayTypeResult, modelica_metatype _in_a_r_expr, modelica_metatype _in_a_auxFunction, modelica_metatype _in_a_tmpVarDecls, modelica_metatype _in_a_rangeExpPre, modelica_metatype _in_a_context, modelica_metatype _in_a_length, modelica_metatype _in_a_res, modelica_metatype *out_out_a_auxFunction, modelica_metatype *out_out_a_tmpVarDecls, modelica_metatype *out_out_a_rangeExpPre);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__1158,2,0) {(void*) boxptr_CodegenCFunctions_fun__1158,0}};
#define boxvar_CodegenCFunctions_fun__1158 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__1158)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_lm__1157(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_items, modelica_metatype _in_a_r_expr, modelica_metatype _in_a_auxFunction, modelica_metatype _in_a_tmpVarDecls, modelica_metatype _in_a_rangeExpPre, modelica_metatype _in_a_context, modelica_metatype *out_out_a_auxFunction, modelica_metatype *out_out_a_tmpVarDecls, modelica_metatype *out_out_a_rangeExpPre);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_lm__1157,2,0) {(void*) boxptr_CodegenCFunctions_lm__1157,0}};
#define boxvar_CodegenCFunctions_lm__1157 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_lm__1157)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__1156(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_dim, modelica_metatype _in_a_r_expr, modelica_metatype _in_a_auxFunction, modelica_metatype _in_a_tmpVarDecls, modelica_metatype _in_a_rangeExpPre, modelica_metatype _in_a_context, modelica_metatype *out_out_a_auxFunction, modelica_metatype *out_out_a_tmpVarDecls, modelica_metatype *out_out_a_rangeExpPre);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__1156,2,0) {(void*) boxptr_CodegenCFunctions_fun__1156,0}};
#define boxvar_CodegenCFunctions_fun__1156 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__1156)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_lm__1155(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_items, modelica_metatype _in_a_length, modelica_metatype _in_a_rangeExpPre, modelica_metatype _in_a_context, modelica_metatype *out_out_a_rangeExpPre);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_lm__1155,2,0) {(void*) boxptr_CodegenCFunctions_lm__1155,0}};
#define boxvar_CodegenCFunctions_lm__1155 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_lm__1155)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__1154(threadData_t *threadData, modelica_metatype _in_txt, modelica_string _in_mArg, modelica_metatype _in_a_iteratorName, modelica_metatype _in_a_loopVar, modelica_metatype _in_a_iter_exp);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__1154,2,0) {(void*) boxptr_CodegenCFunctions_fun__1154,0}};
#define boxvar_CodegenCFunctions_fun__1154 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__1154)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__1153(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_iter_exp, modelica_metatype _in_a_loopVar, modelica_metatype _in_a_iteratorName);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__1153,2,0) {(void*) boxptr_CodegenCFunctions_fun__1153,0}};
#define boxvar_CodegenCFunctions_fun__1153 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__1153)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__1152(threadData_t *threadData, modelica_metatype _in_txt, modelica_boolean _in_mArg, modelica_metatype _in_a_loopVar);
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__1152(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_mArg, modelica_metatype _in_a_loopVar);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__1152,2,0) {(void*) boxptr_CodegenCFunctions_fun__1152,0}};
#define boxvar_CodegenCFunctions_fun__1152 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__1152)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_lm__1151(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_items, modelica_metatype _in_a_endLoop, modelica_metatype _in_a_ri_path, modelica_metatype _in_a_auxFunction, modelica_metatype _in_a_rangeExpPre, modelica_metatype _in_a_tmpVarDecls, modelica_metatype _in_a_context, modelica_metatype *out_out_a_auxFunction, modelica_metatype *out_out_a_rangeExpPre, modelica_metatype *out_out_a_tmpVarDecls);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_lm__1151,2,0) {(void*) boxptr_CodegenCFunctions_lm__1151,0}};
#define boxvar_CodegenCFunctions_lm__1151 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_lm__1151)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__1150(threadData_t *threadData, modelica_metatype _in_txt, modelica_string _in_mArg, modelica_metatype _in_a_arrayType, modelica_metatype _in_a_iter_ty, modelica_metatype _in_a_stopVar, modelica_metatype _in_a_stepVar, modelica_metatype _in_a_firstIndex, modelica_metatype _in_a_endLoop, modelica_metatype _in_a_guardExp, modelica_metatype _in_a_iteratorName, modelica_metatype _in_a_loopVar, modelica_metatype _in_a_guardCond, modelica_metatype _in_a_iter_exp);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__1150,2,0) {(void*) boxptr_CodegenCFunctions_fun__1150,0}};
#define boxvar_CodegenCFunctions_fun__1150 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__1150)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__1149(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_iter_exp, modelica_metatype _in_a_arrayType, modelica_metatype _in_a_firstIndex, modelica_metatype _in_a_loopVar, modelica_metatype _in_a_iter_ty, modelica_metatype _in_a_endLoop, modelica_metatype _in_a_guardExp, modelica_metatype _in_a_stopVar, modelica_metatype _in_a_iteratorName, modelica_metatype _in_a_stepVar, modelica_metatype _in_a_guardCond);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__1149,2,0) {(void*) boxptr_CodegenCFunctions_fun__1149,0}};
#define boxvar_CodegenCFunctions_fun__1149 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__1149)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__1148(threadData_t *threadData, modelica_metatype _in_txt, modelica_boolean _in_mArg, modelica_metatype _in_a_endLoop, modelica_metatype _in_a_guardExp, modelica_metatype _in_a_addr, modelica_metatype _in_a_iteratorName, modelica_metatype _in_a_loopVar, modelica_metatype _in_a_firstIndex);
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__1148(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_mArg, modelica_metatype _in_a_endLoop, modelica_metatype _in_a_guardExp, modelica_metatype _in_a_addr, modelica_metatype _in_a_iteratorName, modelica_metatype _in_a_loopVar, modelica_metatype _in_a_firstIndex);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__1148,2,0) {(void*) boxptr_CodegenCFunctions_fun__1148,0}};
#define boxvar_CodegenCFunctions_fun__1148 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__1148)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__1147(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_iter_ty, modelica_metatype _in_a_arrayType, modelica_metatype _in_a_firstIndex, modelica_metatype _in_a_loopVar);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__1147,2,0) {(void*) boxptr_CodegenCFunctions_fun__1147,0}};
#define boxvar_CodegenCFunctions_fun__1147 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__1147)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__1146(threadData_t *threadData, modelica_metatype _in_txt, modelica_boolean _in_mArg, modelica_metatype _in_a_endLoop, modelica_metatype _in_a_guardExp);
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__1146(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_mArg, modelica_metatype _in_a_endLoop, modelica_metatype _in_a_guardExp);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__1146,2,0) {(void*) boxptr_CodegenCFunctions_fun__1146,0}};
#define boxvar_CodegenCFunctions_fun__1146 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__1146)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__1145(threadData_t *threadData, modelica_metatype _in_txt, modelica_boolean _in_mArg);
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__1145(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_mArg);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__1145,2,0) {(void*) boxptr_CodegenCFunctions_fun__1145,0}};
#define boxvar_CodegenCFunctions_fun__1145 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__1145)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__1144(threadData_t *threadData, modelica_metatype _in_txt, modelica_boolean _in_mArg, modelica_metatype _in_a_firstIndex, modelica_metatype _in_a_endLoop, modelica_metatype _in_a_guardExp, modelica_metatype _in_a_iteratorName, modelica_metatype _in_a_loopVar, modelica_metatype _in_a_guardCond);
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__1144(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_mArg, modelica_metatype _in_a_firstIndex, modelica_metatype _in_a_endLoop, modelica_metatype _in_a_guardExp, modelica_metatype _in_a_iteratorName, modelica_metatype _in_a_loopVar, modelica_metatype _in_a_guardCond);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__1144,2,0) {(void*) boxptr_CodegenCFunctions_fun__1144,0}};
#define boxvar_CodegenCFunctions_fun__1144 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__1144)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__1143(threadData_t *threadData, modelica_metatype _in_txt, modelica_boolean _in_mArg, modelica_metatype _in_a_endLoop, modelica_metatype _in_a_guardExp, modelica_metatype _in_a_iteratorName, modelica_metatype _in_a_loopVar, modelica_metatype _in_a_firstIndex);
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__1143(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_mArg, modelica_metatype _in_a_endLoop, modelica_metatype _in_a_guardExp, modelica_metatype _in_a_iteratorName, modelica_metatype _in_a_loopVar, modelica_metatype _in_a_firstIndex);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__1143,2,0) {(void*) boxptr_CodegenCFunctions_fun__1143,0}};
#define boxvar_CodegenCFunctions_fun__1143 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__1143)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__1142(threadData_t *threadData, modelica_metatype _in_txt, modelica_boolean _in_mArg, modelica_metatype _in_a_endLoop, modelica_metatype _in_a_guardExp, modelica_metatype _in_a_iteratorName, modelica_metatype _in_a_loopVar);
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__1142(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_mArg, modelica_metatype _in_a_endLoop, modelica_metatype _in_a_guardExp, modelica_metatype _in_a_iteratorName, modelica_metatype _in_a_loopVar);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__1142,2,0) {(void*) boxptr_CodegenCFunctions_fun__1142,0}};
#define boxvar_CodegenCFunctions_fun__1142 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__1142)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__1141(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_iter_exp, modelica_metatype _in_a_stepVar, modelica_metatype _in_a_rangeExp, modelica_metatype _in_a_iteratorName);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__1141,2,0) {(void*) boxptr_CodegenCFunctions_fun__1141,0}};
#define boxvar_CodegenCFunctions_fun__1141 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__1141)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__1140(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_isArrayWithLength, modelica_metatype _in_a_stepVar, modelica_metatype _in_a_firstIndex, modelica_metatype _in_a_stopVar, modelica_metatype _in_a_iteratorName);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__1140,2,0) {(void*) boxptr_CodegenCFunctions_fun__1140,0}};
#define boxvar_CodegenCFunctions_fun__1140 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__1140)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__1139(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_firstIndex, modelica_metatype _in_a_iteratorName);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__1139,2,0) {(void*) boxptr_CodegenCFunctions_fun__1139,0}};
#define boxvar_CodegenCFunctions_fun__1139 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__1139)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__1138(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_iter_guardExp, modelica_metatype _in_a_auxFunction, modelica_metatype _in_a_tmpVarDecls, modelica_metatype _in_a_guardExpPre, modelica_metatype _in_a_context, modelica_metatype *out_out_a_auxFunction, modelica_metatype *out_out_a_tmpVarDecls, modelica_metatype *out_out_a_guardExpPre);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__1138,2,0) {(void*) boxptr_CodegenCFunctions_fun__1138,0}};
#define boxvar_CodegenCFunctions_fun__1138 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__1138)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__1137(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_iter_exp, modelica_metatype _in_a_firstIndex);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__1137,2,0) {(void*) boxptr_CodegenCFunctions_fun__1137,0}};
#define boxvar_CodegenCFunctions_fun__1137 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__1137)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__1136(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_firstIndex);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__1136,2,0) {(void*) boxptr_CodegenCFunctions_fun__1136,0}};
#define boxvar_CodegenCFunctions_fun__1136 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__1136)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__1135(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_isArrayWithLength, modelica_metatype _in_a_iteratorName);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__1135,2,0) {(void*) boxptr_CodegenCFunctions_fun__1135,0}};
#define boxvar_CodegenCFunctions_fun__1135 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__1135)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__1134(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_rangeExpStop, modelica_metatype _in_a_ri_path);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__1134,2,0) {(void*) boxptr_CodegenCFunctions_fun__1134,0}};
#define boxvar_CodegenCFunctions_fun__1134 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__1134)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__1133(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_ri_path);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__1133,2,0) {(void*) boxptr_CodegenCFunctions_fun__1133,0}};
#define boxvar_CodegenCFunctions_fun__1133 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__1133)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__1132(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_rangeExpStop, modelica_metatype _in_a_iter_exp, modelica_metatype _in_a_stepVar);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__1132,2,0) {(void*) boxptr_CodegenCFunctions_fun__1132,0}};
#define boxvar_CodegenCFunctions_fun__1132 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__1132)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__1131(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_iter_exp, modelica_metatype _in_a_check);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__1131,2,0) {(void*) boxptr_CodegenCFunctions_fun__1131,0}};
#define boxvar_CodegenCFunctions_fun__1131 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__1131)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__1130(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_rangeExpStop, modelica_metatype _in_a_stopVar);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__1130,2,0) {(void*) boxptr_CodegenCFunctions_fun__1130,0}};
#define boxvar_CodegenCFunctions_fun__1130 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__1130)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__1129(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_rangeExpStep, modelica_metatype _in_a_stepVar);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__1129,2,0) {(void*) boxptr_CodegenCFunctions_fun__1129,0}};
#define boxvar_CodegenCFunctions_fun__1129 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__1129)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__1128(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_iter_exp, modelica_metatype _in_a_auxFunction, modelica_metatype _in_a_tmpVarDecls, modelica_metatype _in_a_rangeExpPre, modelica_metatype _in_a_context, modelica_metatype *out_out_a_auxFunction, modelica_metatype *out_out_a_tmpVarDecls, modelica_metatype *out_out_a_rangeExpPre);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__1128,2,0) {(void*) boxptr_CodegenCFunctions_fun__1128,0}};
#define boxvar_CodegenCFunctions_fun__1128 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__1128)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__1127(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_iter_exp, modelica_metatype _in_a_auxFunction, modelica_metatype _in_a_tmpVarDecls, modelica_metatype _in_a_rangeExpPre, modelica_metatype _in_a_context, modelica_metatype *out_out_a_auxFunction, modelica_metatype *out_out_a_tmpVarDecls, modelica_metatype *out_out_a_rangeExpPre);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__1127,2,0) {(void*) boxptr_CodegenCFunctions_fun__1127,0}};
#define boxvar_CodegenCFunctions_fun__1127 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__1127)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__1126(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_iter_exp, modelica_metatype _in_a_auxFunction, modelica_metatype _in_a_tmpVarDecls, modelica_metatype _in_a_rangeExpPre, modelica_metatype _in_a_context, modelica_metatype *out_out_a_auxFunction, modelica_metatype *out_out_a_tmpVarDecls, modelica_metatype *out_out_a_rangeExpPre);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__1126,2,0) {(void*) boxptr_CodegenCFunctions_fun__1126,0}};
#define boxvar_CodegenCFunctions_fun__1126 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__1126)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__1125(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_iter_exp, modelica_metatype _in_a_tmpVarDecls, modelica_metatype _in_a_identType, modelica_metatype *out_out_a_tmpVarDecls);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__1125,2,0) {(void*) boxptr_CodegenCFunctions_fun__1125,0}};
#define boxvar_CodegenCFunctions_fun__1125 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__1125)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__1124(threadData_t *threadData, modelica_metatype _in_txt, modelica_string _in_mArg, modelica_metatype _in_a_tmpVarDecls, modelica_metatype _in_a_iter_exp, modelica_metatype *out_out_a_tmpVarDecls);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__1124,2,0) {(void*) boxptr_CodegenCFunctions_fun__1124,0}};
#define boxvar_CodegenCFunctions_fun__1124 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__1124)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__1123(threadData_t *threadData, modelica_metatype _in_txt, modelica_boolean _in_mArg, modelica_metatype _in_a_tmpVarDecls, modelica_metatype *out_out_a_tmpVarDecls);
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__1123(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_mArg, modelica_metatype _in_a_tmpVarDecls, modelica_metatype *out_out_a_tmpVarDecls);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__1123,2,0) {(void*) boxptr_CodegenCFunctions_fun__1123,0}};
#define boxvar_CodegenCFunctions_fun__1123 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__1123)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__1122(threadData_t *threadData, modelica_metatype _in_txt, modelica_string _in_mArg, modelica_metatype _in_a_arrayType, modelica_metatype _in_a_iter_exp, modelica_metatype _in_a_loopVar);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__1122,2,0) {(void*) boxptr_CodegenCFunctions_fun__1122,0}};
#define boxvar_CodegenCFunctions_fun__1122 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__1122)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__1121(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_iter_exp, modelica_metatype _in_a_loopVar, modelica_metatype _in_a_arrayType);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__1121,2,0) {(void*) boxptr_CodegenCFunctions_fun__1121,0}};
#define boxvar_CodegenCFunctions_fun__1121 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__1121)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__1120(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_iter_exp, modelica_metatype _in_a_tmpVarDecls, modelica_metatype _in_a_identType, modelica_metatype *out_out_a_tmpVarDecls);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__1120,2,0) {(void*) boxptr_CodegenCFunctions_fun__1120,0}};
#define boxvar_CodegenCFunctions_fun__1120 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__1120)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__1119(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_iter_exp, modelica_metatype _in_a_tmpVarDecls, modelica_metatype _in_a_identType, modelica_metatype *out_out_a_tmpVarDecls);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__1119,2,0) {(void*) boxptr_CodegenCFunctions_fun__1119,0}};
#define boxvar_CodegenCFunctions_fun__1119 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__1119)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__1118(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_iter_exp, modelica_metatype _in_a_iteratorName);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__1118,2,0) {(void*) boxptr_CodegenCFunctions_fun__1118,0}};
#define boxvar_CodegenCFunctions_fun__1118 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__1118)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__1117(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_ri_path, modelica_metatype _in_a_foundFirst, modelica_metatype _in_a_auxFunction, modelica_metatype _in_a_tmpVarDecls, modelica_metatype _in_a_bodyExpPre, modelica_metatype _in_a_context, modelica_metatype _in_a_ri_foldExp, modelica_metatype _in_a_arrayTypeResult, modelica_metatype _in_a_varDecls, modelica_metatype _in_a_arrIndex, modelica_metatype _in_a_r_expr, modelica_metatype _in_a_res, modelica_metatype _in_a_reductionBodyExpr, modelica_metatype _in_a_resTail, modelica_metatype *out_out_a_auxFunction, modelica_metatype *out_out_a_tmpVarDecls, modelica_metatype *out_out_a_bodyExpPre, modelica_metatype *out_out_a_varDecls);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__1117,2,0) {(void*) boxptr_CodegenCFunctions_fun__1117,0}};
#define boxvar_CodegenCFunctions_fun__1117 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__1117)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__1116(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_ri_foldExp, modelica_metatype _in_a_reductionBodyExpr, modelica_metatype _in_a_res, modelica_metatype _in_a_foundFirst, modelica_metatype _in_a_auxFunction, modelica_metatype _in_a_tmpVarDecls, modelica_metatype _in_a_bodyExpPre, modelica_metatype _in_a_context, modelica_metatype *out_out_a_auxFunction, modelica_metatype *out_out_a_tmpVarDecls, modelica_metatype *out_out_a_bodyExpPre);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__1116,2,0) {(void*) boxptr_CodegenCFunctions_fun__1116,0}};
#define boxvar_CodegenCFunctions_fun__1116 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__1116)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__1115(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_foundFirst, modelica_metatype _in_a_reductionBodyExpr, modelica_metatype _in_a_fExpStr, modelica_metatype _in_a_res);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__1115,2,0) {(void*) boxptr_CodegenCFunctions_fun__1115,0}};
#define boxvar_CodegenCFunctions_fun__1115 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__1115)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__1114(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_mArg, modelica_metatype _in_a_arrayTypeResult, modelica_metatype _in_a_varDecls, modelica_metatype _in_a_reductionBodyExpr, modelica_metatype _in_a_arrIndex, modelica_metatype _in_a_res, modelica_metatype *out_out_a_varDecls);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__1114,2,0) {(void*) boxptr_CodegenCFunctions_fun__1114,0}};
#define boxvar_CodegenCFunctions_fun__1114 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__1114)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_lm__1113(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_items);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_lm__1113,2,0) {(void*) boxptr_CodegenCFunctions_lm__1113,0}};
#define boxvar_CodegenCFunctions_lm__1113 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_lm__1113)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__1112(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_ri_path, modelica_metatype _in_a_auxFunction, modelica_metatype _in_a_tmpVarDecls, modelica_metatype _in_a_preDefault, modelica_metatype _in_a_context, modelica_metatype _in_a_ri_defaultValue, modelica_metatype *out_out_a_auxFunction, modelica_metatype *out_out_a_tmpVarDecls, modelica_metatype *out_out_a_preDefault);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__1112,2,0) {(void*) boxptr_CodegenCFunctions_fun__1112,0}};
#define boxvar_CodegenCFunctions_fun__1112 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__1112)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__1111(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_ri_defaultValue, modelica_metatype _in_a_auxFunction, modelica_metatype _in_a_tmpVarDecls, modelica_metatype _in_a_preDefault, modelica_metatype _in_a_context, modelica_metatype *out_out_a_auxFunction, modelica_metatype *out_out_a_tmpVarDecls, modelica_metatype *out_out_a_preDefault);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__1111,2,0) {(void*) boxptr_CodegenCFunctions_fun__1111,0}};
#define boxvar_CodegenCFunctions_fun__1111 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__1111)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__1110(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_ri_path, modelica_metatype _in_a_tmpVarDecls, modelica_metatype *out_out_a_tmpVarDecls);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__1110,2,0) {(void*) boxptr_CodegenCFunctions_fun__1110,0}};
#define boxvar_CodegenCFunctions_fun__1110 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__1110)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__1109(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_ri_path, modelica_metatype _in_a_tmpVarDecls, modelica_metatype _in_a_ri_defaultValue, modelica_metatype *out_out_a_tmpVarDecls);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__1109,2,0) {(void*) boxptr_CodegenCFunctions_fun__1109,0}};
#define boxvar_CodegenCFunctions_fun__1109 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__1109)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__1108(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_ri_defaultValue, modelica_metatype _in_a_tmpVarDecls, modelica_metatype *out_out_a_tmpVarDecls);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__1108,2,0) {(void*) boxptr_CodegenCFunctions_fun__1108,0}};
#define boxvar_CodegenCFunctions_fun__1108 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__1108)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__1107(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_ri_path, modelica_metatype _in_a_tmpVarDecls, modelica_metatype *out_out_a_tmpVarDecls);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__1107,2,0) {(void*) boxptr_CodegenCFunctions_fun__1107,0}};
#define boxvar_CodegenCFunctions_fun__1107 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__1107)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__1106(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_resTail);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__1106,2,0) {(void*) boxptr_CodegenCFunctions_fun__1106,0}};
#define boxvar_CodegenCFunctions_fun__1106 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__1106)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__1105(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_foundFirst);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__1105,2,0) {(void*) boxptr_CodegenCFunctions_fun__1105,0}};
#define boxvar_CodegenCFunctions_fun__1105 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__1105)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__1104(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_resTail, modelica_metatype _in_a_res);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__1104,2,0) {(void*) boxptr_CodegenCFunctions_fun__1104,0}};
#define boxvar_CodegenCFunctions_fun__1104 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__1104)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__1103(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_iterators, modelica_metatype _in_a_endLoop);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__1103,2,0) {(void*) boxptr_CodegenCFunctions_fun__1103,0}};
#define boxvar_CodegenCFunctions_fun__1103 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__1103)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__1102(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_ri_path, modelica_metatype _in_a_defaultValue, modelica_metatype _in_a_preDefault, modelica_metatype _in_a_foundFirst, modelica_metatype _in_a_arrayTypeResult, modelica_metatype _in_a_auxFunction, modelica_metatype _in_a_res, modelica_metatype _in_a_r_expr, modelica_metatype _in_a_arrIndex, modelica_metatype _in_a_context, modelica_metatype _in_a_iterators, modelica_metatype _in_a_rangeExpPre, modelica_metatype _in_a_tmpVarDecls, modelica_metatype *out_out_a_auxFunction, modelica_metatype *out_out_a_rangeExpPre, modelica_metatype *out_out_a_tmpVarDecls);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__1102,2,0) {(void*) boxptr_CodegenCFunctions_fun__1102,0}};
#define boxvar_CodegenCFunctions_fun__1102 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__1102)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__1101(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_foundFirst, modelica_metatype _in_a_ri_path, modelica_metatype _in_a_defaultValue, modelica_metatype _in_a_res, modelica_metatype _in_a_preDefault);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__1101,2,0) {(void*) boxptr_CodegenCFunctions_fun__1101,0}};
#define boxvar_CodegenCFunctions_fun__1101 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__1101)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__1100(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_mArg, modelica_metatype _in_a_arrayTypeResult, modelica_metatype _in_a_r_expr, modelica_metatype _in_a_auxFunction, modelica_metatype _in_a_tmpVarDecls, modelica_metatype _in_a_rangeExpPre, modelica_metatype _in_a_context, modelica_metatype _in_a_length, modelica_metatype _in_a_res, modelica_metatype *out_out_a_auxFunction, modelica_metatype *out_out_a_tmpVarDecls, modelica_metatype *out_out_a_rangeExpPre);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__1100,2,0) {(void*) boxptr_CodegenCFunctions_fun__1100,0}};
#define boxvar_CodegenCFunctions_fun__1100 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__1100)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_lm__1099(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_items, modelica_metatype _in_a_r_expr, modelica_metatype _in_a_auxFunction, modelica_metatype _in_a_tmpVarDecls, modelica_metatype _in_a_rangeExpPre, modelica_metatype _in_a_context, modelica_metatype *out_out_a_auxFunction, modelica_metatype *out_out_a_tmpVarDecls, modelica_metatype *out_out_a_rangeExpPre);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_lm__1099,2,0) {(void*) boxptr_CodegenCFunctions_lm__1099,0}};
#define boxvar_CodegenCFunctions_lm__1099 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_lm__1099)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__1098(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_dim, modelica_metatype _in_a_r_expr, modelica_metatype _in_a_auxFunction, modelica_metatype _in_a_tmpVarDecls, modelica_metatype _in_a_rangeExpPre, modelica_metatype _in_a_context, modelica_metatype *out_out_a_auxFunction, modelica_metatype *out_out_a_tmpVarDecls, modelica_metatype *out_out_a_rangeExpPre);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__1098,2,0) {(void*) boxptr_CodegenCFunctions_fun__1098,0}};
#define boxvar_CodegenCFunctions_fun__1098 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__1098)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_lm__1097(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_items, modelica_metatype _in_a_length, modelica_metatype _in_a_rangeExpPre, modelica_metatype _in_a_context, modelica_metatype *out_out_a_rangeExpPre);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_lm__1097,2,0) {(void*) boxptr_CodegenCFunctions_lm__1097,0}};
#define boxvar_CodegenCFunctions_lm__1097 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_lm__1097)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__1096(threadData_t *threadData, modelica_metatype _in_txt, modelica_string _in_mArg, modelica_metatype _in_a_iteratorName, modelica_metatype _in_a_loopVar, modelica_metatype _in_a_iter_exp);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__1096,2,0) {(void*) boxptr_CodegenCFunctions_fun__1096,0}};
#define boxvar_CodegenCFunctions_fun__1096 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__1096)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__1095(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_iter_exp, modelica_metatype _in_a_loopVar, modelica_metatype _in_a_iteratorName);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__1095,2,0) {(void*) boxptr_CodegenCFunctions_fun__1095,0}};
#define boxvar_CodegenCFunctions_fun__1095 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__1095)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__1094(threadData_t *threadData, modelica_metatype _in_txt, modelica_boolean _in_mArg, modelica_metatype _in_a_loopVar);
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__1094(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_mArg, modelica_metatype _in_a_loopVar);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__1094,2,0) {(void*) boxptr_CodegenCFunctions_fun__1094,0}};
#define boxvar_CodegenCFunctions_fun__1094 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__1094)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_lm__1093(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_items, modelica_metatype _in_a_endLoop, modelica_metatype _in_a_ri_path, modelica_metatype _in_a_auxFunction, modelica_metatype _in_a_rangeExpPre, modelica_metatype _in_a_tmpVarDecls, modelica_metatype _in_a_context, modelica_metatype *out_out_a_auxFunction, modelica_metatype *out_out_a_rangeExpPre, modelica_metatype *out_out_a_tmpVarDecls);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_lm__1093,2,0) {(void*) boxptr_CodegenCFunctions_lm__1093,0}};
#define boxvar_CodegenCFunctions_lm__1093 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_lm__1093)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__1092(threadData_t *threadData, modelica_metatype _in_txt, modelica_string _in_mArg, modelica_metatype _in_a_arrayType, modelica_metatype _in_a_iter_ty, modelica_metatype _in_a_stopVar, modelica_metatype _in_a_stepVar, modelica_metatype _in_a_firstIndex, modelica_metatype _in_a_endLoop, modelica_metatype _in_a_guardExp, modelica_metatype _in_a_iteratorName, modelica_metatype _in_a_loopVar, modelica_metatype _in_a_guardCond, modelica_metatype _in_a_iter_exp);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__1092,2,0) {(void*) boxptr_CodegenCFunctions_fun__1092,0}};
#define boxvar_CodegenCFunctions_fun__1092 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__1092)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__1091(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_iter_exp, modelica_metatype _in_a_arrayType, modelica_metatype _in_a_firstIndex, modelica_metatype _in_a_loopVar, modelica_metatype _in_a_iter_ty, modelica_metatype _in_a_endLoop, modelica_metatype _in_a_guardExp, modelica_metatype _in_a_stopVar, modelica_metatype _in_a_iteratorName, modelica_metatype _in_a_stepVar, modelica_metatype _in_a_guardCond);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__1091,2,0) {(void*) boxptr_CodegenCFunctions_fun__1091,0}};
#define boxvar_CodegenCFunctions_fun__1091 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__1091)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__1090(threadData_t *threadData, modelica_metatype _in_txt, modelica_boolean _in_mArg, modelica_metatype _in_a_endLoop, modelica_metatype _in_a_guardExp, modelica_metatype _in_a_addr, modelica_metatype _in_a_iteratorName, modelica_metatype _in_a_loopVar, modelica_metatype _in_a_firstIndex);
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__1090(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_mArg, modelica_metatype _in_a_endLoop, modelica_metatype _in_a_guardExp, modelica_metatype _in_a_addr, modelica_metatype _in_a_iteratorName, modelica_metatype _in_a_loopVar, modelica_metatype _in_a_firstIndex);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__1090,2,0) {(void*) boxptr_CodegenCFunctions_fun__1090,0}};
#define boxvar_CodegenCFunctions_fun__1090 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__1090)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__1089(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_iter_ty, modelica_metatype _in_a_arrayType, modelica_metatype _in_a_firstIndex, modelica_metatype _in_a_loopVar);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__1089,2,0) {(void*) boxptr_CodegenCFunctions_fun__1089,0}};
#define boxvar_CodegenCFunctions_fun__1089 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__1089)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__1088(threadData_t *threadData, modelica_metatype _in_txt, modelica_boolean _in_mArg, modelica_metatype _in_a_endLoop, modelica_metatype _in_a_guardExp);
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__1088(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_mArg, modelica_metatype _in_a_endLoop, modelica_metatype _in_a_guardExp);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__1088,2,0) {(void*) boxptr_CodegenCFunctions_fun__1088,0}};
#define boxvar_CodegenCFunctions_fun__1088 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__1088)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__1087(threadData_t *threadData, modelica_metatype _in_txt, modelica_boolean _in_mArg);
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__1087(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_mArg);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__1087,2,0) {(void*) boxptr_CodegenCFunctions_fun__1087,0}};
#define boxvar_CodegenCFunctions_fun__1087 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__1087)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__1086(threadData_t *threadData, modelica_metatype _in_txt, modelica_boolean _in_mArg, modelica_metatype _in_a_firstIndex, modelica_metatype _in_a_endLoop, modelica_metatype _in_a_guardExp, modelica_metatype _in_a_iteratorName, modelica_metatype _in_a_loopVar, modelica_metatype _in_a_guardCond);
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__1086(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_mArg, modelica_metatype _in_a_firstIndex, modelica_metatype _in_a_endLoop, modelica_metatype _in_a_guardExp, modelica_metatype _in_a_iteratorName, modelica_metatype _in_a_loopVar, modelica_metatype _in_a_guardCond);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__1086,2,0) {(void*) boxptr_CodegenCFunctions_fun__1086,0}};
#define boxvar_CodegenCFunctions_fun__1086 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__1086)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__1085(threadData_t *threadData, modelica_metatype _in_txt, modelica_boolean _in_mArg, modelica_metatype _in_a_endLoop, modelica_metatype _in_a_guardExp, modelica_metatype _in_a_iteratorName, modelica_metatype _in_a_loopVar, modelica_metatype _in_a_firstIndex);
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__1085(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_mArg, modelica_metatype _in_a_endLoop, modelica_metatype _in_a_guardExp, modelica_metatype _in_a_iteratorName, modelica_metatype _in_a_loopVar, modelica_metatype _in_a_firstIndex);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__1085,2,0) {(void*) boxptr_CodegenCFunctions_fun__1085,0}};
#define boxvar_CodegenCFunctions_fun__1085 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__1085)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__1084(threadData_t *threadData, modelica_metatype _in_txt, modelica_boolean _in_mArg, modelica_metatype _in_a_endLoop, modelica_metatype _in_a_guardExp, modelica_metatype _in_a_iteratorName, modelica_metatype _in_a_loopVar);
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__1084(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_mArg, modelica_metatype _in_a_endLoop, modelica_metatype _in_a_guardExp, modelica_metatype _in_a_iteratorName, modelica_metatype _in_a_loopVar);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__1084,2,0) {(void*) boxptr_CodegenCFunctions_fun__1084,0}};
#define boxvar_CodegenCFunctions_fun__1084 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__1084)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__1083(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_iter_exp, modelica_metatype _in_a_stepVar, modelica_metatype _in_a_rangeExp, modelica_metatype _in_a_iteratorName);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__1083,2,0) {(void*) boxptr_CodegenCFunctions_fun__1083,0}};
#define boxvar_CodegenCFunctions_fun__1083 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__1083)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__1082(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_isArrayWithLength, modelica_metatype _in_a_stepVar, modelica_metatype _in_a_firstIndex, modelica_metatype _in_a_stopVar, modelica_metatype _in_a_iteratorName);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__1082,2,0) {(void*) boxptr_CodegenCFunctions_fun__1082,0}};
#define boxvar_CodegenCFunctions_fun__1082 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__1082)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__1081(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_firstIndex, modelica_metatype _in_a_iteratorName);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__1081,2,0) {(void*) boxptr_CodegenCFunctions_fun__1081,0}};
#define boxvar_CodegenCFunctions_fun__1081 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__1081)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__1080(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_iter_guardExp, modelica_metatype _in_a_auxFunction, modelica_metatype _in_a_tmpVarDecls, modelica_metatype _in_a_guardExpPre, modelica_metatype _in_a_context, modelica_metatype *out_out_a_auxFunction, modelica_metatype *out_out_a_tmpVarDecls, modelica_metatype *out_out_a_guardExpPre);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__1080,2,0) {(void*) boxptr_CodegenCFunctions_fun__1080,0}};
#define boxvar_CodegenCFunctions_fun__1080 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__1080)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__1079(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_iter_exp, modelica_metatype _in_a_firstIndex);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__1079,2,0) {(void*) boxptr_CodegenCFunctions_fun__1079,0}};
#define boxvar_CodegenCFunctions_fun__1079 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__1079)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__1078(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_firstIndex);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__1078,2,0) {(void*) boxptr_CodegenCFunctions_fun__1078,0}};
#define boxvar_CodegenCFunctions_fun__1078 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__1078)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__1077(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_isArrayWithLength, modelica_metatype _in_a_iteratorName);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__1077,2,0) {(void*) boxptr_CodegenCFunctions_fun__1077,0}};
#define boxvar_CodegenCFunctions_fun__1077 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__1077)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__1076(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_rangeExpStop, modelica_metatype _in_a_ri_path);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__1076,2,0) {(void*) boxptr_CodegenCFunctions_fun__1076,0}};
#define boxvar_CodegenCFunctions_fun__1076 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__1076)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__1075(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_ri_path);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__1075,2,0) {(void*) boxptr_CodegenCFunctions_fun__1075,0}};
#define boxvar_CodegenCFunctions_fun__1075 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__1075)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__1074(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_rangeExpStop, modelica_metatype _in_a_iter_exp, modelica_metatype _in_a_stepVar);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__1074,2,0) {(void*) boxptr_CodegenCFunctions_fun__1074,0}};
#define boxvar_CodegenCFunctions_fun__1074 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__1074)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__1073(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_iter_exp, modelica_metatype _in_a_check);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__1073,2,0) {(void*) boxptr_CodegenCFunctions_fun__1073,0}};
#define boxvar_CodegenCFunctions_fun__1073 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__1073)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__1072(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_rangeExpStop, modelica_metatype _in_a_stopVar);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__1072,2,0) {(void*) boxptr_CodegenCFunctions_fun__1072,0}};
#define boxvar_CodegenCFunctions_fun__1072 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__1072)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__1071(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_rangeExpStep, modelica_metatype _in_a_stepVar);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__1071,2,0) {(void*) boxptr_CodegenCFunctions_fun__1071,0}};
#define boxvar_CodegenCFunctions_fun__1071 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__1071)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__1070(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_iter_exp, modelica_metatype _in_a_auxFunction, modelica_metatype _in_a_tmpVarDecls, modelica_metatype _in_a_rangeExpPre, modelica_metatype _in_a_context, modelica_metatype *out_out_a_auxFunction, modelica_metatype *out_out_a_tmpVarDecls, modelica_metatype *out_out_a_rangeExpPre);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__1070,2,0) {(void*) boxptr_CodegenCFunctions_fun__1070,0}};
#define boxvar_CodegenCFunctions_fun__1070 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__1070)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__1069(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_iter_exp, modelica_metatype _in_a_auxFunction, modelica_metatype _in_a_tmpVarDecls, modelica_metatype _in_a_rangeExpPre, modelica_metatype _in_a_context, modelica_metatype *out_out_a_auxFunction, modelica_metatype *out_out_a_tmpVarDecls, modelica_metatype *out_out_a_rangeExpPre);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__1069,2,0) {(void*) boxptr_CodegenCFunctions_fun__1069,0}};
#define boxvar_CodegenCFunctions_fun__1069 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__1069)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__1068(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_iter_exp, modelica_metatype _in_a_auxFunction, modelica_metatype _in_a_tmpVarDecls, modelica_metatype _in_a_rangeExpPre, modelica_metatype _in_a_context, modelica_metatype *out_out_a_auxFunction, modelica_metatype *out_out_a_tmpVarDecls, modelica_metatype *out_out_a_rangeExpPre);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__1068,2,0) {(void*) boxptr_CodegenCFunctions_fun__1068,0}};
#define boxvar_CodegenCFunctions_fun__1068 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__1068)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__1067(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_iter_exp, modelica_metatype _in_a_tmpVarDecls, modelica_metatype _in_a_identType, modelica_metatype *out_out_a_tmpVarDecls);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__1067,2,0) {(void*) boxptr_CodegenCFunctions_fun__1067,0}};
#define boxvar_CodegenCFunctions_fun__1067 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__1067)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__1066(threadData_t *threadData, modelica_metatype _in_txt, modelica_string _in_mArg, modelica_metatype _in_a_tmpVarDecls, modelica_metatype _in_a_iter_exp, modelica_metatype *out_out_a_tmpVarDecls);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__1066,2,0) {(void*) boxptr_CodegenCFunctions_fun__1066,0}};
#define boxvar_CodegenCFunctions_fun__1066 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__1066)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__1065(threadData_t *threadData, modelica_metatype _in_txt, modelica_boolean _in_mArg, modelica_metatype _in_a_tmpVarDecls, modelica_metatype *out_out_a_tmpVarDecls);
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__1065(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_mArg, modelica_metatype _in_a_tmpVarDecls, modelica_metatype *out_out_a_tmpVarDecls);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__1065,2,0) {(void*) boxptr_CodegenCFunctions_fun__1065,0}};
#define boxvar_CodegenCFunctions_fun__1065 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__1065)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__1064(threadData_t *threadData, modelica_metatype _in_txt, modelica_string _in_mArg, modelica_metatype _in_a_arrayType, modelica_metatype _in_a_iter_exp, modelica_metatype _in_a_loopVar);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__1064,2,0) {(void*) boxptr_CodegenCFunctions_fun__1064,0}};
#define boxvar_CodegenCFunctions_fun__1064 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__1064)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__1063(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_iter_exp, modelica_metatype _in_a_loopVar, modelica_metatype _in_a_arrayType);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__1063,2,0) {(void*) boxptr_CodegenCFunctions_fun__1063,0}};
#define boxvar_CodegenCFunctions_fun__1063 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__1063)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__1062(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_iter_exp, modelica_metatype _in_a_tmpVarDecls, modelica_metatype _in_a_identType, modelica_metatype *out_out_a_tmpVarDecls);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__1062,2,0) {(void*) boxptr_CodegenCFunctions_fun__1062,0}};
#define boxvar_CodegenCFunctions_fun__1062 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__1062)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__1061(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_iter_exp, modelica_metatype _in_a_tmpVarDecls, modelica_metatype _in_a_identType, modelica_metatype *out_out_a_tmpVarDecls);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__1061,2,0) {(void*) boxptr_CodegenCFunctions_fun__1061,0}};
#define boxvar_CodegenCFunctions_fun__1061 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__1061)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__1060(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_iter_exp, modelica_metatype _in_a_iteratorName);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__1060,2,0) {(void*) boxptr_CodegenCFunctions_fun__1060,0}};
#define boxvar_CodegenCFunctions_fun__1060 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__1060)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__1059(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_ri_path, modelica_metatype _in_a_foundFirst, modelica_metatype _in_a_auxFunction, modelica_metatype _in_a_tmpVarDecls, modelica_metatype _in_a_bodyExpPre, modelica_metatype _in_a_context, modelica_metatype _in_a_ri_foldExp, modelica_metatype _in_a_arrayTypeResult, modelica_metatype _in_a_varDecls, modelica_metatype _in_a_arrIndex, modelica_metatype _in_a_r_expr, modelica_metatype _in_a_res, modelica_metatype _in_a_reductionBodyExpr, modelica_metatype _in_a_resTail, modelica_metatype *out_out_a_auxFunction, modelica_metatype *out_out_a_tmpVarDecls, modelica_metatype *out_out_a_bodyExpPre, modelica_metatype *out_out_a_varDecls);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__1059,2,0) {(void*) boxptr_CodegenCFunctions_fun__1059,0}};
#define boxvar_CodegenCFunctions_fun__1059 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__1059)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__1058(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_ri_foldExp, modelica_metatype _in_a_reductionBodyExpr, modelica_metatype _in_a_res, modelica_metatype _in_a_foundFirst, modelica_metatype _in_a_auxFunction, modelica_metatype _in_a_tmpVarDecls, modelica_metatype _in_a_bodyExpPre, modelica_metatype _in_a_context, modelica_metatype *out_out_a_auxFunction, modelica_metatype *out_out_a_tmpVarDecls, modelica_metatype *out_out_a_bodyExpPre);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__1058,2,0) {(void*) boxptr_CodegenCFunctions_fun__1058,0}};
#define boxvar_CodegenCFunctions_fun__1058 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__1058)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__1057(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_foundFirst, modelica_metatype _in_a_reductionBodyExpr, modelica_metatype _in_a_fExpStr, modelica_metatype _in_a_res);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__1057,2,0) {(void*) boxptr_CodegenCFunctions_fun__1057,0}};
#define boxvar_CodegenCFunctions_fun__1057 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__1057)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__1056(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_mArg, modelica_metatype _in_a_arrayTypeResult, modelica_metatype _in_a_varDecls, modelica_metatype _in_a_reductionBodyExpr, modelica_metatype _in_a_arrIndex, modelica_metatype _in_a_res, modelica_metatype *out_out_a_varDecls);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__1056,2,0) {(void*) boxptr_CodegenCFunctions_fun__1056,0}};
#define boxvar_CodegenCFunctions_fun__1056 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__1056)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_lm__1055(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_items);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_lm__1055,2,0) {(void*) boxptr_CodegenCFunctions_lm__1055,0}};
#define boxvar_CodegenCFunctions_lm__1055 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_lm__1055)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__1054(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_ri_path, modelica_metatype _in_a_auxFunction, modelica_metatype _in_a_tmpVarDecls, modelica_metatype _in_a_preDefault, modelica_metatype _in_a_context, modelica_metatype _in_a_ri_defaultValue, modelica_metatype *out_out_a_auxFunction, modelica_metatype *out_out_a_tmpVarDecls, modelica_metatype *out_out_a_preDefault);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__1054,2,0) {(void*) boxptr_CodegenCFunctions_fun__1054,0}};
#define boxvar_CodegenCFunctions_fun__1054 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__1054)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__1053(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_ri_defaultValue, modelica_metatype _in_a_auxFunction, modelica_metatype _in_a_tmpVarDecls, modelica_metatype _in_a_preDefault, modelica_metatype _in_a_context, modelica_metatype *out_out_a_auxFunction, modelica_metatype *out_out_a_tmpVarDecls, modelica_metatype *out_out_a_preDefault);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__1053,2,0) {(void*) boxptr_CodegenCFunctions_fun__1053,0}};
#define boxvar_CodegenCFunctions_fun__1053 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__1053)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__1052(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_ri_path, modelica_metatype _in_a_tmpVarDecls, modelica_metatype *out_out_a_tmpVarDecls);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__1052,2,0) {(void*) boxptr_CodegenCFunctions_fun__1052,0}};
#define boxvar_CodegenCFunctions_fun__1052 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__1052)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__1051(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_ri_path, modelica_metatype _in_a_tmpVarDecls, modelica_metatype _in_a_ri_defaultValue, modelica_metatype *out_out_a_tmpVarDecls);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__1051,2,0) {(void*) boxptr_CodegenCFunctions_fun__1051,0}};
#define boxvar_CodegenCFunctions_fun__1051 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__1051)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__1050(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_ri_defaultValue, modelica_metatype _in_a_tmpVarDecls, modelica_metatype *out_out_a_tmpVarDecls);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__1050,2,0) {(void*) boxptr_CodegenCFunctions_fun__1050,0}};
#define boxvar_CodegenCFunctions_fun__1050 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__1050)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__1049(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_ri_path, modelica_metatype _in_a_tmpVarDecls, modelica_metatype *out_out_a_tmpVarDecls);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__1049,2,0) {(void*) boxptr_CodegenCFunctions_fun__1049,0}};
#define boxvar_CodegenCFunctions_fun__1049 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__1049)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__1044(threadData_t *threadData, modelica_metatype _in_txt, modelica_string _in_mArg, modelica_metatype _in_a_inExp, modelica_metatype _in_a_context, modelica_metatype _in_a_preExp, modelica_metatype _in_a_varDecls, modelica_metatype _in_a_auxFunction, modelica_metatype *out_out_a_preExp, modelica_metatype *out_out_a_varDecls, modelica_metatype *out_out_a_auxFunction);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__1044,2,0) {(void*) boxptr_CodegenCFunctions_fun__1044,0}};
#define boxvar_CodegenCFunctions_fun__1044 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__1044)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__1043(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_inExp, modelica_metatype _in_a_auxFunction, modelica_metatype _in_a_preExp, modelica_metatype _in_a_context, modelica_metatype _in_a_varDecls, modelica_metatype *out_out_a_auxFunction, modelica_metatype *out_out_a_preExp, modelica_metatype *out_out_a_varDecls);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__1043,2,0) {(void*) boxptr_CodegenCFunctions_fun__1043,0}};
#define boxvar_CodegenCFunctions_fun__1043 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__1043)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__1042(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_mArg, modelica_metatype _in_a_exp, modelica_metatype _in_a_typeShort, modelica_metatype _in_a_auxFunction, modelica_metatype _in_a_varDecls, modelica_metatype _in_a_preExp, modelica_metatype _in_a_context, modelica_metatype _in_a_indexes, modelica_metatype _in_a_e, modelica_metatype _in_a_inExp, modelica_metatype *out_out_a_auxFunction, modelica_metatype *out_out_a_varDecls, modelica_metatype *out_out_a_preExp);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__1042,2,0) {(void*) boxptr_CodegenCFunctions_fun__1042,0}};
#define boxvar_CodegenCFunctions_fun__1042 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__1042)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__1041(threadData_t *threadData, modelica_metatype _in_txt, modelica_integer _in_mArg);
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__1041(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_mArg);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__1041,2,0) {(void*) boxptr_CodegenCFunctions_fun__1041,0}};
#define boxvar_CodegenCFunctions_fun__1041 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__1041)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_lm__1040(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_items, modelica_metatype _in_a_auxFunction, modelica_metatype _in_a_varDecls, modelica_metatype _in_a_preExp, modelica_metatype _in_a_context, modelica_metatype *out_out_a_auxFunction, modelica_metatype *out_out_a_varDecls, modelica_metatype *out_out_a_preExp);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_lm__1040,2,0) {(void*) boxptr_CodegenCFunctions_lm__1040,0}};
#define boxvar_CodegenCFunctions_lm__1040 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_lm__1040)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__1039(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_context, modelica_metatype _in_a_auxFunction, modelica_metatype _in_a_varDecls, modelica_metatype _in_a_preExp, modelica_metatype _in_a_subs, modelica_metatype _in_a_ecr_ty, modelica_metatype _in_a_arrName, modelica_metatype *out_out_a_auxFunction, modelica_metatype *out_out_a_varDecls, modelica_metatype *out_out_a_preExp);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__1039,2,0) {(void*) boxptr_CodegenCFunctions_fun__1039,0}};
#define boxvar_CodegenCFunctions_fun__1039 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__1039)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_lm__1038(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_items, modelica_metatype _in_a_res, modelica_metatype _in_a_auxFunction, modelica_metatype _in_a_context, modelica_metatype *out_out_a_auxFunction);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_lm__1038,2,0) {(void*) boxptr_CodegenCFunctions_lm__1038,0}};
#define boxvar_CodegenCFunctions_lm__1038 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_lm__1038)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__1037(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_inExp, modelica_metatype _in_a_auxFunction, modelica_metatype _in_a_varDecls, modelica_metatype _in_a_preExp, modelica_metatype _in_a_context, modelica_metatype *out_out_a_auxFunction, modelica_metatype *out_out_a_varDecls, modelica_metatype *out_out_a_preExp);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__1037,2,0) {(void*) boxptr_CodegenCFunctions_fun__1037,0}};
#define boxvar_CodegenCFunctions_fun__1037 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__1037)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__1034(threadData_t *threadData, modelica_metatype _in_txt, modelica_boolean _in_mArg, modelica_metatype _in_a_v);
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__1034(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_mArg, modelica_metatype _in_a_v);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__1034,2,0) {(void*) boxptr_CodegenCFunctions_fun__1034,0}};
#define boxvar_CodegenCFunctions_fun__1034 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__1034)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_lm__1033(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_items, modelica_metatype _in_a_v, modelica_integer _in_a_ix);
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_lm__1033(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_items, modelica_metatype _in_a_v, modelica_metatype _in_a_ix);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_lm__1033,2,0) {(void*) boxptr_CodegenCFunctions_lm__1033,0}};
#define boxvar_CodegenCFunctions_lm__1033 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_lm__1033)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__1032(threadData_t *threadData, modelica_metatype _in_txt, modelica_boolean _in_mArg, modelica_metatype _in_a_v);
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__1032(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_mArg, modelica_metatype _in_a_v);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__1032,2,0) {(void*) boxptr_CodegenCFunctions_fun__1032,0}};
#define boxvar_CodegenCFunctions_fun__1032 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__1032)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__1030(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_ty, modelica_metatype _in_a_preExp, modelica_metatype _in_a_exp, modelica_metatype _in_a_varDecls, modelica_metatype _in_a_expVar, modelica_metatype _in_a_context, modelica_metatype *out_out_a_preExp, modelica_metatype *out_out_a_varDecls);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__1030,2,0) {(void*) boxptr_CodegenCFunctions_fun__1030,0}};
#define boxvar_CodegenCFunctions_fun__1030 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__1030)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__1029(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_mArg, modelica_metatype _in_a_expVar, modelica_metatype _in_a_exp, modelica_metatype _in_a_ty1_varLst);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__1029,2,0) {(void*) boxptr_CodegenCFunctions_fun__1029,0}};
#define boxvar_CodegenCFunctions_fun__1029 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__1029)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__1028(threadData_t *threadData, modelica_metatype _in_txt, modelica_boolean _in_mArg, modelica_metatype _in_a_expVar, modelica_metatype _in_a_exp);
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__1028(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_mArg, modelica_metatype _in_a_expVar, modelica_metatype _in_a_exp);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__1028,2,0) {(void*) boxptr_CodegenCFunctions_fun__1028,0}};
#define boxvar_CodegenCFunctions_fun__1028 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__1028)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__1026(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_step, modelica_metatype _in_a_auxFunction, modelica_metatype _in_a_varDecls, modelica_metatype _in_a_preExp, modelica_metatype _in_a_context, modelica_metatype *out_out_a_auxFunction, modelica_metatype *out_out_a_varDecls, modelica_metatype *out_out_a_preExp);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__1026,2,0) {(void*) boxptr_CodegenCFunctions_fun__1026,0}};
#define boxvar_CodegenCFunctions_fun__1026 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__1026)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_lm__1024(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_items, modelica_metatype _in_a_varLstStr, modelica_string _in_a_arrayTypeStr, modelica_metatype _in_a_auxFunction, modelica_metatype _in_a_varDecls, modelica_metatype _in_a_preExp, modelica_metatype _in_a_context, modelica_metatype *out_out_a_varLstStr, modelica_metatype *out_out_a_auxFunction, modelica_metatype *out_out_a_varDecls, modelica_metatype *out_out_a_preExp);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_lm__1024,2,0) {(void*) boxptr_CodegenCFunctions_lm__1024,0}};
#define boxvar_CodegenCFunctions_lm__1024 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_lm__1024)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__1022(threadData_t *threadData, modelica_metatype _in_txt, modelica_string _in_mArg, modelica_metatype _in_a_typeStr, modelica_metatype _in_a_auxFunction, modelica_metatype _in_a_preExp, modelica_metatype _in_a_context, modelica_metatype _in_a_m_matrix, modelica_metatype _in_a_varDecls, modelica_metatype _in_a_arrayTypeStr, modelica_metatype *out_out_a_auxFunction, modelica_metatype *out_out_a_preExp, modelica_metatype *out_out_a_varDecls);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__1022,2,0) {(void*) boxptr_CodegenCFunctions_fun__1022,0}};
#define boxvar_CodegenCFunctions_fun__1022 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__1022)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_lm__1021(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_items, modelica_metatype _in_a_vars2, modelica_metatype _in_a_auxFunction, modelica_metatype _in_a_promote, modelica_metatype _in_a_context, modelica_metatype _in_a_varDecls, modelica_metatype _in_a_arrayTypeStr, modelica_metatype *out_out_a_vars2, modelica_metatype *out_out_a_auxFunction, modelica_metatype *out_out_a_promote, modelica_metatype *out_out_a_varDecls);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_lm__1021,2,0) {(void*) boxptr_CodegenCFunctions_lm__1021,0}};
#define boxvar_CodegenCFunctions_lm__1021 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_lm__1021)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_lm__1020(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_items, modelica_metatype _in_a_tmp, modelica_metatype _in_a_typeStr, modelica_metatype _in_a_auxFunction, modelica_metatype _in_a_varDecls, modelica_metatype _in_a_preExp, modelica_metatype _in_a_context, modelica_metatype *out_out_a_auxFunction, modelica_metatype *out_out_a_varDecls, modelica_metatype *out_out_a_preExp);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_lm__1020,2,0) {(void*) boxptr_CodegenCFunctions_lm__1020,0}};
#define boxvar_CodegenCFunctions_lm__1020 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_lm__1020)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_lm__1019(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_items, modelica_metatype _in_a_tmp, modelica_integer _in_a_i0, modelica_metatype _in_a_typeStr, modelica_metatype _in_a_auxFunction, modelica_metatype _in_a_varDecls, modelica_metatype _in_a_preExp, modelica_metatype _in_a_context, modelica_metatype *out_out_a_auxFunction, modelica_metatype *out_out_a_varDecls, modelica_metatype *out_out_a_preExp);
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_lm__1019(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_items, modelica_metatype _in_a_tmp, modelica_metatype _in_a_i0, modelica_metatype _in_a_typeStr, modelica_metatype _in_a_auxFunction, modelica_metatype _in_a_varDecls, modelica_metatype _in_a_preExp, modelica_metatype _in_a_context, modelica_metatype *out_out_a_auxFunction, modelica_metatype *out_out_a_varDecls, modelica_metatype *out_out_a_preExp);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_lm__1019,2,0) {(void*) boxptr_CodegenCFunctions_lm__1019,0}};
#define boxvar_CodegenCFunctions_lm__1019 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_lm__1019)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_lm__1018(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_items, modelica_metatype _in_a_tmp, modelica_metatype _in_a_typeStr, modelica_metatype _in_a_auxFunction, modelica_metatype _in_a_varDecls, modelica_metatype _in_a_preExp, modelica_metatype _in_a_context, modelica_metatype *out_out_a_auxFunction, modelica_metatype *out_out_a_varDecls, modelica_metatype *out_out_a_preExp);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_lm__1018,2,0) {(void*) boxptr_CodegenCFunctions_lm__1018,0}};
#define boxvar_CodegenCFunctions_lm__1018 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_lm__1018)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_lm__1017(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_items, modelica_metatype _in_a_tmp, modelica_integer _in_a_i0, modelica_metatype _in_a_typeStr, modelica_metatype _in_a_auxFunction, modelica_metatype _in_a_varDecls, modelica_metatype _in_a_preExp, modelica_metatype _in_a_context, modelica_metatype *out_out_a_auxFunction, modelica_metatype *out_out_a_varDecls, modelica_metatype *out_out_a_preExp);
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_lm__1017(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_items, modelica_metatype _in_a_tmp, modelica_metatype _in_a_i0, modelica_metatype _in_a_typeStr, modelica_metatype _in_a_auxFunction, modelica_metatype _in_a_varDecls, modelica_metatype _in_a_preExp, modelica_metatype _in_a_context, modelica_metatype *out_out_a_auxFunction, modelica_metatype *out_out_a_varDecls, modelica_metatype *out_out_a_preExp);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_lm__1017,2,0) {(void*) boxptr_CodegenCFunctions_lm__1017,0}};
#define boxvar_CodegenCFunctions_lm__1017 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_lm__1017)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_lm__1016(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_items, modelica_metatype _in_a_tmp, modelica_metatype _in_a_typeStr, modelica_metatype _in_a_auxFunction, modelica_metatype _in_a_varDecls, modelica_metatype _in_a_preExp, modelica_metatype _in_a_context, modelica_metatype *out_out_a_auxFunction, modelica_metatype *out_out_a_varDecls, modelica_metatype *out_out_a_preExp);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_lm__1016,2,0) {(void*) boxptr_CodegenCFunctions_lm__1016,0}};
#define boxvar_CodegenCFunctions_lm__1016 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_lm__1016)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_lm__1015(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_items, modelica_metatype _in_a_tmp, modelica_integer _in_a_i0, modelica_metatype _in_a_typeStr, modelica_metatype _in_a_auxFunction, modelica_metatype _in_a_varDecls, modelica_metatype _in_a_preExp, modelica_metatype _in_a_context, modelica_metatype *out_out_a_auxFunction, modelica_metatype *out_out_a_varDecls, modelica_metatype *out_out_a_preExp);
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_lm__1015(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_items, modelica_metatype _in_a_tmp, modelica_metatype _in_a_i0, modelica_metatype _in_a_typeStr, modelica_metatype _in_a_auxFunction, modelica_metatype _in_a_varDecls, modelica_metatype _in_a_preExp, modelica_metatype _in_a_context, modelica_metatype *out_out_a_auxFunction, modelica_metatype *out_out_a_varDecls, modelica_metatype *out_out_a_preExp);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_lm__1015,2,0) {(void*) boxptr_CodegenCFunctions_lm__1015,0}};
#define boxvar_CodegenCFunctions_lm__1015 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_lm__1015)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__1013(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_params);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__1013,2,0) {(void*) boxptr_CodegenCFunctions_fun__1013,0}};
#define boxvar_CodegenCFunctions_fun__1013 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__1013)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_lm__1012(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_items, modelica_metatype _in_a_auxFunction, modelica_metatype _in_a_varDecls, modelica_metatype _in_a_preExp, modelica_metatype _in_a_context, modelica_boolean _in_a_scalar, modelica_metatype *out_out_a_auxFunction, modelica_metatype *out_out_a_varDecls, modelica_metatype *out_out_a_preExp);
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_lm__1012(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_items, modelica_metatype _in_a_auxFunction, modelica_metatype _in_a_varDecls, modelica_metatype _in_a_preExp, modelica_metatype _in_a_context, modelica_metatype _in_a_scalar, modelica_metatype *out_out_a_auxFunction, modelica_metatype *out_out_a_varDecls, modelica_metatype *out_out_a_preExp);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_lm__1012,2,0) {(void*) boxptr_CodegenCFunctions_lm__1012,0}};
#define boxvar_CodegenCFunctions_lm__1012 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_lm__1012)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__1011(threadData_t *threadData, modelica_metatype _in_txt, modelica_boolean _in_a_scalar, modelica_metatype _in_a_e);
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__1011(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_scalar, modelica_metatype _in_a_e);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__1011,2,0) {(void*) boxptr_CodegenCFunctions_fun__1011,0}};
#define boxvar_CodegenCFunctions_fun__1011 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__1011)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__1010(threadData_t *threadData, modelica_metatype _in_txt, modelica_boolean _in_a_scalar);
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__1010(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_scalar);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__1010,2,0) {(void*) boxptr_CodegenCFunctions_fun__1010,0}};
#define boxvar_CodegenCFunctions_fun__1010 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__1010)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__1009(threadData_t *threadData, modelica_metatype _in_txt, modelica_boolean _in_a_scalar);
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__1009(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_scalar);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__1009,2,0) {(void*) boxptr_CodegenCFunctions_fun__1009,0}};
#define boxvar_CodegenCFunctions_fun__1009 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__1009)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_lm__1008(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_items, modelica_metatype _in_a_arrayVar, modelica_metatype _in_a_rec__name, modelica_metatype _in_a_auxFunction, modelica_metatype _in_a_varDecls, modelica_metatype _in_a_preExp, modelica_metatype _in_a_context, modelica_boolean _in_a_scalar, modelica_metatype *out_out_a_auxFunction, modelica_metatype *out_out_a_varDecls, modelica_metatype *out_out_a_preExp);
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_lm__1008(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_items, modelica_metatype _in_a_arrayVar, modelica_metatype _in_a_rec__name, modelica_metatype _in_a_auxFunction, modelica_metatype _in_a_varDecls, modelica_metatype _in_a_preExp, modelica_metatype _in_a_context, modelica_metatype _in_a_scalar, modelica_metatype *out_out_a_auxFunction, modelica_metatype *out_out_a_varDecls, modelica_metatype *out_out_a_preExp);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_lm__1008,2,0) {(void*) boxptr_CodegenCFunctions_lm__1008,0}};
#define boxvar_CodegenCFunctions_lm__1008 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_lm__1008)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__1007(threadData_t *threadData, modelica_metatype _in_txt, modelica_boolean _in_a_scalar);
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__1007(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_scalar);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__1007,2,0) {(void*) boxptr_CodegenCFunctions_fun__1007,0}};
#define boxvar_CodegenCFunctions_fun__1007 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__1007)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__1005(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_vs, modelica_metatype _in_a_postExp, modelica_metatype _in_a_erest, modelica_metatype _in_a_auxFunction, modelica_metatype _in_a_varDecls, modelica_metatype _in_a_preExp, modelica_metatype _in_a_context, modelica_metatype _in_a_e, modelica_metatype *out_out_a_postExp, modelica_metatype *out_out_a_auxFunction, modelica_metatype *out_out_a_varDecls, modelica_metatype *out_out_a_preExp);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__1005,2,0) {(void*) boxptr_CodegenCFunctions_fun__1005,0}};
#define boxvar_CodegenCFunctions_fun__1005 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__1005)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__1004(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_e, modelica_metatype _in_a_auxFunction, modelica_metatype _in_a_varDecls, modelica_metatype _in_a_postExp, modelica_metatype _in_a_preExp, modelica_metatype _in_a_context, modelica_metatype _in_a_vrest, modelica_metatype _in_a_erest, modelica_metatype _in_a_exp, modelica_string _in_a_v, modelica_metatype *out_out_a_auxFunction, modelica_metatype *out_out_a_varDecls, modelica_metatype *out_out_a_postExp, modelica_metatype *out_out_a_preExp);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__1004,2,0) {(void*) boxptr_CodegenCFunctions_fun__1004,0}};
#define boxvar_CodegenCFunctions_fun__1004 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__1004)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__1003(threadData_t *threadData, modelica_metatype _in_txt, modelica_boolean _in_mArg, modelica_metatype _in_a_e, modelica_metatype _in_a_exp, modelica_string _in_a_v, modelica_metatype _in_a_auxFunction, modelica_metatype _in_a_varDecls, modelica_metatype _in_a_postExp, modelica_metatype _in_a_preExp, modelica_metatype _in_a_context, modelica_metatype _in_a_vrest, modelica_metatype _in_a_erest, modelica_metatype *out_out_a_auxFunction, modelica_metatype *out_out_a_varDecls, modelica_metatype *out_out_a_postExp, modelica_metatype *out_out_a_preExp);
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__1003(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_mArg, modelica_metatype _in_a_e, modelica_metatype _in_a_exp, modelica_metatype _in_a_v, modelica_metatype _in_a_auxFunction, modelica_metatype _in_a_varDecls, modelica_metatype _in_a_postExp, modelica_metatype _in_a_preExp, modelica_metatype _in_a_context, modelica_metatype _in_a_vrest, modelica_metatype _in_a_erest, modelica_metatype *out_out_a_auxFunction, modelica_metatype *out_out_a_varDecls, modelica_metatype *out_out_a_postExp, modelica_metatype *out_out_a_preExp);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__1003,2,0) {(void*) boxptr_CodegenCFunctions_fun__1003,0}};
#define boxvar_CodegenCFunctions_fun__1003 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__1003)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__1002(threadData_t *threadData, modelica_metatype _in_txt, modelica_boolean _in_mArg, modelica_metatype _in_a_restText, modelica_metatype _in_a_exp, modelica_metatype _in_a_v2);
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__1002(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_mArg, modelica_metatype _in_a_restText, modelica_metatype _in_a_exp, modelica_metatype _in_a_v2);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__1002,2,0) {(void*) boxptr_CodegenCFunctions_fun__1002,0}};
#define boxvar_CodegenCFunctions_fun__1002 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__1002)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__1001(threadData_t *threadData, modelica_metatype _in_txt, modelica_boolean _in_mArg, modelica_metatype _in_a_auxFunction, modelica_metatype _in_a_varDecls, modelica_metatype _in_a_postExp, modelica_metatype _in_a_preExp, modelica_metatype _in_a_context, modelica_metatype _in_a_vrest, modelica_metatype _in_a_erest, modelica_metatype _in_a_exp, modelica_string _in_a_v, modelica_metatype *out_out_a_auxFunction, modelica_metatype *out_out_a_varDecls, modelica_metatype *out_out_a_postExp, modelica_metatype *out_out_a_preExp);
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__1001(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_mArg, modelica_metatype _in_a_auxFunction, modelica_metatype _in_a_varDecls, modelica_metatype _in_a_postExp, modelica_metatype _in_a_preExp, modelica_metatype _in_a_context, modelica_metatype _in_a_vrest, modelica_metatype _in_a_erest, modelica_metatype _in_a_exp, modelica_metatype _in_a_v, modelica_metatype *out_out_a_auxFunction, modelica_metatype *out_out_a_varDecls, modelica_metatype *out_out_a_postExp, modelica_metatype *out_out_a_preExp);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__1001,2,0) {(void*) boxptr_CodegenCFunctions_fun__1001,0}};
#define boxvar_CodegenCFunctions_fun__1001 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__1001)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__999(threadData_t *threadData, modelica_metatype _in_txt, modelica_boolean _in_mArg);
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__999(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_mArg);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__999,2,0) {(void*) boxptr_CodegenCFunctions_fun__999,0}};
#define boxvar_CodegenCFunctions_fun__999 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__999)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__998(threadData_t *threadData, modelica_metatype _in_txt, modelica_boolean _in_a_isClosure);
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__998(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_isClosure);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__998,2,0) {(void*) boxptr_CodegenCFunctions_fun__998,0}};
#define boxvar_CodegenCFunctions_fun__998 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__998)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__997(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_ty);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__997,2,0) {(void*) boxptr_CodegenCFunctions_fun__997,0}};
#define boxvar_CodegenCFunctions_fun__997 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__997)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_lm__996(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_items);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_lm__996,2,0) {(void*) boxptr_CodegenCFunctions_lm__996,0}};
#define boxvar_CodegenCFunctions_lm__996 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_lm__996)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__995(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_ty);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__995,2,0) {(void*) boxptr_CodegenCFunctions_fun__995,0}};
#define boxvar_CodegenCFunctions_fun__995 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__995)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_lm__994(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_items);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_lm__994,2,0) {(void*) boxptr_CodegenCFunctions_lm__994,0}};
#define boxvar_CodegenCFunctions_lm__994 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_lm__994)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__993(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_ty);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__993,2,0) {(void*) boxptr_CodegenCFunctions_fun__993,0}};
#define boxvar_CodegenCFunctions_fun__993 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__993)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__991(threadData_t *threadData, modelica_metatype _in_txt, modelica_boolean _in_mArg);
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__991(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_mArg);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__991,2,0) {(void*) boxptr_CodegenCFunctions_fun__991,0}};
#define boxvar_CodegenCFunctions_fun__991 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__991)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__990(threadData_t *threadData, modelica_metatype _in_txt, modelica_boolean _in_a_isClosure);
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__990(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_isClosure);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__990,2,0) {(void*) boxptr_CodegenCFunctions_fun__990,0}};
#define boxvar_CodegenCFunctions_fun__990 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__990)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__989(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_ty);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__989,2,0) {(void*) boxptr_CodegenCFunctions_fun__989,0}};
#define boxvar_CodegenCFunctions_fun__989 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__989)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_lm__988(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_items);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_lm__988,2,0) {(void*) boxptr_CodegenCFunctions_lm__988,0}};
#define boxvar_CodegenCFunctions_lm__988 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_lm__988)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_lm__987(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_items);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_lm__987,2,0) {(void*) boxptr_CodegenCFunctions_lm__987,0}};
#define boxvar_CodegenCFunctions_lm__987 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_lm__987)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__986(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_ty);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__986,2,0) {(void*) boxptr_CodegenCFunctions_fun__986,0}};
#define boxvar_CodegenCFunctions_fun__986 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__986)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__984(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_call, modelica_metatype _in_a_additionalOutputs, modelica_metatype _in_a_context, modelica_metatype _in_a_preExp, modelica_metatype _in_a_varDecls, modelica_metatype _in_a_auxFunction, modelica_metatype *out_out_a_preExp, modelica_metatype *out_out_a_varDecls, modelica_metatype *out_out_a_auxFunction);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__984,2,0) {(void*) boxptr_CodegenCFunctions_fun__984,0}};
#define boxvar_CodegenCFunctions_fun__984 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__984)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__983(threadData_t *threadData, modelica_metatype _in_txt, modelica_boolean _in_a_attr_isFunctionPointerCall, modelica_metatype _in_a_auxFunction, modelica_metatype _in_a_varDecls, modelica_metatype _in_a_preExp, modelica_metatype _in_a_context, modelica_metatype _in_a_expLst, modelica_metatype _in_a_attr_ty, modelica_metatype _in_a_additionalOutputs, modelica_metatype _in_a_argStr, modelica_metatype _in_a_path, modelica_boolean _in_a_attr_builtin, modelica_metatype *out_out_a_auxFunction, modelica_metatype *out_out_a_varDecls, modelica_metatype *out_out_a_preExp);
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__983(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_attr_isFunctionPointerCall, modelica_metatype _in_a_auxFunction, modelica_metatype _in_a_varDecls, modelica_metatype _in_a_preExp, modelica_metatype _in_a_context, modelica_metatype _in_a_expLst, modelica_metatype _in_a_attr_ty, modelica_metatype _in_a_additionalOutputs, modelica_metatype _in_a_argStr, modelica_metatype _in_a_path, modelica_metatype _in_a_attr_builtin, modelica_metatype *out_out_a_auxFunction, modelica_metatype *out_out_a_varDecls, modelica_metatype *out_out_a_preExp);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__983,2,0) {(void*) boxptr_CodegenCFunctions_fun__983,0}};
#define boxvar_CodegenCFunctions_fun__983 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__983)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_lm__982(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_items, modelica_metatype _in_a_auxFunction, modelica_metatype _in_a_varDecls, modelica_metatype _in_a_preExp, modelica_metatype _in_a_context, modelica_metatype *out_out_a_auxFunction, modelica_metatype *out_out_a_varDecls, modelica_metatype *out_out_a_preExp);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_lm__982,2,0) {(void*) boxptr_CodegenCFunctions_lm__982,0}};
#define boxvar_CodegenCFunctions_lm__982 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_lm__982)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__981(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_path, modelica_metatype _in_a_auxFunction, modelica_metatype _in_a_varDecls, modelica_metatype _in_a_preExp, modelica_metatype _in_a_context, modelica_metatype *out_out_a_auxFunction, modelica_metatype *out_out_a_varDecls, modelica_metatype *out_out_a_preExp);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__981,2,0) {(void*) boxptr_CodegenCFunctions_fun__981,0}};
#define boxvar_CodegenCFunctions_fun__981 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__981)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__980(threadData_t *threadData, modelica_metatype _in_txt, modelica_boolean _in_a_attr_builtin);
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__980(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_attr_builtin);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__980,2,0) {(void*) boxptr_CodegenCFunctions_fun__980,0}};
#define boxvar_CodegenCFunctions_fun__980 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__980)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__979(threadData_t *threadData, modelica_metatype _in_txt, modelica_boolean _in_mArg, modelica_metatype _in_a_auxFunction, modelica_metatype _in_a_varDecls, modelica_metatype _in_a_preExp, modelica_metatype _in_a_context, modelica_metatype _in_a_expLst, modelica_metatype *out_out_a_auxFunction, modelica_metatype *out_out_a_varDecls, modelica_metatype *out_out_a_preExp);
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__979(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_mArg, modelica_metatype _in_a_auxFunction, modelica_metatype _in_a_varDecls, modelica_metatype _in_a_preExp, modelica_metatype _in_a_context, modelica_metatype _in_a_expLst, modelica_metatype *out_out_a_auxFunction, modelica_metatype *out_out_a_varDecls, modelica_metatype *out_out_a_preExp);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__979,2,0) {(void*) boxptr_CodegenCFunctions_fun__979,0}};
#define boxvar_CodegenCFunctions_fun__979 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__979)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_lm__978(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_items, modelica_metatype _in_a_auxFunction, modelica_metatype _in_a_varDecls, modelica_metatype _in_a_preExp, modelica_metatype _in_a_context, modelica_metatype *out_out_a_auxFunction, modelica_metatype *out_out_a_varDecls, modelica_metatype *out_out_a_preExp);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_lm__978,2,0) {(void*) boxptr_CodegenCFunctions_lm__978,0}};
#define boxvar_CodegenCFunctions_lm__978 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_lm__978)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_lm__977(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_items, modelica_metatype _in_a_auxFunction, modelica_metatype _in_a_varDecls, modelica_metatype _in_a_preExp, modelica_metatype _in_a_context, modelica_metatype *out_out_a_auxFunction, modelica_metatype *out_out_a_varDecls, modelica_metatype *out_out_a_preExp);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_lm__977,2,0) {(void*) boxptr_CodegenCFunctions_lm__977,0}};
#define boxvar_CodegenCFunctions_lm__977 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_lm__977)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__975(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_context, modelica_metatype _in_a_preExp, modelica_metatype _in_a_varDecls, modelica_metatype _in_a_attr_ty, modelica_metatype _in_a_exp_path, modelica_boolean _in_a_attr_builtin, modelica_metatype _in_a_res, modelica_metatype *out_out_a_preExp, modelica_metatype *out_out_a_varDecls);
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__975(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_context, modelica_metatype _in_a_preExp, modelica_metatype _in_a_varDecls, modelica_metatype _in_a_attr_ty, modelica_metatype _in_a_exp_path, modelica_metatype _in_a_attr_builtin, modelica_metatype _in_a_res, modelica_metatype *out_out_a_preExp, modelica_metatype *out_out_a_varDecls);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__975,2,0) {(void*) boxptr_CodegenCFunctions_fun__975,0}};
#define boxvar_CodegenCFunctions_fun__975 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__975)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__974(threadData_t *threadData, modelica_metatype _in_txt, modelica_boolean _in_mArg, modelica_metatype _in_a_preExp, modelica_metatype _in_a_varDecls, modelica_metatype _in_a_attr_ty, modelica_metatype _in_a_exp_path, modelica_metatype _in_a_res, modelica_metatype *out_out_a_preExp, modelica_metatype *out_out_a_varDecls);
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__974(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_mArg, modelica_metatype _in_a_preExp, modelica_metatype _in_a_varDecls, modelica_metatype _in_a_attr_ty, modelica_metatype _in_a_exp_path, modelica_metatype _in_a_res, modelica_metatype *out_out_a_preExp, modelica_metatype *out_out_a_varDecls);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__974,2,0) {(void*) boxptr_CodegenCFunctions_fun__974,0}};
#define boxvar_CodegenCFunctions_fun__974 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__974)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__973(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_tvar, modelica_metatype _in_a_res);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__973,2,0) {(void*) boxptr_CodegenCFunctions_fun__973,0}};
#define boxvar_CodegenCFunctions_fun__973 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__973)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__972(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_attr_ty, modelica_metatype _in_a_preExp, modelica_metatype _in_a_varDecls, modelica_metatype *out_out_a_preExp, modelica_metatype *out_out_a_varDecls);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__972,2,0) {(void*) boxptr_CodegenCFunctions_fun__972,0}};
#define boxvar_CodegenCFunctions_fun__972 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__972)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__971(threadData_t *threadData, modelica_metatype _in_txt, modelica_boolean _in_mArg, modelica_metatype _in_a_tvar2);
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__971(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_mArg, modelica_metatype _in_a_tvar2);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__971,2,0) {(void*) boxptr_CodegenCFunctions_fun__971,0}};
#define boxvar_CodegenCFunctions_fun__971 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__971)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__970(threadData_t *threadData, modelica_metatype _in_txt, modelica_boolean _in_mArg, modelica_metatype _in_a_tvar2);
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__970(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_mArg, modelica_metatype _in_a_tvar2);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__970,2,0) {(void*) boxptr_CodegenCFunctions_fun__970,0}};
#define boxvar_CodegenCFunctions_fun__970 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__970)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__969(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_attr_ty);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__969,2,0) {(void*) boxptr_CodegenCFunctions_fun__969,0}};
#define boxvar_CodegenCFunctions_fun__969 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__969)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_lm__968(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_items);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_lm__968,2,0) {(void*) boxptr_CodegenCFunctions_lm__968,0}};
#define boxvar_CodegenCFunctions_lm__968 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_lm__968)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__967(threadData_t *threadData, modelica_metatype _in_txt, modelica_string _in_a_name);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__967,2,0) {(void*) boxptr_CodegenCFunctions_fun__967,0}};
#define boxvar_CodegenCFunctions_fun__967 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__967)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__966(threadData_t *threadData, modelica_metatype _in_txt, modelica_string _in_a_name);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__966,2,0) {(void*) boxptr_CodegenCFunctions_fun__966,0}};
#define boxvar_CodegenCFunctions_fun__966 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__966)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__965(threadData_t *threadData, modelica_metatype _in_txt, modelica_string _in_a_name);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__965,2,0) {(void*) boxptr_CodegenCFunctions_fun__965,0}};
#define boxvar_CodegenCFunctions_fun__965 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__965)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__964(threadData_t *threadData, modelica_metatype _in_txt, modelica_string _in_a_name);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__964,2,0) {(void*) boxptr_CodegenCFunctions_fun__964,0}};
#define boxvar_CodegenCFunctions_fun__964 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__964)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__963(threadData_t *threadData, modelica_metatype _in_txt, modelica_string _in_a_name);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__963,2,0) {(void*) boxptr_CodegenCFunctions_fun__963,0}};
#define boxvar_CodegenCFunctions_fun__963 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__963)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__962(threadData_t *threadData, modelica_metatype _in_txt, modelica_string _in_a_name);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__962,2,0) {(void*) boxptr_CodegenCFunctions_fun__962,0}};
#define boxvar_CodegenCFunctions_fun__962 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__962)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__961(threadData_t *threadData, modelica_metatype _in_txt, modelica_string _in_mArg, modelica_integer _in_a_index);
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__961(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_mArg, modelica_metatype _in_a_index);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__961,2,0) {(void*) boxptr_CodegenCFunctions_fun__961,0}};
#define boxvar_CodegenCFunctions_fun__961 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__961)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__960(threadData_t *threadData, modelica_metatype _in_txt, modelica_string _in_mArg, modelica_metatype _in_a_enumStr, modelica_metatype _in_a_leftjustExp, modelica_metatype _in_a_minlenExp, modelica_metatype _in_a_sExp, modelica_metatype _in_a_typeStr, modelica_metatype _in_a_tvar, modelica_metatype _in_a_preExp, modelica_metatype *out_out_a_preExp);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__960,2,0) {(void*) boxptr_CodegenCFunctions_fun__960,0}};
#define boxvar_CodegenCFunctions_fun__960 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__960)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__959(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_enumStr, modelica_metatype _in_a_s);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__959,2,0) {(void*) boxptr_CodegenCFunctions_fun__959,0}};
#define boxvar_CodegenCFunctions_fun__959 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__959)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__958(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_mArg, modelica_metatype _in_a_varDecls, modelica_metatype *out_out_a_varDecls);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__958,2,0) {(void*) boxptr_CodegenCFunctions_fun__958,0}};
#define boxvar_CodegenCFunctions_fun__958 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__958)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_lm__957(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_items);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_lm__957,2,0) {(void*) boxptr_CodegenCFunctions_lm__957,0}};
#define boxvar_CodegenCFunctions_lm__957 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_lm__957)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_lm__956(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_items, modelica_metatype _in_a_auxFunction, modelica_metatype _in_a_varDecls, modelica_metatype _in_a_preExp, modelica_metatype _in_a_context, modelica_metatype *out_out_a_auxFunction, modelica_metatype *out_out_a_varDecls, modelica_metatype *out_out_a_preExp);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_lm__956,2,0) {(void*) boxptr_CodegenCFunctions_lm__956,0}};
#define boxvar_CodegenCFunctions_lm__956 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_lm__956)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_lm__955(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_items, modelica_metatype _in_a_tvarc, modelica_metatype _in_a_val);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_lm__955,2,0) {(void*) boxptr_CodegenCFunctions_lm__955,0}};
#define boxvar_CodegenCFunctions_lm__955 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_lm__955)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__954(threadData_t *threadData, modelica_metatype _in_txt, modelica_integer _in_a_sz, modelica_metatype _in_a_tvarc, modelica_integer _in_a_ix, modelica_metatype _in_a_val);
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__954(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_sz, modelica_metatype _in_a_tvarc, modelica_metatype _in_a_ix, modelica_metatype _in_a_val);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__954,2,0) {(void*) boxptr_CodegenCFunctions_fun__954,0}};
#define boxvar_CodegenCFunctions_fun__954 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__954)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_lm__953(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_items, modelica_metatype _in_a_auxFunction, modelica_metatype _in_a_varDecls, modelica_metatype _in_a_preExp, modelica_metatype _in_a_context, modelica_metatype *out_out_a_auxFunction, modelica_metatype *out_out_a_varDecls, modelica_metatype *out_out_a_preExp);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_lm__953,2,0) {(void*) boxptr_CodegenCFunctions_lm__953,0}};
#define boxvar_CodegenCFunctions_lm__953 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_lm__953)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__952(threadData_t *threadData, modelica_metatype _in_txt, modelica_boolean _in_mArg, modelica_metatype _in_a_cstr, modelica_metatype _in_a_tvar);
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__952(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_mArg, modelica_metatype _in_a_cstr, modelica_metatype _in_a_tvar);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__952,2,0) {(void*) boxptr_CodegenCFunctions_fun__952,0}};
#define boxvar_CodegenCFunctions_fun__952 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__952)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__951(threadData_t *threadData, modelica_metatype _in_txt, modelica_boolean _in_mArg, modelica_metatype _in_a_tvar, modelica_metatype _in_a_var1);
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__951(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_mArg, modelica_metatype _in_a_tvar, modelica_metatype _in_a_var1);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__951,2,0) {(void*) boxptr_CodegenCFunctions_fun__951,0}};
#define boxvar_CodegenCFunctions_fun__951 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__951)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__950(threadData_t *threadData, modelica_metatype _in_txt, modelica_boolean _in_mArg, modelica_metatype _in_a_cstr, modelica_metatype _in_a_tvar);
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__950(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_mArg, modelica_metatype _in_a_cstr, modelica_metatype _in_a_tvar);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__950,2,0) {(void*) boxptr_CodegenCFunctions_fun__950,0}};
#define boxvar_CodegenCFunctions_fun__950 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__950)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__949(threadData_t *threadData, modelica_metatype _in_txt, modelica_boolean _in_mArg, modelica_metatype _in_a_cstr, modelica_metatype _in_a_tvar);
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__949(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_mArg, modelica_metatype _in_a_cstr, modelica_metatype _in_a_tvar);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__949,2,0) {(void*) boxptr_CodegenCFunctions_fun__949,0}};
#define boxvar_CodegenCFunctions_fun__949 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__949)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__948(threadData_t *threadData, modelica_metatype _in_txt, modelica_boolean _in_mArg, modelica_metatype _in_a_cstr, modelica_metatype _in_a_tvar);
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__948(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_mArg, modelica_metatype _in_a_cstr, modelica_metatype _in_a_tvar);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__948,2,0) {(void*) boxptr_CodegenCFunctions_fun__948,0}};
#define boxvar_CodegenCFunctions_fun__948 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__948)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__947(threadData_t *threadData, modelica_metatype _in_txt, modelica_boolean _in_mArg, modelica_metatype _in_a_var2, modelica_metatype _in_a_tvar);
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__947(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_mArg, modelica_metatype _in_a_var2, modelica_metatype _in_a_tvar);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__947,2,0) {(void*) boxptr_CodegenCFunctions_fun__947,0}};
#define boxvar_CodegenCFunctions_fun__947 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__947)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__946(threadData_t *threadData, modelica_metatype _in_txt, modelica_boolean _in_mArg, modelica_metatype _in_a_var2, modelica_metatype _in_a_varDecls, modelica_metatype _in_a_tp__str, modelica_metatype *out_out_a_varDecls);
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__946(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_mArg, modelica_metatype _in_a_var2, modelica_metatype _in_a_varDecls, modelica_metatype _in_a_tp__str, modelica_metatype *out_out_a_varDecls);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__946,2,0) {(void*) boxptr_CodegenCFunctions_fun__946,0}};
#define boxvar_CodegenCFunctions_fun__946 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__946)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__945(threadData_t *threadData, modelica_metatype _in_txt, modelica_boolean _in_mArg, modelica_metatype _in_a_context, modelica_metatype _in_a_argStr, modelica_metatype _in_a_preExp, modelica_metatype _in_a_varDecls, modelica_metatype _in_a_e1, modelica_metatype *out_out_a_preExp, modelica_metatype *out_out_a_varDecls);
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__945(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_mArg, modelica_metatype _in_a_context, modelica_metatype _in_a_argStr, modelica_metatype _in_a_preExp, modelica_metatype _in_a_varDecls, modelica_metatype _in_a_e1, modelica_metatype *out_out_a_preExp, modelica_metatype *out_out_a_varDecls);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__945,2,0) {(void*) boxptr_CodegenCFunctions_fun__945,0}};
#define boxvar_CodegenCFunctions_fun__945 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__945)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__943(threadData_t *threadData, modelica_metatype _in_txt, modelica_boolean _in_mArg);
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__943(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_mArg);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__943,2,0) {(void*) boxptr_CodegenCFunctions_fun__943,0}};
#define boxvar_CodegenCFunctions_fun__943 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__943)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__942(threadData_t *threadData, modelica_metatype _in_txt, modelica_boolean _in_a_attr_isFunctionPointer, modelica_metatype _in_a_t_funcArg, modelica_metatype _in_a_orig, modelica_metatype _in_a_ret, modelica_metatype _in_a_orig_funcArg, modelica_metatype _in_a_name, modelica_metatype _in_a_return);
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__942(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_attr_isFunctionPointer, modelica_metatype _in_a_t_funcArg, modelica_metatype _in_a_orig, modelica_metatype _in_a_ret, modelica_metatype _in_a_orig_funcArg, modelica_metatype _in_a_name, modelica_metatype _in_a_return);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__942,2,0) {(void*) boxptr_CodegenCFunctions_fun__942,0}};
#define boxvar_CodegenCFunctions_fun__942 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__942)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_lm__941(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_items);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_lm__941,2,0) {(void*) boxptr_CodegenCFunctions_lm__941,0}};
#define boxvar_CodegenCFunctions_lm__941 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_lm__941)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_lm__940(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_items);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_lm__940,2,0) {(void*) boxptr_CodegenCFunctions_lm__940,0}};
#define boxvar_CodegenCFunctions_lm__940 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_lm__940)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_lm__939(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_items);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_lm__939,2,0) {(void*) boxptr_CodegenCFunctions_lm__939,0}};
#define boxvar_CodegenCFunctions_lm__939 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_lm__939)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_lm__938(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_items);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_lm__938,2,0) {(void*) boxptr_CodegenCFunctions_lm__938,0}};
#define boxvar_CodegenCFunctions_lm__938 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_lm__938)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_lm__937(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_items);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_lm__937,2,0) {(void*) boxptr_CodegenCFunctions_lm__937,0}};
#define boxvar_CodegenCFunctions_lm__937 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_lm__937)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__936(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_t_funcResultType);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__936,2,0) {(void*) boxptr_CodegenCFunctions_fun__936,0}};
#define boxvar_CodegenCFunctions_fun__936 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__936)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__935(threadData_t *threadData, modelica_metatype _in_txt, modelica_boolean _in_a_attr_isFunctionPointer, modelica_metatype _in_a_expList);
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__935(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_attr_isFunctionPointer, modelica_metatype _in_a_expList);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__935,2,0) {(void*) boxptr_CodegenCFunctions_fun__935,0}};
#define boxvar_CodegenCFunctions_fun__935 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__935)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__934(threadData_t *threadData, modelica_metatype _in_txt, modelica_boolean _in_a_attr_isFunctionPointer, modelica_metatype _in_a_name);
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__934(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_attr_isFunctionPointer, modelica_metatype _in_a_name);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__934,2,0) {(void*) boxptr_CodegenCFunctions_fun__934,0}};
#define boxvar_CodegenCFunctions_fun__934 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__934)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_lm__933(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_items, modelica_metatype _in_a_auxFunction, modelica_metatype _in_a_varDecls, modelica_metatype _in_a_preExp, modelica_metatype _in_a_context, modelica_metatype *out_out_a_auxFunction, modelica_metatype *out_out_a_varDecls, modelica_metatype *out_out_a_preExp);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_lm__933,2,0) {(void*) boxptr_CodegenCFunctions_lm__933,0}};
#define boxvar_CodegenCFunctions_lm__933 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_lm__933)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__932(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_t_funcResultType);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__932,2,0) {(void*) boxptr_CodegenCFunctions_fun__932,0}};
#define boxvar_CodegenCFunctions_fun__932 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__932)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__931(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_t_funcResultType, modelica_metatype _in_a_ret, modelica_metatype *out_out_a_ret);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__931,2,0) {(void*) boxptr_CodegenCFunctions_fun__931,0}};
#define boxvar_CodegenCFunctions_fun__931 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__931)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_lm__930(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_items, modelica_metatype _in_a_ret, modelica_metatype *out_out_a_ret);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_lm__930,2,0) {(void*) boxptr_CodegenCFunctions_lm__930,0}};
#define boxvar_CodegenCFunctions_lm__930 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_lm__930)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_lm__928(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_items, modelica_metatype _in_a_auxFunction, modelica_metatype _in_a_varDecls, modelica_metatype _in_a_preExp, modelica_metatype _in_a_context, modelica_metatype _in_a_name, modelica_metatype *out_out_a_auxFunction, modelica_metatype *out_out_a_varDecls, modelica_metatype *out_out_a_preExp);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_lm__928,2,0) {(void*) boxptr_CodegenCFunctions_lm__928,0}};
#define boxvar_CodegenCFunctions_lm__928 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_lm__928)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__926(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_ty, modelica_metatype _in_a_lhs, modelica_metatype _in_a_rhs);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__926,2,0) {(void*) boxptr_CodegenCFunctions_fun__926,0}};
#define boxvar_CodegenCFunctions_fun__926 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__926)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_lm__925(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_items, modelica_metatype _in_a_rhs, modelica_metatype _in_a_lhs);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_lm__925,2,0) {(void*) boxptr_CodegenCFunctions_lm__925,0}};
#define boxvar_CodegenCFunctions_lm__925 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_lm__925)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__922(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_shortIfExp, modelica_metatype _in_a_eElse, modelica_metatype _in_a_preExpElse, modelica_metatype _in_a_eThen, modelica_metatype _in_a_preExpThen, modelica_metatype _in_a_condExp, modelica_metatype _in_a_preExp, modelica_metatype _in_a_exp, modelica_metatype _in_a_varDecls, modelica_metatype *out_out_a_preExp, modelica_metatype *out_out_a_varDecls);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__922,2,0) {(void*) boxptr_CodegenCFunctions_fun__922,0}};
#define boxvar_CodegenCFunctions_fun__922 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__922)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__921(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_eElse, modelica_metatype _in_a_resVar, modelica_metatype _in_a_exp, modelica_metatype *out_out_a_resVar);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__921,2,0) {(void*) boxptr_CodegenCFunctions_fun__921,0}};
#define boxvar_CodegenCFunctions_fun__921 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__921)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__920(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_eThen, modelica_metatype _in_a_resVar, modelica_metatype _in_a_exp, modelica_metatype *out_out_a_resVar);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__920,2,0) {(void*) boxptr_CodegenCFunctions_fun__920,0}};
#define boxvar_CodegenCFunctions_fun__920 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__920)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__919(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_preExpThen, modelica_metatype _in_a_exp, modelica_metatype _in_a_preExpElse);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__919,2,0) {(void*) boxptr_CodegenCFunctions_fun__919,0}};
#define boxvar_CodegenCFunctions_fun__919 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__919)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__918(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_preExpElse, modelica_metatype _in_a_exp);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__918,2,0) {(void*) boxptr_CodegenCFunctions_fun__918,0}};
#define boxvar_CodegenCFunctions_fun__918 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__918)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__917(threadData_t *threadData, modelica_metatype _in_txt, modelica_boolean _in_mArg, modelica_metatype _in_a_exp);
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__917(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_mArg, modelica_metatype _in_a_exp);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__917,2,0) {(void*) boxptr_CodegenCFunctions_fun__917,0}};
#define boxvar_CodegenCFunctions_fun__917 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__917)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__916(threadData_t *threadData, modelica_metatype _in_txt, modelica_boolean _in_mArg);
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__916(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_mArg);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__916,2,0) {(void*) boxptr_CodegenCFunctions_fun__916,0}};
#define boxvar_CodegenCFunctions_fun__916 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__916)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__914(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_context, modelica_metatype _in_a_rel_optionExpisASUB, modelica_integer _in_a_rel_index, modelica_metatype _in_a_rel_operator, modelica_metatype _in_a_rel_exp2, modelica_metatype _in_a_auxFunction, modelica_metatype _in_a_varDecls, modelica_metatype _in_a_preExp, modelica_metatype _in_a_rel_exp1, modelica_metatype *out_out_a_auxFunction, modelica_metatype *out_out_a_varDecls, modelica_metatype *out_out_a_preExp);
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__914(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_context, modelica_metatype _in_a_rel_optionExpisASUB, modelica_metatype _in_a_rel_index, modelica_metatype _in_a_rel_operator, modelica_metatype _in_a_rel_exp2, modelica_metatype _in_a_auxFunction, modelica_metatype _in_a_varDecls, modelica_metatype _in_a_preExp, modelica_metatype _in_a_rel_exp1, modelica_metatype *out_out_a_auxFunction, modelica_metatype *out_out_a_varDecls, modelica_metatype *out_out_a_preExp);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__914,2,0) {(void*) boxptr_CodegenCFunctions_fun__914,0}};
#define boxvar_CodegenCFunctions_fun__914 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__914)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__913(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_rel_optionExpisASUB, modelica_metatype _in_a_rel_operator, modelica_integer _in_a_rel_index, modelica_metatype _in_a_rel_exp2, modelica_metatype _in_a_auxFunction, modelica_metatype _in_a_varDecls, modelica_metatype _in_a_preExp, modelica_metatype _in_a_context, modelica_metatype _in_a_rel_exp1, modelica_metatype *out_out_a_auxFunction, modelica_metatype *out_out_a_varDecls, modelica_metatype *out_out_a_preExp);
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__913(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_rel_optionExpisASUB, modelica_metatype _in_a_rel_operator, modelica_metatype _in_a_rel_index, modelica_metatype _in_a_rel_exp2, modelica_metatype _in_a_auxFunction, modelica_metatype _in_a_varDecls, modelica_metatype _in_a_preExp, modelica_metatype _in_a_context, modelica_metatype _in_a_rel_exp1, modelica_metatype *out_out_a_auxFunction, modelica_metatype *out_out_a_varDecls, modelica_metatype *out_out_a_preExp);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__913,2,0) {(void*) boxptr_CodegenCFunctions_fun__913,0}};
#define boxvar_CodegenCFunctions_fun__913 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__913)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__912(threadData_t *threadData, modelica_metatype _in_txt, modelica_boolean _in_mArg, modelica_metatype _in_a_res, modelica_metatype _in_a_preExp, modelica_integer _in_a_rel_index, modelica_metatype _in_a_e2, modelica_metatype _in_a_e1, modelica_metatype _in_a_rel_operator, modelica_metatype _in_a_rel_exp2, modelica_metatype _in_a_rel_exp1, modelica_metatype *out_out_a_preExp);
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__912(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_mArg, modelica_metatype _in_a_res, modelica_metatype _in_a_preExp, modelica_metatype _in_a_rel_index, modelica_metatype _in_a_e2, modelica_metatype _in_a_e1, modelica_metatype _in_a_rel_operator, modelica_metatype _in_a_rel_exp2, modelica_metatype _in_a_rel_exp1, modelica_metatype *out_out_a_preExp);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__912,2,0) {(void*) boxptr_CodegenCFunctions_fun__912,0}};
#define boxvar_CodegenCFunctions_fun__912 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__912)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__911(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_rel_operator, modelica_metatype _in_a_e2, modelica_metatype _in_a_e1, modelica_metatype _in_a_res, modelica_metatype _in_a_preExp, modelica_metatype *out_out_a_preExp);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__911,2,0) {(void*) boxptr_CodegenCFunctions_fun__911,0}};
#define boxvar_CodegenCFunctions_fun__911 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__911)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__910(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_rel_operator, modelica_metatype _in_a_res, modelica_metatype _in_a_preExp, modelica_integer _in_a_rel_index, modelica_metatype _in_a_e2, modelica_metatype _in_a_e1, modelica_metatype _in_a_isReal, modelica_metatype *out_out_a_preExp);
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__910(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_rel_operator, modelica_metatype _in_a_res, modelica_metatype _in_a_preExp, modelica_metatype _in_a_rel_index, modelica_metatype _in_a_e2, modelica_metatype _in_a_e1, modelica_metatype _in_a_isReal, modelica_metatype *out_out_a_preExp);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__910,2,0) {(void*) boxptr_CodegenCFunctions_fun__910,0}};
#define boxvar_CodegenCFunctions_fun__910 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__910)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__909(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_isReal, modelica_integer _in_a_rel_index, modelica_metatype _in_a_e2, modelica_metatype _in_a_e1);
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__909(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_isReal, modelica_metatype _in_a_rel_index, modelica_metatype _in_a_e2, modelica_metatype _in_a_e1);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__909,2,0) {(void*) boxptr_CodegenCFunctions_fun__909,0}};
#define boxvar_CodegenCFunctions_fun__909 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__909)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__908(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_isReal, modelica_integer _in_a_rel_index, modelica_metatype _in_a_e2, modelica_metatype _in_a_e1);
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__908(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_isReal, modelica_metatype _in_a_rel_index, modelica_metatype _in_a_e2, modelica_metatype _in_a_e1);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__908,2,0) {(void*) boxptr_CodegenCFunctions_fun__908,0}};
#define boxvar_CodegenCFunctions_fun__908 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__908)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__907(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_isReal, modelica_integer _in_a_rel_index, modelica_metatype _in_a_e2, modelica_metatype _in_a_e1);
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__907(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_isReal, modelica_metatype _in_a_rel_index, modelica_metatype _in_a_e2, modelica_metatype _in_a_e1);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__907,2,0) {(void*) boxptr_CodegenCFunctions_fun__907,0}};
#define boxvar_CodegenCFunctions_fun__907 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__907)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__906(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_isReal, modelica_integer _in_a_rel_index, modelica_metatype _in_a_e2, modelica_metatype _in_a_e1);
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__906(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_isReal, modelica_metatype _in_a_rel_index, modelica_metatype _in_a_e2, modelica_metatype _in_a_e1);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__906,2,0) {(void*) boxptr_CodegenCFunctions_fun__906,0}};
#define boxvar_CodegenCFunctions_fun__906 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__906)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__905(threadData_t *threadData, modelica_metatype _in_txt, modelica_boolean _in_mArg, modelica_metatype _in_a_rel_exp2);
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__905(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_mArg, modelica_metatype _in_a_rel_exp2);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__905,2,0) {(void*) boxptr_CodegenCFunctions_fun__905,0}};
#define boxvar_CodegenCFunctions_fun__905 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__905)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__904(threadData_t *threadData, modelica_metatype _in_txt, modelica_boolean _in_mArg);
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__904(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_mArg);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__904,2,0) {(void*) boxptr_CodegenCFunctions_fun__904,0}};
#define boxvar_CodegenCFunctions_fun__904 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__904)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__903(threadData_t *threadData, modelica_metatype _in_txt, modelica_boolean _in_mArg, modelica_metatype _in_a_res, modelica_metatype _in_a_preExp, modelica_integer _in_a_rel_index, modelica_metatype _in_a_e2, modelica_metatype _in_a_e1, modelica_metatype _in_a_rel_operator, modelica_metatype _in_a_rel_exp2, modelica_metatype _in_a_rel_exp1, modelica_metatype *out_out_a_preExp);
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__903(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_mArg, modelica_metatype _in_a_res, modelica_metatype _in_a_preExp, modelica_metatype _in_a_rel_index, modelica_metatype _in_a_e2, modelica_metatype _in_a_e1, modelica_metatype _in_a_rel_operator, modelica_metatype _in_a_rel_exp2, modelica_metatype _in_a_rel_exp1, modelica_metatype *out_out_a_preExp);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__903,2,0) {(void*) boxptr_CodegenCFunctions_fun__903,0}};
#define boxvar_CodegenCFunctions_fun__903 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__903)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__902(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_rel_operator, modelica_metatype _in_a_e2, modelica_metatype _in_a_e1, modelica_metatype _in_a_res, modelica_metatype _in_a_preExp, modelica_metatype *out_out_a_preExp);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__902,2,0) {(void*) boxptr_CodegenCFunctions_fun__902,0}};
#define boxvar_CodegenCFunctions_fun__902 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__902)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__901(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_rel_operator, modelica_metatype _in_a_res, modelica_metatype _in_a_preExp, modelica_integer _in_a_rel_index, modelica_metatype _in_a_e2, modelica_metatype _in_a_e1, modelica_metatype _in_a_isReal, modelica_metatype *out_out_a_preExp);
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__901(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_rel_operator, modelica_metatype _in_a_res, modelica_metatype _in_a_preExp, modelica_metatype _in_a_rel_index, modelica_metatype _in_a_e2, modelica_metatype _in_a_e1, modelica_metatype _in_a_isReal, modelica_metatype *out_out_a_preExp);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__901,2,0) {(void*) boxptr_CodegenCFunctions_fun__901,0}};
#define boxvar_CodegenCFunctions_fun__901 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__901)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__900(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_isReal, modelica_integer _in_a_rel_index, modelica_metatype _in_a_e2, modelica_metatype _in_a_e1);
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__900(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_isReal, modelica_metatype _in_a_rel_index, modelica_metatype _in_a_e2, modelica_metatype _in_a_e1);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__900,2,0) {(void*) boxptr_CodegenCFunctions_fun__900,0}};
#define boxvar_CodegenCFunctions_fun__900 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__900)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__899(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_isReal, modelica_integer _in_a_rel_index, modelica_metatype _in_a_e2, modelica_metatype _in_a_e1);
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__899(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_isReal, modelica_metatype _in_a_rel_index, modelica_metatype _in_a_e2, modelica_metatype _in_a_e1);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__899,2,0) {(void*) boxptr_CodegenCFunctions_fun__899,0}};
#define boxvar_CodegenCFunctions_fun__899 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__899)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__898(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_isReal, modelica_integer _in_a_rel_index, modelica_metatype _in_a_e2, modelica_metatype _in_a_e1);
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__898(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_isReal, modelica_metatype _in_a_rel_index, modelica_metatype _in_a_e2, modelica_metatype _in_a_e1);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__898,2,0) {(void*) boxptr_CodegenCFunctions_fun__898,0}};
#define boxvar_CodegenCFunctions_fun__898 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__898)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__897(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_isReal, modelica_integer _in_a_rel_index, modelica_metatype _in_a_e2, modelica_metatype _in_a_e1);
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__897(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_isReal, modelica_metatype _in_a_rel_index, modelica_metatype _in_a_e2, modelica_metatype _in_a_e1);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__897,2,0) {(void*) boxptr_CodegenCFunctions_fun__897,0}};
#define boxvar_CodegenCFunctions_fun__897 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__897)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__896(threadData_t *threadData, modelica_metatype _in_txt, modelica_boolean _in_mArg, modelica_metatype _in_a_rel_exp2);
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__896(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_mArg, modelica_metatype _in_a_rel_exp2);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__896,2,0) {(void*) boxptr_CodegenCFunctions_fun__896,0}};
#define boxvar_CodegenCFunctions_fun__896 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__896)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__895(threadData_t *threadData, modelica_metatype _in_txt, modelica_boolean _in_mArg);
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__895(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_mArg);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__895,2,0) {(void*) boxptr_CodegenCFunctions_fun__895,0}};
#define boxvar_CodegenCFunctions_fun__895 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__895)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__894(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_rel_optionExpisASUB, modelica_metatype _in_a_rel_operator, modelica_integer _in_a_rel_index, modelica_metatype _in_a_rel_exp2, modelica_metatype _in_a_auxFunction, modelica_metatype _in_a_varDecls, modelica_metatype _in_a_preExp, modelica_metatype _in_a_context, modelica_metatype _in_a_rel_exp1, modelica_metatype *out_out_a_auxFunction, modelica_metatype *out_out_a_varDecls, modelica_metatype *out_out_a_preExp);
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__894(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_rel_optionExpisASUB, modelica_metatype _in_a_rel_operator, modelica_metatype _in_a_rel_index, modelica_metatype _in_a_rel_exp2, modelica_metatype _in_a_auxFunction, modelica_metatype _in_a_varDecls, modelica_metatype _in_a_preExp, modelica_metatype _in_a_context, modelica_metatype _in_a_rel_exp1, modelica_metatype *out_out_a_auxFunction, modelica_metatype *out_out_a_varDecls, modelica_metatype *out_out_a_preExp);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__894,2,0) {(void*) boxptr_CodegenCFunctions_fun__894,0}};
#define boxvar_CodegenCFunctions_fun__894 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__894)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__893(threadData_t *threadData, modelica_metatype _in_txt, modelica_boolean _in_mArg, modelica_integer _in_a_j, modelica_integer _in_a_i, modelica_metatype _in_a_iterator, modelica_integer _in_a_rel_index, modelica_metatype _in_a_e2, modelica_metatype _in_a_e1, modelica_metatype _in_a_res, modelica_metatype _in_a_preExp, modelica_metatype _in_a_rel_operator, modelica_metatype _in_a_rel_exp2, modelica_metatype _in_a_rel_exp1, modelica_metatype *out_out_a_preExp);
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__893(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_mArg, modelica_metatype _in_a_j, modelica_metatype _in_a_i, modelica_metatype _in_a_iterator, modelica_metatype _in_a_rel_index, modelica_metatype _in_a_e2, modelica_metatype _in_a_e1, modelica_metatype _in_a_res, modelica_metatype _in_a_preExp, modelica_metatype _in_a_rel_operator, modelica_metatype _in_a_rel_exp2, modelica_metatype _in_a_rel_exp1, modelica_metatype *out_out_a_preExp);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__893,2,0) {(void*) boxptr_CodegenCFunctions_fun__893,0}};
#define boxvar_CodegenCFunctions_fun__893 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__893)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__892(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_rel_operator, modelica_metatype _in_a_e2, modelica_metatype _in_a_e1, modelica_metatype _in_a_res, modelica_metatype _in_a_preExp, modelica_metatype *out_out_a_preExp);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__892,2,0) {(void*) boxptr_CodegenCFunctions_fun__892,0}};
#define boxvar_CodegenCFunctions_fun__892 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__892)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__891(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_rel_operator, modelica_integer _in_a_j, modelica_integer _in_a_i, modelica_metatype _in_a_iterator, modelica_integer _in_a_rel_index, modelica_metatype _in_a_e2, modelica_metatype _in_a_e1, modelica_metatype _in_a_res, modelica_metatype _in_a_hysteresisfunction, modelica_metatype _in_a_preExp, modelica_metatype *out_out_a_preExp);
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__891(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_rel_operator, modelica_metatype _in_a_j, modelica_metatype _in_a_i, modelica_metatype _in_a_iterator, modelica_metatype _in_a_rel_index, modelica_metatype _in_a_e2, modelica_metatype _in_a_e1, modelica_metatype _in_a_res, modelica_metatype _in_a_hysteresisfunction, modelica_metatype _in_a_preExp, modelica_metatype *out_out_a_preExp);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__891,2,0) {(void*) boxptr_CodegenCFunctions_fun__891,0}};
#define boxvar_CodegenCFunctions_fun__891 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__891)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__890(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_isReal);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__890,2,0) {(void*) boxptr_CodegenCFunctions_fun__890,0}};
#define boxvar_CodegenCFunctions_fun__890 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__890)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__889(threadData_t *threadData, modelica_metatype _in_txt, modelica_boolean _in_mArg, modelica_metatype _in_a_rel_exp2);
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__889(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_mArg, modelica_metatype _in_a_rel_exp2);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__889,2,0) {(void*) boxptr_CodegenCFunctions_fun__889,0}};
#define boxvar_CodegenCFunctions_fun__889 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__889)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__888(threadData_t *threadData, modelica_metatype _in_txt, modelica_boolean _in_mArg);
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__888(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_mArg);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__888,2,0) {(void*) boxptr_CodegenCFunctions_fun__888,0}};
#define boxvar_CodegenCFunctions_fun__888 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__888)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__887(threadData_t *threadData, modelica_metatype _in_txt, modelica_boolean _in_mArg, modelica_integer _in_a_rel_index, modelica_metatype _in_a_e2, modelica_metatype _in_a_e1, modelica_metatype _in_a_res, modelica_metatype _in_a_preExp, modelica_metatype _in_a_rel_operator, modelica_metatype _in_a_rel_exp2, modelica_metatype _in_a_rel_exp1, modelica_metatype *out_out_a_preExp);
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__887(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_mArg, modelica_metatype _in_a_rel_index, modelica_metatype _in_a_e2, modelica_metatype _in_a_e1, modelica_metatype _in_a_res, modelica_metatype _in_a_preExp, modelica_metatype _in_a_rel_operator, modelica_metatype _in_a_rel_exp2, modelica_metatype _in_a_rel_exp1, modelica_metatype *out_out_a_preExp);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__887,2,0) {(void*) boxptr_CodegenCFunctions_fun__887,0}};
#define boxvar_CodegenCFunctions_fun__887 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__887)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__886(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_rel_operator, modelica_metatype _in_a_e2, modelica_metatype _in_a_e1, modelica_metatype _in_a_res, modelica_metatype _in_a_preExp, modelica_metatype *out_out_a_preExp);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__886,2,0) {(void*) boxptr_CodegenCFunctions_fun__886,0}};
#define boxvar_CodegenCFunctions_fun__886 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__886)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__885(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_rel_operator, modelica_integer _in_a_rel_index, modelica_metatype _in_a_e2, modelica_metatype _in_a_e1, modelica_metatype _in_a_res, modelica_metatype _in_a_hysteresisfunction, modelica_metatype _in_a_preExp, modelica_metatype *out_out_a_preExp);
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__885(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_rel_operator, modelica_metatype _in_a_rel_index, modelica_metatype _in_a_e2, modelica_metatype _in_a_e1, modelica_metatype _in_a_res, modelica_metatype _in_a_hysteresisfunction, modelica_metatype _in_a_preExp, modelica_metatype *out_out_a_preExp);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__885,2,0) {(void*) boxptr_CodegenCFunctions_fun__885,0}};
#define boxvar_CodegenCFunctions_fun__885 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__885)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__884(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_isReal);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__884,2,0) {(void*) boxptr_CodegenCFunctions_fun__884,0}};
#define boxvar_CodegenCFunctions_fun__884 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__884)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__883(threadData_t *threadData, modelica_metatype _in_txt, modelica_boolean _in_mArg, modelica_metatype _in_a_rel_exp2);
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__883(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_mArg, modelica_metatype _in_a_rel_exp2);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__883,2,0) {(void*) boxptr_CodegenCFunctions_fun__883,0}};
#define boxvar_CodegenCFunctions_fun__883 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__883)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__882(threadData_t *threadData, modelica_metatype _in_txt, modelica_boolean _in_mArg);
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__882(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_mArg);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__882,2,0) {(void*) boxptr_CodegenCFunctions_fun__882,0}};
#define boxvar_CodegenCFunctions_fun__882 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__882)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__881(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_rel_optionExpisASUB, modelica_metatype _in_a_rel_operator, modelica_integer _in_a_rel_index, modelica_metatype _in_a_rel_exp2, modelica_metatype _in_a_auxFunction, modelica_metatype _in_a_varDecls, modelica_metatype _in_a_preExp, modelica_metatype _in_a_context, modelica_metatype _in_a_rel_exp1, modelica_metatype *out_out_a_auxFunction, modelica_metatype *out_out_a_varDecls, modelica_metatype *out_out_a_preExp);
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__881(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_rel_optionExpisASUB, modelica_metatype _in_a_rel_operator, modelica_metatype _in_a_rel_index, modelica_metatype _in_a_rel_exp2, modelica_metatype _in_a_auxFunction, modelica_metatype _in_a_varDecls, modelica_metatype _in_a_preExp, modelica_metatype _in_a_context, modelica_metatype _in_a_rel_exp1, modelica_metatype *out_out_a_auxFunction, modelica_metatype *out_out_a_varDecls, modelica_metatype *out_out_a_preExp);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__881,2,0) {(void*) boxptr_CodegenCFunctions_fun__881,0}};
#define boxvar_CodegenCFunctions_fun__881 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__881)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__880(threadData_t *threadData, modelica_metatype _in_txt, modelica_boolean _in_mArg, modelica_integer _in_a_j, modelica_integer _in_a_i, modelica_metatype _in_a_iterator, modelica_integer _in_a_rel_index, modelica_metatype _in_a_e2, modelica_metatype _in_a_e1, modelica_metatype _in_a_res, modelica_metatype _in_a_preExp, modelica_metatype _in_a_rel_operator, modelica_metatype _in_a_rel_exp2, modelica_metatype _in_a_rel_exp1, modelica_metatype *out_out_a_preExp);
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__880(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_mArg, modelica_metatype _in_a_j, modelica_metatype _in_a_i, modelica_metatype _in_a_iterator, modelica_metatype _in_a_rel_index, modelica_metatype _in_a_e2, modelica_metatype _in_a_e1, modelica_metatype _in_a_res, modelica_metatype _in_a_preExp, modelica_metatype _in_a_rel_operator, modelica_metatype _in_a_rel_exp2, modelica_metatype _in_a_rel_exp1, modelica_metatype *out_out_a_preExp);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__880,2,0) {(void*) boxptr_CodegenCFunctions_fun__880,0}};
#define boxvar_CodegenCFunctions_fun__880 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__880)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__879(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_rel_operator, modelica_metatype _in_a_e2, modelica_metatype _in_a_e1, modelica_metatype _in_a_res, modelica_metatype _in_a_preExp, modelica_metatype *out_out_a_preExp);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__879,2,0) {(void*) boxptr_CodegenCFunctions_fun__879,0}};
#define boxvar_CodegenCFunctions_fun__879 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__879)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__878(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_rel_operator, modelica_integer _in_a_j, modelica_integer _in_a_i, modelica_metatype _in_a_iterator, modelica_integer _in_a_rel_index, modelica_metatype _in_a_e2, modelica_metatype _in_a_e1, modelica_metatype _in_a_res, modelica_metatype _in_a_hysteresisfunction, modelica_metatype _in_a_preExp, modelica_metatype *out_out_a_preExp);
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__878(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_rel_operator, modelica_metatype _in_a_j, modelica_metatype _in_a_i, modelica_metatype _in_a_iterator, modelica_metatype _in_a_rel_index, modelica_metatype _in_a_e2, modelica_metatype _in_a_e1, modelica_metatype _in_a_res, modelica_metatype _in_a_hysteresisfunction, modelica_metatype _in_a_preExp, modelica_metatype *out_out_a_preExp);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__878,2,0) {(void*) boxptr_CodegenCFunctions_fun__878,0}};
#define boxvar_CodegenCFunctions_fun__878 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__878)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__877(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_isReal);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__877,2,0) {(void*) boxptr_CodegenCFunctions_fun__877,0}};
#define boxvar_CodegenCFunctions_fun__877 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__877)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__876(threadData_t *threadData, modelica_metatype _in_txt, modelica_boolean _in_mArg, modelica_metatype _in_a_rel_exp2);
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__876(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_mArg, modelica_metatype _in_a_rel_exp2);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__876,2,0) {(void*) boxptr_CodegenCFunctions_fun__876,0}};
#define boxvar_CodegenCFunctions_fun__876 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__876)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__875(threadData_t *threadData, modelica_metatype _in_txt, modelica_boolean _in_mArg);
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__875(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_mArg);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__875,2,0) {(void*) boxptr_CodegenCFunctions_fun__875,0}};
#define boxvar_CodegenCFunctions_fun__875 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__875)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__874(threadData_t *threadData, modelica_metatype _in_txt, modelica_boolean _in_mArg, modelica_integer _in_a_rel_index, modelica_metatype _in_a_e2, modelica_metatype _in_a_e1, modelica_metatype _in_a_res, modelica_metatype _in_a_preExp, modelica_metatype _in_a_rel_operator, modelica_metatype _in_a_rel_exp2, modelica_metatype _in_a_rel_exp1, modelica_metatype *out_out_a_preExp);
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__874(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_mArg, modelica_metatype _in_a_rel_index, modelica_metatype _in_a_e2, modelica_metatype _in_a_e1, modelica_metatype _in_a_res, modelica_metatype _in_a_preExp, modelica_metatype _in_a_rel_operator, modelica_metatype _in_a_rel_exp2, modelica_metatype _in_a_rel_exp1, modelica_metatype *out_out_a_preExp);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__874,2,0) {(void*) boxptr_CodegenCFunctions_fun__874,0}};
#define boxvar_CodegenCFunctions_fun__874 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__874)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__873(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_rel_operator, modelica_metatype _in_a_e2, modelica_metatype _in_a_e1, modelica_metatype _in_a_res, modelica_metatype _in_a_preExp, modelica_metatype *out_out_a_preExp);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__873,2,0) {(void*) boxptr_CodegenCFunctions_fun__873,0}};
#define boxvar_CodegenCFunctions_fun__873 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__873)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__872(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_rel_operator, modelica_integer _in_a_rel_index, modelica_metatype _in_a_e2, modelica_metatype _in_a_e1, modelica_metatype _in_a_res, modelica_metatype _in_a_hysteresisfunction, modelica_metatype _in_a_preExp, modelica_metatype *out_out_a_preExp);
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__872(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_rel_operator, modelica_metatype _in_a_rel_index, modelica_metatype _in_a_e2, modelica_metatype _in_a_e1, modelica_metatype _in_a_res, modelica_metatype _in_a_hysteresisfunction, modelica_metatype _in_a_preExp, modelica_metatype *out_out_a_preExp);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__872,2,0) {(void*) boxptr_CodegenCFunctions_fun__872,0}};
#define boxvar_CodegenCFunctions_fun__872 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__872)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__871(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_isReal);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__871,2,0) {(void*) boxptr_CodegenCFunctions_fun__871,0}};
#define boxvar_CodegenCFunctions_fun__871 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__871)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__870(threadData_t *threadData, modelica_metatype _in_txt, modelica_boolean _in_mArg, modelica_metatype _in_a_rel_exp2);
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__870(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_mArg, modelica_metatype _in_a_rel_exp2);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__870,2,0) {(void*) boxptr_CodegenCFunctions_fun__870,0}};
#define boxvar_CodegenCFunctions_fun__870 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__870)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__869(threadData_t *threadData, modelica_metatype _in_txt, modelica_boolean _in_mArg);
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__869(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_mArg);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__869,2,0) {(void*) boxptr_CodegenCFunctions_fun__869,0}};
#define boxvar_CodegenCFunctions_fun__869 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__869)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__868(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_rel_optionExpisASUB, modelica_metatype _in_a_rel_operator, modelica_integer _in_a_rel_index, modelica_metatype _in_a_rel_exp2, modelica_metatype _in_a_auxFunction, modelica_metatype _in_a_varDecls, modelica_metatype _in_a_preExp, modelica_metatype _in_a_context, modelica_metatype _in_a_rel_exp1, modelica_metatype *out_out_a_auxFunction, modelica_metatype *out_out_a_varDecls, modelica_metatype *out_out_a_preExp);
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__868(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_rel_optionExpisASUB, modelica_metatype _in_a_rel_operator, modelica_metatype _in_a_rel_index, modelica_metatype _in_a_rel_exp2, modelica_metatype _in_a_auxFunction, modelica_metatype _in_a_varDecls, modelica_metatype _in_a_preExp, modelica_metatype _in_a_context, modelica_metatype _in_a_rel_exp1, modelica_metatype *out_out_a_auxFunction, modelica_metatype *out_out_a_varDecls, modelica_metatype *out_out_a_preExp);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__868,2,0) {(void*) boxptr_CodegenCFunctions_fun__868,0}};
#define boxvar_CodegenCFunctions_fun__868 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__868)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__867(threadData_t *threadData, modelica_metatype _in_txt, modelica_boolean _in_mArg, modelica_integer _in_a_j, modelica_integer _in_a_i, modelica_metatype _in_a_iterator, modelica_integer _in_a_rel_index, modelica_metatype _in_a_e2, modelica_metatype _in_a_e1, modelica_metatype _in_a_res, modelica_metatype _in_a_preExp, modelica_metatype _in_a_rel_operator, modelica_metatype _in_a_rel_exp2, modelica_metatype _in_a_rel_exp1, modelica_metatype *out_out_a_preExp);
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__867(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_mArg, modelica_metatype _in_a_j, modelica_metatype _in_a_i, modelica_metatype _in_a_iterator, modelica_metatype _in_a_rel_index, modelica_metatype _in_a_e2, modelica_metatype _in_a_e1, modelica_metatype _in_a_res, modelica_metatype _in_a_preExp, modelica_metatype _in_a_rel_operator, modelica_metatype _in_a_rel_exp2, modelica_metatype _in_a_rel_exp1, modelica_metatype *out_out_a_preExp);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__867,2,0) {(void*) boxptr_CodegenCFunctions_fun__867,0}};
#define boxvar_CodegenCFunctions_fun__867 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__867)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__866(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_rel_operator, modelica_metatype _in_a_e2, modelica_metatype _in_a_e1, modelica_metatype _in_a_res, modelica_metatype _in_a_preExp, modelica_metatype *out_out_a_preExp);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__866,2,0) {(void*) boxptr_CodegenCFunctions_fun__866,0}};
#define boxvar_CodegenCFunctions_fun__866 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__866)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__865(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_rel_operator, modelica_integer _in_a_j, modelica_integer _in_a_i, modelica_metatype _in_a_iterator, modelica_integer _in_a_rel_index, modelica_metatype _in_a_e2, modelica_metatype _in_a_e1, modelica_metatype _in_a_res, modelica_metatype _in_a_hysteresisfunction, modelica_metatype _in_a_preExp, modelica_metatype *out_out_a_preExp);
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__865(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_rel_operator, modelica_metatype _in_a_j, modelica_metatype _in_a_i, modelica_metatype _in_a_iterator, modelica_metatype _in_a_rel_index, modelica_metatype _in_a_e2, modelica_metatype _in_a_e1, modelica_metatype _in_a_res, modelica_metatype _in_a_hysteresisfunction, modelica_metatype _in_a_preExp, modelica_metatype *out_out_a_preExp);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__865,2,0) {(void*) boxptr_CodegenCFunctions_fun__865,0}};
#define boxvar_CodegenCFunctions_fun__865 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__865)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__864(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_isReal);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__864,2,0) {(void*) boxptr_CodegenCFunctions_fun__864,0}};
#define boxvar_CodegenCFunctions_fun__864 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__864)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__863(threadData_t *threadData, modelica_metatype _in_txt, modelica_boolean _in_mArg, modelica_metatype _in_a_rel_exp2);
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__863(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_mArg, modelica_metatype _in_a_rel_exp2);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__863,2,0) {(void*) boxptr_CodegenCFunctions_fun__863,0}};
#define boxvar_CodegenCFunctions_fun__863 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__863)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__862(threadData_t *threadData, modelica_metatype _in_txt, modelica_boolean _in_mArg);
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__862(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_mArg);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__862,2,0) {(void*) boxptr_CodegenCFunctions_fun__862,0}};
#define boxvar_CodegenCFunctions_fun__862 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__862)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__861(threadData_t *threadData, modelica_metatype _in_txt, modelica_boolean _in_mArg, modelica_integer _in_a_rel_index, modelica_metatype _in_a_e2, modelica_metatype _in_a_e1, modelica_metatype _in_a_res, modelica_metatype _in_a_preExp, modelica_metatype _in_a_rel_operator, modelica_metatype _in_a_rel_exp2, modelica_metatype _in_a_rel_exp1, modelica_metatype *out_out_a_preExp);
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__861(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_mArg, modelica_metatype _in_a_rel_index, modelica_metatype _in_a_e2, modelica_metatype _in_a_e1, modelica_metatype _in_a_res, modelica_metatype _in_a_preExp, modelica_metatype _in_a_rel_operator, modelica_metatype _in_a_rel_exp2, modelica_metatype _in_a_rel_exp1, modelica_metatype *out_out_a_preExp);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__861,2,0) {(void*) boxptr_CodegenCFunctions_fun__861,0}};
#define boxvar_CodegenCFunctions_fun__861 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__861)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__860(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_rel_operator, modelica_metatype _in_a_e2, modelica_metatype _in_a_e1, modelica_metatype _in_a_res, modelica_metatype _in_a_preExp, modelica_metatype *out_out_a_preExp);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__860,2,0) {(void*) boxptr_CodegenCFunctions_fun__860,0}};
#define boxvar_CodegenCFunctions_fun__860 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__860)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__859(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_rel_operator, modelica_integer _in_a_rel_index, modelica_metatype _in_a_e2, modelica_metatype _in_a_e1, modelica_metatype _in_a_res, modelica_metatype _in_a_hysteresisfunction, modelica_metatype _in_a_preExp, modelica_metatype *out_out_a_preExp);
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__859(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_rel_operator, modelica_metatype _in_a_rel_index, modelica_metatype _in_a_e2, modelica_metatype _in_a_e1, modelica_metatype _in_a_res, modelica_metatype _in_a_hysteresisfunction, modelica_metatype _in_a_preExp, modelica_metatype *out_out_a_preExp);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__859,2,0) {(void*) boxptr_CodegenCFunctions_fun__859,0}};
#define boxvar_CodegenCFunctions_fun__859 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__859)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__858(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_isReal);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__858,2,0) {(void*) boxptr_CodegenCFunctions_fun__858,0}};
#define boxvar_CodegenCFunctions_fun__858 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__858)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__857(threadData_t *threadData, modelica_metatype _in_txt, modelica_boolean _in_mArg, modelica_metatype _in_a_rel_exp2);
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__857(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_mArg, modelica_metatype _in_a_rel_exp2);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__857,2,0) {(void*) boxptr_CodegenCFunctions_fun__857,0}};
#define boxvar_CodegenCFunctions_fun__857 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__857)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__856(threadData_t *threadData, modelica_metatype _in_txt, modelica_boolean _in_mArg);
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__856(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_mArg);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__856,2,0) {(void*) boxptr_CodegenCFunctions_fun__856,0}};
#define boxvar_CodegenCFunctions_fun__856 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__856)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__855(threadData_t *threadData, modelica_metatype _in_txt, modelica_boolean _in_mArg, modelica_integer _in_a_rel_index, modelica_metatype _in_a_res);
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__855(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_mArg, modelica_metatype _in_a_rel_index, modelica_metatype _in_a_res);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__855,2,0) {(void*) boxptr_CodegenCFunctions_fun__855,0}};
#define boxvar_CodegenCFunctions_fun__855 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__855)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__854(threadData_t *threadData, modelica_metatype _in_txt, modelica_string _in_mArg, modelica_integer _in_a_rel_index, modelica_metatype _in_a_res);
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__854(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_mArg, modelica_metatype _in_a_rel_index, modelica_metatype _in_a_res);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__854,2,0) {(void*) boxptr_CodegenCFunctions_fun__854,0}};
#define boxvar_CodegenCFunctions_fun__854 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__854)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__853(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_rel_operator, modelica_metatype _in_a_e2, modelica_metatype _in_a_e1, modelica_metatype _in_a_res, modelica_metatype _in_a_preExp, modelica_metatype *out_out_a_preExp);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__853,2,0) {(void*) boxptr_CodegenCFunctions_fun__853,0}};
#define boxvar_CodegenCFunctions_fun__853 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__853)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__851(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_simRel, modelica_metatype _in_a_preExp2, modelica_metatype _in_a_varDecls2, modelica_metatype _in_a_exp, modelica_metatype _in_a_rel_operator, modelica_metatype _in_a_rel_exp2, modelica_metatype _in_a_auxFunction, modelica_metatype _in_a_varDecls, modelica_metatype _in_a_preExp, modelica_metatype _in_a_context, modelica_metatype _in_a_rel_exp1, modelica_metatype *out_out_a_auxFunction, modelica_metatype *out_out_a_varDecls, modelica_metatype *out_out_a_preExp);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__851,2,0) {(void*) boxptr_CodegenCFunctions_fun__851,0}};
#define boxvar_CodegenCFunctions_fun__851 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__851)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__850(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_rel_operator, modelica_metatype _in_a_exp, modelica_metatype _in_a_e2, modelica_metatype _in_a_e1);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__850,2,0) {(void*) boxptr_CodegenCFunctions_fun__850,0}};
#define boxvar_CodegenCFunctions_fun__850 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__850)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__848(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_operator, modelica_metatype _in_a_e, modelica_metatype _in_a_preExp, modelica_metatype _in_a_varDecls, modelica_metatype *out_out_a_preExp, modelica_metatype *out_out_a_varDecls);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__848,2,0) {(void*) boxptr_CodegenCFunctions_fun__848,0}};
#define boxvar_CodegenCFunctions_fun__848 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__848)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__846(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_operator, modelica_metatype _in_a_e2, modelica_metatype _in_a_e1, modelica_metatype _in_a_preExp, modelica_metatype _in_a_varDecls, modelica_metatype *out_out_a_preExp, modelica_metatype *out_out_a_varDecls);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__846,2,0) {(void*) boxptr_CodegenCFunctions_fun__846,0}};
#define boxvar_CodegenCFunctions_fun__846 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__846)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__844(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_operator, modelica_metatype _in_a_preExp, modelica_metatype _in_a_varDecls, modelica_metatype _in_a_e, modelica_metatype _in_a_exp, modelica_metatype *out_out_a_preExp, modelica_metatype *out_out_a_varDecls);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__844,2,0) {(void*) boxptr_CodegenCFunctions_fun__844,0}};
#define boxvar_CodegenCFunctions_fun__844 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__844)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__843(threadData_t *threadData, modelica_metatype _in_txt, modelica_boolean _in_mArg, modelica_metatype _in_a_e);
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__843(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_mArg, modelica_metatype _in_a_e);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__843,2,0) {(void*) boxptr_CodegenCFunctions_fun__843,0}};
#define boxvar_CodegenCFunctions_fun__843 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__843)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__841(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_operator, modelica_metatype _in_a_auxFunction, modelica_metatype _in_a_exp, modelica_metatype _in_a_exp1, modelica_metatype _in_a_context, modelica_metatype _in_a_exp2, modelica_metatype _in_a_e2, modelica_metatype _in_a_e1, modelica_metatype _in_a_preExp, modelica_metatype _in_a_varDecls, modelica_metatype *out_out_a_auxFunction, modelica_metatype *out_out_a_preExp, modelica_metatype *out_out_a_varDecls);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__841,2,0) {(void*) boxptr_CodegenCFunctions_fun__841,0}};
#define boxvar_CodegenCFunctions_fun__841 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__841)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__840(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_ty);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__840,2,0) {(void*) boxptr_CodegenCFunctions_fun__840,0}};
#define boxvar_CodegenCFunctions_fun__840 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__840)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__839(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_ty);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__839,2,0) {(void*) boxptr_CodegenCFunctions_fun__839,0}};
#define boxvar_CodegenCFunctions_fun__839 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__839)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__838(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_context, modelica_metatype _in_a_e2str, modelica_metatype _in_a_e2, modelica_metatype _in_a_e1, modelica_metatype _in_a_type);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__838,2,0) {(void*) boxptr_CodegenCFunctions_fun__838,0}};
#define boxvar_CodegenCFunctions_fun__838 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__838)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__837(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_ty);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__837,2,0) {(void*) boxptr_CodegenCFunctions_fun__837,0}};
#define boxvar_CodegenCFunctions_fun__837 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__837)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__836(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_ty);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__836,2,0) {(void*) boxptr_CodegenCFunctions_fun__836,0}};
#define boxvar_CodegenCFunctions_fun__836 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__836)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__835(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_ty);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__835,2,0) {(void*) boxptr_CodegenCFunctions_fun__835,0}};
#define boxvar_CodegenCFunctions_fun__835 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__835)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__834(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_ty);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__834,2,0) {(void*) boxptr_CodegenCFunctions_fun__834,0}};
#define boxvar_CodegenCFunctions_fun__834 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__834)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__833(threadData_t *threadData, modelica_metatype _in_txt, modelica_boolean _in_mArg, modelica_metatype _in_a_e1, modelica_metatype _in_a_e2, modelica_metatype _in_a_type);
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__833(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_mArg, modelica_metatype _in_a_e1, modelica_metatype _in_a_e2, modelica_metatype _in_a_type);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__833,2,0) {(void*) boxptr_CodegenCFunctions_fun__833,0}};
#define boxvar_CodegenCFunctions_fun__833 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__833)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__832(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_ty);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__832,2,0) {(void*) boxptr_CodegenCFunctions_fun__832,0}};
#define boxvar_CodegenCFunctions_fun__832 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__832)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__831(threadData_t *threadData, modelica_metatype _in_txt, modelica_boolean _in_mArg, modelica_metatype _in_a_e1, modelica_metatype _in_a_e2, modelica_metatype _in_a_type);
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__831(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_mArg, modelica_metatype _in_a_e1, modelica_metatype _in_a_e2, modelica_metatype _in_a_type);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__831,2,0) {(void*) boxptr_CodegenCFunctions_fun__831,0}};
#define boxvar_CodegenCFunctions_fun__831 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__831)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__830(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_ty);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__830,2,0) {(void*) boxptr_CodegenCFunctions_fun__830,0}};
#define boxvar_CodegenCFunctions_fun__830 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__830)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__829(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_ty);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__829,2,0) {(void*) boxptr_CodegenCFunctions_fun__829,0}};
#define boxvar_CodegenCFunctions_fun__829 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__829)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__828(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_ty);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__828,2,0) {(void*) boxptr_CodegenCFunctions_fun__828,0}};
#define boxvar_CodegenCFunctions_fun__828 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__828)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__827(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_ty);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__827,2,0) {(void*) boxptr_CodegenCFunctions_fun__827,0}};
#define boxvar_CodegenCFunctions_fun__827 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__827)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__826(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_ty);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__826,2,0) {(void*) boxptr_CodegenCFunctions_fun__826,0}};
#define boxvar_CodegenCFunctions_fun__826 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__826)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__825(threadData_t *threadData, modelica_metatype _in_txt, modelica_boolean _in_mArg, modelica_metatype _in_a_context, modelica_metatype _in_a_exp1, modelica_metatype _in_a_e2, modelica_metatype _in_a_e1, modelica_metatype _in_a_preExp, modelica_metatype _in_a_varDecls, modelica_metatype _in_a_exp2, modelica_metatype *out_out_a_preExp, modelica_metatype *out_out_a_varDecls);
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__825(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_mArg, modelica_metatype _in_a_context, modelica_metatype _in_a_exp1, modelica_metatype _in_a_e2, modelica_metatype _in_a_e1, modelica_metatype _in_a_preExp, modelica_metatype _in_a_varDecls, modelica_metatype _in_a_exp2, modelica_metatype *out_out_a_preExp, modelica_metatype *out_out_a_varDecls);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__825,2,0) {(void*) boxptr_CodegenCFunctions_fun__825,0}};
#define boxvar_CodegenCFunctions_fun__825 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__825)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__824(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_mArg, modelica_metatype _in_a_e2, modelica_metatype _in_a_e1, modelica_metatype _in_a_preExp, modelica_metatype _in_a_varDecls, modelica_metatype *out_out_a_preExp, modelica_metatype *out_out_a_varDecls);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__824,2,0) {(void*) boxptr_CodegenCFunctions_fun__824,0}};
#define boxvar_CodegenCFunctions_fun__824 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__824)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__823(threadData_t *threadData, modelica_metatype _in_txt, modelica_boolean _in_mArg, modelica_metatype _in_a_tmp2, modelica_metatype _in_a_tmp1);
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__823(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_mArg, modelica_metatype _in_a_tmp2, modelica_metatype _in_a_tmp1);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__823,2,0) {(void*) boxptr_CodegenCFunctions_fun__823,0}};
#define boxvar_CodegenCFunctions_fun__823 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__823)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__822(threadData_t *threadData, modelica_metatype _in_txt, modelica_boolean _in_mArg, modelica_metatype _in_a_tmp2, modelica_metatype _in_a_tmp1);
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__822(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_mArg, modelica_metatype _in_a_tmp2, modelica_metatype _in_a_tmp1);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__822,2,0) {(void*) boxptr_CodegenCFunctions_fun__822,0}};
#define boxvar_CodegenCFunctions_fun__822 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__822)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__821(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_context, modelica_metatype _in_a_exp2, modelica_metatype _in_a_e1, modelica_metatype _in_a_e2, modelica_metatype _in_a_preExp, modelica_metatype _in_a_varDecls, modelica_metatype _in_a_ty, modelica_metatype *out_out_a_preExp, modelica_metatype *out_out_a_varDecls);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__821,2,0) {(void*) boxptr_CodegenCFunctions_fun__821,0}};
#define boxvar_CodegenCFunctions_fun__821 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__821)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__820(threadData_t *threadData, modelica_metatype _in_txt, modelica_boolean _in_mArg, modelica_metatype _in_a_tvar);
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__820(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_mArg, modelica_metatype _in_a_tvar);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__820,2,0) {(void*) boxptr_CodegenCFunctions_fun__820,0}};
#define boxvar_CodegenCFunctions_fun__820 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__820)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__819(threadData_t *threadData, modelica_metatype _in_txt, modelica_boolean _in_mArg, modelica_metatype _in_a_e2, modelica_metatype _in_a_e1);
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__819(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_mArg, modelica_metatype _in_a_e2, modelica_metatype _in_a_e1);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__819,2,0) {(void*) boxptr_CodegenCFunctions_fun__819,0}};
#define boxvar_CodegenCFunctions_fun__819 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__819)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_lm__817(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_items, modelica_metatype _in_a_auxFunction, modelica_metatype _in_a_varDecls, modelica_metatype _in_a_preExp, modelica_metatype _in_a_context, modelica_metatype *out_out_a_auxFunction, modelica_metatype *out_out_a_varDecls, modelica_metatype *out_out_a_preExp);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_lm__817,2,0) {(void*) boxptr_CodegenCFunctions_lm__817,0}};
#define boxvar_CodegenCFunctions_lm__817 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_lm__817)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__816(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_sub, modelica_metatype _in_a_auxFunction, modelica_metatype _in_a_varDecls, modelica_metatype _in_a_preExp, modelica_metatype _in_a_context, modelica_metatype *out_out_a_auxFunction, modelica_metatype *out_out_a_varDecls, modelica_metatype *out_out_a_preExp);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__816,2,0) {(void*) boxptr_CodegenCFunctions_fun__816,0}};
#define boxvar_CodegenCFunctions_fun__816 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__816)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__814(threadData_t *threadData, modelica_metatype _in_txt, modelica_boolean _in_mArg, modelica_metatype _in_a_ty, modelica_metatype _in_a_auxFunction, modelica_metatype _in_a_varDecls, modelica_metatype _in_a_preExp, modelica_metatype _in_a_context, modelica_metatype _in_a_ecr, modelica_metatype _in_a_cr, modelica_metatype *out_out_a_auxFunction, modelica_metatype *out_out_a_varDecls, modelica_metatype *out_out_a_preExp);
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__814(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_mArg, modelica_metatype _in_a_ty, modelica_metatype _in_a_auxFunction, modelica_metatype _in_a_varDecls, modelica_metatype _in_a_preExp, modelica_metatype _in_a_context, modelica_metatype _in_a_ecr, modelica_metatype _in_a_cr, modelica_metatype *out_out_a_auxFunction, modelica_metatype *out_out_a_varDecls, modelica_metatype *out_out_a_preExp);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__814,2,0) {(void*) boxptr_CodegenCFunctions_fun__814,0}};
#define boxvar_CodegenCFunctions_fun__814 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__814)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__813(threadData_t *threadData, modelica_metatype _in_txt, modelica_boolean _in_mArg, modelica_metatype _in_a_ty, modelica_metatype _in_a_auxFunction, modelica_metatype _in_a_varDecls, modelica_metatype _in_a_preExp, modelica_metatype _in_a_context, modelica_metatype _in_a_cr, modelica_metatype _in_a_ecr, modelica_metatype *out_out_a_auxFunction, modelica_metatype *out_out_a_varDecls, modelica_metatype *out_out_a_preExp);
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__813(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_mArg, modelica_metatype _in_a_ty, modelica_metatype _in_a_auxFunction, modelica_metatype _in_a_varDecls, modelica_metatype _in_a_preExp, modelica_metatype _in_a_context, modelica_metatype _in_a_cr, modelica_metatype _in_a_ecr, modelica_metatype *out_out_a_auxFunction, modelica_metatype *out_out_a_varDecls, modelica_metatype *out_out_a_preExp);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__813,2,0) {(void*) boxptr_CodegenCFunctions_fun__813,0}};
#define boxvar_CodegenCFunctions_fun__813 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__813)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_lm__812(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_items, modelica_metatype _in_a_auxFunction, modelica_metatype _in_a_varDecls, modelica_metatype _in_a_preExp, modelica_metatype _in_a_context, modelica_metatype *out_out_a_auxFunction, modelica_metatype *out_out_a_varDecls, modelica_metatype *out_out_a_preExp);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_lm__812,2,0) {(void*) boxptr_CodegenCFunctions_lm__812,0}};
#define boxvar_CodegenCFunctions_lm__812 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_lm__812)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__810(threadData_t *threadData, modelica_metatype _in_txt, modelica_boolean _in_mArg, modelica_metatype _in_a_auxFunction, modelica_metatype _in_a_varDecls, modelica_metatype _in_a_preExp, modelica_metatype _in_a_context, modelica_metatype _in_a_ecr, modelica_metatype _in_a_cr, modelica_metatype *out_out_a_auxFunction, modelica_metatype *out_out_a_varDecls, modelica_metatype *out_out_a_preExp);
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__810(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_mArg, modelica_metatype _in_a_auxFunction, modelica_metatype _in_a_varDecls, modelica_metatype _in_a_preExp, modelica_metatype _in_a_context, modelica_metatype _in_a_ecr, modelica_metatype _in_a_cr, modelica_metatype *out_out_a_auxFunction, modelica_metatype *out_out_a_varDecls, modelica_metatype *out_out_a_preExp);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__810,2,0) {(void*) boxptr_CodegenCFunctions_fun__810,0}};
#define boxvar_CodegenCFunctions_fun__810 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__810)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__809(threadData_t *threadData, modelica_metatype _in_txt, modelica_boolean _in_mArg, modelica_metatype _in_a_auxFunction, modelica_metatype _in_a_varDecls, modelica_metatype _in_a_preExp, modelica_metatype _in_a_context, modelica_metatype _in_a_cr, modelica_metatype _in_a_ecr, modelica_metatype *out_out_a_auxFunction, modelica_metatype *out_out_a_varDecls, modelica_metatype *out_out_a_preExp);
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__809(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_mArg, modelica_metatype _in_a_auxFunction, modelica_metatype _in_a_varDecls, modelica_metatype _in_a_preExp, modelica_metatype _in_a_context, modelica_metatype _in_a_cr, modelica_metatype _in_a_ecr, modelica_metatype *out_out_a_auxFunction, modelica_metatype *out_out_a_varDecls, modelica_metatype *out_out_a_preExp);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__809,2,0) {(void*) boxptr_CodegenCFunctions_fun__809,0}};
#define boxvar_CodegenCFunctions_fun__809 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__809)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__807(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_context, modelica_metatype _in_a_ecr, modelica_metatype _in_a_preExp, modelica_metatype _in_a_varDecls, modelica_metatype _in_a_auxFunction, modelica_metatype *out_out_a_preExp, modelica_metatype *out_out_a_varDecls, modelica_metatype *out_out_a_auxFunction);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__807,2,0) {(void*) boxptr_CodegenCFunctions_fun__807,0}};
#define boxvar_CodegenCFunctions_fun__807 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__807)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__805(threadData_t *threadData, modelica_metatype _in_txt, modelica_boolean _in_mArg, modelica_metatype _in_a_dims, modelica_metatype _in_a_subs, modelica_metatype _in_a_context, modelica_metatype _in_a_preExp, modelica_metatype _in_a_varDecls, modelica_metatype _in_a_auxFunction, modelica_metatype *out_out_a_preExp, modelica_metatype *out_out_a_varDecls, modelica_metatype *out_out_a_auxFunction);
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__805(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_mArg, modelica_metatype _in_a_dims, modelica_metatype _in_a_subs, modelica_metatype _in_a_context, modelica_metatype _in_a_preExp, modelica_metatype _in_a_varDecls, modelica_metatype _in_a_auxFunction, modelica_metatype *out_out_a_preExp, modelica_metatype *out_out_a_varDecls, modelica_metatype *out_out_a_auxFunction);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__805,2,0) {(void*) boxptr_CodegenCFunctions_fun__805,0}};
#define boxvar_CodegenCFunctions_fun__805 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__805)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_lm__804(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_items, modelica_metatype _in_a_auxFunction, modelica_metatype _in_a_varDecls, modelica_metatype _in_a_preExp, modelica_metatype _in_a_context, modelica_metatype *out_out_a_auxFunction, modelica_metatype *out_out_a_varDecls, modelica_metatype *out_out_a_preExp);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_lm__804,2,0) {(void*) boxptr_CodegenCFunctions_lm__804,0}};
#define boxvar_CodegenCFunctions_lm__804 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_lm__804)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_lm__803(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_items, modelica_metatype _in_a_auxFunction, modelica_metatype _in_a_varDecls, modelica_metatype _in_a_preExp, modelica_metatype _in_a_context, modelica_metatype *out_out_a_auxFunction, modelica_metatype *out_out_a_varDecls, modelica_metatype *out_out_a_preExp);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_lm__803,2,0) {(void*) boxptr_CodegenCFunctions_lm__803,0}};
#define boxvar_CodegenCFunctions_lm__803 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_lm__803)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__801(threadData_t *threadData, modelica_metatype _in_txt, modelica_boolean _in_mArg, modelica_metatype _in_a_varDecls, modelica_metatype _in_a_preExp, modelica_boolean _in_a_isPre, modelica_metatype _in_a_auxFunction, modelica_metatype _in_a_context, modelica_metatype _in_a_ecr, modelica_metatype _in_a_cr, modelica_metatype *out_out_a_varDecls, modelica_metatype *out_out_a_preExp, modelica_metatype *out_out_a_auxFunction);
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__801(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_mArg, modelica_metatype _in_a_varDecls, modelica_metatype _in_a_preExp, modelica_metatype _in_a_isPre, modelica_metatype _in_a_auxFunction, modelica_metatype _in_a_context, modelica_metatype _in_a_ecr, modelica_metatype _in_a_cr, modelica_metatype *out_out_a_varDecls, modelica_metatype *out_out_a_preExp, modelica_metatype *out_out_a_auxFunction);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__801,2,0) {(void*) boxptr_CodegenCFunctions_fun__801,0}};
#define boxvar_CodegenCFunctions_fun__801 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__801)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__800(threadData_t *threadData, modelica_metatype _in_txt, modelica_boolean _in_mArg, modelica_metatype _in_a_varDecls, modelica_metatype _in_a_preExp, modelica_boolean _in_a_isPre, modelica_metatype _in_a_auxFunction, modelica_metatype _in_a_context, modelica_metatype _in_a_cr, modelica_metatype _in_a_ecr, modelica_metatype *out_out_a_varDecls, modelica_metatype *out_out_a_preExp, modelica_metatype *out_out_a_auxFunction);
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__800(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_mArg, modelica_metatype _in_a_varDecls, modelica_metatype _in_a_preExp, modelica_metatype _in_a_isPre, modelica_metatype _in_a_auxFunction, modelica_metatype _in_a_context, modelica_metatype _in_a_cr, modelica_metatype _in_a_ecr, modelica_metatype *out_out_a_varDecls, modelica_metatype *out_out_a_preExp, modelica_metatype *out_out_a_auxFunction);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__800,2,0) {(void*) boxptr_CodegenCFunctions_fun__800,0}};
#define boxvar_CodegenCFunctions_fun__800 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__800)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__799(threadData_t *threadData, modelica_metatype _in_txt, modelica_boolean _in_mArg, modelica_metatype _in_a_wrapperArray, modelica_metatype _in_a_type, modelica_boolean _in_a_isPre, modelica_metatype _in_a_cr, modelica_metatype _in_a_auxFunction, modelica_metatype _in_a_varDecls, modelica_metatype _in_a_preExp, modelica_metatype _in_a_context, modelica_metatype _in_a_dims, modelica_metatype _in_a_ecr, modelica_metatype *out_out_a_auxFunction, modelica_metatype *out_out_a_varDecls, modelica_metatype *out_out_a_preExp);
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__799(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_mArg, modelica_metatype _in_a_wrapperArray, modelica_metatype _in_a_type, modelica_metatype _in_a_isPre, modelica_metatype _in_a_cr, modelica_metatype _in_a_auxFunction, modelica_metatype _in_a_varDecls, modelica_metatype _in_a_preExp, modelica_metatype _in_a_context, modelica_metatype _in_a_dims, modelica_metatype _in_a_ecr, modelica_metatype *out_out_a_auxFunction, modelica_metatype *out_out_a_varDecls, modelica_metatype *out_out_a_preExp);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__799,2,0) {(void*) boxptr_CodegenCFunctions_fun__799,0}};
#define boxvar_CodegenCFunctions_fun__799 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__799)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_lm__798(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_items, modelica_metatype _in_a_auxFunction, modelica_metatype _in_a_varDecls, modelica_metatype _in_a_preExp, modelica_metatype _in_a_context, modelica_metatype *out_out_a_auxFunction, modelica_metatype *out_out_a_varDecls, modelica_metatype *out_out_a_preExp);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_lm__798,2,0) {(void*) boxptr_CodegenCFunctions_lm__798,0}};
#define boxvar_CodegenCFunctions_lm__798 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_lm__798)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__796(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_context, modelica_boolean _in_a_isPre, modelica_metatype _in_a_auxFunction, modelica_metatype _in_a_varDecls, modelica_metatype _in_a_preExp, modelica_metatype _in_a_exp, modelica_metatype *out_out_a_auxFunction, modelica_metatype *out_out_a_varDecls, modelica_metatype *out_out_a_preExp);
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__796(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_context, modelica_metatype _in_a_isPre, modelica_metatype _in_a_auxFunction, modelica_metatype _in_a_varDecls, modelica_metatype _in_a_preExp, modelica_metatype _in_a_exp, modelica_metatype *out_out_a_auxFunction, modelica_metatype *out_out_a_varDecls, modelica_metatype *out_out_a_preExp);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__796,2,0) {(void*) boxptr_CodegenCFunctions_fun__796,0}};
#define boxvar_CodegenCFunctions_fun__796 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__796)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__794(threadData_t *threadData, modelica_metatype _in_txt, modelica_string _in_mArg, modelica_metatype _in_a_subs, modelica_metatype _in_a_subsLenStr, modelica_metatype _in_a_arrayType, modelica_metatype _in_a_context, modelica_metatype _in_a_subsValuesStr, modelica_string _in_a_arrName);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__794,2,0) {(void*) boxptr_CodegenCFunctions_fun__794,0}};
#define boxvar_CodegenCFunctions_fun__794 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__794)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__793(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_context, modelica_metatype _in_a_subs, modelica_metatype _in_a_subsValuesStr, modelica_string _in_a_arrName, modelica_metatype _in_a_subsLenStr, modelica_metatype _in_a_arrayType);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__793,2,0) {(void*) boxptr_CodegenCFunctions_fun__793,0}};
#define boxvar_CodegenCFunctions_fun__793 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__793)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__792(threadData_t *threadData, modelica_metatype _in_txt, modelica_boolean _in_mArg, modelica_metatype _in_a_subs);
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__792(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_mArg, modelica_metatype _in_a_subs);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__792,2,0) {(void*) boxptr_CodegenCFunctions_fun__792,0}};
#define boxvar_CodegenCFunctions_fun__792 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__792)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_lm__791(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_items, modelica_metatype _in_a_auxFunction, modelica_metatype _in_a_varDecls, modelica_metatype _in_a_preExp, modelica_metatype _in_a_context, modelica_metatype *out_out_a_auxFunction, modelica_metatype *out_out_a_varDecls, modelica_metatype *out_out_a_preExp);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_lm__791,2,0) {(void*) boxptr_CodegenCFunctions_lm__791,0}};
#define boxvar_CodegenCFunctions_lm__791 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_lm__791)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__789(threadData_t *threadData, modelica_metatype _in_txt, modelica_boolean _in_mArg, modelica_metatype _in_a_ecr, modelica_metatype _in_a_auxFunction, modelica_metatype _in_a_preExp, modelica_metatype _in_a_varDecls, modelica_metatype _in_a_ty, modelica_metatype _in_a_context, modelica_metatype _in_a_cr, modelica_metatype *out_out_a_auxFunction, modelica_metatype *out_out_a_preExp, modelica_metatype *out_out_a_varDecls);
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__789(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_mArg, modelica_metatype _in_a_ecr, modelica_metatype _in_a_auxFunction, modelica_metatype _in_a_preExp, modelica_metatype _in_a_varDecls, modelica_metatype _in_a_ty, modelica_metatype _in_a_context, modelica_metatype _in_a_cr, modelica_metatype *out_out_a_auxFunction, modelica_metatype *out_out_a_preExp, modelica_metatype *out_out_a_varDecls);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__789,2,0) {(void*) boxptr_CodegenCFunctions_fun__789,0}};
#define boxvar_CodegenCFunctions_fun__789 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__789)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__788(threadData_t *threadData, modelica_metatype _in_txt, modelica_boolean _in_mArg, modelica_metatype _in_a_ecr, modelica_metatype _in_a_auxFunction, modelica_metatype _in_a_preExp, modelica_metatype _in_a_varDecls, modelica_metatype _in_a_ty, modelica_metatype _in_a_cr, modelica_metatype _in_a_context, modelica_metatype *out_out_a_auxFunction, modelica_metatype *out_out_a_preExp, modelica_metatype *out_out_a_varDecls);
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__788(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_mArg, modelica_metatype _in_a_ecr, modelica_metatype _in_a_auxFunction, modelica_metatype _in_a_preExp, modelica_metatype _in_a_varDecls, modelica_metatype _in_a_ty, modelica_metatype _in_a_cr, modelica_metatype _in_a_context, modelica_metatype *out_out_a_auxFunction, modelica_metatype *out_out_a_preExp, modelica_metatype *out_out_a_varDecls);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__788,2,0) {(void*) boxptr_CodegenCFunctions_fun__788,0}};
#define boxvar_CodegenCFunctions_fun__788 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__788)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__787(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_cr, modelica_metatype _in_a_ecr, modelica_metatype _in_a_subsLenStr, modelica_metatype _in_a_arrayType, modelica_metatype _in_a_ty, modelica_metatype _in_a_context, modelica_metatype _in_a_subsValuesStr, modelica_metatype _in_a_arrName);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__787,2,0) {(void*) boxptr_CodegenCFunctions_fun__787,0}};
#define boxvar_CodegenCFunctions_fun__787 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__787)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__786(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_context, modelica_metatype _in_a_ecr, modelica_metatype _in_a_cr, modelica_metatype _in_a_subsValuesStr, modelica_metatype _in_a_subsLenStr, modelica_metatype _in_a_arrName, modelica_metatype _in_a_arrayType, modelica_metatype _in_a_ty);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__786,2,0) {(void*) boxptr_CodegenCFunctions_fun__786,0}};
#define boxvar_CodegenCFunctions_fun__786 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__786)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__785(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_ty, modelica_metatype _in_a_cr, modelica_metatype _in_a_subsValuesStr, modelica_metatype _in_a_subsLenStr, modelica_metatype _in_a_arrName, modelica_metatype _in_a_arrayType);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__785,2,0) {(void*) boxptr_CodegenCFunctions_fun__785,0}};
#define boxvar_CodegenCFunctions_fun__785 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__785)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__784(threadData_t *threadData, modelica_metatype _in_txt, modelica_integer _in_mArg, modelica_metatype _in_a_subsLenStr);
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__784(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_mArg, modelica_metatype _in_a_subsLenStr);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__784,2,0) {(void*) boxptr_CodegenCFunctions_fun__784,0}};
#define boxvar_CodegenCFunctions_fun__784 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__784)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_lm__783(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_items, modelica_metatype _in_a_auxFunction, modelica_metatype _in_a_varDecls, modelica_metatype _in_a_preExp, modelica_metatype _in_a_context, modelica_metatype *out_out_a_auxFunction, modelica_metatype *out_out_a_varDecls, modelica_metatype *out_out_a_preExp);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_lm__783,2,0) {(void*) boxptr_CodegenCFunctions_lm__783,0}};
#define boxvar_CodegenCFunctions_lm__783 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_lm__783)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__782(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_context, modelica_metatype _in_a_ecr, modelica_metatype _in_a_auxFunction, modelica_metatype _in_a_preExp, modelica_metatype _in_a_varDecls, modelica_metatype _in_a_ty, modelica_metatype _in_a_cr, modelica_metatype *out_out_a_auxFunction, modelica_metatype *out_out_a_preExp, modelica_metatype *out_out_a_varDecls);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__782,2,0) {(void*) boxptr_CodegenCFunctions_fun__782,0}};
#define boxvar_CodegenCFunctions_fun__782 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__782)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__780(threadData_t *threadData, modelica_metatype _in_txt, modelica_boolean _in_mArg, modelica_metatype _in_a_auxFunction, modelica_metatype _in_a_varDecls, modelica_metatype _in_a_preExp, modelica_metatype _in_a_context, modelica_metatype _in_a_ecr, modelica_metatype _in_a_cr, modelica_metatype *out_out_a_auxFunction, modelica_metatype *out_out_a_varDecls, modelica_metatype *out_out_a_preExp);
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__780(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_mArg, modelica_metatype _in_a_auxFunction, modelica_metatype _in_a_varDecls, modelica_metatype _in_a_preExp, modelica_metatype _in_a_context, modelica_metatype _in_a_ecr, modelica_metatype _in_a_cr, modelica_metatype *out_out_a_auxFunction, modelica_metatype *out_out_a_varDecls, modelica_metatype *out_out_a_preExp);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__780,2,0) {(void*) boxptr_CodegenCFunctions_fun__780,0}};
#define boxvar_CodegenCFunctions_fun__780 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__780)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__779(threadData_t *threadData, modelica_metatype _in_txt, modelica_boolean _in_mArg, modelica_metatype _in_a_auxFunction, modelica_metatype _in_a_varDecls, modelica_metatype _in_a_preExp, modelica_metatype _in_a_context, modelica_metatype _in_a_cr, modelica_metatype _in_a_ecr, modelica_metatype *out_out_a_auxFunction, modelica_metatype *out_out_a_varDecls, modelica_metatype *out_out_a_preExp);
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__779(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_mArg, modelica_metatype _in_a_auxFunction, modelica_metatype _in_a_varDecls, modelica_metatype _in_a_preExp, modelica_metatype _in_a_context, modelica_metatype _in_a_cr, modelica_metatype _in_a_ecr, modelica_metatype *out_out_a_auxFunction, modelica_metatype *out_out_a_varDecls, modelica_metatype *out_out_a_preExp);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__779,2,0) {(void*) boxptr_CodegenCFunctions_fun__779,0}};
#define boxvar_CodegenCFunctions_fun__779 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__779)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__778(threadData_t *threadData, modelica_metatype _in_txt, modelica_boolean _in_mArg, modelica_metatype _in_a_dims, modelica_metatype _in_a_arrayType, modelica_metatype _in_a_wrapperArray, modelica_metatype _in_a_type, modelica_metatype _in_a_auxFunction, modelica_metatype _in_a_varDecls, modelica_metatype _in_a_preExp, modelica_metatype _in_a_context, modelica_metatype _in_a_cr, modelica_metatype *out_out_a_auxFunction, modelica_metatype *out_out_a_varDecls, modelica_metatype *out_out_a_preExp);
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__778(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_mArg, modelica_metatype _in_a_dims, modelica_metatype _in_a_arrayType, modelica_metatype _in_a_wrapperArray, modelica_metatype _in_a_type, modelica_metatype _in_a_auxFunction, modelica_metatype _in_a_varDecls, modelica_metatype _in_a_preExp, modelica_metatype _in_a_context, modelica_metatype _in_a_cr, modelica_metatype *out_out_a_auxFunction, modelica_metatype *out_out_a_varDecls, modelica_metatype *out_out_a_preExp);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__778,2,0) {(void*) boxptr_CodegenCFunctions_fun__778,0}};
#define boxvar_CodegenCFunctions_fun__778 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__778)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_lm__777(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_items, modelica_metatype _in_a_auxFunction, modelica_metatype _in_a_varDecls, modelica_metatype _in_a_preExp, modelica_metatype _in_a_context, modelica_metatype *out_out_a_auxFunction, modelica_metatype *out_out_a_varDecls, modelica_metatype *out_out_a_preExp);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_lm__777,2,0) {(void*) boxptr_CodegenCFunctions_lm__777,0}};
#define boxvar_CodegenCFunctions_lm__777 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_lm__777)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_lm__776(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_items, modelica_metatype _in_a_auxFunction, modelica_metatype _in_a_varDecls, modelica_metatype _in_a_preExp, modelica_metatype _in_a_context, modelica_metatype *out_out_a_auxFunction, modelica_metatype *out_out_a_varDecls, modelica_metatype *out_out_a_preExp);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_lm__776,2,0) {(void*) boxptr_CodegenCFunctions_lm__776,0}};
#define boxvar_CodegenCFunctions_lm__776 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_lm__776)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_lm__775(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_items, modelica_metatype _in_a_auxFunction, modelica_metatype _in_a_varDecls, modelica_metatype _in_a_preExp, modelica_metatype _in_a_context, modelica_metatype _in_a_cr, modelica_metatype *out_out_a_auxFunction, modelica_metatype *out_out_a_varDecls, modelica_metatype *out_out_a_preExp);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_lm__775,2,0) {(void*) boxptr_CodegenCFunctions_lm__775,0}};
#define boxvar_CodegenCFunctions_lm__775 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_lm__775)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__773(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_context, modelica_metatype _in_a_auxFunction, modelica_metatype _in_a_varDecls, modelica_metatype _in_a_preExp, modelica_metatype _in_a_exp, modelica_metatype *out_out_a_auxFunction, modelica_metatype *out_out_a_varDecls, modelica_metatype *out_out_a_preExp);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__773,2,0) {(void*) boxptr_CodegenCFunctions_fun__773,0}};
#define boxvar_CodegenCFunctions_fun__773 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__773)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__771(threadData_t *threadData, modelica_metatype _in_txt, modelica_integer _in_mArg);
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__771(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_mArg);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__771,2,0) {(void*) boxptr_CodegenCFunctions_fun__771,0}};
#define boxvar_CodegenCFunctions_fun__771 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__771)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__769(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_exp);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__769,2,0) {(void*) boxptr_CodegenCFunctions_fun__769,0}};
#define boxvar_CodegenCFunctions_fun__769 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__769)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_lm__767(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_items);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_lm__767,2,0) {(void*) boxptr_CodegenCFunctions_lm__767,0}};
#define boxvar_CodegenCFunctions_lm__767 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_lm__767)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__764(threadData_t *threadData, modelica_metatype _in_txt, modelica_boolean _in_mArg, modelica_integer _in_a_numVariables);
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__764(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_mArg, modelica_metatype _in_a_numVariables);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__764,2,0) {(void*) boxptr_CodegenCFunctions_fun__764,0}};
#define boxvar_CodegenCFunctions_fun__764 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__764)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__762(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_args, modelica_metatype _in_a_auxFunction, modelica_metatype _in_a_varDecls, modelica_metatype _in_a_preExp, modelica_metatype _in_a_context, modelica_metatype *out_out_a_auxFunction, modelica_metatype *out_out_a_varDecls, modelica_metatype *out_out_a_preExp);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__762,2,0) {(void*) boxptr_CodegenCFunctions_fun__762,0}};
#define boxvar_CodegenCFunctions_fun__762 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__762)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_lm__761(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_items, modelica_metatype _in_a_auxFunction, modelica_metatype _in_a_varDecls, modelica_metatype _in_a_preExp, modelica_metatype _in_a_context, modelica_metatype *out_out_a_auxFunction, modelica_metatype *out_out_a_varDecls, modelica_metatype *out_out_a_preExp);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_lm__761,2,0) {(void*) boxptr_CodegenCFunctions_lm__761,0}};
#define boxvar_CodegenCFunctions_lm__761 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_lm__761)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__758(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_args);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__758,2,0) {(void*) boxptr_CodegenCFunctions_fun__758,0}};
#define boxvar_CodegenCFunctions_fun__758 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__758)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_lm__757(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_items, modelica_metatype _in_a_auxFunction, modelica_metatype _in_a_varDecls, modelica_metatype _in_a_preExp, modelica_metatype _in_a_context, modelica_metatype *out_out_a_auxFunction, modelica_metatype *out_out_a_varDecls, modelica_metatype *out_out_a_preExp);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_lm__757,2,0) {(void*) boxptr_CodegenCFunctions_lm__757,0}};
#define boxvar_CodegenCFunctions_lm__757 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_lm__757)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_lm__755(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_items, modelica_metatype _in_a_auxFunction, modelica_metatype _in_a_varDecls, modelica_metatype _in_a_preExp, modelica_metatype _in_a_context, modelica_metatype _in_a_tmpVar, modelica_metatype *out_out_a_auxFunction, modelica_metatype *out_out_a_varDecls, modelica_metatype *out_out_a_preExp);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_lm__755,2,0) {(void*) boxptr_CodegenCFunctions_lm__755,0}};
#define boxvar_CodegenCFunctions_lm__755 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_lm__755)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_lm__753(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_items);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_lm__753,2,0) {(void*) boxptr_CodegenCFunctions_lm__753,0}};
#define boxvar_CodegenCFunctions_lm__753 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_lm__753)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__748(threadData_t *threadData, modelica_metatype _in_txt, modelica_integer _in_mArg, modelica_metatype _in_a_escstr, modelica_metatype _in_a_varDecls, modelica_string _in_a_string, modelica_metatype *out_out_a_varDecls);
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__748(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_mArg, modelica_metatype _in_a_escstr, modelica_metatype _in_a_varDecls, modelica_metatype _in_a_string, modelica_metatype *out_out_a_varDecls);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__748,2,0) {(void*) boxptr_CodegenCFunctions_fun__748,0}};
#define boxvar_CodegenCFunctions_fun__748 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__748)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__746(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_mArg, modelica_metatype _in_a_exp, modelica_metatype _in_a_context, modelica_metatype _in_a_preExp, modelica_metatype _in_a_varDecls, modelica_metatype _in_a_auxFunction, modelica_metatype *out_out_a_preExp, modelica_metatype *out_out_a_varDecls, modelica_metatype *out_out_a_auxFunction);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__746,2,0) {(void*) boxptr_CodegenCFunctions_fun__746,0}};
#define boxvar_CodegenCFunctions_fun__746 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__746)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__744(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_mArg, modelica_metatype _in_a_exp, modelica_metatype _in_a_context, modelica_metatype _in_a_preExp, modelica_metatype _in_a_varDecls, modelica_metatype _in_a_auxFunction, modelica_metatype *out_out_a_preExp, modelica_metatype *out_out_a_varDecls, modelica_metatype *out_out_a_auxFunction);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__744,2,0) {(void*) boxptr_CodegenCFunctions_fun__744,0}};
#define boxvar_CodegenCFunctions_fun__744 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__744)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__742(threadData_t *threadData, modelica_metatype _in_txt, modelica_boolean _in_mArg, modelica_metatype _in_a_res1, modelica_metatype _in_a_preExp, modelica_metatype _in_a_varDecls, modelica_metatype _in_a_exp, modelica_metatype *out_out_a_preExp, modelica_metatype *out_out_a_varDecls);
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__742(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_mArg, modelica_metatype _in_a_res1, modelica_metatype _in_a_preExp, modelica_metatype _in_a_varDecls, modelica_metatype _in_a_exp, modelica_metatype *out_out_a_preExp, modelica_metatype *out_out_a_varDecls);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__742,2,0) {(void*) boxptr_CodegenCFunctions_fun__742,0}};
#define boxvar_CodegenCFunctions_fun__742 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__742)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__740(threadData_t *threadData, modelica_metatype _in_txt, modelica_string _in_mArg);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__740,2,0) {(void*) boxptr_CodegenCFunctions_fun__740,0}};
#define boxvar_CodegenCFunctions_fun__740 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__740)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__738(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_mArg, modelica_metatype _in_a_exp, modelica_metatype _in_a_context, modelica_metatype _in_a_preExp, modelica_metatype _in_a_varDecls, modelica_metatype _in_a_auxFunction, modelica_metatype *out_out_a_preExp, modelica_metatype *out_out_a_varDecls, modelica_metatype *out_out_a_auxFunction);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__738,2,0) {(void*) boxptr_CodegenCFunctions_fun__738,0}};
#define boxvar_CodegenCFunctions_fun__738 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__738)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__736(threadData_t *threadData, modelica_metatype _in_txt, modelica_string _in_mArg, modelica_string _in_a_prefix, modelica_integer _in_a_index, modelica_string _in_a_startIndex);
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__736(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_mArg, modelica_metatype _in_a_prefix, modelica_metatype _in_a_index, modelica_metatype _in_a_startIndex);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__736,2,0) {(void*) boxptr_CodegenCFunctions_fun__736,0}};
#define boxvar_CodegenCFunctions_fun__736 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__736)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__734(threadData_t *threadData, modelica_metatype _in_txt, modelica_string _in_a_ty, modelica_metatype _in_a_varDecls, modelica_string _in_a_prefix, modelica_string _in_a_index, modelica_string _in_a_startIndex, modelica_metatype *out_out_a_varDecls);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__734,2,0) {(void*) boxptr_CodegenCFunctions_fun__734,0}};
#define boxvar_CodegenCFunctions_fun__734 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__734)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__731(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_matchTy);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__731,2,0) {(void*) boxptr_CodegenCFunctions_fun__731,0}};
#define boxvar_CodegenCFunctions_fun__731 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__731)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__729(threadData_t *threadData, modelica_metatype _in_txt, modelica_string _in_a_ty, modelica_metatype _in_a_varDecls, modelica_metatype *out_out_a_varDecls);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__729,2,0) {(void*) boxptr_CodegenCFunctions_fun__729,0}};
#define boxvar_CodegenCFunctions_fun__729 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__729)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__726(threadData_t *threadData, modelica_metatype _in_txt, modelica_string _in_a_ty, modelica_metatype _in_a_varDecls, modelica_metatype *out_out_a_varDecls);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__726,2,0) {(void*) boxptr_CodegenCFunctions_fun__726,0}};
#define boxvar_CodegenCFunctions_fun__726 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__726)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__724(threadData_t *threadData, modelica_metatype _in_txt, modelica_boolean _in_mArg);
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__724(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_mArg);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__724,2,0) {(void*) boxptr_CodegenCFunctions_fun__724,0}};
#define boxvar_CodegenCFunctions_fun__724 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__724)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__722(threadData_t *threadData, modelica_metatype _in_txt, modelica_boolean _in_mArg, modelica_metatype _in_a_info);
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__722(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_mArg, modelica_metatype _in_a_info);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__722,2,0) {(void*) boxptr_CodegenCFunctions_fun__722,0}};
#define boxvar_CodegenCFunctions_fun__722 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__722)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__721(threadData_t *threadData, modelica_metatype _in_txt, modelica_boolean _in_mArg, modelica_metatype _in_a_info);
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__721(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_mArg, modelica_metatype _in_a_info);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__721,2,0) {(void*) boxptr_CodegenCFunctions_fun__721,0}};
#define boxvar_CodegenCFunctions_fun__721 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__721)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__720(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_info);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__720,2,0) {(void*) boxptr_CodegenCFunctions_fun__720,0}};
#define boxvar_CodegenCFunctions_fun__720 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__720)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__719(threadData_t *threadData, modelica_metatype _in_txt, modelica_boolean _in_mArg, modelica_metatype _in_a_info);
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__719(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_mArg, modelica_metatype _in_a_info);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__719,2,0) {(void*) boxptr_CodegenCFunctions_fun__719,0}};
#define boxvar_CodegenCFunctions_fun__719 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__719)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__717(threadData_t *threadData, modelica_metatype _in_txt, modelica_integer _in_mArg);
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__717(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_mArg);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__717,2,0) {(void*) boxptr_CodegenCFunctions_fun__717,0}};
#define boxvar_CodegenCFunctions_fun__717 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__717)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__713(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_context, modelica_metatype _in_a_cr);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__713,2,0) {(void*) boxptr_CodegenCFunctions_fun__713,0}};
#define boxvar_CodegenCFunctions_fun__713 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__713)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__709(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_mArg);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__709,2,0) {(void*) boxptr_CodegenCFunctions_fun__709,0}};
#define boxvar_CodegenCFunctions_fun__709 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__709)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__707(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_mArg, modelica_metatype _in_a_cr, modelica_boolean _in_a_isStart, modelica_boolean _in_a_isPre, modelica_integer _in_a_ix);
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__707(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_mArg, modelica_metatype _in_a_cr, modelica_metatype _in_a_isStart, modelica_metatype _in_a_isPre, modelica_metatype _in_a_ix);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__707,2,0) {(void*) boxptr_CodegenCFunctions_fun__707,0}};
#define boxvar_CodegenCFunctions_fun__707 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__707)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__706(threadData_t *threadData, modelica_metatype _in_txt, modelica_boolean _in_mArg, modelica_integer _in_a_ix, modelica_metatype _in_a_s);
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__706(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_mArg, modelica_metatype _in_a_ix, modelica_metatype _in_a_s);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__706,2,0) {(void*) boxptr_CodegenCFunctions_fun__706,0}};
#define boxvar_CodegenCFunctions_fun__706 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__706)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__705(threadData_t *threadData, modelica_metatype _in_txt, modelica_boolean _in_a_isPre, modelica_metatype _in_a_cr);
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__705(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_isPre, modelica_metatype _in_a_cr);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__705,2,0) {(void*) boxptr_CodegenCFunctions_fun__705,0}};
#define boxvar_CodegenCFunctions_fun__705 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__705)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__704(threadData_t *threadData, modelica_metatype _in_txt, modelica_boolean _in_a_isPre, modelica_metatype _in_a_cr, modelica_boolean _in_a_isStart, modelica_integer _in_a_ix, modelica_metatype _in_a_componentRef);
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__704(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_isPre, modelica_metatype _in_a_cr, modelica_metatype _in_a_isStart, modelica_metatype _in_a_ix, modelica_metatype _in_a_componentRef);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__704,2,0) {(void*) boxptr_CodegenCFunctions_fun__704,0}};
#define boxvar_CodegenCFunctions_fun__704 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__704)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__698(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_mArg, modelica_metatype _in_a_cr, modelica_metatype _in_a_context, modelica_metatype _in_a_preExp, modelica_metatype _in_a_varDecls, modelica_metatype _in_a_auxFunction, modelica_metatype *out_out_a_preExp, modelica_metatype *out_out_a_varDecls, modelica_metatype *out_out_a_auxFunction);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__698,2,0) {(void*) boxptr_CodegenCFunctions_fun__698,0}};
#define boxvar_CodegenCFunctions_fun__698 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__698)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__697(threadData_t *threadData, modelica_metatype _in_txt, modelica_boolean _in_mArg, modelica_metatype _in_a_auxFunction, modelica_metatype _in_a_varDecls, modelica_metatype _in_a_preExp, modelica_metatype _in_a_context, modelica_metatype _in_a_startExp, modelica_metatype _in_a_cr, modelica_metatype *out_out_a_auxFunction, modelica_metatype *out_out_a_varDecls, modelica_metatype *out_out_a_preExp);
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__697(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_mArg, modelica_metatype _in_a_auxFunction, modelica_metatype _in_a_varDecls, modelica_metatype _in_a_preExp, modelica_metatype _in_a_context, modelica_metatype _in_a_startExp, modelica_metatype _in_a_cr, modelica_metatype *out_out_a_auxFunction, modelica_metatype *out_out_a_varDecls, modelica_metatype *out_out_a_preExp);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__697,2,0) {(void*) boxptr_CodegenCFunctions_fun__697,0}};
#define boxvar_CodegenCFunctions_fun__697 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__697)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__694(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_context, modelica_string _in_a_name);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__694,2,0) {(void*) boxptr_CodegenCFunctions_fun__694,0}};
#define boxvar_CodegenCFunctions_fun__694 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__694)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__692(threadData_t *threadData, modelica_metatype _in_txt, modelica_boolean _in_a_isPre, modelica_metatype _in_a_cr, modelica_metatype _in_a_context, modelica_metatype _in_a_auxFunction, modelica_metatype *out_out_a_auxFunction);
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__692(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_isPre, modelica_metatype _in_a_cr, modelica_metatype _in_a_context, modelica_metatype _in_a_auxFunction, modelica_metatype *out_out_a_auxFunction);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__692,2,0) {(void*) boxptr_CodegenCFunctions_fun__692,0}};
#define boxvar_CodegenCFunctions_fun__692 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__692)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__690(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_context, modelica_metatype _in_a_cr, modelica_integer _in_a_ix);
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__690(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_context, modelica_metatype _in_a_cr, modelica_metatype _in_a_ix);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__690,2,0) {(void*) boxptr_CodegenCFunctions_fun__690,0}};
#define boxvar_CodegenCFunctions_fun__690 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__690)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__689(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_mArg, modelica_integer _in_a_ix, modelica_metatype _in_a_cr);
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__689(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_mArg, modelica_metatype _in_a_ix, modelica_metatype _in_a_cr);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__689,2,0) {(void*) boxptr_CodegenCFunctions_fun__689,0}};
#define boxvar_CodegenCFunctions_fun__689 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__689)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__687(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_context, modelica_metatype _in_a_cr, modelica_metatype _in_a_auxFunction, modelica_integer _in_a_ix, modelica_metatype *out_out_a_auxFunction);
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__687(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_context, modelica_metatype _in_a_cr, modelica_metatype _in_a_auxFunction, modelica_metatype _in_a_ix, modelica_metatype *out_out_a_auxFunction);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__687,2,0) {(void*) boxptr_CodegenCFunctions_fun__687,0}};
#define boxvar_CodegenCFunctions_fun__687 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__687)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__686(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_cr, modelica_metatype _in_a_auxFunction, modelica_metatype _in_a_context, modelica_metatype *out_out_a_auxFunction);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__686,2,0) {(void*) boxptr_CodegenCFunctions_fun__686,0}};
#define boxvar_CodegenCFunctions_fun__686 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__686)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_lm__685(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_items, modelica_metatype _in_a_auxFunction, modelica_metatype _in_a_varDecls, modelica_metatype _in_a_preExp, modelica_metatype _in_a_context, modelica_metatype *out_out_a_auxFunction, modelica_metatype *out_out_a_varDecls, modelica_metatype *out_out_a_preExp);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_lm__685,2,0) {(void*) boxptr_CodegenCFunctions_lm__685,0}};
#define boxvar_CodegenCFunctions_lm__685 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_lm__685)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__683(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_cr, modelica_metatype _in_a_context, modelica_metatype _in_a_pref, modelica_metatype _in_a_preExp, modelica_metatype _in_a_varDecls, modelica_metatype _in_a_auxFunction, modelica_metatype *out_out_a_preExp, modelica_metatype *out_out_a_varDecls, modelica_metatype *out_out_a_auxFunction);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__683,2,0) {(void*) boxptr_CodegenCFunctions_fun__683,0}};
#define boxvar_CodegenCFunctions_fun__683 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__683)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_lm__682(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_items, modelica_metatype _in_a_auxFunction, modelica_metatype _in_a_varDecls, modelica_metatype _in_a_preExp, modelica_metatype _in_a_context, modelica_metatype *out_out_a_auxFunction, modelica_metatype *out_out_a_varDecls, modelica_metatype *out_out_a_preExp);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_lm__682,2,0) {(void*) boxptr_CodegenCFunctions_lm__682,0}};
#define boxvar_CodegenCFunctions_lm__682 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_lm__682)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_lm__681(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_items, modelica_metatype _in_a_auxFunction, modelica_metatype _in_a_varDecls, modelica_metatype _in_a_preExp, modelica_metatype _in_a_context, modelica_metatype *out_out_a_auxFunction, modelica_metatype *out_out_a_varDecls, modelica_metatype *out_out_a_preExp);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_lm__681,2,0) {(void*) boxptr_CodegenCFunctions_lm__681,0}};
#define boxvar_CodegenCFunctions_lm__681 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_lm__681)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__679(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_cr, modelica_metatype _in_a_context, modelica_metatype _in_a_pref, modelica_metatype _in_a_preExp, modelica_metatype _in_a_varDecls, modelica_metatype _in_a_auxFunction, modelica_metatype *out_out_a_preExp, modelica_metatype *out_out_a_varDecls, modelica_metatype *out_out_a_auxFunction);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__679,2,0) {(void*) boxptr_CodegenCFunctions_fun__679,0}};
#define boxvar_CodegenCFunctions_fun__679 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__679)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_lm__678(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_items, modelica_metatype _in_a_auxFunction, modelica_metatype _in_a_varDecls, modelica_metatype _in_a_preExp, modelica_metatype _in_a_context, modelica_metatype *out_out_a_auxFunction, modelica_metatype *out_out_a_varDecls, modelica_metatype *out_out_a_preExp);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_lm__678,2,0) {(void*) boxptr_CodegenCFunctions_lm__678,0}};
#define boxvar_CodegenCFunctions_lm__678 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_lm__678)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_lm__677(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_items, modelica_metatype _in_a_auxFunction, modelica_metatype _in_a_varDecls, modelica_metatype _in_a_preExp, modelica_metatype _in_a_context, modelica_metatype *out_out_a_auxFunction, modelica_metatype *out_out_a_varDecls, modelica_metatype *out_out_a_preExp);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_lm__677,2,0) {(void*) boxptr_CodegenCFunctions_lm__677,0}};
#define boxvar_CodegenCFunctions_lm__677 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_lm__677)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__675(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_context, modelica_metatype _in_a_cr, modelica_metatype _in_a_preExp, modelica_metatype _in_a_varDecls, modelica_metatype _in_a_auxFunction, modelica_metatype *out_out_a_preExp, modelica_metatype *out_out_a_varDecls, modelica_metatype *out_out_a_auxFunction);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__675,2,0) {(void*) boxptr_CodegenCFunctions_fun__675,0}};
#define boxvar_CodegenCFunctions_fun__675 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__675)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__674(threadData_t *threadData, modelica_metatype _in_txt, modelica_string _in_mArg, modelica_metatype _in_a_context, modelica_metatype _in_a_cr);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__674,2,0) {(void*) boxptr_CodegenCFunctions_fun__674,0}};
#define boxvar_CodegenCFunctions_fun__674 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__674)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__671(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_context, modelica_metatype _in_a_condVar, modelica_metatype _in_a_msgVar, modelica_metatype _in_a_info);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__671,2,0) {(void*) boxptr_CodegenCFunctions_fun__671,0}};
#define boxvar_CodegenCFunctions_fun__671 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__671)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__668(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_level, modelica_metatype _in_a_warningTriggered);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__668,2,0) {(void*) boxptr_CodegenCFunctions_fun__668,0}};
#define boxvar_CodegenCFunctions_fun__668 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__668)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__667(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_level, modelica_metatype _in_a_warningTriggered);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__667,2,0) {(void*) boxptr_CodegenCFunctions_fun__667,0}};
#define boxvar_CodegenCFunctions_fun__667 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__667)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__666(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_level, modelica_metatype _in_a_AddionalFuncName);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__666,2,0) {(void*) boxptr_CodegenCFunctions_fun__666,0}};
#define boxvar_CodegenCFunctions_fun__666 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__666)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__665(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_context, modelica_metatype _in_a_condition);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__665,2,0) {(void*) boxptr_CodegenCFunctions_fun__665,0}};
#define boxvar_CodegenCFunctions_fun__665 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__665)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__664(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_context);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__664,2,0) {(void*) boxptr_CodegenCFunctions_fun__664,0}};
#define boxvar_CodegenCFunctions_fun__664 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__664)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__663(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_context);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__663,2,0) {(void*) boxptr_CodegenCFunctions_fun__663,0}};
#define boxvar_CodegenCFunctions_fun__663 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__663)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_lm__662(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_items, modelica_metatype _in_a_auxFunction, modelica_metatype _in_a_varDecls, modelica_metatype _in_a_preExpMsg, modelica_metatype _in_a_context, modelica_metatype *out_out_a_auxFunction, modelica_metatype *out_out_a_varDecls, modelica_metatype *out_out_a_preExpMsg);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_lm__662,2,0) {(void*) boxptr_CodegenCFunctions_lm__662,0}};
#define boxvar_CodegenCFunctions_lm__662 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_lm__662)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__660(threadData_t *threadData, modelica_metatype _in_txt, modelica_boolean _in_a_isReadOnly);
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__660(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_isReadOnly);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__660,2,0) {(void*) boxptr_CodegenCFunctions_fun__660,0}};
#define boxvar_CodegenCFunctions_fun__660 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__660)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_lm__658(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_items, modelica_metatype _in_a_assignments, modelica_metatype _in_a_onPatternFail, modelica_metatype _in_a_rhs, modelica_metatype _in_a_varDecls, modelica_metatype *out_out_a_assignments, modelica_metatype *out_out_a_onPatternFail, modelica_metatype *out_out_a_varDecls);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_lm__658,2,0) {(void*) boxptr_CodegenCFunctions_lm__658,0}};
#define boxvar_CodegenCFunctions_lm__658 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_lm__658)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__657(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_p, modelica_metatype _in_a_assignments, modelica_metatype _in_a_onPatternFail, modelica_integer _in_a_i2, modelica_metatype _in_a_rhs, modelica_metatype _in_a_varDecls, modelica_metatype *out_out_a_assignments, modelica_metatype *out_out_a_onPatternFail, modelica_metatype *out_out_a_varDecls);
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__657(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_p, modelica_metatype _in_a_assignments, modelica_metatype _in_a_onPatternFail, modelica_metatype _in_a_i2, modelica_metatype _in_a_rhs, modelica_metatype _in_a_varDecls, modelica_metatype *out_out_a_assignments, modelica_metatype *out_out_a_onPatternFail, modelica_metatype *out_out_a_varDecls);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__657,2,0) {(void*) boxptr_CodegenCFunctions_fun__657,0}};
#define boxvar_CodegenCFunctions_fun__657 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__657)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__656(threadData_t *threadData, modelica_metatype _in_txt, modelica_boolean _in_a_knownSingleton, modelica_metatype _in_a_onPatternFail, modelica_metatype _in_a_patterns, modelica_integer _in_a_index, modelica_metatype _in_a_rhs);
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__656(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_knownSingleton, modelica_metatype _in_a_onPatternFail, modelica_metatype _in_a_patterns, modelica_metatype _in_a_index, modelica_metatype _in_a_rhs);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__656,2,0) {(void*) boxptr_CodegenCFunctions_fun__656,0}};
#define boxvar_CodegenCFunctions_fun__656 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__656)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_lm__655(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_items, modelica_metatype _in_a_assignments, modelica_metatype _in_a_onPatternFail, modelica_metatype _in_a_rhs, modelica_metatype _in_a_varDecls, modelica_metatype *out_out_a_assignments, modelica_metatype *out_out_a_onPatternFail, modelica_metatype *out_out_a_varDecls);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_lm__655,2,0) {(void*) boxptr_CodegenCFunctions_lm__655,0}};
#define boxvar_CodegenCFunctions_lm__655 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_lm__655)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__654(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_p, modelica_metatype _in_a_assignments, modelica_metatype _in_a_onPatternFail, modelica_string _in_a_n, modelica_metatype _in_a_rhs, modelica_metatype _in_a_varDecls, modelica_metatype _in_a_t, modelica_metatype *out_out_a_assignments, modelica_metatype *out_out_a_onPatternFail, modelica_metatype *out_out_a_varDecls);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__654,2,0) {(void*) boxptr_CodegenCFunctions_fun__654,0}};
#define boxvar_CodegenCFunctions_fun__654 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__654)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_lm__653(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_items, modelica_metatype _in_a_assignments, modelica_metatype _in_a_varDecls, modelica_metatype _in_a_onPatternFail, modelica_metatype _in_a_rhs, modelica_metatype *out_out_a_assignments, modelica_metatype *out_out_a_varDecls, modelica_metatype *out_out_a_onPatternFail);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_lm__653,2,0) {(void*) boxptr_CodegenCFunctions_lm__653,0}};
#define boxvar_CodegenCFunctions_lm__653 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_lm__653)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__652(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_p, modelica_metatype _in_a_assignments, modelica_metatype _in_a_varDecls, modelica_metatype _in_a_onPatternFail, modelica_integer _in_a_i1, modelica_metatype _in_a_rhs, modelica_metatype *out_out_a_assignments, modelica_metatype *out_out_a_varDecls, modelica_metatype *out_out_a_onPatternFail);
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__652(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_p, modelica_metatype _in_a_assignments, modelica_metatype _in_a_varDecls, modelica_metatype _in_a_onPatternFail, modelica_metatype _in_a_i1, modelica_metatype _in_a_rhs, modelica_metatype *out_out_a_assignments, modelica_metatype *out_out_a_varDecls, modelica_metatype *out_out_a_onPatternFail);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__652,2,0) {(void*) boxptr_CodegenCFunctions_fun__652,0}};
#define boxvar_CodegenCFunctions_fun__652 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__652)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_lm__651(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_items, modelica_metatype _in_a_assignments, modelica_metatype _in_a_onPatternFail, modelica_metatype _in_a_rhs, modelica_metatype _in_a_varDecls, modelica_metatype *out_out_a_assignments, modelica_metatype *out_out_a_onPatternFail, modelica_metatype *out_out_a_varDecls);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_lm__651,2,0) {(void*) boxptr_CodegenCFunctions_lm__651,0}};
#define boxvar_CodegenCFunctions_lm__651 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_lm__651)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__650(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_p, modelica_metatype _in_a_assignments, modelica_metatype _in_a_onPatternFail, modelica_integer _in_a_i1, modelica_metatype _in_a_rhs, modelica_metatype _in_a_varDecls, modelica_metatype *out_out_a_assignments, modelica_metatype *out_out_a_onPatternFail, modelica_metatype *out_out_a_varDecls);
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__650(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_p, modelica_metatype _in_a_assignments, modelica_metatype _in_a_onPatternFail, modelica_metatype _in_a_i1, modelica_metatype _in_a_rhs, modelica_metatype _in_a_varDecls, modelica_metatype *out_out_a_assignments, modelica_metatype *out_out_a_onPatternFail, modelica_metatype *out_out_a_varDecls);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__650,2,0) {(void*) boxptr_CodegenCFunctions_fun__650,0}};
#define boxvar_CodegenCFunctions_fun__650 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__650)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__649(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_p_exp, modelica_metatype _in_a_onPatternFail, modelica_metatype _in_a_urhs);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__649,2,0) {(void*) boxptr_CodegenCFunctions_fun__649,0}};
#define boxvar_CodegenCFunctions_fun__649 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__649)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__648(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_p_ty, modelica_metatype _in_a_varDecls, modelica_metatype _in_a_unboxBuf, modelica_metatype _in_a_rhs, modelica_metatype *out_out_a_varDecls, modelica_metatype *out_out_a_unboxBuf);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__648,2,0) {(void*) boxptr_CodegenCFunctions_fun__648,0}};
#define boxvar_CodegenCFunctions_fun__648 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__648)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__646(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_pat, modelica_metatype _in_a_assignments1, modelica_metatype _in_a_varDecls, modelica_metatype _in_a_ty, modelica_metatype _in_a_assignments, modelica_metatype _in_a_matchPhase, modelica_metatype _in_a_expPart, modelica_metatype _in_a_preExp, modelica_metatype *out_out_a_assignments1, modelica_metatype *out_out_a_varDecls);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__646,2,0) {(void*) boxptr_CodegenCFunctions_fun__646,0}};
#define boxvar_CodegenCFunctions_fun__646 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__646)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_lm__645(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_items, modelica_metatype _in_a_assignments, modelica_metatype _in_a_matchPhase, modelica_metatype _in_a_varDecls, modelica_metatype _in_a_additionalOutputs, modelica_metatype *out_out_a_assignments, modelica_metatype *out_out_a_matchPhase, modelica_metatype *out_out_a_varDecls, modelica_metatype *out_out_a_additionalOutputs);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_lm__645,2,0) {(void*) boxptr_CodegenCFunctions_lm__645,0}};
#define boxvar_CodegenCFunctions_lm__645 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_lm__645)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__644(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_pat, modelica_metatype _in_a_assignments, modelica_metatype _in_a_matchPhase, modelica_metatype _in_a_varDecls, modelica_metatype _in_a_ty, modelica_metatype _in_a_additionalOutputs, modelica_metatype *out_out_a_assignments, modelica_metatype *out_out_a_matchPhase, modelica_metatype *out_out_a_varDecls, modelica_metatype *out_out_a_additionalOutputs);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__644,2,0) {(void*) boxptr_CodegenCFunctions_fun__644,0}};
#define boxvar_CodegenCFunctions_fun__644 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__644)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__642(threadData_t *threadData, modelica_metatype _in_txt, modelica_boolean _in_mArg, modelica_integer _in_a_integer);
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__642(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_mArg, modelica_metatype _in_a_integer);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__642,2,0) {(void*) boxptr_CodegenCFunctions_fun__642,0}};
#define boxvar_CodegenCFunctions_fun__642 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__642)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__640(threadData_t *threadData, modelica_metatype _in_txt, modelica_integer _in_a_flag);
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__640(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_flag);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__640,2,0) {(void*) boxptr_CodegenCFunctions_fun__640,0}};
#define boxvar_CodegenCFunctions_fun__640 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__640)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__639(threadData_t *threadData, modelica_metatype _in_txt, modelica_integer _in_a_flag);
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__639(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_flag);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__639,2,0) {(void*) boxptr_CodegenCFunctions_fun__639,0}};
#define boxvar_CodegenCFunctions_fun__639 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__639)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__638(threadData_t *threadData, modelica_metatype _in_txt, modelica_integer _in_a_flag);
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__638(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_flag);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__638,2,0) {(void*) boxptr_CodegenCFunctions_fun__638,0}};
#define boxvar_CodegenCFunctions_fun__638 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__638)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__636(threadData_t *threadData, modelica_metatype _in_txt, modelica_integer _in_a_flag);
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__636(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_flag);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__636,2,0) {(void*) boxptr_CodegenCFunctions_fun__636,0}};
#define boxvar_CodegenCFunctions_fun__636 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__636)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__635(threadData_t *threadData, modelica_metatype _in_txt, modelica_integer _in_a_flag);
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__635(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_flag);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__635,2,0) {(void*) boxptr_CodegenCFunctions_fun__635,0}};
#define boxvar_CodegenCFunctions_fun__635 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__635)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__634(threadData_t *threadData, modelica_metatype _in_txt, modelica_integer _in_a_flag);
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__634(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_flag);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__634,2,0) {(void*) boxptr_CodegenCFunctions_fun__634,0}};
#define boxvar_CodegenCFunctions_fun__634 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__634)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__633(threadData_t *threadData, modelica_metatype _in_txt, modelica_integer _in_a_flag);
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__633(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_flag);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__633,2,0) {(void*) boxptr_CodegenCFunctions_fun__633,0}};
#define boxvar_CodegenCFunctions_fun__633 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__633)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__632(threadData_t *threadData, modelica_metatype _in_txt, modelica_integer _in_a_flag);
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__632(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_flag);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__632,2,0) {(void*) boxptr_CodegenCFunctions_fun__632,0}};
#define boxvar_CodegenCFunctions_fun__632 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__632)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__631(threadData_t *threadData, modelica_metatype _in_txt, modelica_integer _in_a_flag);
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__631(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_flag);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__631,2,0) {(void*) boxptr_CodegenCFunctions_fun__631,0}};
#define boxvar_CodegenCFunctions_fun__631 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__631)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__630(threadData_t *threadData, modelica_metatype _in_txt, modelica_integer _in_a_flag);
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__630(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_flag);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__630,2,0) {(void*) boxptr_CodegenCFunctions_fun__630,0}};
#define boxvar_CodegenCFunctions_fun__630 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__630)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__629(threadData_t *threadData, modelica_metatype _in_txt, modelica_integer _in_a_flag);
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__629(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_flag);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__629,2,0) {(void*) boxptr_CodegenCFunctions_fun__629,0}};
#define boxvar_CodegenCFunctions_fun__629 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__629)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__628(threadData_t *threadData, modelica_metatype _in_txt, modelica_integer _in_a_flag);
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__628(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_flag);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__628,2,0) {(void*) boxptr_CodegenCFunctions_fun__628,0}};
#define boxvar_CodegenCFunctions_fun__628 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__628)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__627(threadData_t *threadData, modelica_metatype _in_txt, modelica_integer _in_a_flag);
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__627(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_flag);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__627,2,0) {(void*) boxptr_CodegenCFunctions_fun__627,0}};
#define boxvar_CodegenCFunctions_fun__627 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__627)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__626(threadData_t *threadData, modelica_metatype _in_txt, modelica_integer _in_a_flag);
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__626(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_flag);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__626,2,0) {(void*) boxptr_CodegenCFunctions_fun__626,0}};
#define boxvar_CodegenCFunctions_fun__626 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__626)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__625(threadData_t *threadData, modelica_metatype _in_txt, modelica_integer _in_a_flag);
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__625(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_flag);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__625,2,0) {(void*) boxptr_CodegenCFunctions_fun__625,0}};
#define boxvar_CodegenCFunctions_fun__625 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__625)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__623(threadData_t *threadData, modelica_metatype _in_txt, modelica_integer _in_a_flag, modelica_metatype _in_a_ty);
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__623(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_flag, modelica_metatype _in_a_ty);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__623,2,0) {(void*) boxptr_CodegenCFunctions_fun__623,0}};
#define boxvar_CodegenCFunctions_fun__623 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__623)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__622(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_ty);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__622,2,0) {(void*) boxptr_CodegenCFunctions_fun__622,0}};
#define boxvar_CodegenCFunctions_fun__622 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__622)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__621(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_ty);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__621,2,0) {(void*) boxptr_CodegenCFunctions_fun__621,0}};
#define boxvar_CodegenCFunctions_fun__621 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__621)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__620(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_ty);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__620,2,0) {(void*) boxptr_CodegenCFunctions_fun__620,0}};
#define boxvar_CodegenCFunctions_fun__620 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__620)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__619(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_ty);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__619,2,0) {(void*) boxptr_CodegenCFunctions_fun__619,0}};
#define boxvar_CodegenCFunctions_fun__619 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__619)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__618(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_ty);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__618,2,0) {(void*) boxptr_CodegenCFunctions_fun__618,0}};
#define boxvar_CodegenCFunctions_fun__618 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__618)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__609(threadData_t *threadData, modelica_metatype _in_txt, modelica_boolean _in_a_array, modelica_metatype _in_a_ty);
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__609(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_array, modelica_metatype _in_a_ty);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__609,2,0) {(void*) boxptr_CodegenCFunctions_fun__609,0}};
#define boxvar_CodegenCFunctions_fun__609 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__609)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__606(threadData_t *threadData, modelica_metatype _in_txt, modelica_boolean _in_mArg);
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__606(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_mArg);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__606,2,0) {(void*) boxptr_CodegenCFunctions_fun__606,0}};
#define boxvar_CodegenCFunctions_fun__606 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__606)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__603(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_mArg, modelica_metatype _in_a_cref);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__603,2,0) {(void*) boxptr_CodegenCFunctions_fun__603,0}};
#define boxvar_CodegenCFunctions_fun__603 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__603)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__602(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_mArg);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__602,2,0) {(void*) boxptr_CodegenCFunctions_fun__602,0}};
#define boxvar_CodegenCFunctions_fun__602 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__602)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__601(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_mArg, modelica_metatype _in_a_componentRef);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__601,2,0) {(void*) boxptr_CodegenCFunctions_fun__601,0}};
#define boxvar_CodegenCFunctions_fun__601 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__601)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__600(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_mArg);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__600,2,0) {(void*) boxptr_CodegenCFunctions_fun__600,0}};
#define boxvar_CodegenCFunctions_fun__600 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__600)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__598(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_context, modelica_metatype _in_a_cref);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__598,2,0) {(void*) boxptr_CodegenCFunctions_fun__598,0}};
#define boxvar_CodegenCFunctions_fun__598 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__598)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__595(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_instDims, modelica_metatype _in_a_var_ty);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__595,2,0) {(void*) boxptr_CodegenCFunctions_fun__595,0}};
#define boxvar_CodegenCFunctions_fun__595 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__595)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__594(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_instDims, modelica_metatype _in_a_var_ty);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__594,2,0) {(void*) boxptr_CodegenCFunctions_fun__594,0}};
#define boxvar_CodegenCFunctions_fun__594 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__594)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__593(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_instDims, modelica_metatype _in_a_var_ty);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__593,2,0) {(void*) boxptr_CodegenCFunctions_fun__593,0}};
#define boxvar_CodegenCFunctions_fun__593 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__593)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__589(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_lit, modelica_metatype _in_a_index, modelica_metatype _in_a_name, modelica_metatype *out_out_a_index);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__589,2,0) {(void*) boxptr_CodegenCFunctions_fun__589,0}};
#define boxvar_CodegenCFunctions_fun__589 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__589)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__587(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_lit, modelica_integer _in_a_litindex, modelica_metatype _in_a_meta, modelica_metatype _in_a_tmp, modelica_metatype _in_a_name);
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__587(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_lit, modelica_metatype _in_a_litindex, modelica_metatype _in_a_meta, modelica_metatype _in_a_tmp, modelica_metatype _in_a_name);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__587,2,0) {(void*) boxptr_CodegenCFunctions_fun__587,0}};
#define boxvar_CodegenCFunctions_fun__587 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__587)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__586(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_mArg, modelica_metatype _in_a_e, modelica_metatype _in_a_name, modelica_metatype _in_a_tmp, modelica_integer _in_a_litindex);
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__586(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_mArg, modelica_metatype _in_a_e, modelica_metatype _in_a_name, modelica_metatype _in_a_tmp, modelica_metatype _in_a_litindex);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__586,2,0) {(void*) boxptr_CodegenCFunctions_fun__586,0}};
#define boxvar_CodegenCFunctions_fun__586 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__586)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_lm__585(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_items, modelica_integer _in_a_litindex);
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_lm__585(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_items, modelica_metatype _in_a_litindex);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_lm__585,2,0) {(void*) boxptr_CodegenCFunctions_lm__585,0}};
#define boxvar_CodegenCFunctions_lm__585 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_lm__585)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_lm__584(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_items, modelica_integer _in_a_litindex);
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_lm__584(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_items, modelica_metatype _in_a_litindex);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_lm__584,2,0) {(void*) boxptr_CodegenCFunctions_lm__584,0}};
#define boxvar_CodegenCFunctions_lm__584 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_lm__584)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_lm__583(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_items, modelica_integer _in_a_litindex);
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_lm__583(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_items, modelica_metatype _in_a_litindex);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_lm__583,2,0) {(void*) boxptr_CodegenCFunctions_lm__583,0}};
#define boxvar_CodegenCFunctions_lm__583 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_lm__583)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_lm__582(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_items, modelica_integer _in_a_litindex);
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_lm__582(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_items, modelica_metatype _in_a_litindex);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_lm__582,2,0) {(void*) boxptr_CodegenCFunctions_lm__582,0}};
#define boxvar_CodegenCFunctions_lm__582 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_lm__582)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_lm__581(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_items, modelica_integer _in_a_litindex);
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_lm__581(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_items, modelica_metatype _in_a_litindex);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_lm__581,2,0) {(void*) boxptr_CodegenCFunctions_lm__581,0}};
#define boxvar_CodegenCFunctions_lm__581 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_lm__581)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__580(threadData_t *threadData, modelica_metatype _in_txt, modelica_boolean _in_mArg, modelica_metatype _in_a_listExp, modelica_metatype _in_a_tmp);
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__580(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_mArg, modelica_metatype _in_a_listExp, modelica_metatype _in_a_tmp);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__580,2,0) {(void*) boxptr_CodegenCFunctions_fun__580,0}};
#define boxvar_CodegenCFunctions_fun__580 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__580)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_lm__579(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_items, modelica_integer _in_a_litindex);
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_lm__579(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_items, modelica_metatype _in_a_litindex);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_lm__579,2,0) {(void*) boxptr_CodegenCFunctions_lm__579,0}};
#define boxvar_CodegenCFunctions_lm__579 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_lm__579)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_lm__578(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_items, modelica_metatype _in_a_tmp);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_lm__578,2,0) {(void*) boxptr_CodegenCFunctions_lm__578,0}};
#define boxvar_CodegenCFunctions_lm__578 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_lm__578)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__577(threadData_t *threadData, modelica_metatype _in_txt, modelica_integer _in_a_i, modelica_metatype _in_a_tmp);
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__577(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_i, modelica_metatype _in_a_tmp);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__577,2,0) {(void*) boxptr_CodegenCFunctions_fun__577,0}};
#define boxvar_CodegenCFunctions_fun__577 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__577)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__576(threadData_t *threadData, modelica_metatype _in_txt, modelica_string _in_mArg, modelica_metatype _in_a_data, modelica_metatype _in_a_sty, modelica_metatype _in_a_ndim, modelica_metatype _in_a_name);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__576,2,0) {(void*) boxptr_CodegenCFunctions_fun__576,0}};
#define boxvar_CodegenCFunctions_fun__576 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__576)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_lm__575(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_items);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_lm__575,2,0) {(void*) boxptr_CodegenCFunctions_lm__575,0}};
#define boxvar_CodegenCFunctions_lm__575 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_lm__575)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_lm__574(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_items);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_lm__574,2,0) {(void*) boxptr_CodegenCFunctions_lm__574,0}};
#define boxvar_CodegenCFunctions_lm__574 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_lm__574)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__573(threadData_t *threadData, modelica_metatype _in_txt, modelica_string _in_mArg, modelica_metatype _in_a_data, modelica_metatype _in_a_sty, modelica_metatype _in_a_ndim, modelica_metatype _in_a_name);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__573,2,0) {(void*) boxptr_CodegenCFunctions_fun__573,0}};
#define boxvar_CodegenCFunctions_fun__573 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__573)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_lm__572(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_items);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_lm__572,2,0) {(void*) boxptr_CodegenCFunctions_lm__572,0}};
#define boxvar_CodegenCFunctions_lm__572 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_lm__572)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_lm__571(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_items);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_lm__571,2,0) {(void*) boxptr_CodegenCFunctions_lm__571,0}};
#define boxvar_CodegenCFunctions_lm__571 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_lm__571)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_lm__569(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_items);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_lm__569,2,0) {(void*) boxptr_CodegenCFunctions_lm__569,0}};
#define boxvar_CodegenCFunctions_lm__569 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_lm__569)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__568(threadData_t *threadData, modelica_metatype _in_txt, modelica_boolean _in_a_isSimulation, modelica_string _in_a_filePrefix);
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__568(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_isSimulation, modelica_metatype _in_a_filePrefix);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__568,2,0) {(void*) boxptr_CodegenCFunctions_fun__568,0}};
#define boxvar_CodegenCFunctions_fun__568 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__568)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__566(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_mainFunction);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__566,2,0) {(void*) boxptr_CodegenCFunctions_fun__566,0}};
#define boxvar_CodegenCFunctions_fun__566 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__566)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_lm__564(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_items, modelica_metatype _in_a_auxFunction, modelica_metatype _in_a_varDecls, modelica_metatype _in_a_context, modelica_metatype *out_out_a_auxFunction, modelica_metatype *out_out_a_varDecls);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_lm__564,2,0) {(void*) boxptr_CodegenCFunctions_lm__564,0}};
#define boxvar_CodegenCFunctions_lm__564 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_lm__564)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_lm__563(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_items, modelica_metatype _in_a_auxFunction, modelica_metatype _in_a_varDecls, modelica_metatype _in_a_context, modelica_metatype *out_out_a_auxFunction, modelica_metatype *out_out_a_varDecls);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_lm__563,2,0) {(void*) boxptr_CodegenCFunctions_lm__563,0}};
#define boxvar_CodegenCFunctions_lm__563 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_lm__563)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_lm__560(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_items, modelica_metatype _in_a_auxFunction, modelica_metatype _in_a_varDecls, modelica_metatype *out_out_a_auxFunction, modelica_metatype *out_out_a_varDecls);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_lm__560,2,0) {(void*) boxptr_CodegenCFunctions_lm__560,0}};
#define boxvar_CodegenCFunctions_lm__560 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_lm__560)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__559(threadData_t *threadData, modelica_metatype _in_txt, modelica_boolean _in_mArg, modelica_metatype _in_a_when_conditions);
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__559(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_mArg, modelica_metatype _in_a_when_conditions);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__559,2,0) {(void*) boxptr_CodegenCFunctions_fun__559,0}};
#define boxvar_CodegenCFunctions_fun__559 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__559)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_lm__558(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_items);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_lm__558,2,0) {(void*) boxptr_CodegenCFunctions_lm__558,0}};
#define boxvar_CodegenCFunctions_lm__558 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_lm__558)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__556(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_context, modelica_metatype _in_a_when, modelica_metatype _in_a_varDecls, modelica_metatype _in_a_auxFunction, modelica_metatype *out_out_a_varDecls, modelica_metatype *out_out_a_auxFunction);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__556,2,0) {(void*) boxptr_CodegenCFunctions_fun__556,0}};
#define boxvar_CodegenCFunctions_fun__556 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__556)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__555(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_when, modelica_metatype _in_a_auxFunction, modelica_metatype _in_a_varDecls, modelica_metatype _in_a_context, modelica_metatype *out_out_a_auxFunction, modelica_metatype *out_out_a_varDecls);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__555,2,0) {(void*) boxptr_CodegenCFunctions_fun__555,0}};
#define boxvar_CodegenCFunctions_fun__555 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__555)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_lm__554(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_items, modelica_metatype _in_a_auxFunction, modelica_metatype _in_a_varDecls, modelica_metatype _in_a_context, modelica_metatype *out_out_a_auxFunction, modelica_metatype *out_out_a_varDecls);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_lm__554,2,0) {(void*) boxptr_CodegenCFunctions_lm__554,0}};
#define boxvar_CodegenCFunctions_lm__554 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_lm__554)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__553(threadData_t *threadData, modelica_metatype _in_txt, modelica_boolean _in_mArg, modelica_metatype _in_a_conditions);
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__553(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_mArg, modelica_metatype _in_a_conditions);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__553,2,0) {(void*) boxptr_CodegenCFunctions_fun__553,0}};
#define boxvar_CodegenCFunctions_fun__553 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__553)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_lm__552(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_items);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_lm__552,2,0) {(void*) boxptr_CodegenCFunctions_lm__552,0}};
#define boxvar_CodegenCFunctions_lm__552 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_lm__552)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__551(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_when, modelica_metatype _in_a_auxFunction, modelica_metatype _in_a_varDecls, modelica_metatype _in_a_context, modelica_metatype *out_out_a_auxFunction, modelica_metatype *out_out_a_varDecls);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__551,2,0) {(void*) boxptr_CodegenCFunctions_fun__551,0}};
#define boxvar_CodegenCFunctions_fun__551 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__551)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_lm__550(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_items, modelica_metatype _in_a_auxFunction, modelica_metatype _in_a_varDecls, modelica_metatype _in_a_context, modelica_metatype *out_out_a_auxFunction, modelica_metatype *out_out_a_varDecls);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_lm__550,2,0) {(void*) boxptr_CodegenCFunctions_lm__550,0}};
#define boxvar_CodegenCFunctions_lm__550 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_lm__550)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__549(threadData_t *threadData, modelica_metatype _in_txt, modelica_boolean _in_mArg, modelica_metatype _in_a_conditions);
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__549(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_mArg, modelica_metatype _in_a_conditions);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__549,2,0) {(void*) boxptr_CodegenCFunctions_fun__549,0}};
#define boxvar_CodegenCFunctions_fun__549 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__549)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_lm__548(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_items);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_lm__548,2,0) {(void*) boxptr_CodegenCFunctions_lm__548,0}};
#define boxvar_CodegenCFunctions_lm__548 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_lm__548)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__546(threadData_t *threadData, modelica_metatype _in_txt, modelica_boolean _in_mArg, modelica_metatype _in_a_expPart);
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__546(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_mArg, modelica_metatype _in_a_expPart);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__546,2,0) {(void*) boxptr_CodegenCFunctions_fun__546,0}};
#define boxvar_CodegenCFunctions_fun__546 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__546)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_lm__544(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_items, modelica_metatype _in_a_auxFunction, modelica_metatype _in_a_varDecls, modelica_metatype _in_a_context, modelica_metatype *out_out_a_auxFunction, modelica_metatype *out_out_a_varDecls);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_lm__544,2,0) {(void*) boxptr_CodegenCFunctions_lm__544,0}};
#define boxvar_CodegenCFunctions_lm__544 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_lm__544)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_lm__540(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_items, modelica_metatype _in_a_auxFunction, modelica_metatype _in_a_varDecls, modelica_metatype _in_a_context, modelica_metatype *out_out_a_auxFunction, modelica_metatype *out_out_a_varDecls);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_lm__540,2,0) {(void*) boxptr_CodegenCFunctions_lm__540,0}};
#define boxvar_CodegenCFunctions_lm__540 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_lm__540)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__538(threadData_t *threadData, modelica_metatype _in_txt, modelica_string _in_a_type, modelica_metatype _in_a_ivar, modelica_string _in_a_arrayType, modelica_boolean _in_a_iterIsArray, modelica_metatype _in_a_body, modelica_metatype _in_a_iterName, modelica_metatype _in_a_evar, modelica_metatype _in_a_tvar, modelica_metatype _in_a_varDecls, modelica_metatype _in_a_exp, modelica_metatype *out_out_a_varDecls);
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__538(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_type, modelica_metatype _in_a_ivar, modelica_metatype _in_a_arrayType, modelica_metatype _in_a_iterIsArray, modelica_metatype _in_a_body, modelica_metatype _in_a_iterName, modelica_metatype _in_a_evar, modelica_metatype _in_a_tvar, modelica_metatype _in_a_varDecls, modelica_metatype _in_a_exp, modelica_metatype *out_out_a_varDecls);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__538,2,0) {(void*) boxptr_CodegenCFunctions_fun__538,0}};
#define boxvar_CodegenCFunctions_fun__538 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__538)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__537(threadData_t *threadData, modelica_metatype _in_txt, modelica_boolean _in_a_iterIsArray, modelica_metatype _in_a_ivar, modelica_string _in_a_type, modelica_metatype _in_a_tvar, modelica_metatype _in_a_evar, modelica_string _in_a_arrayType, modelica_metatype _in_a_iterName);
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__537(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_iterIsArray, modelica_metatype _in_a_ivar, modelica_metatype _in_a_type, modelica_metatype _in_a_tvar, modelica_metatype _in_a_evar, modelica_metatype _in_a_arrayType, modelica_metatype _in_a_iterName);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__537,2,0) {(void*) boxptr_CodegenCFunctions_fun__537,0}};
#define boxvar_CodegenCFunctions_fun__537 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__537)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__536(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_mArg, modelica_metatype _in_a_body, modelica_metatype _in_a_iterName, modelica_metatype _in_a_evar, modelica_metatype _in_a_tvar, modelica_metatype _in_a_varDecls, modelica_metatype *out_out_a_varDecls);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__536,2,0) {(void*) boxptr_CodegenCFunctions_fun__536,0}};
#define boxvar_CodegenCFunctions_fun__536 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__536)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_lm__534(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_items, modelica_metatype _in_a_auxFunction, modelica_metatype _in_a_varDecls, modelica_metatype _in_a_context, modelica_metatype *out_out_a_auxFunction, modelica_metatype *out_out_a_varDecls);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_lm__534,2,0) {(void*) boxptr_CodegenCFunctions_lm__534,0}};
#define boxvar_CodegenCFunctions_lm__534 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_lm__534)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__533(threadData_t *threadData, modelica_metatype _in_txt, modelica_string _in_mArg, modelica_metatype _in_a_varDecls, modelica_metatype *out_out_a_varDecls);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__533,2,0) {(void*) boxptr_CodegenCFunctions_fun__533,0}};
#define boxvar_CodegenCFunctions_fun__533 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__533)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__532(threadData_t *threadData, modelica_metatype _in_txt, modelica_string _in_mArg);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__532,2,0) {(void*) boxptr_CodegenCFunctions_fun__532,0}};
#define boxvar_CodegenCFunctions_fun__532 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__532)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__530(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_range, modelica_string _in_a_iterator, modelica_string _in_a_type, modelica_string _in_a_shortType, modelica_metatype _in_a_body, modelica_metatype _in_a_context, modelica_metatype _in_a_varDecls, modelica_metatype _in_a_auxFunction, modelica_metatype *out_out_a_varDecls, modelica_metatype *out_out_a_auxFunction);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__530,2,0) {(void*) boxptr_CodegenCFunctions_fun__530,0}};
#define boxvar_CodegenCFunctions_fun__530 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__530)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__529(threadData_t *threadData, modelica_metatype _in_txt, modelica_string _in_mArg, modelica_metatype _in_a_eqnsindx, modelica_metatype _in_a_AddionalFuncName, modelica_metatype _in_a_stepVar);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__529,2,0) {(void*) boxptr_CodegenCFunctions_fun__529,0}};
#define boxvar_CodegenCFunctions_fun__529 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__529)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__528(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_context);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__528,2,0) {(void*) boxptr_CodegenCFunctions_fun__528,0}};
#define boxvar_CodegenCFunctions_fun__528 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__528)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__527(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_context);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__527,2,0) {(void*) boxptr_CodegenCFunctions_fun__527,0}};
#define boxvar_CodegenCFunctions_fun__527 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__527)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__526(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_step, modelica_metatype _in_a_auxFunction, modelica_metatype _in_a_varDecls, modelica_metatype _in_a_preExp, modelica_metatype _in_a_context, modelica_metatype *out_out_a_auxFunction, modelica_metatype *out_out_a_varDecls, modelica_metatype *out_out_a_preExp);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__526,2,0) {(void*) boxptr_CodegenCFunctions_fun__526,0}};
#define boxvar_CodegenCFunctions_fun__526 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__526)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_lm__524(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_items, modelica_metatype _in_a_auxFunction, modelica_metatype _in_a_varDecls, modelica_metatype _in_a_context, modelica_metatype *out_out_a_auxFunction, modelica_metatype *out_out_a_varDecls);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_lm__524,2,0) {(void*) boxptr_CodegenCFunctions_lm__524,0}};
#define boxvar_CodegenCFunctions_lm__524 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_lm__524)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__521(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_range, modelica_string _in_a_iterator, modelica_string _in_a_type, modelica_metatype _in_a_loopPrlVars, modelica_metatype _in_a_context, modelica_metatype _in_a_varDecls, modelica_metatype _in_a_auxFunction, modelica_metatype *out_out_a_varDecls, modelica_metatype *out_out_a_auxFunction);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__521,2,0) {(void*) boxptr_CodegenCFunctions_fun__521,0}};
#define boxvar_CodegenCFunctions_fun__521 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__521)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_lm__520(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_items, modelica_metatype _in_a_context, modelica_metatype _in_a_kernelArgSets, modelica_metatype _in_a_kerArgNr, modelica_metatype _in_a_cl__kernelVar, modelica_metatype *out_out_a_kernelArgSets, modelica_metatype *out_out_a_kerArgNr, modelica_metatype *out_out_a_cl__kernelVar);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_lm__520,2,0) {(void*) boxptr_CodegenCFunctions_lm__520,0}};
#define boxvar_CodegenCFunctions_lm__520 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_lm__520)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__519(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_step, modelica_metatype _in_a_auxFunction, modelica_metatype _in_a_varDecls, modelica_metatype _in_a_preExp, modelica_metatype _in_a_context, modelica_metatype *out_out_a_auxFunction, modelica_metatype *out_out_a_varDecls, modelica_metatype *out_out_a_preExp);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__519,2,0) {(void*) boxptr_CodegenCFunctions_fun__519,0}};
#define boxvar_CodegenCFunctions_fun__519 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__519)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_lm__517(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_items, modelica_metatype _in_a_auxFunction, modelica_metatype _in_a_varDecls, modelica_metatype _in_a_context, modelica_metatype *out_out_a_auxFunction, modelica_metatype *out_out_a_varDecls);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_lm__517,2,0) {(void*) boxptr_CodegenCFunctions_lm__517,0}};
#define boxvar_CodegenCFunctions_lm__517 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_lm__517)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__514(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_stmt, modelica_metatype _in_a_context, modelica_metatype _in_a_auxFunction, modelica_metatype *out_out_a_auxFunction);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__514,2,0) {(void*) boxptr_CodegenCFunctions_fun__514,0}};
#define boxvar_CodegenCFunctions_fun__514 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__514)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_lm__513(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_items);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_lm__513,2,0) {(void*) boxptr_CodegenCFunctions_lm__513,0}};
#define boxvar_CodegenCFunctions_lm__513 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_lm__513)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_lm__512(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_items, modelica_metatype _in_a_reconstrucedArrays, modelica_metatype *out_out_a_reconstrucedArrays);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_lm__512,2,0) {(void*) boxptr_CodegenCFunctions_lm__512,0}};
#define boxvar_CodegenCFunctions_lm__512 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_lm__512)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_lm__511(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_items, modelica_metatype _in_a_auxFunction, modelica_metatype _in_a_loopVarDecls, modelica_metatype _in_a_context, modelica_metatype *out_out_a_auxFunction, modelica_metatype *out_out_a_loopVarDecls);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_lm__511,2,0) {(void*) boxptr_CodegenCFunctions_lm__511,0}};
#define boxvar_CodegenCFunctions_lm__511 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_lm__511)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_lm__508(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_items, modelica_metatype _in_a_auxFunction, modelica_metatype _in_a_varDecls, modelica_metatype _in_a_context, modelica_metatype *out_out_a_auxFunction, modelica_metatype *out_out_a_varDecls);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_lm__508,2,0) {(void*) boxptr_CodegenCFunctions_lm__508,0}};
#define boxvar_CodegenCFunctions_lm__508 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_lm__508)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__506(threadData_t *threadData, modelica_metatype _in_txt, modelica_boolean _in_mArg, modelica_metatype _in_a_preExp, modelica_metatype _in_a_res, modelica_metatype *out_out_a_preExp);
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__506(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_mArg, modelica_metatype _in_a_preExp, modelica_metatype _in_a_res, modelica_metatype *out_out_a_preExp);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__506,2,0) {(void*) boxptr_CodegenCFunctions_fun__506,0}};
#define boxvar_CodegenCFunctions_fun__506 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__506)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_lm__505(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_items, modelica_metatype _in_a_rhsStr, modelica_metatype _in_a_auxFunction, modelica_metatype _in_a_varDecls, modelica_metatype _in_a_preExp, modelica_metatype _in_a_context, modelica_metatype _in_a_expLst, modelica_metatype *out_out_a_auxFunction, modelica_metatype *out_out_a_varDecls, modelica_metatype *out_out_a_preExp);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_lm__505,2,0) {(void*) boxptr_CodegenCFunctions_lm__505,0}};
#define boxvar_CodegenCFunctions_lm__505 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_lm__505)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_lm__504(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_items, modelica_metatype _in_a_rhsStr, modelica_metatype _in_a_auxFunction, modelica_metatype _in_a_varDecls, modelica_metatype _in_a_preExp, modelica_metatype _in_a_context, modelica_metatype _in_a_cr, modelica_metatype *out_out_a_auxFunction, modelica_metatype *out_out_a_varDecls, modelica_metatype *out_out_a_preExp);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_lm__504,2,0) {(void*) boxptr_CodegenCFunctions_lm__504,0}};
#define boxvar_CodegenCFunctions_lm__504 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_lm__504)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_lm__502(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_items, modelica_metatype _in_a_varDecls, modelica_metatype _in_a_startIndexOutputs, modelica_metatype _in_a_prefix, modelica_metatype *out_out_a_varDecls);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_lm__502,2,0) {(void*) boxptr_CodegenCFunctions_lm__502,0}};
#define boxvar_CodegenCFunctions_lm__502 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_lm__502)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_lm__501(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_items, modelica_metatype _in_a_auxFunction, modelica_metatype _in_a_varDecls, modelica_metatype _in_a_preExp, modelica_metatype _in_a_context, modelica_metatype _in_a_startIndexOutputs, modelica_metatype _in_a_prefix, modelica_metatype _in_a_expExpLst, modelica_metatype *out_out_a_auxFunction, modelica_metatype *out_out_a_varDecls, modelica_metatype *out_out_a_preExp);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_lm__501,2,0) {(void*) boxptr_CodegenCFunctions_lm__501,0}};
#define boxvar_CodegenCFunctions_lm__501 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_lm__501)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_lm__500(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_items);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_lm__500,2,0) {(void*) boxptr_CodegenCFunctions_lm__500,0}};
#define boxvar_CodegenCFunctions_lm__500 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_lm__500)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_lm__499(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_items, modelica_metatype _in_a_auxFunction, modelica_metatype _in_a_postExp, modelica_metatype _in_a_preExp, modelica_metatype _in_a_varDecls, modelica_metatype _in_a_context, modelica_metatype *out_out_a_auxFunction, modelica_metatype *out_out_a_postExp, modelica_metatype *out_out_a_preExp, modelica_metatype *out_out_a_varDecls);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_lm__499,2,0) {(void*) boxptr_CodegenCFunctions_lm__499,0}};
#define boxvar_CodegenCFunctions_lm__499 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_lm__499)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__497(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_context, modelica_metatype _in_a_auxFunction, modelica_metatype _in_a_preExp, modelica_metatype _in_a_varDecls, modelica_metatype _in_a_aty, modelica_metatype _in_a_ispec, modelica_string _in_a_exp, modelica_metatype _in_a_arrayType, modelica_metatype _in_a_cr, modelica_metatype *out_out_a_auxFunction, modelica_metatype *out_out_a_preExp, modelica_metatype *out_out_a_varDecls);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__497,2,0) {(void*) boxptr_CodegenCFunctions_fun__497,0}};
#define boxvar_CodegenCFunctions_fun__497 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__497)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_lm__496(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_items, modelica_metatype _in_a_auxFunction, modelica_metatype _in_a_varDecls, modelica_metatype _in_a_preExp, modelica_metatype _in_a_context, modelica_metatype *out_out_a_auxFunction, modelica_metatype *out_out_a_varDecls, modelica_metatype *out_out_a_preExp);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_lm__496,2,0) {(void*) boxptr_CodegenCFunctions_lm__496,0}};
#define boxvar_CodegenCFunctions_lm__496 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_lm__496)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__494(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_exp, modelica_metatype _in_a_cr, modelica_metatype _in_a_context, modelica_metatype _in_a_varDecls, modelica_metatype _in_a_auxFunction, modelica_metatype *out_out_a_varDecls, modelica_metatype *out_out_a_auxFunction);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__494,2,0) {(void*) boxptr_CodegenCFunctions_fun__494,0}};
#define boxvar_CodegenCFunctions_fun__494 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__494)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__493(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_step, modelica_metatype _in_a_auxFunction, modelica_metatype _in_a_varDecls, modelica_metatype _in_a_preExp, modelica_metatype _in_a_context, modelica_metatype *out_out_a_auxFunction, modelica_metatype *out_out_a_varDecls, modelica_metatype *out_out_a_preExp);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__493,2,0) {(void*) boxptr_CodegenCFunctions_fun__493,0}};
#define boxvar_CodegenCFunctions_fun__493 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__493)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__491(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_lhsexp, modelica_metatype _in_a_rhsExpStr, modelica_metatype _in_a_context, modelica_metatype _in_a_preExp, modelica_metatype _in_a_varDecls, modelica_metatype _in_a_auxFunction, modelica_metatype *out_out_a_preExp, modelica_metatype *out_out_a_varDecls, modelica_metatype *out_out_a_auxFunction);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__491,2,0) {(void*) boxptr_CodegenCFunctions_fun__491,0}};
#define boxvar_CodegenCFunctions_fun__491 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__491)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__490(threadData_t *threadData, modelica_metatype _in_txt, modelica_boolean _in_mArg, modelica_metatype _in_a_type, modelica_metatype _in_a_auxFunction, modelica_metatype _in_a_varDecls, modelica_metatype _in_a_preExp, modelica_metatype _in_a_context, modelica_metatype _in_a_rhsExpStr, modelica_metatype _in_a_lhsexp, modelica_metatype *out_out_a_auxFunction, modelica_metatype *out_out_a_varDecls, modelica_metatype *out_out_a_preExp);
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__490(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_mArg, modelica_metatype _in_a_type, modelica_metatype _in_a_auxFunction, modelica_metatype _in_a_varDecls, modelica_metatype _in_a_preExp, modelica_metatype _in_a_context, modelica_metatype _in_a_rhsExpStr, modelica_metatype _in_a_lhsexp, modelica_metatype *out_out_a_auxFunction, modelica_metatype *out_out_a_varDecls, modelica_metatype *out_out_a_preExp);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__490,2,0) {(void*) boxptr_CodegenCFunctions_fun__490,0}};
#define boxvar_CodegenCFunctions_fun__490 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__490)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__488(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_lhsexp, modelica_metatype _in_a_rhsExpStr, modelica_metatype _in_a_context, modelica_metatype _in_a_preExp, modelica_metatype _in_a_varDecls, modelica_metatype _in_a_auxFunction, modelica_metatype *out_out_a_preExp, modelica_metatype *out_out_a_varDecls, modelica_metatype *out_out_a_auxFunction);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__488,2,0) {(void*) boxptr_CodegenCFunctions_fun__488,0}};
#define boxvar_CodegenCFunctions_fun__488 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__488)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_lm__487(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_items, modelica_metatype _in_a_tmp, modelica_metatype _in_a_auxFunction, modelica_metatype _in_a_varDecls, modelica_metatype _in_a_preExp, modelica_metatype _in_a_context, modelica_metatype _in_a_cr, modelica_metatype *out_out_a_auxFunction, modelica_metatype *out_out_a_varDecls, modelica_metatype *out_out_a_preExp);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_lm__487,2,0) {(void*) boxptr_CodegenCFunctions_lm__487,0}};
#define boxvar_CodegenCFunctions_lm__487 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_lm__487)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__485(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_lhsexp, modelica_metatype _in_a_rhsExpStr, modelica_metatype _in_a_context, modelica_metatype _in_a_preExp, modelica_metatype _in_a_varDecls, modelica_metatype _in_a_auxFunction, modelica_metatype *out_out_a_rhsExpStr, modelica_metatype *out_out_a_preExp, modelica_metatype *out_out_a_varDecls, modelica_metatype *out_out_a_auxFunction);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__485,2,0) {(void*) boxptr_CodegenCFunctions_fun__485,0}};
#define boxvar_CodegenCFunctions_fun__485 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__485)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_lm__484(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_items, modelica_metatype _in_a_tmp, modelica_metatype _in_a_auxFunction, modelica_metatype _in_a_varDecls, modelica_metatype _in_a_preExp, modelica_metatype _in_a_context, modelica_metatype _in_a_expLst, modelica_metatype *out_out_a_auxFunction, modelica_metatype *out_out_a_varDecls, modelica_metatype *out_out_a_preExp);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_lm__484,2,0) {(void*) boxptr_CodegenCFunctions_lm__484,0}};
#define boxvar_CodegenCFunctions_lm__484 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_lm__484)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__481(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_rhs__exp, modelica_metatype _in_a_lhs, modelica_metatype _in_a_rec__typename, modelica_metatype _in_a_auxFunction, modelica_metatype _in_a_varDecls, modelica_metatype _in_a_preExp, modelica_metatype _in_a_context, modelica_metatype *out_out_a_auxFunction, modelica_metatype *out_out_a_varDecls, modelica_metatype *out_out_a_preExp);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__481,2,0) {(void*) boxptr_CodegenCFunctions_fun__481,0}};
#define boxvar_CodegenCFunctions_fun__481 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__481)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__479(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_rhs__exp, modelica_metatype _in_a_rec__typename, modelica_metatype _in_a_rec__type, modelica_metatype _in_a_lhs__cref, modelica_metatype _in_a_auxFunction, modelica_metatype _in_a_varDecls, modelica_metatype _in_a_preExp, modelica_metatype _in_a_context, modelica_metatype *out_out_a_auxFunction, modelica_metatype *out_out_a_varDecls, modelica_metatype *out_out_a_preExp);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__479,2,0) {(void*) boxptr_CodegenCFunctions_fun__479,0}};
#define boxvar_CodegenCFunctions_fun__479 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__479)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_lm__478(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_items, modelica_metatype _in_a_auxFunction, modelica_metatype _in_a_varDecls, modelica_metatype _in_a_context, modelica_metatype *out_out_a_auxFunction, modelica_metatype *out_out_a_varDecls);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_lm__478,2,0) {(void*) boxptr_CodegenCFunctions_lm__478,0}};
#define boxvar_CodegenCFunctions_lm__478 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_lm__478)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_lm__477(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_items, modelica_metatype _in_a_auxFunction, modelica_metatype _in_a_varDecls, modelica_metatype _in_a_context, modelica_metatype *out_out_a_auxFunction, modelica_metatype *out_out_a_varDecls);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_lm__477,2,0) {(void*) boxptr_CodegenCFunctions_lm__477,0}};
#define boxvar_CodegenCFunctions_lm__477 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_lm__477)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__475(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_context, modelica_metatype _in_a_lhs__cref, modelica_metatype _in_a_rhs__exp, modelica_metatype _in_a_rec__type, modelica_metatype _in_a_preExp, modelica_metatype _in_a_varDecls, modelica_metatype _in_a_auxFunction, modelica_metatype *out_out_a_preExp, modelica_metatype *out_out_a_varDecls, modelica_metatype *out_out_a_auxFunction);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__475,2,0) {(void*) boxptr_CodegenCFunctions_fun__475,0}};
#define boxvar_CodegenCFunctions_fun__475 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__475)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__472(threadData_t *threadData, modelica_metatype _in_txt, modelica_string _in_mArg, modelica_metatype _in_a_val, modelica_metatype _in_a_auxFunction, modelica_metatype _in_a_varDecls, modelica_metatype _in_a_context, modelica_metatype _in_a_exp1, modelica_metatype *out_out_a_auxFunction, modelica_metatype *out_out_a_varDecls);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__472,2,0) {(void*) boxptr_CodegenCFunctions_fun__472,0}};
#define boxvar_CodegenCFunctions_fun__472 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__472)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__471(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_exp1, modelica_metatype _in_a_val, modelica_metatype _in_a_auxFunction, modelica_metatype _in_a_varDecls, modelica_metatype _in_a_context, modelica_metatype *out_out_a_auxFunction, modelica_metatype *out_out_a_varDecls);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__471,2,0) {(void*) boxptr_CodegenCFunctions_fun__471,0}};
#define boxvar_CodegenCFunctions_fun__471 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__471)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__469(threadData_t *threadData, modelica_metatype _in_txt, modelica_integer _in_mArg, modelica_metatype _in_a_stmt, modelica_metatype _in_a_context, modelica_metatype _in_a_varDecls, modelica_metatype _in_a_auxFunction, modelica_metatype *out_out_a_varDecls, modelica_metatype *out_out_a_auxFunction);
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__469(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_mArg, modelica_metatype _in_a_stmt, modelica_metatype _in_a_context, modelica_metatype _in_a_varDecls, modelica_metatype _in_a_auxFunction, modelica_metatype *out_out_a_varDecls, modelica_metatype *out_out_a_auxFunction);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__469,2,0) {(void*) boxptr_CodegenCFunctions_fun__469,0}};
#define boxvar_CodegenCFunctions_fun__469 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__469)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__468(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_stmt, modelica_metatype _in_a_auxFunction, modelica_metatype _in_a_varDecls, modelica_metatype _in_a_context, modelica_metatype *out_out_a_auxFunction, modelica_metatype *out_out_a_varDecls);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__468,2,0) {(void*) boxptr_CodegenCFunctions_fun__468,0}};
#define boxvar_CodegenCFunctions_fun__468 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__468)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__466(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_stmt, modelica_metatype _in_a_varDecls, modelica_metatype _in_a_auxFunction, modelica_metatype *out_out_a_varDecls, modelica_metatype *out_out_a_auxFunction);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__466,2,0) {(void*) boxptr_CodegenCFunctions_fun__466,0}};
#define boxvar_CodegenCFunctions_fun__466 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__466)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_lm__464(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_items, modelica_metatype _in_a_auxFunction, modelica_metatype _in_a_varDecls, modelica_metatype *out_out_a_auxFunction, modelica_metatype *out_out_a_varDecls);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_lm__464,2,0) {(void*) boxptr_CodegenCFunctions_lm__464,0}};
#define boxvar_CodegenCFunctions_lm__464 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_lm__464)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_lm__462(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_items, modelica_metatype _in_a_auxFunction, modelica_metatype _in_a_varDecls, modelica_metatype *out_out_a_auxFunction, modelica_metatype *out_out_a_varDecls);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_lm__462,2,0) {(void*) boxptr_CodegenCFunctions_lm__462,0}};
#define boxvar_CodegenCFunctions_lm__462 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_lm__462)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_lm__460(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_items, modelica_metatype _in_a_auxFunction, modelica_metatype _in_a_varDecls, modelica_metatype *out_out_a_auxFunction, modelica_metatype *out_out_a_varDecls);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_lm__460,2,0) {(void*) boxptr_CodegenCFunctions_lm__460,0}};
#define boxvar_CodegenCFunctions_lm__460 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_lm__460)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__458(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_indices, modelica_metatype _in_a_c, modelica_metatype _in_a_auxFunction, modelica_metatype *out_out_a_auxFunction);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__458,2,0) {(void*) boxptr_CodegenCFunctions_fun__458,0}};
#define boxvar_CodegenCFunctions_fun__458 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__458)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__456(threadData_t *threadData, modelica_metatype _in_txt, modelica_integer _in_a_oi);
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__456(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_oi);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__456,2,0) {(void*) boxptr_CodegenCFunctions_fun__456,0}};
#define boxvar_CodegenCFunctions_fun__456 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__456)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__455(threadData_t *threadData, modelica_metatype _in_txt, modelica_integer _in_a_oi);
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__455(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_oi);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__455,2,0) {(void*) boxptr_CodegenCFunctions_fun__455,0}};
#define boxvar_CodegenCFunctions_fun__455 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__455)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__453(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_t, modelica_metatype _in_a_cr);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__453,2,0) {(void*) boxptr_CodegenCFunctions_fun__453,0}};
#define boxvar_CodegenCFunctions_fun__453 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__453)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__452(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_t, modelica_metatype _in_a_auxFunction, modelica_metatype _in_a_c, modelica_metatype *out_out_a_auxFunction);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__452,2,0) {(void*) boxptr_CodegenCFunctions_fun__452,0}};
#define boxvar_CodegenCFunctions_fun__452 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__452)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__451(threadData_t *threadData, modelica_metatype _in_txt, modelica_boolean _in_a_isInput, modelica_metatype _in_a_shortTypeStr, modelica_metatype _in_a_name);
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__451(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_isInput, modelica_metatype _in_a_shortTypeStr, modelica_metatype _in_a_name);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__451,2,0) {(void*) boxptr_CodegenCFunctions_fun__451,0}};
#define boxvar_CodegenCFunctions_fun__451 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__451)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__450(threadData_t *threadData, modelica_metatype _in_txt, modelica_string _in_mArg, modelica_metatype _in_a_name);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__450,2,0) {(void*) boxptr_CodegenCFunctions_fun__450,0}};
#define boxvar_CodegenCFunctions_fun__450 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__450)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__448(threadData_t *threadData, modelica_metatype _in_txt, modelica_integer _in_a_oi, modelica_metatype _in_a_ty, modelica_boolean _in_a_ai, modelica_metatype _in_a_auxFunction, modelica_metatype _in_a_c, modelica_metatype *out_out_a_auxFunction);
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__448(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_oi, modelica_metatype _in_a_ty, modelica_metatype _in_a_ai, modelica_metatype _in_a_auxFunction, modelica_metatype _in_a_c, modelica_metatype *out_out_a_auxFunction);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__448,2,0) {(void*) boxptr_CodegenCFunctions_fun__448,0}};
#define boxvar_CodegenCFunctions_fun__448 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__448)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__447(threadData_t *threadData, modelica_metatype _in_txt, modelica_boolean _in_a_ai, modelica_metatype _in_a_ext__name, modelica_metatype _in_a_ty, modelica_metatype _in_a_outarg);
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__447(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_ai, modelica_metatype _in_a_ext__name, modelica_metatype _in_a_ty, modelica_metatype _in_a_outarg);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__447,2,0) {(void*) boxptr_CodegenCFunctions_fun__447,0}};
#define boxvar_CodegenCFunctions_fun__447 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__447)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__445(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_ty, modelica_metatype _in_a_cr);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__445,2,0) {(void*) boxptr_CodegenCFunctions_fun__445,0}};
#define boxvar_CodegenCFunctions_fun__445 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__445)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__444(threadData_t *threadData, modelica_metatype _in_txt, modelica_string _in_mArg, modelica_metatype _in_a_var__name, modelica_boolean _in_a_isInput);
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__444(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_mArg, modelica_metatype _in_a_var__name, modelica_metatype _in_a_isInput);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__444,2,0) {(void*) boxptr_CodegenCFunctions_fun__444,0}};
#define boxvar_CodegenCFunctions_fun__444 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__444)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__443(threadData_t *threadData, modelica_metatype _in_txt, modelica_boolean _in_a_isInput, modelica_metatype _in_a_var__name);
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__443(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_isInput, modelica_metatype _in_a_var__name);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__443,2,0) {(void*) boxptr_CodegenCFunctions_fun__443,0}};
#define boxvar_CodegenCFunctions_fun__443 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__443)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__441(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_instDims, modelica_metatype _in_a_name, modelica_metatype _in_a_instDimsInit, modelica_metatype _in_a_var_ty, modelica_metatype _in_a_var__name, modelica_metatype _in_a_defaultValue, modelica_metatype _in_a_preExp, modelica_metatype *out_out_a_preExp);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__441,2,0) {(void*) boxptr_CodegenCFunctions_fun__441,0}};
#define boxvar_CodegenCFunctions_fun__441 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__441)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__440(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_defaultValue, modelica_metatype _in_a_var__name, modelica_metatype _in_a_type);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__440,2,0) {(void*) boxptr_CodegenCFunctions_fun__440,0}};
#define boxvar_CodegenCFunctions_fun__440 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__440)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__439(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_defaultValue, modelica_metatype _in_a_var__name);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__439,2,0) {(void*) boxptr_CodegenCFunctions_fun__439,0}};
#define boxvar_CodegenCFunctions_fun__439 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__439)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_lm__438(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_items, modelica_metatype _in_a_auxFunction, modelica_metatype _in_a_varDecls, modelica_metatype _in_a_preExp, modelica_metatype *out_out_a_auxFunction, modelica_metatype *out_out_a_varDecls, modelica_metatype *out_out_a_preExp);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_lm__438,2,0) {(void*) boxptr_CodegenCFunctions_lm__438,0}};
#define boxvar_CodegenCFunctions_lm__438 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_lm__438)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__437(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_value, modelica_metatype _in_a_auxFunction, modelica_metatype _in_a_varDecls, modelica_metatype _in_a_preExp, modelica_metatype *out_out_a_auxFunction, modelica_metatype *out_out_a_varDecls, modelica_metatype *out_out_a_preExp);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__437,2,0) {(void*) boxptr_CodegenCFunctions_fun__437,0}};
#define boxvar_CodegenCFunctions_fun__437 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__437)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__435(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_instDims, modelica_metatype _in_a_instDimsInit, modelica_metatype _in_a_var_ty, modelica_metatype _in_a_var__name, modelica_metatype _in_a_defaultValue, modelica_metatype _in_a_preExp, modelica_metatype *out_out_a_preExp);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__435,2,0) {(void*) boxptr_CodegenCFunctions_fun__435,0}};
#define boxvar_CodegenCFunctions_fun__435 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__435)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__434(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_defaultValue, modelica_metatype _in_a_var__name, modelica_metatype _in_a_type);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__434,2,0) {(void*) boxptr_CodegenCFunctions_fun__434,0}};
#define boxvar_CodegenCFunctions_fun__434 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__434)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__433(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_defaultValue, modelica_metatype _in_a_var__name);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__433,2,0) {(void*) boxptr_CodegenCFunctions_fun__433,0}};
#define boxvar_CodegenCFunctions_fun__433 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__433)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_lm__432(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_items, modelica_metatype _in_a_auxFunction, modelica_metatype _in_a_varDecls, modelica_metatype _in_a_preExp, modelica_metatype *out_out_a_auxFunction, modelica_metatype *out_out_a_varDecls, modelica_metatype *out_out_a_preExp);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_lm__432,2,0) {(void*) boxptr_CodegenCFunctions_lm__432,0}};
#define boxvar_CodegenCFunctions_lm__432 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_lm__432)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__431(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_value, modelica_metatype _in_a_auxFunction, modelica_metatype _in_a_varDecls, modelica_metatype _in_a_preExp, modelica_metatype *out_out_a_auxFunction, modelica_metatype *out_out_a_varDecls, modelica_metatype *out_out_a_preExp);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__431,2,0) {(void*) boxptr_CodegenCFunctions_fun__431,0}};
#define boxvar_CodegenCFunctions_fun__431 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__431)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__427(threadData_t *threadData, modelica_metatype _in_txt, modelica_integer _in_a_oi, modelica_metatype _in_a_auxFunction, modelica_metatype _in_a_c, modelica_metatype _in_a_varDecls, modelica_boolean _in_a_ea_hasBinding, modelica_metatype _in_a_ty, modelica_boolean _in_a_ia, modelica_metatype *out_out_a_auxFunction, modelica_metatype *out_out_a_varDecls);
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__427(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_oi, modelica_metatype _in_a_auxFunction, modelica_metatype _in_a_c, modelica_metatype _in_a_varDecls, modelica_metatype _in_a_ea_hasBinding, modelica_metatype _in_a_ty, modelica_metatype _in_a_ia, modelica_metatype *out_out_a_auxFunction, modelica_metatype *out_out_a_varDecls);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__427,2,0) {(void*) boxptr_CodegenCFunctions_fun__427,0}};
#define boxvar_CodegenCFunctions_fun__427 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__427)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__426(threadData_t *threadData, modelica_metatype _in_txt, modelica_boolean _in_a_ia, modelica_metatype _in_a_auxFunction, modelica_metatype _in_a_c, modelica_metatype _in_a_varDecls, modelica_boolean _in_a_ea_hasBinding, modelica_metatype _in_a_ty, modelica_metatype *out_out_a_auxFunction, modelica_metatype *out_out_a_varDecls);
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__426(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_ia, modelica_metatype _in_a_auxFunction, modelica_metatype _in_a_c, modelica_metatype _in_a_varDecls, modelica_metatype _in_a_ea_hasBinding, modelica_metatype _in_a_ty, modelica_metatype *out_out_a_auxFunction, modelica_metatype *out_out_a_varDecls);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__426,2,0) {(void*) boxptr_CodegenCFunctions_fun__426,0}};
#define boxvar_CodegenCFunctions_fun__426 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__426)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__425(threadData_t *threadData, modelica_metatype _in_txt, modelica_boolean _in_a_ea_hasBinding, modelica_metatype _in_a_default__val);
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__425(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_ea_hasBinding, modelica_metatype _in_a_default__val);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__425,2,0) {(void*) boxptr_CodegenCFunctions_fun__425,0}};
#define boxvar_CodegenCFunctions_fun__425 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__425)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__424(threadData_t *threadData, modelica_metatype _in_txt, modelica_string _in_mArg, modelica_metatype _in_a_default__val);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__424,2,0) {(void*) boxptr_CodegenCFunctions_fun__424,0}};
#define boxvar_CodegenCFunctions_fun__424 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__424)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__422(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_arg, modelica_metatype _in_a_varDecls, modelica_metatype _in_a_auxFunction, modelica_metatype *out_out_a_varDecls, modelica_metatype *out_out_a_auxFunction);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__422,2,0) {(void*) boxptr_CodegenCFunctions_fun__422,0}};
#define boxvar_CodegenCFunctions_fun__422 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__422)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__421(threadData_t *threadData, modelica_metatype _in_txt, modelica_integer _in_a_oi, modelica_metatype _in_a_c, modelica_metatype _in_a_ty, modelica_metatype _in_a_varDecls, modelica_metatype *out_out_a_varDecls);
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__421(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_oi, modelica_metatype _in_a_c, modelica_metatype _in_a_ty, modelica_metatype _in_a_varDecls, modelica_metatype *out_out_a_varDecls);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__421,2,0) {(void*) boxptr_CodegenCFunctions_fun__421,0}};
#define boxvar_CodegenCFunctions_fun__421 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__421)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__420(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_ty, modelica_metatype _in_a_auxFunction, modelica_metatype _in_a_varDecls, modelica_metatype _in_a_c, modelica_metatype *out_out_a_auxFunction, modelica_metatype *out_out_a_varDecls);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__420,2,0) {(void*) boxptr_CodegenCFunctions_fun__420,0}};
#define boxvar_CodegenCFunctions_fun__420 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__420)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__419(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_ty);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__419,2,0) {(void*) boxptr_CodegenCFunctions_fun__419,0}};
#define boxvar_CodegenCFunctions_fun__419 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__419)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__418(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_c, modelica_metatype _in_a_ty, modelica_metatype _in_a_varDecls, modelica_metatype *out_out_a_varDecls);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__418,2,0) {(void*) boxptr_CodegenCFunctions_fun__418,0}};
#define boxvar_CodegenCFunctions_fun__418 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__418)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__417(threadData_t *threadData, modelica_metatype _in_txt, modelica_boolean _in_mArg);
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__417(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_mArg);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__417,2,0) {(void*) boxptr_CodegenCFunctions_fun__417,0}};
#define boxvar_CodegenCFunctions_fun__417 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__417)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__416(threadData_t *threadData, modelica_metatype _in_txt, modelica_string _in_mArg, modelica_metatype _in_a_auxFunction, modelica_metatype _in_a_c, modelica_metatype *out_out_a_auxFunction);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__416,2,0) {(void*) boxptr_CodegenCFunctions_fun__416,0}};
#define boxvar_CodegenCFunctions_fun__416 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__416)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__415(threadData_t *threadData, modelica_metatype _in_txt, modelica_string _in_mArg, modelica_metatype _in_a_varDecls, modelica_metatype _in_a_auxFunction, modelica_metatype _in_a_c, modelica_metatype *out_out_a_varDecls, modelica_metatype *out_out_a_auxFunction);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__415,2,0) {(void*) boxptr_CodegenCFunctions_fun__415,0}};
#define boxvar_CodegenCFunctions_fun__415 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__415)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__413(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_extReturn, modelica_metatype _in_a_auxFunction, modelica_metatype *out_out_a_auxFunction);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__413,2,0) {(void*) boxptr_CodegenCFunctions_fun__413,0}};
#define boxvar_CodegenCFunctions_fun__413 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__413)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_lm__412(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_items, modelica_metatype _in_a_auxFunction, modelica_metatype *out_out_a_auxFunction);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_lm__412,2,0) {(void*) boxptr_CodegenCFunctions_lm__412,0}};
#define boxvar_CodegenCFunctions_lm__412 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_lm__412)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__411(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_extReturn, modelica_metatype _in_a_auxFunction, modelica_metatype _in_a_varDecls, modelica_metatype *out_out_a_auxFunction, modelica_metatype *out_out_a_varDecls);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__411,2,0) {(void*) boxptr_CodegenCFunctions_fun__411,0}};
#define boxvar_CodegenCFunctions_fun__411 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__411)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__410(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_extReturn);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__410,2,0) {(void*) boxptr_CodegenCFunctions_fun__410,0}};
#define boxvar_CodegenCFunctions_fun__410 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__410)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_lm__409(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_items, modelica_metatype _in_a_auxFunction, modelica_metatype _in_a_varDecls, modelica_metatype _in_a_preExp, modelica_metatype *out_out_a_auxFunction, modelica_metatype *out_out_a_varDecls, modelica_metatype *out_out_a_preExp);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_lm__409,2,0) {(void*) boxptr_CodegenCFunctions_lm__409,0}};
#define boxvar_CodegenCFunctions_lm__409 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_lm__409)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_lm__408(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_items, modelica_metatype _in_a_auxFunction, modelica_metatype _in_a_varDecls, modelica_metatype _in_a_varInit, modelica_metatype *out_out_a_auxFunction, modelica_metatype *out_out_a_varDecls, modelica_metatype *out_out_a_varInit);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_lm__408,2,0) {(void*) boxptr_CodegenCFunctions_lm__408,0}};
#define boxvar_CodegenCFunctions_lm__408 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_lm__408)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_lm__407(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_items, modelica_metatype _in_a_auxFunction, modelica_metatype _in_a_varDecls, modelica_metatype *out_out_a_auxFunction, modelica_metatype *out_out_a_varDecls);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_lm__407,2,0) {(void*) boxptr_CodegenCFunctions_lm__407,0}};
#define boxvar_CodegenCFunctions_lm__407 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_lm__407)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__405(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_extReturn, modelica_metatype _in_a_auxFunction, modelica_metatype *out_out_a_auxFunction);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__405,2,0) {(void*) boxptr_CodegenCFunctions_fun__405,0}};
#define boxvar_CodegenCFunctions_fun__405 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__405)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_lm__404(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_items, modelica_metatype _in_a_auxFunction, modelica_metatype *out_out_a_auxFunction);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_lm__404,2,0) {(void*) boxptr_CodegenCFunctions_lm__404,0}};
#define boxvar_CodegenCFunctions_lm__404 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_lm__404)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__403(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_extReturn, modelica_metatype _in_a_auxFunction, modelica_metatype _in_a_varDecls, modelica_metatype *out_out_a_auxFunction, modelica_metatype *out_out_a_varDecls);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__403,2,0) {(void*) boxptr_CodegenCFunctions_fun__403,0}};
#define boxvar_CodegenCFunctions_fun__403 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__403)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__402(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_extReturn);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__402,2,0) {(void*) boxptr_CodegenCFunctions_fun__402,0}};
#define boxvar_CodegenCFunctions_fun__402 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__402)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_lm__401(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_items, modelica_metatype _in_a_auxFunction, modelica_metatype _in_a_varDecls, modelica_metatype _in_a_preExp, modelica_metatype *out_out_a_auxFunction, modelica_metatype *out_out_a_varDecls, modelica_metatype *out_out_a_preExp);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_lm__401,2,0) {(void*) boxptr_CodegenCFunctions_lm__401,0}};
#define boxvar_CodegenCFunctions_lm__401 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_lm__401)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__400(threadData_t *threadData, modelica_metatype _in_txt, modelica_boolean _in_a_dynamicLoad, modelica_string _in_a_language, modelica_string _in_a_extName, modelica_metatype _in_a_info, modelica_metatype _in_a_fname);
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__400(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_dynamicLoad, modelica_metatype _in_a_language, modelica_metatype _in_a_extName, modelica_metatype _in_a_info, modelica_metatype _in_a_fname);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__400,2,0) {(void*) boxptr_CodegenCFunctions_fun__400,0}};
#define boxvar_CodegenCFunctions_fun__400 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__400)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__399(threadData_t *threadData, modelica_metatype _in_txt, modelica_boolean _in_a_dynamicLoad, modelica_string _in_a_language, modelica_string _in_a_extName);
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__399(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_dynamicLoad, modelica_metatype _in_a_language, modelica_metatype _in_a_extName);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__399,2,0) {(void*) boxptr_CodegenCFunctions_fun__399,0}};
#define boxvar_CodegenCFunctions_fun__399 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__399)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_lm__398(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_items, modelica_metatype _in_a_auxFunction, modelica_metatype _in_a_varDecls, modelica_metatype _in_a_preExp, modelica_metatype *out_out_a_auxFunction, modelica_metatype *out_out_a_varDecls, modelica_metatype *out_out_a_preExp);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_lm__398,2,0) {(void*) boxptr_CodegenCFunctions_lm__398,0}};
#define boxvar_CodegenCFunctions_lm__398 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_lm__398)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_lm__397(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_items, modelica_metatype _in_a_auxFunction, modelica_metatype _in_a_varDecls, modelica_metatype *out_out_a_auxFunction, modelica_metatype *out_out_a_varDecls);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_lm__397,2,0) {(void*) boxptr_CodegenCFunctions_lm__397,0}};
#define boxvar_CodegenCFunctions_lm__397 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_lm__397)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__395(threadData_t *threadData, modelica_metatype _in_txt, modelica_string _in_a_language, modelica_metatype _in_a_varInit, modelica_metatype _in_a_auxFunction, modelica_metatype _in_a_varDecls, modelica_metatype _in_a_preExp, modelica_metatype _in_a_fun, modelica_metatype *out_out_a_varInit, modelica_metatype *out_out_a_auxFunction, modelica_metatype *out_out_a_varDecls, modelica_metatype *out_out_a_preExp);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__395,2,0) {(void*) boxptr_CodegenCFunctions_fun__395,0}};
#define boxvar_CodegenCFunctions_fun__395 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__395)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__392(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_var, modelica_metatype _in_a_varDecls, modelica_metatype _in_a_auxFunction, modelica_metatype *out_out_a_varDecls, modelica_metatype *out_out_a_auxFunction);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__392,2,0) {(void*) boxptr_CodegenCFunctions_fun__392,0}};
#define boxvar_CodegenCFunctions_fun__392 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__392)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_lm__391(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_items, modelica_metatype _in_a_auxFunction, modelica_metatype _in_a_varDecls, modelica_metatype _in_a_preExp, modelica_metatype _in_a_ctor__suffix, modelica_metatype *out_out_a_auxFunction, modelica_metatype *out_out_a_varDecls, modelica_metatype *out_out_a_preExp, modelica_metatype *out_out_a_ctor__suffix);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_lm__391,2,0) {(void*) boxptr_CodegenCFunctions_lm__391,0}};
#define boxvar_CodegenCFunctions_lm__391 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_lm__391)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__389(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_var, modelica_string _in_a_dest, modelica_integer _in_a_ix, modelica_metatype _in_a_varDecls, modelica_metatype _in_a_varInits, modelica_metatype _in_a_varAssign, modelica_metatype _in_a_auxFunction, modelica_metatype *out_out_a_varDecls, modelica_metatype *out_out_a_varInits, modelica_metatype *out_out_a_varAssign, modelica_metatype *out_out_a_auxFunction);
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__389(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_var, modelica_metatype _in_a_dest, modelica_metatype _in_a_ix, modelica_metatype _in_a_varDecls, modelica_metatype _in_a_varInits, modelica_metatype _in_a_varAssign, modelica_metatype _in_a_auxFunction, modelica_metatype *out_out_a_varDecls, modelica_metatype *out_out_a_varInits, modelica_metatype *out_out_a_varAssign, modelica_metatype *out_out_a_auxFunction);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__389,2,0) {(void*) boxptr_CodegenCFunctions_fun__389,0}};
#define boxvar_CodegenCFunctions_fun__389 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__389)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__388(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_instDims, modelica_metatype _in_a_instDimsInit, modelica_metatype _in_a_var_ty, modelica_metatype _in_a_varName, modelica_integer _in_a_ix, modelica_string _in_a_dest, modelica_metatype _in_a_varAssign, modelica_metatype _in_a_auxFunction, modelica_metatype _in_a_varInits, modelica_metatype _in_a_varDecls, modelica_metatype _in_a_var, modelica_metatype *out_out_a_varAssign, modelica_metatype *out_out_a_auxFunction, modelica_metatype *out_out_a_varInits, modelica_metatype *out_out_a_varDecls);
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__388(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_instDims, modelica_metatype _in_a_instDimsInit, modelica_metatype _in_a_var_ty, modelica_metatype _in_a_varName, modelica_metatype _in_a_ix, modelica_metatype _in_a_dest, modelica_metatype _in_a_varAssign, modelica_metatype _in_a_auxFunction, modelica_metatype _in_a_varInits, modelica_metatype _in_a_varDecls, modelica_metatype _in_a_var, modelica_metatype *out_out_a_varAssign, modelica_metatype *out_out_a_auxFunction, modelica_metatype *out_out_a_varInits, modelica_metatype *out_out_a_varDecls);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__388,2,0) {(void*) boxptr_CodegenCFunctions_fun__388,0}};
#define boxvar_CodegenCFunctions_fun__388 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__388)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_lm__387(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_items, modelica_metatype _in_a_auxFunction, modelica_metatype _in_a_varDecls, modelica_metatype _in_a_varInits, modelica_metatype *out_out_a_auxFunction, modelica_metatype *out_out_a_varDecls, modelica_metatype *out_out_a_varInits);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_lm__387,2,0) {(void*) boxptr_CodegenCFunctions_lm__387,0}};
#define boxvar_CodegenCFunctions_lm__387 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_lm__387)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__386(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_instDims, modelica_metatype _in_a_instDimsInit, modelica_integer _in_a_ix, modelica_string _in_a_dest, modelica_metatype _in_a_varAssign, modelica_metatype _in_a_var_ty, modelica_metatype _in_a_varName, modelica_metatype _in_a_varInits, modelica_metatype *out_out_a_varAssign, modelica_metatype *out_out_a_varInits);
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__386(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_instDims, modelica_metatype _in_a_instDimsInit, modelica_metatype _in_a_ix, modelica_metatype _in_a_dest, modelica_metatype _in_a_varAssign, modelica_metatype _in_a_var_ty, modelica_metatype _in_a_varName, modelica_metatype _in_a_varInits, modelica_metatype *out_out_a_varAssign, modelica_metatype *out_out_a_varInits);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__386,2,0) {(void*) boxptr_CodegenCFunctions_fun__386,0}};
#define boxvar_CodegenCFunctions_fun__386 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__386)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_lm__385(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_items, modelica_metatype _in_a_auxFunction, modelica_metatype _in_a_varDecls, modelica_metatype _in_a_varInits, modelica_metatype *out_out_a_auxFunction, modelica_metatype *out_out_a_varDecls, modelica_metatype *out_out_a_varInits);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_lm__385,2,0) {(void*) boxptr_CodegenCFunctions_lm__385,0}};
#define boxvar_CodegenCFunctions_lm__385 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_lm__385)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__384(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_instDims, modelica_metatype _in_a_instDimsInit, modelica_integer _in_a_ix, modelica_string _in_a_dest, modelica_metatype _in_a_varAssign, modelica_metatype _in_a_var_ty, modelica_metatype _in_a_varName, modelica_metatype _in_a_varInits, modelica_metatype *out_out_a_varAssign, modelica_metatype *out_out_a_varInits);
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__384(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_instDims, modelica_metatype _in_a_instDimsInit, modelica_metatype _in_a_ix, modelica_metatype _in_a_dest, modelica_metatype _in_a_varAssign, modelica_metatype _in_a_var_ty, modelica_metatype _in_a_varName, modelica_metatype _in_a_varInits, modelica_metatype *out_out_a_varAssign, modelica_metatype *out_out_a_varInits);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__384,2,0) {(void*) boxptr_CodegenCFunctions_fun__384,0}};
#define boxvar_CodegenCFunctions_fun__384 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__384)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_lm__383(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_items, modelica_metatype _in_a_auxFunction, modelica_metatype _in_a_varDecls, modelica_metatype _in_a_varInits, modelica_metatype *out_out_a_auxFunction, modelica_metatype *out_out_a_varDecls, modelica_metatype *out_out_a_varInits);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_lm__383,2,0) {(void*) boxptr_CodegenCFunctions_lm__383,0}};
#define boxvar_CodegenCFunctions_lm__383 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_lm__383)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__381(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_instDims, modelica_metatype _in_a_var_ty, modelica_metatype _in_a_var);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__381,2,0) {(void*) boxptr_CodegenCFunctions_fun__381,0}};
#define boxvar_CodegenCFunctions_fun__381 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__381)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__380(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_instDims, modelica_metatype _in_a_var_ty, modelica_metatype _in_a_var);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__380,2,0) {(void*) boxptr_CodegenCFunctions_fun__380,0}};
#define boxvar_CodegenCFunctions_fun__380 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__380)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__378(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_var, modelica_string _in_a_lhsVarName, modelica_metatype _in_a_allocNoDefault, modelica_metatype _in_a_varDecls, modelica_metatype _in_a_varInits, modelica_metatype _in_a_auxFunction, modelica_metatype *out_out_a_varDecls, modelica_metatype *out_out_a_varInits, modelica_metatype *out_out_a_auxFunction);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__378,2,0) {(void*) boxptr_CodegenCFunctions_fun__378,0}};
#define boxvar_CodegenCFunctions_fun__378 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__378)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__377(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_value, modelica_metatype _in_a_var_name, modelica_metatype _in_a_allocNoDefault, modelica_string _in_a_lhsVarName, modelica_metatype _in_a_auxFunction, modelica_metatype _in_a_varDecls, modelica_metatype _in_a_varInits, modelica_metatype _in_a_var_ty, modelica_metatype *out_out_a_auxFunction, modelica_metatype *out_out_a_varDecls, modelica_metatype *out_out_a_varInits);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__377,2,0) {(void*) boxptr_CodegenCFunctions_fun__377,0}};
#define boxvar_CodegenCFunctions_fun__377 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__377)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_lm__376(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_items, modelica_metatype _in_a_auxFunction, modelica_metatype _in_a_varDecls, modelica_metatype _in_a_preExp, modelica_metatype _in_a_varName, modelica_metatype _in_a_rec__name, modelica_boolean _in_a_arr_scalar, modelica_metatype *out_out_a_auxFunction, modelica_metatype *out_out_a_varDecls, modelica_metatype *out_out_a_preExp);
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_lm__376(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_items, modelica_metatype _in_a_auxFunction, modelica_metatype _in_a_varDecls, modelica_metatype _in_a_preExp, modelica_metatype _in_a_varName, modelica_metatype _in_a_rec__name, modelica_metatype _in_a_arr_scalar, modelica_metatype *out_out_a_auxFunction, modelica_metatype *out_out_a_varDecls, modelica_metatype *out_out_a_preExp);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_lm__376,2,0) {(void*) boxptr_CodegenCFunctions_lm__376,0}};
#define boxvar_CodegenCFunctions_lm__376 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_lm__376)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__375(threadData_t *threadData, modelica_metatype _in_txt, modelica_boolean _in_a_arr_scalar, modelica_metatype _in_a_e);
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__375(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_arr_scalar, modelica_metatype _in_a_e);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__375,2,0) {(void*) boxptr_CodegenCFunctions_fun__375,0}};
#define boxvar_CodegenCFunctions_fun__375 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__375)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__373(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_var, modelica_string _in_a_outStruct, modelica_integer _in_a_i, modelica_metatype _in_a_varDecls, modelica_metatype _in_a_varInits, modelica_metatype _in_a_auxFunction, modelica_metatype *out_out_a_varDecls, modelica_metatype *out_out_a_varInits, modelica_metatype *out_out_a_auxFunction);
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__373(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_var, modelica_metatype _in_a_outStruct, modelica_metatype _in_a_i, modelica_metatype _in_a_varDecls, modelica_metatype _in_a_varInits, modelica_metatype _in_a_auxFunction, modelica_metatype *out_out_a_varDecls, modelica_metatype *out_out_a_varInits, modelica_metatype *out_out_a_auxFunction);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__373,2,0) {(void*) boxptr_CodegenCFunctions_fun__373,0}};
#define boxvar_CodegenCFunctions_fun__373 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__373)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__372(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_instDims, modelica_string _in_a_outStruct, modelica_metatype _in_a_var, modelica_metatype _in_a_instDimsInit, modelica_metatype _in_a_varName, modelica_metatype _in_a_var_ty, modelica_metatype _in_a_varDecls, modelica_metatype _in_a_varInits, modelica_metatype _in_a_auxFunction, modelica_metatype _in_a_var_name, modelica_metatype _in_a_var_value, modelica_metatype *out_out_a_varDecls, modelica_metatype *out_out_a_varInits, modelica_metatype *out_out_a_auxFunction);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__372,2,0) {(void*) boxptr_CodegenCFunctions_fun__372,0}};
#define boxvar_CodegenCFunctions_fun__372 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__372)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__371(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_var_value, modelica_metatype _in_a_varDecls, modelica_metatype _in_a_varInits, modelica_metatype _in_a_auxFunction, modelica_metatype _in_a_var_name, modelica_metatype *out_out_a_varDecls, modelica_metatype *out_out_a_varInits, modelica_metatype *out_out_a_auxFunction);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__371,2,0) {(void*) boxptr_CodegenCFunctions_fun__371,0}};
#define boxvar_CodegenCFunctions_fun__371 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__371)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_lm__370(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_items, modelica_metatype _in_a_auxFunction, modelica_metatype _in_a_varDecls, modelica_metatype _in_a_varInits, modelica_metatype *out_out_a_auxFunction, modelica_metatype *out_out_a_varDecls, modelica_metatype *out_out_a_varInits);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_lm__370,2,0) {(void*) boxptr_CodegenCFunctions_lm__370,0}};
#define boxvar_CodegenCFunctions_lm__370 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_lm__370)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__369(threadData_t *threadData, modelica_metatype _in_txt, modelica_string _in_a_outStruct, modelica_integer _in_a_i, modelica_metatype _in_a_auxFunction, modelica_metatype _in_a_var_name, modelica_metatype *out_out_a_auxFunction);
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__369(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_outStruct, modelica_metatype _in_a_i, modelica_metatype _in_a_auxFunction, modelica_metatype _in_a_var_name, modelica_metatype *out_out_a_auxFunction);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__369,2,0) {(void*) boxptr_CodegenCFunctions_fun__369,0}};
#define boxvar_CodegenCFunctions_fun__369 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__369)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__368(threadData_t *threadData, modelica_metatype _in_txt, modelica_string _in_a_outStruct, modelica_metatype _in_a_auxFunction, modelica_metatype _in_a_var_name, modelica_metatype _in_a_var, modelica_metatype *out_out_a_auxFunction);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__368,2,0) {(void*) boxptr_CodegenCFunctions_fun__368,0}};
#define boxvar_CodegenCFunctions_fun__368 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__368)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__366(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_var, modelica_string _in_a_outStruct, modelica_metatype _in_a_varDecls, modelica_metatype _in_a_varInits, modelica_metatype _in_a_auxFunction, modelica_metatype *out_out_a_varDecls, modelica_metatype *out_out_a_varInits, modelica_metatype *out_out_a_auxFunction);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__366,2,0) {(void*) boxptr_CodegenCFunctions_fun__366,0}};
#define boxvar_CodegenCFunctions_fun__366 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__366)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__365(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_instDims, modelica_string _in_a_outStruct, modelica_metatype _in_a_instDimsInit, modelica_metatype _in_a_var_ty, modelica_metatype _in_a_varInits, modelica_metatype _in_a_auxFunction, modelica_metatype _in_a_var_name, modelica_metatype _in_a_varName, modelica_metatype _in_a_var, modelica_metatype _in_a_varDecls, modelica_metatype _in_a_var_value, modelica_metatype *out_out_a_varInits, modelica_metatype *out_out_a_auxFunction, modelica_metatype *out_out_a_varDecls);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__365,2,0) {(void*) boxptr_CodegenCFunctions_fun__365,0}};
#define boxvar_CodegenCFunctions_fun__365 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__365)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__364(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_var_value, modelica_metatype _in_a_varInits, modelica_metatype _in_a_auxFunction, modelica_metatype _in_a_var_name, modelica_metatype _in_a_varName, modelica_metatype _in_a_var, modelica_metatype _in_a_varDecls, modelica_metatype *out_out_a_varInits, modelica_metatype *out_out_a_auxFunction, modelica_metatype *out_out_a_varDecls);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__364,2,0) {(void*) boxptr_CodegenCFunctions_fun__364,0}};
#define boxvar_CodegenCFunctions_fun__364 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__364)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_lm__363(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_items, modelica_metatype _in_a_auxFunction, modelica_metatype _in_a_varDecls, modelica_metatype _in_a_varInits, modelica_metatype *out_out_a_auxFunction, modelica_metatype *out_out_a_varDecls, modelica_metatype *out_out_a_varInits);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_lm__363,2,0) {(void*) boxptr_CodegenCFunctions_lm__363,0}};
#define boxvar_CodegenCFunctions_lm__363 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_lm__363)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__362(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_instDims, modelica_string _in_a_outStruct, modelica_metatype _in_a_instDimsInit, modelica_metatype _in_a_var_ty, modelica_metatype _in_a_varInits, modelica_metatype _in_a_auxFunction, modelica_metatype _in_a_var_name, modelica_metatype _in_a_varName, modelica_metatype _in_a_var, modelica_metatype _in_a_varDecls, modelica_metatype _in_a_var_value, modelica_metatype *out_out_a_varInits, modelica_metatype *out_out_a_auxFunction, modelica_metatype *out_out_a_varDecls);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__362,2,0) {(void*) boxptr_CodegenCFunctions_fun__362,0}};
#define boxvar_CodegenCFunctions_fun__362 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__362)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__361(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_var_value, modelica_metatype _in_a_varInits, modelica_metatype _in_a_auxFunction, modelica_metatype _in_a_var_name, modelica_metatype _in_a_varName, modelica_metatype _in_a_var, modelica_metatype _in_a_varDecls, modelica_metatype *out_out_a_varInits, modelica_metatype *out_out_a_auxFunction, modelica_metatype *out_out_a_varDecls);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__361,2,0) {(void*) boxptr_CodegenCFunctions_fun__361,0}};
#define boxvar_CodegenCFunctions_fun__361 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__361)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_lm__360(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_items, modelica_metatype _in_a_auxFunction, modelica_metatype _in_a_varDecls, modelica_metatype _in_a_varInits, modelica_metatype *out_out_a_auxFunction, modelica_metatype *out_out_a_varDecls, modelica_metatype *out_out_a_varInits);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_lm__360,2,0) {(void*) boxptr_CodegenCFunctions_lm__360,0}};
#define boxvar_CodegenCFunctions_lm__360 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_lm__360)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__358(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_defaultValue, modelica_string _in_a_name, modelica_metatype _in_a_auxFunction, modelica_metatype _in_a_varDecls, modelica_metatype _in_a_varInits, modelica_metatype *out_out_a_auxFunction, modelica_metatype *out_out_a_varDecls, modelica_metatype *out_out_a_varInits);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__358,2,0) {(void*) boxptr_CodegenCFunctions_fun__358,0}};
#define boxvar_CodegenCFunctions_fun__358 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__358)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__357(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_instDims, modelica_metatype _in_a_auxFunction, modelica_metatype _in_a_varDecls, modelica_boolean _in_a_var_bind__from__outside, modelica_metatype _in_a_var_name, modelica_metatype _in_a_var_value, modelica_metatype _in_a_varInits, modelica_metatype _in_a_var_ty, modelica_metatype *out_out_a_auxFunction, modelica_metatype *out_out_a_varDecls, modelica_metatype *out_out_a_varInits);
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__357(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_instDims, modelica_metatype _in_a_auxFunction, modelica_metatype _in_a_varDecls, modelica_metatype _in_a_var_bind__from__outside, modelica_metatype _in_a_var_name, modelica_metatype _in_a_var_value, modelica_metatype _in_a_varInits, modelica_metatype _in_a_var_ty, modelica_metatype *out_out_a_auxFunction, modelica_metatype *out_out_a_varDecls, modelica_metatype *out_out_a_varInits);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__357,2,0) {(void*) boxptr_CodegenCFunctions_fun__357,0}};
#define boxvar_CodegenCFunctions_fun__357 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__357)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__356(threadData_t *threadData, modelica_metatype _in_txt, modelica_boolean _in_mArg, modelica_metatype _in_a_var_ty, modelica_metatype _in_a_auxFunction, modelica_metatype _in_a_varDecls, modelica_boolean _in_a_var_bind__from__outside, modelica_metatype _in_a_var_name, modelica_metatype _in_a_var_value, modelica_metatype _in_a_varInits, modelica_metatype *out_out_a_auxFunction, modelica_metatype *out_out_a_varDecls, modelica_metatype *out_out_a_varInits);
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__356(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_mArg, modelica_metatype _in_a_var_ty, modelica_metatype _in_a_auxFunction, modelica_metatype _in_a_varDecls, modelica_metatype _in_a_var_bind__from__outside, modelica_metatype _in_a_var_name, modelica_metatype _in_a_var_value, modelica_metatype _in_a_varInits, modelica_metatype *out_out_a_auxFunction, modelica_metatype *out_out_a_varDecls, modelica_metatype *out_out_a_varInits);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__356,2,0) {(void*) boxptr_CodegenCFunctions_fun__356,0}};
#define boxvar_CodegenCFunctions_fun__356 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__356)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__355(threadData_t *threadData, modelica_metatype _in_txt, modelica_string _in_a_outStruct, modelica_metatype _in_a_initVar, modelica_metatype _in_a_varName, modelica_metatype _in_a_typeNameFull);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__355,2,0) {(void*) boxptr_CodegenCFunctions_fun__355,0}};
#define boxvar_CodegenCFunctions_fun__355 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__355)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__354(threadData_t *threadData, modelica_metatype _in_txt, modelica_string _in_mArg);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__354,2,0) {(void*) boxptr_CodegenCFunctions_fun__354,0}};
#define boxvar_CodegenCFunctions_fun__354 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__354)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__352(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_args);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__352,2,0) {(void*) boxptr_CodegenCFunctions_fun__352,0}};
#define boxvar_CodegenCFunctions_fun__352 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__352)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_lm__351(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_items, modelica_string _in_a_prefix);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_lm__351,2,0) {(void*) boxptr_CodegenCFunctions_lm__351,0}};
#define boxvar_CodegenCFunctions_lm__351 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_lm__351)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__350(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_ty, modelica_string _in_a_subvar_name, modelica_string _in_a_prefix);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__350,2,0) {(void*) boxptr_CodegenCFunctions_fun__350,0}};
#define boxvar_CodegenCFunctions_fun__350 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__350)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_lm__347(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_items, modelica_string _in_a_prefix);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_lm__347,2,0) {(void*) boxptr_CodegenCFunctions_lm__347,0}};
#define boxvar_CodegenCFunctions_lm__347 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_lm__347)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__346(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_ty, modelica_string _in_a_subvar_name, modelica_string _in_a_prefix);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__346,2,0) {(void*) boxptr_CodegenCFunctions_fun__346,0}};
#define boxvar_CodegenCFunctions_fun__346 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__346)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__344(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_var, modelica_metatype _in_a_auxFunction, modelica_metatype *out_out_a_auxFunction);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__344,2,0) {(void*) boxptr_CodegenCFunctions_fun__344,0}};
#define boxvar_CodegenCFunctions_fun__344 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__344)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__343(threadData_t *threadData, modelica_metatype _in_txt, modelica_boolean _in_mArg);
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__343(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_mArg);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__343,2,0) {(void*) boxptr_CodegenCFunctions_fun__343,0}};
#define boxvar_CodegenCFunctions_fun__343 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__343)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_lm__341(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_items, modelica_metatype _in_a_preExp, modelica_string _in_a_varName, modelica_metatype _in_a_varDecls, modelica_metatype *out_out_a_preExp, modelica_metatype *out_out_a_varDecls);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_lm__341,2,0) {(void*) boxptr_CodegenCFunctions_lm__341,0}};
#define boxvar_CodegenCFunctions_lm__341 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_lm__341)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__338(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_constructorType, modelica_string _in_a_outName, modelica_string _in_a_condition, modelica_metatype _in_a_varDecls, modelica_metatype _in_a_ty, modelica_string _in_a_varName, modelica_metatype _in_a_varUnbox, modelica_metatype *out_out_a_varDecls, modelica_metatype *out_out_a_varUnbox);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__338,2,0) {(void*) boxptr_CodegenCFunctions_fun__338,0}};
#define boxvar_CodegenCFunctions_fun__338 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__338)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__337(threadData_t *threadData, modelica_metatype _in_txt, modelica_string _in_a_condition, modelica_metatype _in_a_constructor, modelica_string _in_a_outName);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__337,2,0) {(void*) boxptr_CodegenCFunctions_fun__337,0}};
#define boxvar_CodegenCFunctions_fun__337 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__337)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__335(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_ty, modelica_string _in_a_recordVar, modelica_metatype _in_a_preExp, modelica_metatype _in_a_varDecls, modelica_metatype *out_out_a_preExp, modelica_metatype *out_out_a_varDecls);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__335,2,0) {(void*) boxptr_CodegenCFunctions_fun__335,0}};
#define boxvar_CodegenCFunctions_fun__335 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__335)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_lm__334(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_items, modelica_metatype _in_a_tmpVar, modelica_string _in_a_recordVar, modelica_metatype _in_a_varDecls, modelica_metatype *out_out_a_varDecls);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_lm__334,2,0) {(void*) boxptr_CodegenCFunctions_lm__334,0}};
#define boxvar_CodegenCFunctions_lm__334 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_lm__334)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__332(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_varType, modelica_string _in_a_varName, modelica_metatype _in_a_preExp, modelica_metatype _in_a_varDecls, modelica_metatype *out_out_a_preExp, modelica_metatype *out_out_a_varDecls);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__332,2,0) {(void*) boxptr_CodegenCFunctions_fun__332,0}};
#define boxvar_CodegenCFunctions_fun__332 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__332)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__329(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_fn, modelica_boolean _in_a_isSimulation, modelica_metatype _in_a_auxFunction, modelica_metatype *out_out_a_auxFunction);
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__329(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_fn, modelica_metatype _in_a_isSimulation, modelica_metatype _in_a_auxFunction, modelica_metatype *out_out_a_auxFunction);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__329,2,0) {(void*) boxptr_CodegenCFunctions_fun__329,0}};
#define boxvar_CodegenCFunctions_fun__329 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__329)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__328(threadData_t *threadData, modelica_metatype _in_txt, modelica_boolean _in_mArg, modelica_metatype _in_a_fname);
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__328(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_mArg, modelica_metatype _in_a_fname);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__328,2,0) {(void*) boxptr_CodegenCFunctions_fun__328,0}};
#define boxvar_CodegenCFunctions_fun__328 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__328)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_lm__327(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_items);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_lm__327,2,0) {(void*) boxptr_CodegenCFunctions_lm__327,0}};
#define boxvar_CodegenCFunctions_lm__327 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_lm__327)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__326(threadData_t *threadData, modelica_metatype _in_txt, modelica_boolean _in_mArg);
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__326(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_mArg);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__326,2,0) {(void*) boxptr_CodegenCFunctions_fun__326,0}};
#define boxvar_CodegenCFunctions_fun__326 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__326)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__325(threadData_t *threadData, modelica_metatype _in_txt, modelica_boolean _in_a_isSimulation, modelica_metatype _in_a_visibility);
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__325(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_isSimulation, modelica_metatype _in_a_visibility);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__325,2,0) {(void*) boxptr_CodegenCFunctions_fun__325,0}};
#define boxvar_CodegenCFunctions_fun__325 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__325)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__324(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_visibility);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__324,2,0) {(void*) boxptr_CodegenCFunctions_fun__324,0}};
#define boxvar_CodegenCFunctions_fun__324 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__324)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_lm__323(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_items, modelica_metatype _in_a_auxFunction, modelica_metatype *out_out_a_auxFunction);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_lm__323,2,0) {(void*) boxptr_CodegenCFunctions_lm__323,0}};
#define boxvar_CodegenCFunctions_lm__323 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_lm__323)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__322(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_var, modelica_metatype _in_a_auxFunction, modelica_metatype *out_out_a_auxFunction);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__322,2,0) {(void*) boxptr_CodegenCFunctions_fun__322,0}};
#define boxvar_CodegenCFunctions_fun__322 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__322)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__320(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_outvars, modelica_metatype _in_a_retvar);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__320,2,0) {(void*) boxptr_CodegenCFunctions_fun__320,0}};
#define boxvar_CodegenCFunctions_fun__320 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__320)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__319(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_outvars);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__319,2,0) {(void*) boxptr_CodegenCFunctions_fun__319,0}};
#define boxvar_CodegenCFunctions_fun__319 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__319)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_lm__318(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_items, modelica_metatype _in_a_varDecls, modelica_metatype _in_a_varUnbox, modelica_metatype *out_out_a_varDecls, modelica_metatype *out_out_a_varUnbox);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_lm__318,2,0) {(void*) boxptr_CodegenCFunctions_lm__318,0}};
#define boxvar_CodegenCFunctions_lm__318 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_lm__318)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__317(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_outvars, modelica_metatype _in_a_varUnbox, modelica_metatype _in_a_auxFunctionIgnore, modelica_metatype _in_a_varFreesIgnore, modelica_metatype _in_a_outputAllocIgnore, modelica_metatype _in_a_varDecls, modelica_metatype *out_out_a_varUnbox, modelica_metatype *out_out_a_auxFunctionIgnore, modelica_metatype *out_out_a_varFreesIgnore, modelica_metatype *out_out_a_outputAllocIgnore, modelica_metatype *out_out_a_varDecls);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__317,2,0) {(void*) boxptr_CodegenCFunctions_fun__317,0}};
#define boxvar_CodegenCFunctions_fun__317 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__317)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__316(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_mArg, modelica_metatype _in_a_out, modelica_metatype _in_a_varDecls, modelica_metatype _in_a_v, modelica_metatype *out_out_a_varDecls);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__316,2,0) {(void*) boxptr_CodegenCFunctions_fun__316,0}};
#define boxvar_CodegenCFunctions_fun__316 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__316)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_lm__315(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_items, modelica_metatype _in_a_auxFunctionIgnore, modelica_metatype _in_a_varFreesIgnore, modelica_metatype _in_a_outputAllocIgnore, modelica_metatype _in_a_varDecls, modelica_metatype *out_out_a_auxFunctionIgnore, modelica_metatype *out_out_a_varFreesIgnore, modelica_metatype *out_out_a_outputAllocIgnore, modelica_metatype *out_out_a_varDecls);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_lm__315,2,0) {(void*) boxptr_CodegenCFunctions_lm__315,0}};
#define boxvar_CodegenCFunctions_lm__315 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_lm__315)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__314(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_var, modelica_metatype _in_a_auxFunctionIgnore, modelica_metatype _in_a_varFreesIgnore, modelica_metatype _in_a_outputAllocIgnore, modelica_metatype _in_a_varDecls, modelica_metatype *out_out_a_auxFunctionIgnore, modelica_metatype *out_out_a_varFreesIgnore, modelica_metatype *out_out_a_outputAllocIgnore, modelica_metatype *out_out_a_varDecls);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__314,2,0) {(void*) boxptr_CodegenCFunctions_fun__314,0}};
#define boxvar_CodegenCFunctions_fun__314 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__314)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__313(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_mArg, modelica_metatype _in_a_auxFunctionIgnore, modelica_metatype _in_a_varFreesIgnore, modelica_metatype _in_a_outputAllocIgnore, modelica_metatype _in_a_varDecls, modelica_metatype _in_a_var, modelica_metatype *out_out_a_auxFunctionIgnore, modelica_metatype *out_out_a_varFreesIgnore, modelica_metatype *out_out_a_outputAllocIgnore, modelica_metatype *out_out_a_varDecls);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__313,2,0) {(void*) boxptr_CodegenCFunctions_fun__313,0}};
#define boxvar_CodegenCFunctions_fun__313 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__313)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_lm__312(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_items, modelica_metatype _in_a_auxFunction, modelica_metatype _in_a_varBox, modelica_metatype _in_a_varDecls, modelica_metatype *out_out_a_auxFunction, modelica_metatype *out_out_a_varBox, modelica_metatype *out_out_a_varDecls);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_lm__312,2,0) {(void*) boxptr_CodegenCFunctions_lm__312,0}};
#define boxvar_CodegenCFunctions_lm__312 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_lm__312)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__311(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_outvars);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__311,2,0) {(void*) boxptr_CodegenCFunctions_fun__311,0}};
#define boxvar_CodegenCFunctions_fun__311 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__311)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__309(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_fn, modelica_boolean _in_a_isSimulation);
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__309(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_fn, modelica_metatype _in_a_isSimulation);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__309,2,0) {(void*) boxptr_CodegenCFunctions_fun__309,0}};
#define boxvar_CodegenCFunctions_fun__309 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__309)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__308(threadData_t *threadData, modelica_metatype _in_txt, modelica_boolean _in_mArg, modelica_boolean _in_a_isSimulation, modelica_metatype _in_a_visibility, modelica_metatype _in_a_outVars, modelica_metatype _in_a_funArgs, modelica_metatype _in_a_name);
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__308(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_mArg, modelica_metatype _in_a_isSimulation, modelica_metatype _in_a_visibility, modelica_metatype _in_a_outVars, modelica_metatype _in_a_funArgs, modelica_metatype _in_a_name);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__308,2,0) {(void*) boxptr_CodegenCFunctions_fun__308,0}};
#define boxvar_CodegenCFunctions_fun__308 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__308)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__307(threadData_t *threadData, modelica_metatype _in_txt, modelica_boolean _in_mArg, modelica_boolean _in_a_isSimulation, modelica_metatype _in_a_visibility, modelica_metatype _in_a_outVars, modelica_metatype _in_a_functionArguments, modelica_metatype _in_a_name);
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__307(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_mArg, modelica_metatype _in_a_isSimulation, modelica_metatype _in_a_visibility, modelica_metatype _in_a_outVars, modelica_metatype _in_a_functionArguments, modelica_metatype _in_a_name);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__307,2,0) {(void*) boxptr_CodegenCFunctions_fun__307,0}};
#define boxvar_CodegenCFunctions_fun__307 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__307)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__306(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_fn);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__306,2,0) {(void*) boxptr_CodegenCFunctions_fun__306,0}};
#define boxvar_CodegenCFunctions_fun__306 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__306)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__304(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_instDims, modelica_metatype _in_a_var, modelica_metatype _in_a_instDimsInit, modelica_metatype _in_a_var_ty, modelica_metatype _in_a_auxFunction, modelica_metatype _in_a_varDecls, modelica_metatype _in_a_varInits, modelica_metatype _in_a_varName, modelica_metatype _in_a_var_value, modelica_metatype *out_out_a_auxFunction, modelica_metatype *out_out_a_varDecls, modelica_metatype *out_out_a_varInits);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__304,2,0) {(void*) boxptr_CodegenCFunctions_fun__304,0}};
#define boxvar_CodegenCFunctions_fun__304 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__304)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__303(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_var_value, modelica_metatype _in_a_auxFunction, modelica_metatype _in_a_varDecls, modelica_metatype _in_a_varInits, modelica_metatype _in_a_varName, modelica_metatype *out_out_a_auxFunction, modelica_metatype *out_out_a_varDecls, modelica_metatype *out_out_a_varInits);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__303,2,0) {(void*) boxptr_CodegenCFunctions_fun__303,0}};
#define boxvar_CodegenCFunctions_fun__303 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__303)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_lm__302(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_items, modelica_metatype _in_a_auxFunction, modelica_metatype _in_a_varDecls, modelica_metatype _in_a_varInits, modelica_metatype *out_out_a_auxFunction, modelica_metatype *out_out_a_varDecls, modelica_metatype *out_out_a_varInits);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_lm__302,2,0) {(void*) boxptr_CodegenCFunctions_lm__302,0}};
#define boxvar_CodegenCFunctions_lm__302 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_lm__302)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__300(threadData_t *threadData, modelica_metatype _in_txt, modelica_boolean _in_mArg, modelica_metatype _in_a_fname);
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__300(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_mArg, modelica_metatype _in_a_fname);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__300,2,0) {(void*) boxptr_CodegenCFunctions_fun__300,0}};
#define boxvar_CodegenCFunctions_fun__300 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__300)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_lm__299(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_items, modelica_metatype _in_a_structVar);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_lm__299,2,0) {(void*) boxptr_CodegenCFunctions_lm__299,0}};
#define boxvar_CodegenCFunctions_lm__299 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_lm__299)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_lm__298(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_items);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_lm__298,2,0) {(void*) boxptr_CodegenCFunctions_lm__298,0}};
#define boxvar_CodegenCFunctions_lm__298 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_lm__298)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__297(threadData_t *threadData, modelica_metatype _in_txt, modelica_boolean _in_mArg);
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__297(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_mArg);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__297,2,0) {(void*) boxptr_CodegenCFunctions_fun__297,0}};
#define boxvar_CodegenCFunctions_fun__297 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__297)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_lm__296(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_items, modelica_metatype _in_a_auxFunction, modelica_metatype _in_a_varInits, modelica_metatype _in_a_varDecls, modelica_metatype _in_a_structVar, modelica_metatype *out_out_a_auxFunction, modelica_metatype *out_out_a_varInits, modelica_metatype *out_out_a_varDecls);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_lm__296,2,0) {(void*) boxptr_CodegenCFunctions_lm__296,0}};
#define boxvar_CodegenCFunctions_lm__296 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_lm__296)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__294(threadData_t *threadData, modelica_metatype _in_txt, modelica_boolean _in_a_inFunc, modelica_metatype _in_a_outVars, modelica_metatype _in_a_funArgs, modelica_metatype _in_a_fname, modelica_metatype *out_out_a_fname);
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__294(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_inFunc, modelica_metatype _in_a_outVars, modelica_metatype _in_a_funArgs, modelica_metatype _in_a_fname, modelica_metatype *out_out_a_fname);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__294,2,0) {(void*) boxptr_CodegenCFunctions_fun__294,0}};
#define boxvar_CodegenCFunctions_fun__294 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__294)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__293(threadData_t *threadData, modelica_metatype _in_txt, modelica_boolean _in_a_dynamicLoad, modelica_string _in_a_language, modelica_string _in_a_extName);
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__293(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_dynamicLoad, modelica_metatype _in_a_language, modelica_metatype _in_a_extName);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__293,2,0) {(void*) boxptr_CodegenCFunctions_fun__293,0}};
#define boxvar_CodegenCFunctions_fun__293 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__293)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__292(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_outVars);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__292,2,0) {(void*) boxptr_CodegenCFunctions_fun__292,0}};
#define boxvar_CodegenCFunctions_fun__292 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__292)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_lm__291(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_items);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_lm__291,2,0) {(void*) boxptr_CodegenCFunctions_lm__291,0}};
#define boxvar_CodegenCFunctions_lm__291 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_lm__291)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_lm__290(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_items, modelica_metatype _in_a_auxFunction, modelica_metatype _in_a_varFrees, modelica_metatype _in_a_outputAlloc, modelica_metatype _in_a_varDecls, modelica_metatype *out_out_a_auxFunction, modelica_metatype *out_out_a_varFrees, modelica_metatype *out_out_a_outputAlloc, modelica_metatype *out_out_a_varDecls);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_lm__290,2,0) {(void*) boxptr_CodegenCFunctions_lm__290,0}};
#define boxvar_CodegenCFunctions_lm__290 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_lm__290)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__289(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_outVars, modelica_metatype _in_a_fname);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__289,2,0) {(void*) boxptr_CodegenCFunctions_fun__289,0}};
#define boxvar_CodegenCFunctions_fun__289 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__289)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__287(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_tupleVar, modelica_metatype _in_a_KernelName, modelica_metatype _in_a_argNr, modelica_metatype _in_a_parVarList, modelica_metatype _in_a_context, modelica_metatype *out_out_a_parVarList);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__287,2,0) {(void*) boxptr_CodegenCFunctions_fun__287,0}};
#define boxvar_CodegenCFunctions_fun__287 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__287)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__285(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_var, modelica_metatype _in_a_argNr, modelica_metatype _in_a_KernelName, modelica_metatype _in_a_parVarList, modelica_metatype _in_a_auxFunction, modelica_metatype *out_out_a_parVarList, modelica_metatype *out_out_a_auxFunction);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__285,2,0) {(void*) boxptr_CodegenCFunctions_fun__285,0}};
#define boxvar_CodegenCFunctions_fun__285 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__285)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__284(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_instDims, modelica_metatype _in_a_varName, modelica_metatype _in_a_argNr, modelica_metatype _in_a_KernelName, modelica_metatype _in_a_parVarList, modelica_metatype *out_out_a_parVarList);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__284,2,0) {(void*) boxptr_CodegenCFunctions_fun__284,0}};
#define boxvar_CodegenCFunctions_fun__284 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__284)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__282(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_fn);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__282,2,0) {(void*) boxptr_CodegenCFunctions_fun__282,0}};
#define boxvar_CodegenCFunctions_fun__282 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__282)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__281(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_outVars);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__281,2,0) {(void*) boxptr_CodegenCFunctions_fun__281,0}};
#define boxvar_CodegenCFunctions_fun__281 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__281)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_lm__280(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_items, modelica_metatype _in_a_kernelArgSets, modelica_metatype _in_a_kernel__arg__number, modelica_metatype _in_a_cl__kernelVar, modelica_metatype *out_out_a_kernelArgSets, modelica_metatype *out_out_a_kernel__arg__number, modelica_metatype *out_out_a_cl__kernelVar);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_lm__280,2,0) {(void*) boxptr_CodegenCFunctions_lm__280,0}};
#define boxvar_CodegenCFunctions_lm__280 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_lm__280)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_lm__279(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_items, modelica_metatype _in_a_kernelArgSets, modelica_metatype _in_a_kernel__arg__number, modelica_metatype _in_a_cl__kernelVar, modelica_metatype *out_out_a_kernelArgSets, modelica_metatype *out_out_a_kernel__arg__number, modelica_metatype *out_out_a_cl__kernelVar);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_lm__279,2,0) {(void*) boxptr_CodegenCFunctions_lm__279,0}};
#define boxvar_CodegenCFunctions_lm__279 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_lm__279)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_lm__278(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_items);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_lm__278,2,0) {(void*) boxptr_CodegenCFunctions_lm__278,0}};
#define boxvar_CodegenCFunctions_lm__278 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_lm__278)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_lm__277(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_items, modelica_metatype _in_a_auxFunction, modelica_metatype _in_a_varFrees, modelica_metatype _in_a_varInits, modelica_metatype _in_a_varDecls, modelica_metatype *out_out_a_auxFunction, modelica_metatype *out_out_a_varFrees, modelica_metatype *out_out_a_varInits, modelica_metatype *out_out_a_varDecls);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_lm__277,2,0) {(void*) boxptr_CodegenCFunctions_lm__277,0}};
#define boxvar_CodegenCFunctions_lm__277 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_lm__277)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_lm__276(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_items, modelica_metatype _in_a_auxFunction, modelica_metatype _in_a_varFrees, modelica_metatype _in_a_varInits, modelica_metatype _in_a_varDecls, modelica_metatype *out_out_a_auxFunction, modelica_metatype *out_out_a_varFrees, modelica_metatype *out_out_a_varInits, modelica_metatype *out_out_a_varDecls);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_lm__276,2,0) {(void*) boxptr_CodegenCFunctions_lm__276,0}};
#define boxvar_CodegenCFunctions_lm__276 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_lm__276)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__274(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_fn);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__274,2,0) {(void*) boxptr_CodegenCFunctions_fun__274,0}};
#define boxvar_CodegenCFunctions_fun__274 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__274)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__273(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_outVars);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__273,2,0) {(void*) boxptr_CodegenCFunctions_fun__273,0}};
#define boxvar_CodegenCFunctions_fun__273 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__273)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_lm__272(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_items);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_lm__272,2,0) {(void*) boxptr_CodegenCFunctions_lm__272,0}};
#define boxvar_CodegenCFunctions_lm__272 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_lm__272)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_lm__271(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_items, modelica_metatype _in_a_auxFunction, modelica_metatype _in_a_varFrees, modelica_metatype _in_a_varInits, modelica_metatype _in_a_varDecls, modelica_metatype *out_out_a_auxFunction, modelica_metatype *out_out_a_varFrees, modelica_metatype *out_out_a_varInits, modelica_metatype *out_out_a_varDecls);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_lm__271,2,0) {(void*) boxptr_CodegenCFunctions_lm__271,0}};
#define boxvar_CodegenCFunctions_lm__271 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_lm__271)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__269(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_fn);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__269,2,0) {(void*) boxptr_CodegenCFunctions_fun__269,0}};
#define boxvar_CodegenCFunctions_fun__269 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__269)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_lm__268(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_items, modelica_metatype _in_a_reconstrucedArrays, modelica_metatype *out_out_a_reconstrucedArrays);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_lm__268,2,0) {(void*) boxptr_CodegenCFunctions_lm__268,0}};
#define boxvar_CodegenCFunctions_lm__268 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_lm__268)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_lm__267(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_items, modelica_metatype _in_a_reconstrucedArrays, modelica_metatype *out_out_a_reconstrucedArrays);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_lm__267,2,0) {(void*) boxptr_CodegenCFunctions_lm__267,0}};
#define boxvar_CodegenCFunctions_lm__267 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_lm__267)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_lm__266(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_items, modelica_metatype _in_a_argStr, modelica_metatype *out_out_a_argStr);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_lm__266,2,0) {(void*) boxptr_CodegenCFunctions_lm__266,0}};
#define boxvar_CodegenCFunctions_lm__266 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_lm__266)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_lm__265(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_items);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_lm__265,2,0) {(void*) boxptr_CodegenCFunctions_lm__265,0}};
#define boxvar_CodegenCFunctions_lm__265 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_lm__265)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_lm__264(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_items, modelica_metatype _in_a_auxFunction, modelica_metatype _in_a_varFrees, modelica_metatype _in_a_varInits, modelica_metatype _in_a_varDecls, modelica_metatype *out_out_a_auxFunction, modelica_metatype *out_out_a_varFrees, modelica_metatype *out_out_a_varInits, modelica_metatype *out_out_a_varDecls);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_lm__264,2,0) {(void*) boxptr_CodegenCFunctions_lm__264,0}};
#define boxvar_CodegenCFunctions_lm__264 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_lm__264)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__262(threadData_t *threadData, modelica_metatype _in_txt, modelica_boolean _in_mArg);
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__262(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_mArg);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__262,2,0) {(void*) boxptr_CodegenCFunctions_fun__262,0}};
#define boxvar_CodegenCFunctions_fun__262 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__262)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_lm__261(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_items);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_lm__261,2,0) {(void*) boxptr_CodegenCFunctions_lm__261,0}};
#define boxvar_CodegenCFunctions_lm__261 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_lm__261)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__260(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_outVars);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__260,2,0) {(void*) boxptr_CodegenCFunctions_fun__260,0}};
#define boxvar_CodegenCFunctions_fun__260 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__260)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_lm__259(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_items);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_lm__259,2,0) {(void*) boxptr_CodegenCFunctions_lm__259,0}};
#define boxvar_CodegenCFunctions_lm__259 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_lm__259)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_lm__258(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_items);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_lm__258,2,0) {(void*) boxptr_CodegenCFunctions_lm__258,0}};
#define boxvar_CodegenCFunctions_lm__258 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_lm__258)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__257(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_outVars);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__257,2,0) {(void*) boxptr_CodegenCFunctions_fun__257,0}};
#define boxvar_CodegenCFunctions_fun__257 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__257)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_lm__256(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_items);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_lm__256,2,0) {(void*) boxptr_CodegenCFunctions_lm__256,0}};
#define boxvar_CodegenCFunctions_lm__256 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_lm__256)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_lm__255(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_items);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_lm__255,2,0) {(void*) boxptr_CodegenCFunctions_lm__255,0}};
#define boxvar_CodegenCFunctions_lm__255 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_lm__255)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_lm__254(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_items);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_lm__254,2,0) {(void*) boxptr_CodegenCFunctions_lm__254,0}};
#define boxvar_CodegenCFunctions_lm__254 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_lm__254)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__252(threadData_t *threadData, modelica_metatype _in_txt, modelica_boolean _in_a_inFunc, modelica_metatype _in_a_outVars, modelica_metatype _in_a_functionArguments, modelica_metatype _in_a_fname, modelica_metatype *out_out_a_fname);
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__252(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_inFunc, modelica_metatype _in_a_outVars, modelica_metatype _in_a_functionArguments, modelica_metatype _in_a_fname, modelica_metatype *out_out_a_fname);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__252,2,0) {(void*) boxptr_CodegenCFunctions_fun__252,0}};
#define boxvar_CodegenCFunctions_fun__252 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__252)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__251(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_outVars);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__251,2,0) {(void*) boxptr_CodegenCFunctions_fun__251,0}};
#define boxvar_CodegenCFunctions_fun__251 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__251)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__250(threadData_t *threadData, modelica_metatype _in_txt, modelica_boolean _in_mArg, modelica_metatype _in_a_varFrees);
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__250(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_mArg, modelica_metatype _in_a_varFrees);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__250,2,0) {(void*) boxptr_CodegenCFunctions_fun__250,0}};
#define boxvar_CodegenCFunctions_fun__250 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__250)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__249(threadData_t *threadData, modelica_metatype _in_txt, modelica_boolean _in_mArg);
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__249(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_mArg);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__249,2,0) {(void*) boxptr_CodegenCFunctions_fun__249,0}};
#define boxvar_CodegenCFunctions_fun__249 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__249)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__248(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_visibility);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__248,2,0) {(void*) boxptr_CodegenCFunctions_fun__248,0}};
#define boxvar_CodegenCFunctions_fun__248 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__248)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__247(threadData_t *threadData, modelica_metatype _in_txt, modelica_boolean _in_mArg, modelica_boolean _in_a_isSimulation, modelica_metatype _in_a_fn);
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__247(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_mArg, modelica_metatype _in_a_isSimulation, modelica_metatype _in_a_fn);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__247,2,0) {(void*) boxptr_CodegenCFunctions_fun__247,0}};
#define boxvar_CodegenCFunctions_fun__247 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__247)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_lm__246(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_items, modelica_metatype _in_a_auxFunction, modelica_metatype *out_out_a_auxFunction);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_lm__246,2,0) {(void*) boxptr_CodegenCFunctions_lm__246,0}};
#define boxvar_CodegenCFunctions_lm__246 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_lm__246)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_lm__245(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_items);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_lm__245,2,0) {(void*) boxptr_CodegenCFunctions_lm__245,0}};
#define boxvar_CodegenCFunctions_lm__245 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_lm__245)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_lm__244(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_items, modelica_metatype _in_a_auxFunction, modelica_metatype _in_a_varFrees, modelica_metatype _in_a_varInits, modelica_metatype _in_a_varDecls, modelica_metatype *out_out_a_auxFunction, modelica_metatype *out_out_a_varFrees, modelica_metatype *out_out_a_varInits, modelica_metatype *out_out_a_varDecls);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_lm__244,2,0) {(void*) boxptr_CodegenCFunctions_lm__244,0}};
#define boxvar_CodegenCFunctions_lm__244 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_lm__244)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__243(threadData_t *threadData, modelica_metatype _in_txt, modelica_boolean _in_mArg, modelica_metatype _in_a_varDecls, modelica_metatype _in_a_body, modelica_metatype *out_out_a_varDecls);
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__243(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_mArg, modelica_metatype _in_a_varDecls, modelica_metatype _in_a_body, modelica_metatype *out_out_a_varDecls);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__243,2,0) {(void*) boxptr_CodegenCFunctions_fun__243,0}};
#define boxvar_CodegenCFunctions_fun__243 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__243)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__242(threadData_t *threadData, modelica_metatype _in_txt, modelica_boolean _in_mArg, modelica_metatype _in_a_varDecls, modelica_metatype *out_out_a_varDecls);
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__242(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_mArg, modelica_metatype _in_a_varDecls, modelica_metatype *out_out_a_varDecls);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__242,2,0) {(void*) boxptr_CodegenCFunctions_fun__242,0}};
#define boxvar_CodegenCFunctions_fun__242 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__242)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__240(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_fn);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__240,2,0) {(void*) boxptr_CodegenCFunctions_fun__240,0}};
#define boxvar_CodegenCFunctions_fun__240 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__240)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_lm__236(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_items);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_lm__236,2,0) {(void*) boxptr_CodegenCFunctions_lm__236,0}};
#define boxvar_CodegenCFunctions_lm__236 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_lm__236)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_lm__234(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_items, modelica_boolean _in_a_isSimulation);
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_lm__234(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_items, modelica_metatype _in_a_isSimulation);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_lm__234,2,0) {(void*) boxptr_CodegenCFunctions_lm__234,0}};
#define boxvar_CodegenCFunctions_lm__234 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_lm__234)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__232(threadData_t *threadData, modelica_metatype _in_txt, modelica_boolean _in_a_dotPath, modelica_metatype _in_a_name);
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__232(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_dotPath, modelica_metatype _in_a_name);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__232,2,0) {(void*) boxptr_CodegenCFunctions_fun__232,0}};
#define boxvar_CodegenCFunctions_fun__232 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__232)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__231(threadData_t *threadData, modelica_metatype _in_txt, modelica_boolean _in_a_dotPath, modelica_metatype _in_a_name);
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__231(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_dotPath, modelica_metatype _in_a_name);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__231,2,0) {(void*) boxptr_CodegenCFunctions_fun__231,0}};
#define boxvar_CodegenCFunctions_fun__231 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__231)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__230(threadData_t *threadData, modelica_metatype _in_txt, modelica_boolean _in_a_dotPath, modelica_metatype _in_a_name);
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__230(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_dotPath, modelica_metatype _in_a_name);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__230,2,0) {(void*) boxptr_CodegenCFunctions_fun__230,0}};
#define boxvar_CodegenCFunctions_fun__230 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__230)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__228(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_extArg, modelica_metatype _in_a_auxFunction, modelica_metatype *out_out_a_auxFunction);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__228,2,0) {(void*) boxptr_CodegenCFunctions_fun__228,0}};
#define boxvar_CodegenCFunctions_fun__228 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__228)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__226(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_extArg, modelica_metatype _in_a_auxFunction, modelica_metatype *out_out_a_auxFunction);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__226,2,0) {(void*) boxptr_CodegenCFunctions_fun__226,0}};
#define boxvar_CodegenCFunctions_fun__226 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__226)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__224(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_type, modelica_boolean _in_a_isReference, modelica_metatype _in_a_s);
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__224(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_type, modelica_metatype _in_a_isReference, modelica_metatype _in_a_s);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__224,2,0) {(void*) boxptr_CodegenCFunctions_fun__224,0}};
#define boxvar_CodegenCFunctions_fun__224 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__224)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__223(threadData_t *threadData, modelica_metatype _in_txt, modelica_boolean _in_a_isReference, modelica_metatype _in_a_s);
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__223(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_isReference, modelica_metatype _in_a_s);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__223,2,0) {(void*) boxptr_CodegenCFunctions_fun__223,0}};
#define boxvar_CodegenCFunctions_fun__223 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__223)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__222(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_type);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__222,2,0) {(void*) boxptr_CodegenCFunctions_fun__222,0}};
#define boxvar_CodegenCFunctions_fun__222 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__222)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__220(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_type, modelica_boolean _in_a_isArray, modelica_boolean _in_a_isInput, modelica_metatype _in_a_s);
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__220(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_type, modelica_metatype _in_a_isArray, modelica_metatype _in_a_isInput, modelica_metatype _in_a_s);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__220,2,0) {(void*) boxptr_CodegenCFunctions_fun__220,0}};
#define boxvar_CodegenCFunctions_fun__220 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__220)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__219(threadData_t *threadData, modelica_metatype _in_txt, modelica_boolean _in_a_isInput, modelica_boolean _in_a_isArray, modelica_metatype _in_a_s);
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__219(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_isInput, modelica_metatype _in_a_isArray, modelica_metatype _in_a_s);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__219,2,0) {(void*) boxptr_CodegenCFunctions_fun__219,0}};
#define boxvar_CodegenCFunctions_fun__219 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__219)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__218(threadData_t *threadData, modelica_metatype _in_txt, modelica_boolean _in_a_isArray, modelica_metatype _in_a_s);
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__218(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_isArray, modelica_metatype _in_a_s);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__218,2,0) {(void*) boxptr_CodegenCFunctions_fun__218,0}};
#define boxvar_CodegenCFunctions_fun__218 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__218)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__217(threadData_t *threadData, modelica_metatype _in_txt, modelica_string _in_mArg);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__217,2,0) {(void*) boxptr_CodegenCFunctions_fun__217,0}};
#define boxvar_CodegenCFunctions_fun__217 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__217)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__216(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_type, modelica_boolean _in_a_returnType, modelica_boolean _in_a_isInput);
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__216(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_type, modelica_metatype _in_a_returnType, modelica_metatype _in_a_isInput);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__216,2,0) {(void*) boxptr_CodegenCFunctions_fun__216,0}};
#define boxvar_CodegenCFunctions_fun__216 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__216)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__215(threadData_t *threadData, modelica_metatype _in_txt, modelica_boolean _in_a_returnType);
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__215(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_returnType);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__215,2,0) {(void*) boxptr_CodegenCFunctions_fun__215,0}};
#define boxvar_CodegenCFunctions_fun__215 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__215)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__212(threadData_t *threadData, modelica_metatype _in_txt, modelica_string _in_a_language, modelica_metatype _in_a_args);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__212,2,0) {(void*) boxptr_CodegenCFunctions_fun__212,0}};
#define boxvar_CodegenCFunctions_fun__212 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__212)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_lm__211(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_items);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_lm__211,2,0) {(void*) boxptr_CodegenCFunctions_lm__211,0}};
#define boxvar_CodegenCFunctions_lm__211 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_lm__211)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_lm__210(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_items);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_lm__210,2,0) {(void*) boxptr_CodegenCFunctions_lm__210,0}};
#define boxvar_CodegenCFunctions_lm__210 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_lm__210)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_lm__209(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_items);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_lm__209,2,0) {(void*) boxptr_CodegenCFunctions_lm__209,0}};
#define boxvar_CodegenCFunctions_lm__209 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_lm__209)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__207(threadData_t *threadData, modelica_metatype _in_txt, modelica_string _in_a_language, modelica_string _in_a_name);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__207,2,0) {(void*) boxptr_CodegenCFunctions_fun__207,0}};
#define boxvar_CodegenCFunctions_fun__207 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__207)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__204(threadData_t *threadData, modelica_metatype _in_txt, modelica_boolean _in_mArg, modelica_metatype _in_a_fargsStrEscaped, modelica_metatype _in_a_fargsStr, modelica_metatype _in_a_fn__name, modelica_metatype _in_a_extReturn);
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__204(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_mArg, modelica_metatype _in_a_fargsStrEscaped, modelica_metatype _in_a_fargsStr, modelica_metatype _in_a_fn__name, modelica_metatype _in_a_extReturn);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__204,2,0) {(void*) boxptr_CodegenCFunctions_fun__204,0}};
#define boxvar_CodegenCFunctions_fun__204 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__204)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__203(threadData_t *threadData, modelica_metatype _in_txt, modelica_string _in_a_language);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__203,2,0) {(void*) boxptr_CodegenCFunctions_fun__203,0}};
#define boxvar_CodegenCFunctions_fun__203 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__203)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__201(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_var, modelica_metatype _in_a_auxFunction, modelica_metatype *out_out_a_auxFunction);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__201,2,0) {(void*) boxptr_CodegenCFunctions_fun__201,0}};
#define boxvar_CodegenCFunctions_fun__201 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__201)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__199(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_var, modelica_metatype _in_a_reconstructedArrs, modelica_metatype _in_a_auxFunction, modelica_metatype *out_out_a_reconstructedArrs, modelica_metatype *out_out_a_auxFunction);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__199,2,0) {(void*) boxptr_CodegenCFunctions_fun__199,0}};
#define boxvar_CodegenCFunctions_fun__199 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__199)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__198(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_instDims, modelica_metatype _in_a_varName, modelica_metatype _in_a_var_ty, modelica_metatype _in_a_reconstructedArrs, modelica_metatype *out_out_a_reconstructedArrs);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__198,2,0) {(void*) boxptr_CodegenCFunctions_fun__198,0}};
#define boxvar_CodegenCFunctions_fun__198 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__198)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__196(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_cref_identType, modelica_metatype _in_a_varName, modelica_metatype _in_a_reconstructedArrs, modelica_metatype *out_out_a_reconstructedArrs);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__196,2,0) {(void*) boxptr_CodegenCFunctions_fun__196,0}};
#define boxvar_CodegenCFunctions_fun__196 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__196)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__194(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_cref_identType, modelica_metatype _in_a_varName);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__194,2,0) {(void*) boxptr_CodegenCFunctions_fun__194,0}};
#define boxvar_CodegenCFunctions_fun__194 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__194)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__193(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_cref_identType, modelica_metatype _in_a_varName);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__193,2,0) {(void*) boxptr_CodegenCFunctions_fun__193,0}};
#define boxvar_CodegenCFunctions_fun__193 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__193)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__191(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_var, modelica_metatype _in_a_parArgList, modelica_metatype _in_a_auxFunction, modelica_metatype *out_out_a_parArgList, modelica_metatype *out_out_a_auxFunction);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__191,2,0) {(void*) boxptr_CodegenCFunctions_fun__191,0}};
#define boxvar_CodegenCFunctions_fun__191 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__191)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__190(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_instDims, modelica_metatype _in_a_varName, modelica_metatype _in_a_var_ty, modelica_metatype _in_a_parArgList, modelica_metatype *out_out_a_parArgList);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__190,2,0) {(void*) boxptr_CodegenCFunctions_fun__190,0}};
#define boxvar_CodegenCFunctions_fun__190 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__190)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__188(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_var, modelica_metatype _in_a_auxFunction, modelica_metatype *out_out_a_auxFunction);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__188,2,0) {(void*) boxptr_CodegenCFunctions_fun__188,0}};
#define boxvar_CodegenCFunctions_fun__188 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__188)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__187(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_instDims, modelica_metatype _in_a_parallelism, modelica_metatype _in_a_varName, modelica_metatype _in_a_var_ty);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__187,2,0) {(void*) boxptr_CodegenCFunctions_fun__187,0}};
#define boxvar_CodegenCFunctions_fun__187 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__187)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__186(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_parallelism, modelica_metatype _in_a_varName, modelica_metatype _in_a_var_ty);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__186,2,0) {(void*) boxptr_CodegenCFunctions_fun__186,0}};
#define boxvar_CodegenCFunctions_fun__186 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__186)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__184(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_var);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__184,2,0) {(void*) boxptr_CodegenCFunctions_fun__184,0}};
#define boxvar_CodegenCFunctions_fun__184 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__184)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__182(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_var);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__182,2,0) {(void*) boxptr_CodegenCFunctions_fun__182,0}};
#define boxvar_CodegenCFunctions_fun__182 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__182)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__180(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_var, modelica_metatype _in_a_auxFunction, modelica_metatype *out_out_a_auxFunction);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__180,2,0) {(void*) boxptr_CodegenCFunctions_fun__180,0}};
#define boxvar_CodegenCFunctions_fun__180 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__180)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__179(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_var_instDims);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__179,2,0) {(void*) boxptr_CodegenCFunctions_fun__179,0}};
#define boxvar_CodegenCFunctions_fun__179 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__179)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__177(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_var, modelica_metatype _in_a_auxFunction, modelica_metatype *out_out_a_auxFunction);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__177,2,0) {(void*) boxptr_CodegenCFunctions_fun__177,0}};
#define boxvar_CodegenCFunctions_fun__177 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__177)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__175(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_outVars, modelica_metatype _in_a_fargsStr, modelica_string _in_a_fname, modelica_metatype *out_out_a_fargsStr);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__175,2,0) {(void*) boxptr_CodegenCFunctions_fun__175,0}};
#define boxvar_CodegenCFunctions_fun__175 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__175)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__174(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_rest);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__174,2,0) {(void*) boxptr_CodegenCFunctions_fun__174,0}};
#define boxvar_CodegenCFunctions_fun__174 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__174)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_lm__173(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_items);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_lm__173,2,0) {(void*) boxptr_CodegenCFunctions_lm__173,0}};
#define boxvar_CodegenCFunctions_lm__173 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_lm__173)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__172(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_fargs);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__172,2,0) {(void*) boxptr_CodegenCFunctions_fun__172,0}};
#define boxvar_CodegenCFunctions_fun__172 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__172)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_lm__171(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_items);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_lm__171,2,0) {(void*) boxptr_CodegenCFunctions_lm__171,0}};
#define boxvar_CodegenCFunctions_lm__171 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_lm__171)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__168(threadData_t *threadData, modelica_metatype _in_txt, modelica_boolean _in_mArg, modelica_metatype _in_a_fn__name__impl, modelica_metatype _in_a_fn__name, modelica_metatype _in_a_fn__name__typedef, modelica_metatype _in_a_afterBody, modelica_boolean _in_a_isPrototype, modelica_metatype _in_a_res, modelica_metatype _in_a_static, modelica_metatype *out_out_a_afterBody);
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__168(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_mArg, modelica_metatype _in_a_fn__name__impl, modelica_metatype _in_a_fn__name, modelica_metatype _in_a_fn__name__typedef, modelica_metatype _in_a_afterBody, modelica_metatype _in_a_isPrototype, modelica_metatype _in_a_res, modelica_metatype _in_a_static, modelica_metatype *out_out_a_afterBody);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__168,2,0) {(void*) boxptr_CodegenCFunctions_fun__168,0}};
#define boxvar_CodegenCFunctions_fun__168 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__168)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__167(threadData_t *threadData, modelica_metatype _in_txt, modelica_boolean _in_a_isPrototype, modelica_metatype _in_a_res, modelica_metatype _in_a_fn__name__impl, modelica_metatype _in_a_fn__name, modelica_metatype _in_a_fn__name__typedef, modelica_metatype _in_a_afterBody, modelica_metatype *out_out_a_afterBody);
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__167(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_isPrototype, modelica_metatype _in_a_res, modelica_metatype _in_a_fn__name__impl, modelica_metatype _in_a_fn__name, modelica_metatype _in_a_fn__name__typedef, modelica_metatype _in_a_afterBody, modelica_metatype *out_out_a_afterBody);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__167,2,0) {(void*) boxptr_CodegenCFunctions_fun__167,0}};
#define boxvar_CodegenCFunctions_fun__167 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__167)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__166(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_outVars, modelica_metatype _in_a_outarg, modelica_boolean _in_a_boxed, modelica_metatype _in_a_fargsStr, modelica_metatype _in_a_fn__name__ptr__typedef);
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__166(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_outVars, modelica_metatype _in_a_outarg, modelica_metatype _in_a_boxed, modelica_metatype _in_a_fargsStr, modelica_metatype _in_a_fn__name__ptr__typedef);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__166,2,0) {(void*) boxptr_CodegenCFunctions_fun__166,0}};
#define boxvar_CodegenCFunctions_fun__166 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__166)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_lm__165(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_items, modelica_boolean _in_a_boxed);
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_lm__165(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_items, modelica_metatype _in_a_boxed);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_lm__165,2,0) {(void*) boxptr_CodegenCFunctions_lm__165,0}};
#define boxvar_CodegenCFunctions_lm__165 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_lm__165)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__164(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_var, modelica_boolean _in_a_boxed);
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__164(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_var, modelica_metatype _in_a_boxed);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__164,2,0) {(void*) boxptr_CodegenCFunctions_fun__164,0}};
#define boxvar_CodegenCFunctions_fun__164 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__164)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__163(threadData_t *threadData, modelica_metatype _in_txt, modelica_boolean _in_a_boxed, modelica_metatype _in_a_var);
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__163(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_boxed, modelica_metatype _in_a_var);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__163,2,0) {(void*) boxptr_CodegenCFunctions_fun__163,0}};
#define boxvar_CodegenCFunctions_fun__163 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__163)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__162(threadData_t *threadData, modelica_metatype _in_txt, modelica_boolean _in_mArg, modelica_metatype _in_a_fn__name__typedef, modelica_metatype _in_a_fn__name__impl, modelica_boolean _in_a_isPrototype, modelica_metatype _in_a_fn__name);
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__162(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_mArg, modelica_metatype _in_a_fn__name__typedef, modelica_metatype _in_a_fn__name__impl, modelica_metatype _in_a_isPrototype, modelica_metatype _in_a_fn__name);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__162,2,0) {(void*) boxptr_CodegenCFunctions_fun__162,0}};
#define boxvar_CodegenCFunctions_fun__162 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__162)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__161(threadData_t *threadData, modelica_metatype _in_txt, modelica_boolean _in_a_isPrototype, modelica_metatype _in_a_fn__name__typedef, modelica_metatype _in_a_fn__name__impl);
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__161(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_isPrototype, modelica_metatype _in_a_fn__name__typedef, modelica_metatype _in_a_fn__name__impl);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__161,2,0) {(void*) boxptr_CodegenCFunctions_fun__161,0}};
#define boxvar_CodegenCFunctions_fun__161 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__161)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__160(threadData_t *threadData, modelica_metatype _in_txt, modelica_boolean _in_mArg, modelica_string _in_a_fname, modelica_metatype _in_a_boxPtrStr, modelica_metatype _in_a_fn__name);
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__160(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_mArg, modelica_metatype _in_a_fname, modelica_metatype _in_a_boxPtrStr, modelica_metatype _in_a_fn__name);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__160,2,0) {(void*) boxptr_CodegenCFunctions_fun__160,0}};
#define boxvar_CodegenCFunctions_fun__160 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__160)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__159(threadData_t *threadData, modelica_metatype _in_txt, modelica_boolean _in_a_isPrototype, modelica_metatype _in_a_fn__name, modelica_string _in_a_fname, modelica_metatype _in_a_boxPtrStr);
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__159(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_isPrototype, modelica_metatype _in_a_fn__name, modelica_metatype _in_a_fname, modelica_metatype _in_a_boxPtrStr);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__159,2,0) {(void*) boxptr_CodegenCFunctions_fun__159,0}};
#define boxvar_CodegenCFunctions_fun__159 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__159)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__158(threadData_t *threadData, modelica_metatype _in_txt, modelica_boolean _in_a_boxed);
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__158(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_boxed);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__158,2,0) {(void*) boxptr_CodegenCFunctions_fun__158,0}};
#define boxvar_CodegenCFunctions_fun__158 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__158)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__157(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_outVars, modelica_boolean _in_a_boxed);
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__157(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_outVars, modelica_metatype _in_a_boxed);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__157,2,0) {(void*) boxptr_CodegenCFunctions_fun__157,0}};
#define boxvar_CodegenCFunctions_fun__157 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__157)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__156(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_var, modelica_boolean _in_a_boxed);
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__156(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_var, modelica_metatype _in_a_boxed);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__156,2,0) {(void*) boxptr_CodegenCFunctions_fun__156,0}};
#define boxvar_CodegenCFunctions_fun__156 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__156)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__155(threadData_t *threadData, modelica_metatype _in_txt, modelica_boolean _in_a_boxed, modelica_metatype _in_a_var);
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__155(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_boxed, modelica_metatype _in_a_var);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__155,2,0) {(void*) boxptr_CodegenCFunctions_fun__155,0}};
#define boxvar_CodegenCFunctions_fun__155 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__155)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__154(threadData_t *threadData, modelica_metatype _in_txt, modelica_boolean _in_a_boxed, modelica_metatype _in_a_fargs);
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__154(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_boxed, modelica_metatype _in_a_fargs);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__154,2,0) {(void*) boxptr_CodegenCFunctions_fun__154,0}};
#define boxvar_CodegenCFunctions_fun__154 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__154)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_lm__153(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_items);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_lm__153,2,0) {(void*) boxptr_CodegenCFunctions_lm__153,0}};
#define boxvar_CodegenCFunctions_lm__153 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_lm__153)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_lm__152(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_items);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_lm__152,2,0) {(void*) boxptr_CodegenCFunctions_lm__152,0}};
#define boxvar_CodegenCFunctions_lm__152 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_lm__152)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__151(threadData_t *threadData, modelica_metatype _in_txt, modelica_boolean _in_a_isSimulation, modelica_metatype _in_a_visibility);
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__151(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_isSimulation, modelica_metatype _in_a_visibility);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__151,2,0) {(void*) boxptr_CodegenCFunctions_fun__151,0}};
#define boxvar_CodegenCFunctions_fun__151 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__151)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__150(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_visibility);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__150,2,0) {(void*) boxptr_CodegenCFunctions_fun__150,0}};
#define boxvar_CodegenCFunctions_fun__150 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__150)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__148(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_visibility, modelica_metatype _in_a_inFnStr, modelica_metatype _in_a_prototype, modelica_boolean _in_a_dynamicLoad, modelica_metatype _in_a_staticPrototypes, modelica_boolean _in_a_isSimulation, modelica_metatype *out_out_a_staticPrototypes);
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__148(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_visibility, modelica_metatype _in_a_inFnStr, modelica_metatype _in_a_prototype, modelica_metatype _in_a_dynamicLoad, modelica_metatype _in_a_staticPrototypes, modelica_metatype _in_a_isSimulation, modelica_metatype *out_out_a_staticPrototypes);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__148,2,0) {(void*) boxptr_CodegenCFunctions_fun__148,0}};
#define boxvar_CodegenCFunctions_fun__148 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__148)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__147(threadData_t *threadData, modelica_metatype _in_txt, modelica_boolean _in_a_dynamicLoad, modelica_metatype _in_a_prototype);
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__147(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_dynamicLoad, modelica_metatype _in_a_prototype);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__147,2,0) {(void*) boxptr_CodegenCFunctions_fun__147,0}};
#define boxvar_CodegenCFunctions_fun__147 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__147)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__146(threadData_t *threadData, modelica_metatype _in_txt, modelica_boolean _in_mArg, modelica_metatype _in_a_inFnStr, modelica_metatype _in_a_prototype, modelica_boolean _in_a_dynamicLoad, modelica_metatype _in_a_staticPrototypes, modelica_metatype *out_out_a_staticPrototypes);
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__146(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_mArg, modelica_metatype _in_a_inFnStr, modelica_metatype _in_a_prototype, modelica_metatype _in_a_dynamicLoad, modelica_metatype _in_a_staticPrototypes, modelica_metatype *out_out_a_staticPrototypes);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__146,2,0) {(void*) boxptr_CodegenCFunctions_fun__146,0}};
#define boxvar_CodegenCFunctions_fun__146 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__146)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__145(threadData_t *threadData, modelica_metatype _in_txt, modelica_boolean _in_a_dynamicLoad, modelica_metatype _in_a_prototype);
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__145(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_dynamicLoad, modelica_metatype _in_a_prototype);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__145,2,0) {(void*) boxptr_CodegenCFunctions_fun__145,0}};
#define boxvar_CodegenCFunctions_fun__145 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__145)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__144(threadData_t *threadData, modelica_metatype _in_txt, modelica_boolean _in_a_dynamicLoad, modelica_metatype _in_a_prototype);
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__144(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_dynamicLoad, modelica_metatype _in_a_prototype);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__144,2,0) {(void*) boxptr_CodegenCFunctions_fun__144,0}};
#define boxvar_CodegenCFunctions_fun__144 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__144)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__143(threadData_t *threadData, modelica_metatype _in_txt, modelica_boolean _in_mArg, modelica_string _in_a_fname);
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__143(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_mArg, modelica_metatype _in_a_fname);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__143,2,0) {(void*) boxptr_CodegenCFunctions_fun__143,0}};
#define boxvar_CodegenCFunctions_fun__143 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__143)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__141(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_visibility, modelica_metatype _in_a_boxvar, modelica_boolean _in_a_isSimulation, modelica_metatype _in_a_staticPrototypes, modelica_metatype *out_out_a_staticPrototypes);
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__141(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_visibility, modelica_metatype _in_a_boxvar, modelica_metatype _in_a_isSimulation, modelica_metatype _in_a_staticPrototypes, modelica_metatype *out_out_a_staticPrototypes);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__141,2,0) {(void*) boxptr_CodegenCFunctions_fun__141,0}};
#define boxvar_CodegenCFunctions_fun__141 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__141)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__140(threadData_t *threadData, modelica_metatype _in_txt, modelica_boolean _in_mArg, modelica_metatype _in_a_boxvar);
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__140(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_mArg, modelica_metatype _in_a_boxvar);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__140,2,0) {(void*) boxptr_CodegenCFunctions_fun__140,0}};
#define boxvar_CodegenCFunctions_fun__140 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__140)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__139(threadData_t *threadData, modelica_metatype _in_txt, modelica_boolean _in_mArg, modelica_metatype _in_a_boxvar);
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__139(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_mArg, modelica_metatype _in_a_boxvar);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__139,2,0) {(void*) boxptr_CodegenCFunctions_fun__139,0}};
#define boxvar_CodegenCFunctions_fun__139 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__139)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__138(threadData_t *threadData, modelica_metatype _in_txt, modelica_boolean _in_a_isBoxed, modelica_metatype _in_a_staticPrototypes, modelica_boolean _in_a_isSimulation, modelica_boolean _in_a_dynLoad, modelica_metatype _in_a_visibility, modelica_boolean _in_a_inFunc, modelica_metatype _in_a_outVars, modelica_metatype _in_a_fargs, modelica_string _in_a_fname, modelica_metatype *out_out_a_staticPrototypes);
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__138(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_isBoxed, modelica_metatype _in_a_staticPrototypes, modelica_metatype _in_a_isSimulation, modelica_metatype _in_a_dynLoad, modelica_metatype _in_a_visibility, modelica_metatype _in_a_inFunc, modelica_metatype _in_a_outVars, modelica_metatype _in_a_fargs, modelica_metatype _in_a_fname, modelica_metatype *out_out_a_staticPrototypes);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__138,2,0) {(void*) boxptr_CodegenCFunctions_fun__138,0}};
#define boxvar_CodegenCFunctions_fun__138 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__138)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__137(threadData_t *threadData, modelica_metatype _in_txt, modelica_boolean _in_mArg);
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__137(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_mArg);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__137,2,0) {(void*) boxptr_CodegenCFunctions_fun__137,0}};
#define boxvar_CodegenCFunctions_fun__137 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__137)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__133(threadData_t *threadData, modelica_metatype _in_txt, modelica_string _in_a_encName, modelica_string _in_a_origName, modelica_string _in_a_fieldNames, modelica_integer _in_a_numFields);
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__133(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_encName, modelica_metatype _in_a_origName, modelica_metatype _in_a_fieldNames, modelica_metatype _in_a_numFields);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__133,2,0) {(void*) boxptr_CodegenCFunctions_fun__133,0}};
#define boxvar_CodegenCFunctions_fun__133 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__133)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__132(threadData_t *threadData, modelica_metatype _in_txt, modelica_integer _in_a_numFields, modelica_string _in_a_fieldNames, modelica_string _in_a_encName);
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__132(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_numFields, modelica_metatype _in_a_fieldNames, modelica_metatype _in_a_encName);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__132,2,0) {(void*) boxptr_CodegenCFunctions_fun__132,0}};
#define boxvar_CodegenCFunctions_fun__132 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__132)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__130(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_value, modelica_metatype _in_a_var__name, modelica_metatype _in_a_type__name, modelica_metatype _in_a_var__dims, modelica_metatype _in_a_var__cref, modelica_metatype _in_a_auxFunction, modelica_metatype _in_a_varDecls, modelica_metatype _in_a_context, modelica_boolean _in_a_bind__outside, modelica_metatype *out_out_a_auxFunction, modelica_metatype *out_out_a_varDecls);
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__130(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_value, modelica_metatype _in_a_var__name, modelica_metatype _in_a_type__name, modelica_metatype _in_a_var__dims, modelica_metatype _in_a_var__cref, modelica_metatype _in_a_auxFunction, modelica_metatype _in_a_varDecls, modelica_metatype _in_a_context, modelica_metatype _in_a_bind__outside, modelica_metatype *out_out_a_auxFunction, modelica_metatype *out_out_a_varDecls);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__130,2,0) {(void*) boxptr_CodegenCFunctions_fun__130,0}};
#define boxvar_CodegenCFunctions_fun__130 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__130)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__129(threadData_t *threadData, modelica_metatype _in_txt, modelica_boolean _in_mArg, modelica_metatype _in_a_var__name, modelica_metatype _in_a_type__name, modelica_metatype _in_a_auxFunction, modelica_metatype _in_a_varDecls, modelica_metatype _in_a_context, modelica_metatype _in_a_var__dims, modelica_metatype *out_out_a_auxFunction, modelica_metatype *out_out_a_varDecls);
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__129(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_mArg, modelica_metatype _in_a_var__name, modelica_metatype _in_a_type__name, modelica_metatype _in_a_auxFunction, modelica_metatype _in_a_varDecls, modelica_metatype _in_a_context, modelica_metatype _in_a_var__dims, modelica_metatype *out_out_a_auxFunction, modelica_metatype *out_out_a_varDecls);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__129,2,0) {(void*) boxptr_CodegenCFunctions_fun__129,0}};
#define boxvar_CodegenCFunctions_fun__129 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__129)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_lm__128(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_items, modelica_metatype _in_a_auxFunction, modelica_metatype _in_a_varDecls, modelica_metatype _in_a_preExpAlloc, modelica_metatype _in_a_context, modelica_metatype *out_out_a_auxFunction, modelica_metatype *out_out_a_varDecls, modelica_metatype *out_out_a_preExpAlloc);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_lm__128,2,0) {(void*) boxptr_CodegenCFunctions_lm__128,0}};
#define boxvar_CodegenCFunctions_lm__128 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_lm__128)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__127(threadData_t *threadData, modelica_metatype _in_txt, modelica_boolean _in_mArg, modelica_metatype _in_a_rhs, modelica_metatype _in_a_preExpBind, modelica_metatype _in_a_var__name, modelica_metatype _in_a_type__name, modelica_metatype _in_a_auxFunction, modelica_metatype _in_a_varDecls, modelica_metatype _in_a_context, modelica_metatype _in_a_var__dims, modelica_metatype *out_out_a_auxFunction, modelica_metatype *out_out_a_varDecls);
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__127(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_mArg, modelica_metatype _in_a_rhs, modelica_metatype _in_a_preExpBind, modelica_metatype _in_a_var__name, modelica_metatype _in_a_type__name, modelica_metatype _in_a_auxFunction, modelica_metatype _in_a_varDecls, modelica_metatype _in_a_context, modelica_metatype _in_a_var__dims, modelica_metatype *out_out_a_auxFunction, modelica_metatype *out_out_a_varDecls);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__127,2,0) {(void*) boxptr_CodegenCFunctions_fun__127,0}};
#define boxvar_CodegenCFunctions_fun__127 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__127)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_lm__126(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_items, modelica_metatype _in_a_auxFunction, modelica_metatype _in_a_varDecls, modelica_metatype _in_a_preExpAlloc, modelica_metatype _in_a_context, modelica_metatype *out_out_a_auxFunction, modelica_metatype *out_out_a_varDecls, modelica_metatype *out_out_a_preExpAlloc);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_lm__126,2,0) {(void*) boxptr_CodegenCFunctions_lm__126,0}};
#define boxvar_CodegenCFunctions_lm__126 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_lm__126)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__125(threadData_t *threadData, modelica_metatype _in_txt, modelica_boolean _in_a_bind__outside, modelica_metatype _in_a_var__cref, modelica_metatype _in_a_auxFunction, modelica_metatype _in_a_varDecls, modelica_metatype _in_a_preExpBind, modelica_metatype _in_a_context, modelica_metatype _in_a_rhs__exp, modelica_metatype *out_out_a_auxFunction, modelica_metatype *out_out_a_varDecls, modelica_metatype *out_out_a_preExpBind);
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__125(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_bind__outside, modelica_metatype _in_a_var__cref, modelica_metatype _in_a_auxFunction, modelica_metatype _in_a_varDecls, modelica_metatype _in_a_preExpBind, modelica_metatype _in_a_context, modelica_metatype _in_a_rhs__exp, modelica_metatype *out_out_a_auxFunction, modelica_metatype *out_out_a_varDecls, modelica_metatype *out_out_a_preExpBind);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__125,2,0) {(void*) boxptr_CodegenCFunctions_fun__125,0}};
#define boxvar_CodegenCFunctions_fun__125 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__125)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__122(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_value, modelica_metatype _in_a_allocation, modelica_metatype _in_a_preExp, modelica_metatype _in_a_var__name, modelica_metatype _in_a_type__name, modelica_metatype _in_a_auxFunction, modelica_metatype _in_a_varDecls, modelica_metatype _in_a_context, modelica_metatype _in_a_var__type, modelica_metatype _in_a_var__cref, modelica_boolean _in_a_bind__outside, modelica_metatype *out_out_a_auxFunction, modelica_metatype *out_out_a_varDecls);
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__122(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_value, modelica_metatype _in_a_allocation, modelica_metatype _in_a_preExp, modelica_metatype _in_a_var__name, modelica_metatype _in_a_type__name, modelica_metatype _in_a_auxFunction, modelica_metatype _in_a_varDecls, modelica_metatype _in_a_context, modelica_metatype _in_a_var__type, modelica_metatype _in_a_var__cref, modelica_metatype _in_a_bind__outside, modelica_metatype *out_out_a_auxFunction, modelica_metatype *out_out_a_varDecls);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__122,2,0) {(void*) boxptr_CodegenCFunctions_fun__122,0}};
#define boxvar_CodegenCFunctions_fun__122 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__122)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__121(threadData_t *threadData, modelica_metatype _in_txt, modelica_boolean _in_a_bind__outside, modelica_metatype _in_a_var__name, modelica_metatype _in_a_type__name, modelica_metatype _in_a_auxFunction, modelica_metatype _in_a_varDecls, modelica_metatype _in_a_preExp1, modelica_metatype _in_a_context, modelica_metatype _in_a_var__type, modelica_metatype _in_a_rhs__exp, modelica_metatype _in_a_var__cref, modelica_metatype *out_out_a_auxFunction, modelica_metatype *out_out_a_varDecls, modelica_metatype *out_out_a_preExp1);
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__121(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_bind__outside, modelica_metatype _in_a_var__name, modelica_metatype _in_a_type__name, modelica_metatype _in_a_auxFunction, modelica_metatype _in_a_varDecls, modelica_metatype _in_a_preExp1, modelica_metatype _in_a_context, modelica_metatype _in_a_var__type, modelica_metatype _in_a_rhs__exp, modelica_metatype _in_a_var__cref, modelica_metatype *out_out_a_auxFunction, modelica_metatype *out_out_a_varDecls, modelica_metatype *out_out_a_preExp1);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__121,2,0) {(void*) boxptr_CodegenCFunctions_fun__121,0}};
#define boxvar_CodegenCFunctions_fun__121 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__121)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__120(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_var__type, modelica_metatype _in_a_auxFunction, modelica_metatype _in_a_varDecls, modelica_metatype _in_a_preExp, modelica_metatype _in_a_context, modelica_metatype _in_a_ctor__suffix, modelica_metatype *out_out_a_auxFunction, modelica_metatype *out_out_a_varDecls, modelica_metatype *out_out_a_preExp, modelica_metatype *out_out_a_ctor__suffix);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__120,2,0) {(void*) boxptr_CodegenCFunctions_fun__120,0}};
#define boxvar_CodegenCFunctions_fun__120 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__120)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_lm__119(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_items, modelica_metatype _in_a_auxFunction, modelica_metatype _in_a_varDecls, modelica_metatype _in_a_preExp, modelica_metatype _in_a_context, modelica_metatype _in_a_ctor__suffix, modelica_metatype *out_out_a_auxFunction, modelica_metatype *out_out_a_varDecls, modelica_metatype *out_out_a_preExp, modelica_metatype *out_out_a_ctor__suffix);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_lm__119,2,0) {(void*) boxptr_CodegenCFunctions_lm__119,0}};
#define boxvar_CodegenCFunctions_lm__119 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_lm__119)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__117(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_value, modelica_metatype _in_a_var__name, modelica_metatype _in_a_var__cref, modelica_metatype _in_a_auxFunction, modelica_metatype _in_a_varDecls, modelica_metatype _in_a_context, modelica_boolean _in_a_bind__outside, modelica_metatype *out_out_a_auxFunction, modelica_metatype *out_out_a_varDecls);
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__117(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_value, modelica_metatype _in_a_var__name, modelica_metatype _in_a_var__cref, modelica_metatype _in_a_auxFunction, modelica_metatype _in_a_varDecls, modelica_metatype _in_a_context, modelica_metatype _in_a_bind__outside, modelica_metatype *out_out_a_auxFunction, modelica_metatype *out_out_a_varDecls);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__117,2,0) {(void*) boxptr_CodegenCFunctions_fun__117,0}};
#define boxvar_CodegenCFunctions_fun__117 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__117)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__116(threadData_t *threadData, modelica_metatype _in_txt, modelica_boolean _in_a_bind__outside, modelica_metatype _in_a_var__cref, modelica_metatype _in_a_auxFunction, modelica_metatype _in_a_varDecls, modelica_metatype _in_a_preExp, modelica_metatype _in_a_context, modelica_metatype _in_a_rhs__exp, modelica_metatype *out_out_a_auxFunction, modelica_metatype *out_out_a_varDecls, modelica_metatype *out_out_a_preExp);
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__116(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_bind__outside, modelica_metatype _in_a_var__cref, modelica_metatype _in_a_auxFunction, modelica_metatype _in_a_varDecls, modelica_metatype _in_a_preExp, modelica_metatype _in_a_context, modelica_metatype _in_a_rhs__exp, modelica_metatype *out_out_a_auxFunction, modelica_metatype *out_out_a_varDecls, modelica_metatype *out_out_a_preExp);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__116,2,0) {(void*) boxptr_CodegenCFunctions_fun__116,0}};
#define boxvar_CodegenCFunctions_fun__116 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__116)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__114(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_var_ty, modelica_metatype _in_a_auxFunction, modelica_metatype _in_a_varDecls, modelica_metatype _in_a_context, modelica_boolean _in_a_var_bind__from__outside, modelica_metatype _in_a_var_value, modelica_metatype _in_a_var_name, modelica_metatype *out_out_a_auxFunction, modelica_metatype *out_out_a_varDecls);
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__114(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_var_ty, modelica_metatype _in_a_auxFunction, modelica_metatype _in_a_varDecls, modelica_metatype _in_a_context, modelica_metatype _in_a_var_bind__from__outside, modelica_metatype _in_a_var_value, modelica_metatype _in_a_var_name, modelica_metatype *out_out_a_auxFunction, modelica_metatype *out_out_a_varDecls);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__114,2,0) {(void*) boxptr_CodegenCFunctions_fun__114,0}};
#define boxvar_CodegenCFunctions_fun__114 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__114)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_lm__112(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_items, modelica_metatype _in_a_auxFunction, modelica_metatype _in_a_varDecls, modelica_metatype *out_out_a_auxFunction, modelica_metatype *out_out_a_varDecls);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_lm__112,2,0) {(void*) boxptr_CodegenCFunctions_lm__112,0}};
#define boxvar_CodegenCFunctions_lm__112 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_lm__112)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_lm__111(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_items, modelica_metatype _in_a_auxFunction, modelica_metatype *out_out_a_auxFunction);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_lm__111,2,0) {(void*) boxptr_CodegenCFunctions_lm__111,0}};
#define boxvar_CodegenCFunctions_lm__111 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_lm__111)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__110(threadData_t *threadData, modelica_metatype _in_txt, modelica_boolean _in_a_var_bind__from__outside, modelica_metatype _in_a_auxFunction, modelica_metatype _in_a_var_name, modelica_metatype _in_a_var, modelica_metatype *out_out_a_auxFunction);
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__110(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_var_bind__from__outside, modelica_metatype _in_a_auxFunction, modelica_metatype _in_a_var_name, modelica_metatype _in_a_var, modelica_metatype *out_out_a_auxFunction);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__110,2,0) {(void*) boxptr_CodegenCFunctions_fun__110,0}};
#define boxvar_CodegenCFunctions_fun__110 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__110)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__108(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_ty, modelica_metatype _in_a_dstName, modelica_metatype _in_a_srcName, modelica_metatype _in_a_varCopies, modelica_metatype *out_out_a_varCopies);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__108,2,0) {(void*) boxptr_CodegenCFunctions_fun__108,0}};
#define boxvar_CodegenCFunctions_fun__108 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__108)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_lm__106(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_items, modelica_metatype _in_a_auxFunction, modelica_metatype _in_a_src__pref, modelica_metatype *out_out_a_auxFunction);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_lm__106,2,0) {(void*) boxptr_CodegenCFunctions_lm__106,0}};
#define boxvar_CodegenCFunctions_lm__106 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_lm__106)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_lm__105(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_items, modelica_metatype _in_a_auxFunction, modelica_metatype _in_a_varCopies, modelica_metatype _in_a_dst__pref, modelica_metatype _in_a_src__pref, modelica_metatype *out_out_a_auxFunction, modelica_metatype *out_out_a_varCopies);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_lm__105,2,0) {(void*) boxptr_CodegenCFunctions_lm__105,0}};
#define boxvar_CodegenCFunctions_lm__105 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_lm__105)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_lm__103(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_items, modelica_metatype _in_a_auxFunction, modelica_metatype _in_a_varCopies, modelica_metatype _in_a_dst__pref, modelica_metatype _in_a_src__pref, modelica_metatype *out_out_a_auxFunction, modelica_metatype *out_out_a_varCopies);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_lm__103,2,0) {(void*) boxptr_CodegenCFunctions_lm__103,0}};
#define boxvar_CodegenCFunctions_lm__103 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_lm__103)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__101(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_aliasName, modelica_metatype _in_a_r_variables, modelica_metatype _in_a_rec__name);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__101,2,0) {(void*) boxptr_CodegenCFunctions_fun__101,0}};
#define boxvar_CodegenCFunctions_fun__101 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__101)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_lm__100(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_items);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_lm__100,2,0) {(void*) boxptr_CodegenCFunctions_lm__100,0}};
#define boxvar_CodegenCFunctions_lm__100 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_lm__100)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_lm__99(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_items);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_lm__99,2,0) {(void*) boxptr_CodegenCFunctions_lm__99,0}};
#define boxvar_CodegenCFunctions_lm__99 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_lm__99)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_lm__98(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_items);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_lm__98,2,0) {(void*) boxptr_CodegenCFunctions_lm__98,0}};
#define boxvar_CodegenCFunctions_lm__98 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_lm__98)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_lm__97(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_items);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_lm__97,2,0) {(void*) boxptr_CodegenCFunctions_lm__97,0}};
#define boxvar_CodegenCFunctions_lm__97 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_lm__97)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__96(threadData_t *threadData, modelica_metatype _in_txt, modelica_boolean _in_a_var_bind__from__outside, modelica_metatype _in_a_var_name, modelica_metatype _in_a_var);
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__96(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_var_bind__from__outside, modelica_metatype _in_a_var_name, modelica_metatype _in_a_var);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__96,2,0) {(void*) boxptr_CodegenCFunctions_fun__96,0}};
#define boxvar_CodegenCFunctions_fun__96 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__96)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_lm__95(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_items);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_lm__95,2,0) {(void*) boxptr_CodegenCFunctions_lm__95,0}};
#define boxvar_CodegenCFunctions_lm__95 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_lm__95)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__94(threadData_t *threadData, modelica_metatype _in_txt, modelica_boolean _in_a_var_bind__from__outside, modelica_metatype _in_a_var_name);
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__94(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_var_bind__from__outside, modelica_metatype _in_a_var_name);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__94,2,0) {(void*) boxptr_CodegenCFunctions_fun__94,0}};
#define boxvar_CodegenCFunctions_fun__94 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__94)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_lm__92(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_items);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_lm__92,2,0) {(void*) boxptr_CodegenCFunctions_lm__92,0}};
#define boxvar_CodegenCFunctions_lm__92 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_lm__92)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__91(threadData_t *threadData, modelica_metatype _in_txt, modelica_boolean _in_a_var_bind__from__outside, modelica_metatype _in_a_var_name, modelica_metatype _in_a_var);
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__91(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_var_bind__from__outside, modelica_metatype _in_a_var_name, modelica_metatype _in_a_var);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__91,2,0) {(void*) boxptr_CodegenCFunctions_fun__91,0}};
#define boxvar_CodegenCFunctions_fun__91 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__91)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_lm__90(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_items);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_lm__90,2,0) {(void*) boxptr_CodegenCFunctions_lm__90,0}};
#define boxvar_CodegenCFunctions_lm__90 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_lm__90)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__89(threadData_t *threadData, modelica_metatype _in_txt, modelica_boolean _in_a_var_bind__from__outside, modelica_metatype _in_a_var_name);
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__89(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_var_bind__from__outside, modelica_metatype _in_a_var_name);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__89,2,0) {(void*) boxptr_CodegenCFunctions_fun__89,0}};
#define boxvar_CodegenCFunctions_fun__89 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__89)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_lm__86(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_items);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_lm__86,2,0) {(void*) boxptr_CodegenCFunctions_lm__86,0}};
#define boxvar_CodegenCFunctions_lm__86 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_lm__86)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_lm__85(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_items);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_lm__85,2,0) {(void*) boxptr_CodegenCFunctions_lm__85,0}};
#define boxvar_CodegenCFunctions_lm__85 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_lm__85)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__83(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_outVars, modelica_metatype _in_a_fargsStr, modelica_string _in_a_fname, modelica_metatype *out_out_a_fargsStr);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__83,2,0) {(void*) boxptr_CodegenCFunctions_fun__83,0}};
#define boxvar_CodegenCFunctions_fun__83 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__83)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__82(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_rest);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__82,2,0) {(void*) boxptr_CodegenCFunctions_fun__82,0}};
#define boxvar_CodegenCFunctions_fun__82 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__82)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_lm__81(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_items);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_lm__81,2,0) {(void*) boxptr_CodegenCFunctions_lm__81,0}};
#define boxvar_CodegenCFunctions_lm__81 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_lm__81)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_lm__80(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_items);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_lm__80,2,0) {(void*) boxptr_CodegenCFunctions_lm__80,0}};
#define boxvar_CodegenCFunctions_lm__80 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_lm__80)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__77(threadData_t *threadData, modelica_metatype _in_txt, modelica_boolean _in_mArg, modelica_metatype _in_a_funArgsStr, modelica_metatype _in_a_fname, modelica_metatype _in_a_vis);
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__77(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_mArg, modelica_metatype _in_a_funArgsStr, modelica_metatype _in_a_fname, modelica_metatype _in_a_vis);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__77,2,0) {(void*) boxptr_CodegenCFunctions_fun__77,0}};
#define boxvar_CodegenCFunctions_fun__77 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__77)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__76(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_visibility);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__76,2,0) {(void*) boxptr_CodegenCFunctions_fun__76,0}};
#define boxvar_CodegenCFunctions_fun__76 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__76)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_lm__75(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_items);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_lm__75,2,0) {(void*) boxptr_CodegenCFunctions_lm__75,0}};
#define boxvar_CodegenCFunctions_lm__75 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_lm__75)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__74(threadData_t *threadData, modelica_metatype _in_txt, modelica_boolean _in_mArg, modelica_metatype _in_a_staticPrototypes, modelica_boolean _in_a_isSimulation, modelica_metatype _in_a_visibility, modelica_metatype _in_a_fn, modelica_boolean _in_a_inFunc, modelica_metatype _in_a_outVars, modelica_metatype _in_a_functionArguments, modelica_metatype _in_a_name, modelica_metatype *out_out_a_staticPrototypes);
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__74(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_mArg, modelica_metatype _in_a_staticPrototypes, modelica_metatype _in_a_isSimulation, modelica_metatype _in_a_visibility, modelica_metatype _in_a_fn, modelica_metatype _in_a_inFunc, modelica_metatype _in_a_outVars, modelica_metatype _in_a_functionArguments, modelica_metatype _in_a_name, modelica_metatype *out_out_a_staticPrototypes);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__74,2,0) {(void*) boxptr_CodegenCFunctions_fun__74,0}};
#define boxvar_CodegenCFunctions_fun__74 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__74)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_lm__72(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_items);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_lm__72,2,0) {(void*) boxptr_CodegenCFunctions_lm__72,0}};
#define boxvar_CodegenCFunctions_lm__72 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_lm__72)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_lm__69(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_items, modelica_metatype _in_a_staticPrototypes, modelica_boolean _in_a_isSimulation, modelica_metatype *out_out_a_staticPrototypes);
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_lm__69(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_items, modelica_metatype _in_a_staticPrototypes, modelica_metatype _in_a_isSimulation, modelica_metatype *out_out_a_staticPrototypes);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_lm__69,2,0) {(void*) boxptr_CodegenCFunctions_lm__69,0}};
#define boxvar_CodegenCFunctions_lm__69 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_lm__69)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_lm__67(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_items);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_lm__67,2,0) {(void*) boxptr_CodegenCFunctions_lm__67,0}};
#define boxvar_CodegenCFunctions_lm__67 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_lm__67)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__65(threadData_t *threadData, modelica_metatype _in_txt, modelica_boolean _in_mArg);
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__65(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_mArg);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__65,2,0) {(void*) boxptr_CodegenCFunctions_fun__65,0}};
#define boxvar_CodegenCFunctions_fun__65 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__65)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__63(threadData_t *threadData, modelica_metatype _in_txt, modelica_boolean _in_mArg);
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__63(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_mArg);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__63,2,0) {(void*) boxptr_CodegenCFunctions_fun__63,0}};
#define boxvar_CodegenCFunctions_fun__63 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__63)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_lm__62(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_items);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_lm__62,2,0) {(void*) boxptr_CodegenCFunctions_lm__62,0}};
#define boxvar_CodegenCFunctions_lm__62 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_lm__62)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__61(threadData_t *threadData, modelica_metatype _in_txt, modelica_boolean _in_mArg);
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__61(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_mArg);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__61,2,0) {(void*) boxptr_CodegenCFunctions_fun__61,0}};
#define boxvar_CodegenCFunctions_fun__61 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__61)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__60(threadData_t *threadData, modelica_metatype _in_txt, modelica_boolean _in_mArg, modelica_string _in_a_makefileParams_ccompiler);
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__60(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_mArg, modelica_metatype _in_a_makefileParams_ccompiler);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__60,2,0) {(void*) boxptr_CodegenCFunctions_fun__60,0}};
#define boxvar_CodegenCFunctions_fun__60 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__60)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__59(threadData_t *threadData, modelica_metatype _in_txt, modelica_boolean _in_mArg);
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__59(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_mArg);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__59,2,0) {(void*) boxptr_CodegenCFunctions_fun__59,0}};
#define boxvar_CodegenCFunctions_fun__59 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__59)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__58(threadData_t *threadData, modelica_metatype _in_txt, modelica_boolean _in_mArg);
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__58(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_mArg);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__58,2,0) {(void*) boxptr_CodegenCFunctions_fun__58,0}};
#define boxvar_CodegenCFunctions_fun__58 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__58)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__57(threadData_t *threadData, modelica_metatype _in_txt, modelica_boolean _in_mArg);
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__57(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_mArg);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__57,2,0) {(void*) boxptr_CodegenCFunctions_fun__57,0}};
#define boxvar_CodegenCFunctions_fun__57 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__57)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_lm__56(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_items);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_lm__56,2,0) {(void*) boxptr_CodegenCFunctions_lm__56,0}};
#define boxvar_CodegenCFunctions_lm__56 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_lm__56)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__54(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_mainFunction, modelica_metatype _in_a_staticPrototypes, modelica_metatype *out_out_a_staticPrototypes);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__54,2,0) {(void*) boxptr_CodegenCFunctions_fun__54,0}};
#define boxvar_CodegenCFunctions_fun__54 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__54)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_lm__53(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_items);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_lm__53,2,0) {(void*) boxptr_CodegenCFunctions_lm__53,0}};
#define boxvar_CodegenCFunctions_lm__53 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_lm__53)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__51(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_mainFunction);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__51,2,0) {(void*) boxptr_CodegenCFunctions_fun__51,0}};
#define boxvar_CodegenCFunctions_fun__51 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__51)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__50(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_staticPrototypes);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__50,2,0) {(void*) boxptr_CodegenCFunctions_fun__50,0}};
#define boxvar_CodegenCFunctions_fun__50 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__50)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__49(threadData_t *threadData, modelica_metatype _in_txt, modelica_boolean _in_mArg, modelica_string _in_a_filePrefix);
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__49(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_mArg, modelica_metatype _in_a_filePrefix);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__49,2,0) {(void*) boxptr_CodegenCFunctions_fun__49,0}};
#define boxvar_CodegenCFunctions_fun__49 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__49)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_lm__48(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_items);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_lm__48,2,0) {(void*) boxptr_CodegenCFunctions_lm__48,0}};
#define boxvar_CodegenCFunctions_lm__48 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_lm__48)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__46(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_mainFunction, modelica_metatype _in_a_filePrefix, modelica_metatype _in_a_functionCode);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__46,2,0) {(void*) boxptr_CodegenCFunctions_fun__46,0}};
#define boxvar_CodegenCFunctions_fun__46 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__46)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__44(threadData_t *threadData, modelica_metatype _in_txt, modelica_boolean _in_mArg, modelica_metatype _in_a_functions, modelica_metatype _in_a_mainFunction, modelica_metatype _in_a_filePrefix);
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__44(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_mArg, modelica_metatype _in_a_functions, modelica_metatype _in_a_mainFunction, modelica_metatype _in_a_filePrefix);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__44,2,0) {(void*) boxptr_CodegenCFunctions_fun__44,0}};
#define boxvar_CodegenCFunctions_fun__44 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__44)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__43(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_mainFunction, modelica_metatype _in_a_filePrefix, modelica_metatype _in_a_functionCode);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__43,2,0) {(void*) boxptr_CodegenCFunctions_fun__43,0}};
#define boxvar_CodegenCFunctions_fun__43 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__43)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__40(threadData_t *threadData, modelica_metatype _in_txt, modelica_boolean _in_mArg);
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__40(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_mArg);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__40,2,0) {(void*) boxptr_CodegenCFunctions_fun__40,0}};
#define boxvar_CodegenCFunctions_fun__40 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__40)
DLLExport
modelica_metatype omc_CodegenCFunctions_typeCastContextInt(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_context, modelica_metatype _in_a_ty)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta[1] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp3_1;modelica_metatype tmp3_2;modelica_metatype tmp3_3;
tmp3_1 = _in_txt;
tmp3_2 = _in_a_context;
tmp3_3 = _in_a_ty;
{
modelica_metatype _txt = NULL;
modelica_metatype _a_ty = NULL;
volatile mmc_switch_type tmp3;
int tmp4;
tmp3 = 0;
for (; tmp3 < 2; tmp3++) {
switch (MMC_SWITCH_CAST(tmp3)) {
case 0: {
if (mmc__uniontype__metarecord__typedef__equal(tmp3_2,9,1) == 0) goto tmp2_end;
_txt = tmp3_1;
_a_ty = tmp3_3;
tmpMeta[0] = omc_CodegenCFunctions_fun__1228(threadData, _txt, _a_ty);
goto tmp2_done;
}
case 1: {
_txt = tmp3_1;
_a_ty = tmp3_3;
tmpMeta[0] = omc_CodegenCFunctions_fun__1229(threadData, _txt, _a_ty);
goto tmp2_done;
}
}
goto tmp2_end;
tmp2_end: ;
}
goto goto_1;
goto_1:;
MMC_THROW_INTERNAL();
goto tmp2_done;
tmp2_done:;
}
}
_out_txt = tmpMeta[0];
_return: OMC_LABEL_UNUSED
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__1229(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_ty)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta[1] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp3_1;modelica_metatype tmp3_2;
tmp3_1 = _in_txt;
tmp3_2 = _in_a_ty;
{
modelica_metatype _txt = NULL;
volatile mmc_switch_type tmp3;
int tmp4;
tmp3 = 0;
for (; tmp3 < 2; tmp3++) {
switch (MMC_SWITCH_CAST(tmp3)) {
case 0: {
if (mmc__uniontype__metarecord__typedef__equal(tmp3_2,5,5) == 0) goto tmp2_end;
_txt = tmp3_1;
tmpMeta[0] = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1);
goto tmp2_done;
}
case 1: {
_txt = tmp3_1;
tmpMeta[0] = _txt;
goto tmp2_done;
}
}
goto tmp2_end;
tmp2_end: ;
}
goto goto_1;
goto_1:;
MMC_THROW_INTERNAL();
goto tmp2_done;
tmp2_done:;
}
}
_out_txt = tmpMeta[0];
_return: OMC_LABEL_UNUSED
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__1228(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_ty)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta[1] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp3_1;modelica_metatype tmp3_2;
tmp3_1 = _in_txt;
tmp3_2 = _in_a_ty;
{
modelica_metatype _txt = NULL;
int tmp3;
{
switch (MMC_SWITCH_CAST(valueConstructor(tmp3_2))) {
case 3: {
if (mmc__uniontype__metarecord__typedef__equal(tmp3_2,0,1) == 0) goto tmp2_end;
_txt = tmp3_1;
tmpMeta[0] = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT3);
goto tmp2_done;
}
case 8: {
if (mmc__uniontype__metarecord__typedef__equal(tmp3_2,5,5) == 0) goto tmp2_end;
_txt = tmp3_1;
tmpMeta[0] = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT3);
goto tmp2_done;
}
default:
tmp2_default: OMC_LABEL_UNUSED; {
_txt = tmp3_1;
tmpMeta[0] = _txt;
goto tmp2_done;
}
}
goto tmp2_end;
tmp2_end: ;
}
goto goto_1;
goto_1:;
MMC_THROW_INTERNAL();
goto tmp2_done;
tmp2_done:;
}
}
_out_txt = tmpMeta[0];
_return: OMC_LABEL_UNUSED
return _out_txt;
}
DLLExport
modelica_metatype omc_CodegenCFunctions_typeCastContext(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_context, modelica_metatype _in_a_ty)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta[1] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp3_1;modelica_metatype tmp3_2;modelica_metatype tmp3_3;
tmp3_1 = _in_txt;
tmp3_2 = _in_a_context;
tmp3_3 = _in_a_ty;
{
modelica_metatype _txt = NULL;
modelica_metatype _a_ty = NULL;
volatile mmc_switch_type tmp3;
int tmp4;
tmp3 = 0;
for (; tmp3 < 2; tmp3++) {
switch (MMC_SWITCH_CAST(tmp3)) {
case 0: {
if (mmc__uniontype__metarecord__typedef__equal(tmp3_2,9,1) == 0) goto tmp2_end;
_txt = tmp3_1;
_a_ty = tmp3_3;
tmpMeta[0] = omc_CodegenCFunctions_fun__1225(threadData, _txt, _a_ty);
goto tmp2_done;
}
case 1: {
_txt = tmp3_1;
_a_ty = tmp3_3;
tmpMeta[0] = omc_CodegenCFunctions_fun__1226(threadData, _txt, _a_ty);
goto tmp2_done;
}
}
goto tmp2_end;
tmp2_end: ;
}
goto goto_1;
goto_1:;
MMC_THROW_INTERNAL();
goto tmp2_done;
tmp2_done:;
}
}
_out_txt = tmpMeta[0];
_return: OMC_LABEL_UNUSED
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__1226(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_ty)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta[1] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp3_1;modelica_metatype tmp3_2;
tmp3_1 = _in_txt;
tmp3_2 = _in_a_ty;
{
modelica_metatype _txt = NULL;
int tmp3;
{
switch (MMC_SWITCH_CAST(valueConstructor(tmp3_2))) {
case 3: {
if (mmc__uniontype__metarecord__typedef__equal(tmp3_2,0,1) == 0) goto tmp2_end;
_txt = tmp3_1;
tmpMeta[0] = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1);
goto tmp2_done;
}
case 8: {
if (mmc__uniontype__metarecord__typedef__equal(tmp3_2,5,5) == 0) goto tmp2_end;
_txt = tmp3_1;
tmpMeta[0] = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1);
goto tmp2_done;
}
case 4: {
if (mmc__uniontype__metarecord__typedef__equal(tmp3_2,1,1) == 0) goto tmp2_end;
_txt = tmp3_1;
tmpMeta[0] = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT5);
goto tmp2_done;
}
case 6: {
if (mmc__uniontype__metarecord__typedef__equal(tmp3_2,3,1) == 0) goto tmp2_end;
_txt = tmp3_1;
tmpMeta[0] = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT7);
goto tmp2_done;
}
default:
tmp2_default: OMC_LABEL_UNUSED; {
_txt = tmp3_1;
tmpMeta[0] = _txt;
goto tmp2_done;
}
}
goto tmp2_end;
tmp2_end: ;
}
goto goto_1;
goto_1:;
MMC_THROW_INTERNAL();
goto tmp2_done;
tmp2_done:;
}
}
_out_txt = tmpMeta[0];
_return: OMC_LABEL_UNUSED
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__1225(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_ty)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta[1] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp3_1;modelica_metatype tmp3_2;
tmp3_1 = _in_txt;
tmp3_2 = _in_a_ty;
{
modelica_metatype _txt = NULL;
int tmp3;
{
switch (MMC_SWITCH_CAST(valueConstructor(tmp3_2))) {
case 3: {
if (mmc__uniontype__metarecord__typedef__equal(tmp3_2,0,1) == 0) goto tmp2_end;
_txt = tmp3_1;
tmpMeta[0] = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT3);
goto tmp2_done;
}
case 8: {
if (mmc__uniontype__metarecord__typedef__equal(tmp3_2,5,5) == 0) goto tmp2_end;
_txt = tmp3_1;
tmpMeta[0] = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT3);
goto tmp2_done;
}
case 4: {
if (mmc__uniontype__metarecord__typedef__equal(tmp3_2,1,1) == 0) goto tmp2_end;
_txt = tmp3_1;
tmpMeta[0] = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT9);
goto tmp2_done;
}
case 6: {
if (mmc__uniontype__metarecord__typedef__equal(tmp3_2,3,1) == 0) goto tmp2_end;
_txt = tmp3_1;
tmpMeta[0] = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT11);
goto tmp2_done;
}
default:
tmp2_default: OMC_LABEL_UNUSED; {
_txt = tmp3_1;
tmpMeta[0] = _txt;
goto tmp2_done;
}
}
goto tmp2_end;
tmp2_end: ;
}
goto goto_1;
goto_1:;
MMC_THROW_INTERNAL();
goto tmp2_done;
tmp2_done:;
}
}
_out_txt = tmpMeta[0];
_return: OMC_LABEL_UNUSED
return _out_txt;
}
DLLExport
modelica_metatype omc_CodegenCFunctions_crefAttributes(threadData_t *threadData, modelica_metatype _txt, modelica_metatype _a_cr)
{
modelica_metatype _out_txt = NULL;
modelica_metatype _ret_2 = NULL;
modelica_integer _ret_1;
modelica_metatype _ret_0 = NULL;
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
_ret_0 = omc_ComponentReference_crefRemovePrePrefix(threadData, _a_cr);
_ret_1 = omc_SimCodeUtil_getSimCode(threadData);
_ret_2 = omc_SimCodeUtil_cref2simvar(threadData, _ret_0, mmc_mk_integer(_ret_1));
_out_txt = omc_CodegenCFunctions_fun__1223(threadData, _txt, _ret_2);
_return: OMC_LABEL_UNUSED
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__1223(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_mArg)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta[3] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp3_1;modelica_metatype tmp3_2;
tmp3_1 = _in_txt;
tmp3_2 = _in_mArg;
{
modelica_metatype _txt = NULL;
modelica_metatype _i_name = NULL;
modelica_metatype _i_var = NULL;
modelica_integer _i_index;
modelica_boolean _ret_0;
volatile mmc_switch_type tmp3;
int tmp4;
tmp3 = 0;
for (; tmp3 < 3; tmp3++) {
switch (MMC_SWITCH_CAST(tmp3)) {
case 0: {
modelica_integer tmp5;
tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_2), 3));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[1],10,0) == 0) goto tmp2_end;
tmpMeta[2] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_2), 7));
tmp5 = mmc_unbox_integer(tmpMeta[2]);
if (-1 != tmp5) goto tmp2_end;
_txt = tmp3_1;
tmpMeta[0] = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT13);
goto tmp2_done;
}
case 1: {
modelica_integer tmp6;
tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_2), 2));
tmpMeta[2] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_2), 7));
tmp6 = mmc_unbox_integer(tmpMeta[2]);
_txt = tmp3_1;
_i_var = tmp3_2;
_i_name = tmpMeta[1];
_i_index = tmp6;
_ret_0 = (_i_index < ((modelica_integer) 0));
tmpMeta[0] = omc_CodegenCFunctions_fun__1222(threadData, _txt, _ret_0, _i_name, _i_index, _i_var);
goto tmp2_done;
}
case 2: {
_txt = tmp3_1;
tmpMeta[0] = _txt;
goto tmp2_done;
}
}
goto tmp2_end;
tmp2_end: ;
}
goto goto_1;
goto_1:;
MMC_THROW_INTERNAL();
goto tmp2_done;
tmp2_done:;
}
}
_out_txt = tmpMeta[0];
_return: OMC_LABEL_UNUSED
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__1222(threadData_t *threadData, modelica_metatype _in_txt, modelica_boolean _in_mArg, modelica_metatype _in_a_name, modelica_integer _in_a_index, modelica_metatype _in_a_var)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta[1] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp3_1;modelica_boolean tmp3_2;modelica_metatype tmp3_3;modelica_integer tmp3_4;modelica_metatype tmp3_5;
tmp3_1 = _in_txt;
tmp3_2 = _in_mArg;
tmp3_3 = _in_a_name;
tmp3_4 = _in_a_index;
tmp3_5 = _in_a_var;
{
modelica_metatype _txt = NULL;
modelica_metatype _a_name = NULL;
modelica_integer _a_index;
modelica_metatype _a_var = NULL;
modelica_metatype _txt_1 = NULL;
modelica_metatype _txt_0 = NULL;
volatile mmc_switch_type tmp3;
int tmp4;
tmp3 = 0;
for (; tmp3 < 2; tmp3++) {
switch (MMC_SWITCH_CAST(tmp3)) {
case 0: {
if (0 != tmp3_2) goto tmp2_end;
_txt = tmp3_1;
_a_name = tmp3_3;
_a_index = tmp3_4;
_a_var = tmp3_5;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT15);
_txt = omc_CodegenCFunctions_varArrayName(threadData, _txt, _a_var);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT17);
_txt = omc_Tpl_writeStr(threadData, _txt, intString(_a_index));
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT19);
_txt_0 = omc_CodegenUtil_crefStrNoUnderscore(threadData, _OMC_LIT20, _a_name);
_txt = omc_CodegenUtil_escapeCComments(threadData, _txt, omc_Tpl_textString(threadData, _txt_0));
tmpMeta[0] = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT22);
goto tmp2_done;
}
case 1: {
_txt = tmp3_1;
_a_name = tmp3_3;
_a_index = tmp3_4;
_txt_1 = omc_Tpl_writeTok(threadData, _OMC_LIT20, _OMC_LIT24);
_txt_1 = omc_Tpl_writeStr(threadData, _txt_1, intString(_a_index));
_txt_1 = omc_Tpl_writeTok(threadData, _txt_1, _OMC_LIT26);
_txt_1 = omc_CodegenUtil_crefStr(threadData, _txt_1, _a_name);
tmpMeta[0] = omc_CodegenUtil_error(threadData, _txt, omc_Tpl_sourceInfo(threadData, _OMC_LIT27, ((modelica_integer) 7622), ((modelica_integer) 34)), omc_Tpl_textString(threadData, _txt_1));
goto tmp2_done;
}
}
goto tmp2_end;
tmp2_end: ;
}
goto goto_1;
goto_1:;
MMC_THROW_INTERNAL();
goto tmp2_done;
tmp2_done:;
}
}
_out_txt = tmpMeta[0];
_return: OMC_LABEL_UNUSED
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__1222(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_mArg, modelica_metatype _in_a_name, modelica_metatype _in_a_index, modelica_metatype _in_a_var)
{
modelica_integer tmp1;
modelica_integer tmp2;
modelica_metatype _out_txt = NULL;
tmp1 = mmc_unbox_integer(_in_mArg);
tmp2 = mmc_unbox_integer(_in_a_index);
_out_txt = omc_CodegenCFunctions_fun__1222(threadData, _in_txt, tmp1, _in_a_name, tmp2, _in_a_var);
return _out_txt;
}
DLLExport
modelica_metatype omc_CodegenCFunctions_varAttributes(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_var)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta[4] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp3_1;modelica_metatype tmp3_2;
tmp3_1 = _in_txt;
tmp3_2 = _in_a_var;
{
modelica_metatype _txt = NULL;
modelica_metatype _i_varKind = NULL;
modelica_integer _i_index;
modelica_metatype _i_var = NULL;
modelica_metatype _i_name = NULL;
modelica_metatype _txt_0 = NULL;
volatile mmc_switch_type tmp3;
int tmp4;
tmp3 = 0;
for (; tmp3 < 3; tmp3++) {
switch (MMC_SWITCH_CAST(tmp3)) {
case 0: {
modelica_integer tmp5;
tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_2), 2));
tmpMeta[2] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_2), 7));
tmp5 = mmc_unbox_integer(tmpMeta[2]);
if (-1 != tmp5) goto tmp2_end;
_i_name = tmpMeta[1];
_txt = tmp3_1;
tmpMeta[0] = omc_CodegenCFunctions_crefAttributes(threadData, _txt, _i_name);
goto tmp2_done;
}
case 1: {
modelica_integer tmp6;
tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_2), 2));
tmpMeta[2] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_2), 3));
tmpMeta[3] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_2), 7));
tmp6 = mmc_unbox_integer(tmpMeta[3]);
_txt = tmp3_1;
_i_var = tmp3_2;
_i_name = tmpMeta[1];
_i_varKind = tmpMeta[2];
_i_index = tmp6;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT15);
_txt = omc_CodegenCFunctions_varArrayName(threadData, _txt, _i_var);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT17);
_txt = omc_Tpl_writeStr(threadData, _txt, intString(_i_index));
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT19);
_txt_0 = omc_CodegenUtil_crefStrNoUnderscore(threadData, _OMC_LIT20, _i_name);
_txt = omc_CodegenUtil_escapeCComments(threadData, _txt, omc_Tpl_textString(threadData, _txt_0));
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT29);
_txt = omc_CodegenUtil_variabilityString(threadData, _txt, _i_varKind);
tmpMeta[0] = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT22);
goto tmp2_done;
}
case 2: {
_txt = tmp3_1;
tmpMeta[0] = _txt;
goto tmp2_done;
}
}
goto tmp2_end;
tmp2_end: ;
}
goto goto_1;
goto_1:;
MMC_THROW_INTERNAL();
goto tmp2_done;
tmp2_done:;
}
}
_out_txt = tmpMeta[0];
_return: OMC_LABEL_UNUSED
return _out_txt;
}
DLLExport
modelica_metatype omc_CodegenCFunctions_crefVarInfo(threadData_t *threadData, modelica_metatype _txt, modelica_metatype _a_cr)
{
modelica_metatype _out_txt = NULL;
modelica_metatype _ret_1 = NULL;
modelica_integer _ret_0;
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
_ret_0 = omc_SimCodeUtil_getSimCode(threadData);
_ret_1 = omc_SimCodeUtil_cref2simvar(threadData, _a_cr, mmc_mk_integer(_ret_0));
_out_txt = omc_CodegenCFunctions_fun__1219(threadData, _txt, _ret_1);
_return: OMC_LABEL_UNUSED
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__1219(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_mArg)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta[3] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp3_1;modelica_metatype tmp3_2;
tmp3_1 = _in_txt;
tmp3_2 = _in_mArg;
{
modelica_metatype _txt = NULL;
modelica_metatype _i_name = NULL;
modelica_integer _i_index;
modelica_metatype _i_var = NULL;
modelica_metatype _txt_0 = NULL;
volatile mmc_switch_type tmp3;
int tmp4;
tmp3 = 0;
for (; tmp3 < 2; tmp3++) {
switch (MMC_SWITCH_CAST(tmp3)) {
case 0: {
modelica_integer tmp5;
tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_2), 2));
tmpMeta[2] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_2), 7));
tmp5 = mmc_unbox_integer(tmpMeta[2]);
_txt = tmp3_1;
_i_var = tmp3_2;
_i_name = tmpMeta[1];
_i_index = tmp5;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT15);
_txt = omc_CodegenCFunctions_varArrayName(threadData, _txt, _i_var);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT17);
_txt = omc_Tpl_writeStr(threadData, _txt, intString(_i_index));
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT31);
_txt_0 = omc_CodegenUtil_crefStrNoUnderscore(threadData, _OMC_LIT20, _i_name);
_txt = omc_CodegenUtil_escapeCComments(threadData, _txt, omc_Tpl_textString(threadData, _txt_0));
tmpMeta[0] = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT22);
goto tmp2_done;
}
case 1: {
_txt = tmp3_1;
tmpMeta[0] = _txt;
goto tmp2_done;
}
}
goto tmp2_end;
tmp2_end: ;
}
goto goto_1;
goto_1:;
MMC_THROW_INTERNAL();
goto tmp2_done;
tmp2_done:;
}
}
_out_txt = tmpMeta[0];
_return: OMC_LABEL_UNUSED
return _out_txt;
}
DLLExport
modelica_metatype omc_CodegenCFunctions_varArrayName(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_var)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta[3] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp3_1;modelica_metatype tmp3_2;
tmp3_1 = _in_txt;
tmp3_2 = _in_a_var;
{
modelica_metatype _txt = NULL;
modelica_metatype _i_name = NULL;
volatile mmc_switch_type tmp3;
int tmp4;
tmp3 = 0;
for (; tmp3 < 3; tmp3++) {
switch (MMC_SWITCH_CAST(tmp3)) {
case 0: {
tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_2), 2));
tmpMeta[2] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_2), 3));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[2],7,0) == 0) goto tmp2_end;
_i_name = tmpMeta[1];
_txt = tmp3_1;
_txt = omc_CodegenCFunctions_crefShortType(threadData, _txt, _i_name);
tmpMeta[0] = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT33);
goto tmp2_done;
}
case 1: {
tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_2), 2));
_txt = tmp3_1;
_i_name = tmpMeta[1];
_txt = omc_CodegenCFunctions_crefShortType(threadData, _txt, _i_name);
tmpMeta[0] = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT35);
goto tmp2_done;
}
case 2: {
_txt = tmp3_1;
tmpMeta[0] = _txt;
goto tmp2_done;
}
}
goto tmp2_end;
tmp2_end: ;
}
goto goto_1;
goto_1:;
MMC_THROW_INTERNAL();
goto tmp2_done;
tmp2_done:;
}
}
_out_txt = tmpMeta[0];
_return: OMC_LABEL_UNUSED
return _out_txt;
}
DLLExport
modelica_metatype omc_CodegenCFunctions_varArrayNameValues(threadData_t *threadData, modelica_metatype _txt, modelica_metatype _a_var, modelica_integer _a_ix, modelica_boolean _a_isPre, modelica_boolean _a_isStart)
{
modelica_metatype _out_txt = NULL;
modelica_string _ret_0 = NULL;
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
_ret_0 = omc_Config_simCodeTarget(threadData);
_out_txt = omc_CodegenCFunctions_fun__1216(threadData, _txt, _ret_0, _a_var, _a_ix, _a_isPre, _a_isStart);
_return: OMC_LABEL_UNUSED
return _out_txt;
}
modelica_metatype boxptr_CodegenCFunctions_varArrayNameValues(threadData_t *threadData, modelica_metatype _txt, modelica_metatype _a_var, modelica_metatype _a_ix, modelica_metatype _a_isPre, modelica_metatype _a_isStart)
{
modelica_integer tmp1;
modelica_integer tmp2;
modelica_integer tmp3;
modelica_metatype _out_txt = NULL;
tmp1 = mmc_unbox_integer(_a_ix);
tmp2 = mmc_unbox_integer(_a_isPre);
tmp3 = mmc_unbox_integer(_a_isStart);
_out_txt = omc_CodegenCFunctions_varArrayNameValues(threadData, _txt, _a_var, tmp1, tmp2, tmp3);
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__1216(threadData_t *threadData, modelica_metatype _in_txt, modelica_string _in_mArg, modelica_metatype _in_a_var, modelica_integer _in_a_ix, modelica_boolean _in_a_isPre, modelica_boolean _in_a_isStart)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta[1] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp3_1;modelica_string tmp3_2;modelica_metatype tmp3_3;modelica_integer tmp3_4;modelica_boolean tmp3_5;modelica_boolean tmp3_6;
tmp3_1 = _in_txt;
tmp3_2 = _in_mArg;
tmp3_3 = _in_a_var;
tmp3_4 = _in_a_ix;
tmp3_5 = _in_a_isPre;
tmp3_6 = _in_a_isStart;
{
modelica_metatype _txt = NULL;
modelica_metatype _a_var = NULL;
modelica_integer _a_ix;
modelica_boolean _a_isPre;
modelica_boolean _a_isStart;
volatile mmc_switch_type tmp3;
int tmp4;
tmp3 = 0;
for (; tmp3 < 2; tmp3++) {
switch (MMC_SWITCH_CAST(tmp3)) {
case 0: {
if (5 != MMC_STRLEN(tmp3_2) || strcmp(MMC_STRINGDATA(_OMC_LIT36), MMC_STRINGDATA(tmp3_2)) != 0) goto tmp2_end;
_txt = tmp3_1;
_a_var = tmp3_3;
_a_isPre = tmp3_5;
_a_isStart = tmp3_6;
tmpMeta[0] = omc_CodegenCFunctions_fun__1212(threadData, _txt, _a_var, _a_isPre, _a_isStart);
goto tmp2_done;
}
case 1: {
_txt = tmp3_1;
_a_var = tmp3_3;
_a_ix = tmp3_4;
_a_isPre = tmp3_5;
_a_isStart = tmp3_6;
tmpMeta[0] = omc_CodegenCFunctions_fun__1215(threadData, _txt, _a_var, _a_ix, _a_isPre, _a_isStart);
goto tmp2_done;
}
}
goto tmp2_end;
tmp2_end: ;
}
goto goto_1;
goto_1:;
MMC_THROW_INTERNAL();
goto tmp2_done;
tmp2_done:;
}
}
_out_txt = tmpMeta[0];
_return: OMC_LABEL_UNUSED
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__1216(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_mArg, modelica_metatype _in_a_var, modelica_metatype _in_a_ix, modelica_metatype _in_a_isPre, modelica_metatype _in_a_isStart)
{
modelica_integer tmp1;
modelica_integer tmp2;
modelica_integer tmp3;
modelica_metatype _out_txt = NULL;
tmp1 = mmc_unbox_integer(_in_a_ix);
tmp2 = mmc_unbox_integer(_in_a_isPre);
tmp3 = mmc_unbox_integer(_in_a_isStart);
_out_txt = omc_CodegenCFunctions_fun__1216(threadData, _in_txt, _in_mArg, _in_a_var, tmp1, tmp2, tmp3);
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__1215(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_var, modelica_integer _in_a_ix, modelica_boolean _in_a_isPre, modelica_boolean _in_a_isStart)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta[4] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp3_1;modelica_metatype tmp3_2;modelica_integer tmp3_3;modelica_boolean tmp3_4;modelica_boolean tmp3_5;
tmp3_1 = _in_txt;
tmp3_2 = _in_a_var;
tmp3_3 = _in_a_ix;
tmp3_4 = _in_a_isPre;
tmp3_5 = _in_a_isStart;
{
modelica_metatype _txt = NULL;
modelica_integer _a_ix;
modelica_boolean _a_isPre;
modelica_boolean _a_isStart;
modelica_metatype _i_var = NULL;
modelica_metatype _i_varKind = NULL;
modelica_integer _i_index;
modelica_metatype _i_name = NULL;
modelica_metatype _txt_1 = NULL;
modelica_metatype _txt_0 = NULL;
volatile mmc_switch_type tmp3;
int tmp4;
tmp3 = 0;
for (; tmp3 < 5; tmp3++) {
switch (MMC_SWITCH_CAST(tmp3)) {
case 0: {
modelica_integer tmp5;
tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_2), 2));
tmpMeta[2] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_2), 3));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[2],7,0) == 0) goto tmp2_end;
tmpMeta[3] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_2), 7));
tmp5 = mmc_unbox_integer(tmpMeta[3]);
_i_name = tmpMeta[1];
_i_varKind = tmpMeta[2];
_i_index = tmp5;
_txt = tmp3_1;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT38);
_txt = omc_CodegenCFunctions_crefShortType(threadData, _txt, _i_name);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT40);
_txt = omc_Tpl_writeStr(threadData, _txt, intString(_i_index));
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT42);
_txt_0 = omc_CodegenUtil_crefStrNoUnderscore(threadData, _OMC_LIT20, _i_name);
_txt = omc_CodegenUtil_escapeCComments(threadData, _txt, omc_Tpl_textString(threadData, _txt_0));
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT29);
_txt = omc_CodegenUtil_variabilityString(threadData, _txt, _i_varKind);
tmpMeta[0] = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT22);
goto tmp2_done;
}
case 1: {
modelica_integer tmp6;
tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_2), 2));
tmpMeta[2] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_2), 3));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[2],17,0) == 0) goto tmp2_end;
tmpMeta[3] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_2), 7));
tmp6 = mmc_unbox_integer(tmpMeta[3]);
_i_name = tmpMeta[1];
_i_varKind = tmpMeta[2];
_i_index = tmp6;
_txt = tmp3_1;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT38);
_txt = omc_CodegenCFunctions_crefShortType(threadData, _txt, _i_name);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT40);
_txt = omc_Tpl_writeStr(threadData, _txt, intString(_i_index));
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT42);
_txt_1 = omc_CodegenUtil_crefStrNoUnderscore(threadData, _OMC_LIT20, _i_name);
_txt = omc_CodegenUtil_escapeCComments(threadData, _txt, omc_Tpl_textString(threadData, _txt_1));
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT29);
_txt = omc_CodegenUtil_variabilityString(threadData, _txt, _i_varKind);
tmpMeta[0] = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT22);
goto tmp2_done;
}
case 2: {
modelica_integer tmp7;
tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_2), 3));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[1],9,1) == 0) goto tmp2_end;
tmpMeta[2] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_2), 7));
tmp7 = mmc_unbox_integer(tmpMeta[2]);
_i_index = tmp7;
_txt = tmp3_1;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT44);
_txt = omc_Tpl_writeStr(threadData, _txt, intString(_i_index));
tmpMeta[0] = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT46);
goto tmp2_done;
}
case 3: {
modelica_integer tmp8;
tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_2), 2));
tmpMeta[2] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_2), 3));
tmpMeta[3] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_2), 7));
tmp8 = mmc_unbox_integer(tmpMeta[3]);
_txt = tmp3_1;
_i_var = tmp3_2;
_i_name = tmpMeta[1];
_i_varKind = tmpMeta[2];
_i_index = tmp8;
_a_ix = tmp3_3;
_a_isPre = tmp3_4;
_a_isStart = tmp3_5;
tmpMeta[0] = omc_CodegenCFunctions_fun__1214(threadData, _txt, _a_isStart, _i_var, _i_varKind, _i_index, _i_name, _a_ix, _a_isPre);
goto tmp2_done;
}
case 4: {
_txt = tmp3_1;
tmpMeta[0] = _txt;
goto tmp2_done;
}
}
goto tmp2_end;
tmp2_end: ;
}
goto goto_1;
goto_1:;
MMC_THROW_INTERNAL();
goto tmp2_done;
tmp2_done:;
}
}
_out_txt = tmpMeta[0];
_return: OMC_LABEL_UNUSED
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__1215(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_var, modelica_metatype _in_a_ix, modelica_metatype _in_a_isPre, modelica_metatype _in_a_isStart)
{
modelica_integer tmp1;
modelica_integer tmp2;
modelica_integer tmp3;
modelica_metatype _out_txt = NULL;
tmp1 = mmc_unbox_integer(_in_a_ix);
tmp2 = mmc_unbox_integer(_in_a_isPre);
tmp3 = mmc_unbox_integer(_in_a_isStart);
_out_txt = omc_CodegenCFunctions_fun__1215(threadData, _in_txt, _in_a_var, tmp1, tmp2, tmp3);
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__1214(threadData_t *threadData, modelica_metatype _in_txt, modelica_boolean _in_a_isStart, modelica_metatype _in_a_var, modelica_metatype _in_a_varKind, modelica_integer _in_a_index, modelica_metatype _in_a_name, modelica_integer _in_a_ix, modelica_boolean _in_a_isPre)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta[1] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp3_1;modelica_boolean tmp3_2;modelica_metatype tmp3_3;modelica_metatype tmp3_4;modelica_integer tmp3_5;modelica_metatype tmp3_6;modelica_integer tmp3_7;modelica_boolean tmp3_8;
tmp3_1 = _in_txt;
tmp3_2 = _in_a_isStart;
tmp3_3 = _in_a_var;
tmp3_4 = _in_a_varKind;
tmp3_5 = _in_a_index;
tmp3_6 = _in_a_name;
tmp3_7 = _in_a_ix;
tmp3_8 = _in_a_isPre;
{
modelica_metatype _txt = NULL;
modelica_metatype _a_var = NULL;
modelica_metatype _a_varKind = NULL;
modelica_integer _a_index;
modelica_metatype _a_name = NULL;
modelica_integer _a_ix;
modelica_boolean _a_isPre;
volatile mmc_switch_type tmp3;
int tmp4;
tmp3 = 0;
for (; tmp3 < 2; tmp3++) {
switch (MMC_SWITCH_CAST(tmp3)) {
case 0: {
if (0 != tmp3_2) goto tmp2_end;
_txt = tmp3_1;
_a_varKind = tmp3_4;
_a_index = tmp3_5;
_a_name = tmp3_6;
_a_ix = tmp3_7;
_a_isPre = tmp3_8;
tmpMeta[0] = omc_CodegenCFunctions_fun__1213(threadData, _txt, _a_isPre, _a_varKind, _a_index, _a_name, _a_ix);
goto tmp2_done;
}
case 1: {
_txt = tmp3_1;
_a_var = tmp3_3;
_txt = omc_CodegenCFunctions_varAttributes(threadData, _txt, _a_var);
tmpMeta[0] = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT48);
goto tmp2_done;
}
}
goto tmp2_end;
tmp2_end: ;
}
goto goto_1;
goto_1:;
MMC_THROW_INTERNAL();
goto tmp2_done;
tmp2_done:;
}
}
_out_txt = tmpMeta[0];
_return: OMC_LABEL_UNUSED
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__1214(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_isStart, modelica_metatype _in_a_var, modelica_metatype _in_a_varKind, modelica_metatype _in_a_index, modelica_metatype _in_a_name, modelica_metatype _in_a_ix, modelica_metatype _in_a_isPre)
{
modelica_integer tmp1;
modelica_integer tmp2;
modelica_integer tmp3;
modelica_integer tmp4;
modelica_metatype _out_txt = NULL;
tmp1 = mmc_unbox_integer(_in_a_isStart);
tmp2 = mmc_unbox_integer(_in_a_index);
tmp3 = mmc_unbox_integer(_in_a_ix);
tmp4 = mmc_unbox_integer(_in_a_isPre);
_out_txt = omc_CodegenCFunctions_fun__1214(threadData, _in_txt, tmp1, _in_a_var, _in_a_varKind, tmp2, _in_a_name, tmp3, tmp4);
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__1213(threadData_t *threadData, modelica_metatype _in_txt, modelica_boolean _in_a_isPre, modelica_metatype _in_a_varKind, modelica_integer _in_a_index, modelica_metatype _in_a_name, modelica_integer _in_a_ix)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta[1] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp3_1;modelica_boolean tmp3_2;modelica_metatype tmp3_3;modelica_integer tmp3_4;modelica_metatype tmp3_5;modelica_integer tmp3_6;
tmp3_1 = _in_txt;
tmp3_2 = _in_a_isPre;
tmp3_3 = _in_a_varKind;
tmp3_4 = _in_a_index;
tmp3_5 = _in_a_name;
tmp3_6 = _in_a_ix;
{
modelica_metatype _txt = NULL;
modelica_metatype _a_varKind = NULL;
modelica_integer _a_index;
modelica_metatype _a_name = NULL;
modelica_integer _a_ix;
modelica_metatype _txt_1 = NULL;
modelica_metatype _txt_0 = NULL;
volatile mmc_switch_type tmp3;
int tmp4;
tmp3 = 0;
for (; tmp3 < 2; tmp3++) {
switch (MMC_SWITCH_CAST(tmp3)) {
case 0: {
if (0 != tmp3_2) goto tmp2_end;
_txt = tmp3_1;
_a_varKind = tmp3_3;
_a_index = tmp3_4;
_a_name = tmp3_5;
_a_ix = tmp3_6;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT50);
_txt = omc_Tpl_writeStr(threadData, _txt, intString(_a_ix));
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT52);
_txt = omc_CodegenCFunctions_crefShortType(threadData, _txt, _a_name);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT54);
_txt = omc_Tpl_writeStr(threadData, _txt, intString(_a_index));
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT42);
_txt_0 = omc_CodegenUtil_crefStrNoUnderscore(threadData, _OMC_LIT20, _a_name);
_txt = omc_CodegenUtil_escapeCComments(threadData, _txt, omc_Tpl_textString(threadData, _txt_0));
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT29);
_txt = omc_CodegenUtil_variabilityString(threadData, _txt, _a_varKind);
tmpMeta[0] = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT22);
goto tmp2_done;
}
case 1: {
_txt = tmp3_1;
_a_varKind = tmp3_3;
_a_index = tmp3_4;
_a_name = tmp3_5;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT38);
_txt = omc_CodegenCFunctions_crefShortType(threadData, _txt, _a_name);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT56);
_txt = omc_Tpl_writeStr(threadData, _txt, intString(_a_index));
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT42);
_txt_1 = omc_CodegenUtil_crefStrNoUnderscore(threadData, _OMC_LIT20, _a_name);
_txt = omc_CodegenUtil_escapeCComments(threadData, _txt, omc_Tpl_textString(threadData, _txt_1));
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT29);
_txt = omc_CodegenUtil_variabilityString(threadData, _txt, _a_varKind);
tmpMeta[0] = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT22);
goto tmp2_done;
}
}
goto tmp2_end;
tmp2_end: ;
}
goto goto_1;
goto_1:;
MMC_THROW_INTERNAL();
goto tmp2_done;
tmp2_done:;
}
}
_out_txt = tmpMeta[0];
_return: OMC_LABEL_UNUSED
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__1213(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_isPre, modelica_metatype _in_a_varKind, modelica_metatype _in_a_index, modelica_metatype _in_a_name, modelica_metatype _in_a_ix)
{
modelica_integer tmp1;
modelica_integer tmp2;
modelica_integer tmp3;
modelica_metatype _out_txt = NULL;
tmp1 = mmc_unbox_integer(_in_a_isPre);
tmp2 = mmc_unbox_integer(_in_a_index);
tmp3 = mmc_unbox_integer(_in_a_ix);
_out_txt = omc_CodegenCFunctions_fun__1213(threadData, _in_txt, tmp1, _in_a_varKind, tmp2, _in_a_name, tmp3);
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__1212(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_var, modelica_boolean _in_a_isPre, modelica_boolean _in_a_isStart)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta[4] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp3_1;modelica_metatype tmp3_2;modelica_boolean tmp3_3;modelica_boolean tmp3_4;
tmp3_1 = _in_txt;
tmp3_2 = _in_a_var;
tmp3_3 = _in_a_isPre;
tmp3_4 = _in_a_isStart;
{
modelica_metatype _txt = NULL;
modelica_boolean _a_isPre;
modelica_boolean _a_isStart;
modelica_metatype _i_var = NULL;
modelica_metatype _i_varKind = NULL;
modelica_integer _i_index;
modelica_metatype _i_name = NULL;
modelica_metatype _txt_1 = NULL;
modelica_metatype _l_c__comment = NULL;
volatile mmc_switch_type tmp3;
int tmp4;
tmp3 = 0;
for (; tmp3 < 5; tmp3++) {
switch (MMC_SWITCH_CAST(tmp3)) {
case 0: {
tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_2), 3));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[1],7,0) == 0) goto tmp2_end;
_txt = tmp3_1;
tmpMeta[0] = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT58);
goto tmp2_done;
}
case 1: {
tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_2), 3));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[1],17,0) == 0) goto tmp2_end;
_txt = tmp3_1;
tmpMeta[0] = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT58);
goto tmp2_done;
}
case 2: {
tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_2), 3));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[1],9,1) == 0) goto tmp2_end;
_txt = tmp3_1;
tmpMeta[0] = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT58);
goto tmp2_done;
}
case 3: {
modelica_integer tmp5;
tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_2), 2));
tmpMeta[2] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_2), 3));
tmpMeta[3] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_2), 7));
tmp5 = mmc_unbox_integer(tmpMeta[3]);
_txt = tmp3_1;
_i_var = tmp3_2;
_i_name = tmpMeta[1];
_i_varKind = tmpMeta[2];
_i_index = tmp5;
_a_isPre = tmp3_3;
_a_isStart = tmp3_4;
_txt_1 = omc_CodegenUtil_crefStrNoUnderscore(threadData, _OMC_LIT20, _i_name);
_l_c__comment = omc_CodegenUtil_escapeCComments(threadData, _OMC_LIT20, omc_Tpl_textString(threadData, _txt_1));
tmpMeta[0] = omc_CodegenCFunctions_fun__1211(threadData, _txt, _a_isStart, _i_var, _i_varKind, _l_c__comment, _i_index, _i_name, _a_isPre);
goto tmp2_done;
}
case 4: {
_txt = tmp3_1;
tmpMeta[0] = _txt;
goto tmp2_done;
}
}
goto tmp2_end;
tmp2_end: ;
}
goto goto_1;
goto_1:;
MMC_THROW_INTERNAL();
goto tmp2_done;
tmp2_done:;
}
}
_out_txt = tmpMeta[0];
_return: OMC_LABEL_UNUSED
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__1212(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_var, modelica_metatype _in_a_isPre, modelica_metatype _in_a_isStart)
{
modelica_integer tmp1;
modelica_integer tmp2;
modelica_metatype _out_txt = NULL;
tmp1 = mmc_unbox_integer(_in_a_isPre);
tmp2 = mmc_unbox_integer(_in_a_isStart);
_out_txt = omc_CodegenCFunctions_fun__1212(threadData, _in_txt, _in_a_var, tmp1, tmp2);
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__1211(threadData_t *threadData, modelica_metatype _in_txt, modelica_boolean _in_a_isStart, modelica_metatype _in_a_var, modelica_metatype _in_a_varKind, modelica_metatype _in_a_c__comment, modelica_integer _in_a_index, modelica_metatype _in_a_name, modelica_boolean _in_a_isPre)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta[1] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp3_1;modelica_boolean tmp3_2;modelica_metatype tmp3_3;modelica_metatype tmp3_4;modelica_metatype tmp3_5;modelica_integer tmp3_6;modelica_metatype tmp3_7;modelica_boolean tmp3_8;
tmp3_1 = _in_txt;
tmp3_2 = _in_a_isStart;
tmp3_3 = _in_a_var;
tmp3_4 = _in_a_varKind;
tmp3_5 = _in_a_c__comment;
tmp3_6 = _in_a_index;
tmp3_7 = _in_a_name;
tmp3_8 = _in_a_isPre;
{
modelica_metatype _txt = NULL;
modelica_metatype _a_var = NULL;
modelica_metatype _a_varKind = NULL;
modelica_metatype _a_c__comment = NULL;
modelica_integer _a_index;
modelica_metatype _a_name = NULL;
modelica_boolean _a_isPre;
volatile mmc_switch_type tmp3;
int tmp4;
tmp3 = 0;
for (; tmp3 < 2; tmp3++) {
switch (MMC_SWITCH_CAST(tmp3)) {
case 0: {
if (0 != tmp3_2) goto tmp2_end;
_txt = tmp3_1;
_a_varKind = tmp3_4;
_a_c__comment = tmp3_5;
_a_index = tmp3_6;
_a_name = tmp3_7;
_a_isPre = tmp3_8;
tmpMeta[0] = omc_CodegenCFunctions_fun__1210(threadData, _txt, _a_isPre, _a_varKind, _a_c__comment, _a_index, _a_name);
goto tmp2_done;
}
case 1: {
_txt = tmp3_1;
_a_var = tmp3_3;
_txt = omc_CodegenCFunctions_varAttributes(threadData, _txt, _a_var);
tmpMeta[0] = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT48);
goto tmp2_done;
}
}
goto tmp2_end;
tmp2_end: ;
}
goto goto_1;
goto_1:;
MMC_THROW_INTERNAL();
goto tmp2_done;
tmp2_done:;
}
}
_out_txt = tmpMeta[0];
_return: OMC_LABEL_UNUSED
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__1211(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_isStart, modelica_metatype _in_a_var, modelica_metatype _in_a_varKind, modelica_metatype _in_a_c__comment, modelica_metatype _in_a_index, modelica_metatype _in_a_name, modelica_metatype _in_a_isPre)
{
modelica_integer tmp1;
modelica_integer tmp2;
modelica_integer tmp3;
modelica_metatype _out_txt = NULL;
tmp1 = mmc_unbox_integer(_in_a_isStart);
tmp2 = mmc_unbox_integer(_in_a_index);
tmp3 = mmc_unbox_integer(_in_a_isPre);
_out_txt = omc_CodegenCFunctions_fun__1211(threadData, _in_txt, tmp1, _in_a_var, _in_a_varKind, _in_a_c__comment, tmp2, _in_a_name, tmp3);
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__1210(threadData_t *threadData, modelica_metatype _in_txt, modelica_boolean _in_a_isPre, modelica_metatype _in_a_varKind, modelica_metatype _in_a_c__comment, modelica_integer _in_a_index, modelica_metatype _in_a_name)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta[1] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp3_1;modelica_boolean tmp3_2;modelica_metatype tmp3_3;modelica_metatype tmp3_4;modelica_integer tmp3_5;modelica_metatype tmp3_6;
tmp3_1 = _in_txt;
tmp3_2 = _in_a_isPre;
tmp3_3 = _in_a_varKind;
tmp3_4 = _in_a_c__comment;
tmp3_5 = _in_a_index;
tmp3_6 = _in_a_name;
{
modelica_metatype _txt = NULL;
modelica_metatype _a_varKind = NULL;
modelica_metatype _a_c__comment = NULL;
modelica_integer _a_index;
modelica_metatype _a_name = NULL;
volatile mmc_switch_type tmp3;
int tmp4;
tmp3 = 0;
for (; tmp3 < 2; tmp3++) {
switch (MMC_SWITCH_CAST(tmp3)) {
case 0: {
if (0 != tmp3_2) goto tmp2_end;
_txt = tmp3_1;
_a_varKind = tmp3_3;
_a_c__comment = tmp3_4;
_a_index = tmp3_5;
_a_name = tmp3_6;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT60);
_txt = omc_CodegenCFunctions_crefTypeOMSIC(threadData, _txt, _a_name);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT62);
_txt = omc_Tpl_writeStr(threadData, _txt, intString(_a_index));
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT42);
_txt = omc_Tpl_writeText(threadData, _txt, _a_c__comment);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT29);
_txt = omc_CodegenUtil_variabilityString(threadData, _txt, _a_varKind);
tmpMeta[0] = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT22);
goto tmp2_done;
}
case 1: {
_txt = tmp3_1;
_a_varKind = tmp3_3;
_a_c__comment = tmp3_4;
_a_index = tmp3_5;
_a_name = tmp3_6;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT64);
_txt = omc_CodegenCFunctions_crefTypeOMSIC(threadData, _txt, _a_name);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT62);
_txt = omc_Tpl_writeStr(threadData, _txt, intString(_a_index));
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT42);
_txt = omc_Tpl_writeText(threadData, _txt, _a_c__comment);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT29);
_txt = omc_CodegenUtil_variabilityString(threadData, _txt, _a_varKind);
tmpMeta[0] = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT22);
goto tmp2_done;
}
}
goto tmp2_end;
tmp2_end: ;
}
goto goto_1;
goto_1:;
MMC_THROW_INTERNAL();
goto tmp2_done;
tmp2_done:;
}
}
_out_txt = tmpMeta[0];
_return: OMC_LABEL_UNUSED
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__1210(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_isPre, modelica_metatype _in_a_varKind, modelica_metatype _in_a_c__comment, modelica_metatype _in_a_index, modelica_metatype _in_a_name)
{
modelica_integer tmp1;
modelica_integer tmp2;
modelica_metatype _out_txt = NULL;
tmp1 = mmc_unbox_integer(_in_a_isPre);
tmp2 = mmc_unbox_integer(_in_a_index);
_out_txt = omc_CodegenCFunctions_fun__1210(threadData, _in_txt, tmp1, _in_a_varKind, _in_a_c__comment, tmp2, _in_a_name);
return _out_txt;
}
DLLExport
modelica_metatype omc_CodegenCFunctions_crefShortType(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_cr)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta[2] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp3_1;modelica_metatype tmp3_2;
tmp3_1 = _in_txt;
tmp3_2 = _in_a_cr;
{
modelica_metatype _txt = NULL;
modelica_metatype _i_componentRef = NULL;
modelica_metatype _i_identType = NULL;
int tmp3;
{
switch (MMC_SWITCH_CAST(valueConstructor(tmp3_2))) {
case 4: {
if (mmc__uniontype__metarecord__typedef__equal(tmp3_2,1,3) == 0) goto tmp2_end;
tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_2), 3));
_i_identType = tmpMeta[1];
_txt = tmp3_1;
tmpMeta[0] = omc_CodegenCFunctions_expTypeShort(threadData, _txt, _i_identType);
goto tmp2_done;
}
case 3: {
if (mmc__uniontype__metarecord__typedef__equal(tmp3_2,0,4) == 0) goto tmp2_end;
tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_2), 5));
_i_componentRef = tmpMeta[1];
_txt = tmp3_1;
_in_txt = _txt;
_in_a_cr = _i_componentRef;
goto _tailrecursive;
goto tmp2_done;
}
default:
tmp2_default: OMC_LABEL_UNUSED; {
_txt = tmp3_1;
tmpMeta[0] = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT66);
goto tmp2_done;
}
}
goto tmp2_end;
tmp2_end: ;
}
goto goto_1;
goto_1:;
MMC_THROW_INTERNAL();
goto tmp2_done;
tmp2_done:;
}
}
_out_txt = tmpMeta[0];
_return: OMC_LABEL_UNUSED
return _out_txt;
}
DLLExport
modelica_metatype omc_CodegenCFunctions_daeSubscriptExp(threadData_t *threadData, modelica_metatype _txt, modelica_metatype _a_exp, modelica_metatype _a_context, modelica_metatype _a_preExp, modelica_metatype _a_varDecls, modelica_metatype _a_auxFunction, modelica_metatype *out_out_a_preExp, modelica_metatype *out_out_a_varDecls, modelica_metatype *out_out_a_auxFunction)
{
modelica_metatype _out_txt = NULL;
modelica_metatype _out_a_preExp = NULL;
modelica_metatype _out_a_varDecls = NULL;
modelica_metatype _out_a_auxFunction = NULL;
modelica_string _str_2 = NULL;
modelica_metatype _txt_1 = NULL;
modelica_metatype _l_res = NULL;
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
_l_res = omc_CodegenCFunctions_daeExp(threadData, _OMC_LIT20, _a_exp, _a_context, _a_preExp, _a_varDecls, _a_auxFunction ,&_out_a_preExp ,&_out_a_varDecls ,&_out_a_auxFunction);
_txt_1 = omc_CodegenCFunctions_expTypeFromExpModelica(threadData, _OMC_LIT20, _a_exp);
_str_2 = omc_Tpl_textString(threadData, _txt_1);
_out_txt = omc_CodegenCFunctions_fun__1207(threadData, _txt, _str_2, _l_res);
_return: OMC_LABEL_UNUSED
if (out_out_a_preExp) { *out_out_a_preExp = _out_a_preExp; }
if (out_out_a_varDecls) { *out_out_a_varDecls = _out_a_varDecls; }
if (out_out_a_auxFunction) { *out_out_a_auxFunction = _out_a_auxFunction; }
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__1207(threadData_t *threadData, modelica_metatype _in_txt, modelica_string _in_mArg, modelica_metatype _in_a_res)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta[1] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp3_1;modelica_string tmp3_2;modelica_metatype tmp3_3;
tmp3_1 = _in_txt;
tmp3_2 = _in_mArg;
tmp3_3 = _in_a_res;
{
modelica_metatype _txt = NULL;
modelica_metatype _a_res = NULL;
volatile mmc_switch_type tmp3;
int tmp4;
tmp3 = 0;
for (; tmp3 < 2; tmp3++) {
switch (MMC_SWITCH_CAST(tmp3)) {
case 0: {
if (16 != MMC_STRLEN(tmp3_2) || strcmp(MMC_STRINGDATA(_OMC_LIT71), MMC_STRINGDATA(tmp3_2)) != 0) goto tmp2_end;
_txt = tmp3_1;
_a_res = tmp3_3;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT68);
_txt = omc_Tpl_writeText(threadData, _txt, _a_res);
tmpMeta[0] = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT70);
goto tmp2_done;
}
case 1: {
_txt = tmp3_1;
_a_res = tmp3_3;
tmpMeta[0] = omc_Tpl_writeText(threadData, _txt, _a_res);
goto tmp2_done;
}
}
goto tmp2_end;
tmp2_end: ;
}
goto goto_1;
goto_1:;
MMC_THROW_INTERNAL();
goto tmp2_done;
tmp2_done:;
}
}
_out_txt = tmpMeta[0];
_return: OMC_LABEL_UNUSED
return _out_txt;
}
DLLExport
modelica_metatype omc_CodegenCFunctions_daeSubscript(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_sub, modelica_metatype _in_a_context, modelica_metatype _in_a_preExp, modelica_metatype _in_a_varDecls, modelica_metatype _in_a_auxFunction, modelica_metatype *out_out_a_preExp, modelica_metatype *out_out_a_varDecls, modelica_metatype *out_out_a_auxFunction)
{
modelica_metatype _out_txt = NULL;
modelica_metatype _out_a_preExp = NULL;
modelica_metatype _out_a_varDecls = NULL;
modelica_metatype _out_a_auxFunction = NULL;
modelica_metatype tmpMeta[5] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_metatype tmp4_2;modelica_metatype tmp4_3;modelica_metatype tmp4_4;modelica_metatype tmp4_5;modelica_metatype tmp4_6;
tmp4_1 = _in_txt;
tmp4_2 = _in_a_sub;
tmp4_3 = _in_a_context;
tmp4_4 = _in_a_preExp;
tmp4_5 = _in_a_varDecls;
tmp4_6 = _in_a_auxFunction;
{
modelica_metatype _txt = NULL;
modelica_metatype _a_context = NULL;
modelica_metatype _a_preExp = NULL;
modelica_metatype _a_varDecls = NULL;
modelica_metatype _a_auxFunction = NULL;
modelica_metatype _i_sub_exp = NULL;
volatile mmc_switch_type tmp4;
int tmp5;
tmp4 = 0;
for (; tmp4 < 2; tmp4++) {
switch (MMC_SWITCH_CAST(tmp4)) {
case 0: {
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,2,1) == 0) goto tmp3_end;
tmpMeta[4] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
_i_sub_exp = tmpMeta[4];
_txt = tmp4_1;
_a_context = tmp4_3;
_a_preExp = tmp4_4;
_a_varDecls = tmp4_5;
_a_auxFunction = tmp4_6;
tmpMeta[0+0] = omc_CodegenCFunctions_daeSubscriptExp(threadData, _txt, _i_sub_exp, _a_context, _a_preExp, _a_varDecls, _a_auxFunction, &tmpMeta[0+1], &tmpMeta[0+2], &tmpMeta[0+3]);
goto tmp3_done;
}
case 1: {
_txt = tmp4_1;
_a_preExp = tmp4_4;
_a_varDecls = tmp4_5;
_a_auxFunction = tmp4_6;
_txt = omc_CodegenUtil_error(threadData, _txt, omc_Tpl_sourceInfo(threadData, _OMC_LIT27, ((modelica_integer) 7536), ((modelica_integer) 14)), _OMC_LIT72);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_preExp;
tmpMeta[0+2] = _a_varDecls;
tmpMeta[0+3] = _a_auxFunction;
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta[0+0];
_out_a_preExp = tmpMeta[0+1];
_out_a_varDecls = tmpMeta[0+2];
_out_a_auxFunction = tmpMeta[0+3];
_return: OMC_LABEL_UNUSED
if (out_out_a_preExp) { *out_out_a_preExp = _out_a_preExp; }
if (out_out_a_varDecls) { *out_out_a_varDecls = _out_a_varDecls; }
if (out_out_a_auxFunction) { *out_out_a_auxFunction = _out_a_auxFunction; }
return _out_txt;
}
DLLExport
modelica_metatype omc_CodegenCFunctions_daeExpSharedLiteral(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_exp)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta[2] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp3_1;modelica_metatype tmp3_2;
tmp3_1 = _in_txt;
tmp3_2 = _in_a_exp;
{
modelica_metatype _txt = NULL;
modelica_integer _i_exp_index;
volatile mmc_switch_type tmp3;
int tmp4;
tmp3 = 0;
for (; tmp3 < 2; tmp3++) {
switch (MMC_SWITCH_CAST(tmp3)) {
case 0: {
modelica_integer tmp5;
if (mmc__uniontype__metarecord__typedef__equal(tmp3_2,36,2) == 0) goto tmp2_end;
tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_2), 2));
tmp5 = mmc_unbox_integer(tmpMeta[1]);
_i_exp_index = tmp5;
_txt = tmp3_1;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT74);
tmpMeta[0] = omc_Tpl_writeStr(threadData, _txt, intString(_i_exp_index));
goto tmp2_done;
}
case 1: {
_txt = tmp3_1;
tmpMeta[0] = _txt;
goto tmp2_done;
}
}
goto tmp2_end;
tmp2_end: ;
}
goto goto_1;
goto_1:;
MMC_THROW_INTERNAL();
goto tmp2_done;
tmp2_done:;
}
}
_out_txt = tmpMeta[0];
_return: OMC_LABEL_UNUSED
return _out_txt;
}
DLLExport
modelica_metatype omc_CodegenCFunctions_daeExpUnbox(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_exp, modelica_metatype _in_a_context, modelica_metatype _in_a_preExp, modelica_metatype _in_a_varDecls, modelica_metatype _in_a_auxFunction, modelica_metatype *out_out_a_preExp, modelica_metatype *out_out_a_varDecls, modelica_metatype *out_out_a_auxFunction)
{
modelica_metatype _out_txt = NULL;
modelica_metatype _out_a_preExp = NULL;
modelica_metatype _out_a_varDecls = NULL;
modelica_metatype _out_a_auxFunction = NULL;
modelica_metatype tmpMeta[6] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_metatype tmp4_2;modelica_metatype tmp4_3;modelica_metatype tmp4_4;modelica_metatype tmp4_5;modelica_metatype tmp4_6;
tmp4_1 = _in_txt;
tmp4_2 = _in_a_exp;
tmp4_3 = _in_a_context;
tmp4_4 = _in_a_preExp;
tmp4_5 = _in_a_varDecls;
tmp4_6 = _in_a_auxFunction;
{
modelica_metatype _txt = NULL;
modelica_metatype _a_context = NULL;
modelica_metatype _a_preExp = NULL;
modelica_metatype _a_varDecls = NULL;
modelica_metatype _a_auxFunction = NULL;
modelica_metatype _i_exp_exp = NULL;
modelica_metatype _i_exp_ty = NULL;
modelica_metatype _l_res = NULL;
modelica_metatype _l_ty = NULL;
volatile mmc_switch_type tmp4;
int tmp5;
tmp4 = 0;
for (; tmp4 < 2; tmp4++) {
switch (MMC_SWITCH_CAST(tmp4)) {
case 0: {
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,35,2) == 0) goto tmp3_end;
tmpMeta[4] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
tmpMeta[5] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 3));
_i_exp_exp = tmpMeta[4];
_i_exp_ty = tmpMeta[5];
_txt = tmp4_1;
_a_context = tmp4_3;
_a_preExp = tmp4_4;
_a_varDecls = tmp4_5;
_a_auxFunction = tmp4_6;
_l_ty = omc_CodegenCFunctions_expTypeShort(threadData, _OMC_LIT20, _i_exp_ty);
_l_res = omc_CodegenCFunctions_daeExp(threadData, _OMC_LIT20, _i_exp_exp, _a_context, _a_preExp, _a_varDecls, _a_auxFunction ,&_a_preExp ,&_a_varDecls ,&_a_auxFunction);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT76);
_txt = omc_Tpl_writeText(threadData, _txt, _l_ty);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT68);
_txt = omc_Tpl_writeText(threadData, _txt, _l_res);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT78);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_preExp;
tmpMeta[0+2] = _a_varDecls;
tmpMeta[0+3] = _a_auxFunction;
goto tmp3_done;
}
case 1: {
_txt = tmp4_1;
_a_preExp = tmp4_4;
_a_varDecls = tmp4_5;
_a_auxFunction = tmp4_6;
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_preExp;
tmpMeta[0+2] = _a_varDecls;
tmpMeta[0+3] = _a_auxFunction;
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta[0+0];
_out_a_preExp = tmpMeta[0+1];
_out_a_varDecls = tmpMeta[0+2];
_out_a_auxFunction = tmpMeta[0+3];
_return: OMC_LABEL_UNUSED
if (out_out_a_preExp) { *out_out_a_preExp = _out_a_preExp; }
if (out_out_a_varDecls) { *out_out_a_varDecls = _out_a_varDecls; }
if (out_out_a_auxFunction) { *out_out_a_auxFunction = _out_a_auxFunction; }
return _out_txt;
}
DLLExport
modelica_metatype omc_CodegenCFunctions_daeExpBox(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_exp, modelica_metatype _in_a_context, modelica_metatype _in_a_preExp, modelica_metatype _in_a_varDecls, modelica_metatype _in_a_auxFunction, modelica_metatype *out_out_a_preExp, modelica_metatype *out_out_a_varDecls, modelica_metatype *out_out_a_auxFunction)
{
modelica_metatype _out_txt = NULL;
modelica_metatype _out_a_preExp = NULL;
modelica_metatype _out_a_varDecls = NULL;
modelica_metatype _out_a_auxFunction = NULL;
modelica_metatype tmpMeta[5] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_metatype tmp4_2;modelica_metatype tmp4_3;modelica_metatype tmp4_4;modelica_metatype tmp4_5;modelica_metatype tmp4_6;
tmp4_1 = _in_txt;
tmp4_2 = _in_a_exp;
tmp4_3 = _in_a_context;
tmp4_4 = _in_a_preExp;
tmp4_5 = _in_a_varDecls;
tmp4_6 = _in_a_auxFunction;
{
modelica_metatype _txt = NULL;
modelica_metatype _a_context = NULL;
modelica_metatype _a_preExp = NULL;
modelica_metatype _a_varDecls = NULL;
modelica_metatype _a_auxFunction = NULL;
modelica_metatype _i_exp = NULL;
modelica_metatype _l_res = NULL;
modelica_boolean _ret_2;
modelica_metatype _ret_1 = NULL;
modelica_metatype _l_ty = NULL;
volatile mmc_switch_type tmp4;
int tmp5;
tmp4 = 0;
for (; tmp4 < 2; tmp4++) {
switch (MMC_SWITCH_CAST(tmp4)) {
case 0: {
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,34,1) == 0) goto tmp3_end;
tmpMeta[4] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
_i_exp = tmpMeta[4];
_txt = tmp4_1;
_a_context = tmp4_3;
_a_preExp = tmp4_4;
_a_varDecls = tmp4_5;
_a_auxFunction = tmp4_6;
_ret_1 = omc_Expression_typeof(threadData, _i_exp);
_ret_2 = omc_Expression_isArrayType(threadData, _ret_1);
_l_ty = omc_CodegenCFunctions_fun__1202(threadData, _OMC_LIT20, _ret_2, _i_exp);
_l_res = omc_CodegenCFunctions_daeExp(threadData, _OMC_LIT20, _i_exp, _a_context, _a_preExp, _a_varDecls, _a_auxFunction ,&_a_preExp ,&_a_varDecls ,&_a_auxFunction);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT80);
_txt = omc_Tpl_writeText(threadData, _txt, _l_ty);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT68);
_txt = omc_Tpl_writeText(threadData, _txt, _l_res);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT78);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_preExp;
tmpMeta[0+2] = _a_varDecls;
tmpMeta[0+3] = _a_auxFunction;
goto tmp3_done;
}
case 1: {
_txt = tmp4_1;
_a_preExp = tmp4_4;
_a_varDecls = tmp4_5;
_a_auxFunction = tmp4_6;
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_preExp;
tmpMeta[0+2] = _a_varDecls;
tmpMeta[0+3] = _a_auxFunction;
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta[0+0];
_out_a_preExp = tmpMeta[0+1];
_out_a_varDecls = tmpMeta[0+2];
_out_a_auxFunction = tmpMeta[0+3];
_return: OMC_LABEL_UNUSED
if (out_out_a_preExp) { *out_out_a_preExp = _out_a_preExp; }
if (out_out_a_varDecls) { *out_out_a_varDecls = _out_a_varDecls; }
if (out_out_a_auxFunction) { *out_out_a_auxFunction = _out_a_auxFunction; }
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__1202(threadData_t *threadData, modelica_metatype _in_txt, modelica_boolean _in_mArg, modelica_metatype _in_a_exp)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta[1] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp3_1;modelica_boolean tmp3_2;modelica_metatype tmp3_3;
tmp3_1 = _in_txt;
tmp3_2 = _in_mArg;
tmp3_3 = _in_a_exp;
{
modelica_metatype _txt = NULL;
modelica_metatype _a_exp = NULL;
volatile mmc_switch_type tmp3;
int tmp4;
tmp3 = 0;
for (; tmp3 < 2; tmp3++) {
switch (MMC_SWITCH_CAST(tmp3)) {
case 0: {
if (0 != tmp3_2) goto tmp2_end;
_txt = tmp3_1;
_a_exp = tmp3_3;
tmpMeta[0] = omc_CodegenCFunctions_expTypeFromExpShort(threadData, _txt, _a_exp);
goto tmp2_done;
}
case 1: {
_txt = tmp3_1;
tmpMeta[0] = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT82);
goto tmp2_done;
}
}
goto tmp2_end;
tmp2_end: ;
}
goto goto_1;
goto_1:;
MMC_THROW_INTERNAL();
goto tmp2_done;
tmp2_done:;
}
}
_out_txt = tmpMeta[0];
_return: OMC_LABEL_UNUSED
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__1202(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_mArg, modelica_metatype _in_a_exp)
{
modelica_integer tmp1;
modelica_metatype _out_txt = NULL;
tmp1 = mmc_unbox_integer(_in_mArg);
_out_txt = omc_CodegenCFunctions_fun__1202(threadData, _in_txt, tmp1, _in_a_exp);
return _out_txt;
}
DLLExport
modelica_metatype omc_CodegenCFunctions_switchIndex(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_pattern, modelica_integer _in_a_extraArg)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta[4] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp3_1;modelica_metatype tmp3_2;modelica_integer tmp3_3;
tmp3_1 = _in_txt;
tmp3_2 = _in_a_pattern;
tmp3_3 = _in_a_extraArg;
{
modelica_metatype _txt = NULL;
modelica_integer _a_extraArg;
modelica_integer _i_e_integer;
modelica_string _i_e_string = NULL;
modelica_integer _i_index;
modelica_integer _ret_2;
modelica_integer _ret_1;
modelica_integer _ret_0;
volatile mmc_switch_type tmp3;
int tmp4;
tmp3 = 0;
for (; tmp3 < 5; tmp3++) {
switch (MMC_SWITCH_CAST(tmp3)) {
case 0: {
modelica_integer tmp5;
if (mmc__uniontype__metarecord__typedef__equal(tmp3_2,7,6) == 0) goto tmp2_end;
tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_2), 3));
tmp5 = mmc_unbox_integer(tmpMeta[1]);
_i_index = tmp5;
_txt = tmp3_1;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT84);
_ret_0 = omc_Patternm_getValueCtor(threadData, _i_index);
tmpMeta[0] = omc_Tpl_writeStr(threadData, _txt, intString(_ret_0));
goto tmp2_done;
}
case 1: {
if (mmc__uniontype__metarecord__typedef__equal(tmp3_2,1,2) == 0) goto tmp2_end;
tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_2), 3));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[1],2,1) == 0) goto tmp2_end;
tmpMeta[2] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[1]), 2));
_i_e_string = tmpMeta[2];
_txt = tmp3_1;
_a_extraArg = tmp3_3;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT84);
_ret_1 = stringHashDjb2Mod(_i_e_string, _a_extraArg);
_txt = omc_Tpl_writeStr(threadData, _txt, intString(_ret_1));
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT86);
_txt = omc_Tpl_writeStr(threadData, _txt, _i_e_string);
tmpMeta[0] = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT22);
goto tmp2_done;
}
case 2: {
if (mmc__uniontype__metarecord__typedef__equal(tmp3_2,1,2) == 0) goto tmp2_end;
tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_2), 3));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[1],36,2) == 0) goto tmp2_end;
tmpMeta[2] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[1]), 3));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[2],2,1) == 0) goto tmp2_end;
tmpMeta[3] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[2]), 2));
_i_e_string = tmpMeta[3];
_txt = tmp3_1;
_a_extraArg = tmp3_3;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT84);
_ret_2 = stringHashDjb2Mod(_i_e_string, _a_extraArg);
_txt = omc_Tpl_writeStr(threadData, _txt, intString(_ret_2));
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT86);
_txt = omc_Tpl_writeStr(threadData, _txt, _i_e_string);
tmpMeta[0] = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT22);
goto tmp2_done;
}
case 3: {
modelica_integer tmp6;
if (mmc__uniontype__metarecord__typedef__equal(tmp3_2,1,2) == 0) goto tmp2_end;
tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_2), 3));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[1],0,1) == 0) goto tmp2_end;
tmpMeta[2] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[1]), 2));
tmp6 = mmc_unbox_integer(tmpMeta[2]);
_i_e_integer = tmp6;
_txt = tmp3_1;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT84);
tmpMeta[0] = omc_Tpl_writeStr(threadData, _txt, intString(_i_e_integer));
goto tmp2_done;
}
case 4: {
_txt = tmp3_1;
tmpMeta[0] = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT88);
goto tmp2_done;
}
}
goto tmp2_end;
tmp2_end: ;
}
goto goto_1;
goto_1:;
MMC_THROW_INTERNAL();
goto tmp2_done;
tmp2_done:;
}
}
_out_txt = tmpMeta[0];
_return: OMC_LABEL_UNUSED
return _out_txt;
}
modelica_metatype boxptr_CodegenCFunctions_switchIndex(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_pattern, modelica_metatype _in_a_extraArg)
{
modelica_integer tmp1;
modelica_metatype _out_txt = NULL;
tmp1 = mmc_unbox_integer(_in_a_extraArg);
_out_txt = omc_CodegenCFunctions_switchIndex(threadData, _in_txt, _in_a_pattern, tmp1);
return _out_txt;
}
DLLExport
modelica_metatype omc_CodegenCFunctions_daeExpMatchCases(threadData_t *threadData, modelica_metatype _txt, modelica_metatype _a_cases, modelica_metatype _a_tupleAssignExps, modelica_metatype _a_ty, modelica_metatype _a_ix, modelica_metatype _a_res, modelica_metatype _a_startIndexOutputs, modelica_metatype _a_prefix, modelica_metatype _a_startIndexInputs, modelica_metatype _a_inputs, modelica_metatype _a_context, modelica_metatype _a_varDecls, modelica_metatype _a_auxFunction, modelica_integer _a_startTmpTickIndex, modelica_metatype *out_out_a_ix, modelica_metatype *out_out_a_res, modelica_metatype *out_out_a_startIndexOutputs, modelica_metatype *out_out_a_prefix, modelica_metatype *out_out_a_startIndexInputs, modelica_metatype *out_out_a_varDecls, modelica_metatype *out_out_a_auxFunction)
{
modelica_metatype _out_txt = NULL;
modelica_metatype _out_a_ix = NULL;
modelica_metatype _out_a_res = NULL;
modelica_metatype _out_a_startIndexOutputs = NULL;
modelica_metatype _out_a_prefix = NULL;
modelica_metatype _out_a_startIndexInputs = NULL;
modelica_metatype _out_a_varDecls = NULL;
modelica_metatype _out_a_auxFunction = NULL;
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
_out_txt = omc_Tpl_pushIter(threadData, _txt, _OMC_LIT90);
_out_txt = omc_CodegenCFunctions_lm__1199(threadData, _out_txt, _a_cases, _a_ix, _a_tupleAssignExps, _a_startIndexOutputs, _a_res, _a_auxFunction, _a_context, _a_startIndexInputs, _a_prefix, _a_cases, _a_ty, _a_startTmpTickIndex ,&_out_a_auxFunction);
_out_txt = omc_Tpl_popIter(threadData, _out_txt);
_out_a_ix = _a_ix;
_out_a_res = _a_res;
_out_a_startIndexOutputs = _a_startIndexOutputs;
_out_a_prefix = _a_prefix;
_out_a_startIndexInputs = _a_startIndexInputs;
_out_a_varDecls = _a_varDecls;
_return: OMC_LABEL_UNUSED
if (out_out_a_ix) { *out_out_a_ix = _out_a_ix; }
if (out_out_a_res) { *out_out_a_res = _out_a_res; }
if (out_out_a_startIndexOutputs) { *out_out_a_startIndexOutputs = _out_a_startIndexOutputs; }
if (out_out_a_prefix) { *out_out_a_prefix = _out_a_prefix; }
if (out_out_a_startIndexInputs) { *out_out_a_startIndexInputs = _out_a_startIndexInputs; }
if (out_out_a_varDecls) { *out_out_a_varDecls = _out_a_varDecls; }
if (out_out_a_auxFunction) { *out_out_a_auxFunction = _out_a_auxFunction; }
return _out_txt;
}
modelica_metatype boxptr_CodegenCFunctions_daeExpMatchCases(threadData_t *threadData, modelica_metatype _txt, modelica_metatype _a_cases, modelica_metatype _a_tupleAssignExps, modelica_metatype _a_ty, modelica_metatype _a_ix, modelica_metatype _a_res, modelica_metatype _a_startIndexOutputs, modelica_metatype _a_prefix, modelica_metatype _a_startIndexInputs, modelica_metatype _a_inputs, modelica_metatype _a_context, modelica_metatype _a_varDecls, modelica_metatype _a_auxFunction, modelica_metatype _a_startTmpTickIndex, modelica_metatype *out_out_a_ix, modelica_metatype *out_out_a_res, modelica_metatype *out_out_a_startIndexOutputs, modelica_metatype *out_out_a_prefix, modelica_metatype *out_out_a_startIndexInputs, modelica_metatype *out_out_a_varDecls, modelica_metatype *out_out_a_auxFunction)
{
modelica_integer tmp1;
modelica_metatype _out_txt = NULL;
tmp1 = mmc_unbox_integer(_a_startTmpTickIndex);
_out_txt = omc_CodegenCFunctions_daeExpMatchCases(threadData, _txt, _a_cases, _a_tupleAssignExps, _a_ty, _a_ix, _a_res, _a_startIndexOutputs, _a_prefix, _a_startIndexInputs, _a_inputs, _a_context, _a_varDecls, _a_auxFunction, tmp1, out_out_a_ix, out_out_a_res, out_out_a_startIndexOutputs, out_out_a_prefix, out_out_a_startIndexInputs, out_out_a_varDecls, out_out_a_auxFunction);
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_lm__1199(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_items, modelica_metatype _in_a_ix, modelica_metatype _in_a_tupleAssignExps, modelica_metatype _in_a_startIndexOutputs, modelica_metatype _in_a_res, modelica_metatype _in_a_auxFunction, modelica_metatype _in_a_context, modelica_metatype _in_a_startIndexInputs, modelica_metatype _in_a_prefix, modelica_metatype _in_a_cases, modelica_metatype _in_a_ty, modelica_integer _in_a_startTmpTickIndex, modelica_metatype *out_out_a_auxFunction)
{
modelica_metatype _out_txt = NULL;
modelica_metatype _out_a_auxFunction = NULL;
modelica_metatype tmpMeta[11] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_metatype tmp4_2;modelica_metatype tmp4_3;modelica_metatype tmp4_4;modelica_metatype tmp4_5;modelica_metatype tmp4_6;modelica_metatype tmp4_7;modelica_metatype tmp4_8;modelica_metatype tmp4_9;modelica_metatype tmp4_10;modelica_metatype tmp4_11;modelica_metatype tmp4_12;modelica_integer tmp4_13;
tmp4_1 = _in_txt;
tmp4_2 = _in_items;
tmp4_3 = _in_a_ix;
tmp4_4 = _in_a_tupleAssignExps;
tmp4_5 = _in_a_startIndexOutputs;
tmp4_6 = _in_a_res;
tmp4_7 = _in_a_auxFunction;
tmp4_8 = _in_a_context;
tmp4_9 = _in_a_startIndexInputs;
tmp4_10 = _in_a_prefix;
tmp4_11 = _in_a_cases;
tmp4_12 = _in_a_ty;
tmp4_13 = _in_a_startTmpTickIndex;
{
modelica_metatype _txt = NULL;
modelica_metatype _rest = NULL;
modelica_metatype _a_ix = NULL;
modelica_metatype _a_tupleAssignExps = NULL;
modelica_metatype _a_startIndexOutputs = NULL;
modelica_metatype _a_res = NULL;
modelica_metatype _a_auxFunction = NULL;
modelica_metatype _a_context = NULL;
modelica_metatype _a_startIndexInputs = NULL;
modelica_metatype _a_prefix = NULL;
modelica_metatype _a_cases = NULL;
modelica_metatype _a_ty = NULL;
modelica_integer _a_startTmpTickIndex;
modelica_integer _x_i0;
modelica_metatype _i_c_resultInfo = NULL;
modelica_integer _i_c_jump;
modelica_metatype _i_c_localDecls = NULL;
modelica_metatype _i_c_result = NULL;
modelica_metatype _i_c_patternGuard = NULL;
modelica_metatype _i_c_body = NULL;
modelica_metatype _i_c_patterns = NULL;
modelica_metatype _ret_15 = NULL;
modelica_string _str_13 = NULL;
modelica_metatype _l_caseRes = NULL;
modelica_metatype _l_guardCheck = NULL;
modelica_metatype _l_preGuardCheck = NULL;
modelica_metatype _l_stmts = NULL;
modelica_metatype _ret_8 = NULL;
modelica_metatype _l_patternMatching = NULL;
modelica_metatype _l_varFrees = NULL;
modelica_metatype _l_preRes = NULL;
modelica_metatype _l_assignments = NULL;
modelica_metatype _l_preExpCaseInner = NULL;
modelica_metatype _l_varDeclsCaseInner = NULL;
modelica_metatype _l_onPatternFail = NULL;
modelica_metatype _l_lastSwitchIndex = NULL;
volatile mmc_switch_type tmp4;
int tmp5;
tmp4 = 0;
for (; tmp4 < 3; tmp4++) {
switch (MMC_SWITCH_CAST(tmp4)) {
case 0: {
if (!listEmpty(tmp4_2)) goto tmp3_end;
_txt = tmp4_1;
_a_auxFunction = tmp4_7;
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_auxFunction;
goto tmp3_done;
}
case 1: {
modelica_integer tmp6;
if (listEmpty(tmp4_2)) goto tmp3_end;
tmpMeta[2] = MMC_CAR(tmp4_2);
tmpMeta[3] = MMC_CDR(tmp4_2);
tmpMeta[4] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[2]), 2));
tmpMeta[5] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[2]), 3));
tmpMeta[6] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[2]), 4));
tmpMeta[7] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[2]), 5));
tmpMeta[8] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[2]), 6));
tmpMeta[9] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[2]), 7));
tmpMeta[10] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[2]), 8));
tmp6 = mmc_unbox_integer(tmpMeta[10]);
_i_c_patterns = tmpMeta[4];
_i_c_patternGuard = tmpMeta[5];
_i_c_localDecls = tmpMeta[6];
_i_c_body = tmpMeta[7];
_i_c_result = tmpMeta[8];
_i_c_resultInfo = tmpMeta[9];
_i_c_jump = tmp6;
_rest = tmpMeta[3];
_txt = tmp4_1;
_a_ix = tmp4_3;
_a_tupleAssignExps = tmp4_4;
_a_startIndexOutputs = tmp4_5;
_a_res = tmp4_6;
_a_auxFunction = tmp4_7;
_a_context = tmp4_8;
_a_startIndexInputs = tmp4_9;
_a_prefix = tmp4_10;
_a_cases = tmp4_11;
_a_ty = tmp4_12;
_a_startTmpTickIndex = tmp4_13;
_x_i0 = omc_Tpl_getIteri__i0(threadData, _txt);
omc_System_tmpTickSetIndex(threadData, _a_startTmpTickIndex, ((modelica_integer) 1));
_l_lastSwitchIndex = omc_CodegenCFunctions_fun__1184(threadData, _OMC_LIT20, _a_ty, _a_prefix, _a_cases);
_l_onPatternFail = omc_CodegenCFunctions_fun__1185(threadData, _OMC_LIT20, _a_ty, _a_prefix, _l_lastSwitchIndex);
_l_varDeclsCaseInner = _OMC_LIT20;
_l_preExpCaseInner = _OMC_LIT20;
_l_assignments = _OMC_LIT20;
_l_preRes = _OMC_LIT20;
_l_varFrees = _OMC_LIT20;
_ret_8 = omc_Patternm_sortPatternsByComplexity(threadData, _i_c_patterns);
_l_patternMatching = omc_Tpl_pushIter(threadData, _OMC_LIT20, _OMC_LIT94);
_l_patternMatching = omc_CodegenCFunctions_lm__1186(threadData, _l_patternMatching, _ret_8, _l_assignments, _l_varDeclsCaseInner, _l_onPatternFail, _a_startIndexInputs ,&_l_assignments ,&_l_varDeclsCaseInner ,&_l_onPatternFail);
_l_patternMatching = omc_Tpl_popIter(threadData, _l_patternMatching);
omc_System_tmpTickSetIndex(threadData, _a_startTmpTickIndex, ((modelica_integer) 1));
_l_stmts = omc_Tpl_pushIter(threadData, _OMC_LIT20, _OMC_LIT96);
_l_stmts = omc_CodegenCFunctions_lm__1187(threadData, _l_stmts, _i_c_body, _a_auxFunction, _l_varDeclsCaseInner, _a_context ,&_a_auxFunction ,&_l_varDeclsCaseInner);
_l_stmts = omc_Tpl_popIter(threadData, _l_stmts);
_l_preGuardCheck = _OMC_LIT20;
_l_guardCheck = omc_CodegenCFunctions_fun__1188(threadData, _OMC_LIT20, _i_c_patternGuard, _l_onPatternFail, _a_auxFunction, _l_varDeclsCaseInner, _l_preGuardCheck, _a_context ,&_a_auxFunction ,&_l_varDeclsCaseInner ,&_l_preGuardCheck);
_str_13 = omc_Tpl_textString(threadData, _a_res);
_l_caseRes = omc_CodegenCFunctions_fun__1193(threadData, _OMC_LIT20, _str_13, _a_tupleAssignExps, _a_auxFunction, _l_varDeclsCaseInner, _l_preRes, _a_context, _a_startIndexOutputs, _a_res, _i_c_result ,&_a_auxFunction ,&_l_varDeclsCaseInner ,&_l_preRes);
_ret_15 = omc_SimCodeFunctionUtil_elementVars(threadData, _i_c_localDecls);
omc_CodegenCFunctions_lm__1194(threadData, _OMC_LIT20, _ret_15, _a_auxFunction, _l_varFrees, _l_preExpCaseInner, _l_varDeclsCaseInner ,&_a_auxFunction ,&_l_varFrees ,&_l_preExpCaseInner ,&_l_varDeclsCaseInner);
_txt = omc_CodegenCFunctions_fun__1196(threadData, _txt, _a_ty, _x_i0, _a_prefix, _i_c_patterns);
_txt = omc_Tpl_softNewLine(threadData, _txt);
_txt = omc_Tpl_pushBlock(threadData, _txt, _OMC_LIT97);
_txt = omc_Tpl_writeText(threadData, _txt, _l_varDeclsCaseInner);
_txt = omc_Tpl_softNewLine(threadData, _txt);
_txt = omc_Tpl_writeText(threadData, _txt, _l_preExpCaseInner);
_txt = omc_Tpl_softNewLine(threadData, _txt);
_txt = omc_Tpl_writeText(threadData, _txt, _l_patternMatching);
_txt = omc_Tpl_softNewLine(threadData, _txt);
_txt = omc_Tpl_writeText(threadData, _txt, _l_assignments);
_txt = omc_Tpl_softNewLine(threadData, _txt);
_txt = omc_Tpl_writeText(threadData, _txt, _l_preGuardCheck);
_txt = omc_Tpl_softNewLine(threadData, _txt);
_txt = omc_CodegenCFunctions_fun__1197(threadData, _txt, _i_c_jump, _a_ix);
_txt = omc_Tpl_softNewLine(threadData, _txt);
_txt = omc_Tpl_writeText(threadData, _txt, _l_guardCheck);
_txt = omc_Tpl_softNewLine(threadData, _txt);
_txt = omc_Tpl_writeText(threadData, _txt, _l_stmts);
_txt = omc_Tpl_softNewLine(threadData, _txt);
_txt = omc_CodegenCFunctions_modelicaLine(threadData, _txt, _i_c_resultInfo);
_txt = omc_Tpl_softNewLine(threadData, _txt);
_txt = omc_CodegenCFunctions_fun__1198(threadData, _txt, _i_c_result, _l_caseRes, _l_preRes);
_txt = omc_Tpl_softNewLine(threadData, _txt);
_txt = omc_CodegenCFunctions_endModelicaLine(threadData, _txt);
_txt = omc_Tpl_softNewLine(threadData, _txt);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT99);
_txt = omc_Tpl_writeText(threadData, _txt, _a_prefix);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT101);
_txt = omc_Tpl_popBlock(threadData, _txt);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT103);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT89);
_txt = omc_Tpl_nextIter(threadData, _txt);
_in_txt = _txt;
_in_items = _rest;
_in_a_ix = _a_ix;
_in_a_tupleAssignExps = _a_tupleAssignExps;
_in_a_startIndexOutputs = _a_startIndexOutputs;
_in_a_res = _a_res;
_in_a_auxFunction = _a_auxFunction;
_in_a_context = _a_context;
_in_a_startIndexInputs = _a_startIndexInputs;
_in_a_prefix = _a_prefix;
_in_a_cases = _a_cases;
_in_a_ty = _a_ty;
_in_a_startTmpTickIndex = _a_startTmpTickIndex;
goto _tailrecursive;
goto tmp3_done;
}
case 2: {
if (listEmpty(tmp4_2)) goto tmp3_end;
tmpMeta[2] = MMC_CAR(tmp4_2);
tmpMeta[3] = MMC_CDR(tmp4_2);
_rest = tmpMeta[3];
_txt = tmp4_1;
_a_ix = tmp4_3;
_a_tupleAssignExps = tmp4_4;
_a_startIndexOutputs = tmp4_5;
_a_res = tmp4_6;
_a_auxFunction = tmp4_7;
_a_context = tmp4_8;
_a_startIndexInputs = tmp4_9;
_a_prefix = tmp4_10;
_a_cases = tmp4_11;
_a_ty = tmp4_12;
_a_startTmpTickIndex = tmp4_13;
_in_txt = _txt;
_in_items = _rest;
_in_a_ix = _a_ix;
_in_a_tupleAssignExps = _a_tupleAssignExps;
_in_a_startIndexOutputs = _a_startIndexOutputs;
_in_a_res = _a_res;
_in_a_auxFunction = _a_auxFunction;
_in_a_context = _a_context;
_in_a_startIndexInputs = _a_startIndexInputs;
_in_a_prefix = _a_prefix;
_in_a_cases = _a_cases;
_in_a_ty = _a_ty;
_in_a_startTmpTickIndex = _a_startTmpTickIndex;
goto _tailrecursive;
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta[0+0];
_out_a_auxFunction = tmpMeta[0+1];
_return: OMC_LABEL_UNUSED
if (out_out_a_auxFunction) { *out_out_a_auxFunction = _out_a_auxFunction; }
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_lm__1199(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_items, modelica_metatype _in_a_ix, modelica_metatype _in_a_tupleAssignExps, modelica_metatype _in_a_startIndexOutputs, modelica_metatype _in_a_res, modelica_metatype _in_a_auxFunction, modelica_metatype _in_a_context, modelica_metatype _in_a_startIndexInputs, modelica_metatype _in_a_prefix, modelica_metatype _in_a_cases, modelica_metatype _in_a_ty, modelica_metatype _in_a_startTmpTickIndex, modelica_metatype *out_out_a_auxFunction)
{
modelica_integer tmp1;
modelica_metatype _out_txt = NULL;
tmp1 = mmc_unbox_integer(_in_a_startTmpTickIndex);
_out_txt = omc_CodegenCFunctions_lm__1199(threadData, _in_txt, _in_items, _in_a_ix, _in_a_tupleAssignExps, _in_a_startIndexOutputs, _in_a_res, _in_a_auxFunction, _in_a_context, _in_a_startIndexInputs, _in_a_prefix, _in_a_cases, _in_a_ty, tmp1, out_out_a_auxFunction);
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__1198(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_c_result, modelica_metatype _in_a_caseRes, modelica_metatype _in_a_preRes)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta[1] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp3_1;modelica_metatype tmp3_2;modelica_metatype tmp3_3;modelica_metatype tmp3_4;
tmp3_1 = _in_txt;
tmp3_2 = _in_a_c_result;
tmp3_3 = _in_a_caseRes;
tmp3_4 = _in_a_preRes;
{
modelica_metatype _txt = NULL;
modelica_metatype _a_caseRes = NULL;
modelica_metatype _a_preRes = NULL;
volatile mmc_switch_type tmp3;
int tmp4;
tmp3 = 0;
for (; tmp3 < 2; tmp3++) {
switch (MMC_SWITCH_CAST(tmp3)) {
case 0: {
if (!optionNone(tmp3_2)) goto tmp2_end;
_txt = tmp3_1;
_txt = omc_CodegenCFunctions_generateThrow(threadData, _txt);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT105);
tmpMeta[0] = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT89);
goto tmp2_done;
}
case 1: {
_txt = tmp3_1;
_a_caseRes = tmp3_3;
_a_preRes = tmp3_4;
_txt = omc_Tpl_writeText(threadData, _txt, _a_preRes);
tmpMeta[0] = omc_Tpl_writeText(threadData, _txt, _a_caseRes);
goto tmp2_done;
}
}
goto tmp2_end;
tmp2_end: ;
}
goto goto_1;
goto_1:;
MMC_THROW_INTERNAL();
goto tmp2_done;
tmp2_done:;
}
}
_out_txt = tmpMeta[0];
_return: OMC_LABEL_UNUSED
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__1197(threadData_t *threadData, modelica_metatype _in_txt, modelica_integer _in_a_c_jump, modelica_metatype _in_a_ix)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta[1] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp3_1;modelica_integer tmp3_2;modelica_metatype tmp3_3;
tmp3_1 = _in_txt;
tmp3_2 = _in_a_c_jump;
tmp3_3 = _in_a_ix;
{
modelica_metatype _txt = NULL;
modelica_metatype _a_ix = NULL;
modelica_integer _i_c_jump;
volatile mmc_switch_type tmp3;
int tmp4;
tmp3 = 0;
for (; tmp3 < 2; tmp3++) {
switch (MMC_SWITCH_CAST(tmp3)) {
case 0: {
if (0 != tmp3_2) goto tmp2_end;
_txt = tmp3_1;
tmpMeta[0] = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT107);
goto tmp2_done;
}
case 1: {
_txt = tmp3_1;
_i_c_jump = tmp3_2;
_a_ix = tmp3_3;
_txt = omc_Tpl_writeText(threadData, _txt, _a_ix);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT109);
_txt = omc_Tpl_writeStr(threadData, _txt, intString(_i_c_jump));
tmpMeta[0] = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT111);
goto tmp2_done;
}
}
goto tmp2_end;
tmp2_end: ;
}
goto goto_1;
goto_1:;
MMC_THROW_INTERNAL();
goto tmp2_done;
tmp2_done:;
}
}
_out_txt = tmpMeta[0];
_return: OMC_LABEL_UNUSED
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__1197(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_c_jump, modelica_metatype _in_a_ix)
{
modelica_integer tmp1;
modelica_metatype _out_txt = NULL;
tmp1 = mmc_unbox_integer(_in_a_c_jump);
_out_txt = omc_CodegenCFunctions_fun__1197(threadData, _in_txt, tmp1, _in_a_ix);
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__1196(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_ty, modelica_integer _in_a_i0, modelica_metatype _in_a_prefix, modelica_metatype _in_a_c_patterns)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta[5] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp3_1;modelica_metatype tmp3_2;modelica_integer tmp3_3;modelica_metatype tmp3_4;modelica_metatype tmp3_5;
tmp3_1 = _in_txt;
tmp3_2 = _in_a_ty;
tmp3_3 = _in_a_i0;
tmp3_4 = _in_a_prefix;
tmp3_5 = _in_a_c_patterns;
{
modelica_metatype _txt = NULL;
modelica_integer _a_i0;
modelica_metatype _a_prefix = NULL;
modelica_metatype _a_c_patterns = NULL;
modelica_integer _i_ea;
modelica_integer _i_n;
modelica_string _str_2 = NULL;
modelica_metatype _ret_1 = NULL;
modelica_metatype _l_name = NULL;
volatile mmc_switch_type tmp3;
int tmp4;
tmp3 = 0;
for (; tmp3 < 2; tmp3++) {
switch (MMC_SWITCH_CAST(tmp3)) {
case 0: {
modelica_integer tmp5;
modelica_integer tmp6;
if (mmc__uniontype__metarecord__typedef__equal(tmp3_2,2,1) == 0) goto tmp2_end;
tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_2), 2));
if (optionNone(tmpMeta[1])) goto tmp2_end;
tmpMeta[2] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[1]), 1));
tmpMeta[3] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[2]), 1));
tmp5 = mmc_unbox_integer(tmpMeta[3]);
tmpMeta[4] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[2]), 3));
tmp6 = mmc_unbox_integer(tmpMeta[4]);
_i_n = tmp5;
_i_ea = tmp6;
_txt = tmp3_1;
_a_prefix = tmp3_4;
_a_c_patterns = tmp3_5;
_ret_1 = listGet(_a_c_patterns, _i_n);
_l_name = omc_CodegenCFunctions_switchIndex(threadData, _OMC_LIT20, _ret_1, _i_ea);
_str_2 = omc_Tpl_textString(threadData, _l_name);
tmpMeta[0] = omc_CodegenCFunctions_fun__1195(threadData, _txt, _str_2, _a_prefix, _l_name);
goto tmp2_done;
}
case 1: {
_txt = tmp3_1;
_a_i0 = tmp3_3;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT84);
_txt = omc_Tpl_writeStr(threadData, _txt, intString(_a_i0));
tmpMeta[0] = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT113);
goto tmp2_done;
}
}
goto tmp2_end;
tmp2_end: ;
}
goto goto_1;
goto_1:;
MMC_THROW_INTERNAL();
goto tmp2_done;
tmp2_done:;
}
}
_out_txt = tmpMeta[0];
_return: OMC_LABEL_UNUSED
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__1196(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_ty, modelica_metatype _in_a_i0, modelica_metatype _in_a_prefix, modelica_metatype _in_a_c_patterns)
{
modelica_integer tmp1;
modelica_metatype _out_txt = NULL;
tmp1 = mmc_unbox_integer(_in_a_i0);
_out_txt = omc_CodegenCFunctions_fun__1196(threadData, _in_txt, _in_a_ty, tmp1, _in_a_prefix, _in_a_c_patterns);
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__1195(threadData_t *threadData, modelica_metatype _in_txt, modelica_string _in_mArg, modelica_metatype _in_a_prefix, modelica_metatype _in_a_name)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta[1] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp3_1;modelica_string tmp3_2;modelica_metatype tmp3_3;modelica_metatype tmp3_4;
tmp3_1 = _in_txt;
tmp3_2 = _in_mArg;
tmp3_3 = _in_a_prefix;
tmp3_4 = _in_a_name;
{
modelica_metatype _txt = NULL;
modelica_metatype _a_prefix = NULL;
modelica_metatype _a_name = NULL;
volatile mmc_switch_type tmp3;
int tmp4;
tmp3 = 0;
for (; tmp3 < 2; tmp3++) {
switch (MMC_SWITCH_CAST(tmp3)) {
case 0: {
if (7 != MMC_STRLEN(tmp3_2) || strcmp(MMC_STRINGDATA(_OMC_LIT87), MMC_STRINGDATA(tmp3_2)) != 0) goto tmp2_end;
_txt = tmp3_1;
_a_prefix = tmp3_3;
_a_name = tmp3_4;
_txt = omc_Tpl_writeText(threadData, _txt, _a_name);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT115);
_txt = omc_Tpl_writeText(threadData, _txt, _a_prefix);
tmpMeta[0] = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT117);
goto tmp2_done;
}
case 1: {
_txt = tmp3_1;
_a_name = tmp3_4;
_txt = omc_Tpl_writeText(threadData, _txt, _a_name);
tmpMeta[0] = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT113);
goto tmp2_done;
}
}
goto tmp2_end;
tmp2_end: ;
}
goto goto_1;
goto_1:;
MMC_THROW_INTERNAL();
goto tmp2_done;
tmp2_done:;
}
}
_out_txt = tmpMeta[0];
_return: OMC_LABEL_UNUSED
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_lm__1194(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_items, modelica_metatype _in_a_auxFunction, modelica_metatype _in_a_varFrees, modelica_metatype _in_a_preExpCaseInner, modelica_metatype _in_a_varDeclsCaseInner, modelica_metatype *out_out_a_auxFunction, modelica_metatype *out_out_a_varFrees, modelica_metatype *out_out_a_preExpCaseInner, modelica_metatype *out_out_a_varDeclsCaseInner)
{
modelica_metatype _out_txt = NULL;
modelica_metatype _out_a_auxFunction = NULL;
modelica_metatype _out_a_varFrees = NULL;
modelica_metatype _out_a_preExpCaseInner = NULL;
modelica_metatype _out_a_varDeclsCaseInner = NULL;
modelica_metatype tmpMeta[7] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_metatype tmp4_2;modelica_metatype tmp4_3;modelica_metatype tmp4_4;modelica_metatype tmp4_5;modelica_metatype tmp4_6;
tmp4_1 = _in_txt;
tmp4_2 = _in_items;
tmp4_3 = _in_a_auxFunction;
tmp4_4 = _in_a_varFrees;
tmp4_5 = _in_a_preExpCaseInner;
tmp4_6 = _in_a_varDeclsCaseInner;
{
modelica_metatype _txt = NULL;
modelica_metatype _rest = NULL;
modelica_metatype _a_auxFunction = NULL;
modelica_metatype _a_varFrees = NULL;
modelica_metatype _a_preExpCaseInner = NULL;
modelica_metatype _a_varDeclsCaseInner = NULL;
modelica_metatype _i_var = NULL;
volatile mmc_switch_type tmp4;
int tmp5;
tmp4 = 0;
for (; tmp4 < 2; tmp4++) {
switch (MMC_SWITCH_CAST(tmp4)) {
case 0: {
if (!listEmpty(tmp4_2)) goto tmp3_end;
_txt = tmp4_1;
_a_auxFunction = tmp4_3;
_a_varFrees = tmp4_4;
_a_preExpCaseInner = tmp4_5;
_a_varDeclsCaseInner = tmp4_6;
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_auxFunction;
tmpMeta[0+2] = _a_varFrees;
tmpMeta[0+3] = _a_preExpCaseInner;
tmpMeta[0+4] = _a_varDeclsCaseInner;
goto tmp3_done;
}
case 1: {
if (listEmpty(tmp4_2)) goto tmp3_end;
tmpMeta[5] = MMC_CAR(tmp4_2);
tmpMeta[6] = MMC_CDR(tmp4_2);
_i_var = tmpMeta[5];
_rest = tmpMeta[6];
_txt = tmp4_1;
_a_auxFunction = tmp4_3;
_a_varFrees = tmp4_4;
_a_preExpCaseInner = tmp4_5;
_a_varDeclsCaseInner = tmp4_6;
_txt = omc_CodegenCFunctions_varInit(threadData, _txt, _i_var, _OMC_LIT91, _a_varDeclsCaseInner, _a_preExpCaseInner, _a_varFrees, _a_auxFunction ,&_a_varDeclsCaseInner ,&_a_preExpCaseInner ,&_a_varFrees ,&_a_auxFunction);
_in_txt = _txt;
_in_items = _rest;
_in_a_auxFunction = _a_auxFunction;
_in_a_varFrees = _a_varFrees;
_in_a_preExpCaseInner = _a_preExpCaseInner;
_in_a_varDeclsCaseInner = _a_varDeclsCaseInner;
goto _tailrecursive;
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta[0+0];
_out_a_auxFunction = tmpMeta[0+1];
_out_a_varFrees = tmpMeta[0+2];
_out_a_preExpCaseInner = tmpMeta[0+3];
_out_a_varDeclsCaseInner = tmpMeta[0+4];
_return: OMC_LABEL_UNUSED
if (out_out_a_auxFunction) { *out_out_a_auxFunction = _out_a_auxFunction; }
if (out_out_a_varFrees) { *out_out_a_varFrees = _out_a_varFrees; }
if (out_out_a_preExpCaseInner) { *out_out_a_preExpCaseInner = _out_a_preExpCaseInner; }
if (out_out_a_varDeclsCaseInner) { *out_out_a_varDeclsCaseInner = _out_a_varDeclsCaseInner; }
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__1193(threadData_t *threadData, modelica_metatype _in_txt, modelica_string _in_mArg, modelica_metatype _in_a_tupleAssignExps, modelica_metatype _in_a_auxFunction, modelica_metatype _in_a_varDeclsCaseInner, modelica_metatype _in_a_preRes, modelica_metatype _in_a_context, modelica_metatype _in_a_startIndexOutputs, modelica_metatype _in_a_res, modelica_metatype _in_a_c_result, modelica_metatype *out_out_a_auxFunction, modelica_metatype *out_out_a_varDeclsCaseInner, modelica_metatype *out_out_a_preRes)
{
modelica_metatype _out_txt = NULL;
modelica_metatype _out_a_auxFunction = NULL;
modelica_metatype _out_a_varDeclsCaseInner = NULL;
modelica_metatype _out_a_preRes = NULL;
modelica_metatype tmpMeta[4] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_string tmp4_2;modelica_metatype tmp4_3;modelica_metatype tmp4_4;modelica_metatype tmp4_5;modelica_metatype tmp4_6;modelica_metatype tmp4_7;modelica_metatype tmp4_8;modelica_metatype tmp4_9;modelica_metatype tmp4_10;
tmp4_1 = _in_txt;
tmp4_2 = _in_mArg;
tmp4_3 = _in_a_tupleAssignExps;
tmp4_4 = _in_a_auxFunction;
tmp4_5 = _in_a_varDeclsCaseInner;
tmp4_6 = _in_a_preRes;
tmp4_7 = _in_a_context;
tmp4_8 = _in_a_startIndexOutputs;
tmp4_9 = _in_a_res;
tmp4_10 = _in_a_c_result;
{
modelica_metatype _txt = NULL;
modelica_metatype _a_tupleAssignExps = NULL;
modelica_metatype _a_auxFunction = NULL;
modelica_metatype _a_varDeclsCaseInner = NULL;
modelica_metatype _a_preRes = NULL;
modelica_metatype _a_context = NULL;
modelica_metatype _a_startIndexOutputs = NULL;
modelica_metatype _a_res = NULL;
modelica_metatype _a_c_result = NULL;
volatile mmc_switch_type tmp4;
int tmp5;
tmp4 = 0;
for (; tmp4 < 2; tmp4++) {
switch (MMC_SWITCH_CAST(tmp4)) {
case 0: {
if (0 != MMC_STRLEN(tmp4_2) || strcmp(MMC_STRINGDATA(_OMC_LIT91), MMC_STRINGDATA(tmp4_2)) != 0) goto tmp3_end;
_txt = tmp4_1;
_a_auxFunction = tmp4_4;
_a_varDeclsCaseInner = tmp4_5;
_a_preRes = tmp4_6;
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_auxFunction;
tmpMeta[0+2] = _a_varDeclsCaseInner;
tmpMeta[0+3] = _a_preRes;
goto tmp3_done;
}
case 1: {
_txt = tmp4_1;
_a_tupleAssignExps = tmp4_3;
_a_auxFunction = tmp4_4;
_a_varDeclsCaseInner = tmp4_5;
_a_preRes = tmp4_6;
_a_context = tmp4_7;
_a_startIndexOutputs = tmp4_8;
_a_res = tmp4_9;
_a_c_result = tmp4_10;
tmpMeta[0+0] = omc_CodegenCFunctions_fun__1192(threadData, _txt, _a_c_result, _a_tupleAssignExps, _a_auxFunction, _a_varDeclsCaseInner, _a_preRes, _a_context, _a_startIndexOutputs, _a_res, &tmpMeta[0+1], &tmpMeta[0+2], &tmpMeta[0+3]);
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta[0+0];
_out_a_auxFunction = tmpMeta[0+1];
_out_a_varDeclsCaseInner = tmpMeta[0+2];
_out_a_preRes = tmpMeta[0+3];
_return: OMC_LABEL_UNUSED
if (out_out_a_auxFunction) { *out_out_a_auxFunction = _out_a_auxFunction; }
if (out_out_a_varDeclsCaseInner) { *out_out_a_varDeclsCaseInner = _out_a_varDeclsCaseInner; }
if (out_out_a_preRes) { *out_out_a_preRes = _out_a_preRes; }
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__1192(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_c_result, modelica_metatype _in_a_tupleAssignExps, modelica_metatype _in_a_auxFunction, modelica_metatype _in_a_varDeclsCaseInner, modelica_metatype _in_a_preRes, modelica_metatype _in_a_context, modelica_metatype _in_a_startIndexOutputs, modelica_metatype _in_a_res, modelica_metatype *out_out_a_auxFunction, modelica_metatype *out_out_a_varDeclsCaseInner, modelica_metatype *out_out_a_preRes)
{
modelica_metatype _out_txt = NULL;
modelica_metatype _out_a_auxFunction = NULL;
modelica_metatype _out_a_varDeclsCaseInner = NULL;
modelica_metatype _out_a_preRes = NULL;
modelica_metatype tmpMeta[7] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_metatype tmp4_2;modelica_metatype tmp4_3;modelica_metatype tmp4_4;modelica_metatype tmp4_5;modelica_metatype tmp4_6;modelica_metatype tmp4_7;modelica_metatype tmp4_8;modelica_metatype tmp4_9;
tmp4_1 = _in_txt;
tmp4_2 = _in_a_c_result;
tmp4_3 = _in_a_tupleAssignExps;
tmp4_4 = _in_a_auxFunction;
tmp4_5 = _in_a_varDeclsCaseInner;
tmp4_6 = _in_a_preRes;
tmp4_7 = _in_a_context;
tmp4_8 = _in_a_startIndexOutputs;
tmp4_9 = _in_a_res;
{
modelica_metatype _txt = NULL;
modelica_metatype _a_tupleAssignExps = NULL;
modelica_metatype _a_auxFunction = NULL;
modelica_metatype _a_varDeclsCaseInner = NULL;
modelica_metatype _a_preRes = NULL;
modelica_metatype _a_context = NULL;
modelica_metatype _a_startIndexOutputs = NULL;
modelica_metatype _a_res = NULL;
modelica_metatype _i_e = NULL;
modelica_metatype _i_exp = NULL;
modelica_metatype _i_exps = NULL;
modelica_metatype _l_callRet = NULL;
modelica_metatype _l_retStruct = NULL;
modelica_metatype _ret_1 = NULL;
modelica_metatype _l_additionalOutputs = NULL;
volatile mmc_switch_type tmp4;
int tmp5;
tmp4 = 0;
for (; tmp4 < 5; tmp4++) {
switch (MMC_SWITCH_CAST(tmp4)) {
case 0: {
if (optionNone(tmp4_2)) goto tmp3_end;
tmpMeta[4] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 1));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[4],19,1) == 0) goto tmp3_end;
tmpMeta[5] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[4]), 2));
_i_exps = tmpMeta[5];
_txt = tmp4_1;
_a_auxFunction = tmp4_4;
_a_varDeclsCaseInner = tmp4_5;
_a_preRes = tmp4_6;
_a_context = tmp4_7;
_a_startIndexOutputs = tmp4_8;
_a_res = tmp4_9;
_txt = omc_Tpl_pushIter(threadData, _txt, _OMC_LIT118);
_txt = omc_CodegenCFunctions_lm__1189(threadData, _txt, _i_exps, _a_auxFunction, _a_varDeclsCaseInner, _a_preRes, _a_context, _a_startIndexOutputs, _a_res, _i_exps ,&_a_auxFunction ,&_a_varDeclsCaseInner ,&_a_preRes);
_txt = omc_Tpl_popIter(threadData, _txt);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_auxFunction;
tmpMeta[0+2] = _a_varDeclsCaseInner;
tmpMeta[0+3] = _a_preRes;
goto tmp3_done;
}
case 1: {
if (optionNone(tmp4_2)) goto tmp3_end;
tmpMeta[4] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 1));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[4],13,3) == 0) goto tmp3_end;
tmpMeta[5] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[4]), 4));
tmpMeta[6] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[5]), 8));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[6],1,2) == 0) goto tmp3_end;
_i_exp = tmpMeta[4];
_txt = tmp4_1;
_a_auxFunction = tmp4_4;
_a_varDeclsCaseInner = tmp4_5;
_a_preRes = tmp4_6;
_a_context = tmp4_7;
_txt = omc_CodegenCFunctions_daeExp(threadData, _txt, _i_exp, _a_context, _a_preRes, _a_varDeclsCaseInner, _a_auxFunction ,&_a_preRes ,&_a_varDeclsCaseInner ,&_a_auxFunction);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_auxFunction;
tmpMeta[0+2] = _a_varDeclsCaseInner;
tmpMeta[0+3] = _a_preRes;
goto tmp3_done;
}
case 2: {
modelica_integer tmp6;
if (optionNone(tmp4_2)) goto tmp3_end;
tmpMeta[4] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 1));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[4],13,3) == 0) goto tmp3_end;
tmpMeta[5] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[4]), 4));
tmpMeta[6] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[5]), 3));
tmp6 = mmc_unbox_integer(tmpMeta[6]);
if (1 != tmp6) goto tmp3_end;
_i_exp = tmpMeta[4];
_txt = tmp4_1;
_a_tupleAssignExps = tmp4_3;
_a_auxFunction = tmp4_4;
_a_varDeclsCaseInner = tmp4_5;
_a_preRes = tmp4_6;
_a_context = tmp4_7;
_a_startIndexOutputs = tmp4_8;
_a_res = tmp4_9;
_ret_1 = omc_List_restOrEmpty(threadData, _a_tupleAssignExps);
_l_additionalOutputs = omc_Tpl_pushIter(threadData, _OMC_LIT20, _OMC_LIT119);
_l_additionalOutputs = omc_CodegenCFunctions_lm__1190(threadData, _l_additionalOutputs, _ret_1, _a_startIndexOutputs, _a_res, _a_tupleAssignExps);
_l_additionalOutputs = omc_Tpl_popIter(threadData, _l_additionalOutputs);
_l_retStruct = omc_CodegenCFunctions_daeExpCallTuple(threadData, _OMC_LIT20, _i_exp, _l_additionalOutputs, _a_context, _a_preRes, _a_varDeclsCaseInner, _a_auxFunction ,&_l_additionalOutputs ,&_a_preRes ,&_a_varDeclsCaseInner ,&_a_auxFunction);
_l_callRet = omc_CodegenCFunctions_fun__1191(threadData, _OMC_LIT20, _a_tupleAssignExps, _a_startIndexOutputs, _a_res, _l_retStruct);
_txt = omc_Tpl_writeText(threadData, _txt, _l_callRet);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_auxFunction;
tmpMeta[0+2] = _a_varDeclsCaseInner;
tmpMeta[0+3] = _a_preRes;
goto tmp3_done;
}
case 3: {
if (optionNone(tmp4_2)) goto tmp3_end;
tmpMeta[4] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 1));
_i_e = tmpMeta[4];
_txt = tmp4_1;
_a_auxFunction = tmp4_4;
_a_varDeclsCaseInner = tmp4_5;
_a_preRes = tmp4_6;
_a_context = tmp4_7;
_a_res = tmp4_9;
_txt = omc_Tpl_writeText(threadData, _txt, _a_res);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT121);
_txt = omc_CodegenCFunctions_daeExp(threadData, _txt, _i_e, _a_context, _a_preRes, _a_varDeclsCaseInner, _a_auxFunction ,&_a_preRes ,&_a_varDeclsCaseInner ,&_a_auxFunction);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT105);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT89);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_auxFunction;
tmpMeta[0+2] = _a_varDeclsCaseInner;
tmpMeta[0+3] = _a_preRes;
goto tmp3_done;
}
case 4: {
_txt = tmp4_1;
_a_auxFunction = tmp4_4;
_a_varDeclsCaseInner = tmp4_5;
_a_preRes = tmp4_6;
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_auxFunction;
tmpMeta[0+2] = _a_varDeclsCaseInner;
tmpMeta[0+3] = _a_preRes;
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta[0+0];
_out_a_auxFunction = tmpMeta[0+1];
_out_a_varDeclsCaseInner = tmpMeta[0+2];
_out_a_preRes = tmpMeta[0+3];
_return: OMC_LABEL_UNUSED
if (out_out_a_auxFunction) { *out_out_a_auxFunction = _out_a_auxFunction; }
if (out_out_a_varDeclsCaseInner) { *out_out_a_varDeclsCaseInner = _out_a_varDeclsCaseInner; }
if (out_out_a_preRes) { *out_out_a_preRes = _out_a_preRes; }
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__1191(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_tupleAssignExps, modelica_metatype _in_a_startIndexOutputs, modelica_metatype _in_a_res, modelica_metatype _in_a_retStruct)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta[3] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp3_1;modelica_metatype tmp3_2;modelica_metatype tmp3_3;modelica_metatype tmp3_4;modelica_metatype tmp3_5;
tmp3_1 = _in_txt;
tmp3_2 = _in_a_tupleAssignExps;
tmp3_3 = _in_a_startIndexOutputs;
tmp3_4 = _in_a_res;
tmp3_5 = _in_a_retStruct;
{
modelica_metatype _txt = NULL;
modelica_metatype _a_startIndexOutputs = NULL;
modelica_metatype _a_res = NULL;
modelica_metatype _a_retStruct = NULL;
modelica_metatype _i_tupleAssignExps = NULL;
volatile mmc_switch_type tmp3;
int tmp4;
tmp3 = 0;
for (; tmp3 < 3; tmp3++) {
switch (MMC_SWITCH_CAST(tmp3)) {
case 0: {
if (!listEmpty(tmp3_2)) goto tmp2_end;
_txt = tmp3_1;
_a_retStruct = tmp3_5;
_txt = omc_Tpl_writeText(threadData, _txt, _a_retStruct);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT105);
tmpMeta[0] = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT89);
goto tmp2_done;
}
case 1: {
if (listEmpty(tmp3_2)) goto tmp2_end;
tmpMeta[1] = MMC_CAR(tmp3_2);
tmpMeta[2] = MMC_CDR(tmp3_2);
_i_tupleAssignExps = tmp3_2;
_txt = tmp3_1;
_a_startIndexOutputs = tmp3_3;
_a_res = tmp3_4;
_a_retStruct = tmp3_5;
_txt = omc_CodegenCFunctions_getTempDeclMatchOutputName(threadData, _txt, _i_tupleAssignExps, omc_Tpl_textString(threadData, _a_res), omc_Tpl_textString(threadData, _a_startIndexOutputs), ((modelica_integer) 1));
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT121);
_txt = omc_Tpl_writeText(threadData, _txt, _a_retStruct);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT105);
tmpMeta[0] = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT89);
goto tmp2_done;
}
case 2: {
_txt = tmp3_1;
tmpMeta[0] = _txt;
goto tmp2_done;
}
}
goto tmp2_end;
tmp2_end: ;
}
goto goto_1;
goto_1:;
MMC_THROW_INTERNAL();
goto tmp2_done;
tmp2_done:;
}
}
_out_txt = tmpMeta[0];
_return: OMC_LABEL_UNUSED
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_lm__1190(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_items, modelica_metatype _in_a_startIndexOutputs, modelica_metatype _in_a_res, modelica_metatype _in_a_tupleAssignExps)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta[3] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp3_1;modelica_metatype tmp3_2;modelica_metatype tmp3_3;modelica_metatype tmp3_4;modelica_metatype tmp3_5;
tmp3_1 = _in_txt;
tmp3_2 = _in_items;
tmp3_3 = _in_a_startIndexOutputs;
tmp3_4 = _in_a_res;
tmp3_5 = _in_a_tupleAssignExps;
{
modelica_metatype _txt = NULL;
modelica_metatype _rest = NULL;
modelica_metatype _a_startIndexOutputs = NULL;
modelica_metatype _a_res = NULL;
modelica_metatype _a_tupleAssignExps = NULL;
modelica_integer _x_i0;
volatile mmc_switch_type tmp3;
int tmp4;
tmp3 = 0;
for (; tmp3 < 2; tmp3++) {
switch (MMC_SWITCH_CAST(tmp3)) {
case 0: {
if (!listEmpty(tmp3_2)) goto tmp2_end;
_txt = tmp3_1;
tmpMeta[0] = _txt;
goto tmp2_done;
}
case 1: {
if (listEmpty(tmp3_2)) goto tmp2_end;
tmpMeta[1] = MMC_CAR(tmp3_2);
tmpMeta[2] = MMC_CDR(tmp3_2);
_rest = tmpMeta[2];
_txt = tmp3_1;
_a_startIndexOutputs = tmp3_3;
_a_res = tmp3_4;
_a_tupleAssignExps = tmp3_5;
_x_i0 = omc_Tpl_getIteri__i0(threadData, _txt);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT123);
_txt = omc_CodegenCFunctions_getTempDeclMatchOutputName(threadData, _txt, _a_tupleAssignExps, omc_Tpl_textString(threadData, _a_res), omc_Tpl_textString(threadData, _a_startIndexOutputs), _x_i0);
_txt = omc_Tpl_nextIter(threadData, _txt);
_in_txt = _txt;
_in_items = _rest;
_in_a_startIndexOutputs = _a_startIndexOutputs;
_in_a_res = _a_res;
_in_a_tupleAssignExps = _a_tupleAssignExps;
goto _tailrecursive;
goto tmp2_done;
}
}
goto tmp2_end;
tmp2_end: ;
}
goto goto_1;
goto_1:;
MMC_THROW_INTERNAL();
goto tmp2_done;
tmp2_done:;
}
}
_out_txt = tmpMeta[0];
_return: OMC_LABEL_UNUSED
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_lm__1189(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_items, modelica_metatype _in_a_auxFunction, modelica_metatype _in_a_varDeclsCaseInner, modelica_metatype _in_a_preRes, modelica_metatype _in_a_context, modelica_metatype _in_a_startIndexOutputs, modelica_metatype _in_a_res, modelica_metatype _in_a_exps, modelica_metatype *out_out_a_auxFunction, modelica_metatype *out_out_a_varDeclsCaseInner, modelica_metatype *out_out_a_preRes)
{
modelica_metatype _out_txt = NULL;
modelica_metatype _out_a_auxFunction = NULL;
modelica_metatype _out_a_varDeclsCaseInner = NULL;
modelica_metatype _out_a_preRes = NULL;
modelica_metatype tmpMeta[6] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_metatype tmp4_2;modelica_metatype tmp4_3;modelica_metatype tmp4_4;modelica_metatype tmp4_5;modelica_metatype tmp4_6;modelica_metatype tmp4_7;modelica_metatype tmp4_8;modelica_metatype tmp4_9;
tmp4_1 = _in_txt;
tmp4_2 = _in_items;
tmp4_3 = _in_a_auxFunction;
tmp4_4 = _in_a_varDeclsCaseInner;
tmp4_5 = _in_a_preRes;
tmp4_6 = _in_a_context;
tmp4_7 = _in_a_startIndexOutputs;
tmp4_8 = _in_a_res;
tmp4_9 = _in_a_exps;
{
modelica_metatype _txt = NULL;
modelica_metatype _rest = NULL;
modelica_metatype _a_auxFunction = NULL;
modelica_metatype _a_varDeclsCaseInner = NULL;
modelica_metatype _a_preRes = NULL;
modelica_metatype _a_context = NULL;
modelica_metatype _a_startIndexOutputs = NULL;
modelica_metatype _a_res = NULL;
modelica_metatype _a_exps = NULL;
modelica_integer _x_i1;
modelica_metatype _i_e = NULL;
volatile mmc_switch_type tmp4;
int tmp5;
tmp4 = 0;
for (; tmp4 < 2; tmp4++) {
switch (MMC_SWITCH_CAST(tmp4)) {
case 0: {
if (!listEmpty(tmp4_2)) goto tmp3_end;
_txt = tmp4_1;
_a_auxFunction = tmp4_3;
_a_varDeclsCaseInner = tmp4_4;
_a_preRes = tmp4_5;
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_auxFunction;
tmpMeta[0+2] = _a_varDeclsCaseInner;
tmpMeta[0+3] = _a_preRes;
goto tmp3_done;
}
case 1: {
if (listEmpty(tmp4_2)) goto tmp3_end;
tmpMeta[4] = MMC_CAR(tmp4_2);
tmpMeta[5] = MMC_CDR(tmp4_2);
_i_e = tmpMeta[4];
_rest = tmpMeta[5];
_txt = tmp4_1;
_a_auxFunction = tmp4_3;
_a_varDeclsCaseInner = tmp4_4;
_a_preRes = tmp4_5;
_a_context = tmp4_6;
_a_startIndexOutputs = tmp4_7;
_a_res = tmp4_8;
_a_exps = tmp4_9;
_x_i1 = omc_Tpl_getIteri__i0(threadData, _txt);
_txt = omc_CodegenCFunctions_getTempDeclMatchOutputName(threadData, _txt, _a_exps, omc_Tpl_textString(threadData, _a_res), omc_Tpl_textString(threadData, _a_startIndexOutputs), _x_i1);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT121);
_txt = omc_CodegenCFunctions_daeExp(threadData, _txt, _i_e, _a_context, _a_preRes, _a_varDeclsCaseInner, _a_auxFunction ,&_a_preRes ,&_a_varDeclsCaseInner ,&_a_auxFunction);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT105);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT89);
_txt = omc_Tpl_nextIter(threadData, _txt);
_in_txt = _txt;
_in_items = _rest;
_in_a_auxFunction = _a_auxFunction;
_in_a_varDeclsCaseInner = _a_varDeclsCaseInner;
_in_a_preRes = _a_preRes;
_in_a_context = _a_context;
_in_a_startIndexOutputs = _a_startIndexOutputs;
_in_a_res = _a_res;
_in_a_exps = _a_exps;
goto _tailrecursive;
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta[0+0];
_out_a_auxFunction = tmpMeta[0+1];
_out_a_varDeclsCaseInner = tmpMeta[0+2];
_out_a_preRes = tmpMeta[0+3];
_return: OMC_LABEL_UNUSED
if (out_out_a_auxFunction) { *out_out_a_auxFunction = _out_a_auxFunction; }
if (out_out_a_varDeclsCaseInner) { *out_out_a_varDeclsCaseInner = _out_a_varDeclsCaseInner; }
if (out_out_a_preRes) { *out_out_a_preRes = _out_a_preRes; }
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__1188(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_c_patternGuard, modelica_metatype _in_a_onPatternFail, modelica_metatype _in_a_auxFunction, modelica_metatype _in_a_varDeclsCaseInner, modelica_metatype _in_a_preGuardCheck, modelica_metatype _in_a_context, modelica_metatype *out_out_a_auxFunction, modelica_metatype *out_out_a_varDeclsCaseInner, modelica_metatype *out_out_a_preGuardCheck)
{
modelica_metatype _out_txt = NULL;
modelica_metatype _out_a_auxFunction = NULL;
modelica_metatype _out_a_varDeclsCaseInner = NULL;
modelica_metatype _out_a_preGuardCheck = NULL;
modelica_metatype tmpMeta[5] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_metatype tmp4_2;modelica_metatype tmp4_3;modelica_metatype tmp4_4;modelica_metatype tmp4_5;modelica_metatype tmp4_6;modelica_metatype tmp4_7;
tmp4_1 = _in_txt;
tmp4_2 = _in_a_c_patternGuard;
tmp4_3 = _in_a_onPatternFail;
tmp4_4 = _in_a_auxFunction;
tmp4_5 = _in_a_varDeclsCaseInner;
tmp4_6 = _in_a_preGuardCheck;
tmp4_7 = _in_a_context;
{
modelica_metatype _txt = NULL;
modelica_metatype _a_onPatternFail = NULL;
modelica_metatype _a_auxFunction = NULL;
modelica_metatype _a_varDeclsCaseInner = NULL;
modelica_metatype _a_preGuardCheck = NULL;
modelica_metatype _a_context = NULL;
modelica_metatype _i_exp = NULL;
volatile mmc_switch_type tmp4;
int tmp5;
tmp4 = 0;
for (; tmp4 < 2; tmp4++) {
switch (MMC_SWITCH_CAST(tmp4)) {
case 0: {
if (optionNone(tmp4_2)) goto tmp3_end;
tmpMeta[4] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 1));
_i_exp = tmpMeta[4];
_txt = tmp4_1;
_a_onPatternFail = tmp4_3;
_a_auxFunction = tmp4_4;
_a_varDeclsCaseInner = tmp4_5;
_a_preGuardCheck = tmp4_6;
_a_context = tmp4_7;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT128);
_txt = omc_CodegenCFunctions_daeExp(threadData, _txt, _i_exp, _a_context, _a_preGuardCheck, _a_varDeclsCaseInner, _a_auxFunction ,&_a_preGuardCheck ,&_a_varDeclsCaseInner ,&_a_auxFunction);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT130);
_txt = omc_Tpl_writeText(threadData, _txt, _a_onPatternFail);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT105);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT89);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_auxFunction;
tmpMeta[0+2] = _a_varDeclsCaseInner;
tmpMeta[0+3] = _a_preGuardCheck;
goto tmp3_done;
}
case 1: {
_txt = tmp4_1;
_a_auxFunction = tmp4_4;
_a_varDeclsCaseInner = tmp4_5;
_a_preGuardCheck = tmp4_6;
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_auxFunction;
tmpMeta[0+2] = _a_varDeclsCaseInner;
tmpMeta[0+3] = _a_preGuardCheck;
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta[0+0];
_out_a_auxFunction = tmpMeta[0+1];
_out_a_varDeclsCaseInner = tmpMeta[0+2];
_out_a_preGuardCheck = tmpMeta[0+3];
_return: OMC_LABEL_UNUSED
if (out_out_a_auxFunction) { *out_out_a_auxFunction = _out_a_auxFunction; }
if (out_out_a_varDeclsCaseInner) { *out_out_a_varDeclsCaseInner = _out_a_varDeclsCaseInner; }
if (out_out_a_preGuardCheck) { *out_out_a_preGuardCheck = _out_a_preGuardCheck; }
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_lm__1187(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_items, modelica_metatype _in_a_auxFunction, modelica_metatype _in_a_varDeclsCaseInner, modelica_metatype _in_a_context, modelica_metatype *out_out_a_auxFunction, modelica_metatype *out_out_a_varDeclsCaseInner)
{
modelica_metatype _out_txt = NULL;
modelica_metatype _out_a_auxFunction = NULL;
modelica_metatype _out_a_varDeclsCaseInner = NULL;
modelica_metatype tmpMeta[5] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_metatype tmp4_2;modelica_metatype tmp4_3;modelica_metatype tmp4_4;modelica_metatype tmp4_5;
tmp4_1 = _in_txt;
tmp4_2 = _in_items;
tmp4_3 = _in_a_auxFunction;
tmp4_4 = _in_a_varDeclsCaseInner;
tmp4_5 = _in_a_context;
{
modelica_metatype _txt = NULL;
modelica_metatype _rest = NULL;
modelica_metatype _a_auxFunction = NULL;
modelica_metatype _a_varDeclsCaseInner = NULL;
modelica_metatype _a_context = NULL;
modelica_metatype _i_stmt = NULL;
volatile mmc_switch_type tmp4;
int tmp5;
tmp4 = 0;
for (; tmp4 < 2; tmp4++) {
switch (MMC_SWITCH_CAST(tmp4)) {
case 0: {
if (!listEmpty(tmp4_2)) goto tmp3_end;
_txt = tmp4_1;
_a_auxFunction = tmp4_3;
_a_varDeclsCaseInner = tmp4_4;
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_auxFunction;
tmpMeta[0+2] = _a_varDeclsCaseInner;
goto tmp3_done;
}
case 1: {
if (listEmpty(tmp4_2)) goto tmp3_end;
tmpMeta[3] = MMC_CAR(tmp4_2);
tmpMeta[4] = MMC_CDR(tmp4_2);
_i_stmt = tmpMeta[3];
_rest = tmpMeta[4];
_txt = tmp4_1;
_a_auxFunction = tmp4_3;
_a_varDeclsCaseInner = tmp4_4;
_a_context = tmp4_5;
_txt = omc_CodegenCFunctions_algStatement(threadData, _txt, _i_stmt, _a_context, _a_varDeclsCaseInner, _a_auxFunction ,&_a_varDeclsCaseInner ,&_a_auxFunction);
_txt = omc_Tpl_nextIter(threadData, _txt);
_in_txt = _txt;
_in_items = _rest;
_in_a_auxFunction = _a_auxFunction;
_in_a_varDeclsCaseInner = _a_varDeclsCaseInner;
_in_a_context = _a_context;
goto _tailrecursive;
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta[0+0];
_out_a_auxFunction = tmpMeta[0+1];
_out_a_varDeclsCaseInner = tmpMeta[0+2];
_return: OMC_LABEL_UNUSED
if (out_out_a_auxFunction) { *out_out_a_auxFunction = _out_a_auxFunction; }
if (out_out_a_varDeclsCaseInner) { *out_out_a_varDeclsCaseInner = _out_a_varDeclsCaseInner; }
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_lm__1186(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_items, modelica_metatype _in_a_assignments, modelica_metatype _in_a_varDeclsCaseInner, modelica_metatype _in_a_onPatternFail, modelica_metatype _in_a_startIndexInputs, modelica_metatype *out_out_a_assignments, modelica_metatype *out_out_a_varDeclsCaseInner, modelica_metatype *out_out_a_onPatternFail)
{
modelica_metatype _out_txt = NULL;
modelica_metatype _out_a_assignments = NULL;
modelica_metatype _out_a_varDeclsCaseInner = NULL;
modelica_metatype _out_a_onPatternFail = NULL;
modelica_metatype tmpMeta[8] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_metatype tmp4_2;modelica_metatype tmp4_3;modelica_metatype tmp4_4;modelica_metatype tmp4_5;modelica_metatype tmp4_6;
tmp4_1 = _in_txt;
tmp4_2 = _in_items;
tmp4_3 = _in_a_assignments;
tmp4_4 = _in_a_varDeclsCaseInner;
tmp4_5 = _in_a_onPatternFail;
tmp4_6 = _in_a_startIndexInputs;
{
modelica_metatype _txt = NULL;
modelica_metatype _rest = NULL;
modelica_metatype _a_assignments = NULL;
modelica_metatype _a_varDeclsCaseInner = NULL;
modelica_metatype _a_onPatternFail = NULL;
modelica_metatype _a_startIndexInputs = NULL;
modelica_integer _i_i0;
modelica_metatype _i_lhs = NULL;
modelica_metatype _txt_0 = NULL;
volatile mmc_switch_type tmp4;
int tmp5;
tmp4 = 0;
for (; tmp4 < 2; tmp4++) {
switch (MMC_SWITCH_CAST(tmp4)) {
case 0: {
if (!listEmpty(tmp4_2)) goto tmp3_end;
_txt = tmp4_1;
_a_assignments = tmp4_3;
_a_varDeclsCaseInner = tmp4_4;
_a_onPatternFail = tmp4_5;
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_assignments;
tmpMeta[0+2] = _a_varDeclsCaseInner;
tmpMeta[0+3] = _a_onPatternFail;
goto tmp3_done;
}
case 1: {
modelica_integer tmp6;
if (listEmpty(tmp4_2)) goto tmp3_end;
tmpMeta[4] = MMC_CAR(tmp4_2);
tmpMeta[5] = MMC_CDR(tmp4_2);
tmpMeta[6] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[4]), 1));
tmpMeta[7] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[4]), 2));
tmp6 = mmc_unbox_integer(tmpMeta[7]);
_i_lhs = tmpMeta[6];
_i_i0 = tmp6;
_rest = tmpMeta[5];
_txt = tmp4_1;
_a_assignments = tmp4_3;
_a_varDeclsCaseInner = tmp4_4;
_a_onPatternFail = tmp4_5;
_a_startIndexInputs = tmp4_6;
_txt_0 = omc_CodegenCFunctions_getTempDeclMatchInputName(threadData, _OMC_LIT20, omc_Tpl_textString(threadData, _a_startIndexInputs), _i_i0);
_txt = omc_CodegenCFunctions_patternMatch(threadData, _txt, _i_lhs, _txt_0, _a_onPatternFail, _a_varDeclsCaseInner, _a_assignments ,&_txt_0 ,&_a_onPatternFail ,&_a_varDeclsCaseInner ,&_a_assignments);
_txt = omc_Tpl_nextIter(threadData, _txt);
_in_txt = _txt;
_in_items = _rest;
_in_a_assignments = _a_assignments;
_in_a_varDeclsCaseInner = _a_varDeclsCaseInner;
_in_a_onPatternFail = _a_onPatternFail;
_in_a_startIndexInputs = _a_startIndexInputs;
goto _tailrecursive;
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta[0+0];
_out_a_assignments = tmpMeta[0+1];
_out_a_varDeclsCaseInner = tmpMeta[0+2];
_out_a_onPatternFail = tmpMeta[0+3];
_return: OMC_LABEL_UNUSED
if (out_out_a_assignments) { *out_out_a_assignments = _out_a_assignments; }
if (out_out_a_varDeclsCaseInner) { *out_out_a_varDeclsCaseInner = _out_a_varDeclsCaseInner; }
if (out_out_a_onPatternFail) { *out_out_a_onPatternFail = _out_a_onPatternFail; }
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__1185(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_ty, modelica_metatype _in_a_prefix, modelica_metatype _in_a_lastSwitchIndex)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta[4] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp3_1;modelica_metatype tmp3_2;modelica_metatype tmp3_3;modelica_metatype tmp3_4;
tmp3_1 = _in_txt;
tmp3_2 = _in_a_ty;
tmp3_3 = _in_a_prefix;
tmp3_4 = _in_a_lastSwitchIndex;
{
modelica_metatype _txt = NULL;
modelica_metatype _a_prefix = NULL;
modelica_metatype _a_lastSwitchIndex = NULL;
volatile mmc_switch_type tmp3;
int tmp4;
tmp3 = 0;
for (; tmp3 < 2; tmp3++) {
switch (MMC_SWITCH_CAST(tmp3)) {
case 0: {
if (mmc__uniontype__metarecord__typedef__equal(tmp3_2,2,1) == 0) goto tmp2_end;
tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_2), 2));
if (optionNone(tmpMeta[1])) goto tmp2_end;
tmpMeta[2] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[1]), 1));
tmpMeta[3] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[2]), 2));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[3],2,1) == 0) goto tmp2_end;
_txt = tmp3_1;
_a_lastSwitchIndex = tmp3_4;
tmpMeta[0] = omc_Tpl_writeText(threadData, _txt, _a_lastSwitchIndex);
goto tmp2_done;
}
case 1: {
_txt = tmp3_1;
_a_prefix = tmp3_3;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT99);
_txt = omc_Tpl_writeText(threadData, _txt, _a_prefix);
tmpMeta[0] = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT132);
goto tmp2_done;
}
}
goto tmp2_end;
tmp2_end: ;
}
goto goto_1;
goto_1:;
MMC_THROW_INTERNAL();
goto tmp2_done;
tmp2_done:;
}
}
_out_txt = tmpMeta[0];
_return: OMC_LABEL_UNUSED
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__1184(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_ty, modelica_metatype _in_a_prefix, modelica_metatype _in_a_cases)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta[6] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp3_1;modelica_metatype tmp3_2;modelica_metatype tmp3_3;modelica_metatype tmp3_4;
tmp3_1 = _in_txt;
tmp3_2 = _in_a_ty;
tmp3_3 = _in_a_prefix;
tmp3_4 = _in_a_cases;
{
modelica_metatype _txt = NULL;
modelica_metatype _a_prefix = NULL;
modelica_metatype _a_cases = NULL;
modelica_integer _i_div;
modelica_integer _i_n;
modelica_metatype _ret_0 = NULL;
volatile mmc_switch_type tmp3;
int tmp4;
tmp3 = 0;
for (; tmp3 < 2; tmp3++) {
switch (MMC_SWITCH_CAST(tmp3)) {
case 0: {
modelica_integer tmp5;
modelica_integer tmp6;
if (mmc__uniontype__metarecord__typedef__equal(tmp3_2,2,1) == 0) goto tmp2_end;
tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_2), 2));
if (optionNone(tmpMeta[1])) goto tmp2_end;
tmpMeta[2] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[1]), 1));
tmpMeta[3] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[2]), 1));
tmp5 = mmc_unbox_integer(tmpMeta[3]);
tmpMeta[4] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[2]), 2));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[4],2,1) == 0) goto tmp2_end;
tmpMeta[5] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[2]), 3));
tmp6 = mmc_unbox_integer(tmpMeta[5]);
_i_n = tmp5;
_i_div = tmp6;
_txt = tmp3_1;
_a_prefix = tmp3_3;
_a_cases = tmp3_4;
_ret_0 = omc_List_last(threadData, _a_cases);
tmpMeta[0] = omc_CodegenCFunctions_fun__1183(threadData, _txt, _ret_0, _a_prefix, _i_div, _i_n);
goto tmp2_done;
}
case 1: {
_txt = tmp3_1;
_a_prefix = tmp3_3;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT99);
_txt = omc_Tpl_writeText(threadData, _txt, _a_prefix);
tmpMeta[0] = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT132);
goto tmp2_done;
}
}
goto tmp2_end;
tmp2_end: ;
}
goto goto_1;
goto_1:;
MMC_THROW_INTERNAL();
goto tmp2_done;
tmp2_done:;
}
}
_out_txt = tmpMeta[0];
_return: OMC_LABEL_UNUSED
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__1183(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_mArg, modelica_metatype _in_a_prefix, modelica_integer _in_a_div, modelica_integer _in_a_n)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta[2] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp3_1;modelica_metatype tmp3_2;modelica_metatype tmp3_3;modelica_integer tmp3_4;modelica_integer tmp3_5;
tmp3_1 = _in_txt;
tmp3_2 = _in_mArg;
tmp3_3 = _in_a_prefix;
tmp3_4 = _in_a_div;
tmp3_5 = _in_a_n;
{
modelica_metatype _txt = NULL;
modelica_metatype _a_prefix = NULL;
modelica_integer _a_div;
modelica_integer _a_n;
modelica_metatype _i_last_patterns = NULL;
modelica_string _str_2 = NULL;
modelica_metatype _txt_1 = NULL;
modelica_metatype _ret_0 = NULL;
volatile mmc_switch_type tmp3;
int tmp4;
tmp3 = 0;
for (; tmp3 < 2; tmp3++) {
switch (MMC_SWITCH_CAST(tmp3)) {
case 0: {
tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_2), 2));
_txt = tmp3_1;
_i_last_patterns = tmpMeta[1];
_a_prefix = tmp3_3;
_a_div = tmp3_4;
_a_n = tmp3_5;
_ret_0 = listGet(_i_last_patterns, _a_n);
_txt_1 = omc_CodegenCFunctions_switchIndex(threadData, _OMC_LIT20, _ret_0, _a_div);
_str_2 = omc_Tpl_textString(threadData, _txt_1);
tmpMeta[0] = omc_CodegenCFunctions_fun__1182(threadData, _txt, _str_2, _a_prefix);
goto tmp2_done;
}
case 1: {
_txt = tmp3_1;
tmpMeta[0] = _txt;
goto tmp2_done;
}
}
goto tmp2_end;
tmp2_end: ;
}
goto goto_1;
goto_1:;
MMC_THROW_INTERNAL();
goto tmp2_done;
tmp2_done:;
}
}
_out_txt = tmpMeta[0];
_return: OMC_LABEL_UNUSED
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__1183(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_mArg, modelica_metatype _in_a_prefix, modelica_metatype _in_a_div, modelica_metatype _in_a_n)
{
modelica_integer tmp1;
modelica_integer tmp2;
modelica_metatype _out_txt = NULL;
tmp1 = mmc_unbox_integer(_in_a_div);
tmp2 = mmc_unbox_integer(_in_a_n);
_out_txt = omc_CodegenCFunctions_fun__1183(threadData, _in_txt, _in_mArg, _in_a_prefix, tmp1, tmp2);
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__1182(threadData_t *threadData, modelica_metatype _in_txt, modelica_string _in_mArg, modelica_metatype _in_a_prefix)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta[1] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp3_1;modelica_string tmp3_2;modelica_metatype tmp3_3;
tmp3_1 = _in_txt;
tmp3_2 = _in_mArg;
tmp3_3 = _in_a_prefix;
{
modelica_metatype _txt = NULL;
modelica_metatype _a_prefix = NULL;
volatile mmc_switch_type tmp3;
int tmp4;
tmp3 = 0;
for (; tmp3 < 2; tmp3++) {
switch (MMC_SWITCH_CAST(tmp3)) {
case 0: {
if (7 != MMC_STRLEN(tmp3_2) || strcmp(MMC_STRINGDATA(_OMC_LIT87), MMC_STRINGDATA(tmp3_2)) != 0) goto tmp2_end;
_txt = tmp3_1;
_a_prefix = tmp3_3;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT99);
_txt = omc_Tpl_writeText(threadData, _txt, _a_prefix);
tmpMeta[0] = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT134);
goto tmp2_done;
}
case 1: {
_txt = tmp3_1;
_a_prefix = tmp3_3;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT99);
_txt = omc_Tpl_writeText(threadData, _txt, _a_prefix);
tmpMeta[0] = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT132);
goto tmp2_done;
}
}
goto tmp2_end;
tmp2_end: ;
}
goto goto_1;
goto_1:;
MMC_THROW_INTERNAL();
goto tmp2_done;
tmp2_done:;
}
}
_out_txt = tmpMeta[0];
_return: OMC_LABEL_UNUSED
return _out_txt;
}
DLLExport
modelica_metatype omc_CodegenCFunctions_daeExpMatch2(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_exp, modelica_metatype _in_a_tupleAssignExps, modelica_metatype _in_a_res, modelica_metatype _in_a_startIndexOutputs, modelica_metatype _in_a_context, modelica_metatype _in_a_preExp, modelica_metatype _in_a_varDecls, modelica_metatype _in_a_auxFunction, modelica_metatype *out_out_a_res, modelica_metatype *out_out_a_startIndexOutputs, modelica_metatype *out_out_a_preExp, modelica_metatype *out_out_a_varDecls, modelica_metatype *out_out_a_auxFunction)
{
modelica_metatype _out_txt = NULL;
modelica_metatype _out_a_res = NULL;
modelica_metatype _out_a_startIndexOutputs = NULL;
modelica_metatype _out_a_preExp = NULL;
modelica_metatype _out_a_varDecls = NULL;
modelica_metatype _out_a_auxFunction = NULL;
modelica_metatype tmpMeta[11] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_metatype tmp4_2;modelica_metatype tmp4_3;modelica_metatype tmp4_4;modelica_metatype tmp4_5;modelica_metatype tmp4_6;modelica_metatype tmp4_7;modelica_metatype tmp4_8;modelica_metatype tmp4_9;
tmp4_1 = _in_txt;
tmp4_2 = _in_a_exp;
tmp4_3 = _in_a_tupleAssignExps;
tmp4_4 = _in_a_res;
tmp4_5 = _in_a_startIndexOutputs;
tmp4_6 = _in_a_context;
tmp4_7 = _in_a_preExp;
tmp4_8 = _in_a_varDecls;
tmp4_9 = _in_a_auxFunction;
{
modelica_metatype _txt = NULL;
modelica_metatype _a_tupleAssignExps = NULL;
modelica_metatype _a_res = NULL;
modelica_metatype _a_startIndexOutputs = NULL;
modelica_metatype _a_context = NULL;
modelica_metatype _a_preExp = NULL;
modelica_metatype _a_varDecls = NULL;
modelica_metatype _a_auxFunction = NULL;
modelica_metatype _i_exp_inputs = NULL;
modelica_metatype _i_exp_cases = NULL;
modelica_metatype _i_exp = NULL;
modelica_metatype _i_aliases = NULL;
modelica_metatype _i_inputs = NULL;
modelica_metatype _i_localDecls = NULL;
modelica_metatype _i_exp_matchType = NULL;
modelica_metatype _l_ix = NULL;
modelica_metatype _ret_18 = NULL;
modelica_metatype _l_ignore3 = NULL;
modelica_integer _ret_16;
modelica_metatype _l_startIndexInputs = NULL;
modelica_metatype _l_expInput = NULL;
modelica_metatype _l_preExpInput = NULL;
modelica_integer _ret_12;
modelica_metatype _l_prefix = NULL;
modelica_metatype _ret_10 = NULL;
modelica_metatype _l_varFrees = NULL;
modelica_metatype _l_varDeclsInner = NULL;
modelica_metatype _l_varDeclsInput = NULL;
modelica_metatype _l_preExpInner = NULL;
modelica_integer _ret_2;
modelica_metatype _l_goto = NULL;
volatile mmc_switch_type tmp4;
int tmp5;
tmp4 = 0;
for (; tmp4 < 2; tmp4++) {
switch (MMC_SWITCH_CAST(tmp4)) {
case 0: {
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,33,6) == 0) goto tmp3_end;
tmpMeta[6] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
tmpMeta[7] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 3));
tmpMeta[8] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 4));
tmpMeta[9] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 5));
tmpMeta[10] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 6));
_i_exp = tmp4_2;
_i_exp_matchType = tmpMeta[6];
_i_exp_inputs = tmpMeta[7];
_i_inputs = tmpMeta[7];
_i_aliases = tmpMeta[8];
_i_localDecls = tmpMeta[9];
_i_exp_cases = tmpMeta[10];
_txt = tmp4_1;
_a_tupleAssignExps = tmp4_3;
_a_res = tmp4_4;
_a_startIndexOutputs = tmp4_5;
_a_context = tmp4_6;
_a_preExp = tmp4_7;
_a_varDecls = tmp4_8;
_a_auxFunction = tmp4_9;
omc_CodegenCFunctions_fun__1168(threadData, _OMC_LIT20, _i_exp_matchType);
_l_goto = omc_Tpl_writeTok(threadData, _OMC_LIT20, _OMC_LIT136);
_ret_2 = omc_SimCodeFunctionUtil_codegenPeekTryThrowIndex(threadData);
_l_goto = omc_Tpl_writeStr(threadData, _l_goto, intString(_ret_2));
_l_preExpInner = _OMC_LIT20;
_l_varDeclsInput = _OMC_LIT20;
_l_varDeclsInner = _OMC_LIT20;
_l_varFrees = _OMC_LIT20;
_ret_10 = omc_SimCodeFunctionUtil_elementVars(threadData, _i_localDecls);
omc_CodegenCFunctions_lm__1169(threadData, _OMC_LIT20, _ret_10, _a_auxFunction, _l_varFrees, _l_preExpInner, _l_varDeclsInner ,&_a_auxFunction ,&_l_varFrees ,&_l_preExpInner ,&_l_varDeclsInner);
_l_prefix = omc_Tpl_writeTok(threadData, _OMC_LIT20, _OMC_LIT138);
_ret_12 = omc_System_tmpTick(threadData);
_l_prefix = omc_Tpl_writeStr(threadData, _l_prefix, intString(_ret_12));
_l_preExpInput = _OMC_LIT20;
_l_expInput = _OMC_LIT20;
_ret_16 = omc_System_tmpTickIndexReserve(threadData, ((modelica_integer) 0), ((modelica_integer) 0));
_l_startIndexInputs = omc_Tpl_writeStr(threadData, _OMC_LIT20, intString(_ret_16));
_ret_18 = omc_List_zip(threadData, _i_inputs, _i_aliases);
_l_ignore3 = omc_Tpl_pushIter(threadData, _OMC_LIT20, _OMC_LIT139);
_l_ignore3 = omc_CodegenCFunctions_lm__1171(threadData, _l_ignore3, _ret_18, _a_auxFunction, _l_preExpInput, _a_context, _l_expInput, _l_varDeclsInput, _l_startIndexInputs, _i_exp_matchType ,&_a_auxFunction ,&_l_preExpInput ,&_l_expInput ,&_l_varDeclsInput);
_l_ignore3 = omc_Tpl_popIter(threadData, _l_ignore3);
_l_ix = omc_CodegenCFunctions_fun__1172(threadData, _OMC_LIT20, _i_exp_matchType, _l_varDeclsInner, _i_exp, _l_startIndexInputs ,&_l_varDeclsInner);
omc_CodegenCFunctions_tempDecl(threadData, _OMC_LIT20, _OMC_LIT140, _l_varDeclsInner ,&_l_varDeclsInner);
_a_preExp = omc_CodegenCFunctions_fun__1180(threadData, _a_preExp, _i_exp_matchType, _l_goto, _a_varDecls, _i_exp_inputs, _l_startIndexInputs, _a_startIndexOutputs, _a_res, _a_tupleAssignExps, _l_prefix, _l_ix, _l_varDeclsInner, _l_preExpInner, _l_expInput, _l_preExpInput, _l_varDeclsInput, _a_auxFunction, _a_context, _i_exp_cases ,&_a_varDecls ,&_l_startIndexInputs ,&_a_startIndexOutputs ,&_a_res ,&_l_prefix ,&_l_ix ,&_a_auxFunction);
_txt = omc_Tpl_writeText(threadData, _txt, _a_res);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_res;
tmpMeta[0+2] = _a_startIndexOutputs;
tmpMeta[0+3] = _a_preExp;
tmpMeta[0+4] = _a_varDecls;
tmpMeta[0+5] = _a_auxFunction;
goto tmp3_done;
}
case 1: {
_txt = tmp4_1;
_a_res = tmp4_4;
_a_startIndexOutputs = tmp4_5;
_a_preExp = tmp4_7;
_a_varDecls = tmp4_8;
_a_auxFunction = tmp4_9;
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_res;
tmpMeta[0+2] = _a_startIndexOutputs;
tmpMeta[0+3] = _a_preExp;
tmpMeta[0+4] = _a_varDecls;
tmpMeta[0+5] = _a_auxFunction;
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta[0+0];
_out_a_res = tmpMeta[0+1];
_out_a_startIndexOutputs = tmpMeta[0+2];
_out_a_preExp = tmpMeta[0+3];
_out_a_varDecls = tmpMeta[0+4];
_out_a_auxFunction = tmpMeta[0+5];
_return: OMC_LABEL_UNUSED
if (out_out_a_res) { *out_out_a_res = _out_a_res; }
if (out_out_a_startIndexOutputs) { *out_out_a_startIndexOutputs = _out_a_startIndexOutputs; }
if (out_out_a_preExp) { *out_out_a_preExp = _out_a_preExp; }
if (out_out_a_varDecls) { *out_out_a_varDecls = _out_a_varDecls; }
if (out_out_a_auxFunction) { *out_out_a_auxFunction = _out_a_auxFunction; }
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__1180(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_exp_matchType, modelica_metatype _in_a_goto, modelica_metatype _in_a_varDecls, modelica_metatype _in_a_exp_inputs, modelica_metatype _in_a_startIndexInputs, modelica_metatype _in_a_startIndexOutputs, modelica_metatype _in_a_res, modelica_metatype _in_a_tupleAssignExps, modelica_metatype _in_a_prefix, modelica_metatype _in_a_ix, modelica_metatype _in_a_varDeclsInner, modelica_metatype _in_a_preExpInner, modelica_metatype _in_a_expInput, modelica_metatype _in_a_preExpInput, modelica_metatype _in_a_varDeclsInput, modelica_metatype _in_a_auxFunction, modelica_metatype _in_a_context, modelica_metatype _in_a_exp_cases, modelica_metatype *out_out_a_varDecls, modelica_metatype *out_out_a_startIndexInputs, modelica_metatype *out_out_a_startIndexOutputs, modelica_metatype *out_out_a_res, modelica_metatype *out_out_a_prefix, modelica_metatype *out_out_a_ix, modelica_metatype *out_out_a_auxFunction)
{
modelica_metatype _out_txt = NULL;
modelica_metatype _out_a_varDecls = NULL;
modelica_metatype _out_a_startIndexInputs = NULL;
modelica_metatype _out_a_startIndexOutputs = NULL;
modelica_metatype _out_a_res = NULL;
modelica_metatype _out_a_prefix = NULL;
modelica_metatype _out_a_ix = NULL;
modelica_metatype _out_a_auxFunction = NULL;
modelica_metatype tmpMeta[8] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_metatype tmp4_2;modelica_metatype tmp4_3;modelica_metatype tmp4_4;modelica_metatype tmp4_5;modelica_metatype tmp4_6;modelica_metatype tmp4_7;modelica_metatype tmp4_8;modelica_metatype tmp4_9;modelica_metatype tmp4_10;modelica_metatype tmp4_11;modelica_metatype tmp4_12;modelica_metatype tmp4_13;modelica_metatype tmp4_14;modelica_metatype tmp4_15;modelica_metatype tmp4_16;modelica_metatype tmp4_17;modelica_metatype tmp4_18;modelica_metatype tmp4_19;
tmp4_1 = _in_txt;
tmp4_2 = _in_a_exp_matchType;
tmp4_3 = _in_a_goto;
tmp4_4 = _in_a_varDecls;
tmp4_5 = _in_a_exp_inputs;
tmp4_6 = _in_a_startIndexInputs;
tmp4_7 = _in_a_startIndexOutputs;
tmp4_8 = _in_a_res;
tmp4_9 = _in_a_tupleAssignExps;
tmp4_10 = _in_a_prefix;
tmp4_11 = _in_a_ix;
tmp4_12 = _in_a_varDeclsInner;
tmp4_13 = _in_a_preExpInner;
tmp4_14 = _in_a_expInput;
tmp4_15 = _in_a_preExpInput;
tmp4_16 = _in_a_varDeclsInput;
tmp4_17 = _in_a_auxFunction;
tmp4_18 = _in_a_context;
tmp4_19 = _in_a_exp_cases;
{
modelica_metatype _txt = NULL;
modelica_metatype _a_goto = NULL;
modelica_metatype _a_varDecls = NULL;
modelica_metatype _a_exp_inputs = NULL;
modelica_metatype _a_startIndexInputs = NULL;
modelica_metatype _a_startIndexOutputs = NULL;
modelica_metatype _a_res = NULL;
modelica_metatype _a_tupleAssignExps = NULL;
modelica_metatype _a_prefix = NULL;
modelica_metatype _a_ix = NULL;
modelica_metatype _a_varDeclsInner = NULL;
modelica_metatype _a_preExpInner = NULL;
modelica_metatype _a_expInput = NULL;
modelica_metatype _a_preExpInput = NULL;
modelica_metatype _a_varDeclsInput = NULL;
modelica_metatype _a_auxFunction = NULL;
modelica_metatype _a_context = NULL;
modelica_metatype _a_exp_cases = NULL;
modelica_metatype _i_exp_matchType = NULL;
modelica_integer _ret_1;
modelica_metatype _l_varDeclsInner = NULL;
volatile mmc_switch_type tmp4;
int tmp5;
tmp4 = 0;
for (; tmp4 < 2; tmp4++) {
switch (MMC_SWITCH_CAST(tmp4)) {
case 0: {
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,1,0) == 0) goto tmp3_end;
_txt = tmp4_1;
_a_varDecls = tmp4_4;
_a_startIndexInputs = tmp4_6;
_a_startIndexOutputs = tmp4_7;
_a_res = tmp4_8;
_a_prefix = tmp4_10;
_a_ix = tmp4_11;
_a_preExpInner = tmp4_13;
_a_expInput = tmp4_14;
_a_preExpInput = tmp4_15;
_a_varDeclsInput = tmp4_16;
_a_auxFunction = tmp4_17;
_a_context = tmp4_18;
_a_exp_cases = tmp4_19;
_l_varDeclsInner = _OMC_LIT20;
_txt = omc_CodegenCFunctions_fun__1175(threadData, _txt, _a_exp_cases, _a_preExpInner, _a_expInput, _a_preExpInput, _a_varDeclsInput, _a_auxFunction, _l_varDeclsInner, _a_context ,&_a_auxFunction ,&_l_varDeclsInner);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_varDecls;
tmpMeta[0+2] = _a_startIndexInputs;
tmpMeta[0+3] = _a_startIndexOutputs;
tmpMeta[0+4] = _a_res;
tmpMeta[0+5] = _a_prefix;
tmpMeta[0+6] = _a_ix;
tmpMeta[0+7] = _a_auxFunction;
goto tmp3_done;
}
case 1: {
_txt = tmp4_1;
_i_exp_matchType = tmp4_2;
_a_goto = tmp4_3;
_a_varDecls = tmp4_4;
_a_exp_inputs = tmp4_5;
_a_startIndexInputs = tmp4_6;
_a_startIndexOutputs = tmp4_7;
_a_res = tmp4_8;
_a_tupleAssignExps = tmp4_9;
_a_prefix = tmp4_10;
_a_ix = tmp4_11;
_a_varDeclsInner = tmp4_12;
_a_preExpInner = tmp4_13;
_a_expInput = tmp4_14;
_a_preExpInput = tmp4_15;
_a_varDeclsInput = tmp4_16;
_a_auxFunction = tmp4_17;
_a_context = tmp4_18;
_a_exp_cases = tmp4_19;
_txt = omc_CodegenCFunctions_endModelicaLine(threadData, _txt);
_txt = omc_Tpl_softNewLine(threadData, _txt);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT142);
_txt = omc_CodegenCFunctions_fun__1176(threadData, _txt, _i_exp_matchType);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT144);
_txt = omc_Tpl_pushBlock(threadData, _txt, _OMC_LIT97);
_txt = omc_Tpl_writeText(threadData, _txt, _a_varDeclsInput);
_txt = omc_Tpl_softNewLine(threadData, _txt);
_txt = omc_Tpl_writeText(threadData, _txt, _a_preExpInput);
_txt = omc_Tpl_softNewLine(threadData, _txt);
_txt = omc_Tpl_writeText(threadData, _txt, _a_expInput);
_txt = omc_Tpl_softNewLine(threadData, _txt);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT146);
_txt = omc_Tpl_pushBlock(threadData, _txt, _OMC_LIT97);
_txt = omc_Tpl_writeText(threadData, _txt, _a_varDeclsInner);
_txt = omc_Tpl_softNewLine(threadData, _txt);
_txt = omc_Tpl_writeText(threadData, _txt, _a_preExpInner);
_txt = omc_Tpl_softNewLine(threadData, _txt);
_txt = omc_CodegenCFunctions_fun__1178(threadData, _txt, _i_exp_matchType, _a_exp_cases, _a_prefix, _a_ix);
_txt = omc_Tpl_softNewLine(threadData, _txt);
_txt = omc_Tpl_pushBlock(threadData, _txt, _OMC_LIT97);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT148);
_txt = omc_Tpl_writeText(threadData, _txt, _a_ix);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT150);
_ret_1 = omc_System_tmpTickIndexReserve(threadData, ((modelica_integer) 1), ((modelica_integer) 0));
_txt = omc_CodegenCFunctions_daeExpMatchCases(threadData, _txt, _a_exp_cases, _a_tupleAssignExps, _i_exp_matchType, _a_ix, _a_res, _a_startIndexOutputs, _a_prefix, _a_startIndexInputs, _a_exp_inputs, _a_context, _a_varDecls, _a_auxFunction, _ret_1 ,&_a_ix ,&_a_res ,&_a_startIndexOutputs ,&_a_prefix ,&_a_startIndexInputs ,&_a_varDecls ,&_a_auxFunction);
_txt = omc_Tpl_softNewLine(threadData, _txt);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT154);
_txt = omc_Tpl_writeText(threadData, _txt, _a_prefix);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT156);
_txt = omc_Tpl_writeText(threadData, _txt, _a_prefix);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT158);
_txt = omc_Tpl_popBlock(threadData, _txt);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT103);
omc_SimCodeFunctionUtil_codegenPopTryThrowIndex(threadData);
_txt = omc_Tpl_softNewLine(threadData, _txt);
_txt = omc_CodegenCFunctions_fun__1179(threadData, _txt, _i_exp_matchType, _a_exp_cases, _a_ix, _a_prefix, _a_goto);
_txt = omc_Tpl_softNewLine(threadData, _txt);
_txt = omc_Tpl_popBlock(threadData, _txt);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT159);
_txt = omc_Tpl_popBlock(threadData, _txt);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT103);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_varDecls;
tmpMeta[0+2] = _a_startIndexInputs;
tmpMeta[0+3] = _a_startIndexOutputs;
tmpMeta[0+4] = _a_res;
tmpMeta[0+5] = _a_prefix;
tmpMeta[0+6] = _a_ix;
tmpMeta[0+7] = _a_auxFunction;
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta[0+0];
_out_a_varDecls = tmpMeta[0+1];
_out_a_startIndexInputs = tmpMeta[0+2];
_out_a_startIndexOutputs = tmpMeta[0+3];
_out_a_res = tmpMeta[0+4];
_out_a_prefix = tmpMeta[0+5];
_out_a_ix = tmpMeta[0+6];
_out_a_auxFunction = tmpMeta[0+7];
_return: OMC_LABEL_UNUSED
if (out_out_a_varDecls) { *out_out_a_varDecls = _out_a_varDecls; }
if (out_out_a_startIndexInputs) { *out_out_a_startIndexInputs = _out_a_startIndexInputs; }
if (out_out_a_startIndexOutputs) { *out_out_a_startIndexOutputs = _out_a_startIndexOutputs; }
if (out_out_a_res) { *out_out_a_res = _out_a_res; }
if (out_out_a_prefix) { *out_out_a_prefix = _out_a_prefix; }
if (out_out_a_ix) { *out_out_a_ix = _out_a_ix; }
if (out_out_a_auxFunction) { *out_out_a_auxFunction = _out_a_auxFunction; }
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__1179(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_exp_matchType, modelica_metatype _in_a_exp_cases, modelica_metatype _in_a_ix, modelica_metatype _in_a_prefix, modelica_metatype _in_a_goto)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta[1] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp3_1;modelica_metatype tmp3_2;modelica_metatype tmp3_3;modelica_metatype tmp3_4;modelica_metatype tmp3_5;modelica_metatype tmp3_6;
tmp3_1 = _in_txt;
tmp3_2 = _in_a_exp_matchType;
tmp3_3 = _in_a_exp_cases;
tmp3_4 = _in_a_ix;
tmp3_5 = _in_a_prefix;
tmp3_6 = _in_a_goto;
{
modelica_metatype _txt = NULL;
modelica_metatype _a_exp_cases = NULL;
modelica_metatype _a_ix = NULL;
modelica_metatype _a_prefix = NULL;
modelica_metatype _a_goto = NULL;
modelica_integer _ret_0;
volatile mmc_switch_type tmp3;
int tmp4;
tmp3 = 0;
for (; tmp3 < 2; tmp3++) {
switch (MMC_SWITCH_CAST(tmp3)) {
case 0: {
if (mmc__uniontype__metarecord__typedef__equal(tmp3_2,0,0) == 0) goto tmp2_end;
_txt = tmp3_1;
_a_exp_cases = tmp3_3;
_a_ix = tmp3_4;
_a_prefix = tmp3_5;
_a_goto = tmp3_6;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT99);
_txt = omc_Tpl_writeText(threadData, _txt, _a_goto);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT161);
_txt = omc_Tpl_writeText(threadData, _txt, _a_prefix);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT166);
_txt = omc_Tpl_writeText(threadData, _txt, _a_ix);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT170);
_txt = omc_Tpl_writeText(threadData, _txt, _a_prefix);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT172);
_txt = omc_Tpl_writeText(threadData, _txt, _a_goto);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT179);
_txt = omc_Tpl_writeText(threadData, _txt, _a_ix);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT181);
_ret_0 = listLength(_a_exp_cases);
_txt = omc_Tpl_writeStr(threadData, _txt, intString(_ret_0));
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT183);
_txt = omc_Tpl_pushBlock(threadData, _txt, _OMC_LIT97);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT99);
_txt = omc_Tpl_writeText(threadData, _txt, _a_prefix);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT185);
_txt = omc_Tpl_popBlock(threadData, _txt);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT159);
_txt = omc_CodegenCFunctions_generateThrow(threadData, _txt);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT161);
_txt = omc_Tpl_writeText(threadData, _txt, _a_prefix);
tmpMeta[0] = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT187);
goto tmp2_done;
}
case 1: {
_txt = tmp3_1;
_a_prefix = tmp3_5;
_a_goto = tmp3_6;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT99);
_txt = omc_Tpl_writeText(threadData, _txt, _a_goto);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT161);
_txt = omc_Tpl_writeText(threadData, _txt, _a_goto);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT188);
_txt = omc_CodegenCFunctions_generateThrow(threadData, _txt);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT190);
_txt = omc_Tpl_writeText(threadData, _txt, _a_prefix);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT101);
_txt = omc_Tpl_writeText(threadData, _txt, _a_prefix);
tmpMeta[0] = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT192);
goto tmp2_done;
}
}
goto tmp2_end;
tmp2_end: ;
}
goto goto_1;
goto_1:;
MMC_THROW_INTERNAL();
goto tmp2_done;
tmp2_done:;
}
}
_out_txt = tmpMeta[0];
_return: OMC_LABEL_UNUSED
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__1178(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_exp_matchType, modelica_metatype _in_a_exp_cases, modelica_metatype _in_a_prefix, modelica_metatype _in_a_ix)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta[3] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp3_1;modelica_metatype tmp3_2;modelica_metatype tmp3_3;modelica_metatype tmp3_4;modelica_metatype tmp3_5;
tmp3_1 = _in_txt;
tmp3_2 = _in_a_exp_matchType;
tmp3_3 = _in_a_exp_cases;
tmp3_4 = _in_a_prefix;
tmp3_5 = _in_a_ix;
{
modelica_metatype _txt = NULL;
modelica_metatype _a_exp_cases = NULL;
modelica_metatype _a_prefix = NULL;
modelica_metatype _a_ix = NULL;
modelica_metatype _i_exp_matchType = NULL;
modelica_integer _ret_0;
volatile mmc_switch_type tmp3;
int tmp4;
tmp3 = 0;
for (; tmp3 < 2; tmp3++) {
switch (MMC_SWITCH_CAST(tmp3)) {
case 0: {
if (mmc__uniontype__metarecord__typedef__equal(tmp3_2,2,1) == 0) goto tmp2_end;
tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_2), 2));
if (optionNone(tmpMeta[1])) goto tmp2_end;
tmpMeta[2] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[1]), 1));
_txt = tmp3_1;
tmpMeta[0] = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT194);
goto tmp2_done;
}
case 1: {
_txt = tmp3_1;
_i_exp_matchType = tmp3_2;
_a_exp_cases = tmp3_3;
_a_prefix = tmp3_4;
_a_ix = tmp3_5;
_txt = omc_Tpl_writeText(threadData, _txt, _a_ix);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT196);
_txt = omc_CodegenCFunctions_fun__1177(threadData, _txt, _i_exp_matchType, _a_prefix);
_txt = omc_Tpl_softNewLine(threadData, _txt);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT198);
_txt = omc_Tpl_writeText(threadData, _txt, _a_ix);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT181);
_ret_0 = listLength(_a_exp_cases);
_txt = omc_Tpl_writeStr(threadData, _txt, intString(_ret_0));
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT200);
_txt = omc_Tpl_writeText(threadData, _txt, _a_ix);
tmpMeta[0] = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT202);
goto tmp2_done;
}
}
goto tmp2_end;
tmp2_end: ;
}
goto goto_1;
goto_1:;
MMC_THROW_INTERNAL();
goto tmp2_done;
tmp2_done:;
}
}
_out_txt = tmpMeta[0];
_return: OMC_LABEL_UNUSED
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__1177(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_exp_matchType, modelica_metatype _in_a_prefix)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta[1] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp3_1;modelica_metatype tmp3_2;modelica_metatype tmp3_3;
tmp3_1 = _in_txt;
tmp3_2 = _in_a_exp_matchType;
tmp3_3 = _in_a_prefix;
{
modelica_metatype _txt = NULL;
modelica_metatype _a_prefix = NULL;
volatile mmc_switch_type tmp3;
int tmp4;
tmp3 = 0;
for (; tmp3 < 2; tmp3++) {
switch (MMC_SWITCH_CAST(tmp3)) {
case 0: {
if (mmc__uniontype__metarecord__typedef__equal(tmp3_2,0,0) == 0) goto tmp2_end;
_txt = tmp3_1;
_a_prefix = tmp3_3;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT204);
_txt = omc_Tpl_writeText(threadData, _txt, _a_prefix);
tmpMeta[0] = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT209);
goto tmp2_done;
}
case 1: {
_txt = tmp3_1;
tmpMeta[0] = _txt;
goto tmp2_done;
}
}
goto tmp2_end;
tmp2_end: ;
}
goto goto_1;
goto_1:;
MMC_THROW_INTERNAL();
goto tmp2_done;
tmp2_done:;
}
}
_out_txt = tmpMeta[0];
_return: OMC_LABEL_UNUSED
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__1176(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_exp_matchType)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta[1] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp3_1;modelica_metatype tmp3_2;
tmp3_1 = _in_txt;
tmp3_2 = _in_a_exp_matchType;
{
modelica_metatype _txt = NULL;
int tmp3;
{
switch (MMC_SWITCH_CAST(valueConstructor(tmp3_2))) {
case 3: {
if (mmc__uniontype__metarecord__typedef__equal(tmp3_2,0,0) == 0) goto tmp2_end;
_txt = tmp3_1;
tmpMeta[0] = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT211);
goto tmp2_done;
}
case 5: {
if (mmc__uniontype__metarecord__typedef__equal(tmp3_2,2,1) == 0) goto tmp2_end;
_txt = tmp3_1;
tmpMeta[0] = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT213);
goto tmp2_done;
}
default:
tmp2_default: OMC_LABEL_UNUSED; {
_txt = tmp3_1;
tmpMeta[0] = _txt;
goto tmp2_done;
}
}
goto tmp2_end;
tmp2_end: ;
}
goto goto_1;
goto_1:;
MMC_THROW_INTERNAL();
goto tmp2_done;
tmp2_done:;
}
}
_out_txt = tmpMeta[0];
_return: OMC_LABEL_UNUSED
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__1175(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_exp_cases, modelica_metatype _in_a_preExpInner, modelica_metatype _in_a_expInput, modelica_metatype _in_a_preExpInput, modelica_metatype _in_a_varDeclsInput, modelica_metatype _in_a_auxFunction, modelica_metatype _in_a_varDeclsInner, modelica_metatype _in_a_context, modelica_metatype *out_out_a_auxFunction, modelica_metatype *out_out_a_varDeclsInner)
{
modelica_metatype _out_txt = NULL;
modelica_metatype _out_a_auxFunction = NULL;
modelica_metatype _out_a_varDeclsInner = NULL;
modelica_metatype tmpMeta[9] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_metatype tmp4_2;modelica_metatype tmp4_3;modelica_metatype tmp4_4;modelica_metatype tmp4_5;modelica_metatype tmp4_6;modelica_metatype tmp4_7;modelica_metatype tmp4_8;modelica_metatype tmp4_9;
tmp4_1 = _in_txt;
tmp4_2 = _in_a_exp_cases;
tmp4_3 = _in_a_preExpInner;
tmp4_4 = _in_a_expInput;
tmp4_5 = _in_a_preExpInput;
tmp4_6 = _in_a_varDeclsInput;
tmp4_7 = _in_a_auxFunction;
tmp4_8 = _in_a_varDeclsInner;
tmp4_9 = _in_a_context;
{
modelica_metatype _txt = NULL;
modelica_metatype _a_preExpInner = NULL;
modelica_metatype _a_expInput = NULL;
modelica_metatype _a_preExpInput = NULL;
modelica_metatype _a_varDeclsInput = NULL;
modelica_metatype _a_auxFunction = NULL;
modelica_metatype _a_varDeclsInner = NULL;
modelica_metatype _a_context = NULL;
modelica_metatype _i_else_body = NULL;
modelica_metatype _i_try_body = NULL;
modelica_metatype _l_elseb = NULL;
modelica_metatype _l_tryb = NULL;
volatile mmc_switch_type tmp4;
int tmp5;
tmp4 = 0;
for (; tmp4 < 2; tmp4++) {
switch (MMC_SWITCH_CAST(tmp4)) {
case 0: {
if (listEmpty(tmp4_2)) goto tmp3_end;
tmpMeta[3] = MMC_CAR(tmp4_2);
tmpMeta[4] = MMC_CDR(tmp4_2);
tmpMeta[5] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[3]), 5));
if (listEmpty(tmpMeta[4])) goto tmp3_end;
tmpMeta[6] = MMC_CAR(tmpMeta[4]);
tmpMeta[7] = MMC_CDR(tmpMeta[4]);
tmpMeta[8] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[6]), 5));
if (!listEmpty(tmpMeta[7])) goto tmp3_end;
_i_try_body = tmpMeta[5];
_i_else_body = tmpMeta[8];
_txt = tmp4_1;
_a_preExpInner = tmp4_3;
_a_expInput = tmp4_4;
_a_preExpInput = tmp4_5;
_a_varDeclsInput = tmp4_6;
_a_auxFunction = tmp4_7;
_a_varDeclsInner = tmp4_8;
_a_context = tmp4_9;
_l_tryb = omc_Tpl_pushIter(threadData, _OMC_LIT20, _OMC_LIT96);
_l_tryb = omc_CodegenCFunctions_lm__1173(threadData, _l_tryb, _i_try_body, _a_auxFunction, _a_varDeclsInner, _a_context ,&_a_auxFunction ,&_a_varDeclsInner);
_l_tryb = omc_Tpl_popIter(threadData, _l_tryb);
_l_elseb = omc_Tpl_pushIter(threadData, _OMC_LIT20, _OMC_LIT96);
_l_elseb = omc_CodegenCFunctions_lm__1174(threadData, _l_elseb, _i_else_body, _a_auxFunction, _a_varDeclsInner, _a_context ,&_a_auxFunction ,&_a_varDeclsInner);
_l_elseb = omc_Tpl_popIter(threadData, _l_elseb);
_txt = omc_CodegenCFunctions_endModelicaLine(threadData, _txt);
_txt = omc_Tpl_softNewLine(threadData, _txt);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT215);
_txt = omc_Tpl_pushBlock(threadData, _txt, _OMC_LIT97);
_txt = omc_Tpl_writeText(threadData, _txt, _a_varDeclsInput);
_txt = omc_Tpl_softNewLine(threadData, _txt);
_txt = omc_Tpl_writeText(threadData, _txt, _a_preExpInput);
_txt = omc_Tpl_softNewLine(threadData, _txt);
_txt = omc_Tpl_writeText(threadData, _txt, _a_expInput);
_txt = omc_Tpl_softNewLine(threadData, _txt);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT146);
_txt = omc_Tpl_pushBlock(threadData, _txt, _OMC_LIT97);
_txt = omc_Tpl_writeText(threadData, _txt, _a_varDeclsInner);
_txt = omc_Tpl_softNewLine(threadData, _txt);
_txt = omc_Tpl_writeText(threadData, _txt, _a_preExpInner);
_txt = omc_Tpl_softNewLine(threadData, _txt);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT217);
_txt = omc_Tpl_writeText(threadData, _txt, _l_tryb);
_txt = omc_Tpl_softNewLine(threadData, _txt);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT219);
_txt = omc_Tpl_writeText(threadData, _txt, _l_elseb);
_txt = omc_Tpl_softNewLine(threadData, _txt);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT221);
_txt = omc_Tpl_popBlock(threadData, _txt);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT159);
_txt = omc_Tpl_popBlock(threadData, _txt);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT103);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_auxFunction;
tmpMeta[0+2] = _a_varDeclsInner;
goto tmp3_done;
}
case 1: {
_txt = tmp4_1;
_a_auxFunction = tmp4_7;
_a_varDeclsInner = tmp4_8;
_txt = omc_CodegenUtil_error(threadData, _txt, omc_Tpl_sourceInfo(threadData, _OMC_LIT27, ((modelica_integer) 7344), ((modelica_integer) 18)), _OMC_LIT222);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_auxFunction;
tmpMeta[0+2] = _a_varDeclsInner;
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta[0+0];
_out_a_auxFunction = tmpMeta[0+1];
_out_a_varDeclsInner = tmpMeta[0+2];
_return: OMC_LABEL_UNUSED
if (out_out_a_auxFunction) { *out_out_a_auxFunction = _out_a_auxFunction; }
if (out_out_a_varDeclsInner) { *out_out_a_varDeclsInner = _out_a_varDeclsInner; }
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_lm__1174(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_items, modelica_metatype _in_a_auxFunction, modelica_metatype _in_a_varDeclsInner, modelica_metatype _in_a_context, modelica_metatype *out_out_a_auxFunction, modelica_metatype *out_out_a_varDeclsInner)
{
modelica_metatype _out_txt = NULL;
modelica_metatype _out_a_auxFunction = NULL;
modelica_metatype _out_a_varDeclsInner = NULL;
modelica_metatype tmpMeta[5] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_metatype tmp4_2;modelica_metatype tmp4_3;modelica_metatype tmp4_4;modelica_metatype tmp4_5;
tmp4_1 = _in_txt;
tmp4_2 = _in_items;
tmp4_3 = _in_a_auxFunction;
tmp4_4 = _in_a_varDeclsInner;
tmp4_5 = _in_a_context;
{
modelica_metatype _txt = NULL;
modelica_metatype _rest = NULL;
modelica_metatype _a_auxFunction = NULL;
modelica_metatype _a_varDeclsInner = NULL;
modelica_metatype _a_context = NULL;
modelica_metatype _i_stmt = NULL;
volatile mmc_switch_type tmp4;
int tmp5;
tmp4 = 0;
for (; tmp4 < 2; tmp4++) {
switch (MMC_SWITCH_CAST(tmp4)) {
case 0: {
if (!listEmpty(tmp4_2)) goto tmp3_end;
_txt = tmp4_1;
_a_auxFunction = tmp4_3;
_a_varDeclsInner = tmp4_4;
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_auxFunction;
tmpMeta[0+2] = _a_varDeclsInner;
goto tmp3_done;
}
case 1: {
if (listEmpty(tmp4_2)) goto tmp3_end;
tmpMeta[3] = MMC_CAR(tmp4_2);
tmpMeta[4] = MMC_CDR(tmp4_2);
_i_stmt = tmpMeta[3];
_rest = tmpMeta[4];
_txt = tmp4_1;
_a_auxFunction = tmp4_3;
_a_varDeclsInner = tmp4_4;
_a_context = tmp4_5;
_txt = omc_CodegenCFunctions_algStatement(threadData, _txt, _i_stmt, _a_context, _a_varDeclsInner, _a_auxFunction ,&_a_varDeclsInner ,&_a_auxFunction);
_txt = omc_Tpl_nextIter(threadData, _txt);
_in_txt = _txt;
_in_items = _rest;
_in_a_auxFunction = _a_auxFunction;
_in_a_varDeclsInner = _a_varDeclsInner;
_in_a_context = _a_context;
goto _tailrecursive;
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta[0+0];
_out_a_auxFunction = tmpMeta[0+1];
_out_a_varDeclsInner = tmpMeta[0+2];
_return: OMC_LABEL_UNUSED
if (out_out_a_auxFunction) { *out_out_a_auxFunction = _out_a_auxFunction; }
if (out_out_a_varDeclsInner) { *out_out_a_varDeclsInner = _out_a_varDeclsInner; }
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_lm__1173(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_items, modelica_metatype _in_a_auxFunction, modelica_metatype _in_a_varDeclsInner, modelica_metatype _in_a_context, modelica_metatype *out_out_a_auxFunction, modelica_metatype *out_out_a_varDeclsInner)
{
modelica_metatype _out_txt = NULL;
modelica_metatype _out_a_auxFunction = NULL;
modelica_metatype _out_a_varDeclsInner = NULL;
modelica_metatype tmpMeta[5] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_metatype tmp4_2;modelica_metatype tmp4_3;modelica_metatype tmp4_4;modelica_metatype tmp4_5;
tmp4_1 = _in_txt;
tmp4_2 = _in_items;
tmp4_3 = _in_a_auxFunction;
tmp4_4 = _in_a_varDeclsInner;
tmp4_5 = _in_a_context;
{
modelica_metatype _txt = NULL;
modelica_metatype _rest = NULL;
modelica_metatype _a_auxFunction = NULL;
modelica_metatype _a_varDeclsInner = NULL;
modelica_metatype _a_context = NULL;
modelica_metatype _i_stmt = NULL;
volatile mmc_switch_type tmp4;
int tmp5;
tmp4 = 0;
for (; tmp4 < 2; tmp4++) {
switch (MMC_SWITCH_CAST(tmp4)) {
case 0: {
if (!listEmpty(tmp4_2)) goto tmp3_end;
_txt = tmp4_1;
_a_auxFunction = tmp4_3;
_a_varDeclsInner = tmp4_4;
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_auxFunction;
tmpMeta[0+2] = _a_varDeclsInner;
goto tmp3_done;
}
case 1: {
if (listEmpty(tmp4_2)) goto tmp3_end;
tmpMeta[3] = MMC_CAR(tmp4_2);
tmpMeta[4] = MMC_CDR(tmp4_2);
_i_stmt = tmpMeta[3];
_rest = tmpMeta[4];
_txt = tmp4_1;
_a_auxFunction = tmp4_3;
_a_varDeclsInner = tmp4_4;
_a_context = tmp4_5;
_txt = omc_CodegenCFunctions_algStatement(threadData, _txt, _i_stmt, _a_context, _a_varDeclsInner, _a_auxFunction ,&_a_varDeclsInner ,&_a_auxFunction);
_txt = omc_Tpl_nextIter(threadData, _txt);
_in_txt = _txt;
_in_items = _rest;
_in_a_auxFunction = _a_auxFunction;
_in_a_varDeclsInner = _a_varDeclsInner;
_in_a_context = _a_context;
goto _tailrecursive;
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta[0+0];
_out_a_auxFunction = tmpMeta[0+1];
_out_a_varDeclsInner = tmpMeta[0+2];
_return: OMC_LABEL_UNUSED
if (out_out_a_auxFunction) { *out_out_a_auxFunction = _out_a_auxFunction; }
if (out_out_a_varDeclsInner) { *out_out_a_varDeclsInner = _out_a_varDeclsInner; }
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__1172(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_exp_matchType, modelica_metatype _in_a_varDeclsInner, modelica_metatype _in_a_exp, modelica_metatype _in_a_startIndexInputs, modelica_metatype *out_out_a_varDeclsInner)
{
modelica_metatype _out_txt = NULL;
modelica_metatype _out_a_varDeclsInner = NULL;
modelica_metatype tmpMeta[7] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_metatype tmp4_2;modelica_metatype tmp4_3;modelica_metatype tmp4_4;modelica_metatype tmp4_5;
tmp4_1 = _in_txt;
tmp4_2 = _in_a_exp_matchType;
tmp4_3 = _in_a_varDeclsInner;
tmp4_4 = _in_a_exp;
tmp4_5 = _in_a_startIndexInputs;
{
modelica_metatype _txt = NULL;
modelica_metatype _a_varDeclsInner = NULL;
modelica_metatype _a_exp = NULL;
modelica_metatype _a_startIndexInputs = NULL;
modelica_integer _i_div;
modelica_integer _i_switchIndex;
modelica_metatype _txt_1 = NULL;
modelica_metatype _l_matchInputVar = NULL;
volatile mmc_switch_type tmp4;
int tmp5;
tmp4 = 0;
for (; tmp4 < 5; tmp4++) {
switch (MMC_SWITCH_CAST(tmp4)) {
case 0: {
modelica_integer tmp6;
modelica_integer tmp7;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,2,1) == 0) goto tmp3_end;
tmpMeta[2] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
if (optionNone(tmpMeta[2])) goto tmp3_end;
tmpMeta[3] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[2]), 1));
tmpMeta[4] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[3]), 1));
tmp6 = mmc_unbox_integer(tmpMeta[4]);
tmpMeta[5] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[3]), 2));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[5],2,1) == 0) goto tmp3_end;
tmpMeta[6] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[3]), 3));
tmp7 = mmc_unbox_integer(tmpMeta[6]);
_i_switchIndex = tmp6;
_i_div = tmp7;
_txt = tmp4_1;
_a_varDeclsInner = tmp4_3;
_a_startIndexInputs = tmp4_5;
_l_matchInputVar = omc_CodegenCFunctions_getTempDeclMatchInputName(threadData, _OMC_LIT20, omc_Tpl_textString(threadData, _a_startIndexInputs), _i_switchIndex);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT224);
_txt = omc_Tpl_writeText(threadData, _txt, _l_matchInputVar);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT226);
_txt = omc_Tpl_writeStr(threadData, _txt, intString(_i_div));
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT78);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_varDeclsInner;
goto tmp3_done;
}
case 1: {
modelica_integer tmp8;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,2,1) == 0) goto tmp3_end;
tmpMeta[2] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
if (optionNone(tmpMeta[2])) goto tmp3_end;
tmpMeta[3] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[2]), 1));
tmpMeta[4] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[3]), 1));
tmp8 = mmc_unbox_integer(tmpMeta[4]);
tmpMeta[5] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[3]), 2));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[5],25,1) == 0) goto tmp3_end;
_i_switchIndex = tmp8;
_txt = tmp4_1;
_a_varDeclsInner = tmp4_3;
_a_startIndexInputs = tmp4_5;
_l_matchInputVar = omc_CodegenCFunctions_getTempDeclMatchInputName(threadData, _OMC_LIT20, omc_Tpl_textString(threadData, _a_startIndexInputs), _i_switchIndex);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT228);
_txt = omc_Tpl_writeText(threadData, _txt, _l_matchInputVar);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT78);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_varDeclsInner;
goto tmp3_done;
}
case 2: {
modelica_integer tmp9;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,2,1) == 0) goto tmp3_end;
tmpMeta[2] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
if (optionNone(tmpMeta[2])) goto tmp3_end;
tmpMeta[3] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[2]), 1));
tmpMeta[4] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[3]), 1));
tmp9 = mmc_unbox_integer(tmpMeta[4]);
tmpMeta[5] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[3]), 2));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[5],0,1) == 0) goto tmp3_end;
_i_switchIndex = tmp9;
_txt = tmp4_1;
_a_varDeclsInner = tmp4_3;
_a_startIndexInputs = tmp4_5;
_l_matchInputVar = omc_CodegenCFunctions_getTempDeclMatchInputName(threadData, _OMC_LIT20, omc_Tpl_textString(threadData, _a_startIndexInputs), _i_switchIndex);
_txt = omc_Tpl_writeText(threadData, _txt, _l_matchInputVar);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_varDeclsInner;
goto tmp3_done;
}
case 3: {
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,2,1) == 0) goto tmp3_end;
tmpMeta[2] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
if (optionNone(tmpMeta[2])) goto tmp3_end;
tmpMeta[3] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[2]), 1));
_txt = tmp4_1;
_a_varDeclsInner = tmp4_3;
_a_exp = tmp4_4;
_txt_1 = omc_Tpl_writeTok(threadData, _OMC_LIT20, _OMC_LIT230);
_txt_1 = omc_ExpressionDumpTpl_dumpExp(threadData, _txt_1, _a_exp, _OMC_LIT231);
_txt = omc_CodegenUtil_error(threadData, _txt, omc_Tpl_sourceInfo(threadData, _OMC_LIT27, ((modelica_integer) 7316), ((modelica_integer) 13)), omc_Tpl_textString(threadData, _txt_1));
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_varDeclsInner;
goto tmp3_done;
}
case 4: {
_txt = tmp4_1;
_a_varDeclsInner = tmp4_3;
tmpMeta[0+0] = omc_CodegenCFunctions_tempDecl(threadData, _txt, _OMC_LIT232, _a_varDeclsInner, &tmpMeta[0+1]);
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta[0+0];
_out_a_varDeclsInner = tmpMeta[0+1];
_return: OMC_LABEL_UNUSED
if (out_out_a_varDeclsInner) { *out_out_a_varDeclsInner = _out_a_varDeclsInner; }
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_lm__1171(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_items, modelica_metatype _in_a_auxFunction, modelica_metatype _in_a_preExpInput, modelica_metatype _in_a_context, modelica_metatype _in_a_expInput, modelica_metatype _in_a_varDeclsInput, modelica_metatype _in_a_startIndexInputs, modelica_metatype _in_a_exp_matchType, modelica_metatype *out_out_a_auxFunction, modelica_metatype *out_out_a_preExpInput, modelica_metatype *out_out_a_expInput, modelica_metatype *out_out_a_varDeclsInput)
{
modelica_metatype _out_txt = NULL;
modelica_metatype _out_a_auxFunction = NULL;
modelica_metatype _out_a_preExpInput = NULL;
modelica_metatype _out_a_expInput = NULL;
modelica_metatype _out_a_varDeclsInput = NULL;
modelica_metatype tmpMeta[9] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_metatype tmp4_2;modelica_metatype tmp4_3;modelica_metatype tmp4_4;modelica_metatype tmp4_5;modelica_metatype tmp4_6;modelica_metatype tmp4_7;modelica_metatype tmp4_8;modelica_metatype tmp4_9;
tmp4_1 = _in_txt;
tmp4_2 = _in_items;
tmp4_3 = _in_a_auxFunction;
tmp4_4 = _in_a_preExpInput;
tmp4_5 = _in_a_context;
tmp4_6 = _in_a_expInput;
tmp4_7 = _in_a_varDeclsInput;
tmp4_8 = _in_a_startIndexInputs;
tmp4_9 = _in_a_exp_matchType;
{
modelica_metatype _txt = NULL;
modelica_metatype _rest = NULL;
modelica_metatype _a_auxFunction = NULL;
modelica_metatype _a_preExpInput = NULL;
modelica_metatype _a_context = NULL;
modelica_metatype _a_expInput = NULL;
modelica_metatype _a_varDeclsInput = NULL;
modelica_metatype _a_startIndexInputs = NULL;
modelica_metatype _a_exp_matchType = NULL;
modelica_integer _x_i1;
modelica_metatype _i_alias = NULL;
modelica_metatype _i_e1 = NULL;
modelica_metatype _l_decl = NULL;
modelica_metatype _l_typ = NULL;
volatile mmc_switch_type tmp4;
int tmp5;
tmp4 = 0;
for (; tmp4 < 2; tmp4++) {
switch (MMC_SWITCH_CAST(tmp4)) {
case 0: {
if (!listEmpty(tmp4_2)) goto tmp3_end;
_txt = tmp4_1;
_a_auxFunction = tmp4_3;
_a_preExpInput = tmp4_4;
_a_expInput = tmp4_6;
_a_varDeclsInput = tmp4_7;
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_auxFunction;
tmpMeta[0+2] = _a_preExpInput;
tmpMeta[0+3] = _a_expInput;
tmpMeta[0+4] = _a_varDeclsInput;
goto tmp3_done;
}
case 1: {
if (listEmpty(tmp4_2)) goto tmp3_end;
tmpMeta[5] = MMC_CAR(tmp4_2);
tmpMeta[6] = MMC_CDR(tmp4_2);
tmpMeta[7] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[5]), 1));
tmpMeta[8] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[5]), 2));
_i_e1 = tmpMeta[7];
_i_alias = tmpMeta[8];
_rest = tmpMeta[6];
_txt = tmp4_1;
_a_auxFunction = tmp4_3;
_a_preExpInput = tmp4_4;
_a_context = tmp4_5;
_a_expInput = tmp4_6;
_a_varDeclsInput = tmp4_7;
_a_startIndexInputs = tmp4_8;
_a_exp_matchType = tmp4_9;
_x_i1 = omc_Tpl_getIteri__i0(threadData, _txt);
_l_typ = omc_CodegenCFunctions_expTypeFromExpModelica(threadData, _OMC_LIT20, _i_e1);
_l_decl = omc_CodegenCFunctions_tempDeclMatchInput(threadData, _OMC_LIT20, _a_exp_matchType, omc_Tpl_textString(threadData, _l_typ), omc_Tpl_textString(threadData, _a_startIndexInputs), intString(_x_i1), _a_varDeclsInput ,&_a_varDeclsInput);
_a_expInput = omc_Tpl_writeText(threadData, _a_expInput, _l_decl);
_a_expInput = omc_Tpl_writeTok(threadData, _a_expInput, _OMC_LIT121);
_a_expInput = omc_CodegenCFunctions_daeExp(threadData, _a_expInput, _i_e1, _a_context, _a_preExpInput, _a_varDeclsInput, _a_auxFunction ,&_a_preExpInput ,&_a_varDeclsInput ,&_a_auxFunction);
_a_expInput = omc_Tpl_writeTok(threadData, _a_expInput, _OMC_LIT105);
_a_expInput = omc_Tpl_writeTok(threadData, _a_expInput, _OMC_LIT89);
_a_expInput = omc_Tpl_pushIter(threadData, _a_expInput, _OMC_LIT96);
_a_expInput = omc_CodegenCFunctions_lm__1170(threadData, _a_expInput, _i_alias, _l_decl, _l_typ, _a_varDeclsInput ,&_a_varDeclsInput);
_a_expInput = omc_Tpl_popIter(threadData, _a_expInput);
_txt = omc_Tpl_nextIter(threadData, _txt);
_in_txt = _txt;
_in_items = _rest;
_in_a_auxFunction = _a_auxFunction;
_in_a_preExpInput = _a_preExpInput;
_in_a_context = _a_context;
_in_a_expInput = _a_expInput;
_in_a_varDeclsInput = _a_varDeclsInput;
_in_a_startIndexInputs = _a_startIndexInputs;
_in_a_exp_matchType = _a_exp_matchType;
goto _tailrecursive;
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta[0+0];
_out_a_auxFunction = tmpMeta[0+1];
_out_a_preExpInput = tmpMeta[0+2];
_out_a_expInput = tmpMeta[0+3];
_out_a_varDeclsInput = tmpMeta[0+4];
_return: OMC_LABEL_UNUSED
if (out_out_a_auxFunction) { *out_out_a_auxFunction = _out_a_auxFunction; }
if (out_out_a_preExpInput) { *out_out_a_preExpInput = _out_a_preExpInput; }
if (out_out_a_expInput) { *out_out_a_expInput = _out_a_expInput; }
if (out_out_a_varDeclsInput) { *out_out_a_varDeclsInput = _out_a_varDeclsInput; }
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_lm__1170(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_items, modelica_metatype _in_a_decl, modelica_metatype _in_a_typ, modelica_metatype _in_a_varDeclsInput, modelica_metatype *out_out_a_varDeclsInput)
{
modelica_metatype _out_txt = NULL;
modelica_metatype _out_a_varDeclsInput = NULL;
modelica_metatype tmpMeta[4] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_metatype tmp4_2;modelica_metatype tmp4_3;modelica_metatype tmp4_4;modelica_metatype tmp4_5;
tmp4_1 = _in_txt;
tmp4_2 = _in_items;
tmp4_3 = _in_a_decl;
tmp4_4 = _in_a_typ;
tmp4_5 = _in_a_varDeclsInput;
{
modelica_metatype _txt = NULL;
modelica_metatype _rest = NULL;
modelica_metatype _a_decl = NULL;
modelica_metatype _a_typ = NULL;
modelica_metatype _a_varDeclsInput = NULL;
modelica_string _i_a = NULL;
volatile mmc_switch_type tmp4;
int tmp5;
tmp4 = 0;
for (; tmp4 < 2; tmp4++) {
switch (MMC_SWITCH_CAST(tmp4)) {
case 0: {
if (!listEmpty(tmp4_2)) goto tmp3_end;
_txt = tmp4_1;
_a_varDeclsInput = tmp4_5;
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_varDeclsInput;
goto tmp3_done;
}
case 1: {
if (listEmpty(tmp4_2)) goto tmp3_end;
tmpMeta[2] = MMC_CAR(tmp4_2);
tmpMeta[3] = MMC_CDR(tmp4_2);
_i_a = tmpMeta[2];
_rest = tmpMeta[3];
_txt = tmp4_1;
_a_decl = tmp4_3;
_a_typ = tmp4_4;
_a_varDeclsInput = tmp4_5;
_a_varDeclsInput = omc_Tpl_writeText(threadData, _a_varDeclsInput, _a_typ);
_a_varDeclsInput = omc_Tpl_writeTok(threadData, _a_varDeclsInput, _OMC_LIT234);
_a_varDeclsInput = omc_Tpl_writeStr(threadData, _a_varDeclsInput, _i_a);
_a_varDeclsInput = omc_Tpl_writeTok(threadData, _a_varDeclsInput, _OMC_LIT105);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT236);
_txt = omc_Tpl_writeStr(threadData, _txt, _i_a);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT121);
_txt = omc_Tpl_writeText(threadData, _txt, _a_decl);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT105);
_txt = omc_Tpl_nextIter(threadData, _txt);
_in_txt = _txt;
_in_items = _rest;
_in_a_decl = _a_decl;
_in_a_typ = _a_typ;
_in_a_varDeclsInput = _a_varDeclsInput;
goto _tailrecursive;
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta[0+0];
_out_a_varDeclsInput = tmpMeta[0+1];
_return: OMC_LABEL_UNUSED
if (out_out_a_varDeclsInput) { *out_out_a_varDeclsInput = _out_a_varDeclsInput; }
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_lm__1169(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_items, modelica_metatype _in_a_auxFunction, modelica_metatype _in_a_varFrees, modelica_metatype _in_a_preExpInner, modelica_metatype _in_a_varDeclsInner, modelica_metatype *out_out_a_auxFunction, modelica_metatype *out_out_a_varFrees, modelica_metatype *out_out_a_preExpInner, modelica_metatype *out_out_a_varDeclsInner)
{
modelica_metatype _out_txt = NULL;
modelica_metatype _out_a_auxFunction = NULL;
modelica_metatype _out_a_varFrees = NULL;
modelica_metatype _out_a_preExpInner = NULL;
modelica_metatype _out_a_varDeclsInner = NULL;
modelica_metatype tmpMeta[7] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_metatype tmp4_2;modelica_metatype tmp4_3;modelica_metatype tmp4_4;modelica_metatype tmp4_5;modelica_metatype tmp4_6;
tmp4_1 = _in_txt;
tmp4_2 = _in_items;
tmp4_3 = _in_a_auxFunction;
tmp4_4 = _in_a_varFrees;
tmp4_5 = _in_a_preExpInner;
tmp4_6 = _in_a_varDeclsInner;
{
modelica_metatype _txt = NULL;
modelica_metatype _rest = NULL;
modelica_metatype _a_auxFunction = NULL;
modelica_metatype _a_varFrees = NULL;
modelica_metatype _a_preExpInner = NULL;
modelica_metatype _a_varDeclsInner = NULL;
modelica_metatype _i_var = NULL;
volatile mmc_switch_type tmp4;
int tmp5;
tmp4 = 0;
for (; tmp4 < 2; tmp4++) {
switch (MMC_SWITCH_CAST(tmp4)) {
case 0: {
if (!listEmpty(tmp4_2)) goto tmp3_end;
_txt = tmp4_1;
_a_auxFunction = tmp4_3;
_a_varFrees = tmp4_4;
_a_preExpInner = tmp4_5;
_a_varDeclsInner = tmp4_6;
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_auxFunction;
tmpMeta[0+2] = _a_varFrees;
tmpMeta[0+3] = _a_preExpInner;
tmpMeta[0+4] = _a_varDeclsInner;
goto tmp3_done;
}
case 1: {
if (listEmpty(tmp4_2)) goto tmp3_end;
tmpMeta[5] = MMC_CAR(tmp4_2);
tmpMeta[6] = MMC_CDR(tmp4_2);
_i_var = tmpMeta[5];
_rest = tmpMeta[6];
_txt = tmp4_1;
_a_auxFunction = tmp4_3;
_a_varFrees = tmp4_4;
_a_preExpInner = tmp4_5;
_a_varDeclsInner = tmp4_6;
_txt = omc_CodegenCFunctions_varInit(threadData, _txt, _i_var, _OMC_LIT91, _a_varDeclsInner, _a_preExpInner, _a_varFrees, _a_auxFunction ,&_a_varDeclsInner ,&_a_preExpInner ,&_a_varFrees ,&_a_auxFunction);
_in_txt = _txt;
_in_items = _rest;
_in_a_auxFunction = _a_auxFunction;
_in_a_varFrees = _a_varFrees;
_in_a_preExpInner = _a_preExpInner;
_in_a_varDeclsInner = _a_varDeclsInner;
goto _tailrecursive;
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta[0+0];
_out_a_auxFunction = tmpMeta[0+1];
_out_a_varFrees = tmpMeta[0+2];
_out_a_preExpInner = tmpMeta[0+3];
_out_a_varDeclsInner = tmpMeta[0+4];
_return: OMC_LABEL_UNUSED
if (out_out_a_auxFunction) { *out_out_a_auxFunction = _out_a_auxFunction; }
if (out_out_a_varFrees) { *out_out_a_varFrees = _out_a_varFrees; }
if (out_out_a_preExpInner) { *out_out_a_preExpInner = _out_a_preExpInner; }
if (out_out_a_varDeclsInner) { *out_out_a_varDeclsInner = _out_a_varDeclsInner; }
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__1168(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_exp_matchType)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta[1] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp3_1;modelica_metatype tmp3_2;
tmp3_1 = _in_txt;
tmp3_2 = _in_a_exp_matchType;
{
modelica_metatype _txt = NULL;
modelica_integer _ret_0;
volatile mmc_switch_type tmp3;
int tmp4;
tmp3 = 0;
for (; tmp3 < 2; tmp3++) {
switch (MMC_SWITCH_CAST(tmp3)) {
case 0: {
if (mmc__uniontype__metarecord__typedef__equal(tmp3_2,1,0) == 0) goto tmp2_end;
_txt = tmp3_1;
tmpMeta[0] = _txt;
goto tmp2_done;
}
case 1: {
_txt = tmp3_1;
_ret_0 = omc_System_tmpTick(threadData);
omc_SimCodeFunctionUtil_codegenPushTryThrowIndex(threadData, _ret_0);
tmpMeta[0] = _txt;
goto tmp2_done;
}
}
goto tmp2_end;
tmp2_end: ;
}
goto goto_1;
goto_1:;
MMC_THROW_INTERNAL();
goto tmp2_done;
tmp2_done:;
}
}
_out_txt = tmpMeta[0];
_return: OMC_LABEL_UNUSED
return _out_txt;
}
DLLExport
modelica_metatype omc_CodegenCFunctions_daeExpMatch(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_exp, modelica_metatype _in_a_context, modelica_metatype _in_a_preExp, modelica_metatype _in_a_varDecls, modelica_metatype _in_a_auxFunction, modelica_metatype *out_out_a_preExp, modelica_metatype *out_out_a_varDecls, modelica_metatype *out_out_a_auxFunction)
{
modelica_metatype _out_txt = NULL;
modelica_metatype _out_a_preExp = NULL;
modelica_metatype _out_a_varDecls = NULL;
modelica_metatype _out_a_auxFunction = NULL;
modelica_metatype tmpMeta[5] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_metatype tmp4_2;modelica_metatype tmp4_3;modelica_metatype tmp4_4;modelica_metatype tmp4_5;modelica_metatype tmp4_6;
tmp4_1 = _in_txt;
tmp4_2 = _in_a_exp;
tmp4_3 = _in_a_context;
tmp4_4 = _in_a_preExp;
tmp4_5 = _in_a_varDecls;
tmp4_6 = _in_a_auxFunction;
{
modelica_metatype _txt = NULL;
modelica_metatype _a_context = NULL;
modelica_metatype _a_preExp = NULL;
modelica_metatype _a_varDecls = NULL;
modelica_metatype _a_auxFunction = NULL;
modelica_metatype _i_exp = NULL;
modelica_metatype _i_et = NULL;
modelica_metatype _l_startIndexOutputs = NULL;
modelica_metatype _l_res = NULL;
volatile mmc_switch_type tmp4;
int tmp5;
tmp4 = 0;
for (; tmp4 < 2; tmp4++) {
switch (MMC_SWITCH_CAST(tmp4)) {
case 0: {
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,33,6) == 0) goto tmp3_end;
tmpMeta[4] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 7));
_i_exp = tmp4_2;
_i_et = tmpMeta[4];
_txt = tmp4_1;
_a_context = tmp4_3;
_a_preExp = tmp4_4;
_a_varDecls = tmp4_5;
_a_auxFunction = tmp4_6;
_l_res = omc_CodegenCFunctions_fun__1166(threadData, _OMC_LIT20, _i_et, _a_varDecls, _i_exp ,&_a_varDecls);
_l_startIndexOutputs = omc_Tpl_writeTok(threadData, _OMC_LIT20, _OMC_LIT238);
_txt = omc_CodegenCFunctions_daeExpMatch2(threadData, _txt, _i_exp, _OMC_LIT240, _l_res, _l_startIndexOutputs, _a_context, _a_preExp, _a_varDecls, _a_auxFunction ,&_l_res ,&_l_startIndexOutputs ,&_a_preExp ,&_a_varDecls ,&_a_auxFunction);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_preExp;
tmpMeta[0+2] = _a_varDecls;
tmpMeta[0+3] = _a_auxFunction;
goto tmp3_done;
}
case 1: {
_txt = tmp4_1;
_a_preExp = tmp4_4;
_a_varDecls = tmp4_5;
_a_auxFunction = tmp4_6;
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_preExp;
tmpMeta[0+2] = _a_varDecls;
tmpMeta[0+3] = _a_auxFunction;
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta[0+0];
_out_a_preExp = tmpMeta[0+1];
_out_a_varDecls = tmpMeta[0+2];
_out_a_auxFunction = tmpMeta[0+3];
_return: OMC_LABEL_UNUSED
if (out_out_a_preExp) { *out_out_a_preExp = _out_a_preExp; }
if (out_out_a_varDecls) { *out_out_a_varDecls = _out_a_varDecls; }
if (out_out_a_auxFunction) { *out_out_a_auxFunction = _out_a_auxFunction; }
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__1166(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_et, modelica_metatype _in_a_varDecls, modelica_metatype _in_a_exp, modelica_metatype *out_out_a_varDecls)
{
modelica_metatype _out_txt = NULL;
modelica_metatype _out_a_varDecls = NULL;
modelica_metatype tmpMeta[3] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_metatype tmp4_2;modelica_metatype tmp4_3;modelica_metatype tmp4_4;
tmp4_1 = _in_txt;
tmp4_2 = _in_a_et;
tmp4_3 = _in_a_varDecls;
tmp4_4 = _in_a_exp;
{
modelica_metatype _txt = NULL;
modelica_metatype _a_varDecls = NULL;
modelica_metatype _a_exp = NULL;
modelica_metatype _i_et = NULL;
modelica_metatype _txt_2 = NULL;
modelica_metatype _txt_1 = NULL;
modelica_metatype _txt_0 = NULL;
volatile mmc_switch_type tmp4;
int tmp5;
tmp4 = 0;
for (; tmp4 < 3; tmp4++) {
switch (MMC_SWITCH_CAST(tmp4)) {
case 0: {
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,7,0) == 0) goto tmp3_end;
_txt = tmp4_1;
_a_varDecls = tmp4_3;
_a_exp = tmp4_4;
_txt_0 = omc_Tpl_writeTok(threadData, _OMC_LIT20, _OMC_LIT242);
_txt_0 = omc_ExpressionDumpTpl_dumpExp(threadData, _txt_0, _a_exp, _OMC_LIT231);
_txt = omc_CodegenUtil_error(threadData, _txt, omc_Tpl_sourceInfo(threadData, _OMC_LIT27, ((modelica_integer) 7269), ((modelica_integer) 37)), omc_Tpl_textString(threadData, _txt_0));
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_varDecls;
goto tmp3_done;
}
case 1: {
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,14,2) == 0) goto tmp3_end;
tmpMeta[2] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
if (!listEmpty(tmpMeta[2])) goto tmp3_end;
_txt = tmp4_1;
_a_varDecls = tmp4_3;
_a_exp = tmp4_4;
_txt_1 = omc_Tpl_writeTok(threadData, _OMC_LIT20, _OMC_LIT244);
_txt_1 = omc_ExpressionDumpTpl_dumpExp(threadData, _txt_1, _a_exp, _OMC_LIT231);
_txt = omc_CodegenUtil_error(threadData, _txt, omc_Tpl_sourceInfo(threadData, _OMC_LIT27, ((modelica_integer) 7270), ((modelica_integer) 39)), omc_Tpl_textString(threadData, _txt_1));
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_varDecls;
goto tmp3_done;
}
case 2: {
_txt = tmp4_1;
_i_et = tmp4_2;
_a_varDecls = tmp4_3;
_txt_2 = omc_CodegenCFunctions_expTypeModelica(threadData, _OMC_LIT20, _i_et);
tmpMeta[0+0] = omc_CodegenCFunctions_tempDeclZero(threadData, _txt, omc_Tpl_textString(threadData, _txt_2), _a_varDecls, &tmpMeta[0+1]);
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta[0+0];
_out_a_varDecls = tmpMeta[0+1];
_return: OMC_LABEL_UNUSED
if (out_out_a_varDecls) { *out_out_a_varDecls = _out_a_varDecls; }
return _out_txt;
}
DLLExport
modelica_metatype omc_CodegenCFunctions_daeExpReduction(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_exp, modelica_metatype _in_a_context, modelica_metatype _in_a_preExp, modelica_metatype _in_a_varDecls, modelica_metatype _in_a_auxFunction, modelica_metatype *out_out_a_preExp, modelica_metatype *out_out_a_varDecls, modelica_metatype *out_out_a_auxFunction)
{
modelica_metatype _out_txt = NULL;
modelica_metatype _out_a_preExp = NULL;
modelica_metatype _out_a_varDecls = NULL;
modelica_metatype _out_a_auxFunction = NULL;
modelica_metatype tmpMeta[15] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_metatype tmp4_2;modelica_metatype tmp4_3;modelica_metatype tmp4_4;modelica_metatype tmp4_5;modelica_metatype tmp4_6;
tmp4_1 = _in_txt;
tmp4_2 = _in_a_exp;
tmp4_3 = _in_a_context;
tmp4_4 = _in_a_preExp;
tmp4_5 = _in_a_varDecls;
tmp4_6 = _in_a_auxFunction;
{
modelica_metatype _txt = NULL;
modelica_metatype _a_context = NULL;
modelica_metatype _a_preExp = NULL;
modelica_metatype _a_varDecls = NULL;
modelica_metatype _a_auxFunction = NULL;
modelica_metatype _i_exp = NULL;
modelica_metatype _i_iterators = NULL;
modelica_metatype _i_ri_foldExp = NULL;
modelica_metatype _i_r_expr = NULL;
modelica_string _i_ri_foldName = NULL;
modelica_string _i_ri_resultName = NULL;
modelica_metatype _i_ri_defaultValue = NULL;
modelica_metatype _i_ri_path = NULL;
modelica_metatype _i_r = NULL;
modelica_metatype _txt_31 = NULL;
modelica_integer _ret_30;
modelica_metatype _ret_29 = NULL;
modelica_metatype _ret_28 = NULL;
modelica_metatype _ret_27 = NULL;
modelica_metatype _ret_26 = NULL;
modelica_integer _ret_25;
modelica_metatype _l_loop = NULL;
modelica_metatype _l_firstValue = NULL;
modelica_metatype _l_loopHeadIter = NULL;
modelica_metatype _l_endLoop = NULL;
modelica_metatype _l_foldExp = NULL;
modelica_metatype _l_reductionBodyExprWork = NULL;
modelica_metatype _ret_18 = NULL;
modelica_metatype _l_bodyExprType = NULL;
modelica_metatype _ret_16 = NULL;
modelica_metatype _l_reductionBodyExpr = NULL;
modelica_metatype _l_defaultValue = NULL;
modelica_metatype _l_resTail = NULL;
modelica_metatype _l_preDefault = NULL;
modelica_metatype _l_resTmp = NULL;
modelica_metatype _ret_10 = NULL;
modelica_metatype _l_res = NULL;
modelica_metatype _ret_8 = NULL;
modelica_metatype _l_resType = NULL;
modelica_metatype _l_foundFirst = NULL;
modelica_metatype _l_arrIndex = NULL;
modelica_metatype _l_arrayTypeResult = NULL;
modelica_metatype _l_rangeExpPre = NULL;
modelica_metatype _l_bodyExpPre = NULL;
modelica_metatype _l_tmpVarDecls = NULL;
volatile mmc_switch_type tmp4;
int tmp5;
tmp4 = 0;
for (; tmp4 < 3; tmp4++) {
switch (MMC_SWITCH_CAST(tmp4)) {
case 0: {
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,27,3) == 0) goto tmp3_end;
tmpMeta[4] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
tmpMeta[5] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[4]), 2));
tmpMeta[6] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[4]), 3));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[6],1,0) == 0) goto tmp3_end;
tmpMeta[7] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[4]), 5));
tmpMeta[8] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[4]), 6));
tmpMeta[9] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[4]), 7));
tmpMeta[10] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[4]), 8));
tmpMeta[11] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 3));
tmpMeta[12] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 4));
_i_r = tmp4_2;
_i_ri_path = tmpMeta[5];
_i_ri_defaultValue = tmpMeta[7];
_i_ri_foldName = tmpMeta[8];
_i_ri_resultName = tmpMeta[9];
_i_ri_foldExp = tmpMeta[10];
_i_r_expr = tmpMeta[11];
_i_iterators = tmpMeta[12];
_txt = tmp4_1;
_a_context = tmp4_3;
_a_preExp = tmp4_4;
_a_varDecls = tmp4_5;
_a_auxFunction = tmp4_6;
_l_tmpVarDecls = _OMC_LIT20;
_l_bodyExpPre = _OMC_LIT20;
_l_rangeExpPre = _OMC_LIT20;
_l_arrayTypeResult = omc_CodegenCFunctions_expTypeFromExpArray(threadData, _OMC_LIT20, _i_r);
_l_arrIndex = omc_CodegenCFunctions_fun__1049(threadData, _OMC_LIT20, _i_ri_path, _l_tmpVarDecls ,&_l_tmpVarDecls);
_l_foundFirst = omc_CodegenCFunctions_fun__1051(threadData, _OMC_LIT20, _i_ri_path, _l_tmpVarDecls, _i_ri_defaultValue ,&_l_tmpVarDecls);
_ret_8 = omc_Expression_typeof(threadData, _i_r);
_l_resType = omc_CodegenCFunctions_expTypeArrayIf(threadData, _OMC_LIT20, _ret_8);
_ret_10 = omc_ComponentReference_makeUntypedCrefIdent(threadData, _i_ri_resultName);
_l_res = omc_CodegenCFunctions_contextCref(threadData, _OMC_LIT20, _ret_10, _a_context, _a_preExp, _a_varDecls, _a_auxFunction ,&_a_preExp ,&_a_varDecls ,&_a_auxFunction);
_l_tmpVarDecls = omc_Tpl_writeText(threadData, _l_tmpVarDecls, _l_resType);
_l_tmpVarDecls = omc_Tpl_writeTok(threadData, _l_tmpVarDecls, _OMC_LIT29);
_l_tmpVarDecls = omc_Tpl_writeText(threadData, _l_tmpVarDecls, _l_res);
_l_tmpVarDecls = omc_Tpl_writeTok(threadData, _l_tmpVarDecls, _OMC_LIT105);
_l_tmpVarDecls = omc_Tpl_writeTok(threadData, _l_tmpVarDecls, _OMC_LIT89);
_l_resTmp = omc_CodegenCFunctions_tempDecl(threadData, _OMC_LIT20, omc_Tpl_textString(threadData, _l_resType), _a_varDecls ,&_a_varDecls);
_l_preDefault = _OMC_LIT20;
_l_resTail = omc_CodegenCFunctions_fun__1052(threadData, _OMC_LIT20, _i_ri_path, _l_tmpVarDecls ,&_l_tmpVarDecls);
_l_defaultValue = omc_CodegenCFunctions_fun__1054(threadData, _OMC_LIT20, _i_ri_path, _a_auxFunction, _l_tmpVarDecls, _l_preDefault, _a_context, _i_ri_defaultValue ,&_a_auxFunction ,&_l_tmpVarDecls ,&_l_preDefault);
_ret_16 = omc_ComponentReference_makeUntypedCrefIdent(threadData, _i_ri_foldName);
_l_reductionBodyExpr = omc_CodegenCFunctions_contextCref(threadData, _OMC_LIT20, _ret_16, _a_context, _a_preExp, _a_varDecls, _a_auxFunction ,&_a_preExp ,&_a_varDecls ,&_a_auxFunction);
_ret_18 = omc_Expression_typeof(threadData, _i_r_expr);
_l_bodyExprType = omc_CodegenCFunctions_expTypeArrayIf(threadData, _OMC_LIT20, _ret_18);
_l_reductionBodyExprWork = omc_CodegenCFunctions_daeExp(threadData, _OMC_LIT20, _i_r_expr, _a_context, _l_bodyExpPre, _l_tmpVarDecls, _a_auxFunction ,&_l_bodyExpPre ,&_l_tmpVarDecls ,&_a_auxFunction);
_l_tmpVarDecls = omc_Tpl_writeText(threadData, _l_tmpVarDecls, _l_bodyExprType);
_l_tmpVarDecls = omc_Tpl_writeTok(threadData, _l_tmpVarDecls, _OMC_LIT29);
_l_tmpVarDecls = omc_Tpl_writeText(threadData, _l_tmpVarDecls, _l_reductionBodyExpr);
_l_tmpVarDecls = omc_Tpl_writeTok(threadData, _l_tmpVarDecls, _OMC_LIT105);
_l_tmpVarDecls = omc_Tpl_writeTok(threadData, _l_tmpVarDecls, _OMC_LIT89);
_l_bodyExpPre = omc_Tpl_writeText(threadData, _l_bodyExpPre, _l_reductionBodyExpr);
_l_bodyExpPre = omc_Tpl_writeTok(threadData, _l_bodyExpPre, _OMC_LIT121);
_l_bodyExpPre = omc_Tpl_writeText(threadData, _l_bodyExpPre, _l_reductionBodyExprWork);
_l_bodyExpPre = omc_Tpl_writeTok(threadData, _l_bodyExpPre, _OMC_LIT105);
_l_bodyExpPre = omc_Tpl_writeTok(threadData, _l_bodyExpPre, _OMC_LIT89);
_l_foldExp = omc_CodegenCFunctions_fun__1059(threadData, _OMC_LIT20, _i_ri_path, _l_foundFirst, _a_auxFunction, _l_tmpVarDecls, _l_bodyExpPre, _a_context, _i_ri_foldExp, _l_arrayTypeResult, _a_varDecls, _l_arrIndex, _i_r_expr, _l_res, _l_reductionBodyExpr, _l_resTail ,&_a_auxFunction ,&_l_tmpVarDecls ,&_l_bodyExpPre ,&_a_varDecls);
_l_endLoop = omc_CodegenCFunctions_tempDecl(threadData, _OMC_LIT20, _OMC_LIT140, _l_tmpVarDecls ,&_l_tmpVarDecls);
_l_loopHeadIter = omc_CodegenCFunctions_lm__1093(threadData, _OMC_LIT20, _i_iterators, _l_endLoop, _i_ri_path, _a_auxFunction, _l_rangeExpPre, _l_tmpVarDecls, _a_context ,&_a_auxFunction ,&_l_rangeExpPre ,&_l_tmpVarDecls);
_l_firstValue = omc_CodegenCFunctions_fun__1102(threadData, _OMC_LIT20, _i_ri_path, _l_defaultValue, _l_preDefault, _l_foundFirst, _l_arrayTypeResult, _a_auxFunction, _l_res, _i_r_expr, _l_arrIndex, _a_context, _i_iterators, _l_rangeExpPre, _l_tmpVarDecls ,&_a_auxFunction ,&_l_rangeExpPre ,&_l_tmpVarDecls);
_l_loop = omc_Tpl_writeTok(threadData, _OMC_LIT20, _OMC_LIT246);
_l_loop = omc_Tpl_pushBlock(threadData, _l_loop, _OMC_LIT97);
_l_loop = omc_Tpl_writeText(threadData, _l_loop, _l_endLoop);
_l_loop = omc_Tpl_writeTok(threadData, _l_loop, _OMC_LIT121);
_ret_25 = listLength(_i_iterators);
_l_loop = omc_Tpl_writeStr(threadData, _l_loop, intString(_ret_25));
_l_loop = omc_Tpl_writeTok(threadData, _l_loop, _OMC_LIT161);
_l_loop = omc_Tpl_writeText(threadData, _l_loop, _l_loopHeadIter);
_l_loop = omc_Tpl_softNewLine(threadData, _l_loop);
_l_loop = omc_Tpl_writeTok(threadData, _l_loop, _OMC_LIT248);
_l_loop = omc_Tpl_writeText(threadData, _l_loop, _l_endLoop);
_l_loop = omc_Tpl_writeTok(threadData, _l_loop, _OMC_LIT250);
_l_loop = omc_Tpl_pushBlock(threadData, _l_loop, _OMC_LIT97);
_l_loop = omc_Tpl_writeText(threadData, _l_loop, _l_bodyExpPre);
_l_loop = omc_Tpl_softNewLine(threadData, _l_loop);
_l_loop = omc_Tpl_writeText(threadData, _l_loop, _l_foldExp);
_l_loop = omc_Tpl_softNewLine(threadData, _l_loop);
_l_loop = omc_Tpl_popBlock(threadData, _l_loop);
_l_loop = omc_Tpl_writeTok(threadData, _l_loop, _OMC_LIT252);
_l_loop = omc_CodegenCFunctions_fun__1103(threadData, _l_loop, _i_iterators, _l_endLoop);
_l_loop = omc_Tpl_softNewLine(threadData, _l_loop);
_l_loop = omc_Tpl_popBlock(threadData, _l_loop);
_l_loop = omc_Tpl_writeTok(threadData, _l_loop, _OMC_LIT103);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT146);
_a_preExp = omc_Tpl_pushBlock(threadData, _a_preExp, _OMC_LIT97);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _l_tmpVarDecls);
_a_preExp = omc_Tpl_softNewLine(threadData, _a_preExp);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _l_rangeExpPre);
_a_preExp = omc_Tpl_softNewLine(threadData, _a_preExp);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _l_firstValue);
_a_preExp = omc_Tpl_softNewLine(threadData, _a_preExp);
_a_preExp = omc_CodegenCFunctions_fun__1104(threadData, _a_preExp, _l_resTail, _l_res);
_a_preExp = omc_Tpl_softNewLine(threadData, _a_preExp);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _l_loop);
_a_preExp = omc_Tpl_softNewLine(threadData, _a_preExp);
_a_preExp = omc_CodegenCFunctions_fun__1105(threadData, _a_preExp, _l_foundFirst);
_a_preExp = omc_Tpl_softNewLine(threadData, _a_preExp);
_a_preExp = omc_CodegenCFunctions_fun__1106(threadData, _a_preExp, _l_resTail);
_a_preExp = omc_Tpl_softNewLine(threadData, _a_preExp);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _l_resTmp);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT121);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _l_res);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT161);
_a_preExp = omc_Tpl_popBlock(threadData, _a_preExp);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT103);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT89);
_txt = omc_Tpl_writeText(threadData, _txt, _l_resTmp);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_preExp;
tmpMeta[0+2] = _a_varDecls;
tmpMeta[0+3] = _a_auxFunction;
goto tmp3_done;
}
case 1: {
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,27,3) == 0) goto tmp3_end;
tmpMeta[4] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
tmpMeta[5] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[4]), 2));
tmpMeta[6] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[4]), 3));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[6],0,0) == 0) goto tmp3_end;
tmpMeta[7] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[4]), 5));
tmpMeta[8] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[4]), 6));
tmpMeta[9] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[4]), 7));
tmpMeta[10] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[4]), 8));
tmpMeta[11] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 3));
tmpMeta[12] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 4));
if (listEmpty(tmpMeta[12])) goto tmp3_end;
tmpMeta[13] = MMC_CAR(tmpMeta[12]);
tmpMeta[14] = MMC_CDR(tmpMeta[12]);
if (!listEmpty(tmpMeta[14])) goto tmp3_end;
_i_r = tmp4_2;
_i_ri_path = tmpMeta[5];
_i_ri_defaultValue = tmpMeta[7];
_i_ri_foldName = tmpMeta[8];
_i_ri_resultName = tmpMeta[9];
_i_ri_foldExp = tmpMeta[10];
_i_r_expr = tmpMeta[11];
_i_iterators = tmpMeta[12];
_txt = tmp4_1;
_a_context = tmp4_3;
_a_preExp = tmp4_4;
_a_varDecls = tmp4_5;
_a_auxFunction = tmp4_6;
_l_tmpVarDecls = _OMC_LIT20;
_l_bodyExpPre = _OMC_LIT20;
_l_rangeExpPre = _OMC_LIT20;
_l_arrayTypeResult = omc_CodegenCFunctions_expTypeFromExpArray(threadData, _OMC_LIT20, _i_r);
_l_arrIndex = omc_CodegenCFunctions_fun__1107(threadData, _OMC_LIT20, _i_ri_path, _l_tmpVarDecls ,&_l_tmpVarDecls);
_l_foundFirst = omc_CodegenCFunctions_fun__1109(threadData, _OMC_LIT20, _i_ri_path, _l_tmpVarDecls, _i_ri_defaultValue ,&_l_tmpVarDecls);
_ret_26 = omc_Expression_typeof(threadData, _i_r);
_l_resType = omc_CodegenCFunctions_expTypeArrayIf(threadData, _OMC_LIT20, _ret_26);
_ret_27 = omc_ComponentReference_makeUntypedCrefIdent(threadData, _i_ri_resultName);
_l_res = omc_CodegenCFunctions_contextCref(threadData, _OMC_LIT20, _ret_27, _a_context, _a_preExp, _a_varDecls, _a_auxFunction ,&_a_preExp ,&_a_varDecls ,&_a_auxFunction);
_l_tmpVarDecls = omc_Tpl_writeText(threadData, _l_tmpVarDecls, _l_resType);
_l_tmpVarDecls = omc_Tpl_writeTok(threadData, _l_tmpVarDecls, _OMC_LIT29);
_l_tmpVarDecls = omc_Tpl_writeText(threadData, _l_tmpVarDecls, _l_res);
_l_tmpVarDecls = omc_Tpl_writeTok(threadData, _l_tmpVarDecls, _OMC_LIT105);
_l_tmpVarDecls = omc_Tpl_writeTok(threadData, _l_tmpVarDecls, _OMC_LIT89);
_l_resTmp = omc_CodegenCFunctions_tempDecl(threadData, _OMC_LIT20, omc_Tpl_textString(threadData, _l_resType), _a_varDecls ,&_a_varDecls);
_l_preDefault = _OMC_LIT20;
_l_resTail = omc_CodegenCFunctions_fun__1110(threadData, _OMC_LIT20, _i_ri_path, _l_tmpVarDecls ,&_l_tmpVarDecls);
_l_defaultValue = omc_CodegenCFunctions_fun__1112(threadData, _OMC_LIT20, _i_ri_path, _a_auxFunction, _l_tmpVarDecls, _l_preDefault, _a_context, _i_ri_defaultValue ,&_a_auxFunction ,&_l_tmpVarDecls ,&_l_preDefault);
_ret_28 = omc_ComponentReference_makeUntypedCrefIdent(threadData, _i_ri_foldName);
_l_reductionBodyExpr = omc_CodegenCFunctions_contextCref(threadData, _OMC_LIT20, _ret_28, _a_context, _a_preExp, _a_varDecls, _a_auxFunction ,&_a_preExp ,&_a_varDecls ,&_a_auxFunction);
_ret_29 = omc_Expression_typeof(threadData, _i_r_expr);
_l_bodyExprType = omc_CodegenCFunctions_expTypeArrayIf(threadData, _OMC_LIT20, _ret_29);
_l_reductionBodyExprWork = omc_CodegenCFunctions_daeExp(threadData, _OMC_LIT20, _i_r_expr, _a_context, _l_bodyExpPre, _l_tmpVarDecls, _a_auxFunction ,&_l_bodyExpPre ,&_l_tmpVarDecls ,&_a_auxFunction);
_l_tmpVarDecls = omc_Tpl_writeText(threadData, _l_tmpVarDecls, _l_bodyExprType);
_l_tmpVarDecls = omc_Tpl_writeTok(threadData, _l_tmpVarDecls, _OMC_LIT29);
_l_tmpVarDecls = omc_Tpl_writeText(threadData, _l_tmpVarDecls, _l_reductionBodyExpr);
_l_tmpVarDecls = omc_Tpl_writeTok(threadData, _l_tmpVarDecls, _OMC_LIT105);
_l_tmpVarDecls = omc_Tpl_writeTok(threadData, _l_tmpVarDecls, _OMC_LIT89);
_l_bodyExpPre = omc_Tpl_writeText(threadData, _l_bodyExpPre, _l_reductionBodyExpr);
_l_bodyExpPre = omc_Tpl_writeTok(threadData, _l_bodyExpPre, _OMC_LIT121);
_l_bodyExpPre = omc_Tpl_writeText(threadData, _l_bodyExpPre, _l_reductionBodyExprWork);
_l_bodyExpPre = omc_Tpl_writeTok(threadData, _l_bodyExpPre, _OMC_LIT105);
_l_bodyExpPre = omc_Tpl_writeTok(threadData, _l_bodyExpPre, _OMC_LIT89);
_l_foldExp = omc_CodegenCFunctions_fun__1117(threadData, _OMC_LIT20, _i_ri_path, _l_foundFirst, _a_auxFunction, _l_tmpVarDecls, _l_bodyExpPre, _a_context, _i_ri_foldExp, _l_arrayTypeResult, _a_varDecls, _l_arrIndex, _i_r_expr, _l_res, _l_reductionBodyExpr, _l_resTail ,&_a_auxFunction ,&_l_tmpVarDecls ,&_l_bodyExpPre ,&_a_varDecls);
_l_endLoop = omc_CodegenCFunctions_tempDecl(threadData, _OMC_LIT20, _OMC_LIT140, _l_tmpVarDecls ,&_l_tmpVarDecls);
_l_loopHeadIter = omc_CodegenCFunctions_lm__1151(threadData, _OMC_LIT20, _i_iterators, _l_endLoop, _i_ri_path, _a_auxFunction, _l_rangeExpPre, _l_tmpVarDecls, _a_context ,&_a_auxFunction ,&_l_rangeExpPre ,&_l_tmpVarDecls);
_l_firstValue = omc_CodegenCFunctions_fun__1160(threadData, _OMC_LIT20, _i_ri_path, _l_defaultValue, _l_preDefault, _l_foundFirst, _l_arrayTypeResult, _a_auxFunction, _l_res, _i_r_expr, _l_arrIndex, _a_context, _i_iterators, _l_rangeExpPre, _l_tmpVarDecls ,&_a_auxFunction ,&_l_rangeExpPre ,&_l_tmpVarDecls);
_l_loop = omc_Tpl_writeTok(threadData, _OMC_LIT20, _OMC_LIT246);
_l_loop = omc_Tpl_pushBlock(threadData, _l_loop, _OMC_LIT97);
_l_loop = omc_Tpl_writeText(threadData, _l_loop, _l_endLoop);
_l_loop = omc_Tpl_writeTok(threadData, _l_loop, _OMC_LIT121);
_ret_30 = listLength(_i_iterators);
_l_loop = omc_Tpl_writeStr(threadData, _l_loop, intString(_ret_30));
_l_loop = omc_Tpl_writeTok(threadData, _l_loop, _OMC_LIT161);
_l_loop = omc_Tpl_writeText(threadData, _l_loop, _l_loopHeadIter);
_l_loop = omc_Tpl_softNewLine(threadData, _l_loop);
_l_loop = omc_Tpl_writeTok(threadData, _l_loop, _OMC_LIT248);
_l_loop = omc_Tpl_writeText(threadData, _l_loop, _l_endLoop);
_l_loop = omc_Tpl_writeTok(threadData, _l_loop, _OMC_LIT250);
_l_loop = omc_Tpl_pushBlock(threadData, _l_loop, _OMC_LIT97);
_l_loop = omc_Tpl_writeText(threadData, _l_loop, _l_bodyExpPre);
_l_loop = omc_Tpl_softNewLine(threadData, _l_loop);
_l_loop = omc_Tpl_writeText(threadData, _l_loop, _l_foldExp);
_l_loop = omc_Tpl_softNewLine(threadData, _l_loop);
_l_loop = omc_Tpl_popBlock(threadData, _l_loop);
_l_loop = omc_Tpl_writeTok(threadData, _l_loop, _OMC_LIT252);
_l_loop = omc_CodegenCFunctions_fun__1161(threadData, _l_loop, _i_iterators, _l_endLoop);
_l_loop = omc_Tpl_softNewLine(threadData, _l_loop);
_l_loop = omc_Tpl_popBlock(threadData, _l_loop);
_l_loop = omc_Tpl_writeTok(threadData, _l_loop, _OMC_LIT103);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT146);
_a_preExp = omc_Tpl_pushBlock(threadData, _a_preExp, _OMC_LIT97);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _l_tmpVarDecls);
_a_preExp = omc_Tpl_softNewLine(threadData, _a_preExp);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _l_rangeExpPre);
_a_preExp = omc_Tpl_softNewLine(threadData, _a_preExp);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _l_firstValue);
_a_preExp = omc_Tpl_softNewLine(threadData, _a_preExp);
_a_preExp = omc_CodegenCFunctions_fun__1162(threadData, _a_preExp, _l_resTail, _l_res);
_a_preExp = omc_Tpl_softNewLine(threadData, _a_preExp);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _l_loop);
_a_preExp = omc_Tpl_softNewLine(threadData, _a_preExp);
_a_preExp = omc_CodegenCFunctions_fun__1163(threadData, _a_preExp, _l_foundFirst);
_a_preExp = omc_Tpl_softNewLine(threadData, _a_preExp);
_a_preExp = omc_CodegenCFunctions_fun__1164(threadData, _a_preExp, _l_resTail);
_a_preExp = omc_Tpl_softNewLine(threadData, _a_preExp);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _l_resTmp);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT121);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _l_res);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT161);
_a_preExp = omc_Tpl_popBlock(threadData, _a_preExp);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT103);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT89);
_txt = omc_Tpl_writeText(threadData, _txt, _l_resTmp);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_preExp;
tmpMeta[0+2] = _a_varDecls;
tmpMeta[0+3] = _a_auxFunction;
goto tmp3_done;
}
case 2: {
_txt = tmp4_1;
_i_exp = tmp4_2;
_a_preExp = tmp4_4;
_a_varDecls = tmp4_5;
_a_auxFunction = tmp4_6;
_txt_31 = omc_Tpl_writeTok(threadData, _OMC_LIT20, _OMC_LIT254);
_txt_31 = omc_ExpressionDumpTpl_dumpExp(threadData, _txt_31, _i_exp, _OMC_LIT231);
_txt = omc_CodegenUtil_error(threadData, _txt, omc_Tpl_sourceInfo(threadData, _OMC_LIT27, ((modelica_integer) 7260), ((modelica_integer) 14)), omc_Tpl_textString(threadData, _txt_31));
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_preExp;
tmpMeta[0+2] = _a_varDecls;
tmpMeta[0+3] = _a_auxFunction;
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta[0+0];
_out_a_preExp = tmpMeta[0+1];
_out_a_varDecls = tmpMeta[0+2];
_out_a_auxFunction = tmpMeta[0+3];
_return: OMC_LABEL_UNUSED
if (out_out_a_preExp) { *out_out_a_preExp = _out_a_preExp; }
if (out_out_a_varDecls) { *out_out_a_varDecls = _out_a_varDecls; }
if (out_out_a_auxFunction) { *out_out_a_auxFunction = _out_a_auxFunction; }
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__1164(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_resTail)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta[2] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp3_1;modelica_metatype tmp3_2;
tmp3_1 = _in_txt;
tmp3_2 = _in_a_resTail;
{
modelica_metatype _txt = NULL;
modelica_metatype _i_resTail = NULL;
volatile mmc_switch_type tmp3;
int tmp4;
tmp3 = 0;
for (; tmp3 < 2; tmp3++) {
switch (MMC_SWITCH_CAST(tmp3)) {
case 0: {
if (mmc__uniontype__metarecord__typedef__equal(tmp3_2,0,2) == 0) goto tmp2_end;
tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_2), 2));
if (!listEmpty(tmpMeta[1])) goto tmp2_end;
_txt = tmp3_1;
tmpMeta[0] = _txt;
goto tmp2_done;
}
case 1: {
_txt = tmp3_1;
_i_resTail = tmp3_2;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT256);
_txt = omc_Tpl_writeText(threadData, _txt, _i_resTail);
tmpMeta[0] = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT258);
goto tmp2_done;
}
}
goto tmp2_end;
tmp2_end: ;
}
goto goto_1;
goto_1:;
MMC_THROW_INTERNAL();
goto tmp2_done;
tmp2_done:;
}
}
_out_txt = tmpMeta[0];
_return: OMC_LABEL_UNUSED
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__1163(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_foundFirst)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta[2] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp3_1;modelica_metatype tmp3_2;
tmp3_1 = _in_txt;
tmp3_2 = _in_a_foundFirst;
{
modelica_metatype _txt = NULL;
modelica_metatype _i_foundFirst = NULL;
volatile mmc_switch_type tmp3;
int tmp4;
tmp3 = 0;
for (; tmp3 < 2; tmp3++) {
switch (MMC_SWITCH_CAST(tmp3)) {
case 0: {
if (mmc__uniontype__metarecord__typedef__equal(tmp3_2,0,2) == 0) goto tmp2_end;
tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_2), 2));
if (!listEmpty(tmpMeta[1])) goto tmp2_end;
_txt = tmp3_1;
tmpMeta[0] = _txt;
goto tmp2_done;
}
case 1: {
_txt = tmp3_1;
_i_foundFirst = tmp3_2;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT259);
_txt = omc_Tpl_writeText(threadData, _txt, _i_foundFirst);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT130);
_txt = omc_CodegenCFunctions_generateThrow(threadData, _txt);
tmpMeta[0] = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT105);
goto tmp2_done;
}
}
goto tmp2_end;
tmp2_end: ;
}
goto goto_1;
goto_1:;
MMC_THROW_INTERNAL();
goto tmp2_done;
tmp2_done:;
}
}
_out_txt = tmpMeta[0];
_return: OMC_LABEL_UNUSED
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__1162(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_resTail, modelica_metatype _in_a_res)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta[2] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp3_1;modelica_metatype tmp3_2;modelica_metatype tmp3_3;
tmp3_1 = _in_txt;
tmp3_2 = _in_a_resTail;
tmp3_3 = _in_a_res;
{
modelica_metatype _txt = NULL;
modelica_metatype _a_res = NULL;
modelica_metatype _i_resTail = NULL;
volatile mmc_switch_type tmp3;
int tmp4;
tmp3 = 0;
for (; tmp3 < 2; tmp3++) {
switch (MMC_SWITCH_CAST(tmp3)) {
case 0: {
if (mmc__uniontype__metarecord__typedef__equal(tmp3_2,0,2) == 0) goto tmp2_end;
tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_2), 2));
if (!listEmpty(tmpMeta[1])) goto tmp2_end;
_txt = tmp3_1;
tmpMeta[0] = _txt;
goto tmp2_done;
}
case 1: {
_txt = tmp3_1;
_i_resTail = tmp3_2;
_a_res = tmp3_3;
_txt = omc_Tpl_writeText(threadData, _txt, _i_resTail);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT261);
_txt = omc_Tpl_writeText(threadData, _txt, _a_res);
tmpMeta[0] = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT105);
goto tmp2_done;
}
}
goto tmp2_end;
tmp2_end: ;
}
goto goto_1;
goto_1:;
MMC_THROW_INTERNAL();
goto tmp2_done;
tmp2_done:;
}
}
_out_txt = tmpMeta[0];
_return: OMC_LABEL_UNUSED
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__1161(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_iterators, modelica_metatype _in_a_endLoop)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta[3] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp3_1;modelica_metatype tmp3_2;modelica_metatype tmp3_3;
tmp3_1 = _in_txt;
tmp3_2 = _in_a_iterators;
tmp3_3 = _in_a_endLoop;
{
modelica_metatype _txt = NULL;
modelica_metatype _a_endLoop = NULL;
modelica_metatype _i_iterators = NULL;
modelica_integer _ret_0;
volatile mmc_switch_type tmp3;
int tmp4;
tmp3 = 0;
for (; tmp3 < 2; tmp3++) {
switch (MMC_SWITCH_CAST(tmp3)) {
case 0: {
if (listEmpty(tmp3_2)) goto tmp2_end;
tmpMeta[1] = MMC_CAR(tmp3_2);
tmpMeta[2] = MMC_CDR(tmp3_2);
_i_iterators = tmp3_2;
_txt = tmp3_1;
_a_endLoop = tmp3_3;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT263);
_txt = omc_Tpl_writeText(threadData, _txt, _a_endLoop);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT265);
_ret_0 = listLength(_i_iterators);
_txt = omc_Tpl_writeStr(threadData, _txt, intString(_ret_0));
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT271);
_txt = omc_Tpl_pushBlock(threadData, _txt, _OMC_LIT97);
_txt = omc_CodegenCFunctions_generateThrow(threadData, _txt);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT161);
_txt = omc_Tpl_popBlock(threadData, _txt);
tmpMeta[0] = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT103);
goto tmp2_done;
}
case 1: {
_txt = tmp3_1;
tmpMeta[0] = _txt;
goto tmp2_done;
}
}
goto tmp2_end;
tmp2_end: ;
}
goto goto_1;
goto_1:;
MMC_THROW_INTERNAL();
goto tmp2_done;
tmp2_done:;
}
}
_out_txt = tmpMeta[0];
_return: OMC_LABEL_UNUSED
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__1160(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_ri_path, modelica_metatype _in_a_defaultValue, modelica_metatype _in_a_preDefault, modelica_metatype _in_a_foundFirst, modelica_metatype _in_a_arrayTypeResult, modelica_metatype _in_a_auxFunction, modelica_metatype _in_a_res, modelica_metatype _in_a_r_expr, modelica_metatype _in_a_arrIndex, modelica_metatype _in_a_context, modelica_metatype _in_a_iterators, modelica_metatype _in_a_rangeExpPre, modelica_metatype _in_a_tmpVarDecls, modelica_metatype *out_out_a_auxFunction, modelica_metatype *out_out_a_rangeExpPre, modelica_metatype *out_out_a_tmpVarDecls)
{
modelica_metatype _out_txt = NULL;
modelica_metatype _out_a_auxFunction = NULL;
modelica_metatype _out_a_rangeExpPre = NULL;
modelica_metatype _out_a_tmpVarDecls = NULL;
modelica_metatype tmpMeta[5] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_metatype tmp4_2;modelica_metatype tmp4_3;modelica_metatype tmp4_4;modelica_metatype tmp4_5;modelica_metatype tmp4_6;modelica_metatype tmp4_7;modelica_metatype tmp4_8;modelica_metatype tmp4_9;modelica_metatype tmp4_10;modelica_metatype tmp4_11;modelica_metatype tmp4_12;modelica_metatype tmp4_13;modelica_metatype tmp4_14;
tmp4_1 = _in_txt;
tmp4_2 = _in_a_ri_path;
tmp4_3 = _in_a_defaultValue;
tmp4_4 = _in_a_preDefault;
tmp4_5 = _in_a_foundFirst;
tmp4_6 = _in_a_arrayTypeResult;
tmp4_7 = _in_a_auxFunction;
tmp4_8 = _in_a_res;
tmp4_9 = _in_a_r_expr;
tmp4_10 = _in_a_arrIndex;
tmp4_11 = _in_a_context;
tmp4_12 = _in_a_iterators;
tmp4_13 = _in_a_rangeExpPre;
tmp4_14 = _in_a_tmpVarDecls;
{
modelica_metatype _txt = NULL;
modelica_metatype _a_defaultValue = NULL;
modelica_metatype _a_preDefault = NULL;
modelica_metatype _a_foundFirst = NULL;
modelica_metatype _a_arrayTypeResult = NULL;
modelica_metatype _a_auxFunction = NULL;
modelica_metatype _a_res = NULL;
modelica_metatype _a_r_expr = NULL;
modelica_metatype _a_arrIndex = NULL;
modelica_metatype _a_context = NULL;
modelica_metatype _a_iterators = NULL;
modelica_metatype _a_rangeExpPre = NULL;
modelica_metatype _a_tmpVarDecls = NULL;
modelica_metatype _i_ri_path = NULL;
modelica_metatype _ret_2 = NULL;
modelica_metatype _l_length = NULL;
volatile mmc_switch_type tmp4;
int tmp5;
tmp4 = 0;
for (; tmp4 < 2; tmp4++) {
switch (MMC_SWITCH_CAST(tmp4)) {
case 0: {
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,1,1) == 0) goto tmp3_end;
tmpMeta[4] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
if (5 != MMC_STRLEN(tmpMeta[4]) || strcmp(MMC_STRINGDATA(_OMC_LIT276), MMC_STRINGDATA(tmpMeta[4])) != 0) goto tmp3_end;
_txt = tmp4_1;
_a_arrayTypeResult = tmp4_6;
_a_auxFunction = tmp4_7;
_a_res = tmp4_8;
_a_r_expr = tmp4_9;
_a_arrIndex = tmp4_10;
_a_context = tmp4_11;
_a_iterators = tmp4_12;
_a_rangeExpPre = tmp4_13;
_a_tmpVarDecls = tmp4_14;
_l_length = omc_CodegenCFunctions_tempDecl(threadData, _OMC_LIT20, _OMC_LIT140, _a_tmpVarDecls ,&_a_tmpVarDecls);
_a_rangeExpPre = omc_Tpl_writeText(threadData, _a_rangeExpPre, _l_length);
_a_rangeExpPre = omc_Tpl_writeTok(threadData, _a_rangeExpPre, _OMC_LIT273);
_a_rangeExpPre = omc_Tpl_writeTok(threadData, _a_rangeExpPre, _OMC_LIT89);
omc_CodegenCFunctions_lm__1155(threadData, _OMC_LIT20, _a_iterators, _l_length, _a_rangeExpPre, _a_context ,&_a_rangeExpPre);
_txt = omc_Tpl_writeText(threadData, _txt, _a_arrIndex);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT275);
_ret_2 = omc_Expression_typeof(threadData, _a_r_expr);
_txt = omc_CodegenCFunctions_fun__1158(threadData, _txt, _ret_2, _a_arrayTypeResult, _a_r_expr, _a_auxFunction, _a_tmpVarDecls, _a_rangeExpPre, _a_context, _l_length, _a_res ,&_a_auxFunction ,&_a_tmpVarDecls ,&_a_rangeExpPre);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_auxFunction;
tmpMeta[0+2] = _a_rangeExpPre;
tmpMeta[0+3] = _a_tmpVarDecls;
goto tmp3_done;
}
case 1: {
_txt = tmp4_1;
_i_ri_path = tmp4_2;
_a_defaultValue = tmp4_3;
_a_preDefault = tmp4_4;
_a_foundFirst = tmp4_5;
_a_auxFunction = tmp4_7;
_a_res = tmp4_8;
_a_rangeExpPre = tmp4_13;
_a_tmpVarDecls = tmp4_14;
_txt = omc_CodegenCFunctions_fun__1159(threadData, _txt, _a_foundFirst, _i_ri_path, _a_defaultValue, _a_res, _a_preDefault);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_auxFunction;
tmpMeta[0+2] = _a_rangeExpPre;
tmpMeta[0+3] = _a_tmpVarDecls;
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta[0+0];
_out_a_auxFunction = tmpMeta[0+1];
_out_a_rangeExpPre = tmpMeta[0+2];
_out_a_tmpVarDecls = tmpMeta[0+3];
_return: OMC_LABEL_UNUSED
if (out_out_a_auxFunction) { *out_out_a_auxFunction = _out_a_auxFunction; }
if (out_out_a_rangeExpPre) { *out_out_a_rangeExpPre = _out_a_rangeExpPre; }
if (out_out_a_tmpVarDecls) { *out_out_a_tmpVarDecls = _out_a_tmpVarDecls; }
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__1159(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_foundFirst, modelica_metatype _in_a_ri_path, modelica_metatype _in_a_defaultValue, modelica_metatype _in_a_res, modelica_metatype _in_a_preDefault)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta[2] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp3_1;modelica_metatype tmp3_2;modelica_metatype tmp3_3;modelica_metatype tmp3_4;modelica_metatype tmp3_5;modelica_metatype tmp3_6;
tmp3_1 = _in_txt;
tmp3_2 = _in_a_foundFirst;
tmp3_3 = _in_a_ri_path;
tmp3_4 = _in_a_defaultValue;
tmp3_5 = _in_a_res;
tmp3_6 = _in_a_preDefault;
{
modelica_metatype _txt = NULL;
modelica_metatype _a_ri_path = NULL;
modelica_metatype _a_defaultValue = NULL;
modelica_metatype _a_res = NULL;
modelica_metatype _a_preDefault = NULL;
modelica_metatype _i_foundFirst = NULL;
volatile mmc_switch_type tmp3;
int tmp4;
tmp3 = 0;
for (; tmp3 < 2; tmp3++) {
switch (MMC_SWITCH_CAST(tmp3)) {
case 0: {
if (mmc__uniontype__metarecord__typedef__equal(tmp3_2,0,2) == 0) goto tmp2_end;
tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_2), 2));
if (!listEmpty(tmpMeta[1])) goto tmp2_end;
_txt = tmp3_1;
_a_defaultValue = tmp3_4;
_a_res = tmp3_5;
_a_preDefault = tmp3_6;
_txt = omc_Tpl_writeText(threadData, _txt, _a_preDefault);
_txt = omc_Tpl_softNewLine(threadData, _txt);
_txt = omc_Tpl_writeText(threadData, _txt, _a_res);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT121);
_txt = omc_Tpl_writeText(threadData, _txt, _a_defaultValue);
tmpMeta[0] = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT278);
goto tmp2_done;
}
case 1: {
_txt = tmp3_1;
_i_foundFirst = tmp3_2;
_a_ri_path = tmp3_3;
_txt = omc_Tpl_writeText(threadData, _txt, _i_foundFirst);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT280);
_txt = omc_CodegenUtil_dotPath(threadData, _txt, _a_ri_path);
tmpMeta[0] = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT282);
goto tmp2_done;
}
}
goto tmp2_end;
tmp2_end: ;
}
goto goto_1;
goto_1:;
MMC_THROW_INTERNAL();
goto tmp2_done;
tmp2_done:;
}
}
_out_txt = tmpMeta[0];
_return: OMC_LABEL_UNUSED
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__1158(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_mArg, modelica_metatype _in_a_arrayTypeResult, modelica_metatype _in_a_r_expr, modelica_metatype _in_a_auxFunction, modelica_metatype _in_a_tmpVarDecls, modelica_metatype _in_a_rangeExpPre, modelica_metatype _in_a_context, modelica_metatype _in_a_length, modelica_metatype _in_a_res, modelica_metatype *out_out_a_auxFunction, modelica_metatype *out_out_a_tmpVarDecls, modelica_metatype *out_out_a_rangeExpPre)
{
modelica_metatype _out_txt = NULL;
modelica_metatype _out_a_auxFunction = NULL;
modelica_metatype _out_a_tmpVarDecls = NULL;
modelica_metatype _out_a_rangeExpPre = NULL;
modelica_metatype tmpMeta[5] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_metatype tmp4_2;modelica_metatype tmp4_3;modelica_metatype tmp4_4;modelica_metatype tmp4_5;modelica_metatype tmp4_6;modelica_metatype tmp4_7;modelica_metatype tmp4_8;modelica_metatype tmp4_9;modelica_metatype tmp4_10;
tmp4_1 = _in_txt;
tmp4_2 = _in_mArg;
tmp4_3 = _in_a_arrayTypeResult;
tmp4_4 = _in_a_r_expr;
tmp4_5 = _in_a_auxFunction;
tmp4_6 = _in_a_tmpVarDecls;
tmp4_7 = _in_a_rangeExpPre;
tmp4_8 = _in_a_context;
tmp4_9 = _in_a_length;
tmp4_10 = _in_a_res;
{
modelica_metatype _txt = NULL;
modelica_metatype _a_arrayTypeResult = NULL;
modelica_metatype _a_r_expr = NULL;
modelica_metatype _a_auxFunction = NULL;
modelica_metatype _a_tmpVarDecls = NULL;
modelica_metatype _a_rangeExpPre = NULL;
modelica_metatype _a_context = NULL;
modelica_metatype _a_length = NULL;
modelica_metatype _a_res = NULL;
modelica_metatype _i_dims = NULL;
modelica_metatype _i_record__state = NULL;
modelica_integer _ret_4;
modelica_integer _ret_3;
modelica_metatype _l_dimSizes = NULL;
modelica_metatype _ret_1 = NULL;
modelica_metatype _l_rec__name = NULL;
int tmp4;
{
switch (MMC_SWITCH_CAST(valueConstructor(tmp4_2))) {
case 12: {
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,9,3) == 0) goto tmp3_end;
tmpMeta[4] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
_i_record__state = tmpMeta[4];
_txt = tmp4_1;
_a_auxFunction = tmp4_5;
_a_tmpVarDecls = tmp4_6;
_a_rangeExpPre = tmp4_7;
_a_length = tmp4_9;
_a_res = tmp4_10;
_ret_1 = omc_ClassInf_getStateName(threadData, _i_record__state);
_l_rec__name = omc_CodegenUtil_underscorePath(threadData, _OMC_LIT20, _ret_1);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT284);
_txt = omc_Tpl_writeText(threadData, _txt, _a_res);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT286);
_txt = omc_Tpl_writeText(threadData, _txt, _l_rec__name);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT288);
_txt = omc_Tpl_writeText(threadData, _txt, _a_length);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT290);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_auxFunction;
tmpMeta[0+2] = _a_tmpVarDecls;
tmpMeta[0+3] = _a_rangeExpPre;
goto tmp3_done;
}
case 9: {
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,6,2) == 0) goto tmp3_end;
tmpMeta[4] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 3));
_i_dims = tmpMeta[4];
_txt = tmp4_1;
_a_arrayTypeResult = tmp4_3;
_a_r_expr = tmp4_4;
_a_auxFunction = tmp4_5;
_a_tmpVarDecls = tmp4_6;
_a_rangeExpPre = tmp4_7;
_a_context = tmp4_8;
_a_length = tmp4_9;
_a_res = tmp4_10;
_l_dimSizes = omc_Tpl_pushIter(threadData, _OMC_LIT20, _OMC_LIT294);
_l_dimSizes = omc_CodegenCFunctions_lm__1157(threadData, _l_dimSizes, _i_dims, _a_r_expr, _a_auxFunction, _a_tmpVarDecls, _a_rangeExpPre, _a_context ,&_a_auxFunction ,&_a_tmpVarDecls ,&_a_rangeExpPre);
_l_dimSizes = omc_Tpl_popIter(threadData, _l_dimSizes);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT296);
_txt = omc_Tpl_writeText(threadData, _txt, _a_arrayTypeResult);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT298);
_txt = omc_Tpl_writeText(threadData, _txt, _a_res);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT292);
_ret_3 = listLength(_i_dims);
_ret_4 = ((modelica_integer) 1) + _ret_3;
_txt = omc_Tpl_writeStr(threadData, _txt, intString(_ret_4));
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT292);
_txt = omc_Tpl_writeText(threadData, _txt, _a_length);
_txt = omc_Tpl_writeText(threadData, _txt, _l_dimSizes);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT290);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_auxFunction;
tmpMeta[0+2] = _a_tmpVarDecls;
tmpMeta[0+3] = _a_rangeExpPre;
goto tmp3_done;
}
default:
tmp3_default: OMC_LABEL_UNUSED; {
_txt = tmp4_1;
_a_arrayTypeResult = tmp4_3;
_a_auxFunction = tmp4_5;
_a_tmpVarDecls = tmp4_6;
_a_rangeExpPre = tmp4_7;
_a_length = tmp4_9;
_a_res = tmp4_10;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT300);
_txt = omc_Tpl_writeText(threadData, _txt, _a_arrayTypeResult);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT298);
_txt = omc_Tpl_writeText(threadData, _txt, _a_res);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT226);
_txt = omc_Tpl_writeText(threadData, _txt, _a_length);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT290);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_auxFunction;
tmpMeta[0+2] = _a_tmpVarDecls;
tmpMeta[0+3] = _a_rangeExpPre;
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta[0+0];
_out_a_auxFunction = tmpMeta[0+1];
_out_a_tmpVarDecls = tmpMeta[0+2];
_out_a_rangeExpPre = tmpMeta[0+3];
_return: OMC_LABEL_UNUSED
if (out_out_a_auxFunction) { *out_out_a_auxFunction = _out_a_auxFunction; }
if (out_out_a_tmpVarDecls) { *out_out_a_tmpVarDecls = _out_a_tmpVarDecls; }
if (out_out_a_rangeExpPre) { *out_out_a_rangeExpPre = _out_a_rangeExpPre; }
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_lm__1157(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_items, modelica_metatype _in_a_r_expr, modelica_metatype _in_a_auxFunction, modelica_metatype _in_a_tmpVarDecls, modelica_metatype _in_a_rangeExpPre, modelica_metatype _in_a_context, modelica_metatype *out_out_a_auxFunction, modelica_metatype *out_out_a_tmpVarDecls, modelica_metatype *out_out_a_rangeExpPre)
{
modelica_metatype _out_txt = NULL;
modelica_metatype _out_a_auxFunction = NULL;
modelica_metatype _out_a_tmpVarDecls = NULL;
modelica_metatype _out_a_rangeExpPre = NULL;
modelica_metatype tmpMeta[6] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_metatype tmp4_2;modelica_metatype tmp4_3;modelica_metatype tmp4_4;modelica_metatype tmp4_5;modelica_metatype tmp4_6;modelica_metatype tmp4_7;
tmp4_1 = _in_txt;
tmp4_2 = _in_items;
tmp4_3 = _in_a_r_expr;
tmp4_4 = _in_a_auxFunction;
tmp4_5 = _in_a_tmpVarDecls;
tmp4_6 = _in_a_rangeExpPre;
tmp4_7 = _in_a_context;
{
modelica_metatype _txt = NULL;
modelica_metatype _rest = NULL;
modelica_metatype _a_r_expr = NULL;
modelica_metatype _a_auxFunction = NULL;
modelica_metatype _a_tmpVarDecls = NULL;
modelica_metatype _a_rangeExpPre = NULL;
modelica_metatype _a_context = NULL;
modelica_metatype _i_dim = NULL;
volatile mmc_switch_type tmp4;
int tmp5;
tmp4 = 0;
for (; tmp4 < 2; tmp4++) {
switch (MMC_SWITCH_CAST(tmp4)) {
case 0: {
if (!listEmpty(tmp4_2)) goto tmp3_end;
_txt = tmp4_1;
_a_auxFunction = tmp4_4;
_a_tmpVarDecls = tmp4_5;
_a_rangeExpPre = tmp4_6;
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_auxFunction;
tmpMeta[0+2] = _a_tmpVarDecls;
tmpMeta[0+3] = _a_rangeExpPre;
goto tmp3_done;
}
case 1: {
if (listEmpty(tmp4_2)) goto tmp3_end;
tmpMeta[4] = MMC_CAR(tmp4_2);
tmpMeta[5] = MMC_CDR(tmp4_2);
_i_dim = tmpMeta[4];
_rest = tmpMeta[5];
_txt = tmp4_1;
_a_r_expr = tmp4_3;
_a_auxFunction = tmp4_4;
_a_tmpVarDecls = tmp4_5;
_a_rangeExpPre = tmp4_6;
_a_context = tmp4_7;
_txt = omc_CodegenCFunctions_fun__1156(threadData, _txt, _i_dim, _a_r_expr, _a_auxFunction, _a_tmpVarDecls, _a_rangeExpPre, _a_context ,&_a_auxFunction ,&_a_tmpVarDecls ,&_a_rangeExpPre);
_txt = omc_Tpl_nextIter(threadData, _txt);
_in_txt = _txt;
_in_items = _rest;
_in_a_r_expr = _a_r_expr;
_in_a_auxFunction = _a_auxFunction;
_in_a_tmpVarDecls = _a_tmpVarDecls;
_in_a_rangeExpPre = _a_rangeExpPre;
_in_a_context = _a_context;
goto _tailrecursive;
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta[0+0];
_out_a_auxFunction = tmpMeta[0+1];
_out_a_tmpVarDecls = tmpMeta[0+2];
_out_a_rangeExpPre = tmpMeta[0+3];
_return: OMC_LABEL_UNUSED
if (out_out_a_auxFunction) { *out_out_a_auxFunction = _out_a_auxFunction; }
if (out_out_a_tmpVarDecls) { *out_out_a_tmpVarDecls = _out_a_tmpVarDecls; }
if (out_out_a_rangeExpPre) { *out_out_a_rangeExpPre = _out_a_rangeExpPre; }
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__1156(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_dim, modelica_metatype _in_a_r_expr, modelica_metatype _in_a_auxFunction, modelica_metatype _in_a_tmpVarDecls, modelica_metatype _in_a_rangeExpPre, modelica_metatype _in_a_context, modelica_metatype *out_out_a_auxFunction, modelica_metatype *out_out_a_tmpVarDecls, modelica_metatype *out_out_a_rangeExpPre)
{
modelica_metatype _out_txt = NULL;
modelica_metatype _out_a_auxFunction = NULL;
modelica_metatype _out_a_tmpVarDecls = NULL;
modelica_metatype _out_a_rangeExpPre = NULL;
modelica_metatype tmpMeta[5] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_metatype tmp4_2;modelica_metatype tmp4_3;modelica_metatype tmp4_4;modelica_metatype tmp4_5;modelica_metatype tmp4_6;modelica_metatype tmp4_7;
tmp4_1 = _in_txt;
tmp4_2 = _in_a_dim;
tmp4_3 = _in_a_r_expr;
tmp4_4 = _in_a_auxFunction;
tmp4_5 = _in_a_tmpVarDecls;
tmp4_6 = _in_a_rangeExpPre;
tmp4_7 = _in_a_context;
{
modelica_metatype _txt = NULL;
modelica_metatype _a_r_expr = NULL;
modelica_metatype _a_auxFunction = NULL;
modelica_metatype _a_tmpVarDecls = NULL;
modelica_metatype _a_rangeExpPre = NULL;
modelica_metatype _a_context = NULL;
modelica_metatype _i_e = NULL;
modelica_integer _i_size;
modelica_integer _i_integer;
modelica_metatype _txt_0 = NULL;
modelica_string _ret_1 = NULL;
modelica_metatype _ret_0 = NULL;
int tmp4;
{
switch (MMC_SWITCH_CAST(valueConstructor(tmp4_2))) {
case 3: {
modelica_integer tmp5;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,0,1) == 0) goto tmp3_end;
tmpMeta[4] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
tmp5 = mmc_unbox_integer(tmpMeta[4]);
_i_integer = tmp5;
_txt = tmp4_1;
_a_auxFunction = tmp4_4;
_a_tmpVarDecls = tmp4_5;
_a_rangeExpPre = tmp4_6;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT292);
_txt = omc_Tpl_writeStr(threadData, _txt, intString(_i_integer));
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_auxFunction;
tmpMeta[0+2] = _a_tmpVarDecls;
tmpMeta[0+3] = _a_rangeExpPre;
goto tmp3_done;
}
case 4: {
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,1,0) == 0) goto tmp3_end;
_txt = tmp4_1;
_a_auxFunction = tmp4_4;
_a_tmpVarDecls = tmp4_5;
_a_rangeExpPre = tmp4_6;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT302);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_auxFunction;
tmpMeta[0+2] = _a_tmpVarDecls;
tmpMeta[0+3] = _a_rangeExpPre;
goto tmp3_done;
}
case 5: {
modelica_integer tmp6;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,2,3) == 0) goto tmp3_end;
tmpMeta[4] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 4));
tmp6 = mmc_unbox_integer(tmpMeta[4]);
_i_size = tmp6;
_txt = tmp4_1;
_a_auxFunction = tmp4_4;
_a_tmpVarDecls = tmp4_5;
_a_rangeExpPre = tmp4_6;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT292);
_txt = omc_Tpl_writeStr(threadData, _txt, intString(_i_size));
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_auxFunction;
tmpMeta[0+2] = _a_tmpVarDecls;
tmpMeta[0+3] = _a_rangeExpPre;
goto tmp3_done;
}
case 6: {
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,3,1) == 0) goto tmp3_end;
tmpMeta[4] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
_i_e = tmpMeta[4];
_txt = tmp4_1;
_a_auxFunction = tmp4_4;
_a_tmpVarDecls = tmp4_5;
_a_rangeExpPre = tmp4_6;
_a_context = tmp4_7;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT292);
_txt = omc_CodegenCFunctions_daeExp(threadData, _txt, _i_e, _a_context, _a_rangeExpPre, _a_tmpVarDecls, _a_auxFunction ,&_a_rangeExpPre ,&_a_tmpVarDecls ,&_a_auxFunction);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_auxFunction;
tmpMeta[0+2] = _a_tmpVarDecls;
tmpMeta[0+3] = _a_rangeExpPre;
goto tmp3_done;
}
default:
tmp3_default: OMC_LABEL_UNUSED; {
_txt = tmp4_1;
_a_r_expr = tmp4_3;
_a_auxFunction = tmp4_4;
_a_tmpVarDecls = tmp4_5;
_a_rangeExpPre = tmp4_6;
_txt_0 = omc_Tpl_writeTok(threadData, _OMC_LIT20, _OMC_LIT304);
_ret_0 = omc_Expression_typeof(threadData, _a_r_expr);
_ret_1 = omc_Types_unparseType(threadData, _ret_0);
_txt_0 = omc_Tpl_writeStr(threadData, _txt_0, _ret_1);
_txt_0 = omc_Tpl_writeTok(threadData, _txt_0, _OMC_LIT306);
_txt_0 = omc_ExpressionDumpTpl_dumpExp(threadData, _txt_0, _a_r_expr, _OMC_LIT231);
_txt = omc_CodegenUtil_error(threadData, _txt, omc_Tpl_sourceInfo(threadData, _OMC_LIT27, ((modelica_integer) 7212), ((modelica_integer) 24)), omc_Tpl_textString(threadData, _txt_0));
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_auxFunction;
tmpMeta[0+2] = _a_tmpVarDecls;
tmpMeta[0+3] = _a_rangeExpPre;
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta[0+0];
_out_a_auxFunction = tmpMeta[0+1];
_out_a_tmpVarDecls = tmpMeta[0+2];
_out_a_rangeExpPre = tmpMeta[0+3];
_return: OMC_LABEL_UNUSED
if (out_out_a_auxFunction) { *out_out_a_auxFunction = _out_a_auxFunction; }
if (out_out_a_tmpVarDecls) { *out_out_a_tmpVarDecls = _out_a_tmpVarDecls; }
if (out_out_a_rangeExpPre) { *out_out_a_rangeExpPre = _out_a_rangeExpPre; }
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_lm__1155(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_items, modelica_metatype _in_a_length, modelica_metatype _in_a_rangeExpPre, modelica_metatype _in_a_context, modelica_metatype *out_out_a_rangeExpPre)
{
modelica_metatype _out_txt = NULL;
modelica_metatype _out_a_rangeExpPre = NULL;
modelica_metatype tmpMeta[6] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_metatype tmp4_2;modelica_metatype tmp4_3;modelica_metatype tmp4_4;modelica_metatype tmp4_5;
tmp4_1 = _in_txt;
tmp4_2 = _in_items;
tmp4_3 = _in_a_length;
tmp4_4 = _in_a_rangeExpPre;
tmp4_5 = _in_a_context;
{
modelica_metatype _txt = NULL;
modelica_metatype _rest = NULL;
modelica_metatype _a_length = NULL;
modelica_metatype _a_rangeExpPre = NULL;
modelica_metatype _a_context = NULL;
modelica_metatype _i_iter_exp = NULL;
modelica_string _i_iter_id = NULL;
modelica_string _str_3 = NULL;
modelica_metatype _l_identType = NULL;
modelica_metatype _l_loopVar = NULL;
modelica_metatype _l_iteratorName = NULL;
volatile mmc_switch_type tmp4;
int tmp5;
tmp4 = 0;
for (; tmp4 < 3; tmp4++) {
switch (MMC_SWITCH_CAST(tmp4)) {
case 0: {
if (!listEmpty(tmp4_2)) goto tmp3_end;
_txt = tmp4_1;
_a_rangeExpPre = tmp4_4;
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_rangeExpPre;
goto tmp3_done;
}
case 1: {
if (listEmpty(tmp4_2)) goto tmp3_end;
tmpMeta[2] = MMC_CAR(tmp4_2);
tmpMeta[3] = MMC_CDR(tmp4_2);
tmpMeta[4] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[2]), 2));
tmpMeta[5] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[2]), 3));
_i_iter_id = tmpMeta[4];
_i_iter_exp = tmpMeta[5];
_rest = tmpMeta[3];
_txt = tmp4_1;
_a_length = tmp4_3;
_a_rangeExpPre = tmp4_4;
_a_context = tmp4_5;
_l_iteratorName = omc_CodegenCFunctions_contextIteratorName(threadData, _OMC_LIT20, _i_iter_id, _a_context);
_l_loopVar = omc_Tpl_writeText(threadData, _OMC_LIT20, _l_iteratorName);
_l_loopVar = omc_Tpl_writeTok(threadData, _l_loopVar, _OMC_LIT308);
_l_identType = omc_CodegenCFunctions_expTypeFromExpModelica(threadData, _OMC_LIT20, _i_iter_exp);
_a_rangeExpPre = omc_Tpl_writeText(threadData, _a_rangeExpPre, _a_length);
_a_rangeExpPre = omc_Tpl_writeTok(threadData, _a_rangeExpPre, _OMC_LIT310);
_a_rangeExpPre = omc_Tpl_writeText(threadData, _a_rangeExpPre, _a_length);
_a_rangeExpPre = omc_Tpl_writeTok(threadData, _a_rangeExpPre, _OMC_LIT226);
_str_3 = omc_Tpl_textString(threadData, _l_identType);
_a_rangeExpPre = omc_CodegenCFunctions_fun__1154(threadData, _a_rangeExpPre, _str_3, _l_iteratorName, _l_loopVar, _i_iter_exp);
_a_rangeExpPre = omc_Tpl_writeTok(threadData, _a_rangeExpPre, _OMC_LIT290);
_a_rangeExpPre = omc_Tpl_writeTok(threadData, _a_rangeExpPre, _OMC_LIT89);
_in_txt = _txt;
_in_items = _rest;
_in_a_length = _a_length;
_in_a_rangeExpPre = _a_rangeExpPre;
_in_a_context = _a_context;
goto _tailrecursive;
goto tmp3_done;
}
case 2: {
if (listEmpty(tmp4_2)) goto tmp3_end;
tmpMeta[2] = MMC_CAR(tmp4_2);
tmpMeta[3] = MMC_CDR(tmp4_2);
_rest = tmpMeta[3];
_txt = tmp4_1;
_a_length = tmp4_3;
_a_rangeExpPre = tmp4_4;
_a_context = tmp4_5;
_in_txt = _txt;
_in_items = _rest;
_in_a_length = _a_length;
_in_a_rangeExpPre = _a_rangeExpPre;
_in_a_context = _a_context;
goto _tailrecursive;
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta[0+0];
_out_a_rangeExpPre = tmpMeta[0+1];
_return: OMC_LABEL_UNUSED
if (out_out_a_rangeExpPre) { *out_out_a_rangeExpPre = _out_a_rangeExpPre; }
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__1154(threadData_t *threadData, modelica_metatype _in_txt, modelica_string _in_mArg, modelica_metatype _in_a_iteratorName, modelica_metatype _in_a_loopVar, modelica_metatype _in_a_iter_exp)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta[1] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp3_1;modelica_string tmp3_2;modelica_metatype tmp3_3;modelica_metatype tmp3_4;modelica_metatype tmp3_5;
tmp3_1 = _in_txt;
tmp3_2 = _in_mArg;
tmp3_3 = _in_a_iteratorName;
tmp3_4 = _in_a_loopVar;
tmp3_5 = _in_a_iter_exp;
{
modelica_metatype _txt = NULL;
modelica_metatype _a_iteratorName = NULL;
modelica_metatype _a_loopVar = NULL;
modelica_metatype _a_iter_exp = NULL;
modelica_boolean _ret_0;
volatile mmc_switch_type tmp3;
int tmp4;
tmp3 = 0;
for (; tmp3 < 2; tmp3++) {
switch (MMC_SWITCH_CAST(tmp3)) {
case 0: {
if (17 != MMC_STRLEN(tmp3_2) || strcmp(MMC_STRINGDATA(_OMC_LIT311), MMC_STRINGDATA(tmp3_2)) != 0) goto tmp2_end;
_txt = tmp3_1;
_a_loopVar = tmp3_4;
_a_iter_exp = tmp3_5;
_ret_0 = omc_Expression_isMetaArray(threadData, _a_iter_exp);
tmpMeta[0] = omc_CodegenCFunctions_fun__1152(threadData, _txt, _ret_0, _a_loopVar);
goto tmp2_done;
}
case 1: {
_txt = tmp3_1;
_a_iteratorName = tmp3_3;
_a_loopVar = tmp3_4;
_a_iter_exp = tmp3_5;
tmpMeta[0] = omc_CodegenCFunctions_fun__1153(threadData, _txt, _a_iter_exp, _a_loopVar, _a_iteratorName);
goto tmp2_done;
}
}
goto tmp2_end;
tmp2_end: ;
}
goto goto_1;
goto_1:;
MMC_THROW_INTERNAL();
goto tmp2_done;
tmp2_done:;
}
}
_out_txt = tmpMeta[0];
_return: OMC_LABEL_UNUSED
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__1153(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_iter_exp, modelica_metatype _in_a_loopVar, modelica_metatype _in_a_iteratorName)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta[1] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp3_1;modelica_metatype tmp3_2;modelica_metatype tmp3_3;modelica_metatype tmp3_4;
tmp3_1 = _in_txt;
tmp3_2 = _in_a_iter_exp;
tmp3_3 = _in_a_loopVar;
tmp3_4 = _in_a_iteratorName;
{
modelica_metatype _txt = NULL;
modelica_metatype _a_loopVar = NULL;
modelica_metatype _a_iteratorName = NULL;
volatile mmc_switch_type tmp3;
int tmp4;
tmp3 = 0;
for (; tmp3 < 2; tmp3++) {
switch (MMC_SWITCH_CAST(tmp3)) {
case 0: {
if (mmc__uniontype__metarecord__typedef__equal(tmp3_2,18,4) == 0) goto tmp2_end;
_txt = tmp3_1;
_a_iteratorName = tmp3_4;
_txt = omc_Tpl_writeText(threadData, _txt, _a_iteratorName);
tmpMeta[0] = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT313);
goto tmp2_done;
}
case 1: {
_txt = tmp3_1;
_a_loopVar = tmp3_3;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT315);
_txt = omc_Tpl_writeText(threadData, _txt, _a_loopVar);
tmpMeta[0] = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT317);
goto tmp2_done;
}
}
goto tmp2_end;
tmp2_end: ;
}
goto goto_1;
goto_1:;
MMC_THROW_INTERNAL();
goto tmp2_done;
tmp2_done:;
}
}
_out_txt = tmpMeta[0];
_return: OMC_LABEL_UNUSED
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__1152(threadData_t *threadData, modelica_metatype _in_txt, modelica_boolean _in_mArg, modelica_metatype _in_a_loopVar)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta[1] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp3_1;modelica_boolean tmp3_2;modelica_metatype tmp3_3;
tmp3_1 = _in_txt;
tmp3_2 = _in_mArg;
tmp3_3 = _in_a_loopVar;
{
modelica_metatype _txt = NULL;
modelica_metatype _a_loopVar = NULL;
volatile mmc_switch_type tmp3;
int tmp4;
tmp3 = 0;
for (; tmp3 < 2; tmp3++) {
switch (MMC_SWITCH_CAST(tmp3)) {
case 0: {
if (0 != tmp3_2) goto tmp2_end;
_txt = tmp3_1;
_a_loopVar = tmp3_3;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT319);
_txt = omc_Tpl_writeText(threadData, _txt, _a_loopVar);
tmpMeta[0] = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT78);
goto tmp2_done;
}
case 1: {
_txt = tmp3_1;
_a_loopVar = tmp3_3;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT321);
_txt = omc_Tpl_writeText(threadData, _txt, _a_loopVar);
tmpMeta[0] = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT78);
goto tmp2_done;
}
}
goto tmp2_end;
tmp2_end: ;
}
goto goto_1;
goto_1:;
MMC_THROW_INTERNAL();
goto tmp2_done;
tmp2_done:;
}
}
_out_txt = tmpMeta[0];
_return: OMC_LABEL_UNUSED
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__1152(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_mArg, modelica_metatype _in_a_loopVar)
{
modelica_integer tmp1;
modelica_metatype _out_txt = NULL;
tmp1 = mmc_unbox_integer(_in_mArg);
_out_txt = omc_CodegenCFunctions_fun__1152(threadData, _in_txt, tmp1, _in_a_loopVar);
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_lm__1151(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_items, modelica_metatype _in_a_endLoop, modelica_metatype _in_a_ri_path, modelica_metatype _in_a_auxFunction, modelica_metatype _in_a_rangeExpPre, modelica_metatype _in_a_tmpVarDecls, modelica_metatype _in_a_context, modelica_metatype *out_out_a_auxFunction, modelica_metatype *out_out_a_rangeExpPre, modelica_metatype *out_out_a_tmpVarDecls)
{
modelica_metatype _out_txt = NULL;
modelica_metatype _out_a_auxFunction = NULL;
modelica_metatype _out_a_rangeExpPre = NULL;
modelica_metatype _out_a_tmpVarDecls = NULL;
modelica_metatype tmpMeta[10] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_metatype tmp4_2;modelica_metatype tmp4_3;modelica_metatype tmp4_4;modelica_metatype tmp4_5;modelica_metatype tmp4_6;modelica_metatype tmp4_7;modelica_metatype tmp4_8;
tmp4_1 = _in_txt;
tmp4_2 = _in_items;
tmp4_3 = _in_a_endLoop;
tmp4_4 = _in_a_ri_path;
tmp4_5 = _in_a_auxFunction;
tmp4_6 = _in_a_rangeExpPre;
tmp4_7 = _in_a_tmpVarDecls;
tmp4_8 = _in_a_context;
{
modelica_metatype _txt = NULL;
modelica_metatype _rest = NULL;
modelica_metatype _a_endLoop = NULL;
modelica_metatype _a_ri_path = NULL;
modelica_metatype _a_auxFunction = NULL;
modelica_metatype _a_rangeExpPre = NULL;
modelica_metatype _a_tmpVarDecls = NULL;
modelica_metatype _a_context = NULL;
modelica_metatype _i_iter_ty = NULL;
modelica_metatype _i_iter_guardExp = NULL;
modelica_string _i_iter_id = NULL;
modelica_metatype _i_iter_exp = NULL;
modelica_string _str_15 = NULL;
modelica_metatype _l_guardExp = NULL;
modelica_metatype _l_guardCond = NULL;
modelica_metatype _l_isArrayWithLength = NULL;
modelica_metatype _l_rangeExp = NULL;
modelica_metatype _l_rangeExpStop = NULL;
modelica_metatype _l_rangeExpStep = NULL;
modelica_metatype _l_firstIndex = NULL;
modelica_string _str_7 = NULL;
modelica_metatype _l_guardExpPre = NULL;
modelica_metatype _l_stopVar = NULL;
modelica_metatype _l_stepVar = NULL;
modelica_metatype _l_loopVar = NULL;
modelica_metatype _l_iteratorName = NULL;
modelica_metatype _l_arrayType = NULL;
modelica_metatype _l_identType = NULL;
volatile mmc_switch_type tmp4;
int tmp5;
tmp4 = 0;
for (; tmp4 < 3; tmp4++) {
switch (MMC_SWITCH_CAST(tmp4)) {
case 0: {
if (!listEmpty(tmp4_2)) goto tmp3_end;
_txt = tmp4_1;
_a_auxFunction = tmp4_5;
_a_rangeExpPre = tmp4_6;
_a_tmpVarDecls = tmp4_7;
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_auxFunction;
tmpMeta[0+2] = _a_rangeExpPre;
tmpMeta[0+3] = _a_tmpVarDecls;
goto tmp3_done;
}
case 1: {
if (listEmpty(tmp4_2)) goto tmp3_end;
tmpMeta[4] = MMC_CAR(tmp4_2);
tmpMeta[5] = MMC_CDR(tmp4_2);
tmpMeta[6] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[4]), 2));
tmpMeta[7] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[4]), 3));
tmpMeta[8] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[4]), 4));
tmpMeta[9] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[4]), 5));
_i_iter_id = tmpMeta[6];
_i_iter_exp = tmpMeta[7];
_i_iter_guardExp = tmpMeta[8];
_i_iter_ty = tmpMeta[9];
_rest = tmpMeta[5];
_txt = tmp4_1;
_a_endLoop = tmp4_3;
_a_ri_path = tmp4_4;
_a_auxFunction = tmp4_5;
_a_rangeExpPre = tmp4_6;
_a_tmpVarDecls = tmp4_7;
_a_context = tmp4_8;
_l_identType = omc_CodegenCFunctions_expTypeFromExpModelica(threadData, _OMC_LIT20, _i_iter_exp);
_l_arrayType = omc_CodegenCFunctions_expTypeFromExpArray(threadData, _OMC_LIT20, _i_iter_exp);
_l_iteratorName = omc_CodegenCFunctions_contextIteratorName(threadData, _OMC_LIT20, _i_iter_id, _a_context);
_l_loopVar = omc_CodegenCFunctions_fun__1118(threadData, _OMC_LIT20, _i_iter_exp, _l_iteratorName);
_l_stepVar = omc_CodegenCFunctions_fun__1119(threadData, _OMC_LIT20, _i_iter_exp, _a_tmpVarDecls, _l_identType ,&_a_tmpVarDecls);
_l_stopVar = omc_CodegenCFunctions_fun__1120(threadData, _OMC_LIT20, _i_iter_exp, _a_tmpVarDecls, _l_identType ,&_a_tmpVarDecls);
_l_guardExpPre = _OMC_LIT20;
_str_7 = omc_Tpl_textString(threadData, _l_identType);
_a_tmpVarDecls = omc_CodegenCFunctions_fun__1122(threadData, _a_tmpVarDecls, _str_7, _l_arrayType, _i_iter_exp, _l_loopVar);
_l_firstIndex = omc_CodegenCFunctions_fun__1125(threadData, _OMC_LIT20, _i_iter_exp, _a_tmpVarDecls, _l_identType ,&_a_tmpVarDecls);
_l_rangeExpStep = omc_CodegenCFunctions_fun__1126(threadData, _OMC_LIT20, _i_iter_exp, _a_auxFunction, _a_tmpVarDecls, _a_rangeExpPre, _a_context ,&_a_auxFunction ,&_a_tmpVarDecls ,&_a_rangeExpPre);
_l_rangeExpStop = omc_CodegenCFunctions_fun__1127(threadData, _OMC_LIT20, _i_iter_exp, _a_auxFunction, _a_tmpVarDecls, _a_rangeExpPre, _a_context ,&_a_auxFunction ,&_a_tmpVarDecls ,&_a_rangeExpPre);
_l_rangeExp = omc_CodegenCFunctions_fun__1128(threadData, _OMC_LIT20, _i_iter_exp, _a_auxFunction, _a_tmpVarDecls, _a_rangeExpPre, _a_context ,&_a_auxFunction ,&_a_tmpVarDecls ,&_a_rangeExpPre);
_a_rangeExpPre = omc_CodegenCFunctions_fun__1129(threadData, _a_rangeExpPre, _l_rangeExpStep, _l_stepVar);
_a_rangeExpPre = omc_CodegenCFunctions_fun__1130(threadData, _a_rangeExpPre, _l_rangeExpStop, _l_stopVar);
_a_rangeExpPre = omc_Tpl_writeText(threadData, _a_rangeExpPre, _l_loopVar);
_a_rangeExpPre = omc_Tpl_writeTok(threadData, _a_rangeExpPre, _OMC_LIT121);
_a_rangeExpPre = omc_Tpl_writeText(threadData, _a_rangeExpPre, _l_rangeExp);
_a_rangeExpPre = omc_Tpl_writeTok(threadData, _a_rangeExpPre, _OMC_LIT105);
_a_rangeExpPre = omc_Tpl_writeTok(threadData, _a_rangeExpPre, _OMC_LIT89);
_a_rangeExpPre = omc_CodegenCFunctions_fun__1132(threadData, _a_rangeExpPre, _l_rangeExpStop, _i_iter_exp, _l_stepVar);
_l_isArrayWithLength = omc_CodegenCFunctions_fun__1134(threadData, _OMC_LIT20, _l_rangeExpStop, _a_ri_path);
_a_tmpVarDecls = omc_CodegenCFunctions_fun__1135(threadData, _a_tmpVarDecls, _l_isArrayWithLength, _l_iteratorName);
_a_rangeExpPre = omc_CodegenCFunctions_fun__1137(threadData, _a_rangeExpPre, _i_iter_exp, _l_firstIndex);
_l_guardCond = omc_CodegenCFunctions_fun__1138(threadData, _OMC_LIT20, _i_iter_guardExp, _a_auxFunction, _a_tmpVarDecls, _l_guardExpPre, _a_context ,&_a_auxFunction ,&_a_tmpVarDecls ,&_l_guardExpPre);
_a_tmpVarDecls = omc_Tpl_writeText(threadData, _a_tmpVarDecls, _l_identType);
_a_tmpVarDecls = omc_Tpl_writeTok(threadData, _a_tmpVarDecls, _OMC_LIT29);
_a_tmpVarDecls = omc_Tpl_writeText(threadData, _a_tmpVarDecls, _l_iteratorName);
_a_tmpVarDecls = omc_Tpl_writeTok(threadData, _a_tmpVarDecls, _OMC_LIT105);
_a_tmpVarDecls = omc_Tpl_writeTok(threadData, _a_tmpVarDecls, _OMC_LIT89);
_a_rangeExpPre = omc_CodegenCFunctions_fun__1140(threadData, _a_rangeExpPre, _l_isArrayWithLength, _l_stepVar, _l_firstIndex, _l_stopVar, _l_iteratorName);
_a_rangeExpPre = omc_CodegenCFunctions_fun__1141(threadData, _a_rangeExpPre, _i_iter_exp, _l_stepVar, _l_rangeExp, _l_iteratorName);
_l_guardExp = omc_Tpl_writeText(threadData, _OMC_LIT20, _l_guardExpPre);
_l_guardExp = omc_Tpl_softNewLine(threadData, _l_guardExp);
_l_guardExp = omc_Tpl_writeTok(threadData, _l_guardExp, _OMC_LIT248);
_l_guardExp = omc_Tpl_writeText(threadData, _l_guardExp, _l_guardCond);
_l_guardExp = omc_Tpl_writeTok(threadData, _l_guardExp, _OMC_LIT183);
_l_guardExp = omc_Tpl_pushBlock(threadData, _l_guardExp, _OMC_LIT97);
_l_guardExp = omc_Tpl_writeText(threadData, _l_guardExp, _a_endLoop);
_l_guardExp = omc_Tpl_writeTok(threadData, _l_guardExp, _OMC_LIT326);
_l_guardExp = omc_Tpl_popBlock(threadData, _l_guardExp);
_l_guardExp = omc_Tpl_writeTok(threadData, _l_guardExp, _OMC_LIT103);
_str_15 = omc_Tpl_textString(threadData, _l_identType);
_txt = omc_CodegenCFunctions_fun__1150(threadData, _txt, _str_15, _l_arrayType, _i_iter_ty, _l_stopVar, _l_stepVar, _l_firstIndex, _a_endLoop, _l_guardExp, _l_iteratorName, _l_loopVar, _l_guardCond, _i_iter_exp);
_in_txt = _txt;
_in_items = _rest;
_in_a_endLoop = _a_endLoop;
_in_a_ri_path = _a_ri_path;
_in_a_auxFunction = _a_auxFunction;
_in_a_rangeExpPre = _a_rangeExpPre;
_in_a_tmpVarDecls = _a_tmpVarDecls;
_in_a_context = _a_context;
goto _tailrecursive;
goto tmp3_done;
}
case 2: {
if (listEmpty(tmp4_2)) goto tmp3_end;
tmpMeta[4] = MMC_CAR(tmp4_2);
tmpMeta[5] = MMC_CDR(tmp4_2);
_rest = tmpMeta[5];
_txt = tmp4_1;
_a_endLoop = tmp4_3;
_a_ri_path = tmp4_4;
_a_auxFunction = tmp4_5;
_a_rangeExpPre = tmp4_6;
_a_tmpVarDecls = tmp4_7;
_a_context = tmp4_8;
_in_txt = _txt;
_in_items = _rest;
_in_a_endLoop = _a_endLoop;
_in_a_ri_path = _a_ri_path;
_in_a_auxFunction = _a_auxFunction;
_in_a_rangeExpPre = _a_rangeExpPre;
_in_a_tmpVarDecls = _a_tmpVarDecls;
_in_a_context = _a_context;
goto _tailrecursive;
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta[0+0];
_out_a_auxFunction = tmpMeta[0+1];
_out_a_rangeExpPre = tmpMeta[0+2];
_out_a_tmpVarDecls = tmpMeta[0+3];
_return: OMC_LABEL_UNUSED
if (out_out_a_auxFunction) { *out_out_a_auxFunction = _out_a_auxFunction; }
if (out_out_a_rangeExpPre) { *out_out_a_rangeExpPre = _out_a_rangeExpPre; }
if (out_out_a_tmpVarDecls) { *out_out_a_tmpVarDecls = _out_a_tmpVarDecls; }
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__1150(threadData_t *threadData, modelica_metatype _in_txt, modelica_string _in_mArg, modelica_metatype _in_a_arrayType, modelica_metatype _in_a_iter_ty, modelica_metatype _in_a_stopVar, modelica_metatype _in_a_stepVar, modelica_metatype _in_a_firstIndex, modelica_metatype _in_a_endLoop, modelica_metatype _in_a_guardExp, modelica_metatype _in_a_iteratorName, modelica_metatype _in_a_loopVar, modelica_metatype _in_a_guardCond, modelica_metatype _in_a_iter_exp)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta[1] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp3_1;modelica_string tmp3_2;modelica_metatype tmp3_3;modelica_metatype tmp3_4;modelica_metatype tmp3_5;modelica_metatype tmp3_6;modelica_metatype tmp3_7;modelica_metatype tmp3_8;modelica_metatype tmp3_9;modelica_metatype tmp3_10;modelica_metatype tmp3_11;modelica_metatype tmp3_12;modelica_metatype tmp3_13;
tmp3_1 = _in_txt;
tmp3_2 = _in_mArg;
tmp3_3 = _in_a_arrayType;
tmp3_4 = _in_a_iter_ty;
tmp3_5 = _in_a_stopVar;
tmp3_6 = _in_a_stepVar;
tmp3_7 = _in_a_firstIndex;
tmp3_8 = _in_a_endLoop;
tmp3_9 = _in_a_guardExp;
tmp3_10 = _in_a_iteratorName;
tmp3_11 = _in_a_loopVar;
tmp3_12 = _in_a_guardCond;
tmp3_13 = _in_a_iter_exp;
{
modelica_metatype _txt = NULL;
modelica_metatype _a_arrayType = NULL;
modelica_metatype _a_iter_ty = NULL;
modelica_metatype _a_stopVar = NULL;
modelica_metatype _a_stepVar = NULL;
modelica_metatype _a_firstIndex = NULL;
modelica_metatype _a_endLoop = NULL;
modelica_metatype _a_guardExp = NULL;
modelica_metatype _a_iteratorName = NULL;
modelica_metatype _a_loopVar = NULL;
modelica_metatype _a_guardCond = NULL;
modelica_metatype _a_iter_exp = NULL;
modelica_boolean _ret_0;
volatile mmc_switch_type tmp3;
int tmp4;
tmp3 = 0;
for (; tmp3 < 2; tmp3++) {
switch (MMC_SWITCH_CAST(tmp3)) {
case 0: {
if (17 != MMC_STRLEN(tmp3_2) || strcmp(MMC_STRINGDATA(_OMC_LIT311), MMC_STRINGDATA(tmp3_2)) != 0) goto tmp2_end;
_txt = tmp3_1;
_a_firstIndex = tmp3_7;
_a_endLoop = tmp3_8;
_a_guardExp = tmp3_9;
_a_iteratorName = tmp3_10;
_a_loopVar = tmp3_11;
_a_guardCond = tmp3_12;
_a_iter_exp = tmp3_13;
_ret_0 = omc_Expression_isMetaArray(threadData, _a_iter_exp);
tmpMeta[0] = omc_CodegenCFunctions_fun__1144(threadData, _txt, _ret_0, _a_firstIndex, _a_endLoop, _a_guardExp, _a_iteratorName, _a_loopVar, _a_guardCond);
goto tmp2_done;
}
case 1: {
_txt = tmp3_1;
_a_arrayType = tmp3_3;
_a_iter_ty = tmp3_4;
_a_stopVar = tmp3_5;
_a_stepVar = tmp3_6;
_a_firstIndex = tmp3_7;
_a_endLoop = tmp3_8;
_a_guardExp = tmp3_9;
_a_iteratorName = tmp3_10;
_a_loopVar = tmp3_11;
_a_guardCond = tmp3_12;
_a_iter_exp = tmp3_13;
tmpMeta[0] = omc_CodegenCFunctions_fun__1149(threadData, _txt, _a_iter_exp, _a_arrayType, _a_firstIndex, _a_loopVar, _a_iter_ty, _a_endLoop, _a_guardExp, _a_stopVar, _a_iteratorName, _a_stepVar, _a_guardCond);
goto tmp2_done;
}
}
goto tmp2_end;
tmp2_end: ;
}
goto goto_1;
goto_1:;
MMC_THROW_INTERNAL();
goto tmp2_done;
tmp2_done:;
}
}
_out_txt = tmpMeta[0];
_return: OMC_LABEL_UNUSED
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__1149(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_iter_exp, modelica_metatype _in_a_arrayType, modelica_metatype _in_a_firstIndex, modelica_metatype _in_a_loopVar, modelica_metatype _in_a_iter_ty, modelica_metatype _in_a_endLoop, modelica_metatype _in_a_guardExp, modelica_metatype _in_a_stopVar, modelica_metatype _in_a_iteratorName, modelica_metatype _in_a_stepVar, modelica_metatype _in_a_guardCond)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta[1] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp3_1;modelica_metatype tmp3_2;modelica_metatype tmp3_3;modelica_metatype tmp3_4;modelica_metatype tmp3_5;modelica_metatype tmp3_6;modelica_metatype tmp3_7;modelica_metatype tmp3_8;modelica_metatype tmp3_9;modelica_metatype tmp3_10;modelica_metatype tmp3_11;modelica_metatype tmp3_12;
tmp3_1 = _in_txt;
tmp3_2 = _in_a_iter_exp;
tmp3_3 = _in_a_arrayType;
tmp3_4 = _in_a_firstIndex;
tmp3_5 = _in_a_loopVar;
tmp3_6 = _in_a_iter_ty;
tmp3_7 = _in_a_endLoop;
tmp3_8 = _in_a_guardExp;
tmp3_9 = _in_a_stopVar;
tmp3_10 = _in_a_iteratorName;
tmp3_11 = _in_a_stepVar;
tmp3_12 = _in_a_guardCond;
{
modelica_metatype _txt = NULL;
modelica_metatype _a_arrayType = NULL;
modelica_metatype _a_firstIndex = NULL;
modelica_metatype _a_loopVar = NULL;
modelica_metatype _a_iter_ty = NULL;
modelica_metatype _a_endLoop = NULL;
modelica_metatype _a_guardExp = NULL;
modelica_metatype _a_stopVar = NULL;
modelica_metatype _a_iteratorName = NULL;
modelica_metatype _a_stepVar = NULL;
modelica_metatype _a_guardCond = NULL;
modelica_boolean _ret_3;
modelica_metatype _l_addr = NULL;
modelica_boolean _ret_1;
modelica_boolean _ret_0;
volatile mmc_switch_type tmp3;
int tmp4;
tmp3 = 0;
for (; tmp3 < 2; tmp3++) {
switch (MMC_SWITCH_CAST(tmp3)) {
case 0: {
if (mmc__uniontype__metarecord__typedef__equal(tmp3_2,18,4) == 0) goto tmp2_end;
_txt = tmp3_1;
_a_endLoop = tmp3_7;
_a_guardExp = tmp3_8;
_a_stopVar = tmp3_9;
_a_iteratorName = tmp3_10;
_a_stepVar = tmp3_11;
_a_guardCond = tmp3_12;
_ret_0 = (stringEqual(omc_Tpl_textString(threadData, _a_guardCond), _OMC_LIT91));
_txt = omc_CodegenCFunctions_fun__1145(threadData, _txt, _ret_0);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT328);
_txt = omc_Tpl_writeText(threadData, _txt, _a_stepVar);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT330);
_txt = omc_Tpl_writeText(threadData, _txt, _a_iteratorName);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT332);
_txt = omc_Tpl_writeText(threadData, _txt, _a_stepVar);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT334);
_txt = omc_Tpl_writeText(threadData, _txt, _a_stopVar);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT336);
_txt = omc_Tpl_writeText(threadData, _txt, _a_iteratorName);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT332);
_txt = omc_Tpl_writeText(threadData, _txt, _a_stepVar);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT338);
_txt = omc_Tpl_writeText(threadData, _txt, _a_stopVar);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT183);
_txt = omc_Tpl_pushBlock(threadData, _txt, _OMC_LIT97);
_txt = omc_Tpl_writeText(threadData, _txt, _a_iteratorName);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT109);
_txt = omc_Tpl_writeText(threadData, _txt, _a_stepVar);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT161);
_ret_1 = (stringEqual(omc_Tpl_textString(threadData, _a_guardCond), _OMC_LIT91));
_txt = omc_CodegenCFunctions_fun__1146(threadData, _txt, _ret_1, _a_endLoop, _a_guardExp);
_txt = omc_Tpl_softNewLine(threadData, _txt);
_txt = omc_Tpl_popBlock(threadData, _txt);
tmpMeta[0] = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT103);
goto tmp2_done;
}
case 1: {
_txt = tmp3_1;
_a_arrayType = tmp3_3;
_a_firstIndex = tmp3_4;
_a_loopVar = tmp3_5;
_a_iter_ty = tmp3_6;
_a_endLoop = tmp3_7;
_a_guardExp = tmp3_8;
_a_iteratorName = tmp3_10;
_a_guardCond = tmp3_12;
_l_addr = omc_CodegenCFunctions_fun__1147(threadData, _OMC_LIT20, _a_iter_ty, _a_arrayType, _a_firstIndex, _a_loopVar);
_ret_3 = (stringEqual(omc_Tpl_textString(threadData, _a_guardCond), _OMC_LIT91));
tmpMeta[0] = omc_CodegenCFunctions_fun__1148(threadData, _txt, _ret_3, _a_endLoop, _a_guardExp, _l_addr, _a_iteratorName, _a_loopVar, _a_firstIndex);
goto tmp2_done;
}
}
goto tmp2_end;
tmp2_end: ;
}
goto goto_1;
goto_1:;
MMC_THROW_INTERNAL();
goto tmp2_done;
tmp2_done:;
}
}
_out_txt = tmpMeta[0];
_return: OMC_LABEL_UNUSED
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__1148(threadData_t *threadData, modelica_metatype _in_txt, modelica_boolean _in_mArg, modelica_metatype _in_a_endLoop, modelica_metatype _in_a_guardExp, modelica_metatype _in_a_addr, modelica_metatype _in_a_iteratorName, modelica_metatype _in_a_loopVar, modelica_metatype _in_a_firstIndex)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta[1] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp3_1;modelica_boolean tmp3_2;modelica_metatype tmp3_3;modelica_metatype tmp3_4;modelica_metatype tmp3_5;modelica_metatype tmp3_6;modelica_metatype tmp3_7;modelica_metatype tmp3_8;
tmp3_1 = _in_txt;
tmp3_2 = _in_mArg;
tmp3_3 = _in_a_endLoop;
tmp3_4 = _in_a_guardExp;
tmp3_5 = _in_a_addr;
tmp3_6 = _in_a_iteratorName;
tmp3_7 = _in_a_loopVar;
tmp3_8 = _in_a_firstIndex;
{
modelica_metatype _txt = NULL;
modelica_metatype _a_endLoop = NULL;
modelica_metatype _a_guardExp = NULL;
modelica_metatype _a_addr = NULL;
modelica_metatype _a_iteratorName = NULL;
modelica_metatype _a_loopVar = NULL;
modelica_metatype _a_firstIndex = NULL;
volatile mmc_switch_type tmp3;
int tmp4;
tmp3 = 0;
for (; tmp3 < 2; tmp3++) {
switch (MMC_SWITCH_CAST(tmp3)) {
case 0: {
if (0 != tmp3_2) goto tmp2_end;
_txt = tmp3_1;
_a_guardExp = tmp3_4;
_a_addr = tmp3_5;
_a_iteratorName = tmp3_6;
_a_loopVar = tmp3_7;
_a_firstIndex = tmp3_8;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT340);
_txt = omc_Tpl_writeText(threadData, _txt, _a_firstIndex);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT342);
_txt = omc_Tpl_writeText(threadData, _txt, _a_loopVar);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT344);
_txt = omc_Tpl_pushBlock(threadData, _txt, _OMC_LIT97);
_txt = omc_Tpl_writeText(threadData, _txt, _a_iteratorName);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT121);
_txt = omc_Tpl_writeText(threadData, _txt, _a_addr);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT161);
_txt = omc_Tpl_writeText(threadData, _txt, _a_guardExp);
_txt = omc_Tpl_softNewLine(threadData, _txt);
_txt = omc_Tpl_popBlock(threadData, _txt);
tmpMeta[0] = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT103);
goto tmp2_done;
}
case 1: {
_txt = tmp3_1;
_a_endLoop = tmp3_3;
_a_addr = tmp3_5;
_a_iteratorName = tmp3_6;
_a_loopVar = tmp3_7;
_a_firstIndex = tmp3_8;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT346);
_txt = omc_Tpl_writeText(threadData, _txt, _a_firstIndex);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT342);
_txt = omc_Tpl_writeText(threadData, _txt, _a_loopVar);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT344);
_txt = omc_Tpl_pushBlock(threadData, _txt, _OMC_LIT97);
_txt = omc_Tpl_writeText(threadData, _txt, _a_iteratorName);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT121);
_txt = omc_Tpl_writeText(threadData, _txt, _a_addr);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT161);
_txt = omc_Tpl_writeText(threadData, _txt, _a_endLoop);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT347);
_txt = omc_Tpl_popBlock(threadData, _txt);
tmpMeta[0] = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT103);
goto tmp2_done;
}
}
goto tmp2_end;
tmp2_end: ;
}
goto goto_1;
goto_1:;
MMC_THROW_INTERNAL();
goto tmp2_done;
tmp2_done:;
}
}
_out_txt = tmpMeta[0];
_return: OMC_LABEL_UNUSED
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__1148(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_mArg, modelica_metatype _in_a_endLoop, modelica_metatype _in_a_guardExp, modelica_metatype _in_a_addr, modelica_metatype _in_a_iteratorName, modelica_metatype _in_a_loopVar, modelica_metatype _in_a_firstIndex)
{
modelica_integer tmp1;
modelica_metatype _out_txt = NULL;
tmp1 = mmc_unbox_integer(_in_mArg);
_out_txt = omc_CodegenCFunctions_fun__1148(threadData, _in_txt, tmp1, _in_a_endLoop, _in_a_guardExp, _in_a_addr, _in_a_iteratorName, _in_a_loopVar, _in_a_firstIndex);
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__1147(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_iter_ty, modelica_metatype _in_a_arrayType, modelica_metatype _in_a_firstIndex, modelica_metatype _in_a_loopVar)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta[3] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp3_1;modelica_metatype tmp3_2;modelica_metatype tmp3_3;modelica_metatype tmp3_4;modelica_metatype tmp3_5;
tmp3_1 = _in_txt;
tmp3_2 = _in_a_iter_ty;
tmp3_3 = _in_a_arrayType;
tmp3_4 = _in_a_firstIndex;
tmp3_5 = _in_a_loopVar;
{
modelica_metatype _txt = NULL;
modelica_metatype _a_arrayType = NULL;
modelica_metatype _a_firstIndex = NULL;
modelica_metatype _a_loopVar = NULL;
modelica_metatype _i_record__state = NULL;
modelica_metatype _ret_1 = NULL;
modelica_metatype _l_rec__name = NULL;
volatile mmc_switch_type tmp3;
int tmp4;
tmp3 = 0;
for (; tmp3 < 2; tmp3++) {
switch (MMC_SWITCH_CAST(tmp3)) {
case 0: {
if (mmc__uniontype__metarecord__typedef__equal(tmp3_2,6,2) == 0) goto tmp2_end;
tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_2), 2));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[1],9,3) == 0) goto tmp2_end;
tmpMeta[2] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[1]), 2));
_i_record__state = tmpMeta[2];
_txt = tmp3_1;
_a_firstIndex = tmp3_4;
_a_loopVar = tmp3_5;
_ret_1 = omc_ClassInf_getStateName(threadData, _i_record__state);
_l_rec__name = omc_CodegenUtil_underscorePath(threadData, _OMC_LIT20, _ret_1);
_txt = omc_Tpl_writeText(threadData, _txt, _l_rec__name);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT349);
_txt = omc_Tpl_writeText(threadData, _txt, _a_loopVar);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT351);
_txt = omc_Tpl_writeText(threadData, _txt, _a_firstIndex);
tmpMeta[0] = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT353);
goto tmp2_done;
}
case 1: {
_txt = tmp3_1;
_a_arrayType = tmp3_3;
_a_firstIndex = tmp3_4;
_a_loopVar = tmp3_5;
_txt = omc_Tpl_writeText(threadData, _txt, _a_arrayType);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT355);
_txt = omc_Tpl_writeText(threadData, _txt, _a_loopVar);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT351);
_txt = omc_Tpl_writeText(threadData, _txt, _a_firstIndex);
tmpMeta[0] = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT353);
goto tmp2_done;
}
}
goto tmp2_end;
tmp2_end: ;
}
goto goto_1;
goto_1:;
MMC_THROW_INTERNAL();
goto tmp2_done;
tmp2_done:;
}
}
_out_txt = tmpMeta[0];
_return: OMC_LABEL_UNUSED
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__1146(threadData_t *threadData, modelica_metatype _in_txt, modelica_boolean _in_mArg, modelica_metatype _in_a_endLoop, modelica_metatype _in_a_guardExp)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta[1] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp3_1;modelica_boolean tmp3_2;modelica_metatype tmp3_3;modelica_metatype tmp3_4;
tmp3_1 = _in_txt;
tmp3_2 = _in_mArg;
tmp3_3 = _in_a_endLoop;
tmp3_4 = _in_a_guardExp;
{
modelica_metatype _txt = NULL;
modelica_metatype _a_endLoop = NULL;
modelica_metatype _a_guardExp = NULL;
volatile mmc_switch_type tmp3;
int tmp4;
tmp3 = 0;
for (; tmp3 < 2; tmp3++) {
switch (MMC_SWITCH_CAST(tmp3)) {
case 0: {
if (0 != tmp3_2) goto tmp2_end;
_txt = tmp3_1;
_a_guardExp = tmp3_4;
tmpMeta[0] = omc_Tpl_writeText(threadData, _txt, _a_guardExp);
goto tmp2_done;
}
case 1: {
_txt = tmp3_1;
_a_endLoop = tmp3_3;
_txt = omc_Tpl_writeText(threadData, _txt, _a_endLoop);
tmpMeta[0] = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT357);
goto tmp2_done;
}
}
goto tmp2_end;
tmp2_end: ;
}
goto goto_1;
goto_1:;
MMC_THROW_INTERNAL();
goto tmp2_done;
tmp2_done:;
}
}
_out_txt = tmpMeta[0];
_return: OMC_LABEL_UNUSED
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__1146(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_mArg, modelica_metatype _in_a_endLoop, modelica_metatype _in_a_guardExp)
{
modelica_integer tmp1;
modelica_metatype _out_txt = NULL;
tmp1 = mmc_unbox_integer(_in_mArg);
_out_txt = omc_CodegenCFunctions_fun__1146(threadData, _in_txt, tmp1, _in_a_endLoop, _in_a_guardExp);
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__1145(threadData_t *threadData, modelica_metatype _in_txt, modelica_boolean _in_mArg)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta[1] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp3_1;modelica_boolean tmp3_2;
tmp3_1 = _in_txt;
tmp3_2 = _in_mArg;
{
modelica_metatype _txt = NULL;
volatile mmc_switch_type tmp3;
int tmp4;
tmp3 = 0;
for (; tmp3 < 2; tmp3++) {
switch (MMC_SWITCH_CAST(tmp3)) {
case 0: {
if (0 != tmp3_2) goto tmp2_end;
_txt = tmp3_1;
tmpMeta[0] = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT359);
goto tmp2_done;
}
case 1: {
_txt = tmp3_1;
tmpMeta[0] = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT361);
goto tmp2_done;
}
}
goto tmp2_end;
tmp2_end: ;
}
goto goto_1;
goto_1:;
MMC_THROW_INTERNAL();
goto tmp2_done;
tmp2_done:;
}
}
_out_txt = tmpMeta[0];
_return: OMC_LABEL_UNUSED
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__1145(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_mArg)
{
modelica_integer tmp1;
modelica_metatype _out_txt = NULL;
tmp1 = mmc_unbox_integer(_in_mArg);
_out_txt = omc_CodegenCFunctions_fun__1145(threadData, _in_txt, tmp1);
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__1144(threadData_t *threadData, modelica_metatype _in_txt, modelica_boolean _in_mArg, modelica_metatype _in_a_firstIndex, modelica_metatype _in_a_endLoop, modelica_metatype _in_a_guardExp, modelica_metatype _in_a_iteratorName, modelica_metatype _in_a_loopVar, modelica_metatype _in_a_guardCond)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta[1] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp3_1;modelica_boolean tmp3_2;modelica_metatype tmp3_3;modelica_metatype tmp3_4;modelica_metatype tmp3_5;modelica_metatype tmp3_6;modelica_metatype tmp3_7;modelica_metatype tmp3_8;
tmp3_1 = _in_txt;
tmp3_2 = _in_mArg;
tmp3_3 = _in_a_firstIndex;
tmp3_4 = _in_a_endLoop;
tmp3_5 = _in_a_guardExp;
tmp3_6 = _in_a_iteratorName;
tmp3_7 = _in_a_loopVar;
tmp3_8 = _in_a_guardCond;
{
modelica_metatype _txt = NULL;
modelica_metatype _a_firstIndex = NULL;
modelica_metatype _a_endLoop = NULL;
modelica_metatype _a_guardExp = NULL;
modelica_metatype _a_iteratorName = NULL;
modelica_metatype _a_loopVar = NULL;
modelica_metatype _a_guardCond = NULL;
modelica_boolean _ret_1;
modelica_boolean _ret_0;
volatile mmc_switch_type tmp3;
int tmp4;
tmp3 = 0;
for (; tmp3 < 2; tmp3++) {
switch (MMC_SWITCH_CAST(tmp3)) {
case 0: {
if (0 != tmp3_2) goto tmp2_end;
_txt = tmp3_1;
_a_endLoop = tmp3_4;
_a_guardExp = tmp3_5;
_a_iteratorName = tmp3_6;
_a_loopVar = tmp3_7;
_a_guardCond = tmp3_8;
_ret_0 = (stringEqual(omc_Tpl_textString(threadData, _a_guardCond), _OMC_LIT91));
tmpMeta[0] = omc_CodegenCFunctions_fun__1142(threadData, _txt, _ret_0, _a_endLoop, _a_guardExp, _a_iteratorName, _a_loopVar);
goto tmp2_done;
}
case 1: {
_txt = tmp3_1;
_a_firstIndex = tmp3_3;
_a_endLoop = tmp3_4;
_a_guardExp = tmp3_5;
_a_iteratorName = tmp3_6;
_a_loopVar = tmp3_7;
_a_guardCond = tmp3_8;
_ret_1 = (stringEqual(omc_Tpl_textString(threadData, _a_guardCond), _OMC_LIT91));
tmpMeta[0] = omc_CodegenCFunctions_fun__1143(threadData, _txt, _ret_1, _a_endLoop, _a_guardExp, _a_iteratorName, _a_loopVar, _a_firstIndex);
goto tmp2_done;
}
}
goto tmp2_end;
tmp2_end: ;
}
goto goto_1;
goto_1:;
MMC_THROW_INTERNAL();
goto tmp2_done;
tmp2_done:;
}
}
_out_txt = tmpMeta[0];
_return: OMC_LABEL_UNUSED
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__1144(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_mArg, modelica_metatype _in_a_firstIndex, modelica_metatype _in_a_endLoop, modelica_metatype _in_a_guardExp, modelica_metatype _in_a_iteratorName, modelica_metatype _in_a_loopVar, modelica_metatype _in_a_guardCond)
{
modelica_integer tmp1;
modelica_metatype _out_txt = NULL;
tmp1 = mmc_unbox_integer(_in_mArg);
_out_txt = omc_CodegenCFunctions_fun__1144(threadData, _in_txt, tmp1, _in_a_firstIndex, _in_a_endLoop, _in_a_guardExp, _in_a_iteratorName, _in_a_loopVar, _in_a_guardCond);
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__1143(threadData_t *threadData, modelica_metatype _in_txt, modelica_boolean _in_mArg, modelica_metatype _in_a_endLoop, modelica_metatype _in_a_guardExp, modelica_metatype _in_a_iteratorName, modelica_metatype _in_a_loopVar, modelica_metatype _in_a_firstIndex)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta[1] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp3_1;modelica_boolean tmp3_2;modelica_metatype tmp3_3;modelica_metatype tmp3_4;modelica_metatype tmp3_5;modelica_metatype tmp3_6;modelica_metatype tmp3_7;
tmp3_1 = _in_txt;
tmp3_2 = _in_mArg;
tmp3_3 = _in_a_endLoop;
tmp3_4 = _in_a_guardExp;
tmp3_5 = _in_a_iteratorName;
tmp3_6 = _in_a_loopVar;
tmp3_7 = _in_a_firstIndex;
{
modelica_metatype _txt = NULL;
modelica_metatype _a_endLoop = NULL;
modelica_metatype _a_guardExp = NULL;
modelica_metatype _a_iteratorName = NULL;
modelica_metatype _a_loopVar = NULL;
modelica_metatype _a_firstIndex = NULL;
volatile mmc_switch_type tmp3;
int tmp4;
tmp3 = 0;
for (; tmp3 < 2; tmp3++) {
switch (MMC_SWITCH_CAST(tmp3)) {
case 0: {
if (0 != tmp3_2) goto tmp2_end;
_txt = tmp3_1;
_a_guardExp = tmp3_4;
_a_iteratorName = tmp3_5;
_a_loopVar = tmp3_6;
_a_firstIndex = tmp3_7;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT363);
_txt = omc_Tpl_writeText(threadData, _txt, _a_firstIndex);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT365);
_txt = omc_Tpl_writeText(threadData, _txt, _a_loopVar);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT150);
_txt = omc_Tpl_pushBlock(threadData, _txt, _OMC_LIT97);
_txt = omc_Tpl_writeText(threadData, _txt, _a_iteratorName);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT367);
_txt = omc_Tpl_writeText(threadData, _txt, _a_loopVar);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT292);
_txt = omc_Tpl_writeText(threadData, _txt, _a_firstIndex);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT369);
_txt = omc_Tpl_writeText(threadData, _txt, _a_guardExp);
_txt = omc_Tpl_softNewLine(threadData, _txt);
_txt = omc_Tpl_popBlock(threadData, _txt);
tmpMeta[0] = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT103);
goto tmp2_done;
}
case 1: {
_txt = tmp3_1;
_a_endLoop = tmp3_3;
_a_iteratorName = tmp3_5;
_a_loopVar = tmp3_6;
_a_firstIndex = tmp3_7;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT248);
_txt = omc_Tpl_writeText(threadData, _txt, _a_firstIndex);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT365);
_txt = omc_Tpl_writeText(threadData, _txt, _a_loopVar);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT150);
_txt = omc_Tpl_pushBlock(threadData, _txt, _OMC_LIT97);
_txt = omc_Tpl_writeText(threadData, _txt, _a_iteratorName);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT367);
_txt = omc_Tpl_writeText(threadData, _txt, _a_loopVar);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT292);
_txt = omc_Tpl_writeText(threadData, _txt, _a_firstIndex);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT369);
_txt = omc_Tpl_writeText(threadData, _txt, _a_endLoop);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT347);
_txt = omc_Tpl_popBlock(threadData, _txt);
tmpMeta[0] = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT103);
goto tmp2_done;
}
}
goto tmp2_end;
tmp2_end: ;
}
goto goto_1;
goto_1:;
MMC_THROW_INTERNAL();
goto tmp2_done;
tmp2_done:;
}
}
_out_txt = tmpMeta[0];
_return: OMC_LABEL_UNUSED
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__1143(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_mArg, modelica_metatype _in_a_endLoop, modelica_metatype _in_a_guardExp, modelica_metatype _in_a_iteratorName, modelica_metatype _in_a_loopVar, modelica_metatype _in_a_firstIndex)
{
modelica_integer tmp1;
modelica_metatype _out_txt = NULL;
tmp1 = mmc_unbox_integer(_in_mArg);
_out_txt = omc_CodegenCFunctions_fun__1143(threadData, _in_txt, tmp1, _in_a_endLoop, _in_a_guardExp, _in_a_iteratorName, _in_a_loopVar, _in_a_firstIndex);
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__1142(threadData_t *threadData, modelica_metatype _in_txt, modelica_boolean _in_mArg, modelica_metatype _in_a_endLoop, modelica_metatype _in_a_guardExp, modelica_metatype _in_a_iteratorName, modelica_metatype _in_a_loopVar)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta[1] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp3_1;modelica_boolean tmp3_2;modelica_metatype tmp3_3;modelica_metatype tmp3_4;modelica_metatype tmp3_5;modelica_metatype tmp3_6;
tmp3_1 = _in_txt;
tmp3_2 = _in_mArg;
tmp3_3 = _in_a_endLoop;
tmp3_4 = _in_a_guardExp;
tmp3_5 = _in_a_iteratorName;
tmp3_6 = _in_a_loopVar;
{
modelica_metatype _txt = NULL;
modelica_metatype _a_endLoop = NULL;
modelica_metatype _a_guardExp = NULL;
modelica_metatype _a_iteratorName = NULL;
modelica_metatype _a_loopVar = NULL;
volatile mmc_switch_type tmp3;
int tmp4;
tmp3 = 0;
for (; tmp3 < 2; tmp3++) {
switch (MMC_SWITCH_CAST(tmp3)) {
case 0: {
if (0 != tmp3_2) goto tmp2_end;
_txt = tmp3_1;
_a_guardExp = tmp3_4;
_a_iteratorName = tmp3_5;
_a_loopVar = tmp3_6;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT371);
_txt = omc_Tpl_writeText(threadData, _txt, _a_loopVar);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT150);
_txt = omc_Tpl_pushBlock(threadData, _txt, _OMC_LIT97);
_txt = omc_Tpl_writeText(threadData, _txt, _a_iteratorName);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT373);
_txt = omc_Tpl_writeText(threadData, _txt, _a_loopVar);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT375);
_txt = omc_Tpl_writeText(threadData, _txt, _a_loopVar);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT377);
_txt = omc_Tpl_writeText(threadData, _txt, _a_loopVar);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT375);
_txt = omc_Tpl_writeText(threadData, _txt, _a_guardExp);
_txt = omc_Tpl_softNewLine(threadData, _txt);
_txt = omc_Tpl_popBlock(threadData, _txt);
tmpMeta[0] = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT103);
goto tmp2_done;
}
case 1: {
_txt = tmp3_1;
_a_endLoop = tmp3_3;
_a_iteratorName = tmp3_5;
_a_loopVar = tmp3_6;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT379);
_txt = omc_Tpl_writeText(threadData, _txt, _a_loopVar);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT150);
_txt = omc_Tpl_pushBlock(threadData, _txt, _OMC_LIT97);
_txt = omc_Tpl_writeText(threadData, _txt, _a_iteratorName);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT373);
_txt = omc_Tpl_writeText(threadData, _txt, _a_loopVar);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT375);
_txt = omc_Tpl_writeText(threadData, _txt, _a_loopVar);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT377);
_txt = omc_Tpl_writeText(threadData, _txt, _a_loopVar);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT375);
_txt = omc_Tpl_writeText(threadData, _txt, _a_endLoop);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT347);
_txt = omc_Tpl_popBlock(threadData, _txt);
tmpMeta[0] = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT103);
goto tmp2_done;
}
}
goto tmp2_end;
tmp2_end: ;
}
goto goto_1;
goto_1:;
MMC_THROW_INTERNAL();
goto tmp2_done;
tmp2_done:;
}
}
_out_txt = tmpMeta[0];
_return: OMC_LABEL_UNUSED
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__1142(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_mArg, modelica_metatype _in_a_endLoop, modelica_metatype _in_a_guardExp, modelica_metatype _in_a_iteratorName, modelica_metatype _in_a_loopVar)
{
modelica_integer tmp1;
modelica_metatype _out_txt = NULL;
tmp1 = mmc_unbox_integer(_in_mArg);
_out_txt = omc_CodegenCFunctions_fun__1142(threadData, _in_txt, tmp1, _in_a_endLoop, _in_a_guardExp, _in_a_iteratorName, _in_a_loopVar);
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__1141(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_iter_exp, modelica_metatype _in_a_stepVar, modelica_metatype _in_a_rangeExp, modelica_metatype _in_a_iteratorName)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta[1] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp3_1;modelica_metatype tmp3_2;modelica_metatype tmp3_3;modelica_metatype tmp3_4;modelica_metatype tmp3_5;
tmp3_1 = _in_txt;
tmp3_2 = _in_a_iter_exp;
tmp3_3 = _in_a_stepVar;
tmp3_4 = _in_a_rangeExp;
tmp3_5 = _in_a_iteratorName;
{
modelica_metatype _txt = NULL;
modelica_metatype _a_stepVar = NULL;
modelica_metatype _a_rangeExp = NULL;
modelica_metatype _a_iteratorName = NULL;
volatile mmc_switch_type tmp3;
int tmp4;
tmp3 = 0;
for (; tmp3 < 2; tmp3++) {
switch (MMC_SWITCH_CAST(tmp3)) {
case 0: {
if (mmc__uniontype__metarecord__typedef__equal(tmp3_2,18,4) == 0) goto tmp2_end;
_txt = tmp3_1;
_a_stepVar = tmp3_3;
_a_rangeExp = tmp3_4;
_a_iteratorName = tmp3_5;
_txt = omc_Tpl_writeText(threadData, _txt, _a_iteratorName);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT381);
_txt = omc_Tpl_writeText(threadData, _txt, _a_rangeExp);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT383);
_txt = omc_Tpl_writeText(threadData, _txt, _a_stepVar);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT105);
tmpMeta[0] = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT89);
goto tmp2_done;
}
case 1: {
_txt = tmp3_1;
tmpMeta[0] = _txt;
goto tmp2_done;
}
}
goto tmp2_end;
tmp2_end: ;
}
goto goto_1;
goto_1:;
MMC_THROW_INTERNAL();
goto tmp2_done;
tmp2_done:;
}
}
_out_txt = tmpMeta[0];
_return: OMC_LABEL_UNUSED
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__1140(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_isArrayWithLength, modelica_metatype _in_a_stepVar, modelica_metatype _in_a_firstIndex, modelica_metatype _in_a_stopVar, modelica_metatype _in_a_iteratorName)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta[2] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp3_1;modelica_metatype tmp3_2;modelica_metatype tmp3_3;modelica_metatype tmp3_4;modelica_metatype tmp3_5;modelica_metatype tmp3_6;
tmp3_1 = _in_txt;
tmp3_2 = _in_a_isArrayWithLength;
tmp3_3 = _in_a_stepVar;
tmp3_4 = _in_a_firstIndex;
tmp3_5 = _in_a_stopVar;
tmp3_6 = _in_a_iteratorName;
{
modelica_metatype _txt = NULL;
modelica_metatype _a_stepVar = NULL;
modelica_metatype _a_firstIndex = NULL;
modelica_metatype _a_stopVar = NULL;
modelica_metatype _a_iteratorName = NULL;
volatile mmc_switch_type tmp3;
int tmp4;
tmp3 = 0;
for (; tmp3 < 2; tmp3++) {
switch (MMC_SWITCH_CAST(tmp3)) {
case 0: {
if (mmc__uniontype__metarecord__typedef__equal(tmp3_2,0,2) == 0) goto tmp2_end;
tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_2), 2));
if (!listEmpty(tmpMeta[1])) goto tmp2_end;
_txt = tmp3_1;
tmpMeta[0] = _txt;
goto tmp2_done;
}
case 1: {
_txt = tmp3_1;
_a_stepVar = tmp3_3;
_a_firstIndex = tmp3_4;
_a_stopVar = tmp3_5;
_a_iteratorName = tmp3_6;
_txt = omc_Tpl_writeText(threadData, _txt, _a_iteratorName);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT385);
_txt = omc_Tpl_writeText(threadData, _txt, _a_stopVar);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT387);
_txt = omc_CodegenCFunctions_fun__1139(threadData, _txt, _a_firstIndex, _a_iteratorName);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT389);
_txt = omc_Tpl_writeText(threadData, _txt, _a_stepVar);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT391);
tmpMeta[0] = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT89);
goto tmp2_done;
}
}
goto tmp2_end;
tmp2_end: ;
}
goto goto_1;
goto_1:;
MMC_THROW_INTERNAL();
goto tmp2_done;
tmp2_done:;
}
}
_out_txt = tmpMeta[0];
_return: OMC_LABEL_UNUSED
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__1139(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_firstIndex, modelica_metatype _in_a_iteratorName)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta[2] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp3_1;modelica_metatype tmp3_2;modelica_metatype tmp3_3;
tmp3_1 = _in_txt;
tmp3_2 = _in_a_firstIndex;
tmp3_3 = _in_a_iteratorName;
{
modelica_metatype _txt = NULL;
modelica_metatype _a_iteratorName = NULL;
modelica_metatype _i_firstIndex = NULL;
volatile mmc_switch_type tmp3;
int tmp4;
tmp3 = 0;
for (; tmp3 < 2; tmp3++) {
switch (MMC_SWITCH_CAST(tmp3)) {
case 0: {
if (mmc__uniontype__metarecord__typedef__equal(tmp3_2,0,2) == 0) goto tmp2_end;
tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_2), 2));
if (!listEmpty(tmpMeta[1])) goto tmp2_end;
_txt = tmp3_1;
_a_iteratorName = tmp3_3;
tmpMeta[0] = omc_Tpl_writeText(threadData, _txt, _a_iteratorName);
goto tmp2_done;
}
case 1: {
_txt = tmp3_1;
_i_firstIndex = tmp3_2;
tmpMeta[0] = omc_Tpl_writeText(threadData, _txt, _i_firstIndex);
goto tmp2_done;
}
}
goto tmp2_end;
tmp2_end: ;
}
goto goto_1;
goto_1:;
MMC_THROW_INTERNAL();
goto tmp2_done;
tmp2_done:;
}
}
_out_txt = tmpMeta[0];
_return: OMC_LABEL_UNUSED
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__1138(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_iter_guardExp, modelica_metatype _in_a_auxFunction, modelica_metatype _in_a_tmpVarDecls, modelica_metatype _in_a_guardExpPre, modelica_metatype _in_a_context, modelica_metatype *out_out_a_auxFunction, modelica_metatype *out_out_a_tmpVarDecls, modelica_metatype *out_out_a_guardExpPre)
{
modelica_metatype _out_txt = NULL;
modelica_metatype _out_a_auxFunction = NULL;
modelica_metatype _out_a_tmpVarDecls = NULL;
modelica_metatype _out_a_guardExpPre = NULL;
modelica_metatype tmpMeta[5] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_metatype tmp4_2;modelica_metatype tmp4_3;modelica_metatype tmp4_4;modelica_metatype tmp4_5;modelica_metatype tmp4_6;
tmp4_1 = _in_txt;
tmp4_2 = _in_a_iter_guardExp;
tmp4_3 = _in_a_auxFunction;
tmp4_4 = _in_a_tmpVarDecls;
tmp4_5 = _in_a_guardExpPre;
tmp4_6 = _in_a_context;
{
modelica_metatype _txt = NULL;
modelica_metatype _a_auxFunction = NULL;
modelica_metatype _a_tmpVarDecls = NULL;
modelica_metatype _a_guardExpPre = NULL;
modelica_metatype _a_context = NULL;
modelica_metatype _i_grd = NULL;
volatile mmc_switch_type tmp4;
int tmp5;
tmp4 = 0;
for (; tmp4 < 2; tmp4++) {
switch (MMC_SWITCH_CAST(tmp4)) {
case 0: {
if (optionNone(tmp4_2)) goto tmp3_end;
tmpMeta[4] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 1));
_i_grd = tmpMeta[4];
_txt = tmp4_1;
_a_auxFunction = tmp4_3;
_a_tmpVarDecls = tmp4_4;
_a_guardExpPre = tmp4_5;
_a_context = tmp4_6;
_txt = omc_CodegenCFunctions_daeExp(threadData, _txt, _i_grd, _a_context, _a_guardExpPre, _a_tmpVarDecls, _a_auxFunction ,&_a_guardExpPre ,&_a_tmpVarDecls ,&_a_auxFunction);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_auxFunction;
tmpMeta[0+2] = _a_tmpVarDecls;
tmpMeta[0+3] = _a_guardExpPre;
goto tmp3_done;
}
case 1: {
_txt = tmp4_1;
_a_auxFunction = tmp4_3;
_a_tmpVarDecls = tmp4_4;
_a_guardExpPre = tmp4_5;
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_auxFunction;
tmpMeta[0+2] = _a_tmpVarDecls;
tmpMeta[0+3] = _a_guardExpPre;
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta[0+0];
_out_a_auxFunction = tmpMeta[0+1];
_out_a_tmpVarDecls = tmpMeta[0+2];
_out_a_guardExpPre = tmpMeta[0+3];
_return: OMC_LABEL_UNUSED
if (out_out_a_auxFunction) { *out_out_a_auxFunction = _out_a_auxFunction; }
if (out_out_a_tmpVarDecls) { *out_out_a_tmpVarDecls = _out_a_tmpVarDecls; }
if (out_out_a_guardExpPre) { *out_out_a_guardExpPre = _out_a_guardExpPre; }
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__1137(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_iter_exp, modelica_metatype _in_a_firstIndex)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta[1] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp3_1;modelica_metatype tmp3_2;modelica_metatype tmp3_3;
tmp3_1 = _in_txt;
tmp3_2 = _in_a_iter_exp;
tmp3_3 = _in_a_firstIndex;
{
modelica_metatype _txt = NULL;
modelica_metatype _a_firstIndex = NULL;
volatile mmc_switch_type tmp3;
int tmp4;
tmp3 = 0;
for (; tmp3 < 2; tmp3++) {
switch (MMC_SWITCH_CAST(tmp3)) {
case 0: {
if (mmc__uniontype__metarecord__typedef__equal(tmp3_2,18,4) == 0) goto tmp2_end;
_txt = tmp3_1;
tmpMeta[0] = _txt;
goto tmp2_done;
}
case 1: {
_txt = tmp3_1;
_a_firstIndex = tmp3_3;
tmpMeta[0] = omc_CodegenCFunctions_fun__1136(threadData, _txt, _a_firstIndex);
goto tmp2_done;
}
}
goto tmp2_end;
tmp2_end: ;
}
goto goto_1;
goto_1:;
MMC_THROW_INTERNAL();
goto tmp2_done;
tmp2_done:;
}
}
_out_txt = tmpMeta[0];
_return: OMC_LABEL_UNUSED
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__1136(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_firstIndex)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta[2] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp3_1;modelica_metatype tmp3_2;
tmp3_1 = _in_txt;
tmp3_2 = _in_a_firstIndex;
{
modelica_metatype _txt = NULL;
modelica_metatype _i_firstIndex = NULL;
volatile mmc_switch_type tmp3;
int tmp4;
tmp3 = 0;
for (; tmp3 < 2; tmp3++) {
switch (MMC_SWITCH_CAST(tmp3)) {
case 0: {
if (mmc__uniontype__metarecord__typedef__equal(tmp3_2,0,2) == 0) goto tmp2_end;
tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_2), 2));
if (!listEmpty(tmpMeta[1])) goto tmp2_end;
_txt = tmp3_1;
tmpMeta[0] = _txt;
goto tmp2_done;
}
case 1: {
_txt = tmp3_1;
_i_firstIndex = tmp3_2;
_txt = omc_Tpl_writeText(threadData, _txt, _i_firstIndex);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT393);
tmpMeta[0] = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT89);
goto tmp2_done;
}
}
goto tmp2_end;
tmp2_end: ;
}
goto goto_1;
goto_1:;
MMC_THROW_INTERNAL();
goto tmp2_done;
tmp2_done:;
}
}
_out_txt = tmpMeta[0];
_return: OMC_LABEL_UNUSED
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__1135(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_isArrayWithLength, modelica_metatype _in_a_iteratorName)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta[2] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp3_1;modelica_metatype tmp3_2;modelica_metatype tmp3_3;
tmp3_1 = _in_txt;
tmp3_2 = _in_a_isArrayWithLength;
tmp3_3 = _in_a_iteratorName;
{
modelica_metatype _txt = NULL;
modelica_metatype _a_iteratorName = NULL;
volatile mmc_switch_type tmp3;
int tmp4;
tmp3 = 0;
for (; tmp3 < 2; tmp3++) {
switch (MMC_SWITCH_CAST(tmp3)) {
case 0: {
if (mmc__uniontype__metarecord__typedef__equal(tmp3_2,0,2) == 0) goto tmp2_end;
tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_2), 2));
if (!listEmpty(tmpMeta[1])) goto tmp2_end;
_txt = tmp3_1;
tmpMeta[0] = _txt;
goto tmp2_done;
}
case 1: {
_txt = tmp3_1;
_a_iteratorName = tmp3_3;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT395);
_txt = omc_Tpl_writeText(threadData, _txt, _a_iteratorName);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT397);
tmpMeta[0] = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT89);
goto tmp2_done;
}
}
goto tmp2_end;
tmp2_end: ;
}
goto goto_1;
goto_1:;
MMC_THROW_INTERNAL();
goto tmp2_done;
tmp2_done:;
}
}
_out_txt = tmpMeta[0];
_return: OMC_LABEL_UNUSED
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__1134(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_rangeExpStop, modelica_metatype _in_a_ri_path)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta[2] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp3_1;modelica_metatype tmp3_2;modelica_metatype tmp3_3;
tmp3_1 = _in_txt;
tmp3_2 = _in_a_rangeExpStop;
tmp3_3 = _in_a_ri_path;
{
modelica_metatype _txt = NULL;
modelica_metatype _a_ri_path = NULL;
volatile mmc_switch_type tmp3;
int tmp4;
tmp3 = 0;
for (; tmp3 < 2; tmp3++) {
switch (MMC_SWITCH_CAST(tmp3)) {
case 0: {
if (mmc__uniontype__metarecord__typedef__equal(tmp3_2,0,2) == 0) goto tmp2_end;
tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_2), 2));
if (!listEmpty(tmpMeta[1])) goto tmp2_end;
_txt = tmp3_1;
tmpMeta[0] = _txt;
goto tmp2_done;
}
case 1: {
_txt = tmp3_1;
_a_ri_path = tmp3_3;
tmpMeta[0] = omc_CodegenCFunctions_fun__1133(threadData, _txt, _a_ri_path);
goto tmp2_done;
}
}
goto tmp2_end;
tmp2_end: ;
}
goto goto_1;
goto_1:;
MMC_THROW_INTERNAL();
goto tmp2_done;
tmp2_done:;
}
}
_out_txt = tmpMeta[0];
_return: OMC_LABEL_UNUSED
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__1133(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_ri_path)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta[2] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp3_1;modelica_metatype tmp3_2;
tmp3_1 = _in_txt;
tmp3_2 = _in_a_ri_path;
{
modelica_metatype _txt = NULL;
volatile mmc_switch_type tmp3;
int tmp4;
tmp3 = 0;
for (; tmp3 < 2; tmp3++) {
switch (MMC_SWITCH_CAST(tmp3)) {
case 0: {
if (mmc__uniontype__metarecord__typedef__equal(tmp3_2,1,1) == 0) goto tmp2_end;
tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_2), 2));
if (5 != MMC_STRLEN(tmpMeta[1]) || strcmp(MMC_STRINGDATA(_OMC_LIT276), MMC_STRINGDATA(tmpMeta[1])) != 0) goto tmp2_end;
_txt = tmp3_1;
tmpMeta[0] = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT399);
goto tmp2_done;
}
case 1: {
_txt = tmp3_1;
tmpMeta[0] = _txt;
goto tmp2_done;
}
}
goto tmp2_end;
tmp2_end: ;
}
goto goto_1;
goto_1:;
MMC_THROW_INTERNAL();
goto tmp2_done;
tmp2_done:;
}
}
_out_txt = tmpMeta[0];
_return: OMC_LABEL_UNUSED
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__1132(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_rangeExpStop, modelica_metatype _in_a_iter_exp, modelica_metatype _in_a_stepVar)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta[2] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp3_1;modelica_metatype tmp3_2;modelica_metatype tmp3_3;modelica_metatype tmp3_4;
tmp3_1 = _in_txt;
tmp3_2 = _in_a_rangeExpStop;
tmp3_3 = _in_a_iter_exp;
tmp3_4 = _in_a_stepVar;
{
modelica_metatype _txt = NULL;
modelica_metatype _a_iter_exp = NULL;
modelica_metatype _a_stepVar = NULL;
modelica_metatype _l_check = NULL;
volatile mmc_switch_type tmp3;
int tmp4;
tmp3 = 0;
for (; tmp3 < 2; tmp3++) {
switch (MMC_SWITCH_CAST(tmp3)) {
case 0: {
if (mmc__uniontype__metarecord__typedef__equal(tmp3_2,0,2) == 0) goto tmp2_end;
tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_2), 2));
if (!listEmpty(tmpMeta[1])) goto tmp2_end;
_txt = tmp3_1;
tmpMeta[0] = _txt;
goto tmp2_done;
}
case 1: {
_txt = tmp3_1;
_a_iter_exp = tmp3_3;
_a_stepVar = tmp3_4;
_l_check = omc_Tpl_writeTok(threadData, _OMC_LIT20, _OMC_LIT248);
_l_check = omc_Tpl_writeText(threadData, _l_check, _a_stepVar);
_l_check = omc_Tpl_writeTok(threadData, _l_check, _OMC_LIT406);
_l_check = omc_Tpl_writeTok(threadData, _l_check, _OMC_LIT89);
tmpMeta[0] = omc_CodegenCFunctions_fun__1131(threadData, _txt, _a_iter_exp, _l_check);
goto tmp2_done;
}
}
goto tmp2_end;
tmp2_end: ;
}
goto goto_1;
goto_1:;
MMC_THROW_INTERNAL();
goto tmp2_done;
tmp2_done:;
}
}
_out_txt = tmpMeta[0];
_return: OMC_LABEL_UNUSED
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__1131(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_iter_exp, modelica_metatype _in_a_check)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta[4] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp3_1;modelica_metatype tmp3_2;modelica_metatype tmp3_3;
tmp3_1 = _in_txt;
tmp3_2 = _in_a_iter_exp;
tmp3_3 = _in_a_check;
{
modelica_metatype _txt = NULL;
modelica_metatype _a_check = NULL;
volatile mmc_switch_type tmp3;
int tmp4;
tmp3 = 0;
for (; tmp3 < 4; tmp3++) {
switch (MMC_SWITCH_CAST(tmp3)) {
case 0: {
modelica_integer tmp5;
if (mmc__uniontype__metarecord__typedef__equal(tmp3_2,18,4) == 0) goto tmp2_end;
tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_2), 4));
if (optionNone(tmpMeta[1])) goto tmp2_end;
tmpMeta[2] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[1]), 1));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[2],0,1) == 0) goto tmp2_end;
tmpMeta[3] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[2]), 2));
tmp5 = mmc_unbox_integer(tmpMeta[3]);
if (0 != tmp5) goto tmp2_end;
_txt = tmp3_1;
_a_check = tmp3_3;
tmpMeta[0] = omc_Tpl_writeText(threadData, _txt, _a_check);
goto tmp2_done;
}
case 1: {
if (mmc__uniontype__metarecord__typedef__equal(tmp3_2,18,4) == 0) goto tmp2_end;
tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_2), 4));
if (!optionNone(tmpMeta[1])) goto tmp2_end;
_txt = tmp3_1;
tmpMeta[0] = _txt;
goto tmp2_done;
}
case 2: {
if (mmc__uniontype__metarecord__typedef__equal(tmp3_2,18,4) == 0) goto tmp2_end;
tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_2), 4));
if (optionNone(tmpMeta[1])) goto tmp2_end;
tmpMeta[2] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[1]), 1));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[2],0,1) == 0) goto tmp2_end;
_txt = tmp3_1;
tmpMeta[0] = _txt;
goto tmp2_done;
}
case 3: {
_txt = tmp3_1;
_a_check = tmp3_3;
tmpMeta[0] = omc_Tpl_writeText(threadData, _txt, _a_check);
goto tmp2_done;
}
}
goto tmp2_end;
tmp2_end: ;
}
goto goto_1;
goto_1:;
MMC_THROW_INTERNAL();
goto tmp2_done;
tmp2_done:;
}
}
_out_txt = tmpMeta[0];
_return: OMC_LABEL_UNUSED
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__1130(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_rangeExpStop, modelica_metatype _in_a_stopVar)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta[2] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp3_1;modelica_metatype tmp3_2;modelica_metatype tmp3_3;
tmp3_1 = _in_txt;
tmp3_2 = _in_a_rangeExpStop;
tmp3_3 = _in_a_stopVar;
{
modelica_metatype _txt = NULL;
modelica_metatype _a_stopVar = NULL;
modelica_metatype _i_rangeExpStop = NULL;
volatile mmc_switch_type tmp3;
int tmp4;
tmp3 = 0;
for (; tmp3 < 2; tmp3++) {
switch (MMC_SWITCH_CAST(tmp3)) {
case 0: {
if (mmc__uniontype__metarecord__typedef__equal(tmp3_2,0,2) == 0) goto tmp2_end;
tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_2), 2));
if (!listEmpty(tmpMeta[1])) goto tmp2_end;
_txt = tmp3_1;
tmpMeta[0] = _txt;
goto tmp2_done;
}
case 1: {
_txt = tmp3_1;
_i_rangeExpStop = tmp3_2;
_a_stopVar = tmp3_3;
_txt = omc_Tpl_writeText(threadData, _txt, _a_stopVar);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT121);
_txt = omc_Tpl_writeText(threadData, _txt, _i_rangeExpStop);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT105);
tmpMeta[0] = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT89);
goto tmp2_done;
}
}
goto tmp2_end;
tmp2_end: ;
}
goto goto_1;
goto_1:;
MMC_THROW_INTERNAL();
goto tmp2_done;
tmp2_done:;
}
}
_out_txt = tmpMeta[0];
_return: OMC_LABEL_UNUSED
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__1129(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_rangeExpStep, modelica_metatype _in_a_stepVar)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta[2] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp3_1;modelica_metatype tmp3_2;modelica_metatype tmp3_3;
tmp3_1 = _in_txt;
tmp3_2 = _in_a_rangeExpStep;
tmp3_3 = _in_a_stepVar;
{
modelica_metatype _txt = NULL;
modelica_metatype _a_stepVar = NULL;
modelica_metatype _i_rangeExpStep = NULL;
volatile mmc_switch_type tmp3;
int tmp4;
tmp3 = 0;
for (; tmp3 < 2; tmp3++) {
switch (MMC_SWITCH_CAST(tmp3)) {
case 0: {
if (mmc__uniontype__metarecord__typedef__equal(tmp3_2,0,2) == 0) goto tmp2_end;
tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_2), 2));
if (!listEmpty(tmpMeta[1])) goto tmp2_end;
_txt = tmp3_1;
tmpMeta[0] = _txt;
goto tmp2_done;
}
case 1: {
_txt = tmp3_1;
_i_rangeExpStep = tmp3_2;
_a_stepVar = tmp3_3;
_txt = omc_Tpl_writeText(threadData, _txt, _a_stepVar);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT121);
_txt = omc_Tpl_writeText(threadData, _txt, _i_rangeExpStep);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT105);
tmpMeta[0] = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT89);
goto tmp2_done;
}
}
goto tmp2_end;
tmp2_end: ;
}
goto goto_1;
goto_1:;
MMC_THROW_INTERNAL();
goto tmp2_done;
tmp2_done:;
}
}
_out_txt = tmpMeta[0];
_return: OMC_LABEL_UNUSED
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__1128(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_iter_exp, modelica_metatype _in_a_auxFunction, modelica_metatype _in_a_tmpVarDecls, modelica_metatype _in_a_rangeExpPre, modelica_metatype _in_a_context, modelica_metatype *out_out_a_auxFunction, modelica_metatype *out_out_a_tmpVarDecls, modelica_metatype *out_out_a_rangeExpPre)
{
modelica_metatype _out_txt = NULL;
modelica_metatype _out_a_auxFunction = NULL;
modelica_metatype _out_a_tmpVarDecls = NULL;
modelica_metatype _out_a_rangeExpPre = NULL;
modelica_metatype tmpMeta[5] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_metatype tmp4_2;modelica_metatype tmp4_3;modelica_metatype tmp4_4;modelica_metatype tmp4_5;modelica_metatype tmp4_6;
tmp4_1 = _in_txt;
tmp4_2 = _in_a_iter_exp;
tmp4_3 = _in_a_auxFunction;
tmp4_4 = _in_a_tmpVarDecls;
tmp4_5 = _in_a_rangeExpPre;
tmp4_6 = _in_a_context;
{
modelica_metatype _txt = NULL;
modelica_metatype _a_auxFunction = NULL;
modelica_metatype _a_tmpVarDecls = NULL;
modelica_metatype _a_rangeExpPre = NULL;
modelica_metatype _a_context = NULL;
modelica_metatype _i_iter_exp = NULL;
modelica_metatype _i_start = NULL;
volatile mmc_switch_type tmp4;
int tmp5;
tmp4 = 0;
for (; tmp4 < 2; tmp4++) {
switch (MMC_SWITCH_CAST(tmp4)) {
case 0: {
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,18,4) == 0) goto tmp3_end;
tmpMeta[4] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 3));
_i_start = tmpMeta[4];
_txt = tmp4_1;
_a_auxFunction = tmp4_3;
_a_tmpVarDecls = tmp4_4;
_a_rangeExpPre = tmp4_5;
_a_context = tmp4_6;
_txt = omc_CodegenCFunctions_daeExp(threadData, _txt, _i_start, _a_context, _a_rangeExpPre, _a_tmpVarDecls, _a_auxFunction ,&_a_rangeExpPre ,&_a_tmpVarDecls ,&_a_auxFunction);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT408);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_auxFunction;
tmpMeta[0+2] = _a_tmpVarDecls;
tmpMeta[0+3] = _a_rangeExpPre;
goto tmp3_done;
}
case 1: {
_txt = tmp4_1;
_i_iter_exp = tmp4_2;
_a_auxFunction = tmp4_3;
_a_tmpVarDecls = tmp4_4;
_a_rangeExpPre = tmp4_5;
_a_context = tmp4_6;
_txt = omc_CodegenCFunctions_daeExp(threadData, _txt, _i_iter_exp, _a_context, _a_rangeExpPre, _a_tmpVarDecls, _a_auxFunction ,&_a_rangeExpPre ,&_a_tmpVarDecls ,&_a_auxFunction);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_auxFunction;
tmpMeta[0+2] = _a_tmpVarDecls;
tmpMeta[0+3] = _a_rangeExpPre;
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta[0+0];
_out_a_auxFunction = tmpMeta[0+1];
_out_a_tmpVarDecls = tmpMeta[0+2];
_out_a_rangeExpPre = tmpMeta[0+3];
_return: OMC_LABEL_UNUSED
if (out_out_a_auxFunction) { *out_out_a_auxFunction = _out_a_auxFunction; }
if (out_out_a_tmpVarDecls) { *out_out_a_tmpVarDecls = _out_a_tmpVarDecls; }
if (out_out_a_rangeExpPre) { *out_out_a_rangeExpPre = _out_a_rangeExpPre; }
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__1127(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_iter_exp, modelica_metatype _in_a_auxFunction, modelica_metatype _in_a_tmpVarDecls, modelica_metatype _in_a_rangeExpPre, modelica_metatype _in_a_context, modelica_metatype *out_out_a_auxFunction, modelica_metatype *out_out_a_tmpVarDecls, modelica_metatype *out_out_a_rangeExpPre)
{
modelica_metatype _out_txt = NULL;
modelica_metatype _out_a_auxFunction = NULL;
modelica_metatype _out_a_tmpVarDecls = NULL;
modelica_metatype _out_a_rangeExpPre = NULL;
modelica_metatype tmpMeta[5] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_metatype tmp4_2;modelica_metatype tmp4_3;modelica_metatype tmp4_4;modelica_metatype tmp4_5;modelica_metatype tmp4_6;
tmp4_1 = _in_txt;
tmp4_2 = _in_a_iter_exp;
tmp4_3 = _in_a_auxFunction;
tmp4_4 = _in_a_tmpVarDecls;
tmp4_5 = _in_a_rangeExpPre;
tmp4_6 = _in_a_context;
{
modelica_metatype _txt = NULL;
modelica_metatype _a_auxFunction = NULL;
modelica_metatype _a_tmpVarDecls = NULL;
modelica_metatype _a_rangeExpPre = NULL;
modelica_metatype _a_context = NULL;
modelica_metatype _i_stop = NULL;
volatile mmc_switch_type tmp4;
int tmp5;
tmp4 = 0;
for (; tmp4 < 2; tmp4++) {
switch (MMC_SWITCH_CAST(tmp4)) {
case 0: {
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,18,4) == 0) goto tmp3_end;
tmpMeta[4] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 5));
_i_stop = tmpMeta[4];
_txt = tmp4_1;
_a_auxFunction = tmp4_3;
_a_tmpVarDecls = tmp4_4;
_a_rangeExpPre = tmp4_5;
_a_context = tmp4_6;
_txt = omc_CodegenCFunctions_daeExp(threadData, _txt, _i_stop, _a_context, _a_rangeExpPre, _a_tmpVarDecls, _a_auxFunction ,&_a_rangeExpPre ,&_a_tmpVarDecls ,&_a_auxFunction);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT410);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_auxFunction;
tmpMeta[0+2] = _a_tmpVarDecls;
tmpMeta[0+3] = _a_rangeExpPre;
goto tmp3_done;
}
case 1: {
_txt = tmp4_1;
_a_auxFunction = tmp4_3;
_a_tmpVarDecls = tmp4_4;
_a_rangeExpPre = tmp4_5;
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_auxFunction;
tmpMeta[0+2] = _a_tmpVarDecls;
tmpMeta[0+3] = _a_rangeExpPre;
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta[0+0];
_out_a_auxFunction = tmpMeta[0+1];
_out_a_tmpVarDecls = tmpMeta[0+2];
_out_a_rangeExpPre = tmpMeta[0+3];
_return: OMC_LABEL_UNUSED
if (out_out_a_auxFunction) { *out_out_a_auxFunction = _out_a_auxFunction; }
if (out_out_a_tmpVarDecls) { *out_out_a_tmpVarDecls = _out_a_tmpVarDecls; }
if (out_out_a_rangeExpPre) { *out_out_a_rangeExpPre = _out_a_rangeExpPre; }
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__1126(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_iter_exp, modelica_metatype _in_a_auxFunction, modelica_metatype _in_a_tmpVarDecls, modelica_metatype _in_a_rangeExpPre, modelica_metatype _in_a_context, modelica_metatype *out_out_a_auxFunction, modelica_metatype *out_out_a_tmpVarDecls, modelica_metatype *out_out_a_rangeExpPre)
{
modelica_metatype _out_txt = NULL;
modelica_metatype _out_a_auxFunction = NULL;
modelica_metatype _out_a_tmpVarDecls = NULL;
modelica_metatype _out_a_rangeExpPre = NULL;
modelica_metatype tmpMeta[6] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_metatype tmp4_2;modelica_metatype tmp4_3;modelica_metatype tmp4_4;modelica_metatype tmp4_5;modelica_metatype tmp4_6;
tmp4_1 = _in_txt;
tmp4_2 = _in_a_iter_exp;
tmp4_3 = _in_a_auxFunction;
tmp4_4 = _in_a_tmpVarDecls;
tmp4_5 = _in_a_rangeExpPre;
tmp4_6 = _in_a_context;
{
modelica_metatype _txt = NULL;
modelica_metatype _a_auxFunction = NULL;
modelica_metatype _a_tmpVarDecls = NULL;
modelica_metatype _a_rangeExpPre = NULL;
modelica_metatype _a_context = NULL;
modelica_metatype _i_step = NULL;
volatile mmc_switch_type tmp4;
int tmp5;
tmp4 = 0;
for (; tmp4 < 3; tmp4++) {
switch (MMC_SWITCH_CAST(tmp4)) {
case 0: {
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,18,4) == 0) goto tmp3_end;
tmpMeta[4] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 4));
if (!optionNone(tmpMeta[4])) goto tmp3_end;
_txt = tmp4_1;
_a_auxFunction = tmp4_3;
_a_tmpVarDecls = tmp4_4;
_a_rangeExpPre = tmp4_5;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT412);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_auxFunction;
tmpMeta[0+2] = _a_tmpVarDecls;
tmpMeta[0+3] = _a_rangeExpPre;
goto tmp3_done;
}
case 1: {
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,18,4) == 0) goto tmp3_end;
tmpMeta[4] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 4));
if (optionNone(tmpMeta[4])) goto tmp3_end;
tmpMeta[5] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[4]), 1));
_i_step = tmpMeta[5];
_txt = tmp4_1;
_a_auxFunction = tmp4_3;
_a_tmpVarDecls = tmp4_4;
_a_rangeExpPre = tmp4_5;
_a_context = tmp4_6;
_txt = omc_CodegenCFunctions_daeExp(threadData, _txt, _i_step, _a_context, _a_rangeExpPre, _a_tmpVarDecls, _a_auxFunction ,&_a_rangeExpPre ,&_a_tmpVarDecls ,&_a_auxFunction);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT414);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_auxFunction;
tmpMeta[0+2] = _a_tmpVarDecls;
tmpMeta[0+3] = _a_rangeExpPre;
goto tmp3_done;
}
case 2: {
_txt = tmp4_1;
_a_auxFunction = tmp4_3;
_a_tmpVarDecls = tmp4_4;
_a_rangeExpPre = tmp4_5;
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_auxFunction;
tmpMeta[0+2] = _a_tmpVarDecls;
tmpMeta[0+3] = _a_rangeExpPre;
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta[0+0];
_out_a_auxFunction = tmpMeta[0+1];
_out_a_tmpVarDecls = tmpMeta[0+2];
_out_a_rangeExpPre = tmpMeta[0+3];
_return: OMC_LABEL_UNUSED
if (out_out_a_auxFunction) { *out_out_a_auxFunction = _out_a_auxFunction; }
if (out_out_a_tmpVarDecls) { *out_out_a_tmpVarDecls = _out_a_tmpVarDecls; }
if (out_out_a_rangeExpPre) { *out_out_a_rangeExpPre = _out_a_rangeExpPre; }
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__1125(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_iter_exp, modelica_metatype _in_a_tmpVarDecls, modelica_metatype _in_a_identType, modelica_metatype *out_out_a_tmpVarDecls)
{
modelica_metatype _out_txt = NULL;
modelica_metatype _out_a_tmpVarDecls = NULL;
modelica_metatype tmpMeta[2] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_metatype tmp4_2;modelica_metatype tmp4_3;modelica_metatype tmp4_4;
tmp4_1 = _in_txt;
tmp4_2 = _in_a_iter_exp;
tmp4_3 = _in_a_tmpVarDecls;
tmp4_4 = _in_a_identType;
{
modelica_metatype _txt = NULL;
modelica_metatype _a_tmpVarDecls = NULL;
modelica_metatype _a_identType = NULL;
modelica_metatype _i_iter_exp = NULL;
modelica_string _str_0 = NULL;
volatile mmc_switch_type tmp4;
int tmp5;
tmp4 = 0;
for (; tmp4 < 2; tmp4++) {
switch (MMC_SWITCH_CAST(tmp4)) {
case 0: {
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,18,4) == 0) goto tmp3_end;
_txt = tmp4_1;
_a_tmpVarDecls = tmp4_3;
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_tmpVarDecls;
goto tmp3_done;
}
case 1: {
_txt = tmp4_1;
_i_iter_exp = tmp4_2;
_a_tmpVarDecls = tmp4_3;
_a_identType = tmp4_4;
_str_0 = omc_Tpl_textString(threadData, _a_identType);
tmpMeta[0+0] = omc_CodegenCFunctions_fun__1124(threadData, _txt, _str_0, _a_tmpVarDecls, _i_iter_exp, &tmpMeta[0+1]);
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta[0+0];
_out_a_tmpVarDecls = tmpMeta[0+1];
_return: OMC_LABEL_UNUSED
if (out_out_a_tmpVarDecls) { *out_out_a_tmpVarDecls = _out_a_tmpVarDecls; }
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__1124(threadData_t *threadData, modelica_metatype _in_txt, modelica_string _in_mArg, modelica_metatype _in_a_tmpVarDecls, modelica_metatype _in_a_iter_exp, modelica_metatype *out_out_a_tmpVarDecls)
{
modelica_metatype _out_txt = NULL;
modelica_metatype _out_a_tmpVarDecls = NULL;
modelica_metatype tmpMeta[2] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_string tmp4_2;modelica_metatype tmp4_3;modelica_metatype tmp4_4;
tmp4_1 = _in_txt;
tmp4_2 = _in_mArg;
tmp4_3 = _in_a_tmpVarDecls;
tmp4_4 = _in_a_iter_exp;
{
modelica_metatype _txt = NULL;
modelica_metatype _a_tmpVarDecls = NULL;
modelica_metatype _a_iter_exp = NULL;
modelica_boolean _ret_0;
volatile mmc_switch_type tmp4;
int tmp5;
tmp4 = 0;
for (; tmp4 < 2; tmp4++) {
switch (MMC_SWITCH_CAST(tmp4)) {
case 0: {
if (17 != MMC_STRLEN(tmp4_2) || strcmp(MMC_STRINGDATA(_OMC_LIT311), MMC_STRINGDATA(tmp4_2)) != 0) goto tmp3_end;
_txt = tmp4_1;
_a_tmpVarDecls = tmp4_3;
_a_iter_exp = tmp4_4;
_ret_0 = omc_Expression_isMetaArray(threadData, _a_iter_exp);
tmpMeta[0+0] = omc_CodegenCFunctions_fun__1123(threadData, _txt, _ret_0, _a_tmpVarDecls, &tmpMeta[0+1]);
goto tmp3_done;
}
case 1: {
_txt = tmp4_1;
_a_tmpVarDecls = tmp4_3;
tmpMeta[0+0] = omc_CodegenCFunctions_tempDecl(threadData, _txt, _OMC_LIT140, _a_tmpVarDecls, &tmpMeta[0+1]);
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta[0+0];
_out_a_tmpVarDecls = tmpMeta[0+1];
_return: OMC_LABEL_UNUSED
if (out_out_a_tmpVarDecls) { *out_out_a_tmpVarDecls = _out_a_tmpVarDecls; }
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__1123(threadData_t *threadData, modelica_metatype _in_txt, modelica_boolean _in_mArg, modelica_metatype _in_a_tmpVarDecls, modelica_metatype *out_out_a_tmpVarDecls)
{
modelica_metatype _out_txt = NULL;
modelica_metatype _out_a_tmpVarDecls = NULL;
modelica_metatype tmpMeta[2] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_boolean tmp4_2;modelica_metatype tmp4_3;
tmp4_1 = _in_txt;
tmp4_2 = _in_mArg;
tmp4_3 = _in_a_tmpVarDecls;
{
modelica_metatype _txt = NULL;
modelica_metatype _a_tmpVarDecls = NULL;
volatile mmc_switch_type tmp4;
int tmp5;
tmp4 = 0;
for (; tmp4 < 2; tmp4++) {
switch (MMC_SWITCH_CAST(tmp4)) {
case 0: {
if (0 != tmp4_2) goto tmp3_end;
_txt = tmp4_1;
_a_tmpVarDecls = tmp4_3;
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_tmpVarDecls;
goto tmp3_done;
}
case 1: {
_txt = tmp4_1;
_a_tmpVarDecls = tmp4_3;
tmpMeta[0+0] = omc_CodegenCFunctions_tempDecl(threadData, _txt, _OMC_LIT140, _a_tmpVarDecls, &tmpMeta[0+1]);
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta[0+0];
_out_a_tmpVarDecls = tmpMeta[0+1];
_return: OMC_LABEL_UNUSED
if (out_out_a_tmpVarDecls) { *out_out_a_tmpVarDecls = _out_a_tmpVarDecls; }
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__1123(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_mArg, modelica_metatype _in_a_tmpVarDecls, modelica_metatype *out_out_a_tmpVarDecls)
{
modelica_integer tmp1;
modelica_metatype _out_txt = NULL;
tmp1 = mmc_unbox_integer(_in_mArg);
_out_txt = omc_CodegenCFunctions_fun__1123(threadData, _in_txt, tmp1, _in_a_tmpVarDecls, out_out_a_tmpVarDecls);
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__1122(threadData_t *threadData, modelica_metatype _in_txt, modelica_string _in_mArg, modelica_metatype _in_a_arrayType, modelica_metatype _in_a_iter_exp, modelica_metatype _in_a_loopVar)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta[1] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp3_1;modelica_string tmp3_2;modelica_metatype tmp3_3;modelica_metatype tmp3_4;modelica_metatype tmp3_5;
tmp3_1 = _in_txt;
tmp3_2 = _in_mArg;
tmp3_3 = _in_a_arrayType;
tmp3_4 = _in_a_iter_exp;
tmp3_5 = _in_a_loopVar;
{
modelica_metatype _txt = NULL;
modelica_metatype _a_arrayType = NULL;
modelica_metatype _a_iter_exp = NULL;
modelica_metatype _a_loopVar = NULL;
volatile mmc_switch_type tmp3;
int tmp4;
tmp3 = 0;
for (; tmp3 < 2; tmp3++) {
switch (MMC_SWITCH_CAST(tmp3)) {
case 0: {
if (17 != MMC_STRLEN(tmp3_2) || strcmp(MMC_STRINGDATA(_OMC_LIT311), MMC_STRINGDATA(tmp3_2)) != 0) goto tmp2_end;
_txt = tmp3_1;
_a_loopVar = tmp3_5;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT416);
_txt = omc_Tpl_writeText(threadData, _txt, _a_loopVar);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT273);
tmpMeta[0] = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT89);
goto tmp2_done;
}
case 1: {
_txt = tmp3_1;
_a_arrayType = tmp3_3;
_a_iter_exp = tmp3_4;
_a_loopVar = tmp3_5;
tmpMeta[0] = omc_CodegenCFunctions_fun__1121(threadData, _txt, _a_iter_exp, _a_loopVar, _a_arrayType);
goto tmp2_done;
}
}
goto tmp2_end;
tmp2_end: ;
}
goto goto_1;
goto_1:;
MMC_THROW_INTERNAL();
goto tmp2_done;
tmp2_done:;
}
}
_out_txt = tmpMeta[0];
_return: OMC_LABEL_UNUSED
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__1121(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_iter_exp, modelica_metatype _in_a_loopVar, modelica_metatype _in_a_arrayType)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta[1] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp3_1;modelica_metatype tmp3_2;modelica_metatype tmp3_3;modelica_metatype tmp3_4;
tmp3_1 = _in_txt;
tmp3_2 = _in_a_iter_exp;
tmp3_3 = _in_a_loopVar;
tmp3_4 = _in_a_arrayType;
{
modelica_metatype _txt = NULL;
modelica_metatype _a_loopVar = NULL;
modelica_metatype _a_arrayType = NULL;
volatile mmc_switch_type tmp3;
int tmp4;
tmp3 = 0;
for (; tmp3 < 2; tmp3++) {
switch (MMC_SWITCH_CAST(tmp3)) {
case 0: {
if (mmc__uniontype__metarecord__typedef__equal(tmp3_2,18,4) == 0) goto tmp2_end;
_txt = tmp3_1;
tmpMeta[0] = _txt;
goto tmp2_done;
}
case 1: {
_txt = tmp3_1;
_a_loopVar = tmp3_3;
_a_arrayType = tmp3_4;
_txt = omc_Tpl_writeText(threadData, _txt, _a_arrayType);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT29);
_txt = omc_Tpl_writeText(threadData, _txt, _a_loopVar);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT105);
tmpMeta[0] = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT89);
goto tmp2_done;
}
}
goto tmp2_end;
tmp2_end: ;
}
goto goto_1;
goto_1:;
MMC_THROW_INTERNAL();
goto tmp2_done;
tmp2_done:;
}
}
_out_txt = tmpMeta[0];
_return: OMC_LABEL_UNUSED
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__1120(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_iter_exp, modelica_metatype _in_a_tmpVarDecls, modelica_metatype _in_a_identType, modelica_metatype *out_out_a_tmpVarDecls)
{
modelica_metatype _out_txt = NULL;
modelica_metatype _out_a_tmpVarDecls = NULL;
modelica_metatype tmpMeta[2] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_metatype tmp4_2;modelica_metatype tmp4_3;modelica_metatype tmp4_4;
tmp4_1 = _in_txt;
tmp4_2 = _in_a_iter_exp;
tmp4_3 = _in_a_tmpVarDecls;
tmp4_4 = _in_a_identType;
{
modelica_metatype _txt = NULL;
modelica_metatype _a_tmpVarDecls = NULL;
modelica_metatype _a_identType = NULL;
volatile mmc_switch_type tmp4;
int tmp5;
tmp4 = 0;
for (; tmp4 < 2; tmp4++) {
switch (MMC_SWITCH_CAST(tmp4)) {
case 0: {
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,18,4) == 0) goto tmp3_end;
_txt = tmp4_1;
_a_tmpVarDecls = tmp4_3;
_a_identType = tmp4_4;
tmpMeta[0+0] = omc_CodegenCFunctions_tempDecl(threadData, _txt, omc_Tpl_textString(threadData, _a_identType), _a_tmpVarDecls, &tmpMeta[0+1]);
goto tmp3_done;
}
case 1: {
_txt = tmp4_1;
_a_tmpVarDecls = tmp4_3;
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_tmpVarDecls;
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta[0+0];
_out_a_tmpVarDecls = tmpMeta[0+1];
_return: OMC_LABEL_UNUSED
if (out_out_a_tmpVarDecls) { *out_out_a_tmpVarDecls = _out_a_tmpVarDecls; }
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__1119(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_iter_exp, modelica_metatype _in_a_tmpVarDecls, modelica_metatype _in_a_identType, modelica_metatype *out_out_a_tmpVarDecls)
{
modelica_metatype _out_txt = NULL;
modelica_metatype _out_a_tmpVarDecls = NULL;
modelica_metatype tmpMeta[2] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_metatype tmp4_2;modelica_metatype tmp4_3;modelica_metatype tmp4_4;
tmp4_1 = _in_txt;
tmp4_2 = _in_a_iter_exp;
tmp4_3 = _in_a_tmpVarDecls;
tmp4_4 = _in_a_identType;
{
modelica_metatype _txt = NULL;
modelica_metatype _a_tmpVarDecls = NULL;
modelica_metatype _a_identType = NULL;
volatile mmc_switch_type tmp4;
int tmp5;
tmp4 = 0;
for (; tmp4 < 2; tmp4++) {
switch (MMC_SWITCH_CAST(tmp4)) {
case 0: {
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,18,4) == 0) goto tmp3_end;
_txt = tmp4_1;
_a_tmpVarDecls = tmp4_3;
_a_identType = tmp4_4;
tmpMeta[0+0] = omc_CodegenCFunctions_tempDecl(threadData, _txt, omc_Tpl_textString(threadData, _a_identType), _a_tmpVarDecls, &tmpMeta[0+1]);
goto tmp3_done;
}
case 1: {
_txt = tmp4_1;
_a_tmpVarDecls = tmp4_3;
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_tmpVarDecls;
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta[0+0];
_out_a_tmpVarDecls = tmpMeta[0+1];
_return: OMC_LABEL_UNUSED
if (out_out_a_tmpVarDecls) { *out_out_a_tmpVarDecls = _out_a_tmpVarDecls; }
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__1118(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_iter_exp, modelica_metatype _in_a_iteratorName)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta[1] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp3_1;modelica_metatype tmp3_2;modelica_metatype tmp3_3;
tmp3_1 = _in_txt;
tmp3_2 = _in_a_iter_exp;
tmp3_3 = _in_a_iteratorName;
{
modelica_metatype _txt = NULL;
modelica_metatype _a_iteratorName = NULL;
volatile mmc_switch_type tmp3;
int tmp4;
tmp3 = 0;
for (; tmp3 < 2; tmp3++) {
switch (MMC_SWITCH_CAST(tmp3)) {
case 0: {
if (mmc__uniontype__metarecord__typedef__equal(tmp3_2,18,4) == 0) goto tmp2_end;
_txt = tmp3_1;
_a_iteratorName = tmp3_3;
tmpMeta[0] = omc_Tpl_writeText(threadData, _txt, _a_iteratorName);
goto tmp2_done;
}
case 1: {
_txt = tmp3_1;
_a_iteratorName = tmp3_3;
_txt = omc_Tpl_writeText(threadData, _txt, _a_iteratorName);
tmpMeta[0] = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT308);
goto tmp2_done;
}
}
goto tmp2_end;
tmp2_end: ;
}
goto goto_1;
goto_1:;
MMC_THROW_INTERNAL();
goto tmp2_done;
tmp2_done:;
}
}
_out_txt = tmpMeta[0];
_return: OMC_LABEL_UNUSED
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__1117(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_ri_path, modelica_metatype _in_a_foundFirst, modelica_metatype _in_a_auxFunction, modelica_metatype _in_a_tmpVarDecls, modelica_metatype _in_a_bodyExpPre, modelica_metatype _in_a_context, modelica_metatype _in_a_ri_foldExp, modelica_metatype _in_a_arrayTypeResult, modelica_metatype _in_a_varDecls, modelica_metatype _in_a_arrIndex, modelica_metatype _in_a_r_expr, modelica_metatype _in_a_res, modelica_metatype _in_a_reductionBodyExpr, modelica_metatype _in_a_resTail, modelica_metatype *out_out_a_auxFunction, modelica_metatype *out_out_a_tmpVarDecls, modelica_metatype *out_out_a_bodyExpPre, modelica_metatype *out_out_a_varDecls)
{
modelica_metatype _out_txt = NULL;
modelica_metatype _out_a_auxFunction = NULL;
modelica_metatype _out_a_tmpVarDecls = NULL;
modelica_metatype _out_a_bodyExpPre = NULL;
modelica_metatype _out_a_varDecls = NULL;
modelica_metatype tmpMeta[6] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_metatype tmp4_2;modelica_metatype tmp4_3;modelica_metatype tmp4_4;modelica_metatype tmp4_5;modelica_metatype tmp4_6;modelica_metatype tmp4_7;modelica_metatype tmp4_8;modelica_metatype tmp4_9;modelica_metatype tmp4_10;modelica_metatype tmp4_11;modelica_metatype tmp4_12;modelica_metatype tmp4_13;modelica_metatype tmp4_14;modelica_metatype tmp4_15;
tmp4_1 = _in_txt;
tmp4_2 = _in_a_ri_path;
tmp4_3 = _in_a_foundFirst;
tmp4_4 = _in_a_auxFunction;
tmp4_5 = _in_a_tmpVarDecls;
tmp4_6 = _in_a_bodyExpPre;
tmp4_7 = _in_a_context;
tmp4_8 = _in_a_ri_foldExp;
tmp4_9 = _in_a_arrayTypeResult;
tmp4_10 = _in_a_varDecls;
tmp4_11 = _in_a_arrIndex;
tmp4_12 = _in_a_r_expr;
tmp4_13 = _in_a_res;
tmp4_14 = _in_a_reductionBodyExpr;
tmp4_15 = _in_a_resTail;
{
modelica_metatype _txt = NULL;
modelica_metatype _a_foundFirst = NULL;
modelica_metatype _a_auxFunction = NULL;
modelica_metatype _a_tmpVarDecls = NULL;
modelica_metatype _a_bodyExpPre = NULL;
modelica_metatype _a_context = NULL;
modelica_metatype _a_ri_foldExp = NULL;
modelica_metatype _a_arrayTypeResult = NULL;
modelica_metatype _a_varDecls = NULL;
modelica_metatype _a_arrIndex = NULL;
modelica_metatype _a_r_expr = NULL;
modelica_metatype _a_res = NULL;
modelica_metatype _a_reductionBodyExpr = NULL;
modelica_metatype _a_resTail = NULL;
modelica_metatype _ret_0 = NULL;
volatile mmc_switch_type tmp4;
int tmp5;
tmp4 = 0;
for (; tmp4 < 4; tmp4++) {
switch (MMC_SWITCH_CAST(tmp4)) {
case 0: {
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,1,1) == 0) goto tmp3_end;
tmpMeta[5] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
if (4 != MMC_STRLEN(tmpMeta[5]) || strcmp(MMC_STRINGDATA(_OMC_LIT423), MMC_STRINGDATA(tmpMeta[5])) != 0) goto tmp3_end;
_txt = tmp4_1;
_a_auxFunction = tmp4_4;
_a_tmpVarDecls = tmp4_5;
_a_bodyExpPre = tmp4_6;
_a_varDecls = tmp4_10;
_a_reductionBodyExpr = tmp4_14;
_a_resTail = tmp4_15;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT256);
_txt = omc_Tpl_writeText(threadData, _txt, _a_resTail);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT418);
_txt = omc_Tpl_writeText(threadData, _txt, _a_reductionBodyExpr);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT420);
_txt = omc_Tpl_writeText(threadData, _txt, _a_resTail);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT422);
_txt = omc_Tpl_writeText(threadData, _txt, _a_resTail);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT290);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_auxFunction;
tmpMeta[0+2] = _a_tmpVarDecls;
tmpMeta[0+3] = _a_bodyExpPre;
tmpMeta[0+4] = _a_varDecls;
goto tmp3_done;
}
case 1: {
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,1,1) == 0) goto tmp3_end;
tmpMeta[5] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
if (11 != MMC_STRLEN(tmpMeta[5]) || strcmp(MMC_STRINGDATA(_OMC_LIT424), MMC_STRINGDATA(tmpMeta[5])) != 0) goto tmp3_end;
_txt = tmp4_1;
_a_auxFunction = tmp4_4;
_a_tmpVarDecls = tmp4_5;
_a_bodyExpPre = tmp4_6;
_a_varDecls = tmp4_10;
_a_res = tmp4_13;
_a_reductionBodyExpr = tmp4_14;
_txt = omc_Tpl_writeText(threadData, _txt, _a_res);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT418);
_txt = omc_Tpl_writeText(threadData, _txt, _a_reductionBodyExpr);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT226);
_txt = omc_Tpl_writeText(threadData, _txt, _a_res);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT290);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_auxFunction;
tmpMeta[0+2] = _a_tmpVarDecls;
tmpMeta[0+3] = _a_bodyExpPre;
tmpMeta[0+4] = _a_varDecls;
goto tmp3_done;
}
case 2: {
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,1,1) == 0) goto tmp3_end;
tmpMeta[5] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
if (5 != MMC_STRLEN(tmpMeta[5]) || strcmp(MMC_STRINGDATA(_OMC_LIT276), MMC_STRINGDATA(tmpMeta[5])) != 0) goto tmp3_end;
_txt = tmp4_1;
_a_auxFunction = tmp4_4;
_a_tmpVarDecls = tmp4_5;
_a_bodyExpPre = tmp4_6;
_a_arrayTypeResult = tmp4_9;
_a_varDecls = tmp4_10;
_a_arrIndex = tmp4_11;
_a_r_expr = tmp4_12;
_a_res = tmp4_13;
_a_reductionBodyExpr = tmp4_14;
_ret_0 = omc_Expression_typeof(threadData, _a_r_expr);
_txt = omc_CodegenCFunctions_fun__1114(threadData, _txt, _ret_0, _a_arrayTypeResult, _a_varDecls, _a_reductionBodyExpr, _a_arrIndex, _a_res ,&_a_varDecls);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_auxFunction;
tmpMeta[0+2] = _a_tmpVarDecls;
tmpMeta[0+3] = _a_bodyExpPre;
tmpMeta[0+4] = _a_varDecls;
goto tmp3_done;
}
case 3: {
_txt = tmp4_1;
_a_foundFirst = tmp4_3;
_a_auxFunction = tmp4_4;
_a_tmpVarDecls = tmp4_5;
_a_bodyExpPre = tmp4_6;
_a_context = tmp4_7;
_a_ri_foldExp = tmp4_8;
_a_varDecls = tmp4_10;
_a_res = tmp4_13;
_a_reductionBodyExpr = tmp4_14;
_txt = omc_CodegenCFunctions_fun__1116(threadData, _txt, _a_ri_foldExp, _a_reductionBodyExpr, _a_res, _a_foundFirst, _a_auxFunction, _a_tmpVarDecls, _a_bodyExpPre, _a_context ,&_a_auxFunction ,&_a_tmpVarDecls ,&_a_bodyExpPre);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_auxFunction;
tmpMeta[0+2] = _a_tmpVarDecls;
tmpMeta[0+3] = _a_bodyExpPre;
tmpMeta[0+4] = _a_varDecls;
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta[0+0];
_out_a_auxFunction = tmpMeta[0+1];
_out_a_tmpVarDecls = tmpMeta[0+2];
_out_a_bodyExpPre = tmpMeta[0+3];
_out_a_varDecls = tmpMeta[0+4];
_return: OMC_LABEL_UNUSED
if (out_out_a_auxFunction) { *out_out_a_auxFunction = _out_a_auxFunction; }
if (out_out_a_tmpVarDecls) { *out_out_a_tmpVarDecls = _out_a_tmpVarDecls; }
if (out_out_a_bodyExpPre) { *out_out_a_bodyExpPre = _out_a_bodyExpPre; }
if (out_out_a_varDecls) { *out_out_a_varDecls = _out_a_varDecls; }
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__1116(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_ri_foldExp, modelica_metatype _in_a_reductionBodyExpr, modelica_metatype _in_a_res, modelica_metatype _in_a_foundFirst, modelica_metatype _in_a_auxFunction, modelica_metatype _in_a_tmpVarDecls, modelica_metatype _in_a_bodyExpPre, modelica_metatype _in_a_context, modelica_metatype *out_out_a_auxFunction, modelica_metatype *out_out_a_tmpVarDecls, modelica_metatype *out_out_a_bodyExpPre)
{
modelica_metatype _out_txt = NULL;
modelica_metatype _out_a_auxFunction = NULL;
modelica_metatype _out_a_tmpVarDecls = NULL;
modelica_metatype _out_a_bodyExpPre = NULL;
modelica_metatype tmpMeta[5] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_metatype tmp4_2;modelica_metatype tmp4_3;modelica_metatype tmp4_4;modelica_metatype tmp4_5;modelica_metatype tmp4_6;modelica_metatype tmp4_7;modelica_metatype tmp4_8;modelica_metatype tmp4_9;
tmp4_1 = _in_txt;
tmp4_2 = _in_a_ri_foldExp;
tmp4_3 = _in_a_reductionBodyExpr;
tmp4_4 = _in_a_res;
tmp4_5 = _in_a_foundFirst;
tmp4_6 = _in_a_auxFunction;
tmp4_7 = _in_a_tmpVarDecls;
tmp4_8 = _in_a_bodyExpPre;
tmp4_9 = _in_a_context;
{
modelica_metatype _txt = NULL;
modelica_metatype _a_reductionBodyExpr = NULL;
modelica_metatype _a_res = NULL;
modelica_metatype _a_foundFirst = NULL;
modelica_metatype _a_auxFunction = NULL;
modelica_metatype _a_tmpVarDecls = NULL;
modelica_metatype _a_bodyExpPre = NULL;
modelica_metatype _a_context = NULL;
modelica_metatype _i_fExp = NULL;
modelica_metatype _l_fExpStr = NULL;
volatile mmc_switch_type tmp4;
int tmp5;
tmp4 = 0;
for (; tmp4 < 2; tmp4++) {
switch (MMC_SWITCH_CAST(tmp4)) {
case 0: {
if (optionNone(tmp4_2)) goto tmp3_end;
tmpMeta[4] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 1));
_i_fExp = tmpMeta[4];
_txt = tmp4_1;
_a_reductionBodyExpr = tmp4_3;
_a_res = tmp4_4;
_a_foundFirst = tmp4_5;
_a_auxFunction = tmp4_6;
_a_tmpVarDecls = tmp4_7;
_a_bodyExpPre = tmp4_8;
_a_context = tmp4_9;
_l_fExpStr = omc_CodegenCFunctions_daeExp(threadData, _OMC_LIT20, _i_fExp, _a_context, _a_bodyExpPre, _a_tmpVarDecls, _a_auxFunction ,&_a_bodyExpPre ,&_a_tmpVarDecls ,&_a_auxFunction);
_txt = omc_CodegenCFunctions_fun__1115(threadData, _txt, _a_foundFirst, _a_reductionBodyExpr, _l_fExpStr, _a_res);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_auxFunction;
tmpMeta[0+2] = _a_tmpVarDecls;
tmpMeta[0+3] = _a_bodyExpPre;
goto tmp3_done;
}
case 1: {
_txt = tmp4_1;
_a_auxFunction = tmp4_6;
_a_tmpVarDecls = tmp4_7;
_a_bodyExpPre = tmp4_8;
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_auxFunction;
tmpMeta[0+2] = _a_tmpVarDecls;
tmpMeta[0+3] = _a_bodyExpPre;
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta[0+0];
_out_a_auxFunction = tmpMeta[0+1];
_out_a_tmpVarDecls = tmpMeta[0+2];
_out_a_bodyExpPre = tmpMeta[0+3];
_return: OMC_LABEL_UNUSED
if (out_out_a_auxFunction) { *out_out_a_auxFunction = _out_a_auxFunction; }
if (out_out_a_tmpVarDecls) { *out_out_a_tmpVarDecls = _out_a_tmpVarDecls; }
if (out_out_a_bodyExpPre) { *out_out_a_bodyExpPre = _out_a_bodyExpPre; }
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__1115(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_foundFirst, modelica_metatype _in_a_reductionBodyExpr, modelica_metatype _in_a_fExpStr, modelica_metatype _in_a_res)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta[2] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp3_1;modelica_metatype tmp3_2;modelica_metatype tmp3_3;modelica_metatype tmp3_4;modelica_metatype tmp3_5;
tmp3_1 = _in_txt;
tmp3_2 = _in_a_foundFirst;
tmp3_3 = _in_a_reductionBodyExpr;
tmp3_4 = _in_a_fExpStr;
tmp3_5 = _in_a_res;
{
modelica_metatype _txt = NULL;
modelica_metatype _a_reductionBodyExpr = NULL;
modelica_metatype _a_fExpStr = NULL;
modelica_metatype _a_res = NULL;
modelica_metatype _i_foundFirst = NULL;
volatile mmc_switch_type tmp3;
int tmp4;
tmp3 = 0;
for (; tmp3 < 2; tmp3++) {
switch (MMC_SWITCH_CAST(tmp3)) {
case 0: {
if (mmc__uniontype__metarecord__typedef__equal(tmp3_2,0,2) == 0) goto tmp2_end;
tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_2), 2));
if (!listEmpty(tmpMeta[1])) goto tmp2_end;
_txt = tmp3_1;
_a_fExpStr = tmp3_4;
_a_res = tmp3_5;
_txt = omc_Tpl_writeText(threadData, _txt, _a_res);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT121);
_txt = omc_Tpl_writeText(threadData, _txt, _a_fExpStr);
tmpMeta[0] = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT105);
goto tmp2_done;
}
case 1: {
_txt = tmp3_1;
_i_foundFirst = tmp3_2;
_a_reductionBodyExpr = tmp3_3;
_a_fExpStr = tmp3_4;
_a_res = tmp3_5;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT346);
_txt = omc_Tpl_writeText(threadData, _txt, _i_foundFirst);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT428);
_txt = omc_Tpl_pushBlock(threadData, _txt, _OMC_LIT97);
_txt = omc_Tpl_writeText(threadData, _txt, _a_res);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT121);
_txt = omc_Tpl_writeText(threadData, _txt, _a_fExpStr);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT161);
_txt = omc_Tpl_popBlock(threadData, _txt);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT432);
_txt = omc_Tpl_pushBlock(threadData, _txt, _OMC_LIT97);
_txt = omc_Tpl_writeText(threadData, _txt, _a_res);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT121);
_txt = omc_Tpl_writeText(threadData, _txt, _a_reductionBodyExpr);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT161);
_txt = omc_Tpl_writeText(threadData, _txt, _i_foundFirst);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT275);
_txt = omc_Tpl_popBlock(threadData, _txt);
tmpMeta[0] = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT103);
goto tmp2_done;
}
}
goto tmp2_end;
tmp2_end: ;
}
goto goto_1;
goto_1:;
MMC_THROW_INTERNAL();
goto tmp2_done;
tmp2_done:;
}
}
_out_txt = tmpMeta[0];
_return: OMC_LABEL_UNUSED
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__1114(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_mArg, modelica_metatype _in_a_arrayTypeResult, modelica_metatype _in_a_varDecls, modelica_metatype _in_a_reductionBodyExpr, modelica_metatype _in_a_arrIndex, modelica_metatype _in_a_res, modelica_metatype *out_out_a_varDecls)
{
modelica_metatype _out_txt = NULL;
modelica_metatype _out_a_varDecls = NULL;
modelica_metatype tmpMeta[4] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_metatype tmp4_2;modelica_metatype tmp4_3;modelica_metatype tmp4_4;modelica_metatype tmp4_5;modelica_metatype tmp4_6;modelica_metatype tmp4_7;
tmp4_1 = _in_txt;
tmp4_2 = _in_mArg;
tmp4_3 = _in_a_arrayTypeResult;
tmp4_4 = _in_a_varDecls;
tmp4_5 = _in_a_reductionBodyExpr;
tmp4_6 = _in_a_arrIndex;
tmp4_7 = _in_a_res;
{
modelica_metatype _txt = NULL;
modelica_metatype _a_arrayTypeResult = NULL;
modelica_metatype _a_varDecls = NULL;
modelica_metatype _a_reductionBodyExpr = NULL;
modelica_metatype _a_arrIndex = NULL;
modelica_metatype _a_res = NULL;
modelica_metatype _i_ty = NULL;
modelica_metatype _i_dims = NULL;
modelica_metatype _i_record__state = NULL;
modelica_metatype _l_idx__str = NULL;
modelica_integer _ret_5;
modelica_integer _ret_4;
modelica_metatype _l_nridx__str = NULL;
modelica_metatype _l_tmp = NULL;
modelica_metatype _ret_1 = NULL;
modelica_metatype _l_rec__name = NULL;
int tmp4;
{
switch (MMC_SWITCH_CAST(valueConstructor(tmp4_2))) {
case 12: {
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,9,3) == 0) goto tmp3_end;
tmpMeta[2] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
_i_record__state = tmpMeta[2];
_txt = tmp4_1;
_a_varDecls = tmp4_4;
_a_reductionBodyExpr = tmp4_5;
_a_arrIndex = tmp4_6;
_a_res = tmp4_7;
_ret_1 = omc_ClassInf_getStateName(threadData, _i_record__state);
_l_rec__name = omc_CodegenUtil_underscorePath(threadData, _OMC_LIT20, _ret_1);
_txt = omc_Tpl_writeText(threadData, _txt, _l_rec__name);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT349);
_txt = omc_Tpl_writeText(threadData, _txt, _a_res);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT351);
_txt = omc_Tpl_writeText(threadData, _txt, _a_arrIndex);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT434);
_txt = omc_Tpl_writeText(threadData, _txt, _a_reductionBodyExpr);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT105);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_varDecls;
goto tmp3_done;
}
case 9: {
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,6,2) == 0) goto tmp3_end;
tmpMeta[2] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
tmpMeta[3] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 3));
_i_ty = tmpMeta[2];
_i_dims = tmpMeta[3];
_txt = tmp4_1;
_a_varDecls = tmp4_4;
_a_reductionBodyExpr = tmp4_5;
_a_arrIndex = tmp4_6;
_a_res = tmp4_7;
_l_tmp = omc_CodegenCFunctions_tempDecl(threadData, _OMC_LIT20, _OMC_LIT435, _a_varDecls ,&_a_varDecls);
_ret_4 = listLength(_i_dims);
_ret_5 = ((modelica_integer) 1) + _ret_4;
_l_nridx__str = omc_Tpl_writeStr(threadData, _OMC_LIT20, intString(_ret_5));
_l_idx__str = omc_CodegenCFunctions_lm__1113(threadData, _OMC_LIT20, _i_dims);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT437);
_txt = omc_Tpl_writeText(threadData, _txt, _l_tmp);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT292);
_txt = omc_Tpl_writeText(threadData, _txt, _l_nridx__str);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT439);
_txt = omc_Tpl_writeText(threadData, _txt, _a_arrIndex);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT441);
_txt = omc_Tpl_writeText(threadData, _txt, _l_idx__str);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT445);
_txt = omc_CodegenCFunctions_expTypeArray(threadData, _txt, _i_ty);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT68);
_txt = omc_Tpl_writeText(threadData, _txt, _a_reductionBodyExpr);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT123);
_txt = omc_Tpl_writeText(threadData, _txt, _a_res);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT123);
_txt = omc_Tpl_writeText(threadData, _txt, _l_tmp);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT290);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_varDecls;
goto tmp3_done;
}
default:
tmp3_default: OMC_LABEL_UNUSED; {
_txt = tmp4_1;
_a_arrayTypeResult = tmp4_3;
_a_varDecls = tmp4_4;
_a_reductionBodyExpr = tmp4_5;
_a_arrIndex = tmp4_6;
_a_res = tmp4_7;
_txt = omc_Tpl_writeText(threadData, _txt, _a_arrayTypeResult);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT355);
_txt = omc_Tpl_writeText(threadData, _txt, _a_res);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT351);
_txt = omc_Tpl_writeText(threadData, _txt, _a_arrIndex);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT434);
_txt = omc_Tpl_writeText(threadData, _txt, _a_reductionBodyExpr);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT105);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_varDecls;
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta[0+0];
_out_a_varDecls = tmpMeta[0+1];
_return: OMC_LABEL_UNUSED
if (out_out_a_varDecls) { *out_out_a_varDecls = _out_a_varDecls; }
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_lm__1113(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_items)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta[3] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp3_1;modelica_metatype tmp3_2;
tmp3_1 = _in_txt;
tmp3_2 = _in_items;
{
modelica_metatype _txt = NULL;
modelica_metatype _rest = NULL;
volatile mmc_switch_type tmp3;
int tmp4;
tmp3 = 0;
for (; tmp3 < 2; tmp3++) {
switch (MMC_SWITCH_CAST(tmp3)) {
case 0: {
if (!listEmpty(tmp3_2)) goto tmp2_end;
_txt = tmp3_1;
tmpMeta[0] = _txt;
goto tmp2_done;
}
case 1: {
if (listEmpty(tmp3_2)) goto tmp2_end;
tmpMeta[1] = MMC_CAR(tmp3_2);
tmpMeta[2] = MMC_CDR(tmp3_2);
_rest = tmpMeta[2];
_txt = tmp3_1;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT447);
_in_txt = _txt;
_in_items = _rest;
goto _tailrecursive;
goto tmp2_done;
}
}
goto tmp2_end;
tmp2_end: ;
}
goto goto_1;
goto_1:;
MMC_THROW_INTERNAL();
goto tmp2_done;
tmp2_done:;
}
}
_out_txt = tmpMeta[0];
_return: OMC_LABEL_UNUSED
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__1112(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_ri_path, modelica_metatype _in_a_auxFunction, modelica_metatype _in_a_tmpVarDecls, modelica_metatype _in_a_preDefault, modelica_metatype _in_a_context, modelica_metatype _in_a_ri_defaultValue, modelica_metatype *out_out_a_auxFunction, modelica_metatype *out_out_a_tmpVarDecls, modelica_metatype *out_out_a_preDefault)
{
modelica_metatype _out_txt = NULL;
modelica_metatype _out_a_auxFunction = NULL;
modelica_metatype _out_a_tmpVarDecls = NULL;
modelica_metatype _out_a_preDefault = NULL;
modelica_metatype tmpMeta[5] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_metatype tmp4_2;modelica_metatype tmp4_3;modelica_metatype tmp4_4;modelica_metatype tmp4_5;modelica_metatype tmp4_6;modelica_metatype tmp4_7;
tmp4_1 = _in_txt;
tmp4_2 = _in_a_ri_path;
tmp4_3 = _in_a_auxFunction;
tmp4_4 = _in_a_tmpVarDecls;
tmp4_5 = _in_a_preDefault;
tmp4_6 = _in_a_context;
tmp4_7 = _in_a_ri_defaultValue;
{
modelica_metatype _txt = NULL;
modelica_metatype _a_auxFunction = NULL;
modelica_metatype _a_tmpVarDecls = NULL;
modelica_metatype _a_preDefault = NULL;
modelica_metatype _a_context = NULL;
modelica_metatype _a_ri_defaultValue = NULL;
volatile mmc_switch_type tmp4;
int tmp5;
tmp4 = 0;
for (; tmp4 < 2; tmp4++) {
switch (MMC_SWITCH_CAST(tmp4)) {
case 0: {
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,1,1) == 0) goto tmp3_end;
tmpMeta[4] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
if (5 != MMC_STRLEN(tmpMeta[4]) || strcmp(MMC_STRINGDATA(_OMC_LIT276), MMC_STRINGDATA(tmpMeta[4])) != 0) goto tmp3_end;
_txt = tmp4_1;
_a_auxFunction = tmp4_3;
_a_tmpVarDecls = tmp4_4;
_a_preDefault = tmp4_5;
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_auxFunction;
tmpMeta[0+2] = _a_tmpVarDecls;
tmpMeta[0+3] = _a_preDefault;
goto tmp3_done;
}
case 1: {
_txt = tmp4_1;
_a_auxFunction = tmp4_3;
_a_tmpVarDecls = tmp4_4;
_a_preDefault = tmp4_5;
_a_context = tmp4_6;
_a_ri_defaultValue = tmp4_7;
tmpMeta[0+0] = omc_CodegenCFunctions_fun__1111(threadData, _txt, _a_ri_defaultValue, _a_auxFunction, _a_tmpVarDecls, _a_preDefault, _a_context, &tmpMeta[0+1], &tmpMeta[0+2], &tmpMeta[0+3]);
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta[0+0];
_out_a_auxFunction = tmpMeta[0+1];
_out_a_tmpVarDecls = tmpMeta[0+2];
_out_a_preDefault = tmpMeta[0+3];
_return: OMC_LABEL_UNUSED
if (out_out_a_auxFunction) { *out_out_a_auxFunction = _out_a_auxFunction; }
if (out_out_a_tmpVarDecls) { *out_out_a_tmpVarDecls = _out_a_tmpVarDecls; }
if (out_out_a_preDefault) { *out_out_a_preDefault = _out_a_preDefault; }
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__1111(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_ri_defaultValue, modelica_metatype _in_a_auxFunction, modelica_metatype _in_a_tmpVarDecls, modelica_metatype _in_a_preDefault, modelica_metatype _in_a_context, modelica_metatype *out_out_a_auxFunction, modelica_metatype *out_out_a_tmpVarDecls, modelica_metatype *out_out_a_preDefault)
{
modelica_metatype _out_txt = NULL;
modelica_metatype _out_a_auxFunction = NULL;
modelica_metatype _out_a_tmpVarDecls = NULL;
modelica_metatype _out_a_preDefault = NULL;
modelica_metatype tmpMeta[5] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_metatype tmp4_2;modelica_metatype tmp4_3;modelica_metatype tmp4_4;modelica_metatype tmp4_5;modelica_metatype tmp4_6;
tmp4_1 = _in_txt;
tmp4_2 = _in_a_ri_defaultValue;
tmp4_3 = _in_a_auxFunction;
tmp4_4 = _in_a_tmpVarDecls;
tmp4_5 = _in_a_preDefault;
tmp4_6 = _in_a_context;
{
modelica_metatype _txt = NULL;
modelica_metatype _a_auxFunction = NULL;
modelica_metatype _a_tmpVarDecls = NULL;
modelica_metatype _a_preDefault = NULL;
modelica_metatype _a_context = NULL;
modelica_metatype _i_v = NULL;
modelica_metatype _ret_0 = NULL;
volatile mmc_switch_type tmp4;
int tmp5;
tmp4 = 0;
for (; tmp4 < 2; tmp4++) {
switch (MMC_SWITCH_CAST(tmp4)) {
case 0: {
if (optionNone(tmp4_2)) goto tmp3_end;
tmpMeta[4] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 1));
_i_v = tmpMeta[4];
_txt = tmp4_1;
_a_auxFunction = tmp4_3;
_a_tmpVarDecls = tmp4_4;
_a_preDefault = tmp4_5;
_a_context = tmp4_6;
_ret_0 = omc_ValuesUtil_valueExp(threadData, _i_v, mmc_mk_none());
_txt = omc_CodegenCFunctions_daeExp(threadData, _txt, _ret_0, _a_context, _a_preDefault, _a_tmpVarDecls, _a_auxFunction ,&_a_preDefault ,&_a_tmpVarDecls ,&_a_auxFunction);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_auxFunction;
tmpMeta[0+2] = _a_tmpVarDecls;
tmpMeta[0+3] = _a_preDefault;
goto tmp3_done;
}
case 1: {
_txt = tmp4_1;
_a_auxFunction = tmp4_3;
_a_tmpVarDecls = tmp4_4;
_a_preDefault = tmp4_5;
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_auxFunction;
tmpMeta[0+2] = _a_tmpVarDecls;
tmpMeta[0+3] = _a_preDefault;
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta[0+0];
_out_a_auxFunction = tmpMeta[0+1];
_out_a_tmpVarDecls = tmpMeta[0+2];
_out_a_preDefault = tmpMeta[0+3];
_return: OMC_LABEL_UNUSED
if (out_out_a_auxFunction) { *out_out_a_auxFunction = _out_a_auxFunction; }
if (out_out_a_tmpVarDecls) { *out_out_a_tmpVarDecls = _out_a_tmpVarDecls; }
if (out_out_a_preDefault) { *out_out_a_preDefault = _out_a_preDefault; }
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__1110(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_ri_path, modelica_metatype _in_a_tmpVarDecls, modelica_metatype *out_out_a_tmpVarDecls)
{
modelica_metatype _out_txt = NULL;
modelica_metatype _out_a_tmpVarDecls = NULL;
modelica_metatype tmpMeta[3] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_metatype tmp4_2;modelica_metatype tmp4_3;
tmp4_1 = _in_txt;
tmp4_2 = _in_a_ri_path;
tmp4_3 = _in_a_tmpVarDecls;
{
modelica_metatype _txt = NULL;
modelica_metatype _a_tmpVarDecls = NULL;
volatile mmc_switch_type tmp4;
int tmp5;
tmp4 = 0;
for (; tmp4 < 2; tmp4++) {
switch (MMC_SWITCH_CAST(tmp4)) {
case 0: {
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,1,1) == 0) goto tmp3_end;
tmpMeta[2] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
if (4 != MMC_STRLEN(tmpMeta[2]) || strcmp(MMC_STRINGDATA(_OMC_LIT423), MMC_STRINGDATA(tmpMeta[2])) != 0) goto tmp3_end;
_txt = tmp4_1;
_a_tmpVarDecls = tmp4_3;
tmpMeta[0+0] = omc_CodegenCFunctions_tempDecl(threadData, _txt, _OMC_LIT448, _a_tmpVarDecls, &tmpMeta[0+1]);
goto tmp3_done;
}
case 1: {
_txt = tmp4_1;
_a_tmpVarDecls = tmp4_3;
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_tmpVarDecls;
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta[0+0];
_out_a_tmpVarDecls = tmpMeta[0+1];
_return: OMC_LABEL_UNUSED
if (out_out_a_tmpVarDecls) { *out_out_a_tmpVarDecls = _out_a_tmpVarDecls; }
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__1109(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_ri_path, modelica_metatype _in_a_tmpVarDecls, modelica_metatype _in_a_ri_defaultValue, modelica_metatype *out_out_a_tmpVarDecls)
{
modelica_metatype _out_txt = NULL;
modelica_metatype _out_a_tmpVarDecls = NULL;
modelica_metatype tmpMeta[3] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_metatype tmp4_2;modelica_metatype tmp4_3;modelica_metatype tmp4_4;
tmp4_1 = _in_txt;
tmp4_2 = _in_a_ri_path;
tmp4_3 = _in_a_tmpVarDecls;
tmp4_4 = _in_a_ri_defaultValue;
{
modelica_metatype _txt = NULL;
modelica_metatype _a_tmpVarDecls = NULL;
modelica_metatype _a_ri_defaultValue = NULL;
volatile mmc_switch_type tmp4;
int tmp5;
tmp4 = 0;
for (; tmp4 < 2; tmp4++) {
switch (MMC_SWITCH_CAST(tmp4)) {
case 0: {
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,1,1) == 0) goto tmp3_end;
tmpMeta[2] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
if (5 != MMC_STRLEN(tmpMeta[2]) || strcmp(MMC_STRINGDATA(_OMC_LIT276), MMC_STRINGDATA(tmpMeta[2])) != 0) goto tmp3_end;
_txt = tmp4_1;
_a_tmpVarDecls = tmp4_3;
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_tmpVarDecls;
goto tmp3_done;
}
case 1: {
_txt = tmp4_1;
_a_tmpVarDecls = tmp4_3;
_a_ri_defaultValue = tmp4_4;
tmpMeta[0+0] = omc_CodegenCFunctions_fun__1108(threadData, _txt, _a_ri_defaultValue, _a_tmpVarDecls, &tmpMeta[0+1]);
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta[0+0];
_out_a_tmpVarDecls = tmpMeta[0+1];
_return: OMC_LABEL_UNUSED
if (out_out_a_tmpVarDecls) { *out_out_a_tmpVarDecls = _out_a_tmpVarDecls; }
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__1108(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_ri_defaultValue, modelica_metatype _in_a_tmpVarDecls, modelica_metatype *out_out_a_tmpVarDecls)
{
modelica_metatype _out_txt = NULL;
modelica_metatype _out_a_tmpVarDecls = NULL;
modelica_metatype tmpMeta[2] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_metatype tmp4_2;modelica_metatype tmp4_3;
tmp4_1 = _in_txt;
tmp4_2 = _in_a_ri_defaultValue;
tmp4_3 = _in_a_tmpVarDecls;
{
modelica_metatype _txt = NULL;
modelica_metatype _a_tmpVarDecls = NULL;
volatile mmc_switch_type tmp4;
int tmp5;
tmp4 = 0;
for (; tmp4 < 2; tmp4++) {
switch (MMC_SWITCH_CAST(tmp4)) {
case 0: {
if (!optionNone(tmp4_2)) goto tmp3_end;
_txt = tmp4_1;
_a_tmpVarDecls = tmp4_3;
tmpMeta[0+0] = omc_CodegenCFunctions_tempDecl(threadData, _txt, _OMC_LIT140, _a_tmpVarDecls, &tmpMeta[0+1]);
goto tmp3_done;
}
case 1: {
_txt = tmp4_1;
_a_tmpVarDecls = tmp4_3;
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_tmpVarDecls;
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta[0+0];
_out_a_tmpVarDecls = tmpMeta[0+1];
_return: OMC_LABEL_UNUSED
if (out_out_a_tmpVarDecls) { *out_out_a_tmpVarDecls = _out_a_tmpVarDecls; }
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__1107(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_ri_path, modelica_metatype _in_a_tmpVarDecls, modelica_metatype *out_out_a_tmpVarDecls)
{
modelica_metatype _out_txt = NULL;
modelica_metatype _out_a_tmpVarDecls = NULL;
modelica_metatype tmpMeta[3] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_metatype tmp4_2;modelica_metatype tmp4_3;
tmp4_1 = _in_txt;
tmp4_2 = _in_a_ri_path;
tmp4_3 = _in_a_tmpVarDecls;
{
modelica_metatype _txt = NULL;
modelica_metatype _a_tmpVarDecls = NULL;
volatile mmc_switch_type tmp4;
int tmp5;
tmp4 = 0;
for (; tmp4 < 2; tmp4++) {
switch (MMC_SWITCH_CAST(tmp4)) {
case 0: {
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,1,1) == 0) goto tmp3_end;
tmpMeta[2] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
if (5 != MMC_STRLEN(tmpMeta[2]) || strcmp(MMC_STRINGDATA(_OMC_LIT276), MMC_STRINGDATA(tmpMeta[2])) != 0) goto tmp3_end;
_txt = tmp4_1;
_a_tmpVarDecls = tmp4_3;
tmpMeta[0+0] = omc_CodegenCFunctions_tempDecl(threadData, _txt, _OMC_LIT140, _a_tmpVarDecls, &tmpMeta[0+1]);
goto tmp3_done;
}
case 1: {
_txt = tmp4_1;
_a_tmpVarDecls = tmp4_3;
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_tmpVarDecls;
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta[0+0];
_out_a_tmpVarDecls = tmpMeta[0+1];
_return: OMC_LABEL_UNUSED
if (out_out_a_tmpVarDecls) { *out_out_a_tmpVarDecls = _out_a_tmpVarDecls; }
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__1106(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_resTail)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta[2] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp3_1;modelica_metatype tmp3_2;
tmp3_1 = _in_txt;
tmp3_2 = _in_a_resTail;
{
modelica_metatype _txt = NULL;
modelica_metatype _i_resTail = NULL;
volatile mmc_switch_type tmp3;
int tmp4;
tmp3 = 0;
for (; tmp3 < 2; tmp3++) {
switch (MMC_SWITCH_CAST(tmp3)) {
case 0: {
if (mmc__uniontype__metarecord__typedef__equal(tmp3_2,0,2) == 0) goto tmp2_end;
tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_2), 2));
if (!listEmpty(tmpMeta[1])) goto tmp2_end;
_txt = tmp3_1;
tmpMeta[0] = _txt;
goto tmp2_done;
}
case 1: {
_txt = tmp3_1;
_i_resTail = tmp3_2;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT256);
_txt = omc_Tpl_writeText(threadData, _txt, _i_resTail);
tmpMeta[0] = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT258);
goto tmp2_done;
}
}
goto tmp2_end;
tmp2_end: ;
}
goto goto_1;
goto_1:;
MMC_THROW_INTERNAL();
goto tmp2_done;
tmp2_done:;
}
}
_out_txt = tmpMeta[0];
_return: OMC_LABEL_UNUSED
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__1105(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_foundFirst)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta[2] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp3_1;modelica_metatype tmp3_2;
tmp3_1 = _in_txt;
tmp3_2 = _in_a_foundFirst;
{
modelica_metatype _txt = NULL;
modelica_metatype _i_foundFirst = NULL;
volatile mmc_switch_type tmp3;
int tmp4;
tmp3 = 0;
for (; tmp3 < 2; tmp3++) {
switch (MMC_SWITCH_CAST(tmp3)) {
case 0: {
if (mmc__uniontype__metarecord__typedef__equal(tmp3_2,0,2) == 0) goto tmp2_end;
tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_2), 2));
if (!listEmpty(tmpMeta[1])) goto tmp2_end;
_txt = tmp3_1;
tmpMeta[0] = _txt;
goto tmp2_done;
}
case 1: {
_txt = tmp3_1;
_i_foundFirst = tmp3_2;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT259);
_txt = omc_Tpl_writeText(threadData, _txt, _i_foundFirst);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT130);
_txt = omc_CodegenCFunctions_generateThrow(threadData, _txt);
tmpMeta[0] = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT105);
goto tmp2_done;
}
}
goto tmp2_end;
tmp2_end: ;
}
goto goto_1;
goto_1:;
MMC_THROW_INTERNAL();
goto tmp2_done;
tmp2_done:;
}
}
_out_txt = tmpMeta[0];
_return: OMC_LABEL_UNUSED
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__1104(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_resTail, modelica_metatype _in_a_res)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta[2] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp3_1;modelica_metatype tmp3_2;modelica_metatype tmp3_3;
tmp3_1 = _in_txt;
tmp3_2 = _in_a_resTail;
tmp3_3 = _in_a_res;
{
modelica_metatype _txt = NULL;
modelica_metatype _a_res = NULL;
modelica_metatype _i_resTail = NULL;
volatile mmc_switch_type tmp3;
int tmp4;
tmp3 = 0;
for (; tmp3 < 2; tmp3++) {
switch (MMC_SWITCH_CAST(tmp3)) {
case 0: {
if (mmc__uniontype__metarecord__typedef__equal(tmp3_2,0,2) == 0) goto tmp2_end;
tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_2), 2));
if (!listEmpty(tmpMeta[1])) goto tmp2_end;
_txt = tmp3_1;
tmpMeta[0] = _txt;
goto tmp2_done;
}
case 1: {
_txt = tmp3_1;
_i_resTail = tmp3_2;
_a_res = tmp3_3;
_txt = omc_Tpl_writeText(threadData, _txt, _i_resTail);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT261);
_txt = omc_Tpl_writeText(threadData, _txt, _a_res);
tmpMeta[0] = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT105);
goto tmp2_done;
}
}
goto tmp2_end;
tmp2_end: ;
}
goto goto_1;
goto_1:;
MMC_THROW_INTERNAL();
goto tmp2_done;
tmp2_done:;
}
}
_out_txt = tmpMeta[0];
_return: OMC_LABEL_UNUSED
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__1103(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_iterators, modelica_metatype _in_a_endLoop)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta[3] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp3_1;modelica_metatype tmp3_2;modelica_metatype tmp3_3;
tmp3_1 = _in_txt;
tmp3_2 = _in_a_iterators;
tmp3_3 = _in_a_endLoop;
{
modelica_metatype _txt = NULL;
modelica_metatype _a_endLoop = NULL;
modelica_metatype _i_iterators = NULL;
modelica_integer _ret_0;
volatile mmc_switch_type tmp3;
int tmp4;
tmp3 = 0;
for (; tmp3 < 2; tmp3++) {
switch (MMC_SWITCH_CAST(tmp3)) {
case 0: {
if (listEmpty(tmp3_2)) goto tmp2_end;
tmpMeta[1] = MMC_CAR(tmp3_2);
tmpMeta[2] = MMC_CDR(tmp3_2);
_i_iterators = tmp3_2;
_txt = tmp3_1;
_a_endLoop = tmp3_3;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT263);
_txt = omc_Tpl_writeText(threadData, _txt, _a_endLoop);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT265);
_ret_0 = listLength(_i_iterators);
_txt = omc_Tpl_writeStr(threadData, _txt, intString(_ret_0));
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT271);
_txt = omc_Tpl_pushBlock(threadData, _txt, _OMC_LIT97);
_txt = omc_CodegenCFunctions_generateThrow(threadData, _txt);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT161);
_txt = omc_Tpl_popBlock(threadData, _txt);
tmpMeta[0] = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT103);
goto tmp2_done;
}
case 1: {
_txt = tmp3_1;
tmpMeta[0] = _txt;
goto tmp2_done;
}
}
goto tmp2_end;
tmp2_end: ;
}
goto goto_1;
goto_1:;
MMC_THROW_INTERNAL();
goto tmp2_done;
tmp2_done:;
}
}
_out_txt = tmpMeta[0];
_return: OMC_LABEL_UNUSED
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__1102(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_ri_path, modelica_metatype _in_a_defaultValue, modelica_metatype _in_a_preDefault, modelica_metatype _in_a_foundFirst, modelica_metatype _in_a_arrayTypeResult, modelica_metatype _in_a_auxFunction, modelica_metatype _in_a_res, modelica_metatype _in_a_r_expr, modelica_metatype _in_a_arrIndex, modelica_metatype _in_a_context, modelica_metatype _in_a_iterators, modelica_metatype _in_a_rangeExpPre, modelica_metatype _in_a_tmpVarDecls, modelica_metatype *out_out_a_auxFunction, modelica_metatype *out_out_a_rangeExpPre, modelica_metatype *out_out_a_tmpVarDecls)
{
modelica_metatype _out_txt = NULL;
modelica_metatype _out_a_auxFunction = NULL;
modelica_metatype _out_a_rangeExpPre = NULL;
modelica_metatype _out_a_tmpVarDecls = NULL;
modelica_metatype tmpMeta[5] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_metatype tmp4_2;modelica_metatype tmp4_3;modelica_metatype tmp4_4;modelica_metatype tmp4_5;modelica_metatype tmp4_6;modelica_metatype tmp4_7;modelica_metatype tmp4_8;modelica_metatype tmp4_9;modelica_metatype tmp4_10;modelica_metatype tmp4_11;modelica_metatype tmp4_12;modelica_metatype tmp4_13;modelica_metatype tmp4_14;
tmp4_1 = _in_txt;
tmp4_2 = _in_a_ri_path;
tmp4_3 = _in_a_defaultValue;
tmp4_4 = _in_a_preDefault;
tmp4_5 = _in_a_foundFirst;
tmp4_6 = _in_a_arrayTypeResult;
tmp4_7 = _in_a_auxFunction;
tmp4_8 = _in_a_res;
tmp4_9 = _in_a_r_expr;
tmp4_10 = _in_a_arrIndex;
tmp4_11 = _in_a_context;
tmp4_12 = _in_a_iterators;
tmp4_13 = _in_a_rangeExpPre;
tmp4_14 = _in_a_tmpVarDecls;
{
modelica_metatype _txt = NULL;
modelica_metatype _a_defaultValue = NULL;
modelica_metatype _a_preDefault = NULL;
modelica_metatype _a_foundFirst = NULL;
modelica_metatype _a_arrayTypeResult = NULL;
modelica_metatype _a_auxFunction = NULL;
modelica_metatype _a_res = NULL;
modelica_metatype _a_r_expr = NULL;
modelica_metatype _a_arrIndex = NULL;
modelica_metatype _a_context = NULL;
modelica_metatype _a_iterators = NULL;
modelica_metatype _a_rangeExpPre = NULL;
modelica_metatype _a_tmpVarDecls = NULL;
modelica_metatype _i_ri_path = NULL;
modelica_metatype _ret_2 = NULL;
modelica_metatype _l_length = NULL;
volatile mmc_switch_type tmp4;
int tmp5;
tmp4 = 0;
for (; tmp4 < 2; tmp4++) {
switch (MMC_SWITCH_CAST(tmp4)) {
case 0: {
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,1,1) == 0) goto tmp3_end;
tmpMeta[4] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
if (5 != MMC_STRLEN(tmpMeta[4]) || strcmp(MMC_STRINGDATA(_OMC_LIT276), MMC_STRINGDATA(tmpMeta[4])) != 0) goto tmp3_end;
_txt = tmp4_1;
_a_arrayTypeResult = tmp4_6;
_a_auxFunction = tmp4_7;
_a_res = tmp4_8;
_a_r_expr = tmp4_9;
_a_arrIndex = tmp4_10;
_a_context = tmp4_11;
_a_iterators = tmp4_12;
_a_rangeExpPre = tmp4_13;
_a_tmpVarDecls = tmp4_14;
_l_length = omc_CodegenCFunctions_tempDecl(threadData, _OMC_LIT20, _OMC_LIT140, _a_tmpVarDecls ,&_a_tmpVarDecls);
_a_rangeExpPre = omc_Tpl_writeText(threadData, _a_rangeExpPre, _l_length);
_a_rangeExpPre = omc_Tpl_writeTok(threadData, _a_rangeExpPre, _OMC_LIT273);
_a_rangeExpPre = omc_Tpl_writeTok(threadData, _a_rangeExpPre, _OMC_LIT89);
omc_CodegenCFunctions_lm__1097(threadData, _OMC_LIT20, _a_iterators, _l_length, _a_rangeExpPre, _a_context ,&_a_rangeExpPre);
_txt = omc_Tpl_writeText(threadData, _txt, _a_arrIndex);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT275);
_ret_2 = omc_Expression_typeof(threadData, _a_r_expr);
_txt = omc_CodegenCFunctions_fun__1100(threadData, _txt, _ret_2, _a_arrayTypeResult, _a_r_expr, _a_auxFunction, _a_tmpVarDecls, _a_rangeExpPre, _a_context, _l_length, _a_res ,&_a_auxFunction ,&_a_tmpVarDecls ,&_a_rangeExpPre);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_auxFunction;
tmpMeta[0+2] = _a_rangeExpPre;
tmpMeta[0+3] = _a_tmpVarDecls;
goto tmp3_done;
}
case 1: {
_txt = tmp4_1;
_i_ri_path = tmp4_2;
_a_defaultValue = tmp4_3;
_a_preDefault = tmp4_4;
_a_foundFirst = tmp4_5;
_a_auxFunction = tmp4_7;
_a_res = tmp4_8;
_a_rangeExpPre = tmp4_13;
_a_tmpVarDecls = tmp4_14;
_txt = omc_CodegenCFunctions_fun__1101(threadData, _txt, _a_foundFirst, _i_ri_path, _a_defaultValue, _a_res, _a_preDefault);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_auxFunction;
tmpMeta[0+2] = _a_rangeExpPre;
tmpMeta[0+3] = _a_tmpVarDecls;
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta[0+0];
_out_a_auxFunction = tmpMeta[0+1];
_out_a_rangeExpPre = tmpMeta[0+2];
_out_a_tmpVarDecls = tmpMeta[0+3];
_return: OMC_LABEL_UNUSED
if (out_out_a_auxFunction) { *out_out_a_auxFunction = _out_a_auxFunction; }
if (out_out_a_rangeExpPre) { *out_out_a_rangeExpPre = _out_a_rangeExpPre; }
if (out_out_a_tmpVarDecls) { *out_out_a_tmpVarDecls = _out_a_tmpVarDecls; }
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__1101(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_foundFirst, modelica_metatype _in_a_ri_path, modelica_metatype _in_a_defaultValue, modelica_metatype _in_a_res, modelica_metatype _in_a_preDefault)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta[2] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp3_1;modelica_metatype tmp3_2;modelica_metatype tmp3_3;modelica_metatype tmp3_4;modelica_metatype tmp3_5;modelica_metatype tmp3_6;
tmp3_1 = _in_txt;
tmp3_2 = _in_a_foundFirst;
tmp3_3 = _in_a_ri_path;
tmp3_4 = _in_a_defaultValue;
tmp3_5 = _in_a_res;
tmp3_6 = _in_a_preDefault;
{
modelica_metatype _txt = NULL;
modelica_metatype _a_ri_path = NULL;
modelica_metatype _a_defaultValue = NULL;
modelica_metatype _a_res = NULL;
modelica_metatype _a_preDefault = NULL;
modelica_metatype _i_foundFirst = NULL;
volatile mmc_switch_type tmp3;
int tmp4;
tmp3 = 0;
for (; tmp3 < 2; tmp3++) {
switch (MMC_SWITCH_CAST(tmp3)) {
case 0: {
if (mmc__uniontype__metarecord__typedef__equal(tmp3_2,0,2) == 0) goto tmp2_end;
tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_2), 2));
if (!listEmpty(tmpMeta[1])) goto tmp2_end;
_txt = tmp3_1;
_a_defaultValue = tmp3_4;
_a_res = tmp3_5;
_a_preDefault = tmp3_6;
_txt = omc_Tpl_writeText(threadData, _txt, _a_preDefault);
_txt = omc_Tpl_softNewLine(threadData, _txt);
_txt = omc_Tpl_writeText(threadData, _txt, _a_res);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT121);
_txt = omc_Tpl_writeText(threadData, _txt, _a_defaultValue);
tmpMeta[0] = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT278);
goto tmp2_done;
}
case 1: {
_txt = tmp3_1;
_i_foundFirst = tmp3_2;
_a_ri_path = tmp3_3;
_txt = omc_Tpl_writeText(threadData, _txt, _i_foundFirst);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT280);
_txt = omc_CodegenUtil_dotPath(threadData, _txt, _a_ri_path);
tmpMeta[0] = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT282);
goto tmp2_done;
}
}
goto tmp2_end;
tmp2_end: ;
}
goto goto_1;
goto_1:;
MMC_THROW_INTERNAL();
goto tmp2_done;
tmp2_done:;
}
}
_out_txt = tmpMeta[0];
_return: OMC_LABEL_UNUSED
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__1100(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_mArg, modelica_metatype _in_a_arrayTypeResult, modelica_metatype _in_a_r_expr, modelica_metatype _in_a_auxFunction, modelica_metatype _in_a_tmpVarDecls, modelica_metatype _in_a_rangeExpPre, modelica_metatype _in_a_context, modelica_metatype _in_a_length, modelica_metatype _in_a_res, modelica_metatype *out_out_a_auxFunction, modelica_metatype *out_out_a_tmpVarDecls, modelica_metatype *out_out_a_rangeExpPre)
{
modelica_metatype _out_txt = NULL;
modelica_metatype _out_a_auxFunction = NULL;
modelica_metatype _out_a_tmpVarDecls = NULL;
modelica_metatype _out_a_rangeExpPre = NULL;
modelica_metatype tmpMeta[5] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_metatype tmp4_2;modelica_metatype tmp4_3;modelica_metatype tmp4_4;modelica_metatype tmp4_5;modelica_metatype tmp4_6;modelica_metatype tmp4_7;modelica_metatype tmp4_8;modelica_metatype tmp4_9;modelica_metatype tmp4_10;
tmp4_1 = _in_txt;
tmp4_2 = _in_mArg;
tmp4_3 = _in_a_arrayTypeResult;
tmp4_4 = _in_a_r_expr;
tmp4_5 = _in_a_auxFunction;
tmp4_6 = _in_a_tmpVarDecls;
tmp4_7 = _in_a_rangeExpPre;
tmp4_8 = _in_a_context;
tmp4_9 = _in_a_length;
tmp4_10 = _in_a_res;
{
modelica_metatype _txt = NULL;
modelica_metatype _a_arrayTypeResult = NULL;
modelica_metatype _a_r_expr = NULL;
modelica_metatype _a_auxFunction = NULL;
modelica_metatype _a_tmpVarDecls = NULL;
modelica_metatype _a_rangeExpPre = NULL;
modelica_metatype _a_context = NULL;
modelica_metatype _a_length = NULL;
modelica_metatype _a_res = NULL;
modelica_metatype _i_dims = NULL;
modelica_metatype _i_record__state = NULL;
modelica_integer _ret_4;
modelica_integer _ret_3;
modelica_metatype _l_dimSizes = NULL;
modelica_metatype _ret_1 = NULL;
modelica_metatype _l_rec__name = NULL;
int tmp4;
{
switch (MMC_SWITCH_CAST(valueConstructor(tmp4_2))) {
case 12: {
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,9,3) == 0) goto tmp3_end;
tmpMeta[4] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
_i_record__state = tmpMeta[4];
_txt = tmp4_1;
_a_auxFunction = tmp4_5;
_a_tmpVarDecls = tmp4_6;
_a_rangeExpPre = tmp4_7;
_a_length = tmp4_9;
_a_res = tmp4_10;
_ret_1 = omc_ClassInf_getStateName(threadData, _i_record__state);
_l_rec__name = omc_CodegenUtil_underscorePath(threadData, _OMC_LIT20, _ret_1);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT284);
_txt = omc_Tpl_writeText(threadData, _txt, _a_res);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT286);
_txt = omc_Tpl_writeText(threadData, _txt, _l_rec__name);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT288);
_txt = omc_Tpl_writeText(threadData, _txt, _a_length);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT290);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_auxFunction;
tmpMeta[0+2] = _a_tmpVarDecls;
tmpMeta[0+3] = _a_rangeExpPre;
goto tmp3_done;
}
case 9: {
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,6,2) == 0) goto tmp3_end;
tmpMeta[4] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 3));
_i_dims = tmpMeta[4];
_txt = tmp4_1;
_a_arrayTypeResult = tmp4_3;
_a_r_expr = tmp4_4;
_a_auxFunction = tmp4_5;
_a_tmpVarDecls = tmp4_6;
_a_rangeExpPre = tmp4_7;
_a_context = tmp4_8;
_a_length = tmp4_9;
_a_res = tmp4_10;
_l_dimSizes = omc_Tpl_pushIter(threadData, _OMC_LIT20, _OMC_LIT294);
_l_dimSizes = omc_CodegenCFunctions_lm__1099(threadData, _l_dimSizes, _i_dims, _a_r_expr, _a_auxFunction, _a_tmpVarDecls, _a_rangeExpPre, _a_context ,&_a_auxFunction ,&_a_tmpVarDecls ,&_a_rangeExpPre);
_l_dimSizes = omc_Tpl_popIter(threadData, _l_dimSizes);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT296);
_txt = omc_Tpl_writeText(threadData, _txt, _a_arrayTypeResult);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT298);
_txt = omc_Tpl_writeText(threadData, _txt, _a_res);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT292);
_ret_3 = listLength(_i_dims);
_ret_4 = ((modelica_integer) 1) + _ret_3;
_txt = omc_Tpl_writeStr(threadData, _txt, intString(_ret_4));
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT292);
_txt = omc_Tpl_writeText(threadData, _txt, _a_length);
_txt = omc_Tpl_writeText(threadData, _txt, _l_dimSizes);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT290);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_auxFunction;
tmpMeta[0+2] = _a_tmpVarDecls;
tmpMeta[0+3] = _a_rangeExpPre;
goto tmp3_done;
}
default:
tmp3_default: OMC_LABEL_UNUSED; {
_txt = tmp4_1;
_a_arrayTypeResult = tmp4_3;
_a_auxFunction = tmp4_5;
_a_tmpVarDecls = tmp4_6;
_a_rangeExpPre = tmp4_7;
_a_length = tmp4_9;
_a_res = tmp4_10;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT300);
_txt = omc_Tpl_writeText(threadData, _txt, _a_arrayTypeResult);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT298);
_txt = omc_Tpl_writeText(threadData, _txt, _a_res);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT226);
_txt = omc_Tpl_writeText(threadData, _txt, _a_length);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT290);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_auxFunction;
tmpMeta[0+2] = _a_tmpVarDecls;
tmpMeta[0+3] = _a_rangeExpPre;
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta[0+0];
_out_a_auxFunction = tmpMeta[0+1];
_out_a_tmpVarDecls = tmpMeta[0+2];
_out_a_rangeExpPre = tmpMeta[0+3];
_return: OMC_LABEL_UNUSED
if (out_out_a_auxFunction) { *out_out_a_auxFunction = _out_a_auxFunction; }
if (out_out_a_tmpVarDecls) { *out_out_a_tmpVarDecls = _out_a_tmpVarDecls; }
if (out_out_a_rangeExpPre) { *out_out_a_rangeExpPre = _out_a_rangeExpPre; }
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_lm__1099(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_items, modelica_metatype _in_a_r_expr, modelica_metatype _in_a_auxFunction, modelica_metatype _in_a_tmpVarDecls, modelica_metatype _in_a_rangeExpPre, modelica_metatype _in_a_context, modelica_metatype *out_out_a_auxFunction, modelica_metatype *out_out_a_tmpVarDecls, modelica_metatype *out_out_a_rangeExpPre)
{
modelica_metatype _out_txt = NULL;
modelica_metatype _out_a_auxFunction = NULL;
modelica_metatype _out_a_tmpVarDecls = NULL;
modelica_metatype _out_a_rangeExpPre = NULL;
modelica_metatype tmpMeta[6] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_metatype tmp4_2;modelica_metatype tmp4_3;modelica_metatype tmp4_4;modelica_metatype tmp4_5;modelica_metatype tmp4_6;modelica_metatype tmp4_7;
tmp4_1 = _in_txt;
tmp4_2 = _in_items;
tmp4_3 = _in_a_r_expr;
tmp4_4 = _in_a_auxFunction;
tmp4_5 = _in_a_tmpVarDecls;
tmp4_6 = _in_a_rangeExpPre;
tmp4_7 = _in_a_context;
{
modelica_metatype _txt = NULL;
modelica_metatype _rest = NULL;
modelica_metatype _a_r_expr = NULL;
modelica_metatype _a_auxFunction = NULL;
modelica_metatype _a_tmpVarDecls = NULL;
modelica_metatype _a_rangeExpPre = NULL;
modelica_metatype _a_context = NULL;
modelica_metatype _i_dim = NULL;
volatile mmc_switch_type tmp4;
int tmp5;
tmp4 = 0;
for (; tmp4 < 2; tmp4++) {
switch (MMC_SWITCH_CAST(tmp4)) {
case 0: {
if (!listEmpty(tmp4_2)) goto tmp3_end;
_txt = tmp4_1;
_a_auxFunction = tmp4_4;
_a_tmpVarDecls = tmp4_5;
_a_rangeExpPre = tmp4_6;
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_auxFunction;
tmpMeta[0+2] = _a_tmpVarDecls;
tmpMeta[0+3] = _a_rangeExpPre;
goto tmp3_done;
}
case 1: {
if (listEmpty(tmp4_2)) goto tmp3_end;
tmpMeta[4] = MMC_CAR(tmp4_2);
tmpMeta[5] = MMC_CDR(tmp4_2);
_i_dim = tmpMeta[4];
_rest = tmpMeta[5];
_txt = tmp4_1;
_a_r_expr = tmp4_3;
_a_auxFunction = tmp4_4;
_a_tmpVarDecls = tmp4_5;
_a_rangeExpPre = tmp4_6;
_a_context = tmp4_7;
_txt = omc_CodegenCFunctions_fun__1098(threadData, _txt, _i_dim, _a_r_expr, _a_auxFunction, _a_tmpVarDecls, _a_rangeExpPre, _a_context ,&_a_auxFunction ,&_a_tmpVarDecls ,&_a_rangeExpPre);
_txt = omc_Tpl_nextIter(threadData, _txt);
_in_txt = _txt;
_in_items = _rest;
_in_a_r_expr = _a_r_expr;
_in_a_auxFunction = _a_auxFunction;
_in_a_tmpVarDecls = _a_tmpVarDecls;
_in_a_rangeExpPre = _a_rangeExpPre;
_in_a_context = _a_context;
goto _tailrecursive;
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta[0+0];
_out_a_auxFunction = tmpMeta[0+1];
_out_a_tmpVarDecls = tmpMeta[0+2];
_out_a_rangeExpPre = tmpMeta[0+3];
_return: OMC_LABEL_UNUSED
if (out_out_a_auxFunction) { *out_out_a_auxFunction = _out_a_auxFunction; }
if (out_out_a_tmpVarDecls) { *out_out_a_tmpVarDecls = _out_a_tmpVarDecls; }
if (out_out_a_rangeExpPre) { *out_out_a_rangeExpPre = _out_a_rangeExpPre; }
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__1098(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_dim, modelica_metatype _in_a_r_expr, modelica_metatype _in_a_auxFunction, modelica_metatype _in_a_tmpVarDecls, modelica_metatype _in_a_rangeExpPre, modelica_metatype _in_a_context, modelica_metatype *out_out_a_auxFunction, modelica_metatype *out_out_a_tmpVarDecls, modelica_metatype *out_out_a_rangeExpPre)
{
modelica_metatype _out_txt = NULL;
modelica_metatype _out_a_auxFunction = NULL;
modelica_metatype _out_a_tmpVarDecls = NULL;
modelica_metatype _out_a_rangeExpPre = NULL;
modelica_metatype tmpMeta[5] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_metatype tmp4_2;modelica_metatype tmp4_3;modelica_metatype tmp4_4;modelica_metatype tmp4_5;modelica_metatype tmp4_6;modelica_metatype tmp4_7;
tmp4_1 = _in_txt;
tmp4_2 = _in_a_dim;
tmp4_3 = _in_a_r_expr;
tmp4_4 = _in_a_auxFunction;
tmp4_5 = _in_a_tmpVarDecls;
tmp4_6 = _in_a_rangeExpPre;
tmp4_7 = _in_a_context;
{
modelica_metatype _txt = NULL;
modelica_metatype _a_r_expr = NULL;
modelica_metatype _a_auxFunction = NULL;
modelica_metatype _a_tmpVarDecls = NULL;
modelica_metatype _a_rangeExpPre = NULL;
modelica_metatype _a_context = NULL;
modelica_metatype _i_e = NULL;
modelica_integer _i_size;
modelica_integer _i_integer;
modelica_metatype _txt_0 = NULL;
modelica_string _ret_1 = NULL;
modelica_metatype _ret_0 = NULL;
int tmp4;
{
switch (MMC_SWITCH_CAST(valueConstructor(tmp4_2))) {
case 3: {
modelica_integer tmp5;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,0,1) == 0) goto tmp3_end;
tmpMeta[4] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
tmp5 = mmc_unbox_integer(tmpMeta[4]);
_i_integer = tmp5;
_txt = tmp4_1;
_a_auxFunction = tmp4_4;
_a_tmpVarDecls = tmp4_5;
_a_rangeExpPre = tmp4_6;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT292);
_txt = omc_Tpl_writeStr(threadData, _txt, intString(_i_integer));
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_auxFunction;
tmpMeta[0+2] = _a_tmpVarDecls;
tmpMeta[0+3] = _a_rangeExpPre;
goto tmp3_done;
}
case 4: {
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,1,0) == 0) goto tmp3_end;
_txt = tmp4_1;
_a_auxFunction = tmp4_4;
_a_tmpVarDecls = tmp4_5;
_a_rangeExpPre = tmp4_6;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT302);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_auxFunction;
tmpMeta[0+2] = _a_tmpVarDecls;
tmpMeta[0+3] = _a_rangeExpPre;
goto tmp3_done;
}
case 5: {
modelica_integer tmp6;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,2,3) == 0) goto tmp3_end;
tmpMeta[4] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 4));
tmp6 = mmc_unbox_integer(tmpMeta[4]);
_i_size = tmp6;
_txt = tmp4_1;
_a_auxFunction = tmp4_4;
_a_tmpVarDecls = tmp4_5;
_a_rangeExpPre = tmp4_6;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT292);
_txt = omc_Tpl_writeStr(threadData, _txt, intString(_i_size));
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_auxFunction;
tmpMeta[0+2] = _a_tmpVarDecls;
tmpMeta[0+3] = _a_rangeExpPre;
goto tmp3_done;
}
case 6: {
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,3,1) == 0) goto tmp3_end;
tmpMeta[4] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
_i_e = tmpMeta[4];
_txt = tmp4_1;
_a_auxFunction = tmp4_4;
_a_tmpVarDecls = tmp4_5;
_a_rangeExpPre = tmp4_6;
_a_context = tmp4_7;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT292);
_txt = omc_CodegenCFunctions_daeExp(threadData, _txt, _i_e, _a_context, _a_rangeExpPre, _a_tmpVarDecls, _a_auxFunction ,&_a_rangeExpPre ,&_a_tmpVarDecls ,&_a_auxFunction);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_auxFunction;
tmpMeta[0+2] = _a_tmpVarDecls;
tmpMeta[0+3] = _a_rangeExpPre;
goto tmp3_done;
}
default:
tmp3_default: OMC_LABEL_UNUSED; {
_txt = tmp4_1;
_a_r_expr = tmp4_3;
_a_auxFunction = tmp4_4;
_a_tmpVarDecls = tmp4_5;
_a_rangeExpPre = tmp4_6;
_txt_0 = omc_Tpl_writeTok(threadData, _OMC_LIT20, _OMC_LIT304);
_ret_0 = omc_Expression_typeof(threadData, _a_r_expr);
_ret_1 = omc_Types_unparseType(threadData, _ret_0);
_txt_0 = omc_Tpl_writeStr(threadData, _txt_0, _ret_1);
_txt_0 = omc_Tpl_writeTok(threadData, _txt_0, _OMC_LIT306);
_txt_0 = omc_ExpressionDumpTpl_dumpExp(threadData, _txt_0, _a_r_expr, _OMC_LIT231);
_txt = omc_CodegenUtil_error(threadData, _txt, omc_Tpl_sourceInfo(threadData, _OMC_LIT27, ((modelica_integer) 7212), ((modelica_integer) 24)), omc_Tpl_textString(threadData, _txt_0));
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_auxFunction;
tmpMeta[0+2] = _a_tmpVarDecls;
tmpMeta[0+3] = _a_rangeExpPre;
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta[0+0];
_out_a_auxFunction = tmpMeta[0+1];
_out_a_tmpVarDecls = tmpMeta[0+2];
_out_a_rangeExpPre = tmpMeta[0+3];
_return: OMC_LABEL_UNUSED
if (out_out_a_auxFunction) { *out_out_a_auxFunction = _out_a_auxFunction; }
if (out_out_a_tmpVarDecls) { *out_out_a_tmpVarDecls = _out_a_tmpVarDecls; }
if (out_out_a_rangeExpPre) { *out_out_a_rangeExpPre = _out_a_rangeExpPre; }
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_lm__1097(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_items, modelica_metatype _in_a_length, modelica_metatype _in_a_rangeExpPre, modelica_metatype _in_a_context, modelica_metatype *out_out_a_rangeExpPre)
{
modelica_metatype _out_txt = NULL;
modelica_metatype _out_a_rangeExpPre = NULL;
modelica_metatype tmpMeta[6] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_metatype tmp4_2;modelica_metatype tmp4_3;modelica_metatype tmp4_4;modelica_metatype tmp4_5;
tmp4_1 = _in_txt;
tmp4_2 = _in_items;
tmp4_3 = _in_a_length;
tmp4_4 = _in_a_rangeExpPre;
tmp4_5 = _in_a_context;
{
modelica_metatype _txt = NULL;
modelica_metatype _rest = NULL;
modelica_metatype _a_length = NULL;
modelica_metatype _a_rangeExpPre = NULL;
modelica_metatype _a_context = NULL;
modelica_metatype _i_iter_exp = NULL;
modelica_string _i_iter_id = NULL;
modelica_string _str_3 = NULL;
modelica_metatype _l_identType = NULL;
modelica_metatype _l_loopVar = NULL;
modelica_metatype _l_iteratorName = NULL;
volatile mmc_switch_type tmp4;
int tmp5;
tmp4 = 0;
for (; tmp4 < 3; tmp4++) {
switch (MMC_SWITCH_CAST(tmp4)) {
case 0: {
if (!listEmpty(tmp4_2)) goto tmp3_end;
_txt = tmp4_1;
_a_rangeExpPre = tmp4_4;
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_rangeExpPre;
goto tmp3_done;
}
case 1: {
if (listEmpty(tmp4_2)) goto tmp3_end;
tmpMeta[2] = MMC_CAR(tmp4_2);
tmpMeta[3] = MMC_CDR(tmp4_2);
tmpMeta[4] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[2]), 2));
tmpMeta[5] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[2]), 3));
_i_iter_id = tmpMeta[4];
_i_iter_exp = tmpMeta[5];
_rest = tmpMeta[3];
_txt = tmp4_1;
_a_length = tmp4_3;
_a_rangeExpPre = tmp4_4;
_a_context = tmp4_5;
_l_iteratorName = omc_CodegenCFunctions_contextIteratorName(threadData, _OMC_LIT20, _i_iter_id, _a_context);
_l_loopVar = omc_Tpl_writeText(threadData, _OMC_LIT20, _l_iteratorName);
_l_loopVar = omc_Tpl_writeTok(threadData, _l_loopVar, _OMC_LIT308);
_l_identType = omc_CodegenCFunctions_expTypeFromExpModelica(threadData, _OMC_LIT20, _i_iter_exp);
_a_rangeExpPre = omc_Tpl_writeText(threadData, _a_rangeExpPre, _a_length);
_a_rangeExpPre = omc_Tpl_writeTok(threadData, _a_rangeExpPre, _OMC_LIT310);
_a_rangeExpPre = omc_Tpl_writeText(threadData, _a_rangeExpPre, _a_length);
_a_rangeExpPre = omc_Tpl_writeTok(threadData, _a_rangeExpPre, _OMC_LIT226);
_str_3 = omc_Tpl_textString(threadData, _l_identType);
_a_rangeExpPre = omc_CodegenCFunctions_fun__1096(threadData, _a_rangeExpPre, _str_3, _l_iteratorName, _l_loopVar, _i_iter_exp);
_a_rangeExpPre = omc_Tpl_writeTok(threadData, _a_rangeExpPre, _OMC_LIT290);
_a_rangeExpPre = omc_Tpl_writeTok(threadData, _a_rangeExpPre, _OMC_LIT89);
_in_txt = _txt;
_in_items = _rest;
_in_a_length = _a_length;
_in_a_rangeExpPre = _a_rangeExpPre;
_in_a_context = _a_context;
goto _tailrecursive;
goto tmp3_done;
}
case 2: {
if (listEmpty(tmp4_2)) goto tmp3_end;
tmpMeta[2] = MMC_CAR(tmp4_2);
tmpMeta[3] = MMC_CDR(tmp4_2);
_rest = tmpMeta[3];
_txt = tmp4_1;
_a_length = tmp4_3;
_a_rangeExpPre = tmp4_4;
_a_context = tmp4_5;
_in_txt = _txt;
_in_items = _rest;
_in_a_length = _a_length;
_in_a_rangeExpPre = _a_rangeExpPre;
_in_a_context = _a_context;
goto _tailrecursive;
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta[0+0];
_out_a_rangeExpPre = tmpMeta[0+1];
_return: OMC_LABEL_UNUSED
if (out_out_a_rangeExpPre) { *out_out_a_rangeExpPre = _out_a_rangeExpPre; }
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__1096(threadData_t *threadData, modelica_metatype _in_txt, modelica_string _in_mArg, modelica_metatype _in_a_iteratorName, modelica_metatype _in_a_loopVar, modelica_metatype _in_a_iter_exp)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta[1] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp3_1;modelica_string tmp3_2;modelica_metatype tmp3_3;modelica_metatype tmp3_4;modelica_metatype tmp3_5;
tmp3_1 = _in_txt;
tmp3_2 = _in_mArg;
tmp3_3 = _in_a_iteratorName;
tmp3_4 = _in_a_loopVar;
tmp3_5 = _in_a_iter_exp;
{
modelica_metatype _txt = NULL;
modelica_metatype _a_iteratorName = NULL;
modelica_metatype _a_loopVar = NULL;
modelica_metatype _a_iter_exp = NULL;
modelica_boolean _ret_0;
volatile mmc_switch_type tmp3;
int tmp4;
tmp3 = 0;
for (; tmp3 < 2; tmp3++) {
switch (MMC_SWITCH_CAST(tmp3)) {
case 0: {
if (17 != MMC_STRLEN(tmp3_2) || strcmp(MMC_STRINGDATA(_OMC_LIT311), MMC_STRINGDATA(tmp3_2)) != 0) goto tmp2_end;
_txt = tmp3_1;
_a_loopVar = tmp3_4;
_a_iter_exp = tmp3_5;
_ret_0 = omc_Expression_isMetaArray(threadData, _a_iter_exp);
tmpMeta[0] = omc_CodegenCFunctions_fun__1094(threadData, _txt, _ret_0, _a_loopVar);
goto tmp2_done;
}
case 1: {
_txt = tmp3_1;
_a_iteratorName = tmp3_3;
_a_loopVar = tmp3_4;
_a_iter_exp = tmp3_5;
tmpMeta[0] = omc_CodegenCFunctions_fun__1095(threadData, _txt, _a_iter_exp, _a_loopVar, _a_iteratorName);
goto tmp2_done;
}
}
goto tmp2_end;
tmp2_end: ;
}
goto goto_1;
goto_1:;
MMC_THROW_INTERNAL();
goto tmp2_done;
tmp2_done:;
}
}
_out_txt = tmpMeta[0];
_return: OMC_LABEL_UNUSED
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__1095(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_iter_exp, modelica_metatype _in_a_loopVar, modelica_metatype _in_a_iteratorName)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta[1] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp3_1;modelica_metatype tmp3_2;modelica_metatype tmp3_3;modelica_metatype tmp3_4;
tmp3_1 = _in_txt;
tmp3_2 = _in_a_iter_exp;
tmp3_3 = _in_a_loopVar;
tmp3_4 = _in_a_iteratorName;
{
modelica_metatype _txt = NULL;
modelica_metatype _a_loopVar = NULL;
modelica_metatype _a_iteratorName = NULL;
volatile mmc_switch_type tmp3;
int tmp4;
tmp3 = 0;
for (; tmp3 < 2; tmp3++) {
switch (MMC_SWITCH_CAST(tmp3)) {
case 0: {
if (mmc__uniontype__metarecord__typedef__equal(tmp3_2,18,4) == 0) goto tmp2_end;
_txt = tmp3_1;
_a_iteratorName = tmp3_4;
_txt = omc_Tpl_writeText(threadData, _txt, _a_iteratorName);
tmpMeta[0] = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT313);
goto tmp2_done;
}
case 1: {
_txt = tmp3_1;
_a_loopVar = tmp3_3;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT315);
_txt = omc_Tpl_writeText(threadData, _txt, _a_loopVar);
tmpMeta[0] = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT317);
goto tmp2_done;
}
}
goto tmp2_end;
tmp2_end: ;
}
goto goto_1;
goto_1:;
MMC_THROW_INTERNAL();
goto tmp2_done;
tmp2_done:;
}
}
_out_txt = tmpMeta[0];
_return: OMC_LABEL_UNUSED
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__1094(threadData_t *threadData, modelica_metatype _in_txt, modelica_boolean _in_mArg, modelica_metatype _in_a_loopVar)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta[1] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp3_1;modelica_boolean tmp3_2;modelica_metatype tmp3_3;
tmp3_1 = _in_txt;
tmp3_2 = _in_mArg;
tmp3_3 = _in_a_loopVar;
{
modelica_metatype _txt = NULL;
modelica_metatype _a_loopVar = NULL;
volatile mmc_switch_type tmp3;
int tmp4;
tmp3 = 0;
for (; tmp3 < 2; tmp3++) {
switch (MMC_SWITCH_CAST(tmp3)) {
case 0: {
if (0 != tmp3_2) goto tmp2_end;
_txt = tmp3_1;
_a_loopVar = tmp3_3;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT319);
_txt = omc_Tpl_writeText(threadData, _txt, _a_loopVar);
tmpMeta[0] = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT78);
goto tmp2_done;
}
case 1: {
_txt = tmp3_1;
_a_loopVar = tmp3_3;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT321);
_txt = omc_Tpl_writeText(threadData, _txt, _a_loopVar);
tmpMeta[0] = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT78);
goto tmp2_done;
}
}
goto tmp2_end;
tmp2_end: ;
}
goto goto_1;
goto_1:;
MMC_THROW_INTERNAL();
goto tmp2_done;
tmp2_done:;
}
}
_out_txt = tmpMeta[0];
_return: OMC_LABEL_UNUSED
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__1094(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_mArg, modelica_metatype _in_a_loopVar)
{
modelica_integer tmp1;
modelica_metatype _out_txt = NULL;
tmp1 = mmc_unbox_integer(_in_mArg);
_out_txt = omc_CodegenCFunctions_fun__1094(threadData, _in_txt, tmp1, _in_a_loopVar);
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_lm__1093(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_items, modelica_metatype _in_a_endLoop, modelica_metatype _in_a_ri_path, modelica_metatype _in_a_auxFunction, modelica_metatype _in_a_rangeExpPre, modelica_metatype _in_a_tmpVarDecls, modelica_metatype _in_a_context, modelica_metatype *out_out_a_auxFunction, modelica_metatype *out_out_a_rangeExpPre, modelica_metatype *out_out_a_tmpVarDecls)
{
modelica_metatype _out_txt = NULL;
modelica_metatype _out_a_auxFunction = NULL;
modelica_metatype _out_a_rangeExpPre = NULL;
modelica_metatype _out_a_tmpVarDecls = NULL;
modelica_metatype tmpMeta[10] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_metatype tmp4_2;modelica_metatype tmp4_3;modelica_metatype tmp4_4;modelica_metatype tmp4_5;modelica_metatype tmp4_6;modelica_metatype tmp4_7;modelica_metatype tmp4_8;
tmp4_1 = _in_txt;
tmp4_2 = _in_items;
tmp4_3 = _in_a_endLoop;
tmp4_4 = _in_a_ri_path;
tmp4_5 = _in_a_auxFunction;
tmp4_6 = _in_a_rangeExpPre;
tmp4_7 = _in_a_tmpVarDecls;
tmp4_8 = _in_a_context;
{
modelica_metatype _txt = NULL;
modelica_metatype _rest = NULL;
modelica_metatype _a_endLoop = NULL;
modelica_metatype _a_ri_path = NULL;
modelica_metatype _a_auxFunction = NULL;
modelica_metatype _a_rangeExpPre = NULL;
modelica_metatype _a_tmpVarDecls = NULL;
modelica_metatype _a_context = NULL;
modelica_metatype _i_iter_ty = NULL;
modelica_metatype _i_iter_guardExp = NULL;
modelica_string _i_iter_id = NULL;
modelica_metatype _i_iter_exp = NULL;
modelica_string _str_15 = NULL;
modelica_metatype _l_guardExp = NULL;
modelica_metatype _l_guardCond = NULL;
modelica_metatype _l_isArrayWithLength = NULL;
modelica_metatype _l_rangeExp = NULL;
modelica_metatype _l_rangeExpStop = NULL;
modelica_metatype _l_rangeExpStep = NULL;
modelica_metatype _l_firstIndex = NULL;
modelica_string _str_7 = NULL;
modelica_metatype _l_guardExpPre = NULL;
modelica_metatype _l_stopVar = NULL;
modelica_metatype _l_stepVar = NULL;
modelica_metatype _l_loopVar = NULL;
modelica_metatype _l_iteratorName = NULL;
modelica_metatype _l_arrayType = NULL;
modelica_metatype _l_identType = NULL;
volatile mmc_switch_type tmp4;
int tmp5;
tmp4 = 0;
for (; tmp4 < 3; tmp4++) {
switch (MMC_SWITCH_CAST(tmp4)) {
case 0: {
if (!listEmpty(tmp4_2)) goto tmp3_end;
_txt = tmp4_1;
_a_auxFunction = tmp4_5;
_a_rangeExpPre = tmp4_6;
_a_tmpVarDecls = tmp4_7;
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_auxFunction;
tmpMeta[0+2] = _a_rangeExpPre;
tmpMeta[0+3] = _a_tmpVarDecls;
goto tmp3_done;
}
case 1: {
if (listEmpty(tmp4_2)) goto tmp3_end;
tmpMeta[4] = MMC_CAR(tmp4_2);
tmpMeta[5] = MMC_CDR(tmp4_2);
tmpMeta[6] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[4]), 2));
tmpMeta[7] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[4]), 3));
tmpMeta[8] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[4]), 4));
tmpMeta[9] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[4]), 5));
_i_iter_id = tmpMeta[6];
_i_iter_exp = tmpMeta[7];
_i_iter_guardExp = tmpMeta[8];
_i_iter_ty = tmpMeta[9];
_rest = tmpMeta[5];
_txt = tmp4_1;
_a_endLoop = tmp4_3;
_a_ri_path = tmp4_4;
_a_auxFunction = tmp4_5;
_a_rangeExpPre = tmp4_6;
_a_tmpVarDecls = tmp4_7;
_a_context = tmp4_8;
_l_identType = omc_CodegenCFunctions_expTypeFromExpModelica(threadData, _OMC_LIT20, _i_iter_exp);
_l_arrayType = omc_CodegenCFunctions_expTypeFromExpArray(threadData, _OMC_LIT20, _i_iter_exp);
_l_iteratorName = omc_CodegenCFunctions_contextIteratorName(threadData, _OMC_LIT20, _i_iter_id, _a_context);
_l_loopVar = omc_CodegenCFunctions_fun__1060(threadData, _OMC_LIT20, _i_iter_exp, _l_iteratorName);
_l_stepVar = omc_CodegenCFunctions_fun__1061(threadData, _OMC_LIT20, _i_iter_exp, _a_tmpVarDecls, _l_identType ,&_a_tmpVarDecls);
_l_stopVar = omc_CodegenCFunctions_fun__1062(threadData, _OMC_LIT20, _i_iter_exp, _a_tmpVarDecls, _l_identType ,&_a_tmpVarDecls);
_l_guardExpPre = _OMC_LIT20;
_str_7 = omc_Tpl_textString(threadData, _l_identType);
_a_tmpVarDecls = omc_CodegenCFunctions_fun__1064(threadData, _a_tmpVarDecls, _str_7, _l_arrayType, _i_iter_exp, _l_loopVar);
_l_firstIndex = omc_CodegenCFunctions_fun__1067(threadData, _OMC_LIT20, _i_iter_exp, _a_tmpVarDecls, _l_identType ,&_a_tmpVarDecls);
_l_rangeExpStep = omc_CodegenCFunctions_fun__1068(threadData, _OMC_LIT20, _i_iter_exp, _a_auxFunction, _a_tmpVarDecls, _a_rangeExpPre, _a_context ,&_a_auxFunction ,&_a_tmpVarDecls ,&_a_rangeExpPre);
_l_rangeExpStop = omc_CodegenCFunctions_fun__1069(threadData, _OMC_LIT20, _i_iter_exp, _a_auxFunction, _a_tmpVarDecls, _a_rangeExpPre, _a_context ,&_a_auxFunction ,&_a_tmpVarDecls ,&_a_rangeExpPre);
_l_rangeExp = omc_CodegenCFunctions_fun__1070(threadData, _OMC_LIT20, _i_iter_exp, _a_auxFunction, _a_tmpVarDecls, _a_rangeExpPre, _a_context ,&_a_auxFunction ,&_a_tmpVarDecls ,&_a_rangeExpPre);
_a_rangeExpPre = omc_CodegenCFunctions_fun__1071(threadData, _a_rangeExpPre, _l_rangeExpStep, _l_stepVar);
_a_rangeExpPre = omc_CodegenCFunctions_fun__1072(threadData, _a_rangeExpPre, _l_rangeExpStop, _l_stopVar);
_a_rangeExpPre = omc_Tpl_writeText(threadData, _a_rangeExpPre, _l_loopVar);
_a_rangeExpPre = omc_Tpl_writeTok(threadData, _a_rangeExpPre, _OMC_LIT121);
_a_rangeExpPre = omc_Tpl_writeText(threadData, _a_rangeExpPre, _l_rangeExp);
_a_rangeExpPre = omc_Tpl_writeTok(threadData, _a_rangeExpPre, _OMC_LIT105);
_a_rangeExpPre = omc_Tpl_writeTok(threadData, _a_rangeExpPre, _OMC_LIT89);
_a_rangeExpPre = omc_CodegenCFunctions_fun__1074(threadData, _a_rangeExpPre, _l_rangeExpStop, _i_iter_exp, _l_stepVar);
_l_isArrayWithLength = omc_CodegenCFunctions_fun__1076(threadData, _OMC_LIT20, _l_rangeExpStop, _a_ri_path);
_a_tmpVarDecls = omc_CodegenCFunctions_fun__1077(threadData, _a_tmpVarDecls, _l_isArrayWithLength, _l_iteratorName);
_a_rangeExpPre = omc_CodegenCFunctions_fun__1079(threadData, _a_rangeExpPre, _i_iter_exp, _l_firstIndex);
_l_guardCond = omc_CodegenCFunctions_fun__1080(threadData, _OMC_LIT20, _i_iter_guardExp, _a_auxFunction, _a_tmpVarDecls, _l_guardExpPre, _a_context ,&_a_auxFunction ,&_a_tmpVarDecls ,&_l_guardExpPre);
_a_tmpVarDecls = omc_Tpl_writeText(threadData, _a_tmpVarDecls, _l_identType);
_a_tmpVarDecls = omc_Tpl_writeTok(threadData, _a_tmpVarDecls, _OMC_LIT29);
_a_tmpVarDecls = omc_Tpl_writeText(threadData, _a_tmpVarDecls, _l_iteratorName);
_a_tmpVarDecls = omc_Tpl_writeTok(threadData, _a_tmpVarDecls, _OMC_LIT105);
_a_tmpVarDecls = omc_Tpl_writeTok(threadData, _a_tmpVarDecls, _OMC_LIT89);
_a_rangeExpPre = omc_CodegenCFunctions_fun__1082(threadData, _a_rangeExpPre, _l_isArrayWithLength, _l_stepVar, _l_firstIndex, _l_stopVar, _l_iteratorName);
_a_rangeExpPre = omc_CodegenCFunctions_fun__1083(threadData, _a_rangeExpPre, _i_iter_exp, _l_stepVar, _l_rangeExp, _l_iteratorName);
_l_guardExp = omc_Tpl_writeText(threadData, _OMC_LIT20, _l_guardExpPre);
_l_guardExp = omc_Tpl_softNewLine(threadData, _l_guardExp);
_l_guardExp = omc_Tpl_writeTok(threadData, _l_guardExp, _OMC_LIT248);
_l_guardExp = omc_Tpl_writeText(threadData, _l_guardExp, _l_guardCond);
_l_guardExp = omc_Tpl_writeTok(threadData, _l_guardExp, _OMC_LIT183);
_l_guardExp = omc_Tpl_pushBlock(threadData, _l_guardExp, _OMC_LIT97);
_l_guardExp = omc_Tpl_writeText(threadData, _l_guardExp, _a_endLoop);
_l_guardExp = omc_Tpl_writeTok(threadData, _l_guardExp, _OMC_LIT326);
_l_guardExp = omc_Tpl_popBlock(threadData, _l_guardExp);
_l_guardExp = omc_Tpl_writeTok(threadData, _l_guardExp, _OMC_LIT103);
_str_15 = omc_Tpl_textString(threadData, _l_identType);
_txt = omc_CodegenCFunctions_fun__1092(threadData, _txt, _str_15, _l_arrayType, _i_iter_ty, _l_stopVar, _l_stepVar, _l_firstIndex, _a_endLoop, _l_guardExp, _l_iteratorName, _l_loopVar, _l_guardCond, _i_iter_exp);
_in_txt = _txt;
_in_items = _rest;
_in_a_endLoop = _a_endLoop;
_in_a_ri_path = _a_ri_path;
_in_a_auxFunction = _a_auxFunction;
_in_a_rangeExpPre = _a_rangeExpPre;
_in_a_tmpVarDecls = _a_tmpVarDecls;
_in_a_context = _a_context;
goto _tailrecursive;
goto tmp3_done;
}
case 2: {
if (listEmpty(tmp4_2)) goto tmp3_end;
tmpMeta[4] = MMC_CAR(tmp4_2);
tmpMeta[5] = MMC_CDR(tmp4_2);
_rest = tmpMeta[5];
_txt = tmp4_1;
_a_endLoop = tmp4_3;
_a_ri_path = tmp4_4;
_a_auxFunction = tmp4_5;
_a_rangeExpPre = tmp4_6;
_a_tmpVarDecls = tmp4_7;
_a_context = tmp4_8;
_in_txt = _txt;
_in_items = _rest;
_in_a_endLoop = _a_endLoop;
_in_a_ri_path = _a_ri_path;
_in_a_auxFunction = _a_auxFunction;
_in_a_rangeExpPre = _a_rangeExpPre;
_in_a_tmpVarDecls = _a_tmpVarDecls;
_in_a_context = _a_context;
goto _tailrecursive;
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta[0+0];
_out_a_auxFunction = tmpMeta[0+1];
_out_a_rangeExpPre = tmpMeta[0+2];
_out_a_tmpVarDecls = tmpMeta[0+3];
_return: OMC_LABEL_UNUSED
if (out_out_a_auxFunction) { *out_out_a_auxFunction = _out_a_auxFunction; }
if (out_out_a_rangeExpPre) { *out_out_a_rangeExpPre = _out_a_rangeExpPre; }
if (out_out_a_tmpVarDecls) { *out_out_a_tmpVarDecls = _out_a_tmpVarDecls; }
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__1092(threadData_t *threadData, modelica_metatype _in_txt, modelica_string _in_mArg, modelica_metatype _in_a_arrayType, modelica_metatype _in_a_iter_ty, modelica_metatype _in_a_stopVar, modelica_metatype _in_a_stepVar, modelica_metatype _in_a_firstIndex, modelica_metatype _in_a_endLoop, modelica_metatype _in_a_guardExp, modelica_metatype _in_a_iteratorName, modelica_metatype _in_a_loopVar, modelica_metatype _in_a_guardCond, modelica_metatype _in_a_iter_exp)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta[1] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp3_1;modelica_string tmp3_2;modelica_metatype tmp3_3;modelica_metatype tmp3_4;modelica_metatype tmp3_5;modelica_metatype tmp3_6;modelica_metatype tmp3_7;modelica_metatype tmp3_8;modelica_metatype tmp3_9;modelica_metatype tmp3_10;modelica_metatype tmp3_11;modelica_metatype tmp3_12;modelica_metatype tmp3_13;
tmp3_1 = _in_txt;
tmp3_2 = _in_mArg;
tmp3_3 = _in_a_arrayType;
tmp3_4 = _in_a_iter_ty;
tmp3_5 = _in_a_stopVar;
tmp3_6 = _in_a_stepVar;
tmp3_7 = _in_a_firstIndex;
tmp3_8 = _in_a_endLoop;
tmp3_9 = _in_a_guardExp;
tmp3_10 = _in_a_iteratorName;
tmp3_11 = _in_a_loopVar;
tmp3_12 = _in_a_guardCond;
tmp3_13 = _in_a_iter_exp;
{
modelica_metatype _txt = NULL;
modelica_metatype _a_arrayType = NULL;
modelica_metatype _a_iter_ty = NULL;
modelica_metatype _a_stopVar = NULL;
modelica_metatype _a_stepVar = NULL;
modelica_metatype _a_firstIndex = NULL;
modelica_metatype _a_endLoop = NULL;
modelica_metatype _a_guardExp = NULL;
modelica_metatype _a_iteratorName = NULL;
modelica_metatype _a_loopVar = NULL;
modelica_metatype _a_guardCond = NULL;
modelica_metatype _a_iter_exp = NULL;
modelica_boolean _ret_0;
volatile mmc_switch_type tmp3;
int tmp4;
tmp3 = 0;
for (; tmp3 < 2; tmp3++) {
switch (MMC_SWITCH_CAST(tmp3)) {
case 0: {
if (17 != MMC_STRLEN(tmp3_2) || strcmp(MMC_STRINGDATA(_OMC_LIT311), MMC_STRINGDATA(tmp3_2)) != 0) goto tmp2_end;
_txt = tmp3_1;
_a_firstIndex = tmp3_7;
_a_endLoop = tmp3_8;
_a_guardExp = tmp3_9;
_a_iteratorName = tmp3_10;
_a_loopVar = tmp3_11;
_a_guardCond = tmp3_12;
_a_iter_exp = tmp3_13;
_ret_0 = omc_Expression_isMetaArray(threadData, _a_iter_exp);
tmpMeta[0] = omc_CodegenCFunctions_fun__1086(threadData, _txt, _ret_0, _a_firstIndex, _a_endLoop, _a_guardExp, _a_iteratorName, _a_loopVar, _a_guardCond);
goto tmp2_done;
}
case 1: {
_txt = tmp3_1;
_a_arrayType = tmp3_3;
_a_iter_ty = tmp3_4;
_a_stopVar = tmp3_5;
_a_stepVar = tmp3_6;
_a_firstIndex = tmp3_7;
_a_endLoop = tmp3_8;
_a_guardExp = tmp3_9;
_a_iteratorName = tmp3_10;
_a_loopVar = tmp3_11;
_a_guardCond = tmp3_12;
_a_iter_exp = tmp3_13;
tmpMeta[0] = omc_CodegenCFunctions_fun__1091(threadData, _txt, _a_iter_exp, _a_arrayType, _a_firstIndex, _a_loopVar, _a_iter_ty, _a_endLoop, _a_guardExp, _a_stopVar, _a_iteratorName, _a_stepVar, _a_guardCond);
goto tmp2_done;
}
}
goto tmp2_end;
tmp2_end: ;
}
goto goto_1;
goto_1:;
MMC_THROW_INTERNAL();
goto tmp2_done;
tmp2_done:;
}
}
_out_txt = tmpMeta[0];
_return: OMC_LABEL_UNUSED
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__1091(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_iter_exp, modelica_metatype _in_a_arrayType, modelica_metatype _in_a_firstIndex, modelica_metatype _in_a_loopVar, modelica_metatype _in_a_iter_ty, modelica_metatype _in_a_endLoop, modelica_metatype _in_a_guardExp, modelica_metatype _in_a_stopVar, modelica_metatype _in_a_iteratorName, modelica_metatype _in_a_stepVar, modelica_metatype _in_a_guardCond)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta[1] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp3_1;modelica_metatype tmp3_2;modelica_metatype tmp3_3;modelica_metatype tmp3_4;modelica_metatype tmp3_5;modelica_metatype tmp3_6;modelica_metatype tmp3_7;modelica_metatype tmp3_8;modelica_metatype tmp3_9;modelica_metatype tmp3_10;modelica_metatype tmp3_11;modelica_metatype tmp3_12;
tmp3_1 = _in_txt;
tmp3_2 = _in_a_iter_exp;
tmp3_3 = _in_a_arrayType;
tmp3_4 = _in_a_firstIndex;
tmp3_5 = _in_a_loopVar;
tmp3_6 = _in_a_iter_ty;
tmp3_7 = _in_a_endLoop;
tmp3_8 = _in_a_guardExp;
tmp3_9 = _in_a_stopVar;
tmp3_10 = _in_a_iteratorName;
tmp3_11 = _in_a_stepVar;
tmp3_12 = _in_a_guardCond;
{
modelica_metatype _txt = NULL;
modelica_metatype _a_arrayType = NULL;
modelica_metatype _a_firstIndex = NULL;
modelica_metatype _a_loopVar = NULL;
modelica_metatype _a_iter_ty = NULL;
modelica_metatype _a_endLoop = NULL;
modelica_metatype _a_guardExp = NULL;
modelica_metatype _a_stopVar = NULL;
modelica_metatype _a_iteratorName = NULL;
modelica_metatype _a_stepVar = NULL;
modelica_metatype _a_guardCond = NULL;
modelica_boolean _ret_3;
modelica_metatype _l_addr = NULL;
modelica_boolean _ret_1;
modelica_boolean _ret_0;
volatile mmc_switch_type tmp3;
int tmp4;
tmp3 = 0;
for (; tmp3 < 2; tmp3++) {
switch (MMC_SWITCH_CAST(tmp3)) {
case 0: {
if (mmc__uniontype__metarecord__typedef__equal(tmp3_2,18,4) == 0) goto tmp2_end;
_txt = tmp3_1;
_a_endLoop = tmp3_7;
_a_guardExp = tmp3_8;
_a_stopVar = tmp3_9;
_a_iteratorName = tmp3_10;
_a_stepVar = tmp3_11;
_a_guardCond = tmp3_12;
_ret_0 = (stringEqual(omc_Tpl_textString(threadData, _a_guardCond), _OMC_LIT91));
_txt = omc_CodegenCFunctions_fun__1087(threadData, _txt, _ret_0);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT328);
_txt = omc_Tpl_writeText(threadData, _txt, _a_stepVar);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT330);
_txt = omc_Tpl_writeText(threadData, _txt, _a_iteratorName);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT332);
_txt = omc_Tpl_writeText(threadData, _txt, _a_stepVar);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT334);
_txt = omc_Tpl_writeText(threadData, _txt, _a_stopVar);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT336);
_txt = omc_Tpl_writeText(threadData, _txt, _a_iteratorName);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT332);
_txt = omc_Tpl_writeText(threadData, _txt, _a_stepVar);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT338);
_txt = omc_Tpl_writeText(threadData, _txt, _a_stopVar);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT183);
_txt = omc_Tpl_pushBlock(threadData, _txt, _OMC_LIT97);
_txt = omc_Tpl_writeText(threadData, _txt, _a_iteratorName);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT109);
_txt = omc_Tpl_writeText(threadData, _txt, _a_stepVar);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT161);
_ret_1 = (stringEqual(omc_Tpl_textString(threadData, _a_guardCond), _OMC_LIT91));
_txt = omc_CodegenCFunctions_fun__1088(threadData, _txt, _ret_1, _a_endLoop, _a_guardExp);
_txt = omc_Tpl_softNewLine(threadData, _txt);
_txt = omc_Tpl_popBlock(threadData, _txt);
tmpMeta[0] = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT103);
goto tmp2_done;
}
case 1: {
_txt = tmp3_1;
_a_arrayType = tmp3_3;
_a_firstIndex = tmp3_4;
_a_loopVar = tmp3_5;
_a_iter_ty = tmp3_6;
_a_endLoop = tmp3_7;
_a_guardExp = tmp3_8;
_a_iteratorName = tmp3_10;
_a_guardCond = tmp3_12;
_l_addr = omc_CodegenCFunctions_fun__1089(threadData, _OMC_LIT20, _a_iter_ty, _a_arrayType, _a_firstIndex, _a_loopVar);
_ret_3 = (stringEqual(omc_Tpl_textString(threadData, _a_guardCond), _OMC_LIT91));
tmpMeta[0] = omc_CodegenCFunctions_fun__1090(threadData, _txt, _ret_3, _a_endLoop, _a_guardExp, _l_addr, _a_iteratorName, _a_loopVar, _a_firstIndex);
goto tmp2_done;
}
}
goto tmp2_end;
tmp2_end: ;
}
goto goto_1;
goto_1:;
MMC_THROW_INTERNAL();
goto tmp2_done;
tmp2_done:;
}
}
_out_txt = tmpMeta[0];
_return: OMC_LABEL_UNUSED
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__1090(threadData_t *threadData, modelica_metatype _in_txt, modelica_boolean _in_mArg, modelica_metatype _in_a_endLoop, modelica_metatype _in_a_guardExp, modelica_metatype _in_a_addr, modelica_metatype _in_a_iteratorName, modelica_metatype _in_a_loopVar, modelica_metatype _in_a_firstIndex)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta[1] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp3_1;modelica_boolean tmp3_2;modelica_metatype tmp3_3;modelica_metatype tmp3_4;modelica_metatype tmp3_5;modelica_metatype tmp3_6;modelica_metatype tmp3_7;modelica_metatype tmp3_8;
tmp3_1 = _in_txt;
tmp3_2 = _in_mArg;
tmp3_3 = _in_a_endLoop;
tmp3_4 = _in_a_guardExp;
tmp3_5 = _in_a_addr;
tmp3_6 = _in_a_iteratorName;
tmp3_7 = _in_a_loopVar;
tmp3_8 = _in_a_firstIndex;
{
modelica_metatype _txt = NULL;
modelica_metatype _a_endLoop = NULL;
modelica_metatype _a_guardExp = NULL;
modelica_metatype _a_addr = NULL;
modelica_metatype _a_iteratorName = NULL;
modelica_metatype _a_loopVar = NULL;
modelica_metatype _a_firstIndex = NULL;
volatile mmc_switch_type tmp3;
int tmp4;
tmp3 = 0;
for (; tmp3 < 2; tmp3++) {
switch (MMC_SWITCH_CAST(tmp3)) {
case 0: {
if (0 != tmp3_2) goto tmp2_end;
_txt = tmp3_1;
_a_guardExp = tmp3_4;
_a_addr = tmp3_5;
_a_iteratorName = tmp3_6;
_a_loopVar = tmp3_7;
_a_firstIndex = tmp3_8;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT340);
_txt = omc_Tpl_writeText(threadData, _txt, _a_firstIndex);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT342);
_txt = omc_Tpl_writeText(threadData, _txt, _a_loopVar);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT344);
_txt = omc_Tpl_pushBlock(threadData, _txt, _OMC_LIT97);
_txt = omc_Tpl_writeText(threadData, _txt, _a_iteratorName);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT121);
_txt = omc_Tpl_writeText(threadData, _txt, _a_addr);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT161);
_txt = omc_Tpl_writeText(threadData, _txt, _a_guardExp);
_txt = omc_Tpl_softNewLine(threadData, _txt);
_txt = omc_Tpl_popBlock(threadData, _txt);
tmpMeta[0] = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT103);
goto tmp2_done;
}
case 1: {
_txt = tmp3_1;
_a_endLoop = tmp3_3;
_a_addr = tmp3_5;
_a_iteratorName = tmp3_6;
_a_loopVar = tmp3_7;
_a_firstIndex = tmp3_8;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT346);
_txt = omc_Tpl_writeText(threadData, _txt, _a_firstIndex);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT342);
_txt = omc_Tpl_writeText(threadData, _txt, _a_loopVar);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT344);
_txt = omc_Tpl_pushBlock(threadData, _txt, _OMC_LIT97);
_txt = omc_Tpl_writeText(threadData, _txt, _a_iteratorName);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT121);
_txt = omc_Tpl_writeText(threadData, _txt, _a_addr);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT161);
_txt = omc_Tpl_writeText(threadData, _txt, _a_endLoop);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT347);
_txt = omc_Tpl_popBlock(threadData, _txt);
tmpMeta[0] = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT103);
goto tmp2_done;
}
}
goto tmp2_end;
tmp2_end: ;
}
goto goto_1;
goto_1:;
MMC_THROW_INTERNAL();
goto tmp2_done;
tmp2_done:;
}
}
_out_txt = tmpMeta[0];
_return: OMC_LABEL_UNUSED
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__1090(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_mArg, modelica_metatype _in_a_endLoop, modelica_metatype _in_a_guardExp, modelica_metatype _in_a_addr, modelica_metatype _in_a_iteratorName, modelica_metatype _in_a_loopVar, modelica_metatype _in_a_firstIndex)
{
modelica_integer tmp1;
modelica_metatype _out_txt = NULL;
tmp1 = mmc_unbox_integer(_in_mArg);
_out_txt = omc_CodegenCFunctions_fun__1090(threadData, _in_txt, tmp1, _in_a_endLoop, _in_a_guardExp, _in_a_addr, _in_a_iteratorName, _in_a_loopVar, _in_a_firstIndex);
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__1089(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_iter_ty, modelica_metatype _in_a_arrayType, modelica_metatype _in_a_firstIndex, modelica_metatype _in_a_loopVar)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta[3] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp3_1;modelica_metatype tmp3_2;modelica_metatype tmp3_3;modelica_metatype tmp3_4;modelica_metatype tmp3_5;
tmp3_1 = _in_txt;
tmp3_2 = _in_a_iter_ty;
tmp3_3 = _in_a_arrayType;
tmp3_4 = _in_a_firstIndex;
tmp3_5 = _in_a_loopVar;
{
modelica_metatype _txt = NULL;
modelica_metatype _a_arrayType = NULL;
modelica_metatype _a_firstIndex = NULL;
modelica_metatype _a_loopVar = NULL;
modelica_metatype _i_record__state = NULL;
modelica_metatype _ret_1 = NULL;
modelica_metatype _l_rec__name = NULL;
volatile mmc_switch_type tmp3;
int tmp4;
tmp3 = 0;
for (; tmp3 < 2; tmp3++) {
switch (MMC_SWITCH_CAST(tmp3)) {
case 0: {
if (mmc__uniontype__metarecord__typedef__equal(tmp3_2,6,2) == 0) goto tmp2_end;
tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_2), 2));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[1],9,3) == 0) goto tmp2_end;
tmpMeta[2] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[1]), 2));
_i_record__state = tmpMeta[2];
_txt = tmp3_1;
_a_firstIndex = tmp3_4;
_a_loopVar = tmp3_5;
_ret_1 = omc_ClassInf_getStateName(threadData, _i_record__state);
_l_rec__name = omc_CodegenUtil_underscorePath(threadData, _OMC_LIT20, _ret_1);
_txt = omc_Tpl_writeText(threadData, _txt, _l_rec__name);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT349);
_txt = omc_Tpl_writeText(threadData, _txt, _a_loopVar);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT351);
_txt = omc_Tpl_writeText(threadData, _txt, _a_firstIndex);
tmpMeta[0] = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT353);
goto tmp2_done;
}
case 1: {
_txt = tmp3_1;
_a_arrayType = tmp3_3;
_a_firstIndex = tmp3_4;
_a_loopVar = tmp3_5;
_txt = omc_Tpl_writeText(threadData, _txt, _a_arrayType);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT355);
_txt = omc_Tpl_writeText(threadData, _txt, _a_loopVar);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT351);
_txt = omc_Tpl_writeText(threadData, _txt, _a_firstIndex);
tmpMeta[0] = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT353);
goto tmp2_done;
}
}
goto tmp2_end;
tmp2_end: ;
}
goto goto_1;
goto_1:;
MMC_THROW_INTERNAL();
goto tmp2_done;
tmp2_done:;
}
}
_out_txt = tmpMeta[0];
_return: OMC_LABEL_UNUSED
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__1088(threadData_t *threadData, modelica_metatype _in_txt, modelica_boolean _in_mArg, modelica_metatype _in_a_endLoop, modelica_metatype _in_a_guardExp)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta[1] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp3_1;modelica_boolean tmp3_2;modelica_metatype tmp3_3;modelica_metatype tmp3_4;
tmp3_1 = _in_txt;
tmp3_2 = _in_mArg;
tmp3_3 = _in_a_endLoop;
tmp3_4 = _in_a_guardExp;
{
modelica_metatype _txt = NULL;
modelica_metatype _a_endLoop = NULL;
modelica_metatype _a_guardExp = NULL;
volatile mmc_switch_type tmp3;
int tmp4;
tmp3 = 0;
for (; tmp3 < 2; tmp3++) {
switch (MMC_SWITCH_CAST(tmp3)) {
case 0: {
if (0 != tmp3_2) goto tmp2_end;
_txt = tmp3_1;
_a_guardExp = tmp3_4;
tmpMeta[0] = omc_Tpl_writeText(threadData, _txt, _a_guardExp);
goto tmp2_done;
}
case 1: {
_txt = tmp3_1;
_a_endLoop = tmp3_3;
_txt = omc_Tpl_writeText(threadData, _txt, _a_endLoop);
tmpMeta[0] = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT357);
goto tmp2_done;
}
}
goto tmp2_end;
tmp2_end: ;
}
goto goto_1;
goto_1:;
MMC_THROW_INTERNAL();
goto tmp2_done;
tmp2_done:;
}
}
_out_txt = tmpMeta[0];
_return: OMC_LABEL_UNUSED
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__1088(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_mArg, modelica_metatype _in_a_endLoop, modelica_metatype _in_a_guardExp)
{
modelica_integer tmp1;
modelica_metatype _out_txt = NULL;
tmp1 = mmc_unbox_integer(_in_mArg);
_out_txt = omc_CodegenCFunctions_fun__1088(threadData, _in_txt, tmp1, _in_a_endLoop, _in_a_guardExp);
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__1087(threadData_t *threadData, modelica_metatype _in_txt, modelica_boolean _in_mArg)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta[1] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp3_1;modelica_boolean tmp3_2;
tmp3_1 = _in_txt;
tmp3_2 = _in_mArg;
{
modelica_metatype _txt = NULL;
volatile mmc_switch_type tmp3;
int tmp4;
tmp3 = 0;
for (; tmp3 < 2; tmp3++) {
switch (MMC_SWITCH_CAST(tmp3)) {
case 0: {
if (0 != tmp3_2) goto tmp2_end;
_txt = tmp3_1;
tmpMeta[0] = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT359);
goto tmp2_done;
}
case 1: {
_txt = tmp3_1;
tmpMeta[0] = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT361);
goto tmp2_done;
}
}
goto tmp2_end;
tmp2_end: ;
}
goto goto_1;
goto_1:;
MMC_THROW_INTERNAL();
goto tmp2_done;
tmp2_done:;
}
}
_out_txt = tmpMeta[0];
_return: OMC_LABEL_UNUSED
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__1087(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_mArg)
{
modelica_integer tmp1;
modelica_metatype _out_txt = NULL;
tmp1 = mmc_unbox_integer(_in_mArg);
_out_txt = omc_CodegenCFunctions_fun__1087(threadData, _in_txt, tmp1);
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__1086(threadData_t *threadData, modelica_metatype _in_txt, modelica_boolean _in_mArg, modelica_metatype _in_a_firstIndex, modelica_metatype _in_a_endLoop, modelica_metatype _in_a_guardExp, modelica_metatype _in_a_iteratorName, modelica_metatype _in_a_loopVar, modelica_metatype _in_a_guardCond)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta[1] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp3_1;modelica_boolean tmp3_2;modelica_metatype tmp3_3;modelica_metatype tmp3_4;modelica_metatype tmp3_5;modelica_metatype tmp3_6;modelica_metatype tmp3_7;modelica_metatype tmp3_8;
tmp3_1 = _in_txt;
tmp3_2 = _in_mArg;
tmp3_3 = _in_a_firstIndex;
tmp3_4 = _in_a_endLoop;
tmp3_5 = _in_a_guardExp;
tmp3_6 = _in_a_iteratorName;
tmp3_7 = _in_a_loopVar;
tmp3_8 = _in_a_guardCond;
{
modelica_metatype _txt = NULL;
modelica_metatype _a_firstIndex = NULL;
modelica_metatype _a_endLoop = NULL;
modelica_metatype _a_guardExp = NULL;
modelica_metatype _a_iteratorName = NULL;
modelica_metatype _a_loopVar = NULL;
modelica_metatype _a_guardCond = NULL;
modelica_boolean _ret_1;
modelica_boolean _ret_0;
volatile mmc_switch_type tmp3;
int tmp4;
tmp3 = 0;
for (; tmp3 < 2; tmp3++) {
switch (MMC_SWITCH_CAST(tmp3)) {
case 0: {
if (0 != tmp3_2) goto tmp2_end;
_txt = tmp3_1;
_a_endLoop = tmp3_4;
_a_guardExp = tmp3_5;
_a_iteratorName = tmp3_6;
_a_loopVar = tmp3_7;
_a_guardCond = tmp3_8;
_ret_0 = (stringEqual(omc_Tpl_textString(threadData, _a_guardCond), _OMC_LIT91));
tmpMeta[0] = omc_CodegenCFunctions_fun__1084(threadData, _txt, _ret_0, _a_endLoop, _a_guardExp, _a_iteratorName, _a_loopVar);
goto tmp2_done;
}
case 1: {
_txt = tmp3_1;
_a_firstIndex = tmp3_3;
_a_endLoop = tmp3_4;
_a_guardExp = tmp3_5;
_a_iteratorName = tmp3_6;
_a_loopVar = tmp3_7;
_a_guardCond = tmp3_8;
_ret_1 = (stringEqual(omc_Tpl_textString(threadData, _a_guardCond), _OMC_LIT91));
tmpMeta[0] = omc_CodegenCFunctions_fun__1085(threadData, _txt, _ret_1, _a_endLoop, _a_guardExp, _a_iteratorName, _a_loopVar, _a_firstIndex);
goto tmp2_done;
}
}
goto tmp2_end;
tmp2_end: ;
}
goto goto_1;
goto_1:;
MMC_THROW_INTERNAL();
goto tmp2_done;
tmp2_done:;
}
}
_out_txt = tmpMeta[0];
_return: OMC_LABEL_UNUSED
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__1086(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_mArg, modelica_metatype _in_a_firstIndex, modelica_metatype _in_a_endLoop, modelica_metatype _in_a_guardExp, modelica_metatype _in_a_iteratorName, modelica_metatype _in_a_loopVar, modelica_metatype _in_a_guardCond)
{
modelica_integer tmp1;
modelica_metatype _out_txt = NULL;
tmp1 = mmc_unbox_integer(_in_mArg);
_out_txt = omc_CodegenCFunctions_fun__1086(threadData, _in_txt, tmp1, _in_a_firstIndex, _in_a_endLoop, _in_a_guardExp, _in_a_iteratorName, _in_a_loopVar, _in_a_guardCond);
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__1085(threadData_t *threadData, modelica_metatype _in_txt, modelica_boolean _in_mArg, modelica_metatype _in_a_endLoop, modelica_metatype _in_a_guardExp, modelica_metatype _in_a_iteratorName, modelica_metatype _in_a_loopVar, modelica_metatype _in_a_firstIndex)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta[1] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp3_1;modelica_boolean tmp3_2;modelica_metatype tmp3_3;modelica_metatype tmp3_4;modelica_metatype tmp3_5;modelica_metatype tmp3_6;modelica_metatype tmp3_7;
tmp3_1 = _in_txt;
tmp3_2 = _in_mArg;
tmp3_3 = _in_a_endLoop;
tmp3_4 = _in_a_guardExp;
tmp3_5 = _in_a_iteratorName;
tmp3_6 = _in_a_loopVar;
tmp3_7 = _in_a_firstIndex;
{
modelica_metatype _txt = NULL;
modelica_metatype _a_endLoop = NULL;
modelica_metatype _a_guardExp = NULL;
modelica_metatype _a_iteratorName = NULL;
modelica_metatype _a_loopVar = NULL;
modelica_metatype _a_firstIndex = NULL;
volatile mmc_switch_type tmp3;
int tmp4;
tmp3 = 0;
for (; tmp3 < 2; tmp3++) {
switch (MMC_SWITCH_CAST(tmp3)) {
case 0: {
if (0 != tmp3_2) goto tmp2_end;
_txt = tmp3_1;
_a_guardExp = tmp3_4;
_a_iteratorName = tmp3_5;
_a_loopVar = tmp3_6;
_a_firstIndex = tmp3_7;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT363);
_txt = omc_Tpl_writeText(threadData, _txt, _a_firstIndex);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT365);
_txt = omc_Tpl_writeText(threadData, _txt, _a_loopVar);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT150);
_txt = omc_Tpl_pushBlock(threadData, _txt, _OMC_LIT97);
_txt = omc_Tpl_writeText(threadData, _txt, _a_iteratorName);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT367);
_txt = omc_Tpl_writeText(threadData, _txt, _a_loopVar);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT292);
_txt = omc_Tpl_writeText(threadData, _txt, _a_firstIndex);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT369);
_txt = omc_Tpl_writeText(threadData, _txt, _a_guardExp);
_txt = omc_Tpl_softNewLine(threadData, _txt);
_txt = omc_Tpl_popBlock(threadData, _txt);
tmpMeta[0] = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT103);
goto tmp2_done;
}
case 1: {
_txt = tmp3_1;
_a_endLoop = tmp3_3;
_a_iteratorName = tmp3_5;
_a_loopVar = tmp3_6;
_a_firstIndex = tmp3_7;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT248);
_txt = omc_Tpl_writeText(threadData, _txt, _a_firstIndex);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT365);
_txt = omc_Tpl_writeText(threadData, _txt, _a_loopVar);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT150);
_txt = omc_Tpl_pushBlock(threadData, _txt, _OMC_LIT97);
_txt = omc_Tpl_writeText(threadData, _txt, _a_iteratorName);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT367);
_txt = omc_Tpl_writeText(threadData, _txt, _a_loopVar);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT292);
_txt = omc_Tpl_writeText(threadData, _txt, _a_firstIndex);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT369);
_txt = omc_Tpl_writeText(threadData, _txt, _a_endLoop);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT347);
_txt = omc_Tpl_popBlock(threadData, _txt);
tmpMeta[0] = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT103);
goto tmp2_done;
}
}
goto tmp2_end;
tmp2_end: ;
}
goto goto_1;
goto_1:;
MMC_THROW_INTERNAL();
goto tmp2_done;
tmp2_done:;
}
}
_out_txt = tmpMeta[0];
_return: OMC_LABEL_UNUSED
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__1085(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_mArg, modelica_metatype _in_a_endLoop, modelica_metatype _in_a_guardExp, modelica_metatype _in_a_iteratorName, modelica_metatype _in_a_loopVar, modelica_metatype _in_a_firstIndex)
{
modelica_integer tmp1;
modelica_metatype _out_txt = NULL;
tmp1 = mmc_unbox_integer(_in_mArg);
_out_txt = omc_CodegenCFunctions_fun__1085(threadData, _in_txt, tmp1, _in_a_endLoop, _in_a_guardExp, _in_a_iteratorName, _in_a_loopVar, _in_a_firstIndex);
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__1084(threadData_t *threadData, modelica_metatype _in_txt, modelica_boolean _in_mArg, modelica_metatype _in_a_endLoop, modelica_metatype _in_a_guardExp, modelica_metatype _in_a_iteratorName, modelica_metatype _in_a_loopVar)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta[1] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp3_1;modelica_boolean tmp3_2;modelica_metatype tmp3_3;modelica_metatype tmp3_4;modelica_metatype tmp3_5;modelica_metatype tmp3_6;
tmp3_1 = _in_txt;
tmp3_2 = _in_mArg;
tmp3_3 = _in_a_endLoop;
tmp3_4 = _in_a_guardExp;
tmp3_5 = _in_a_iteratorName;
tmp3_6 = _in_a_loopVar;
{
modelica_metatype _txt = NULL;
modelica_metatype _a_endLoop = NULL;
modelica_metatype _a_guardExp = NULL;
modelica_metatype _a_iteratorName = NULL;
modelica_metatype _a_loopVar = NULL;
volatile mmc_switch_type tmp3;
int tmp4;
tmp3 = 0;
for (; tmp3 < 2; tmp3++) {
switch (MMC_SWITCH_CAST(tmp3)) {
case 0: {
if (0 != tmp3_2) goto tmp2_end;
_txt = tmp3_1;
_a_guardExp = tmp3_4;
_a_iteratorName = tmp3_5;
_a_loopVar = tmp3_6;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT371);
_txt = omc_Tpl_writeText(threadData, _txt, _a_loopVar);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT150);
_txt = omc_Tpl_pushBlock(threadData, _txt, _OMC_LIT97);
_txt = omc_Tpl_writeText(threadData, _txt, _a_iteratorName);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT373);
_txt = omc_Tpl_writeText(threadData, _txt, _a_loopVar);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT375);
_txt = omc_Tpl_writeText(threadData, _txt, _a_loopVar);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT377);
_txt = omc_Tpl_writeText(threadData, _txt, _a_loopVar);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT375);
_txt = omc_Tpl_writeText(threadData, _txt, _a_guardExp);
_txt = omc_Tpl_softNewLine(threadData, _txt);
_txt = omc_Tpl_popBlock(threadData, _txt);
tmpMeta[0] = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT103);
goto tmp2_done;
}
case 1: {
_txt = tmp3_1;
_a_endLoop = tmp3_3;
_a_iteratorName = tmp3_5;
_a_loopVar = tmp3_6;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT379);
_txt = omc_Tpl_writeText(threadData, _txt, _a_loopVar);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT150);
_txt = omc_Tpl_pushBlock(threadData, _txt, _OMC_LIT97);
_txt = omc_Tpl_writeText(threadData, _txt, _a_iteratorName);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT373);
_txt = omc_Tpl_writeText(threadData, _txt, _a_loopVar);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT375);
_txt = omc_Tpl_writeText(threadData, _txt, _a_loopVar);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT377);
_txt = omc_Tpl_writeText(threadData, _txt, _a_loopVar);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT375);
_txt = omc_Tpl_writeText(threadData, _txt, _a_endLoop);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT347);
_txt = omc_Tpl_popBlock(threadData, _txt);
tmpMeta[0] = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT103);
goto tmp2_done;
}
}
goto tmp2_end;
tmp2_end: ;
}
goto goto_1;
goto_1:;
MMC_THROW_INTERNAL();
goto tmp2_done;
tmp2_done:;
}
}
_out_txt = tmpMeta[0];
_return: OMC_LABEL_UNUSED
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__1084(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_mArg, modelica_metatype _in_a_endLoop, modelica_metatype _in_a_guardExp, modelica_metatype _in_a_iteratorName, modelica_metatype _in_a_loopVar)
{
modelica_integer tmp1;
modelica_metatype _out_txt = NULL;
tmp1 = mmc_unbox_integer(_in_mArg);
_out_txt = omc_CodegenCFunctions_fun__1084(threadData, _in_txt, tmp1, _in_a_endLoop, _in_a_guardExp, _in_a_iteratorName, _in_a_loopVar);
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__1083(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_iter_exp, modelica_metatype _in_a_stepVar, modelica_metatype _in_a_rangeExp, modelica_metatype _in_a_iteratorName)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta[1] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp3_1;modelica_metatype tmp3_2;modelica_metatype tmp3_3;modelica_metatype tmp3_4;modelica_metatype tmp3_5;
tmp3_1 = _in_txt;
tmp3_2 = _in_a_iter_exp;
tmp3_3 = _in_a_stepVar;
tmp3_4 = _in_a_rangeExp;
tmp3_5 = _in_a_iteratorName;
{
modelica_metatype _txt = NULL;
modelica_metatype _a_stepVar = NULL;
modelica_metatype _a_rangeExp = NULL;
modelica_metatype _a_iteratorName = NULL;
volatile mmc_switch_type tmp3;
int tmp4;
tmp3 = 0;
for (; tmp3 < 2; tmp3++) {
switch (MMC_SWITCH_CAST(tmp3)) {
case 0: {
if (mmc__uniontype__metarecord__typedef__equal(tmp3_2,18,4) == 0) goto tmp2_end;
_txt = tmp3_1;
_a_stepVar = tmp3_3;
_a_rangeExp = tmp3_4;
_a_iteratorName = tmp3_5;
_txt = omc_Tpl_writeText(threadData, _txt, _a_iteratorName);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT381);
_txt = omc_Tpl_writeText(threadData, _txt, _a_rangeExp);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT383);
_txt = omc_Tpl_writeText(threadData, _txt, _a_stepVar);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT105);
tmpMeta[0] = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT89);
goto tmp2_done;
}
case 1: {
_txt = tmp3_1;
tmpMeta[0] = _txt;
goto tmp2_done;
}
}
goto tmp2_end;
tmp2_end: ;
}
goto goto_1;
goto_1:;
MMC_THROW_INTERNAL();
goto tmp2_done;
tmp2_done:;
}
}
_out_txt = tmpMeta[0];
_return: OMC_LABEL_UNUSED
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__1082(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_isArrayWithLength, modelica_metatype _in_a_stepVar, modelica_metatype _in_a_firstIndex, modelica_metatype _in_a_stopVar, modelica_metatype _in_a_iteratorName)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta[2] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp3_1;modelica_metatype tmp3_2;modelica_metatype tmp3_3;modelica_metatype tmp3_4;modelica_metatype tmp3_5;modelica_metatype tmp3_6;
tmp3_1 = _in_txt;
tmp3_2 = _in_a_isArrayWithLength;
tmp3_3 = _in_a_stepVar;
tmp3_4 = _in_a_firstIndex;
tmp3_5 = _in_a_stopVar;
tmp3_6 = _in_a_iteratorName;
{
modelica_metatype _txt = NULL;
modelica_metatype _a_stepVar = NULL;
modelica_metatype _a_firstIndex = NULL;
modelica_metatype _a_stopVar = NULL;
modelica_metatype _a_iteratorName = NULL;
volatile mmc_switch_type tmp3;
int tmp4;
tmp3 = 0;
for (; tmp3 < 2; tmp3++) {
switch (MMC_SWITCH_CAST(tmp3)) {
case 0: {
if (mmc__uniontype__metarecord__typedef__equal(tmp3_2,0,2) == 0) goto tmp2_end;
tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_2), 2));
if (!listEmpty(tmpMeta[1])) goto tmp2_end;
_txt = tmp3_1;
tmpMeta[0] = _txt;
goto tmp2_done;
}
case 1: {
_txt = tmp3_1;
_a_stepVar = tmp3_3;
_a_firstIndex = tmp3_4;
_a_stopVar = tmp3_5;
_a_iteratorName = tmp3_6;
_txt = omc_Tpl_writeText(threadData, _txt, _a_iteratorName);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT385);
_txt = omc_Tpl_writeText(threadData, _txt, _a_stopVar);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT387);
_txt = omc_CodegenCFunctions_fun__1081(threadData, _txt, _a_firstIndex, _a_iteratorName);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT389);
_txt = omc_Tpl_writeText(threadData, _txt, _a_stepVar);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT391);
tmpMeta[0] = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT89);
goto tmp2_done;
}
}
goto tmp2_end;
tmp2_end: ;
}
goto goto_1;
goto_1:;
MMC_THROW_INTERNAL();
goto tmp2_done;
tmp2_done:;
}
}
_out_txt = tmpMeta[0];
_return: OMC_LABEL_UNUSED
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__1081(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_firstIndex, modelica_metatype _in_a_iteratorName)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta[2] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp3_1;modelica_metatype tmp3_2;modelica_metatype tmp3_3;
tmp3_1 = _in_txt;
tmp3_2 = _in_a_firstIndex;
tmp3_3 = _in_a_iteratorName;
{
modelica_metatype _txt = NULL;
modelica_metatype _a_iteratorName = NULL;
modelica_metatype _i_firstIndex = NULL;
volatile mmc_switch_type tmp3;
int tmp4;
tmp3 = 0;
for (; tmp3 < 2; tmp3++) {
switch (MMC_SWITCH_CAST(tmp3)) {
case 0: {
if (mmc__uniontype__metarecord__typedef__equal(tmp3_2,0,2) == 0) goto tmp2_end;
tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_2), 2));
if (!listEmpty(tmpMeta[1])) goto tmp2_end;
_txt = tmp3_1;
_a_iteratorName = tmp3_3;
tmpMeta[0] = omc_Tpl_writeText(threadData, _txt, _a_iteratorName);
goto tmp2_done;
}
case 1: {
_txt = tmp3_1;
_i_firstIndex = tmp3_2;
tmpMeta[0] = omc_Tpl_writeText(threadData, _txt, _i_firstIndex);
goto tmp2_done;
}
}
goto tmp2_end;
tmp2_end: ;
}
goto goto_1;
goto_1:;
MMC_THROW_INTERNAL();
goto tmp2_done;
tmp2_done:;
}
}
_out_txt = tmpMeta[0];
_return: OMC_LABEL_UNUSED
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__1080(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_iter_guardExp, modelica_metatype _in_a_auxFunction, modelica_metatype _in_a_tmpVarDecls, modelica_metatype _in_a_guardExpPre, modelica_metatype _in_a_context, modelica_metatype *out_out_a_auxFunction, modelica_metatype *out_out_a_tmpVarDecls, modelica_metatype *out_out_a_guardExpPre)
{
modelica_metatype _out_txt = NULL;
modelica_metatype _out_a_auxFunction = NULL;
modelica_metatype _out_a_tmpVarDecls = NULL;
modelica_metatype _out_a_guardExpPre = NULL;
modelica_metatype tmpMeta[5] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_metatype tmp4_2;modelica_metatype tmp4_3;modelica_metatype tmp4_4;modelica_metatype tmp4_5;modelica_metatype tmp4_6;
tmp4_1 = _in_txt;
tmp4_2 = _in_a_iter_guardExp;
tmp4_3 = _in_a_auxFunction;
tmp4_4 = _in_a_tmpVarDecls;
tmp4_5 = _in_a_guardExpPre;
tmp4_6 = _in_a_context;
{
modelica_metatype _txt = NULL;
modelica_metatype _a_auxFunction = NULL;
modelica_metatype _a_tmpVarDecls = NULL;
modelica_metatype _a_guardExpPre = NULL;
modelica_metatype _a_context = NULL;
modelica_metatype _i_grd = NULL;
volatile mmc_switch_type tmp4;
int tmp5;
tmp4 = 0;
for (; tmp4 < 2; tmp4++) {
switch (MMC_SWITCH_CAST(tmp4)) {
case 0: {
if (optionNone(tmp4_2)) goto tmp3_end;
tmpMeta[4] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 1));
_i_grd = tmpMeta[4];
_txt = tmp4_1;
_a_auxFunction = tmp4_3;
_a_tmpVarDecls = tmp4_4;
_a_guardExpPre = tmp4_5;
_a_context = tmp4_6;
_txt = omc_CodegenCFunctions_daeExp(threadData, _txt, _i_grd, _a_context, _a_guardExpPre, _a_tmpVarDecls, _a_auxFunction ,&_a_guardExpPre ,&_a_tmpVarDecls ,&_a_auxFunction);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_auxFunction;
tmpMeta[0+2] = _a_tmpVarDecls;
tmpMeta[0+3] = _a_guardExpPre;
goto tmp3_done;
}
case 1: {
_txt = tmp4_1;
_a_auxFunction = tmp4_3;
_a_tmpVarDecls = tmp4_4;
_a_guardExpPre = tmp4_5;
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_auxFunction;
tmpMeta[0+2] = _a_tmpVarDecls;
tmpMeta[0+3] = _a_guardExpPre;
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta[0+0];
_out_a_auxFunction = tmpMeta[0+1];
_out_a_tmpVarDecls = tmpMeta[0+2];
_out_a_guardExpPre = tmpMeta[0+3];
_return: OMC_LABEL_UNUSED
if (out_out_a_auxFunction) { *out_out_a_auxFunction = _out_a_auxFunction; }
if (out_out_a_tmpVarDecls) { *out_out_a_tmpVarDecls = _out_a_tmpVarDecls; }
if (out_out_a_guardExpPre) { *out_out_a_guardExpPre = _out_a_guardExpPre; }
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__1079(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_iter_exp, modelica_metatype _in_a_firstIndex)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta[1] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp3_1;modelica_metatype tmp3_2;modelica_metatype tmp3_3;
tmp3_1 = _in_txt;
tmp3_2 = _in_a_iter_exp;
tmp3_3 = _in_a_firstIndex;
{
modelica_metatype _txt = NULL;
modelica_metatype _a_firstIndex = NULL;
volatile mmc_switch_type tmp3;
int tmp4;
tmp3 = 0;
for (; tmp3 < 2; tmp3++) {
switch (MMC_SWITCH_CAST(tmp3)) {
case 0: {
if (mmc__uniontype__metarecord__typedef__equal(tmp3_2,18,4) == 0) goto tmp2_end;
_txt = tmp3_1;
tmpMeta[0] = _txt;
goto tmp2_done;
}
case 1: {
_txt = tmp3_1;
_a_firstIndex = tmp3_3;
tmpMeta[0] = omc_CodegenCFunctions_fun__1078(threadData, _txt, _a_firstIndex);
goto tmp2_done;
}
}
goto tmp2_end;
tmp2_end: ;
}
goto goto_1;
goto_1:;
MMC_THROW_INTERNAL();
goto tmp2_done;
tmp2_done:;
}
}
_out_txt = tmpMeta[0];
_return: OMC_LABEL_UNUSED
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__1078(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_firstIndex)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta[2] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp3_1;modelica_metatype tmp3_2;
tmp3_1 = _in_txt;
tmp3_2 = _in_a_firstIndex;
{
modelica_metatype _txt = NULL;
modelica_metatype _i_firstIndex = NULL;
volatile mmc_switch_type tmp3;
int tmp4;
tmp3 = 0;
for (; tmp3 < 2; tmp3++) {
switch (MMC_SWITCH_CAST(tmp3)) {
case 0: {
if (mmc__uniontype__metarecord__typedef__equal(tmp3_2,0,2) == 0) goto tmp2_end;
tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_2), 2));
if (!listEmpty(tmpMeta[1])) goto tmp2_end;
_txt = tmp3_1;
tmpMeta[0] = _txt;
goto tmp2_done;
}
case 1: {
_txt = tmp3_1;
_i_firstIndex = tmp3_2;
_txt = omc_Tpl_writeText(threadData, _txt, _i_firstIndex);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT393);
tmpMeta[0] = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT89);
goto tmp2_done;
}
}
goto tmp2_end;
tmp2_end: ;
}
goto goto_1;
goto_1:;
MMC_THROW_INTERNAL();
goto tmp2_done;
tmp2_done:;
}
}
_out_txt = tmpMeta[0];
_return: OMC_LABEL_UNUSED
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__1077(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_isArrayWithLength, modelica_metatype _in_a_iteratorName)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta[2] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp3_1;modelica_metatype tmp3_2;modelica_metatype tmp3_3;
tmp3_1 = _in_txt;
tmp3_2 = _in_a_isArrayWithLength;
tmp3_3 = _in_a_iteratorName;
{
modelica_metatype _txt = NULL;
modelica_metatype _a_iteratorName = NULL;
volatile mmc_switch_type tmp3;
int tmp4;
tmp3 = 0;
for (; tmp3 < 2; tmp3++) {
switch (MMC_SWITCH_CAST(tmp3)) {
case 0: {
if (mmc__uniontype__metarecord__typedef__equal(tmp3_2,0,2) == 0) goto tmp2_end;
tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_2), 2));
if (!listEmpty(tmpMeta[1])) goto tmp2_end;
_txt = tmp3_1;
tmpMeta[0] = _txt;
goto tmp2_done;
}
case 1: {
_txt = tmp3_1;
_a_iteratorName = tmp3_3;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT395);
_txt = omc_Tpl_writeText(threadData, _txt, _a_iteratorName);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT397);
tmpMeta[0] = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT89);
goto tmp2_done;
}
}
goto tmp2_end;
tmp2_end: ;
}
goto goto_1;
goto_1:;
MMC_THROW_INTERNAL();
goto tmp2_done;
tmp2_done:;
}
}
_out_txt = tmpMeta[0];
_return: OMC_LABEL_UNUSED
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__1076(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_rangeExpStop, modelica_metatype _in_a_ri_path)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta[2] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp3_1;modelica_metatype tmp3_2;modelica_metatype tmp3_3;
tmp3_1 = _in_txt;
tmp3_2 = _in_a_rangeExpStop;
tmp3_3 = _in_a_ri_path;
{
modelica_metatype _txt = NULL;
modelica_metatype _a_ri_path = NULL;
volatile mmc_switch_type tmp3;
int tmp4;
tmp3 = 0;
for (; tmp3 < 2; tmp3++) {
switch (MMC_SWITCH_CAST(tmp3)) {
case 0: {
if (mmc__uniontype__metarecord__typedef__equal(tmp3_2,0,2) == 0) goto tmp2_end;
tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_2), 2));
if (!listEmpty(tmpMeta[1])) goto tmp2_end;
_txt = tmp3_1;
tmpMeta[0] = _txt;
goto tmp2_done;
}
case 1: {
_txt = tmp3_1;
_a_ri_path = tmp3_3;
tmpMeta[0] = omc_CodegenCFunctions_fun__1075(threadData, _txt, _a_ri_path);
goto tmp2_done;
}
}
goto tmp2_end;
tmp2_end: ;
}
goto goto_1;
goto_1:;
MMC_THROW_INTERNAL();
goto tmp2_done;
tmp2_done:;
}
}
_out_txt = tmpMeta[0];
_return: OMC_LABEL_UNUSED
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__1075(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_ri_path)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta[2] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp3_1;modelica_metatype tmp3_2;
tmp3_1 = _in_txt;
tmp3_2 = _in_a_ri_path;
{
modelica_metatype _txt = NULL;
volatile mmc_switch_type tmp3;
int tmp4;
tmp3 = 0;
for (; tmp3 < 2; tmp3++) {
switch (MMC_SWITCH_CAST(tmp3)) {
case 0: {
if (mmc__uniontype__metarecord__typedef__equal(tmp3_2,1,1) == 0) goto tmp2_end;
tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_2), 2));
if (5 != MMC_STRLEN(tmpMeta[1]) || strcmp(MMC_STRINGDATA(_OMC_LIT276), MMC_STRINGDATA(tmpMeta[1])) != 0) goto tmp2_end;
_txt = tmp3_1;
tmpMeta[0] = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT399);
goto tmp2_done;
}
case 1: {
_txt = tmp3_1;
tmpMeta[0] = _txt;
goto tmp2_done;
}
}
goto tmp2_end;
tmp2_end: ;
}
goto goto_1;
goto_1:;
MMC_THROW_INTERNAL();
goto tmp2_done;
tmp2_done:;
}
}
_out_txt = tmpMeta[0];
_return: OMC_LABEL_UNUSED
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__1074(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_rangeExpStop, modelica_metatype _in_a_iter_exp, modelica_metatype _in_a_stepVar)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta[2] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp3_1;modelica_metatype tmp3_2;modelica_metatype tmp3_3;modelica_metatype tmp3_4;
tmp3_1 = _in_txt;
tmp3_2 = _in_a_rangeExpStop;
tmp3_3 = _in_a_iter_exp;
tmp3_4 = _in_a_stepVar;
{
modelica_metatype _txt = NULL;
modelica_metatype _a_iter_exp = NULL;
modelica_metatype _a_stepVar = NULL;
modelica_metatype _l_check = NULL;
volatile mmc_switch_type tmp3;
int tmp4;
tmp3 = 0;
for (; tmp3 < 2; tmp3++) {
switch (MMC_SWITCH_CAST(tmp3)) {
case 0: {
if (mmc__uniontype__metarecord__typedef__equal(tmp3_2,0,2) == 0) goto tmp2_end;
tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_2), 2));
if (!listEmpty(tmpMeta[1])) goto tmp2_end;
_txt = tmp3_1;
tmpMeta[0] = _txt;
goto tmp2_done;
}
case 1: {
_txt = tmp3_1;
_a_iter_exp = tmp3_3;
_a_stepVar = tmp3_4;
_l_check = omc_Tpl_writeTok(threadData, _OMC_LIT20, _OMC_LIT248);
_l_check = omc_Tpl_writeText(threadData, _l_check, _a_stepVar);
_l_check = omc_Tpl_writeTok(threadData, _l_check, _OMC_LIT406);
_l_check = omc_Tpl_writeTok(threadData, _l_check, _OMC_LIT89);
tmpMeta[0] = omc_CodegenCFunctions_fun__1073(threadData, _txt, _a_iter_exp, _l_check);
goto tmp2_done;
}
}
goto tmp2_end;
tmp2_end: ;
}
goto goto_1;
goto_1:;
MMC_THROW_INTERNAL();
goto tmp2_done;
tmp2_done:;
}
}
_out_txt = tmpMeta[0];
_return: OMC_LABEL_UNUSED
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__1073(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_iter_exp, modelica_metatype _in_a_check)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta[4] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp3_1;modelica_metatype tmp3_2;modelica_metatype tmp3_3;
tmp3_1 = _in_txt;
tmp3_2 = _in_a_iter_exp;
tmp3_3 = _in_a_check;
{
modelica_metatype _txt = NULL;
modelica_metatype _a_check = NULL;
volatile mmc_switch_type tmp3;
int tmp4;
tmp3 = 0;
for (; tmp3 < 4; tmp3++) {
switch (MMC_SWITCH_CAST(tmp3)) {
case 0: {
modelica_integer tmp5;
if (mmc__uniontype__metarecord__typedef__equal(tmp3_2,18,4) == 0) goto tmp2_end;
tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_2), 4));
if (optionNone(tmpMeta[1])) goto tmp2_end;
tmpMeta[2] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[1]), 1));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[2],0,1) == 0) goto tmp2_end;
tmpMeta[3] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[2]), 2));
tmp5 = mmc_unbox_integer(tmpMeta[3]);
if (0 != tmp5) goto tmp2_end;
_txt = tmp3_1;
_a_check = tmp3_3;
tmpMeta[0] = omc_Tpl_writeText(threadData, _txt, _a_check);
goto tmp2_done;
}
case 1: {
if (mmc__uniontype__metarecord__typedef__equal(tmp3_2,18,4) == 0) goto tmp2_end;
tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_2), 4));
if (!optionNone(tmpMeta[1])) goto tmp2_end;
_txt = tmp3_1;
tmpMeta[0] = _txt;
goto tmp2_done;
}
case 2: {
if (mmc__uniontype__metarecord__typedef__equal(tmp3_2,18,4) == 0) goto tmp2_end;
tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_2), 4));
if (optionNone(tmpMeta[1])) goto tmp2_end;
tmpMeta[2] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[1]), 1));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[2],0,1) == 0) goto tmp2_end;
_txt = tmp3_1;
tmpMeta[0] = _txt;
goto tmp2_done;
}
case 3: {
_txt = tmp3_1;
_a_check = tmp3_3;
tmpMeta[0] = omc_Tpl_writeText(threadData, _txt, _a_check);
goto tmp2_done;
}
}
goto tmp2_end;
tmp2_end: ;
}
goto goto_1;
goto_1:;
MMC_THROW_INTERNAL();
goto tmp2_done;
tmp2_done:;
}
}
_out_txt = tmpMeta[0];
_return: OMC_LABEL_UNUSED
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__1072(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_rangeExpStop, modelica_metatype _in_a_stopVar)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta[2] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp3_1;modelica_metatype tmp3_2;modelica_metatype tmp3_3;
tmp3_1 = _in_txt;
tmp3_2 = _in_a_rangeExpStop;
tmp3_3 = _in_a_stopVar;
{
modelica_metatype _txt = NULL;
modelica_metatype _a_stopVar = NULL;
modelica_metatype _i_rangeExpStop = NULL;
volatile mmc_switch_type tmp3;
int tmp4;
tmp3 = 0;
for (; tmp3 < 2; tmp3++) {
switch (MMC_SWITCH_CAST(tmp3)) {
case 0: {
if (mmc__uniontype__metarecord__typedef__equal(tmp3_2,0,2) == 0) goto tmp2_end;
tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_2), 2));
if (!listEmpty(tmpMeta[1])) goto tmp2_end;
_txt = tmp3_1;
tmpMeta[0] = _txt;
goto tmp2_done;
}
case 1: {
_txt = tmp3_1;
_i_rangeExpStop = tmp3_2;
_a_stopVar = tmp3_3;
_txt = omc_Tpl_writeText(threadData, _txt, _a_stopVar);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT121);
_txt = omc_Tpl_writeText(threadData, _txt, _i_rangeExpStop);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT105);
tmpMeta[0] = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT89);
goto tmp2_done;
}
}
goto tmp2_end;
tmp2_end: ;
}
goto goto_1;
goto_1:;
MMC_THROW_INTERNAL();
goto tmp2_done;
tmp2_done:;
}
}
_out_txt = tmpMeta[0];
_return: OMC_LABEL_UNUSED
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__1071(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_rangeExpStep, modelica_metatype _in_a_stepVar)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta[2] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp3_1;modelica_metatype tmp3_2;modelica_metatype tmp3_3;
tmp3_1 = _in_txt;
tmp3_2 = _in_a_rangeExpStep;
tmp3_3 = _in_a_stepVar;
{
modelica_metatype _txt = NULL;
modelica_metatype _a_stepVar = NULL;
modelica_metatype _i_rangeExpStep = NULL;
volatile mmc_switch_type tmp3;
int tmp4;
tmp3 = 0;
for (; tmp3 < 2; tmp3++) {
switch (MMC_SWITCH_CAST(tmp3)) {
case 0: {
if (mmc__uniontype__metarecord__typedef__equal(tmp3_2,0,2) == 0) goto tmp2_end;
tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_2), 2));
if (!listEmpty(tmpMeta[1])) goto tmp2_end;
_txt = tmp3_1;
tmpMeta[0] = _txt;
goto tmp2_done;
}
case 1: {
_txt = tmp3_1;
_i_rangeExpStep = tmp3_2;
_a_stepVar = tmp3_3;
_txt = omc_Tpl_writeText(threadData, _txt, _a_stepVar);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT121);
_txt = omc_Tpl_writeText(threadData, _txt, _i_rangeExpStep);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT105);
tmpMeta[0] = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT89);
goto tmp2_done;
}
}
goto tmp2_end;
tmp2_end: ;
}
goto goto_1;
goto_1:;
MMC_THROW_INTERNAL();
goto tmp2_done;
tmp2_done:;
}
}
_out_txt = tmpMeta[0];
_return: OMC_LABEL_UNUSED
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__1070(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_iter_exp, modelica_metatype _in_a_auxFunction, modelica_metatype _in_a_tmpVarDecls, modelica_metatype _in_a_rangeExpPre, modelica_metatype _in_a_context, modelica_metatype *out_out_a_auxFunction, modelica_metatype *out_out_a_tmpVarDecls, modelica_metatype *out_out_a_rangeExpPre)
{
modelica_metatype _out_txt = NULL;
modelica_metatype _out_a_auxFunction = NULL;
modelica_metatype _out_a_tmpVarDecls = NULL;
modelica_metatype _out_a_rangeExpPre = NULL;
modelica_metatype tmpMeta[5] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_metatype tmp4_2;modelica_metatype tmp4_3;modelica_metatype tmp4_4;modelica_metatype tmp4_5;modelica_metatype tmp4_6;
tmp4_1 = _in_txt;
tmp4_2 = _in_a_iter_exp;
tmp4_3 = _in_a_auxFunction;
tmp4_4 = _in_a_tmpVarDecls;
tmp4_5 = _in_a_rangeExpPre;
tmp4_6 = _in_a_context;
{
modelica_metatype _txt = NULL;
modelica_metatype _a_auxFunction = NULL;
modelica_metatype _a_tmpVarDecls = NULL;
modelica_metatype _a_rangeExpPre = NULL;
modelica_metatype _a_context = NULL;
modelica_metatype _i_iter_exp = NULL;
modelica_metatype _i_start = NULL;
volatile mmc_switch_type tmp4;
int tmp5;
tmp4 = 0;
for (; tmp4 < 2; tmp4++) {
switch (MMC_SWITCH_CAST(tmp4)) {
case 0: {
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,18,4) == 0) goto tmp3_end;
tmpMeta[4] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 3));
_i_start = tmpMeta[4];
_txt = tmp4_1;
_a_auxFunction = tmp4_3;
_a_tmpVarDecls = tmp4_4;
_a_rangeExpPre = tmp4_5;
_a_context = tmp4_6;
_txt = omc_CodegenCFunctions_daeExp(threadData, _txt, _i_start, _a_context, _a_rangeExpPre, _a_tmpVarDecls, _a_auxFunction ,&_a_rangeExpPre ,&_a_tmpVarDecls ,&_a_auxFunction);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT408);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_auxFunction;
tmpMeta[0+2] = _a_tmpVarDecls;
tmpMeta[0+3] = _a_rangeExpPre;
goto tmp3_done;
}
case 1: {
_txt = tmp4_1;
_i_iter_exp = tmp4_2;
_a_auxFunction = tmp4_3;
_a_tmpVarDecls = tmp4_4;
_a_rangeExpPre = tmp4_5;
_a_context = tmp4_6;
_txt = omc_CodegenCFunctions_daeExp(threadData, _txt, _i_iter_exp, _a_context, _a_rangeExpPre, _a_tmpVarDecls, _a_auxFunction ,&_a_rangeExpPre ,&_a_tmpVarDecls ,&_a_auxFunction);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_auxFunction;
tmpMeta[0+2] = _a_tmpVarDecls;
tmpMeta[0+3] = _a_rangeExpPre;
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta[0+0];
_out_a_auxFunction = tmpMeta[0+1];
_out_a_tmpVarDecls = tmpMeta[0+2];
_out_a_rangeExpPre = tmpMeta[0+3];
_return: OMC_LABEL_UNUSED
if (out_out_a_auxFunction) { *out_out_a_auxFunction = _out_a_auxFunction; }
if (out_out_a_tmpVarDecls) { *out_out_a_tmpVarDecls = _out_a_tmpVarDecls; }
if (out_out_a_rangeExpPre) { *out_out_a_rangeExpPre = _out_a_rangeExpPre; }
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__1069(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_iter_exp, modelica_metatype _in_a_auxFunction, modelica_metatype _in_a_tmpVarDecls, modelica_metatype _in_a_rangeExpPre, modelica_metatype _in_a_context, modelica_metatype *out_out_a_auxFunction, modelica_metatype *out_out_a_tmpVarDecls, modelica_metatype *out_out_a_rangeExpPre)
{
modelica_metatype _out_txt = NULL;
modelica_metatype _out_a_auxFunction = NULL;
modelica_metatype _out_a_tmpVarDecls = NULL;
modelica_metatype _out_a_rangeExpPre = NULL;
modelica_metatype tmpMeta[5] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_metatype tmp4_2;modelica_metatype tmp4_3;modelica_metatype tmp4_4;modelica_metatype tmp4_5;modelica_metatype tmp4_6;
tmp4_1 = _in_txt;
tmp4_2 = _in_a_iter_exp;
tmp4_3 = _in_a_auxFunction;
tmp4_4 = _in_a_tmpVarDecls;
tmp4_5 = _in_a_rangeExpPre;
tmp4_6 = _in_a_context;
{
modelica_metatype _txt = NULL;
modelica_metatype _a_auxFunction = NULL;
modelica_metatype _a_tmpVarDecls = NULL;
modelica_metatype _a_rangeExpPre = NULL;
modelica_metatype _a_context = NULL;
modelica_metatype _i_stop = NULL;
volatile mmc_switch_type tmp4;
int tmp5;
tmp4 = 0;
for (; tmp4 < 2; tmp4++) {
switch (MMC_SWITCH_CAST(tmp4)) {
case 0: {
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,18,4) == 0) goto tmp3_end;
tmpMeta[4] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 5));
_i_stop = tmpMeta[4];
_txt = tmp4_1;
_a_auxFunction = tmp4_3;
_a_tmpVarDecls = tmp4_4;
_a_rangeExpPre = tmp4_5;
_a_context = tmp4_6;
_txt = omc_CodegenCFunctions_daeExp(threadData, _txt, _i_stop, _a_context, _a_rangeExpPre, _a_tmpVarDecls, _a_auxFunction ,&_a_rangeExpPre ,&_a_tmpVarDecls ,&_a_auxFunction);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT410);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_auxFunction;
tmpMeta[0+2] = _a_tmpVarDecls;
tmpMeta[0+3] = _a_rangeExpPre;
goto tmp3_done;
}
case 1: {
_txt = tmp4_1;
_a_auxFunction = tmp4_3;
_a_tmpVarDecls = tmp4_4;
_a_rangeExpPre = tmp4_5;
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_auxFunction;
tmpMeta[0+2] = _a_tmpVarDecls;
tmpMeta[0+3] = _a_rangeExpPre;
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta[0+0];
_out_a_auxFunction = tmpMeta[0+1];
_out_a_tmpVarDecls = tmpMeta[0+2];
_out_a_rangeExpPre = tmpMeta[0+3];
_return: OMC_LABEL_UNUSED
if (out_out_a_auxFunction) { *out_out_a_auxFunction = _out_a_auxFunction; }
if (out_out_a_tmpVarDecls) { *out_out_a_tmpVarDecls = _out_a_tmpVarDecls; }
if (out_out_a_rangeExpPre) { *out_out_a_rangeExpPre = _out_a_rangeExpPre; }
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__1068(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_iter_exp, modelica_metatype _in_a_auxFunction, modelica_metatype _in_a_tmpVarDecls, modelica_metatype _in_a_rangeExpPre, modelica_metatype _in_a_context, modelica_metatype *out_out_a_auxFunction, modelica_metatype *out_out_a_tmpVarDecls, modelica_metatype *out_out_a_rangeExpPre)
{
modelica_metatype _out_txt = NULL;
modelica_metatype _out_a_auxFunction = NULL;
modelica_metatype _out_a_tmpVarDecls = NULL;
modelica_metatype _out_a_rangeExpPre = NULL;
modelica_metatype tmpMeta[6] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_metatype tmp4_2;modelica_metatype tmp4_3;modelica_metatype tmp4_4;modelica_metatype tmp4_5;modelica_metatype tmp4_6;
tmp4_1 = _in_txt;
tmp4_2 = _in_a_iter_exp;
tmp4_3 = _in_a_auxFunction;
tmp4_4 = _in_a_tmpVarDecls;
tmp4_5 = _in_a_rangeExpPre;
tmp4_6 = _in_a_context;
{
modelica_metatype _txt = NULL;
modelica_metatype _a_auxFunction = NULL;
modelica_metatype _a_tmpVarDecls = NULL;
modelica_metatype _a_rangeExpPre = NULL;
modelica_metatype _a_context = NULL;
modelica_metatype _i_step = NULL;
volatile mmc_switch_type tmp4;
int tmp5;
tmp4 = 0;
for (; tmp4 < 3; tmp4++) {
switch (MMC_SWITCH_CAST(tmp4)) {
case 0: {
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,18,4) == 0) goto tmp3_end;
tmpMeta[4] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 4));
if (!optionNone(tmpMeta[4])) goto tmp3_end;
_txt = tmp4_1;
_a_auxFunction = tmp4_3;
_a_tmpVarDecls = tmp4_4;
_a_rangeExpPre = tmp4_5;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT412);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_auxFunction;
tmpMeta[0+2] = _a_tmpVarDecls;
tmpMeta[0+3] = _a_rangeExpPre;
goto tmp3_done;
}
case 1: {
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,18,4) == 0) goto tmp3_end;
tmpMeta[4] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 4));
if (optionNone(tmpMeta[4])) goto tmp3_end;
tmpMeta[5] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[4]), 1));
_i_step = tmpMeta[5];
_txt = tmp4_1;
_a_auxFunction = tmp4_3;
_a_tmpVarDecls = tmp4_4;
_a_rangeExpPre = tmp4_5;
_a_context = tmp4_6;
_txt = omc_CodegenCFunctions_daeExp(threadData, _txt, _i_step, _a_context, _a_rangeExpPre, _a_tmpVarDecls, _a_auxFunction ,&_a_rangeExpPre ,&_a_tmpVarDecls ,&_a_auxFunction);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT414);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_auxFunction;
tmpMeta[0+2] = _a_tmpVarDecls;
tmpMeta[0+3] = _a_rangeExpPre;
goto tmp3_done;
}
case 2: {
_txt = tmp4_1;
_a_auxFunction = tmp4_3;
_a_tmpVarDecls = tmp4_4;
_a_rangeExpPre = tmp4_5;
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_auxFunction;
tmpMeta[0+2] = _a_tmpVarDecls;
tmpMeta[0+3] = _a_rangeExpPre;
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta[0+0];
_out_a_auxFunction = tmpMeta[0+1];
_out_a_tmpVarDecls = tmpMeta[0+2];
_out_a_rangeExpPre = tmpMeta[0+3];
_return: OMC_LABEL_UNUSED
if (out_out_a_auxFunction) { *out_out_a_auxFunction = _out_a_auxFunction; }
if (out_out_a_tmpVarDecls) { *out_out_a_tmpVarDecls = _out_a_tmpVarDecls; }
if (out_out_a_rangeExpPre) { *out_out_a_rangeExpPre = _out_a_rangeExpPre; }
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__1067(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_iter_exp, modelica_metatype _in_a_tmpVarDecls, modelica_metatype _in_a_identType, modelica_metatype *out_out_a_tmpVarDecls)
{
modelica_metatype _out_txt = NULL;
modelica_metatype _out_a_tmpVarDecls = NULL;
modelica_metatype tmpMeta[2] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_metatype tmp4_2;modelica_metatype tmp4_3;modelica_metatype tmp4_4;
tmp4_1 = _in_txt;
tmp4_2 = _in_a_iter_exp;
tmp4_3 = _in_a_tmpVarDecls;
tmp4_4 = _in_a_identType;
{
modelica_metatype _txt = NULL;
modelica_metatype _a_tmpVarDecls = NULL;
modelica_metatype _a_identType = NULL;
modelica_metatype _i_iter_exp = NULL;
modelica_string _str_0 = NULL;
volatile mmc_switch_type tmp4;
int tmp5;
tmp4 = 0;
for (; tmp4 < 2; tmp4++) {
switch (MMC_SWITCH_CAST(tmp4)) {
case 0: {
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,18,4) == 0) goto tmp3_end;
_txt = tmp4_1;
_a_tmpVarDecls = tmp4_3;
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_tmpVarDecls;
goto tmp3_done;
}
case 1: {
_txt = tmp4_1;
_i_iter_exp = tmp4_2;
_a_tmpVarDecls = tmp4_3;
_a_identType = tmp4_4;
_str_0 = omc_Tpl_textString(threadData, _a_identType);
tmpMeta[0+0] = omc_CodegenCFunctions_fun__1066(threadData, _txt, _str_0, _a_tmpVarDecls, _i_iter_exp, &tmpMeta[0+1]);
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta[0+0];
_out_a_tmpVarDecls = tmpMeta[0+1];
_return: OMC_LABEL_UNUSED
if (out_out_a_tmpVarDecls) { *out_out_a_tmpVarDecls = _out_a_tmpVarDecls; }
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__1066(threadData_t *threadData, modelica_metatype _in_txt, modelica_string _in_mArg, modelica_metatype _in_a_tmpVarDecls, modelica_metatype _in_a_iter_exp, modelica_metatype *out_out_a_tmpVarDecls)
{
modelica_metatype _out_txt = NULL;
modelica_metatype _out_a_tmpVarDecls = NULL;
modelica_metatype tmpMeta[2] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_string tmp4_2;modelica_metatype tmp4_3;modelica_metatype tmp4_4;
tmp4_1 = _in_txt;
tmp4_2 = _in_mArg;
tmp4_3 = _in_a_tmpVarDecls;
tmp4_4 = _in_a_iter_exp;
{
modelica_metatype _txt = NULL;
modelica_metatype _a_tmpVarDecls = NULL;
modelica_metatype _a_iter_exp = NULL;
modelica_boolean _ret_0;
volatile mmc_switch_type tmp4;
int tmp5;
tmp4 = 0;
for (; tmp4 < 2; tmp4++) {
switch (MMC_SWITCH_CAST(tmp4)) {
case 0: {
if (17 != MMC_STRLEN(tmp4_2) || strcmp(MMC_STRINGDATA(_OMC_LIT311), MMC_STRINGDATA(tmp4_2)) != 0) goto tmp3_end;
_txt = tmp4_1;
_a_tmpVarDecls = tmp4_3;
_a_iter_exp = tmp4_4;
_ret_0 = omc_Expression_isMetaArray(threadData, _a_iter_exp);
tmpMeta[0+0] = omc_CodegenCFunctions_fun__1065(threadData, _txt, _ret_0, _a_tmpVarDecls, &tmpMeta[0+1]);
goto tmp3_done;
}
case 1: {
_txt = tmp4_1;
_a_tmpVarDecls = tmp4_3;
tmpMeta[0+0] = omc_CodegenCFunctions_tempDecl(threadData, _txt, _OMC_LIT140, _a_tmpVarDecls, &tmpMeta[0+1]);
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta[0+0];
_out_a_tmpVarDecls = tmpMeta[0+1];
_return: OMC_LABEL_UNUSED
if (out_out_a_tmpVarDecls) { *out_out_a_tmpVarDecls = _out_a_tmpVarDecls; }
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__1065(threadData_t *threadData, modelica_metatype _in_txt, modelica_boolean _in_mArg, modelica_metatype _in_a_tmpVarDecls, modelica_metatype *out_out_a_tmpVarDecls)
{
modelica_metatype _out_txt = NULL;
modelica_metatype _out_a_tmpVarDecls = NULL;
modelica_metatype tmpMeta[2] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_boolean tmp4_2;modelica_metatype tmp4_3;
tmp4_1 = _in_txt;
tmp4_2 = _in_mArg;
tmp4_3 = _in_a_tmpVarDecls;
{
modelica_metatype _txt = NULL;
modelica_metatype _a_tmpVarDecls = NULL;
volatile mmc_switch_type tmp4;
int tmp5;
tmp4 = 0;
for (; tmp4 < 2; tmp4++) {
switch (MMC_SWITCH_CAST(tmp4)) {
case 0: {
if (0 != tmp4_2) goto tmp3_end;
_txt = tmp4_1;
_a_tmpVarDecls = tmp4_3;
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_tmpVarDecls;
goto tmp3_done;
}
case 1: {
_txt = tmp4_1;
_a_tmpVarDecls = tmp4_3;
tmpMeta[0+0] = omc_CodegenCFunctions_tempDecl(threadData, _txt, _OMC_LIT140, _a_tmpVarDecls, &tmpMeta[0+1]);
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta[0+0];
_out_a_tmpVarDecls = tmpMeta[0+1];
_return: OMC_LABEL_UNUSED
if (out_out_a_tmpVarDecls) { *out_out_a_tmpVarDecls = _out_a_tmpVarDecls; }
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__1065(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_mArg, modelica_metatype _in_a_tmpVarDecls, modelica_metatype *out_out_a_tmpVarDecls)
{
modelica_integer tmp1;
modelica_metatype _out_txt = NULL;
tmp1 = mmc_unbox_integer(_in_mArg);
_out_txt = omc_CodegenCFunctions_fun__1065(threadData, _in_txt, tmp1, _in_a_tmpVarDecls, out_out_a_tmpVarDecls);
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__1064(threadData_t *threadData, modelica_metatype _in_txt, modelica_string _in_mArg, modelica_metatype _in_a_arrayType, modelica_metatype _in_a_iter_exp, modelica_metatype _in_a_loopVar)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta[1] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp3_1;modelica_string tmp3_2;modelica_metatype tmp3_3;modelica_metatype tmp3_4;modelica_metatype tmp3_5;
tmp3_1 = _in_txt;
tmp3_2 = _in_mArg;
tmp3_3 = _in_a_arrayType;
tmp3_4 = _in_a_iter_exp;
tmp3_5 = _in_a_loopVar;
{
modelica_metatype _txt = NULL;
modelica_metatype _a_arrayType = NULL;
modelica_metatype _a_iter_exp = NULL;
modelica_metatype _a_loopVar = NULL;
volatile mmc_switch_type tmp3;
int tmp4;
tmp3 = 0;
for (; tmp3 < 2; tmp3++) {
switch (MMC_SWITCH_CAST(tmp3)) {
case 0: {
if (17 != MMC_STRLEN(tmp3_2) || strcmp(MMC_STRINGDATA(_OMC_LIT311), MMC_STRINGDATA(tmp3_2)) != 0) goto tmp2_end;
_txt = tmp3_1;
_a_loopVar = tmp3_5;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT416);
_txt = omc_Tpl_writeText(threadData, _txt, _a_loopVar);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT273);
tmpMeta[0] = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT89);
goto tmp2_done;
}
case 1: {
_txt = tmp3_1;
_a_arrayType = tmp3_3;
_a_iter_exp = tmp3_4;
_a_loopVar = tmp3_5;
tmpMeta[0] = omc_CodegenCFunctions_fun__1063(threadData, _txt, _a_iter_exp, _a_loopVar, _a_arrayType);
goto tmp2_done;
}
}
goto tmp2_end;
tmp2_end: ;
}
goto goto_1;
goto_1:;
MMC_THROW_INTERNAL();
goto tmp2_done;
tmp2_done:;
}
}
_out_txt = tmpMeta[0];
_return: OMC_LABEL_UNUSED
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__1063(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_iter_exp, modelica_metatype _in_a_loopVar, modelica_metatype _in_a_arrayType)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta[1] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp3_1;modelica_metatype tmp3_2;modelica_metatype tmp3_3;modelica_metatype tmp3_4;
tmp3_1 = _in_txt;
tmp3_2 = _in_a_iter_exp;
tmp3_3 = _in_a_loopVar;
tmp3_4 = _in_a_arrayType;
{
modelica_metatype _txt = NULL;
modelica_metatype _a_loopVar = NULL;
modelica_metatype _a_arrayType = NULL;
volatile mmc_switch_type tmp3;
int tmp4;
tmp3 = 0;
for (; tmp3 < 2; tmp3++) {
switch (MMC_SWITCH_CAST(tmp3)) {
case 0: {
if (mmc__uniontype__metarecord__typedef__equal(tmp3_2,18,4) == 0) goto tmp2_end;
_txt = tmp3_1;
tmpMeta[0] = _txt;
goto tmp2_done;
}
case 1: {
_txt = tmp3_1;
_a_loopVar = tmp3_3;
_a_arrayType = tmp3_4;
_txt = omc_Tpl_writeText(threadData, _txt, _a_arrayType);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT29);
_txt = omc_Tpl_writeText(threadData, _txt, _a_loopVar);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT105);
tmpMeta[0] = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT89);
goto tmp2_done;
}
}
goto tmp2_end;
tmp2_end: ;
}
goto goto_1;
goto_1:;
MMC_THROW_INTERNAL();
goto tmp2_done;
tmp2_done:;
}
}
_out_txt = tmpMeta[0];
_return: OMC_LABEL_UNUSED
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__1062(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_iter_exp, modelica_metatype _in_a_tmpVarDecls, modelica_metatype _in_a_identType, modelica_metatype *out_out_a_tmpVarDecls)
{
modelica_metatype _out_txt = NULL;
modelica_metatype _out_a_tmpVarDecls = NULL;
modelica_metatype tmpMeta[2] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_metatype tmp4_2;modelica_metatype tmp4_3;modelica_metatype tmp4_4;
tmp4_1 = _in_txt;
tmp4_2 = _in_a_iter_exp;
tmp4_3 = _in_a_tmpVarDecls;
tmp4_4 = _in_a_identType;
{
modelica_metatype _txt = NULL;
modelica_metatype _a_tmpVarDecls = NULL;
modelica_metatype _a_identType = NULL;
volatile mmc_switch_type tmp4;
int tmp5;
tmp4 = 0;
for (; tmp4 < 2; tmp4++) {
switch (MMC_SWITCH_CAST(tmp4)) {
case 0: {
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,18,4) == 0) goto tmp3_end;
_txt = tmp4_1;
_a_tmpVarDecls = tmp4_3;
_a_identType = tmp4_4;
tmpMeta[0+0] = omc_CodegenCFunctions_tempDecl(threadData, _txt, omc_Tpl_textString(threadData, _a_identType), _a_tmpVarDecls, &tmpMeta[0+1]);
goto tmp3_done;
}
case 1: {
_txt = tmp4_1;
_a_tmpVarDecls = tmp4_3;
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_tmpVarDecls;
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta[0+0];
_out_a_tmpVarDecls = tmpMeta[0+1];
_return: OMC_LABEL_UNUSED
if (out_out_a_tmpVarDecls) { *out_out_a_tmpVarDecls = _out_a_tmpVarDecls; }
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__1061(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_iter_exp, modelica_metatype _in_a_tmpVarDecls, modelica_metatype _in_a_identType, modelica_metatype *out_out_a_tmpVarDecls)
{
modelica_metatype _out_txt = NULL;
modelica_metatype _out_a_tmpVarDecls = NULL;
modelica_metatype tmpMeta[2] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_metatype tmp4_2;modelica_metatype tmp4_3;modelica_metatype tmp4_4;
tmp4_1 = _in_txt;
tmp4_2 = _in_a_iter_exp;
tmp4_3 = _in_a_tmpVarDecls;
tmp4_4 = _in_a_identType;
{
modelica_metatype _txt = NULL;
modelica_metatype _a_tmpVarDecls = NULL;
modelica_metatype _a_identType = NULL;
volatile mmc_switch_type tmp4;
int tmp5;
tmp4 = 0;
for (; tmp4 < 2; tmp4++) {
switch (MMC_SWITCH_CAST(tmp4)) {
case 0: {
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,18,4) == 0) goto tmp3_end;
_txt = tmp4_1;
_a_tmpVarDecls = tmp4_3;
_a_identType = tmp4_4;
tmpMeta[0+0] = omc_CodegenCFunctions_tempDecl(threadData, _txt, omc_Tpl_textString(threadData, _a_identType), _a_tmpVarDecls, &tmpMeta[0+1]);
goto tmp3_done;
}
case 1: {
_txt = tmp4_1;
_a_tmpVarDecls = tmp4_3;
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_tmpVarDecls;
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta[0+0];
_out_a_tmpVarDecls = tmpMeta[0+1];
_return: OMC_LABEL_UNUSED
if (out_out_a_tmpVarDecls) { *out_out_a_tmpVarDecls = _out_a_tmpVarDecls; }
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__1060(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_iter_exp, modelica_metatype _in_a_iteratorName)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta[1] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp3_1;modelica_metatype tmp3_2;modelica_metatype tmp3_3;
tmp3_1 = _in_txt;
tmp3_2 = _in_a_iter_exp;
tmp3_3 = _in_a_iteratorName;
{
modelica_metatype _txt = NULL;
modelica_metatype _a_iteratorName = NULL;
volatile mmc_switch_type tmp3;
int tmp4;
tmp3 = 0;
for (; tmp3 < 2; tmp3++) {
switch (MMC_SWITCH_CAST(tmp3)) {
case 0: {
if (mmc__uniontype__metarecord__typedef__equal(tmp3_2,18,4) == 0) goto tmp2_end;
_txt = tmp3_1;
_a_iteratorName = tmp3_3;
tmpMeta[0] = omc_Tpl_writeText(threadData, _txt, _a_iteratorName);
goto tmp2_done;
}
case 1: {
_txt = tmp3_1;
_a_iteratorName = tmp3_3;
_txt = omc_Tpl_writeText(threadData, _txt, _a_iteratorName);
tmpMeta[0] = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT308);
goto tmp2_done;
}
}
goto tmp2_end;
tmp2_end: ;
}
goto goto_1;
goto_1:;
MMC_THROW_INTERNAL();
goto tmp2_done;
tmp2_done:;
}
}
_out_txt = tmpMeta[0];
_return: OMC_LABEL_UNUSED
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__1059(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_ri_path, modelica_metatype _in_a_foundFirst, modelica_metatype _in_a_auxFunction, modelica_metatype _in_a_tmpVarDecls, modelica_metatype _in_a_bodyExpPre, modelica_metatype _in_a_context, modelica_metatype _in_a_ri_foldExp, modelica_metatype _in_a_arrayTypeResult, modelica_metatype _in_a_varDecls, modelica_metatype _in_a_arrIndex, modelica_metatype _in_a_r_expr, modelica_metatype _in_a_res, modelica_metatype _in_a_reductionBodyExpr, modelica_metatype _in_a_resTail, modelica_metatype *out_out_a_auxFunction, modelica_metatype *out_out_a_tmpVarDecls, modelica_metatype *out_out_a_bodyExpPre, modelica_metatype *out_out_a_varDecls)
{
modelica_metatype _out_txt = NULL;
modelica_metatype _out_a_auxFunction = NULL;
modelica_metatype _out_a_tmpVarDecls = NULL;
modelica_metatype _out_a_bodyExpPre = NULL;
modelica_metatype _out_a_varDecls = NULL;
modelica_metatype tmpMeta[6] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_metatype tmp4_2;modelica_metatype tmp4_3;modelica_metatype tmp4_4;modelica_metatype tmp4_5;modelica_metatype tmp4_6;modelica_metatype tmp4_7;modelica_metatype tmp4_8;modelica_metatype tmp4_9;modelica_metatype tmp4_10;modelica_metatype tmp4_11;modelica_metatype tmp4_12;modelica_metatype tmp4_13;modelica_metatype tmp4_14;modelica_metatype tmp4_15;
tmp4_1 = _in_txt;
tmp4_2 = _in_a_ri_path;
tmp4_3 = _in_a_foundFirst;
tmp4_4 = _in_a_auxFunction;
tmp4_5 = _in_a_tmpVarDecls;
tmp4_6 = _in_a_bodyExpPre;
tmp4_7 = _in_a_context;
tmp4_8 = _in_a_ri_foldExp;
tmp4_9 = _in_a_arrayTypeResult;
tmp4_10 = _in_a_varDecls;
tmp4_11 = _in_a_arrIndex;
tmp4_12 = _in_a_r_expr;
tmp4_13 = _in_a_res;
tmp4_14 = _in_a_reductionBodyExpr;
tmp4_15 = _in_a_resTail;
{
modelica_metatype _txt = NULL;
modelica_metatype _a_foundFirst = NULL;
modelica_metatype _a_auxFunction = NULL;
modelica_metatype _a_tmpVarDecls = NULL;
modelica_metatype _a_bodyExpPre = NULL;
modelica_metatype _a_context = NULL;
modelica_metatype _a_ri_foldExp = NULL;
modelica_metatype _a_arrayTypeResult = NULL;
modelica_metatype _a_varDecls = NULL;
modelica_metatype _a_arrIndex = NULL;
modelica_metatype _a_r_expr = NULL;
modelica_metatype _a_res = NULL;
modelica_metatype _a_reductionBodyExpr = NULL;
modelica_metatype _a_resTail = NULL;
modelica_metatype _ret_0 = NULL;
volatile mmc_switch_type tmp4;
int tmp5;
tmp4 = 0;
for (; tmp4 < 4; tmp4++) {
switch (MMC_SWITCH_CAST(tmp4)) {
case 0: {
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,1,1) == 0) goto tmp3_end;
tmpMeta[5] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
if (4 != MMC_STRLEN(tmpMeta[5]) || strcmp(MMC_STRINGDATA(_OMC_LIT423), MMC_STRINGDATA(tmpMeta[5])) != 0) goto tmp3_end;
_txt = tmp4_1;
_a_auxFunction = tmp4_4;
_a_tmpVarDecls = tmp4_5;
_a_bodyExpPre = tmp4_6;
_a_varDecls = tmp4_10;
_a_reductionBodyExpr = tmp4_14;
_a_resTail = tmp4_15;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT256);
_txt = omc_Tpl_writeText(threadData, _txt, _a_resTail);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT418);
_txt = omc_Tpl_writeText(threadData, _txt, _a_reductionBodyExpr);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT420);
_txt = omc_Tpl_writeText(threadData, _txt, _a_resTail);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT422);
_txt = omc_Tpl_writeText(threadData, _txt, _a_resTail);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT290);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_auxFunction;
tmpMeta[0+2] = _a_tmpVarDecls;
tmpMeta[0+3] = _a_bodyExpPre;
tmpMeta[0+4] = _a_varDecls;
goto tmp3_done;
}
case 1: {
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,1,1) == 0) goto tmp3_end;
tmpMeta[5] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
if (11 != MMC_STRLEN(tmpMeta[5]) || strcmp(MMC_STRINGDATA(_OMC_LIT424), MMC_STRINGDATA(tmpMeta[5])) != 0) goto tmp3_end;
_txt = tmp4_1;
_a_auxFunction = tmp4_4;
_a_tmpVarDecls = tmp4_5;
_a_bodyExpPre = tmp4_6;
_a_varDecls = tmp4_10;
_a_res = tmp4_13;
_a_reductionBodyExpr = tmp4_14;
_txt = omc_Tpl_writeText(threadData, _txt, _a_res);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT418);
_txt = omc_Tpl_writeText(threadData, _txt, _a_reductionBodyExpr);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT226);
_txt = omc_Tpl_writeText(threadData, _txt, _a_res);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT290);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_auxFunction;
tmpMeta[0+2] = _a_tmpVarDecls;
tmpMeta[0+3] = _a_bodyExpPre;
tmpMeta[0+4] = _a_varDecls;
goto tmp3_done;
}
case 2: {
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,1,1) == 0) goto tmp3_end;
tmpMeta[5] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
if (5 != MMC_STRLEN(tmpMeta[5]) || strcmp(MMC_STRINGDATA(_OMC_LIT276), MMC_STRINGDATA(tmpMeta[5])) != 0) goto tmp3_end;
_txt = tmp4_1;
_a_auxFunction = tmp4_4;
_a_tmpVarDecls = tmp4_5;
_a_bodyExpPre = tmp4_6;
_a_arrayTypeResult = tmp4_9;
_a_varDecls = tmp4_10;
_a_arrIndex = tmp4_11;
_a_r_expr = tmp4_12;
_a_res = tmp4_13;
_a_reductionBodyExpr = tmp4_14;
_ret_0 = omc_Expression_typeof(threadData, _a_r_expr);
_txt = omc_CodegenCFunctions_fun__1056(threadData, _txt, _ret_0, _a_arrayTypeResult, _a_varDecls, _a_reductionBodyExpr, _a_arrIndex, _a_res ,&_a_varDecls);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_auxFunction;
tmpMeta[0+2] = _a_tmpVarDecls;
tmpMeta[0+3] = _a_bodyExpPre;
tmpMeta[0+4] = _a_varDecls;
goto tmp3_done;
}
case 3: {
_txt = tmp4_1;
_a_foundFirst = tmp4_3;
_a_auxFunction = tmp4_4;
_a_tmpVarDecls = tmp4_5;
_a_bodyExpPre = tmp4_6;
_a_context = tmp4_7;
_a_ri_foldExp = tmp4_8;
_a_varDecls = tmp4_10;
_a_res = tmp4_13;
_a_reductionBodyExpr = tmp4_14;
_txt = omc_CodegenCFunctions_fun__1058(threadData, _txt, _a_ri_foldExp, _a_reductionBodyExpr, _a_res, _a_foundFirst, _a_auxFunction, _a_tmpVarDecls, _a_bodyExpPre, _a_context ,&_a_auxFunction ,&_a_tmpVarDecls ,&_a_bodyExpPre);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_auxFunction;
tmpMeta[0+2] = _a_tmpVarDecls;
tmpMeta[0+3] = _a_bodyExpPre;
tmpMeta[0+4] = _a_varDecls;
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta[0+0];
_out_a_auxFunction = tmpMeta[0+1];
_out_a_tmpVarDecls = tmpMeta[0+2];
_out_a_bodyExpPre = tmpMeta[0+3];
_out_a_varDecls = tmpMeta[0+4];
_return: OMC_LABEL_UNUSED
if (out_out_a_auxFunction) { *out_out_a_auxFunction = _out_a_auxFunction; }
if (out_out_a_tmpVarDecls) { *out_out_a_tmpVarDecls = _out_a_tmpVarDecls; }
if (out_out_a_bodyExpPre) { *out_out_a_bodyExpPre = _out_a_bodyExpPre; }
if (out_out_a_varDecls) { *out_out_a_varDecls = _out_a_varDecls; }
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__1058(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_ri_foldExp, modelica_metatype _in_a_reductionBodyExpr, modelica_metatype _in_a_res, modelica_metatype _in_a_foundFirst, modelica_metatype _in_a_auxFunction, modelica_metatype _in_a_tmpVarDecls, modelica_metatype _in_a_bodyExpPre, modelica_metatype _in_a_context, modelica_metatype *out_out_a_auxFunction, modelica_metatype *out_out_a_tmpVarDecls, modelica_metatype *out_out_a_bodyExpPre)
{
modelica_metatype _out_txt = NULL;
modelica_metatype _out_a_auxFunction = NULL;
modelica_metatype _out_a_tmpVarDecls = NULL;
modelica_metatype _out_a_bodyExpPre = NULL;
modelica_metatype tmpMeta[5] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_metatype tmp4_2;modelica_metatype tmp4_3;modelica_metatype tmp4_4;modelica_metatype tmp4_5;modelica_metatype tmp4_6;modelica_metatype tmp4_7;modelica_metatype tmp4_8;modelica_metatype tmp4_9;
tmp4_1 = _in_txt;
tmp4_2 = _in_a_ri_foldExp;
tmp4_3 = _in_a_reductionBodyExpr;
tmp4_4 = _in_a_res;
tmp4_5 = _in_a_foundFirst;
tmp4_6 = _in_a_auxFunction;
tmp4_7 = _in_a_tmpVarDecls;
tmp4_8 = _in_a_bodyExpPre;
tmp4_9 = _in_a_context;
{
modelica_metatype _txt = NULL;
modelica_metatype _a_reductionBodyExpr = NULL;
modelica_metatype _a_res = NULL;
modelica_metatype _a_foundFirst = NULL;
modelica_metatype _a_auxFunction = NULL;
modelica_metatype _a_tmpVarDecls = NULL;
modelica_metatype _a_bodyExpPre = NULL;
modelica_metatype _a_context = NULL;
modelica_metatype _i_fExp = NULL;
modelica_metatype _l_fExpStr = NULL;
volatile mmc_switch_type tmp4;
int tmp5;
tmp4 = 0;
for (; tmp4 < 2; tmp4++) {
switch (MMC_SWITCH_CAST(tmp4)) {
case 0: {
if (optionNone(tmp4_2)) goto tmp3_end;
tmpMeta[4] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 1));
_i_fExp = tmpMeta[4];
_txt = tmp4_1;
_a_reductionBodyExpr = tmp4_3;
_a_res = tmp4_4;
_a_foundFirst = tmp4_5;
_a_auxFunction = tmp4_6;
_a_tmpVarDecls = tmp4_7;
_a_bodyExpPre = tmp4_8;
_a_context = tmp4_9;
_l_fExpStr = omc_CodegenCFunctions_daeExp(threadData, _OMC_LIT20, _i_fExp, _a_context, _a_bodyExpPre, _a_tmpVarDecls, _a_auxFunction ,&_a_bodyExpPre ,&_a_tmpVarDecls ,&_a_auxFunction);
_txt = omc_CodegenCFunctions_fun__1057(threadData, _txt, _a_foundFirst, _a_reductionBodyExpr, _l_fExpStr, _a_res);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_auxFunction;
tmpMeta[0+2] = _a_tmpVarDecls;
tmpMeta[0+3] = _a_bodyExpPre;
goto tmp3_done;
}
case 1: {
_txt = tmp4_1;
_a_auxFunction = tmp4_6;
_a_tmpVarDecls = tmp4_7;
_a_bodyExpPre = tmp4_8;
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_auxFunction;
tmpMeta[0+2] = _a_tmpVarDecls;
tmpMeta[0+3] = _a_bodyExpPre;
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta[0+0];
_out_a_auxFunction = tmpMeta[0+1];
_out_a_tmpVarDecls = tmpMeta[0+2];
_out_a_bodyExpPre = tmpMeta[0+3];
_return: OMC_LABEL_UNUSED
if (out_out_a_auxFunction) { *out_out_a_auxFunction = _out_a_auxFunction; }
if (out_out_a_tmpVarDecls) { *out_out_a_tmpVarDecls = _out_a_tmpVarDecls; }
if (out_out_a_bodyExpPre) { *out_out_a_bodyExpPre = _out_a_bodyExpPre; }
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__1057(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_foundFirst, modelica_metatype _in_a_reductionBodyExpr, modelica_metatype _in_a_fExpStr, modelica_metatype _in_a_res)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta[2] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp3_1;modelica_metatype tmp3_2;modelica_metatype tmp3_3;modelica_metatype tmp3_4;modelica_metatype tmp3_5;
tmp3_1 = _in_txt;
tmp3_2 = _in_a_foundFirst;
tmp3_3 = _in_a_reductionBodyExpr;
tmp3_4 = _in_a_fExpStr;
tmp3_5 = _in_a_res;
{
modelica_metatype _txt = NULL;
modelica_metatype _a_reductionBodyExpr = NULL;
modelica_metatype _a_fExpStr = NULL;
modelica_metatype _a_res = NULL;
modelica_metatype _i_foundFirst = NULL;
volatile mmc_switch_type tmp3;
int tmp4;
tmp3 = 0;
for (; tmp3 < 2; tmp3++) {
switch (MMC_SWITCH_CAST(tmp3)) {
case 0: {
if (mmc__uniontype__metarecord__typedef__equal(tmp3_2,0,2) == 0) goto tmp2_end;
tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_2), 2));
if (!listEmpty(tmpMeta[1])) goto tmp2_end;
_txt = tmp3_1;
_a_fExpStr = tmp3_4;
_a_res = tmp3_5;
_txt = omc_Tpl_writeText(threadData, _txt, _a_res);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT121);
_txt = omc_Tpl_writeText(threadData, _txt, _a_fExpStr);
tmpMeta[0] = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT105);
goto tmp2_done;
}
case 1: {
_txt = tmp3_1;
_i_foundFirst = tmp3_2;
_a_reductionBodyExpr = tmp3_3;
_a_fExpStr = tmp3_4;
_a_res = tmp3_5;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT346);
_txt = omc_Tpl_writeText(threadData, _txt, _i_foundFirst);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT428);
_txt = omc_Tpl_pushBlock(threadData, _txt, _OMC_LIT97);
_txt = omc_Tpl_writeText(threadData, _txt, _a_res);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT121);
_txt = omc_Tpl_writeText(threadData, _txt, _a_fExpStr);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT161);
_txt = omc_Tpl_popBlock(threadData, _txt);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT432);
_txt = omc_Tpl_pushBlock(threadData, _txt, _OMC_LIT97);
_txt = omc_Tpl_writeText(threadData, _txt, _a_res);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT121);
_txt = omc_Tpl_writeText(threadData, _txt, _a_reductionBodyExpr);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT161);
_txt = omc_Tpl_writeText(threadData, _txt, _i_foundFirst);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT275);
_txt = omc_Tpl_popBlock(threadData, _txt);
tmpMeta[0] = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT103);
goto tmp2_done;
}
}
goto tmp2_end;
tmp2_end: ;
}
goto goto_1;
goto_1:;
MMC_THROW_INTERNAL();
goto tmp2_done;
tmp2_done:;
}
}
_out_txt = tmpMeta[0];
_return: OMC_LABEL_UNUSED
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__1056(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_mArg, modelica_metatype _in_a_arrayTypeResult, modelica_metatype _in_a_varDecls, modelica_metatype _in_a_reductionBodyExpr, modelica_metatype _in_a_arrIndex, modelica_metatype _in_a_res, modelica_metatype *out_out_a_varDecls)
{
modelica_metatype _out_txt = NULL;
modelica_metatype _out_a_varDecls = NULL;
modelica_metatype tmpMeta[4] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_metatype tmp4_2;modelica_metatype tmp4_3;modelica_metatype tmp4_4;modelica_metatype tmp4_5;modelica_metatype tmp4_6;modelica_metatype tmp4_7;
tmp4_1 = _in_txt;
tmp4_2 = _in_mArg;
tmp4_3 = _in_a_arrayTypeResult;
tmp4_4 = _in_a_varDecls;
tmp4_5 = _in_a_reductionBodyExpr;
tmp4_6 = _in_a_arrIndex;
tmp4_7 = _in_a_res;
{
modelica_metatype _txt = NULL;
modelica_metatype _a_arrayTypeResult = NULL;
modelica_metatype _a_varDecls = NULL;
modelica_metatype _a_reductionBodyExpr = NULL;
modelica_metatype _a_arrIndex = NULL;
modelica_metatype _a_res = NULL;
modelica_metatype _i_ty = NULL;
modelica_metatype _i_dims = NULL;
modelica_metatype _i_record__state = NULL;
modelica_metatype _l_idx__str = NULL;
modelica_integer _ret_5;
modelica_integer _ret_4;
modelica_metatype _l_nridx__str = NULL;
modelica_metatype _l_tmp = NULL;
modelica_metatype _ret_1 = NULL;
modelica_metatype _l_rec__name = NULL;
int tmp4;
{
switch (MMC_SWITCH_CAST(valueConstructor(tmp4_2))) {
case 12: {
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,9,3) == 0) goto tmp3_end;
tmpMeta[2] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
_i_record__state = tmpMeta[2];
_txt = tmp4_1;
_a_varDecls = tmp4_4;
_a_reductionBodyExpr = tmp4_5;
_a_arrIndex = tmp4_6;
_a_res = tmp4_7;
_ret_1 = omc_ClassInf_getStateName(threadData, _i_record__state);
_l_rec__name = omc_CodegenUtil_underscorePath(threadData, _OMC_LIT20, _ret_1);
_txt = omc_Tpl_writeText(threadData, _txt, _l_rec__name);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT349);
_txt = omc_Tpl_writeText(threadData, _txt, _a_res);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT351);
_txt = omc_Tpl_writeText(threadData, _txt, _a_arrIndex);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT434);
_txt = omc_Tpl_writeText(threadData, _txt, _a_reductionBodyExpr);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT105);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_varDecls;
goto tmp3_done;
}
case 9: {
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,6,2) == 0) goto tmp3_end;
tmpMeta[2] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
tmpMeta[3] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 3));
_i_ty = tmpMeta[2];
_i_dims = tmpMeta[3];
_txt = tmp4_1;
_a_varDecls = tmp4_4;
_a_reductionBodyExpr = tmp4_5;
_a_arrIndex = tmp4_6;
_a_res = tmp4_7;
_l_tmp = omc_CodegenCFunctions_tempDecl(threadData, _OMC_LIT20, _OMC_LIT435, _a_varDecls ,&_a_varDecls);
_ret_4 = listLength(_i_dims);
_ret_5 = ((modelica_integer) 1) + _ret_4;
_l_nridx__str = omc_Tpl_writeStr(threadData, _OMC_LIT20, intString(_ret_5));
_l_idx__str = omc_CodegenCFunctions_lm__1055(threadData, _OMC_LIT20, _i_dims);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT437);
_txt = omc_Tpl_writeText(threadData, _txt, _l_tmp);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT292);
_txt = omc_Tpl_writeText(threadData, _txt, _l_nridx__str);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT439);
_txt = omc_Tpl_writeText(threadData, _txt, _a_arrIndex);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT441);
_txt = omc_Tpl_writeText(threadData, _txt, _l_idx__str);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT445);
_txt = omc_CodegenCFunctions_expTypeArray(threadData, _txt, _i_ty);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT68);
_txt = omc_Tpl_writeText(threadData, _txt, _a_reductionBodyExpr);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT123);
_txt = omc_Tpl_writeText(threadData, _txt, _a_res);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT123);
_txt = omc_Tpl_writeText(threadData, _txt, _l_tmp);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT290);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_varDecls;
goto tmp3_done;
}
default:
tmp3_default: OMC_LABEL_UNUSED; {
_txt = tmp4_1;
_a_arrayTypeResult = tmp4_3;
_a_varDecls = tmp4_4;
_a_reductionBodyExpr = tmp4_5;
_a_arrIndex = tmp4_6;
_a_res = tmp4_7;
_txt = omc_Tpl_writeText(threadData, _txt, _a_arrayTypeResult);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT355);
_txt = omc_Tpl_writeText(threadData, _txt, _a_res);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT351);
_txt = omc_Tpl_writeText(threadData, _txt, _a_arrIndex);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT434);
_txt = omc_Tpl_writeText(threadData, _txt, _a_reductionBodyExpr);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT105);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_varDecls;
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta[0+0];
_out_a_varDecls = tmpMeta[0+1];
_return: OMC_LABEL_UNUSED
if (out_out_a_varDecls) { *out_out_a_varDecls = _out_a_varDecls; }
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_lm__1055(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_items)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta[3] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp3_1;modelica_metatype tmp3_2;
tmp3_1 = _in_txt;
tmp3_2 = _in_items;
{
modelica_metatype _txt = NULL;
modelica_metatype _rest = NULL;
volatile mmc_switch_type tmp3;
int tmp4;
tmp3 = 0;
for (; tmp3 < 2; tmp3++) {
switch (MMC_SWITCH_CAST(tmp3)) {
case 0: {
if (!listEmpty(tmp3_2)) goto tmp2_end;
_txt = tmp3_1;
tmpMeta[0] = _txt;
goto tmp2_done;
}
case 1: {
if (listEmpty(tmp3_2)) goto tmp2_end;
tmpMeta[1] = MMC_CAR(tmp3_2);
tmpMeta[2] = MMC_CDR(tmp3_2);
_rest = tmpMeta[2];
_txt = tmp3_1;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT447);
_in_txt = _txt;
_in_items = _rest;
goto _tailrecursive;
goto tmp2_done;
}
}
goto tmp2_end;
tmp2_end: ;
}
goto goto_1;
goto_1:;
MMC_THROW_INTERNAL();
goto tmp2_done;
tmp2_done:;
}
}
_out_txt = tmpMeta[0];
_return: OMC_LABEL_UNUSED
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__1054(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_ri_path, modelica_metatype _in_a_auxFunction, modelica_metatype _in_a_tmpVarDecls, modelica_metatype _in_a_preDefault, modelica_metatype _in_a_context, modelica_metatype _in_a_ri_defaultValue, modelica_metatype *out_out_a_auxFunction, modelica_metatype *out_out_a_tmpVarDecls, modelica_metatype *out_out_a_preDefault)
{
modelica_metatype _out_txt = NULL;
modelica_metatype _out_a_auxFunction = NULL;
modelica_metatype _out_a_tmpVarDecls = NULL;
modelica_metatype _out_a_preDefault = NULL;
modelica_metatype tmpMeta[5] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_metatype tmp4_2;modelica_metatype tmp4_3;modelica_metatype tmp4_4;modelica_metatype tmp4_5;modelica_metatype tmp4_6;modelica_metatype tmp4_7;
tmp4_1 = _in_txt;
tmp4_2 = _in_a_ri_path;
tmp4_3 = _in_a_auxFunction;
tmp4_4 = _in_a_tmpVarDecls;
tmp4_5 = _in_a_preDefault;
tmp4_6 = _in_a_context;
tmp4_7 = _in_a_ri_defaultValue;
{
modelica_metatype _txt = NULL;
modelica_metatype _a_auxFunction = NULL;
modelica_metatype _a_tmpVarDecls = NULL;
modelica_metatype _a_preDefault = NULL;
modelica_metatype _a_context = NULL;
modelica_metatype _a_ri_defaultValue = NULL;
volatile mmc_switch_type tmp4;
int tmp5;
tmp4 = 0;
for (; tmp4 < 2; tmp4++) {
switch (MMC_SWITCH_CAST(tmp4)) {
case 0: {
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,1,1) == 0) goto tmp3_end;
tmpMeta[4] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
if (5 != MMC_STRLEN(tmpMeta[4]) || strcmp(MMC_STRINGDATA(_OMC_LIT276), MMC_STRINGDATA(tmpMeta[4])) != 0) goto tmp3_end;
_txt = tmp4_1;
_a_auxFunction = tmp4_3;
_a_tmpVarDecls = tmp4_4;
_a_preDefault = tmp4_5;
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_auxFunction;
tmpMeta[0+2] = _a_tmpVarDecls;
tmpMeta[0+3] = _a_preDefault;
goto tmp3_done;
}
case 1: {
_txt = tmp4_1;
_a_auxFunction = tmp4_3;
_a_tmpVarDecls = tmp4_4;
_a_preDefault = tmp4_5;
_a_context = tmp4_6;
_a_ri_defaultValue = tmp4_7;
tmpMeta[0+0] = omc_CodegenCFunctions_fun__1053(threadData, _txt, _a_ri_defaultValue, _a_auxFunction, _a_tmpVarDecls, _a_preDefault, _a_context, &tmpMeta[0+1], &tmpMeta[0+2], &tmpMeta[0+3]);
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta[0+0];
_out_a_auxFunction = tmpMeta[0+1];
_out_a_tmpVarDecls = tmpMeta[0+2];
_out_a_preDefault = tmpMeta[0+3];
_return: OMC_LABEL_UNUSED
if (out_out_a_auxFunction) { *out_out_a_auxFunction = _out_a_auxFunction; }
if (out_out_a_tmpVarDecls) { *out_out_a_tmpVarDecls = _out_a_tmpVarDecls; }
if (out_out_a_preDefault) { *out_out_a_preDefault = _out_a_preDefault; }
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__1053(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_ri_defaultValue, modelica_metatype _in_a_auxFunction, modelica_metatype _in_a_tmpVarDecls, modelica_metatype _in_a_preDefault, modelica_metatype _in_a_context, modelica_metatype *out_out_a_auxFunction, modelica_metatype *out_out_a_tmpVarDecls, modelica_metatype *out_out_a_preDefault)
{
modelica_metatype _out_txt = NULL;
modelica_metatype _out_a_auxFunction = NULL;
modelica_metatype _out_a_tmpVarDecls = NULL;
modelica_metatype _out_a_preDefault = NULL;
modelica_metatype tmpMeta[5] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_metatype tmp4_2;modelica_metatype tmp4_3;modelica_metatype tmp4_4;modelica_metatype tmp4_5;modelica_metatype tmp4_6;
tmp4_1 = _in_txt;
tmp4_2 = _in_a_ri_defaultValue;
tmp4_3 = _in_a_auxFunction;
tmp4_4 = _in_a_tmpVarDecls;
tmp4_5 = _in_a_preDefault;
tmp4_6 = _in_a_context;
{
modelica_metatype _txt = NULL;
modelica_metatype _a_auxFunction = NULL;
modelica_metatype _a_tmpVarDecls = NULL;
modelica_metatype _a_preDefault = NULL;
modelica_metatype _a_context = NULL;
modelica_metatype _i_v = NULL;
modelica_metatype _ret_0 = NULL;
volatile mmc_switch_type tmp4;
int tmp5;
tmp4 = 0;
for (; tmp4 < 2; tmp4++) {
switch (MMC_SWITCH_CAST(tmp4)) {
case 0: {
if (optionNone(tmp4_2)) goto tmp3_end;
tmpMeta[4] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 1));
_i_v = tmpMeta[4];
_txt = tmp4_1;
_a_auxFunction = tmp4_3;
_a_tmpVarDecls = tmp4_4;
_a_preDefault = tmp4_5;
_a_context = tmp4_6;
_ret_0 = omc_ValuesUtil_valueExp(threadData, _i_v, mmc_mk_none());
_txt = omc_CodegenCFunctions_daeExp(threadData, _txt, _ret_0, _a_context, _a_preDefault, _a_tmpVarDecls, _a_auxFunction ,&_a_preDefault ,&_a_tmpVarDecls ,&_a_auxFunction);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_auxFunction;
tmpMeta[0+2] = _a_tmpVarDecls;
tmpMeta[0+3] = _a_preDefault;
goto tmp3_done;
}
case 1: {
_txt = tmp4_1;
_a_auxFunction = tmp4_3;
_a_tmpVarDecls = tmp4_4;
_a_preDefault = tmp4_5;
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_auxFunction;
tmpMeta[0+2] = _a_tmpVarDecls;
tmpMeta[0+3] = _a_preDefault;
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta[0+0];
_out_a_auxFunction = tmpMeta[0+1];
_out_a_tmpVarDecls = tmpMeta[0+2];
_out_a_preDefault = tmpMeta[0+3];
_return: OMC_LABEL_UNUSED
if (out_out_a_auxFunction) { *out_out_a_auxFunction = _out_a_auxFunction; }
if (out_out_a_tmpVarDecls) { *out_out_a_tmpVarDecls = _out_a_tmpVarDecls; }
if (out_out_a_preDefault) { *out_out_a_preDefault = _out_a_preDefault; }
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__1052(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_ri_path, modelica_metatype _in_a_tmpVarDecls, modelica_metatype *out_out_a_tmpVarDecls)
{
modelica_metatype _out_txt = NULL;
modelica_metatype _out_a_tmpVarDecls = NULL;
modelica_metatype tmpMeta[3] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_metatype tmp4_2;modelica_metatype tmp4_3;
tmp4_1 = _in_txt;
tmp4_2 = _in_a_ri_path;
tmp4_3 = _in_a_tmpVarDecls;
{
modelica_metatype _txt = NULL;
modelica_metatype _a_tmpVarDecls = NULL;
volatile mmc_switch_type tmp4;
int tmp5;
tmp4 = 0;
for (; tmp4 < 2; tmp4++) {
switch (MMC_SWITCH_CAST(tmp4)) {
case 0: {
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,1,1) == 0) goto tmp3_end;
tmpMeta[2] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
if (4 != MMC_STRLEN(tmpMeta[2]) || strcmp(MMC_STRINGDATA(_OMC_LIT423), MMC_STRINGDATA(tmpMeta[2])) != 0) goto tmp3_end;
_txt = tmp4_1;
_a_tmpVarDecls = tmp4_3;
tmpMeta[0+0] = omc_CodegenCFunctions_tempDecl(threadData, _txt, _OMC_LIT448, _a_tmpVarDecls, &tmpMeta[0+1]);
goto tmp3_done;
}
case 1: {
_txt = tmp4_1;
_a_tmpVarDecls = tmp4_3;
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_tmpVarDecls;
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta[0+0];
_out_a_tmpVarDecls = tmpMeta[0+1];
_return: OMC_LABEL_UNUSED
if (out_out_a_tmpVarDecls) { *out_out_a_tmpVarDecls = _out_a_tmpVarDecls; }
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__1051(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_ri_path, modelica_metatype _in_a_tmpVarDecls, modelica_metatype _in_a_ri_defaultValue, modelica_metatype *out_out_a_tmpVarDecls)
{
modelica_metatype _out_txt = NULL;
modelica_metatype _out_a_tmpVarDecls = NULL;
modelica_metatype tmpMeta[3] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_metatype tmp4_2;modelica_metatype tmp4_3;modelica_metatype tmp4_4;
tmp4_1 = _in_txt;
tmp4_2 = _in_a_ri_path;
tmp4_3 = _in_a_tmpVarDecls;
tmp4_4 = _in_a_ri_defaultValue;
{
modelica_metatype _txt = NULL;
modelica_metatype _a_tmpVarDecls = NULL;
modelica_metatype _a_ri_defaultValue = NULL;
volatile mmc_switch_type tmp4;
int tmp5;
tmp4 = 0;
for (; tmp4 < 2; tmp4++) {
switch (MMC_SWITCH_CAST(tmp4)) {
case 0: {
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,1,1) == 0) goto tmp3_end;
tmpMeta[2] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
if (5 != MMC_STRLEN(tmpMeta[2]) || strcmp(MMC_STRINGDATA(_OMC_LIT276), MMC_STRINGDATA(tmpMeta[2])) != 0) goto tmp3_end;
_txt = tmp4_1;
_a_tmpVarDecls = tmp4_3;
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_tmpVarDecls;
goto tmp3_done;
}
case 1: {
_txt = tmp4_1;
_a_tmpVarDecls = tmp4_3;
_a_ri_defaultValue = tmp4_4;
tmpMeta[0+0] = omc_CodegenCFunctions_fun__1050(threadData, _txt, _a_ri_defaultValue, _a_tmpVarDecls, &tmpMeta[0+1]);
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta[0+0];
_out_a_tmpVarDecls = tmpMeta[0+1];
_return: OMC_LABEL_UNUSED
if (out_out_a_tmpVarDecls) { *out_out_a_tmpVarDecls = _out_a_tmpVarDecls; }
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__1050(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_ri_defaultValue, modelica_metatype _in_a_tmpVarDecls, modelica_metatype *out_out_a_tmpVarDecls)
{
modelica_metatype _out_txt = NULL;
modelica_metatype _out_a_tmpVarDecls = NULL;
modelica_metatype tmpMeta[2] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_metatype tmp4_2;modelica_metatype tmp4_3;
tmp4_1 = _in_txt;
tmp4_2 = _in_a_ri_defaultValue;
tmp4_3 = _in_a_tmpVarDecls;
{
modelica_metatype _txt = NULL;
modelica_metatype _a_tmpVarDecls = NULL;
volatile mmc_switch_type tmp4;
int tmp5;
tmp4 = 0;
for (; tmp4 < 2; tmp4++) {
switch (MMC_SWITCH_CAST(tmp4)) {
case 0: {
if (!optionNone(tmp4_2)) goto tmp3_end;
_txt = tmp4_1;
_a_tmpVarDecls = tmp4_3;
tmpMeta[0+0] = omc_CodegenCFunctions_tempDecl(threadData, _txt, _OMC_LIT140, _a_tmpVarDecls, &tmpMeta[0+1]);
goto tmp3_done;
}
case 1: {
_txt = tmp4_1;
_a_tmpVarDecls = tmp4_3;
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_tmpVarDecls;
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta[0+0];
_out_a_tmpVarDecls = tmpMeta[0+1];
_return: OMC_LABEL_UNUSED
if (out_out_a_tmpVarDecls) { *out_out_a_tmpVarDecls = _out_a_tmpVarDecls; }
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__1049(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_ri_path, modelica_metatype _in_a_tmpVarDecls, modelica_metatype *out_out_a_tmpVarDecls)
{
modelica_metatype _out_txt = NULL;
modelica_metatype _out_a_tmpVarDecls = NULL;
modelica_metatype tmpMeta[3] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_metatype tmp4_2;modelica_metatype tmp4_3;
tmp4_1 = _in_txt;
tmp4_2 = _in_a_ri_path;
tmp4_3 = _in_a_tmpVarDecls;
{
modelica_metatype _txt = NULL;
modelica_metatype _a_tmpVarDecls = NULL;
volatile mmc_switch_type tmp4;
int tmp5;
tmp4 = 0;
for (; tmp4 < 2; tmp4++) {
switch (MMC_SWITCH_CAST(tmp4)) {
case 0: {
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,1,1) == 0) goto tmp3_end;
tmpMeta[2] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
if (5 != MMC_STRLEN(tmpMeta[2]) || strcmp(MMC_STRINGDATA(_OMC_LIT276), MMC_STRINGDATA(tmpMeta[2])) != 0) goto tmp3_end;
_txt = tmp4_1;
_a_tmpVarDecls = tmp4_3;
tmpMeta[0+0] = omc_CodegenCFunctions_tempDecl(threadData, _txt, _OMC_LIT140, _a_tmpVarDecls, &tmpMeta[0+1]);
goto tmp3_done;
}
case 1: {
_txt = tmp4_1;
_a_tmpVarDecls = tmp4_3;
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_tmpVarDecls;
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta[0+0];
_out_a_tmpVarDecls = tmpMeta[0+1];
_return: OMC_LABEL_UNUSED
if (out_out_a_tmpVarDecls) { *out_out_a_tmpVarDecls = _out_a_tmpVarDecls; }
return _out_txt;
}
DLLExport
modelica_metatype omc_CodegenCFunctions_daeExpSize(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_exp, modelica_metatype _in_a_context, modelica_metatype _in_a_preExp, modelica_metatype _in_a_varDecls, modelica_metatype _in_a_auxFunction, modelica_metatype *out_out_a_preExp, modelica_metatype *out_out_a_varDecls, modelica_metatype *out_out_a_auxFunction)
{
modelica_metatype _out_txt = NULL;
modelica_metatype _out_a_preExp = NULL;
modelica_metatype _out_a_varDecls = NULL;
modelica_metatype _out_a_auxFunction = NULL;
modelica_metatype tmpMeta[7] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_metatype tmp4_2;modelica_metatype tmp4_3;modelica_metatype tmp4_4;modelica_metatype tmp4_5;modelica_metatype tmp4_6;
tmp4_1 = _in_txt;
tmp4_2 = _in_a_exp;
tmp4_3 = _in_a_context;
tmp4_4 = _in_a_preExp;
tmp4_5 = _in_a_varDecls;
tmp4_6 = _in_a_auxFunction;
{
modelica_metatype _txt = NULL;
modelica_metatype _a_context = NULL;
modelica_metatype _a_preExp = NULL;
modelica_metatype _a_varDecls = NULL;
modelica_metatype _a_auxFunction = NULL;
modelica_metatype _i_dim = NULL;
modelica_metatype _i_exp = NULL;
modelica_metatype _txt_3 = NULL;
modelica_metatype _l_resVar = NULL;
modelica_metatype _l_dimPart = NULL;
modelica_metatype _l_expPart = NULL;
volatile mmc_switch_type tmp4;
int tmp5;
tmp4 = 0;
for (; tmp4 < 3; tmp4++) {
switch (MMC_SWITCH_CAST(tmp4)) {
case 0: {
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,24,2) == 0) goto tmp3_end;
tmpMeta[4] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
tmpMeta[5] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 3));
if (optionNone(tmpMeta[5])) goto tmp3_end;
tmpMeta[6] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[5]), 1));
_i_exp = tmpMeta[4];
_i_dim = tmpMeta[6];
_txt = tmp4_1;
_a_context = tmp4_3;
_a_preExp = tmp4_4;
_a_varDecls = tmp4_5;
_a_auxFunction = tmp4_6;
_l_expPart = omc_CodegenCFunctions_daeExp(threadData, _OMC_LIT20, _i_exp, _a_context, _a_preExp, _a_varDecls, _a_auxFunction ,&_a_preExp ,&_a_varDecls ,&_a_auxFunction);
_l_dimPart = omc_CodegenCFunctions_daeExp(threadData, _OMC_LIT20, _i_dim, _a_context, _a_preExp, _a_varDecls, _a_auxFunction ,&_a_preExp ,&_a_varDecls ,&_a_auxFunction);
_l_resVar = omc_CodegenCFunctions_tempDecl(threadData, _OMC_LIT20, _OMC_LIT449, _a_varDecls ,&_a_varDecls);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _l_resVar);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT451);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _l_expPart);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT292);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _l_dimPart);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT290);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT89);
_txt = omc_Tpl_writeText(threadData, _txt, _l_resVar);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_preExp;
tmpMeta[0+2] = _a_varDecls;
tmpMeta[0+3] = _a_auxFunction;
goto tmp3_done;
}
case 1: {
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,24,2) == 0) goto tmp3_end;
tmpMeta[4] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
tmpMeta[5] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 3));
if (!optionNone(tmpMeta[5])) goto tmp3_end;
_i_exp = tmpMeta[4];
_txt = tmp4_1;
_a_context = tmp4_3;
_a_preExp = tmp4_4;
_a_varDecls = tmp4_5;
_a_auxFunction = tmp4_6;
_l_expPart = omc_CodegenCFunctions_daeExp(threadData, _OMC_LIT20, _i_exp, _a_context, _a_preExp, _a_varDecls, _a_auxFunction ,&_a_preExp ,&_a_varDecls ,&_a_auxFunction);
_l_resVar = omc_CodegenCFunctions_tempDecl(threadData, _OMC_LIT20, _OMC_LIT452, _a_varDecls ,&_a_varDecls);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT454);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _l_expPart);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT123);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _l_resVar);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT290);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT89);
_txt = omc_Tpl_writeText(threadData, _txt, _l_resVar);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_preExp;
tmpMeta[0+2] = _a_varDecls;
tmpMeta[0+3] = _a_auxFunction;
goto tmp3_done;
}
case 2: {
_txt = tmp4_1;
_i_exp = tmp4_2;
_a_preExp = tmp4_4;
_a_varDecls = tmp4_5;
_a_auxFunction = tmp4_6;
_txt_3 = omc_ExpressionDumpTpl_dumpExp(threadData, _OMC_LIT20, _i_exp, _OMC_LIT231);
_txt_3 = omc_Tpl_writeTok(threadData, _txt_3, _OMC_LIT456);
_txt = omc_CodegenUtil_error(threadData, _txt, omc_Tpl_sourceInfo(threadData, _OMC_LIT27, ((modelica_integer) 6998), ((modelica_integer) 14)), omc_Tpl_textString(threadData, _txt_3));
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_preExp;
tmpMeta[0+2] = _a_varDecls;
tmpMeta[0+3] = _a_auxFunction;
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta[0+0];
_out_a_preExp = tmpMeta[0+1];
_out_a_varDecls = tmpMeta[0+2];
_out_a_auxFunction = tmpMeta[0+3];
_return: OMC_LABEL_UNUSED
if (out_out_a_preExp) { *out_out_a_preExp = _out_a_preExp; }
if (out_out_a_varDecls) { *out_out_a_varDecls = _out_a_varDecls; }
if (out_out_a_auxFunction) { *out_out_a_auxFunction = _out_a_auxFunction; }
return _out_txt;
}
DLLExport
modelica_metatype omc_CodegenCFunctions_daeExpCallPre(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_exp, modelica_metatype _in_a_context, modelica_metatype _in_a_preExp, modelica_metatype _in_a_varDecls, modelica_metatype _in_a_auxFunction, modelica_metatype *out_out_a_preExp, modelica_metatype *out_out_a_varDecls, modelica_metatype *out_out_a_auxFunction)
{
modelica_metatype _out_txt = NULL;
modelica_metatype _out_a_preExp = NULL;
modelica_metatype _out_a_varDecls = NULL;
modelica_metatype _out_a_auxFunction = NULL;
modelica_metatype tmpMeta[4] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_metatype tmp4_2;modelica_metatype tmp4_3;modelica_metatype tmp4_4;modelica_metatype tmp4_5;modelica_metatype tmp4_6;
tmp4_1 = _in_txt;
tmp4_2 = _in_a_exp;
tmp4_3 = _in_a_context;
tmp4_4 = _in_a_preExp;
tmp4_5 = _in_a_varDecls;
tmp4_6 = _in_a_auxFunction;
{
modelica_metatype _txt = NULL;
modelica_metatype _a_context = NULL;
modelica_metatype _a_preExp = NULL;
modelica_metatype _a_varDecls = NULL;
modelica_metatype _a_auxFunction = NULL;
modelica_metatype _i_exp = NULL;
modelica_metatype _i_cr = NULL;
modelica_metatype _txt_0 = NULL;
volatile mmc_switch_type tmp4;
int tmp5;
tmp4 = 0;
for (; tmp4 < 2; tmp4++) {
switch (MMC_SWITCH_CAST(tmp4)) {
case 0: {
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,6,2) == 0) goto tmp3_end;
_i_cr = tmp4_2;
_txt = tmp4_1;
_a_context = tmp4_3;
_a_preExp = tmp4_4;
_a_varDecls = tmp4_5;
_a_auxFunction = tmp4_6;
tmpMeta[0+0] = omc_CodegenCFunctions_daeExpCrefLhs(threadData, _txt, _i_cr, _a_context, _a_preExp, _a_varDecls, _a_auxFunction, 1, &tmpMeta[0+1], &tmpMeta[0+2], &tmpMeta[0+3]);
goto tmp3_done;
}
case 1: {
_txt = tmp4_1;
_i_exp = tmp4_2;
_a_preExp = tmp4_4;
_a_varDecls = tmp4_5;
_a_auxFunction = tmp4_6;
_txt_0 = omc_Tpl_writeTok(threadData, _OMC_LIT20, _OMC_LIT458);
_txt_0 = omc_ExpressionDumpTpl_dumpExp(threadData, _txt_0, _i_exp, _OMC_LIT231);
_txt_0 = omc_Tpl_writeTok(threadData, _txt_0, _OMC_LIT78);
_txt = omc_CodegenUtil_error(threadData, _txt, omc_Tpl_sourceInfo(threadData, _OMC_LIT27, ((modelica_integer) 6979), ((modelica_integer) 11)), omc_Tpl_textString(threadData, _txt_0));
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_preExp;
tmpMeta[0+2] = _a_varDecls;
tmpMeta[0+3] = _a_auxFunction;
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta[0+0];
_out_a_preExp = tmpMeta[0+1];
_out_a_varDecls = tmpMeta[0+2];
_out_a_auxFunction = tmpMeta[0+3];
_return: OMC_LABEL_UNUSED
if (out_out_a_preExp) { *out_out_a_preExp = _out_a_preExp; }
if (out_out_a_varDecls) { *out_out_a_varDecls = _out_a_varDecls; }
if (out_out_a_auxFunction) { *out_out_a_auxFunction = _out_a_auxFunction; }
return _out_txt;
}
DLLExport
modelica_metatype omc_CodegenCFunctions_daeExpASubIndex(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_exp, modelica_metatype _in_a_context, modelica_metatype _in_a_preExp, modelica_metatype _in_a_varDecls, modelica_metatype _in_a_auxFunction, modelica_metatype *out_out_a_preExp, modelica_metatype *out_out_a_varDecls, modelica_metatype *out_out_a_auxFunction)
{
modelica_metatype _out_txt = NULL;
modelica_metatype _out_a_preExp = NULL;
modelica_metatype _out_a_varDecls = NULL;
modelica_metatype _out_a_auxFunction = NULL;
modelica_metatype tmpMeta[5] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_metatype tmp4_2;modelica_metatype tmp4_3;modelica_metatype tmp4_4;modelica_metatype tmp4_5;modelica_metatype tmp4_6;
tmp4_1 = _in_txt;
tmp4_2 = _in_a_exp;
tmp4_3 = _in_a_context;
tmp4_4 = _in_a_preExp;
tmp4_5 = _in_a_varDecls;
tmp4_6 = _in_a_auxFunction;
{
modelica_metatype _txt = NULL;
modelica_metatype _a_context = NULL;
modelica_metatype _a_preExp = NULL;
modelica_metatype _a_varDecls = NULL;
modelica_metatype _a_auxFunction = NULL;
modelica_metatype _i_exp = NULL;
modelica_integer _i_index;
modelica_integer _i_integer;
modelica_integer _ret_1;
modelica_integer _ret_0;
int tmp4;
{
switch (MMC_SWITCH_CAST(valueConstructor(tmp4_2))) {
case 3: {
modelica_integer tmp5;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,0,1) == 0) goto tmp3_end;
tmpMeta[4] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
tmp5 = mmc_unbox_integer(tmpMeta[4]);
_i_integer = tmp5;
_txt = tmp4_1;
_a_preExp = tmp4_4;
_a_varDecls = tmp4_5;
_a_auxFunction = tmp4_6;
_ret_0 = omc_SimCodeFunctionUtil_incrementInt(threadData, _i_integer, ((modelica_integer) -1));
_txt = omc_Tpl_writeStr(threadData, _txt, intString(_ret_0));
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_preExp;
tmpMeta[0+2] = _a_varDecls;
tmpMeta[0+3] = _a_auxFunction;
goto tmp3_done;
}
case 8: {
modelica_integer tmp6;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,5,2) == 0) goto tmp3_end;
tmpMeta[4] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 3));
tmp6 = mmc_unbox_integer(tmpMeta[4]);
_i_index = tmp6;
_txt = tmp4_1;
_a_preExp = tmp4_4;
_a_varDecls = tmp4_5;
_a_auxFunction = tmp4_6;
_ret_1 = omc_SimCodeFunctionUtil_incrementInt(threadData, _i_index, ((modelica_integer) -1));
_txt = omc_Tpl_writeStr(threadData, _txt, intString(_ret_1));
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_preExp;
tmpMeta[0+2] = _a_varDecls;
tmpMeta[0+3] = _a_auxFunction;
goto tmp3_done;
}
default:
tmp3_default: OMC_LABEL_UNUSED; {
_txt = tmp4_1;
_i_exp = tmp4_2;
_a_context = tmp4_3;
_a_preExp = tmp4_4;
_a_varDecls = tmp4_5;
_a_auxFunction = tmp4_6;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT68);
_txt = omc_CodegenCFunctions_daeExp(threadData, _txt, _i_exp, _a_context, _a_preExp, _a_varDecls, _a_auxFunction ,&_a_preExp ,&_a_varDecls ,&_a_auxFunction);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT460);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_preExp;
tmpMeta[0+2] = _a_varDecls;
tmpMeta[0+3] = _a_auxFunction;
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta[0+0];
_out_a_preExp = tmpMeta[0+1];
_out_a_varDecls = tmpMeta[0+2];
_out_a_auxFunction = tmpMeta[0+3];
_return: OMC_LABEL_UNUSED
if (out_out_a_preExp) { *out_out_a_preExp = _out_a_preExp; }
if (out_out_a_varDecls) { *out_out_a_varDecls = _out_a_varDecls; }
if (out_out_a_auxFunction) { *out_out_a_auxFunction = _out_a_auxFunction; }
return _out_txt;
}
DLLExport
modelica_metatype omc_CodegenCFunctions_daeExpAsub(threadData_t *threadData, modelica_metatype _txt, modelica_metatype _a_inExp, modelica_metatype _a_context, modelica_metatype _a_preExp, modelica_metatype _a_varDecls, modelica_metatype _a_auxFunction, modelica_metatype *out_out_a_preExp, modelica_metatype *out_out_a_varDecls, modelica_metatype *out_out_a_auxFunction)
{
modelica_metatype _out_txt = NULL;
modelica_metatype _out_a_preExp = NULL;
modelica_metatype _out_a_varDecls = NULL;
modelica_metatype _out_a_auxFunction = NULL;
modelica_string _str_1 = NULL;
modelica_metatype _txt_0 = NULL;
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
_txt_0 = omc_CodegenCFunctions_expTypeFromExpShort(threadData, _OMC_LIT20, _a_inExp);
_str_1 = omc_Tpl_textString(threadData, _txt_0);
_out_txt = omc_CodegenCFunctions_fun__1044(threadData, _txt, _str_1, _a_inExp, _a_context, _a_preExp, _a_varDecls, _a_auxFunction ,&_out_a_preExp ,&_out_a_varDecls ,&_out_a_auxFunction);
_return: OMC_LABEL_UNUSED
if (out_out_a_preExp) { *out_out_a_preExp = _out_a_preExp; }
if (out_out_a_varDecls) { *out_out_a_varDecls = _out_a_varDecls; }
if (out_out_a_auxFunction) { *out_out_a_auxFunction = _out_a_auxFunction; }
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__1044(threadData_t *threadData, modelica_metatype _in_txt, modelica_string _in_mArg, modelica_metatype _in_a_inExp, modelica_metatype _in_a_context, modelica_metatype _in_a_preExp, modelica_metatype _in_a_varDecls, modelica_metatype _in_a_auxFunction, modelica_metatype *out_out_a_preExp, modelica_metatype *out_out_a_varDecls, modelica_metatype *out_out_a_auxFunction)
{
modelica_metatype _out_txt = NULL;
modelica_metatype _out_a_preExp = NULL;
modelica_metatype _out_a_varDecls = NULL;
modelica_metatype _out_a_auxFunction = NULL;
modelica_metatype tmpMeta[4] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_string tmp4_2;modelica_metatype tmp4_3;modelica_metatype tmp4_4;modelica_metatype tmp4_5;modelica_metatype tmp4_6;modelica_metatype tmp4_7;
tmp4_1 = _in_txt;
tmp4_2 = _in_mArg;
tmp4_3 = _in_a_inExp;
tmp4_4 = _in_a_context;
tmp4_5 = _in_a_preExp;
tmp4_6 = _in_a_varDecls;
tmp4_7 = _in_a_auxFunction;
{
modelica_metatype _txt = NULL;
modelica_metatype _a_inExp = NULL;
modelica_metatype _a_context = NULL;
modelica_metatype _a_preExp = NULL;
modelica_metatype _a_varDecls = NULL;
modelica_metatype _a_auxFunction = NULL;
volatile mmc_switch_type tmp4;
int tmp5;
tmp4 = 0;
for (; tmp4 < 2; tmp4++) {
switch (MMC_SWITCH_CAST(tmp4)) {
case 0: {
if (8 != MMC_STRLEN(tmp4_2) || strcmp(MMC_STRINGDATA(_OMC_LIT461), MMC_STRINGDATA(tmp4_2)) != 0) goto tmp3_end;
_txt = tmp4_1;
_a_inExp = tmp4_3;
_a_context = tmp4_4;
_a_preExp = tmp4_5;
_a_varDecls = tmp4_6;
_a_auxFunction = tmp4_7;
_txt = omc_CodegenCFunctions_fun__1037(threadData, _txt, _a_inExp, _a_auxFunction, _a_varDecls, _a_preExp, _a_context ,&_a_auxFunction ,&_a_varDecls ,&_a_preExp);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_preExp;
tmpMeta[0+2] = _a_varDecls;
tmpMeta[0+3] = _a_auxFunction;
goto tmp3_done;
}
case 1: {
_txt = tmp4_1;
_a_inExp = tmp4_3;
_a_context = tmp4_4;
_a_preExp = tmp4_5;
_a_varDecls = tmp4_6;
_a_auxFunction = tmp4_7;
_txt = omc_CodegenCFunctions_fun__1043(threadData, _txt, _a_inExp, _a_auxFunction, _a_preExp, _a_context, _a_varDecls ,&_a_auxFunction ,&_a_preExp ,&_a_varDecls);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_preExp;
tmpMeta[0+2] = _a_varDecls;
tmpMeta[0+3] = _a_auxFunction;
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta[0+0];
_out_a_preExp = tmpMeta[0+1];
_out_a_varDecls = tmpMeta[0+2];
_out_a_auxFunction = tmpMeta[0+3];
_return: OMC_LABEL_UNUSED
if (out_out_a_preExp) { *out_out_a_preExp = _out_a_preExp; }
if (out_out_a_varDecls) { *out_out_a_varDecls = _out_a_varDecls; }
if (out_out_a_auxFunction) { *out_out_a_auxFunction = _out_a_auxFunction; }
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__1043(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_inExp, modelica_metatype _in_a_auxFunction, modelica_metatype _in_a_preExp, modelica_metatype _in_a_context, modelica_metatype _in_a_varDecls, modelica_metatype *out_out_a_auxFunction, modelica_metatype *out_out_a_preExp, modelica_metatype *out_out_a_varDecls)
{
modelica_metatype _out_txt = NULL;
modelica_metatype _out_a_auxFunction = NULL;
modelica_metatype _out_a_preExp = NULL;
modelica_metatype _out_a_varDecls = NULL;
modelica_metatype tmpMeta[13] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_metatype tmp4_2;modelica_metatype tmp4_3;modelica_metatype tmp4_4;modelica_metatype tmp4_5;modelica_metatype tmp4_6;
tmp4_1 = _in_txt;
tmp4_2 = _in_a_inExp;
tmp4_3 = _in_a_auxFunction;
tmp4_4 = _in_a_preExp;
tmp4_5 = _in_a_context;
tmp4_6 = _in_a_varDecls;
{
modelica_metatype _txt = NULL;
modelica_metatype _a_auxFunction = NULL;
modelica_metatype _a_preExp = NULL;
modelica_metatype _a_context = NULL;
modelica_metatype _a_varDecls = NULL;
modelica_metatype _i_indexes = NULL;
modelica_metatype _i_inExp = NULL;
modelica_metatype _i_e = NULL;
modelica_metatype _i_ecr_ty = NULL;
modelica_metatype _i_subs = NULL;
modelica_metatype _i_ecr = NULL;
modelica_metatype _i_t = NULL;
modelica_metatype _i_range = NULL;
modelica_metatype _i_range_stop = NULL;
modelica_metatype _i_range_start = NULL;
modelica_metatype _i_exp_array = NULL;
modelica_metatype _i_idx = NULL;
modelica_metatype _i_exp = NULL;
modelica_metatype _txt_19 = NULL;
modelica_metatype _ret_18 = NULL;
modelica_metatype _l_typeShort = NULL;
modelica_metatype _l_exp = NULL;
modelica_metatype _ret_15 = NULL;
modelica_metatype _l_arrName = NULL;
modelica_metatype _txt_12 = NULL;
modelica_string _ret_12 = NULL;
modelica_string _ret_11 = NULL;
modelica_metatype _txt_10 = NULL;
modelica_metatype _l_stop = NULL;
modelica_metatype _l_start = NULL;
modelica_string _ret_7 = NULL;
modelica_metatype _txt_6 = NULL;
modelica_integer _ret_5;
modelica_metatype _l_expl = NULL;
modelica_metatype _l_idx1 = NULL;
modelica_metatype _txt_2 = NULL;
modelica_metatype _l_res = NULL;
modelica_metatype _txt_0 = NULL;
volatile mmc_switch_type tmp4;
int tmp5;
tmp4 = 0;
for (; tmp4 < 7; tmp4++) {
switch (MMC_SWITCH_CAST(tmp4)) {
case 0: {
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,21,2) == 0) goto tmp3_end;
tmpMeta[4] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[4],21,2) == 0) goto tmp3_end;
_i_exp = tmpMeta[4];
_txt = tmp4_1;
_a_auxFunction = tmp4_3;
_a_preExp = tmp4_4;
_a_varDecls = tmp4_6;
_txt_0 = omc_Tpl_writeTok(threadData, _OMC_LIT20, _OMC_LIT463);
_txt_0 = omc_ExpressionDumpTpl_dumpExp(threadData, _txt_0, _i_exp, _OMC_LIT231);
_txt = omc_CodegenUtil_error(threadData, _txt, omc_Tpl_sourceInfo(threadData, _OMC_LIT27, ((modelica_integer) 6891), ((modelica_integer) 11)), omc_Tpl_textString(threadData, _txt_0));
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_auxFunction;
tmpMeta[0+2] = _a_preExp;
tmpMeta[0+3] = _a_varDecls;
goto tmp3_done;
}
case 1: {
modelica_integer tmp6;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,21,2) == 0) goto tmp3_end;
tmpMeta[4] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[4],16,3) == 0) goto tmp3_end;
tmpMeta[5] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[4]), 3));
tmp6 = mmc_unbox_integer(tmpMeta[5]);
if (1 != tmp6) goto tmp3_end;
tmpMeta[6] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[4]), 4));
tmpMeta[7] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 3));
if (listEmpty(tmpMeta[7])) goto tmp3_end;
tmpMeta[8] = MMC_CAR(tmpMeta[7]);
tmpMeta[9] = MMC_CDR(tmpMeta[7]);
if (!listEmpty(tmpMeta[9])) goto tmp3_end;
_i_exp = tmpMeta[4];
_i_exp_array = tmpMeta[6];
_i_idx = tmpMeta[8];
_txt = tmp4_1;
_a_auxFunction = tmp4_3;
_a_preExp = tmp4_4;
_a_context = tmp4_5;
_a_varDecls = tmp4_6;
_txt_2 = omc_CodegenCFunctions_expTypeFromExpModelica(threadData, _OMC_LIT20, _i_exp);
_l_res = omc_CodegenCFunctions_tempDecl(threadData, _OMC_LIT20, omc_Tpl_textString(threadData, _txt_2), _a_varDecls ,&_a_varDecls);
_l_idx1 = omc_CodegenCFunctions_daeExp(threadData, _OMC_LIT20, _i_idx, _a_context, _a_preExp, _a_varDecls, _a_auxFunction ,&_a_preExp ,&_a_varDecls ,&_a_auxFunction);
_l_expl = omc_Tpl_pushIter(threadData, _OMC_LIT20, _OMC_LIT464);
_l_expl = omc_CodegenCFunctions_lm__1038(threadData, _l_expl, _i_exp_array, _l_res, _a_auxFunction, _a_context ,&_a_auxFunction);
_l_expl = omc_Tpl_popIter(threadData, _l_expl);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT466);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _l_idx1);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT470);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _l_expl);
_a_preExp = omc_Tpl_softNewLine(threadData, _a_preExp);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT472);
_a_preExp = omc_Tpl_pushBlock(threadData, _a_preExp, _OMC_LIT97);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT474);
_ret_5 = listLength(_i_exp_array);
_a_preExp = omc_Tpl_writeStr(threadData, _a_preExp, intString(_ret_5));
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT476);
_txt_6 = omc_ExpressionDumpTpl_dumpExp(threadData, _OMC_LIT20, _i_exp, _OMC_LIT231);
_ret_7 = omc_Util_escapeModelicaStringToCString(threadData, omc_Tpl_textString(threadData, _txt_6));
_a_preExp = omc_Tpl_writeStr(threadData, _a_preExp, _ret_7);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT478);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _l_idx1);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT375);
_a_preExp = omc_Tpl_popBlock(threadData, _a_preExp);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT159);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT89);
_txt = omc_Tpl_writeText(threadData, _txt, _l_res);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_auxFunction;
tmpMeta[0+2] = _a_preExp;
tmpMeta[0+3] = _a_varDecls;
goto tmp3_done;
}
case 2: {
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,21,2) == 0) goto tmp3_end;
tmpMeta[4] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[4],18,4) == 0) goto tmp3_end;
tmpMeta[5] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[4]), 2));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[5],6,2) == 0) goto tmp3_end;
tmpMeta[6] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[5]), 2));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[6],0,1) == 0) goto tmp3_end;
tmpMeta[7] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[4]), 3));
tmpMeta[8] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[4]), 4));
if (!optionNone(tmpMeta[8])) goto tmp3_end;
tmpMeta[9] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[4]), 5));
tmpMeta[10] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 3));
if (listEmpty(tmpMeta[10])) goto tmp3_end;
tmpMeta[11] = MMC_CAR(tmpMeta[10]);
tmpMeta[12] = MMC_CDR(tmpMeta[10]);
if (!listEmpty(tmpMeta[12])) goto tmp3_end;
_i_range = tmpMeta[4];
_i_range_start = tmpMeta[7];
_i_range_stop = tmpMeta[9];
_i_idx = tmpMeta[11];
_txt = tmp4_1;
_a_auxFunction = tmp4_3;
_a_preExp = tmp4_4;
_a_context = tmp4_5;
_a_varDecls = tmp4_6;
_l_res = omc_CodegenCFunctions_tempDecl(threadData, _OMC_LIT20, _OMC_LIT449, _a_varDecls ,&_a_varDecls);
_l_idx1 = omc_CodegenCFunctions_daeExp(threadData, _OMC_LIT20, _i_idx, _a_context, _a_preExp, _a_varDecls, _a_auxFunction ,&_a_preExp ,&_a_varDecls ,&_a_auxFunction);
_l_start = omc_CodegenCFunctions_daeExp(threadData, _OMC_LIT20, _i_range_start, _a_context, _a_preExp, _a_varDecls, _a_auxFunction ,&_a_preExp ,&_a_varDecls ,&_a_auxFunction);
_l_stop = omc_CodegenCFunctions_daeExp(threadData, _OMC_LIT20, _i_range_stop, _a_context, _a_preExp, _a_varDecls, _a_auxFunction ,&_a_preExp ,&_a_varDecls ,&_a_auxFunction);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _l_res);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT121);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _l_idx1);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT480);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _l_start);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT484);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _l_res);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT486);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _l_stop);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT183);
_a_preExp = omc_Tpl_pushBlock(threadData, _a_preExp, _OMC_LIT97);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT488);
_txt_10 = omc_ExpressionDumpTpl_dumpExp(threadData, _OMC_LIT20, _i_range, _OMC_LIT231);
_ret_11 = omc_Util_escapeModelicaStringToCString(threadData, omc_Tpl_textString(threadData, _txt_10));
_a_preExp = omc_Tpl_writeStr(threadData, _a_preExp, _ret_11);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT478);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _l_res);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT375);
_a_preExp = omc_Tpl_popBlock(threadData, _a_preExp);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT103);
_txt = omc_Tpl_writeText(threadData, _txt, _l_res);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_auxFunction;
tmpMeta[0+2] = _a_preExp;
tmpMeta[0+3] = _a_varDecls;
goto tmp3_done;
}
case 3: {
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,21,2) == 0) goto tmp3_end;
tmpMeta[4] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[4],18,4) == 0) goto tmp3_end;
tmpMeta[5] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[4]), 2));
tmpMeta[6] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 3));
if (listEmpty(tmpMeta[6])) goto tmp3_end;
tmpMeta[7] = MMC_CAR(tmpMeta[6]);
tmpMeta[8] = MMC_CDR(tmpMeta[6]);
if (!listEmpty(tmpMeta[8])) goto tmp3_end;
_i_exp = tmpMeta[4];
_i_t = tmpMeta[5];
_i_idx = tmpMeta[7];
_txt = tmp4_1;
_a_auxFunction = tmp4_3;
_a_preExp = tmp4_4;
_a_varDecls = tmp4_6;
_txt_12 = omc_Tpl_writeTok(threadData, _OMC_LIT20, _OMC_LIT490);
_ret_12 = omc_Types_unparseType(threadData, _i_t);
_txt_12 = omc_Tpl_writeStr(threadData, _txt_12, _ret_12);
_txt_12 = omc_Tpl_writeTok(threadData, _txt_12, _OMC_LIT492);
_txt_12 = omc_ExpressionDumpTpl_dumpExp(threadData, _txt_12, _i_exp, _OMC_LIT231);
_txt_12 = omc_Tpl_writeTok(threadData, _txt_12, _OMC_LIT494);
_txt_12 = omc_ExpressionDumpTpl_dumpExp(threadData, _txt_12, _i_idx, _OMC_LIT231);
_txt = omc_CodegenUtil_error(threadData, _txt, omc_Tpl_sourceInfo(threadData, _OMC_LIT27, ((modelica_integer) 6935), ((modelica_integer) 11)), omc_Tpl_textString(threadData, _txt_12));
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_auxFunction;
tmpMeta[0+2] = _a_preExp;
tmpMeta[0+3] = _a_varDecls;
goto tmp3_done;
}
case 4: {
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,21,2) == 0) goto tmp3_end;
tmpMeta[4] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[4],6,2) == 0) goto tmp3_end;
tmpMeta[5] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[4]), 3));
tmpMeta[6] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 3));
_i_ecr = tmpMeta[4];
_i_ecr_ty = tmpMeta[5];
_i_subs = tmpMeta[6];
_txt = tmp4_1;
_a_auxFunction = tmp4_3;
_a_preExp = tmp4_4;
_a_context = tmp4_5;
_a_varDecls = tmp4_6;
_ret_15 = omc_SimCodeFunctionUtil_buildCrefExpFromAsub(threadData, _i_ecr, _i_subs);
_l_arrName = omc_CodegenCFunctions_daeExpCrefRhs(threadData, _OMC_LIT20, _ret_15, _a_context, _a_preExp, _a_varDecls, _a_auxFunction ,&_a_preExp ,&_a_varDecls ,&_a_auxFunction);
_txt = omc_CodegenCFunctions_fun__1039(threadData, _txt, _a_context, _a_auxFunction, _a_varDecls, _a_preExp, _i_subs, _i_ecr_ty, _l_arrName ,&_a_auxFunction ,&_a_varDecls ,&_a_preExp);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_auxFunction;
tmpMeta[0+2] = _a_preExp;
tmpMeta[0+3] = _a_varDecls;
goto tmp3_done;
}
case 5: {
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,21,2) == 0) goto tmp3_end;
tmpMeta[4] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
tmpMeta[5] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 3));
_i_inExp = tmp4_2;
_i_e = tmpMeta[4];
_i_indexes = tmpMeta[5];
_txt = tmp4_1;
_a_auxFunction = tmp4_3;
_a_preExp = tmp4_4;
_a_context = tmp4_5;
_a_varDecls = tmp4_6;
_l_exp = omc_CodegenCFunctions_daeExp(threadData, _OMC_LIT20, _i_e, _a_context, _a_preExp, _a_varDecls, _a_auxFunction ,&_a_preExp ,&_a_varDecls ,&_a_auxFunction);
_l_typeShort = omc_CodegenCFunctions_expTypeFromExpShort(threadData, _OMC_LIT20, _i_e);
_ret_18 = omc_Expression_typeof(threadData, _i_inExp);
_txt = omc_CodegenCFunctions_fun__1042(threadData, _txt, _ret_18, _l_exp, _l_typeShort, _a_auxFunction, _a_varDecls, _a_preExp, _a_context, _i_indexes, _i_e, _i_inExp ,&_a_auxFunction ,&_a_varDecls ,&_a_preExp);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_auxFunction;
tmpMeta[0+2] = _a_preExp;
tmpMeta[0+3] = _a_varDecls;
goto tmp3_done;
}
case 6: {
_txt = tmp4_1;
_i_inExp = tmp4_2;
_a_auxFunction = tmp4_3;
_a_preExp = tmp4_4;
_a_varDecls = tmp4_6;
_txt_19 = omc_Tpl_writeTok(threadData, _OMC_LIT20, _OMC_LIT496);
_txt_19 = omc_ExpressionDumpTpl_dumpExp(threadData, _txt_19, _i_inExp, _OMC_LIT231);
_txt = omc_CodegenUtil_error(threadData, _txt, omc_Tpl_sourceInfo(threadData, _OMC_LIT27, ((modelica_integer) 6957), ((modelica_integer) 11)), omc_Tpl_textString(threadData, _txt_19));
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_auxFunction;
tmpMeta[0+2] = _a_preExp;
tmpMeta[0+3] = _a_varDecls;
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta[0+0];
_out_a_auxFunction = tmpMeta[0+1];
_out_a_preExp = tmpMeta[0+2];
_out_a_varDecls = tmpMeta[0+3];
_return: OMC_LABEL_UNUSED
if (out_out_a_auxFunction) { *out_out_a_auxFunction = _out_a_auxFunction; }
if (out_out_a_preExp) { *out_out_a_preExp = _out_a_preExp; }
if (out_out_a_varDecls) { *out_out_a_varDecls = _out_a_varDecls; }
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__1042(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_mArg, modelica_metatype _in_a_exp, modelica_metatype _in_a_typeShort, modelica_metatype _in_a_auxFunction, modelica_metatype _in_a_varDecls, modelica_metatype _in_a_preExp, modelica_metatype _in_a_context, modelica_metatype _in_a_indexes, modelica_metatype _in_a_e, modelica_metatype _in_a_inExp, modelica_metatype *out_out_a_auxFunction, modelica_metatype *out_out_a_varDecls, modelica_metatype *out_out_a_preExp)
{
modelica_metatype _out_txt = NULL;
modelica_metatype _out_a_auxFunction = NULL;
modelica_metatype _out_a_varDecls = NULL;
modelica_metatype _out_a_preExp = NULL;
modelica_metatype tmpMeta[4] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_metatype tmp4_2;modelica_metatype tmp4_3;modelica_metatype tmp4_4;modelica_metatype tmp4_5;modelica_metatype tmp4_6;modelica_metatype tmp4_7;modelica_metatype tmp4_8;modelica_metatype tmp4_9;modelica_metatype tmp4_10;modelica_metatype tmp4_11;
tmp4_1 = _in_txt;
tmp4_2 = _in_mArg;
tmp4_3 = _in_a_exp;
tmp4_4 = _in_a_typeShort;
tmp4_5 = _in_a_auxFunction;
tmp4_6 = _in_a_varDecls;
tmp4_7 = _in_a_preExp;
tmp4_8 = _in_a_context;
tmp4_9 = _in_a_indexes;
tmp4_10 = _in_a_e;
tmp4_11 = _in_a_inExp;
{
modelica_metatype _txt = NULL;
modelica_metatype _a_exp = NULL;
modelica_metatype _a_typeShort = NULL;
modelica_metatype _a_auxFunction = NULL;
modelica_metatype _a_varDecls = NULL;
modelica_metatype _a_preExp = NULL;
modelica_metatype _a_context = NULL;
modelica_metatype _a_indexes = NULL;
modelica_metatype _a_e = NULL;
modelica_metatype _a_inExp = NULL;
modelica_integer _ret_6;
modelica_metatype _l_expIndexes = NULL;
modelica_metatype _txt_0 = NULL;
modelica_string _ret_3 = NULL;
modelica_metatype _ret_2 = NULL;
modelica_string _ret_1 = NULL;
modelica_metatype _ret_0 = NULL;
volatile mmc_switch_type tmp4;
int tmp5;
tmp4 = 0;
for (; tmp4 < 2; tmp4++) {
switch (MMC_SWITCH_CAST(tmp4)) {
case 0: {
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,6,2) == 0) goto tmp3_end;
_txt = tmp4_1;
_a_auxFunction = tmp4_5;
_a_varDecls = tmp4_6;
_a_preExp = tmp4_7;
_a_e = tmp4_10;
_a_inExp = tmp4_11;
_txt_0 = omc_Tpl_writeTok(threadData, _OMC_LIT20, _OMC_LIT498);
_txt_0 = omc_ExpressionDumpTpl_dumpExp(threadData, _txt_0, _a_inExp, _OMC_LIT231);
_txt_0 = omc_Tpl_writeTok(threadData, _txt_0, _OMC_LIT500);
_ret_0 = omc_Expression_typeof(threadData, _a_e);
_ret_1 = omc_Types_unparseType(threadData, _ret_0);
_txt_0 = omc_Tpl_writeStr(threadData, _txt_0, _ret_1);
_txt_0 = omc_Tpl_writeTok(threadData, _txt_0, _OMC_LIT502);
_ret_2 = omc_Expression_typeof(threadData, _a_inExp);
_ret_3 = omc_Types_unparseType(threadData, _ret_2);
_txt_0 = omc_Tpl_writeStr(threadData, _txt_0, _ret_3);
_txt_0 = omc_Tpl_writeTok(threadData, _txt_0, _OMC_LIT504);
_txt = omc_CodegenUtil_error(threadData, _txt, omc_Tpl_sourceInfo(threadData, _OMC_LIT27, ((modelica_integer) 6951), ((modelica_integer) 13)), omc_Tpl_textString(threadData, _txt_0));
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_auxFunction;
tmpMeta[0+2] = _a_varDecls;
tmpMeta[0+3] = _a_preExp;
goto tmp3_done;
}
case 1: {
_txt = tmp4_1;
_a_exp = tmp4_3;
_a_typeShort = tmp4_4;
_a_auxFunction = tmp4_5;
_a_varDecls = tmp4_6;
_a_preExp = tmp4_7;
_a_context = tmp4_8;
_a_indexes = tmp4_9;
_l_expIndexes = omc_Tpl_pushIter(threadData, _OMC_LIT20, _OMC_LIT294);
_l_expIndexes = omc_CodegenCFunctions_lm__1040(threadData, _l_expIndexes, _a_indexes, _a_auxFunction, _a_varDecls, _a_preExp, _a_context ,&_a_auxFunction ,&_a_varDecls ,&_a_preExp);
_l_expIndexes = omc_Tpl_popIter(threadData, _l_expIndexes);
_txt = omc_Tpl_writeText(threadData, _txt, _a_typeShort);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT506);
_ret_6 = listLength(_a_indexes);
_txt = omc_CodegenCFunctions_fun__1041(threadData, _txt, _ret_6);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT68);
_txt = omc_Tpl_writeText(threadData, _txt, _a_exp);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT292);
_txt = omc_Tpl_writeText(threadData, _txt, _l_expIndexes);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT78);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_auxFunction;
tmpMeta[0+2] = _a_varDecls;
tmpMeta[0+3] = _a_preExp;
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta[0+0];
_out_a_auxFunction = tmpMeta[0+1];
_out_a_varDecls = tmpMeta[0+2];
_out_a_preExp = tmpMeta[0+3];
_return: OMC_LABEL_UNUSED
if (out_out_a_auxFunction) { *out_out_a_auxFunction = _out_a_auxFunction; }
if (out_out_a_varDecls) { *out_out_a_varDecls = _out_a_varDecls; }
if (out_out_a_preExp) { *out_out_a_preExp = _out_a_preExp; }
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__1041(threadData_t *threadData, modelica_metatype _in_txt, modelica_integer _in_mArg)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta[1] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp3_1;modelica_integer tmp3_2;
tmp3_1 = _in_txt;
tmp3_2 = _in_mArg;
{
modelica_metatype _txt = NULL;
modelica_integer _i_i;
volatile mmc_switch_type tmp3;
int tmp4;
tmp3 = 0;
for (; tmp3 < 2; tmp3++) {
switch (MMC_SWITCH_CAST(tmp3)) {
case 0: {
if (1 != tmp3_2) goto tmp2_end;
_txt = tmp3_1;
tmpMeta[0] = _txt;
goto tmp2_done;
}
case 1: {
_txt = tmp3_1;
_i_i = tmp3_2;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT236);
_txt = omc_Tpl_writeStr(threadData, _txt, intString(_i_i));
tmpMeta[0] = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT508);
goto tmp2_done;
}
}
goto tmp2_end;
tmp2_end: ;
}
goto goto_1;
goto_1:;
MMC_THROW_INTERNAL();
goto tmp2_done;
tmp2_done:;
}
}
_out_txt = tmpMeta[0];
_return: OMC_LABEL_UNUSED
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__1041(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_mArg)
{
modelica_integer tmp1;
modelica_metatype _out_txt = NULL;
tmp1 = mmc_unbox_integer(_in_mArg);
_out_txt = omc_CodegenCFunctions_fun__1041(threadData, _in_txt, tmp1);
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_lm__1040(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_items, modelica_metatype _in_a_auxFunction, modelica_metatype _in_a_varDecls, modelica_metatype _in_a_preExp, modelica_metatype _in_a_context, modelica_metatype *out_out_a_auxFunction, modelica_metatype *out_out_a_varDecls, modelica_metatype *out_out_a_preExp)
{
modelica_metatype _out_txt = NULL;
modelica_metatype _out_a_auxFunction = NULL;
modelica_metatype _out_a_varDecls = NULL;
modelica_metatype _out_a_preExp = NULL;
modelica_metatype tmpMeta[6] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_metatype tmp4_2;modelica_metatype tmp4_3;modelica_metatype tmp4_4;modelica_metatype tmp4_5;modelica_metatype tmp4_6;
tmp4_1 = _in_txt;
tmp4_2 = _in_items;
tmp4_3 = _in_a_auxFunction;
tmp4_4 = _in_a_varDecls;
tmp4_5 = _in_a_preExp;
tmp4_6 = _in_a_context;
{
modelica_metatype _txt = NULL;
modelica_metatype _rest = NULL;
modelica_metatype _a_auxFunction = NULL;
modelica_metatype _a_varDecls = NULL;
modelica_metatype _a_preExp = NULL;
modelica_metatype _a_context = NULL;
modelica_metatype _i_index = NULL;
volatile mmc_switch_type tmp4;
int tmp5;
tmp4 = 0;
for (; tmp4 < 2; tmp4++) {
switch (MMC_SWITCH_CAST(tmp4)) {
case 0: {
if (!listEmpty(tmp4_2)) goto tmp3_end;
_txt = tmp4_1;
_a_auxFunction = tmp4_3;
_a_varDecls = tmp4_4;
_a_preExp = tmp4_5;
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_auxFunction;
tmpMeta[0+2] = _a_varDecls;
tmpMeta[0+3] = _a_preExp;
goto tmp3_done;
}
case 1: {
if (listEmpty(tmp4_2)) goto tmp3_end;
tmpMeta[4] = MMC_CAR(tmp4_2);
tmpMeta[5] = MMC_CDR(tmp4_2);
_i_index = tmpMeta[4];
_rest = tmpMeta[5];
_txt = tmp4_1;
_a_auxFunction = tmp4_3;
_a_varDecls = tmp4_4;
_a_preExp = tmp4_5;
_a_context = tmp4_6;
_txt = omc_CodegenCFunctions_daeExpASubIndex(threadData, _txt, _i_index, _a_context, _a_preExp, _a_varDecls, _a_auxFunction ,&_a_preExp ,&_a_varDecls ,&_a_auxFunction);
_txt = omc_Tpl_nextIter(threadData, _txt);
_in_txt = _txt;
_in_items = _rest;
_in_a_auxFunction = _a_auxFunction;
_in_a_varDecls = _a_varDecls;
_in_a_preExp = _a_preExp;
_in_a_context = _a_context;
goto _tailrecursive;
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta[0+0];
_out_a_auxFunction = tmpMeta[0+1];
_out_a_varDecls = tmpMeta[0+2];
_out_a_preExp = tmpMeta[0+3];
_return: OMC_LABEL_UNUSED
if (out_out_a_auxFunction) { *out_out_a_auxFunction = _out_a_auxFunction; }
if (out_out_a_varDecls) { *out_out_a_varDecls = _out_a_varDecls; }
if (out_out_a_preExp) { *out_out_a_preExp = _out_a_preExp; }
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__1039(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_context, modelica_metatype _in_a_auxFunction, modelica_metatype _in_a_varDecls, modelica_metatype _in_a_preExp, modelica_metatype _in_a_subs, modelica_metatype _in_a_ecr_ty, modelica_metatype _in_a_arrName, modelica_metatype *out_out_a_auxFunction, modelica_metatype *out_out_a_varDecls, modelica_metatype *out_out_a_preExp)
{
modelica_metatype _out_txt = NULL;
modelica_metatype _out_a_auxFunction = NULL;
modelica_metatype _out_a_varDecls = NULL;
modelica_metatype _out_a_preExp = NULL;
modelica_metatype tmpMeta[4] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_metatype tmp4_2;modelica_metatype tmp4_3;modelica_metatype tmp4_4;modelica_metatype tmp4_5;modelica_metatype tmp4_6;modelica_metatype tmp4_7;modelica_metatype tmp4_8;
tmp4_1 = _in_txt;
tmp4_2 = _in_a_context;
tmp4_3 = _in_a_auxFunction;
tmp4_4 = _in_a_varDecls;
tmp4_5 = _in_a_preExp;
tmp4_6 = _in_a_subs;
tmp4_7 = _in_a_ecr_ty;
tmp4_8 = _in_a_arrName;
{
modelica_metatype _txt = NULL;
modelica_metatype _a_auxFunction = NULL;
modelica_metatype _a_varDecls = NULL;
modelica_metatype _a_preExp = NULL;
modelica_metatype _a_subs = NULL;
modelica_metatype _a_ecr_ty = NULL;
modelica_metatype _a_arrName = NULL;
modelica_metatype _i_context = NULL;
volatile mmc_switch_type tmp4;
int tmp5;
tmp4 = 0;
for (; tmp4 < 2; tmp4++) {
switch (MMC_SWITCH_CAST(tmp4)) {
case 0: {
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,1,2) == 0) goto tmp3_end;
_txt = tmp4_1;
_a_auxFunction = tmp4_3;
_a_varDecls = tmp4_4;
_a_preExp = tmp4_5;
_a_arrName = tmp4_8;
_txt = omc_Tpl_writeText(threadData, _txt, _a_arrName);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_auxFunction;
tmpMeta[0+2] = _a_varDecls;
tmpMeta[0+3] = _a_preExp;
goto tmp3_done;
}
case 1: {
_txt = tmp4_1;
_i_context = tmp4_2;
_a_auxFunction = tmp4_3;
_a_varDecls = tmp4_4;
_a_preExp = tmp4_5;
_a_subs = tmp4_6;
_a_ecr_ty = tmp4_7;
_a_arrName = tmp4_8;
_txt = omc_CodegenCFunctions_arrayScalarRhs(threadData, _txt, _a_ecr_ty, _a_subs, omc_Tpl_textString(threadData, _a_arrName), _i_context, _a_preExp, _a_varDecls, _a_auxFunction ,&_a_preExp ,&_a_varDecls ,&_a_auxFunction);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_auxFunction;
tmpMeta[0+2] = _a_varDecls;
tmpMeta[0+3] = _a_preExp;
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta[0+0];
_out_a_auxFunction = tmpMeta[0+1];
_out_a_varDecls = tmpMeta[0+2];
_out_a_preExp = tmpMeta[0+3];
_return: OMC_LABEL_UNUSED
if (out_out_a_auxFunction) { *out_out_a_auxFunction = _out_a_auxFunction; }
if (out_out_a_varDecls) { *out_out_a_varDecls = _out_a_varDecls; }
if (out_out_a_preExp) { *out_out_a_preExp = _out_a_preExp; }
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_lm__1038(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_items, modelica_metatype _in_a_res, modelica_metatype _in_a_auxFunction, modelica_metatype _in_a_context, modelica_metatype *out_out_a_auxFunction)
{
modelica_metatype _out_txt = NULL;
modelica_metatype _out_a_auxFunction = NULL;
modelica_metatype tmpMeta[4] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_metatype tmp4_2;modelica_metatype tmp4_3;modelica_metatype tmp4_4;modelica_metatype tmp4_5;
tmp4_1 = _in_txt;
tmp4_2 = _in_items;
tmp4_3 = _in_a_res;
tmp4_4 = _in_a_auxFunction;
tmp4_5 = _in_a_context;
{
modelica_metatype _txt = NULL;
modelica_metatype _rest = NULL;
modelica_metatype _a_res = NULL;
modelica_metatype _a_auxFunction = NULL;
modelica_metatype _a_context = NULL;
modelica_integer _x_i1;
modelica_metatype _i_e = NULL;
modelica_metatype _l_v = NULL;
modelica_metatype _l_casePreExp = NULL;
modelica_metatype _l_caseVarDecls = NULL;
volatile mmc_switch_type tmp4;
int tmp5;
tmp4 = 0;
for (; tmp4 < 2; tmp4++) {
switch (MMC_SWITCH_CAST(tmp4)) {
case 0: {
if (!listEmpty(tmp4_2)) goto tmp3_end;
_txt = tmp4_1;
_a_auxFunction = tmp4_4;
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_auxFunction;
goto tmp3_done;
}
case 1: {
if (listEmpty(tmp4_2)) goto tmp3_end;
tmpMeta[2] = MMC_CAR(tmp4_2);
tmpMeta[3] = MMC_CDR(tmp4_2);
_i_e = tmpMeta[2];
_rest = tmpMeta[3];
_txt = tmp4_1;
_a_res = tmp4_3;
_a_auxFunction = tmp4_4;
_a_context = tmp4_5;
_x_i1 = omc_Tpl_getIteri__i0(threadData, _txt);
_l_caseVarDecls = _OMC_LIT20;
_l_casePreExp = _OMC_LIT20;
_l_v = omc_CodegenCFunctions_daeExp(threadData, _OMC_LIT20, _i_e, _a_context, _l_casePreExp, _l_caseVarDecls, _a_auxFunction ,&_l_casePreExp ,&_l_caseVarDecls ,&_a_auxFunction);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT84);
_txt = omc_Tpl_writeStr(threadData, _txt, intString(_x_i1));
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT510);
_txt = omc_Tpl_pushBlock(threadData, _txt, _OMC_LIT97);
_txt = omc_Tpl_writeText(threadData, _txt, _l_caseVarDecls);
_txt = omc_Tpl_softNewLine(threadData, _txt);
_txt = omc_Tpl_writeText(threadData, _txt, _l_casePreExp);
_txt = omc_Tpl_softNewLine(threadData, _txt);
_txt = omc_Tpl_writeText(threadData, _txt, _a_res);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT121);
_txt = omc_Tpl_writeText(threadData, _txt, _l_v);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT512);
_txt = omc_Tpl_popBlock(threadData, _txt);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT103);
_txt = omc_Tpl_nextIter(threadData, _txt);
_in_txt = _txt;
_in_items = _rest;
_in_a_res = _a_res;
_in_a_auxFunction = _a_auxFunction;
_in_a_context = _a_context;
goto _tailrecursive;
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta[0+0];
_out_a_auxFunction = tmpMeta[0+1];
_return: OMC_LABEL_UNUSED
if (out_out_a_auxFunction) { *out_out_a_auxFunction = _out_a_auxFunction; }
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__1037(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_inExp, modelica_metatype _in_a_auxFunction, modelica_metatype _in_a_varDecls, modelica_metatype _in_a_preExp, modelica_metatype _in_a_context, modelica_metatype *out_out_a_auxFunction, modelica_metatype *out_out_a_varDecls, modelica_metatype *out_out_a_preExp)
{
modelica_metatype _out_txt = NULL;
modelica_metatype _out_a_auxFunction = NULL;
modelica_metatype _out_a_varDecls = NULL;
modelica_metatype _out_a_preExp = NULL;
modelica_metatype tmpMeta[8] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_metatype tmp4_2;modelica_metatype tmp4_3;modelica_metatype tmp4_4;modelica_metatype tmp4_5;modelica_metatype tmp4_6;
tmp4_1 = _in_txt;
tmp4_2 = _in_a_inExp;
tmp4_3 = _in_a_auxFunction;
tmp4_4 = _in_a_varDecls;
tmp4_5 = _in_a_preExp;
tmp4_6 = _in_a_context;
{
modelica_metatype _txt = NULL;
modelica_metatype _a_auxFunction = NULL;
modelica_metatype _a_varDecls = NULL;
modelica_metatype _a_preExp = NULL;
modelica_metatype _a_context = NULL;
modelica_metatype _i_idx = NULL;
modelica_metatype _i_e = NULL;
modelica_metatype _l_idx1 = NULL;
modelica_metatype _l_e1 = NULL;
volatile mmc_switch_type tmp4;
int tmp5;
tmp4 = 0;
for (; tmp4 < 2; tmp4++) {
switch (MMC_SWITCH_CAST(tmp4)) {
case 0: {
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,21,2) == 0) goto tmp3_end;
tmpMeta[4] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
tmpMeta[5] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 3));
if (listEmpty(tmpMeta[5])) goto tmp3_end;
tmpMeta[6] = MMC_CAR(tmpMeta[5]);
tmpMeta[7] = MMC_CDR(tmpMeta[5]);
if (!listEmpty(tmpMeta[7])) goto tmp3_end;
_i_e = tmpMeta[4];
_i_idx = tmpMeta[6];
_txt = tmp4_1;
_a_auxFunction = tmp4_3;
_a_varDecls = tmp4_4;
_a_preExp = tmp4_5;
_a_context = tmp4_6;
_l_e1 = omc_CodegenCFunctions_daeExp(threadData, _OMC_LIT20, _i_e, _a_context, _a_preExp, _a_varDecls, _a_auxFunction ,&_a_preExp ,&_a_varDecls ,&_a_auxFunction);
_l_idx1 = omc_CodegenCFunctions_daeExp(threadData, _OMC_LIT20, _i_idx, _a_context, _a_preExp, _a_varDecls, _a_auxFunction ,&_a_preExp ,&_a_varDecls ,&_a_auxFunction);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT514);
_txt = omc_Tpl_writeText(threadData, _txt, _l_e1);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT226);
_txt = omc_Tpl_writeText(threadData, _txt, _l_idx1);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT516);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_auxFunction;
tmpMeta[0+2] = _a_varDecls;
tmpMeta[0+3] = _a_preExp;
goto tmp3_done;
}
case 1: {
_txt = tmp4_1;
_a_auxFunction = tmp4_3;
_a_varDecls = tmp4_4;
_a_preExp = tmp4_5;
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_auxFunction;
tmpMeta[0+2] = _a_varDecls;
tmpMeta[0+3] = _a_preExp;
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta[0+0];
_out_a_auxFunction = tmpMeta[0+1];
_out_a_varDecls = tmpMeta[0+2];
_out_a_preExp = tmpMeta[0+3];
_return: OMC_LABEL_UNUSED
if (out_out_a_auxFunction) { *out_out_a_auxFunction = _out_a_auxFunction; }
if (out_out_a_varDecls) { *out_out_a_varDecls = _out_a_varDecls; }
if (out_out_a_preExp) { *out_out_a_preExp = _out_a_preExp; }
return _out_txt;
}
DLLExport
modelica_metatype omc_CodegenCFunctions_daeExpRsub(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_inExp, modelica_metatype _in_a_context, modelica_metatype _in_a_preExp, modelica_metatype _in_a_varDecls, modelica_metatype _in_a_auxFunction, modelica_metatype *out_out_a_preExp, modelica_metatype *out_out_a_varDecls, modelica_metatype *out_out_a_auxFunction)
{
modelica_metatype _out_txt = NULL;
modelica_metatype _out_a_preExp = NULL;
modelica_metatype _out_a_varDecls = NULL;
modelica_metatype _out_a_auxFunction = NULL;
modelica_metatype tmpMeta[7] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_metatype tmp4_2;modelica_metatype tmp4_3;modelica_metatype tmp4_4;modelica_metatype tmp4_5;modelica_metatype tmp4_6;
tmp4_1 = _in_txt;
tmp4_2 = _in_a_inExp;
tmp4_3 = _in_a_context;
tmp4_4 = _in_a_preExp;
tmp4_5 = _in_a_varDecls;
tmp4_6 = _in_a_auxFunction;
{
modelica_metatype _txt = NULL;
modelica_metatype _a_context = NULL;
modelica_metatype _a_preExp = NULL;
modelica_metatype _a_varDecls = NULL;
modelica_metatype _a_auxFunction = NULL;
modelica_metatype _i_inExp = NULL;
modelica_integer _i_ix;
modelica_string _i_fieldName = NULL;
modelica_metatype _i_exp = NULL;
modelica_metatype _txt_3 = NULL;
modelica_integer _ret_2;
modelica_metatype _l_offset = NULL;
modelica_metatype _l_res = NULL;
volatile mmc_switch_type tmp4;
int tmp5;
tmp4 = 0;
for (; tmp4 < 4; tmp4++) {
switch (MMC_SWITCH_CAST(tmp4)) {
case 0: {
modelica_integer tmp6;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,23,4) == 0) goto tmp3_end;
tmpMeta[4] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
tmpMeta[5] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 3));
tmp6 = mmc_unbox_integer(tmpMeta[5]);
if (-1 != tmp6) goto tmp3_end;
tmpMeta[6] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 4));
_i_exp = tmpMeta[4];
_i_fieldName = tmpMeta[6];
_txt = tmp4_1;
_a_context = tmp4_3;
_a_preExp = tmp4_4;
_a_varDecls = tmp4_5;
_a_auxFunction = tmp4_6;
_l_res = omc_CodegenCFunctions_daeExp(threadData, _OMC_LIT20, _i_exp, _a_context, _a_preExp, _a_varDecls, _a_auxFunction ,&_a_preExp ,&_a_varDecls ,&_a_auxFunction);
_txt = omc_Tpl_writeText(threadData, _txt, _l_res);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT518);
_txt = omc_Tpl_writeStr(threadData, _txt, _i_fieldName);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_preExp;
tmpMeta[0+2] = _a_varDecls;
tmpMeta[0+3] = _a_auxFunction;
goto tmp3_done;
}
case 1: {
modelica_integer tmp7;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,23,4) == 0) goto tmp3_end;
tmpMeta[4] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
tmpMeta[5] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 3));
tmp7 = mmc_unbox_integer(tmpMeta[5]);
_i_exp = tmpMeta[4];
_i_ix = tmp7;
_txt = tmp4_1;
_a_context = tmp4_3;
_a_preExp = tmp4_4;
_a_varDecls = tmp4_5;
_a_auxFunction = tmp4_6;
_l_res = omc_CodegenCFunctions_daeExp(threadData, _OMC_LIT20, _i_exp, _a_context, _a_preExp, _a_varDecls, _a_auxFunction ,&_a_preExp ,&_a_varDecls ,&_a_auxFunction);
_ret_2 = ((modelica_integer) 1) + _i_ix;
_l_offset = omc_Tpl_writeStr(threadData, _OMC_LIT20, intString(_ret_2));
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT520);
_txt = omc_Tpl_writeText(threadData, _txt, _l_res);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT522);
_txt = omc_Tpl_writeText(threadData, _txt, _l_offset);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT524);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_preExp;
tmpMeta[0+2] = _a_varDecls;
tmpMeta[0+3] = _a_auxFunction;
goto tmp3_done;
}
case 2: {
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,23,4) == 0) goto tmp3_end;
_i_inExp = tmp4_2;
_txt = tmp4_1;
_a_preExp = tmp4_4;
_a_varDecls = tmp4_5;
_a_auxFunction = tmp4_6;
_txt_3 = omc_ExpressionDumpTpl_dumpExp(threadData, _OMC_LIT20, _i_inExp, _OMC_LIT231);
_txt_3 = omc_Tpl_writeTok(threadData, _txt_3, _OMC_LIT526);
_txt = omc_CodegenUtil_error(threadData, _txt, omc_Tpl_sourceInfo(threadData, _OMC_LIT27, ((modelica_integer) 6873), ((modelica_integer) 11)), omc_Tpl_textString(threadData, _txt_3));
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_preExp;
tmpMeta[0+2] = _a_varDecls;
tmpMeta[0+3] = _a_auxFunction;
goto tmp3_done;
}
case 3: {
_txt = tmp4_1;
_a_preExp = tmp4_4;
_a_varDecls = tmp4_5;
_a_auxFunction = tmp4_6;
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_preExp;
tmpMeta[0+2] = _a_varDecls;
tmpMeta[0+3] = _a_auxFunction;
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta[0+0];
_out_a_preExp = tmpMeta[0+1];
_out_a_varDecls = tmpMeta[0+2];
_out_a_auxFunction = tmpMeta[0+3];
_return: OMC_LABEL_UNUSED
if (out_out_a_preExp) { *out_out_a_preExp = _out_a_preExp; }
if (out_out_a_varDecls) { *out_out_a_varDecls = _out_a_varDecls; }
if (out_out_a_auxFunction) { *out_out_a_auxFunction = _out_a_auxFunction; }
return _out_txt;
}
DLLExport
modelica_metatype omc_CodegenCFunctions_daeExpTsub(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_inExp, modelica_metatype _in_a_context, modelica_metatype _in_a_preExp, modelica_metatype _in_a_varDecls, modelica_metatype _in_a_auxFunction, modelica_metatype *out_out_a_preExp, modelica_metatype *out_out_a_varDecls, modelica_metatype *out_out_a_auxFunction)
{
modelica_metatype _out_txt = NULL;
modelica_metatype _out_a_preExp = NULL;
modelica_metatype _out_a_varDecls = NULL;
modelica_metatype _out_a_auxFunction = NULL;
modelica_metatype tmpMeta[9] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_metatype tmp4_2;modelica_metatype tmp4_3;modelica_metatype tmp4_4;modelica_metatype tmp4_5;modelica_metatype tmp4_6;
tmp4_1 = _in_txt;
tmp4_2 = _in_a_inExp;
tmp4_3 = _in_a_context;
tmp4_4 = _in_a_preExp;
tmp4_5 = _in_a_varDecls;
tmp4_6 = _in_a_auxFunction;
{
modelica_metatype _txt = NULL;
modelica_metatype _a_context = NULL;
modelica_metatype _a_preExp = NULL;
modelica_metatype _a_varDecls = NULL;
modelica_metatype _a_auxFunction = NULL;
modelica_metatype _i_inExp = NULL;
modelica_integer _i_ix;
modelica_metatype _i_tys = NULL;
modelica_metatype _i_exp = NULL;
modelica_metatype _txt_8 = NULL;
modelica_metatype _l_res = NULL;
modelica_boolean _ret_6;
modelica_metatype _ret_5 = NULL;
modelica_metatype _ret_4 = NULL;
modelica_metatype _l_additionalOutputs = NULL;
modelica_metatype _txt_2 = NULL;
modelica_metatype _ret_1 = NULL;
modelica_metatype _l_v = NULL;
volatile mmc_switch_type tmp4;
int tmp5;
tmp4 = 0;
for (; tmp4 < 4; tmp4++) {
switch (MMC_SWITCH_CAST(tmp4)) {
case 0: {
modelica_integer tmp6;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,22,3) == 0) goto tmp3_end;
tmpMeta[4] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
tmpMeta[5] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 3));
tmp6 = mmc_unbox_integer(tmpMeta[5]);
if (1 != tmp6) goto tmp3_end;
_i_exp = tmpMeta[4];
_txt = tmp4_1;
_a_context = tmp4_3;
_a_preExp = tmp4_4;
_a_varDecls = tmp4_5;
_a_auxFunction = tmp4_6;
tmpMeta[0+0] = omc_CodegenCFunctions_daeExp(threadData, _txt, _i_exp, _a_context, _a_preExp, _a_varDecls, _a_auxFunction, &tmpMeta[0+1], &tmpMeta[0+2], &tmpMeta[0+3]);
goto tmp3_done;
}
case 1: {
modelica_integer tmp7;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,22,3) == 0) goto tmp3_end;
tmpMeta[4] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[4],13,3) == 0) goto tmp3_end;
tmpMeta[5] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[4]), 4));
tmpMeta[6] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[5]), 2));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[6],14,2) == 0) goto tmp3_end;
tmpMeta[7] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[6]), 2));
tmpMeta[8] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 3));
tmp7 = mmc_unbox_integer(tmpMeta[8]);
_i_exp = tmpMeta[4];
_i_tys = tmpMeta[7];
_i_ix = tmp7;
_txt = tmp4_1;
_a_context = tmp4_3;
_a_preExp = tmp4_4;
_a_varDecls = tmp4_5;
_a_auxFunction = tmp4_6;
_ret_1 = listGet(_i_tys, _i_ix);
_txt_2 = omc_CodegenCFunctions_expTypeArrayIf(threadData, _OMC_LIT20, _ret_1);
_l_v = omc_CodegenCFunctions_tempDecl(threadData, _OMC_LIT20, omc_Tpl_textString(threadData, _txt_2), _a_varDecls ,&_a_varDecls);
_ret_4 = omc_List_restOrEmpty(threadData, _i_tys);
_l_additionalOutputs = omc_Tpl_pushIter(threadData, _OMC_LIT20, _OMC_LIT119);
_l_additionalOutputs = omc_CodegenCFunctions_lm__1033(threadData, _l_additionalOutputs, _ret_4, _l_v, _i_ix);
_l_additionalOutputs = omc_Tpl_popIter(threadData, _l_additionalOutputs);
_ret_5 = listGet(_i_tys, _i_ix);
_ret_6 = omc_Expression_isArrayType(threadData, _ret_5);
_a_preExp = omc_CodegenCFunctions_fun__1034(threadData, _a_preExp, _ret_6, _l_v);
_l_res = omc_CodegenCFunctions_daeExpCallTuple(threadData, _OMC_LIT20, _i_exp, _l_additionalOutputs, _a_context, _a_preExp, _a_varDecls, _a_auxFunction ,&_l_additionalOutputs ,&_a_preExp ,&_a_varDecls ,&_a_auxFunction);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _l_res);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT105);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT89);
_txt = omc_Tpl_writeText(threadData, _txt, _l_v);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_preExp;
tmpMeta[0+2] = _a_varDecls;
tmpMeta[0+3] = _a_auxFunction;
goto tmp3_done;
}
case 2: {
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,22,3) == 0) goto tmp3_end;
_i_inExp = tmp4_2;
_txt = tmp4_1;
_a_preExp = tmp4_4;
_a_varDecls = tmp4_5;
_a_auxFunction = tmp4_6;
_txt_8 = omc_ExpressionDumpTpl_dumpExp(threadData, _OMC_LIT20, _i_inExp, _OMC_LIT231);
_txt_8 = omc_Tpl_writeTok(threadData, _txt_8, _OMC_LIT528);
_txt = omc_CodegenUtil_error(threadData, _txt, omc_Tpl_sourceInfo(threadData, _OMC_LIT27, ((modelica_integer) 6857), ((modelica_integer) 11)), omc_Tpl_textString(threadData, _txt_8));
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_preExp;
tmpMeta[0+2] = _a_varDecls;
tmpMeta[0+3] = _a_auxFunction;
goto tmp3_done;
}
case 3: {
_txt = tmp4_1;
_a_preExp = tmp4_4;
_a_varDecls = tmp4_5;
_a_auxFunction = tmp4_6;
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_preExp;
tmpMeta[0+2] = _a_varDecls;
tmpMeta[0+3] = _a_auxFunction;
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta[0+0];
_out_a_preExp = tmpMeta[0+1];
_out_a_varDecls = tmpMeta[0+2];
_out_a_auxFunction = tmpMeta[0+3];
_return: OMC_LABEL_UNUSED
if (out_out_a_preExp) { *out_out_a_preExp = _out_a_preExp; }
if (out_out_a_varDecls) { *out_out_a_varDecls = _out_a_varDecls; }
if (out_out_a_auxFunction) { *out_out_a_auxFunction = _out_a_auxFunction; }
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__1034(threadData_t *threadData, modelica_metatype _in_txt, modelica_boolean _in_mArg, modelica_metatype _in_a_v)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta[1] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp3_1;modelica_boolean tmp3_2;modelica_metatype tmp3_3;
tmp3_1 = _in_txt;
tmp3_2 = _in_mArg;
tmp3_3 = _in_a_v;
{
modelica_metatype _txt = NULL;
modelica_metatype _a_v = NULL;
volatile mmc_switch_type tmp3;
int tmp4;
tmp3 = 0;
for (; tmp3 < 2; tmp3++) {
switch (MMC_SWITCH_CAST(tmp3)) {
case 0: {
if (0 != tmp3_2) goto tmp2_end;
_txt = tmp3_1;
tmpMeta[0] = _txt;
goto tmp2_done;
}
case 1: {
_txt = tmp3_1;
_a_v = tmp3_3;
_txt = omc_Tpl_writeText(threadData, _txt, _a_v);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT530);
tmpMeta[0] = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT89);
goto tmp2_done;
}
}
goto tmp2_end;
tmp2_end: ;
}
goto goto_1;
goto_1:;
MMC_THROW_INTERNAL();
goto tmp2_done;
tmp2_done:;
}
}
_out_txt = tmpMeta[0];
_return: OMC_LABEL_UNUSED
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__1034(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_mArg, modelica_metatype _in_a_v)
{
modelica_integer tmp1;
modelica_metatype _out_txt = NULL;
tmp1 = mmc_unbox_integer(_in_mArg);
_out_txt = omc_CodegenCFunctions_fun__1034(threadData, _in_txt, tmp1, _in_a_v);
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_lm__1033(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_items, modelica_metatype _in_a_v, modelica_integer _in_a_ix)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta[3] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp3_1;modelica_metatype tmp3_2;modelica_metatype tmp3_3;modelica_integer tmp3_4;
tmp3_1 = _in_txt;
tmp3_2 = _in_items;
tmp3_3 = _in_a_v;
tmp3_4 = _in_a_ix;
{
modelica_metatype _txt = NULL;
modelica_metatype _rest = NULL;
modelica_metatype _a_v = NULL;
modelica_integer _a_ix;
modelica_integer _x_i1;
modelica_boolean _ret_0;
volatile mmc_switch_type tmp3;
int tmp4;
tmp3 = 0;
for (; tmp3 < 2; tmp3++) {
switch (MMC_SWITCH_CAST(tmp3)) {
case 0: {
if (!listEmpty(tmp3_2)) goto tmp2_end;
_txt = tmp3_1;
tmpMeta[0] = _txt;
goto tmp2_done;
}
case 1: {
if (listEmpty(tmp3_2)) goto tmp2_end;
tmpMeta[1] = MMC_CAR(tmp3_2);
tmpMeta[2] = MMC_CDR(tmp3_2);
_rest = tmpMeta[2];
_txt = tmp3_1;
_a_v = tmp3_3;
_a_ix = tmp3_4;
_x_i1 = omc_Tpl_getIteri__i0(threadData, _txt);
_ret_0 = (_x_i1 == _a_ix);
_txt = omc_CodegenCFunctions_fun__1032(threadData, _txt, _ret_0, _a_v);
_txt = omc_Tpl_nextIter(threadData, _txt);
_in_txt = _txt;
_in_items = _rest;
_in_a_v = _a_v;
_in_a_ix = _a_ix;
goto _tailrecursive;
goto tmp2_done;
}
}
goto tmp2_end;
tmp2_end: ;
}
goto goto_1;
goto_1:;
MMC_THROW_INTERNAL();
goto tmp2_done;
tmp2_done:;
}
}
_out_txt = tmpMeta[0];
_return: OMC_LABEL_UNUSED
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_lm__1033(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_items, modelica_metatype _in_a_v, modelica_metatype _in_a_ix)
{
modelica_integer tmp1;
modelica_metatype _out_txt = NULL;
tmp1 = mmc_unbox_integer(_in_a_ix);
_out_txt = omc_CodegenCFunctions_lm__1033(threadData, _in_txt, _in_items, _in_a_v, tmp1);
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__1032(threadData_t *threadData, modelica_metatype _in_txt, modelica_boolean _in_mArg, modelica_metatype _in_a_v)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta[1] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp3_1;modelica_boolean tmp3_2;modelica_metatype tmp3_3;
tmp3_1 = _in_txt;
tmp3_2 = _in_mArg;
tmp3_3 = _in_a_v;
{
modelica_metatype _txt = NULL;
modelica_metatype _a_v = NULL;
volatile mmc_switch_type tmp3;
int tmp4;
tmp3 = 0;
for (; tmp3 < 2; tmp3++) {
switch (MMC_SWITCH_CAST(tmp3)) {
case 0: {
if (0 != tmp3_2) goto tmp2_end;
_txt = tmp3_1;
tmpMeta[0] = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT532);
goto tmp2_done;
}
case 1: {
_txt = tmp3_1;
_a_v = tmp3_3;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT123);
tmpMeta[0] = omc_Tpl_writeText(threadData, _txt, _a_v);
goto tmp2_done;
}
}
goto tmp2_end;
tmp2_end: ;
}
goto goto_1;
goto_1:;
MMC_THROW_INTERNAL();
goto tmp2_done;
tmp2_done:;
}
}
_out_txt = tmpMeta[0];
_return: OMC_LABEL_UNUSED
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__1032(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_mArg, modelica_metatype _in_a_v)
{
modelica_integer tmp1;
modelica_metatype _out_txt = NULL;
tmp1 = mmc_unbox_integer(_in_mArg);
_out_txt = omc_CodegenCFunctions_fun__1032(threadData, _in_txt, tmp1, _in_a_v);
return _out_txt;
}
DLLExport
modelica_metatype omc_CodegenCFunctions_daeExpCast(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_exp, modelica_metatype _in_a_context, modelica_metatype _in_a_preExp, modelica_metatype _in_a_varDecls, modelica_metatype _in_a_auxFunction, modelica_metatype *out_out_a_preExp, modelica_metatype *out_out_a_varDecls, modelica_metatype *out_out_a_auxFunction)
{
modelica_metatype _out_txt = NULL;
modelica_metatype _out_a_preExp = NULL;
modelica_metatype _out_a_varDecls = NULL;
modelica_metatype _out_a_auxFunction = NULL;
modelica_metatype tmpMeta[6] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_metatype tmp4_2;modelica_metatype tmp4_3;modelica_metatype tmp4_4;modelica_metatype tmp4_5;modelica_metatype tmp4_6;
tmp4_1 = _in_txt;
tmp4_2 = _in_a_exp;
tmp4_3 = _in_a_context;
tmp4_4 = _in_a_preExp;
tmp4_5 = _in_a_varDecls;
tmp4_6 = _in_a_auxFunction;
{
modelica_metatype _txt = NULL;
modelica_metatype _a_context = NULL;
modelica_metatype _a_preExp = NULL;
modelica_metatype _a_varDecls = NULL;
modelica_metatype _a_auxFunction = NULL;
modelica_metatype _i_ty = NULL;
modelica_metatype _i_exp = NULL;
modelica_metatype _l_expVar = NULL;
volatile mmc_switch_type tmp4;
int tmp5;
tmp4 = 0;
for (; tmp4 < 2; tmp4++) {
switch (MMC_SWITCH_CAST(tmp4)) {
case 0: {
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,20,2) == 0) goto tmp3_end;
tmpMeta[4] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
tmpMeta[5] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 3));
_i_ty = tmpMeta[4];
_i_exp = tmpMeta[5];
_txt = tmp4_1;
_a_context = tmp4_3;
_a_preExp = tmp4_4;
_a_varDecls = tmp4_5;
_a_auxFunction = tmp4_6;
_l_expVar = omc_CodegenCFunctions_daeExp(threadData, _OMC_LIT20, _i_exp, _a_context, _a_preExp, _a_varDecls, _a_auxFunction ,&_a_preExp ,&_a_varDecls ,&_a_auxFunction);
_txt = omc_CodegenCFunctions_fun__1030(threadData, _txt, _i_ty, _a_preExp, _i_exp, _a_varDecls, _l_expVar, _a_context ,&_a_preExp ,&_a_varDecls);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_preExp;
tmpMeta[0+2] = _a_varDecls;
tmpMeta[0+3] = _a_auxFunction;
goto tmp3_done;
}
case 1: {
_txt = tmp4_1;
_a_preExp = tmp4_4;
_a_varDecls = tmp4_5;
_a_auxFunction = tmp4_6;
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_preExp;
tmpMeta[0+2] = _a_varDecls;
tmpMeta[0+3] = _a_auxFunction;
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta[0+0];
_out_a_preExp = tmpMeta[0+1];
_out_a_varDecls = tmpMeta[0+2];
_out_a_auxFunction = tmpMeta[0+3];
_return: OMC_LABEL_UNUSED
if (out_out_a_preExp) { *out_out_a_preExp = _out_a_preExp; }
if (out_out_a_varDecls) { *out_out_a_varDecls = _out_a_varDecls; }
if (out_out_a_auxFunction) { *out_out_a_auxFunction = _out_a_auxFunction; }
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__1030(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_ty, modelica_metatype _in_a_preExp, modelica_metatype _in_a_exp, modelica_metatype _in_a_varDecls, modelica_metatype _in_a_expVar, modelica_metatype _in_a_context, modelica_metatype *out_out_a_preExp, modelica_metatype *out_out_a_varDecls)
{
modelica_metatype _out_txt = NULL;
modelica_metatype _out_a_preExp = NULL;
modelica_metatype _out_a_varDecls = NULL;
modelica_metatype tmpMeta[5] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_metatype tmp4_2;modelica_metatype tmp4_3;modelica_metatype tmp4_4;modelica_metatype tmp4_5;modelica_metatype tmp4_6;modelica_metatype tmp4_7;
tmp4_1 = _in_txt;
tmp4_2 = _in_a_ty;
tmp4_3 = _in_a_preExp;
tmp4_4 = _in_a_exp;
tmp4_5 = _in_a_varDecls;
tmp4_6 = _in_a_expVar;
tmp4_7 = _in_a_context;
{
modelica_metatype _txt = NULL;
modelica_metatype _a_preExp = NULL;
modelica_metatype _a_exp = NULL;
modelica_metatype _a_varDecls = NULL;
modelica_metatype _a_expVar = NULL;
modelica_metatype _a_context = NULL;
modelica_metatype _i_ty1_varLst = NULL;
modelica_metatype _i_ty = NULL;
modelica_metatype _ret_5 = NULL;
modelica_metatype _l_from = NULL;
modelica_metatype _l_to = NULL;
modelica_metatype _l_tevar = NULL;
modelica_metatype _l_tvar = NULL;
modelica_metatype _l_arrayTypeStr = NULL;
volatile mmc_switch_type tmp4;
int tmp5;
tmp4 = 0;
for (; tmp4 < 7; tmp4++) {
switch (MMC_SWITCH_CAST(tmp4)) {
case 0: {
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,0,1) == 0) goto tmp3_end;
_i_ty = tmp4_2;
_txt = tmp4_1;
_a_preExp = tmp4_3;
_a_varDecls = tmp4_5;
_a_expVar = tmp4_6;
_a_context = tmp4_7;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT68);
_txt = omc_CodegenCFunctions_typeCastContext(threadData, _txt, _a_context, _i_ty);
_txt = omc_Tpl_writeText(threadData, _txt, _a_expVar);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT78);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_preExp;
tmpMeta[0+2] = _a_varDecls;
goto tmp3_done;
}
case 1: {
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,1,1) == 0) goto tmp3_end;
_i_ty = tmp4_2;
_txt = tmp4_1;
_a_preExp = tmp4_3;
_a_varDecls = tmp4_5;
_a_expVar = tmp4_6;
_a_context = tmp4_7;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT68);
_txt = omc_CodegenCFunctions_typeCastContext(threadData, _txt, _a_context, _i_ty);
_txt = omc_Tpl_writeText(threadData, _txt, _a_expVar);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT78);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_preExp;
tmpMeta[0+2] = _a_varDecls;
goto tmp3_done;
}
case 2: {
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,5,5) == 0) goto tmp3_end;
_i_ty = tmp4_2;
_txt = tmp4_1;
_a_preExp = tmp4_3;
_a_varDecls = tmp4_5;
_a_expVar = tmp4_6;
_a_context = tmp4_7;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT68);
_txt = omc_CodegenCFunctions_typeCastContext(threadData, _txt, _a_context, _i_ty);
_txt = omc_Tpl_writeText(threadData, _txt, _a_expVar);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT78);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_preExp;
tmpMeta[0+2] = _a_varDecls;
goto tmp3_done;
}
case 3: {
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,3,1) == 0) goto tmp3_end;
_i_ty = tmp4_2;
_txt = tmp4_1;
_a_preExp = tmp4_3;
_a_varDecls = tmp4_5;
_a_expVar = tmp4_6;
_a_context = tmp4_7;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT68);
_txt = omc_CodegenCFunctions_typeCastContext(threadData, _txt, _a_context, _i_ty);
_txt = omc_Tpl_writeText(threadData, _txt, _a_expVar);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT78);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_preExp;
tmpMeta[0+2] = _a_varDecls;
goto tmp3_done;
}
case 4: {
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,6,2) == 0) goto tmp3_end;
tmpMeta[3] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
_i_ty = tmpMeta[3];
_txt = tmp4_1;
_a_preExp = tmp4_3;
_a_exp = tmp4_4;
_a_varDecls = tmp4_5;
_a_expVar = tmp4_6;
_l_arrayTypeStr = omc_CodegenCFunctions_expTypeArray(threadData, _OMC_LIT20, _i_ty);
_l_tvar = omc_CodegenCFunctions_tempDecl(threadData, _OMC_LIT20, omc_Tpl_textString(threadData, _l_arrayTypeStr), _a_varDecls ,&_a_varDecls);
_l_tevar = omc_CodegenCFunctions_tempDecl(threadData, _OMC_LIT20, omc_Tpl_textString(threadData, _l_arrayTypeStr), _a_varDecls ,&_a_varDecls);
_l_to = omc_CodegenCFunctions_expTypeShort(threadData, _OMC_LIT20, _i_ty);
_l_from = omc_CodegenCFunctions_expTypeFromExpShort(threadData, _OMC_LIT20, _a_exp);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _l_tevar);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT121);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _a_expVar);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT105);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT89);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT534);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _l_from);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT536);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _l_to);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT298);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _l_tevar);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT123);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _l_tvar);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT290);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT89);
_txt = omc_Tpl_writeText(threadData, _txt, _l_tvar);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_preExp;
tmpMeta[0+2] = _a_varDecls;
goto tmp3_done;
}
case 5: {
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,9,3) == 0) goto tmp3_end;
tmpMeta[3] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[3],3,1) == 0) goto tmp3_end;
tmpMeta[4] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 3));
_i_ty1_varLst = tmpMeta[4];
_txt = tmp4_1;
_a_preExp = tmp4_3;
_a_exp = tmp4_4;
_a_varDecls = tmp4_5;
_a_expVar = tmp4_6;
_ret_5 = omc_Expression_typeof(threadData, _a_exp);
_txt = omc_CodegenCFunctions_fun__1029(threadData, _txt, _ret_5, _a_expVar, _a_exp, _i_ty1_varLst);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_preExp;
tmpMeta[0+2] = _a_varDecls;
goto tmp3_done;
}
case 6: {
_txt = tmp4_1;
_a_preExp = tmp4_3;
_a_varDecls = tmp4_5;
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_preExp;
tmpMeta[0+2] = _a_varDecls;
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta[0+0];
_out_a_preExp = tmpMeta[0+1];
_out_a_varDecls = tmpMeta[0+2];
_return: OMC_LABEL_UNUSED
if (out_out_a_preExp) { *out_out_a_preExp = _out_a_preExp; }
if (out_out_a_varDecls) { *out_out_a_varDecls = _out_a_varDecls; }
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__1029(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_mArg, modelica_metatype _in_a_expVar, modelica_metatype _in_a_exp, modelica_metatype _in_a_ty1_varLst)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta[2] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp3_1;modelica_metatype tmp3_2;modelica_metatype tmp3_3;modelica_metatype tmp3_4;modelica_metatype tmp3_5;
tmp3_1 = _in_txt;
tmp3_2 = _in_mArg;
tmp3_3 = _in_a_expVar;
tmp3_4 = _in_a_exp;
tmp3_5 = _in_a_ty1_varLst;
{
modelica_metatype _txt = NULL;
modelica_metatype _a_expVar = NULL;
modelica_metatype _a_exp = NULL;
modelica_metatype _a_ty1_varLst = NULL;
modelica_metatype _i_ty2_varLst = NULL;
modelica_boolean _ret_2;
modelica_integer _ret_1;
modelica_integer _ret_0;
volatile mmc_switch_type tmp3;
int tmp4;
tmp3 = 0;
for (; tmp3 < 2; tmp3++) {
switch (MMC_SWITCH_CAST(tmp3)) {
case 0: {
if (mmc__uniontype__metarecord__typedef__equal(tmp3_2,9,3) == 0) goto tmp2_end;
tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_2), 3));
_i_ty2_varLst = tmpMeta[1];
_txt = tmp3_1;
_a_expVar = tmp3_3;
_a_exp = tmp3_4;
_a_ty1_varLst = tmp3_5;
_ret_0 = listLength(_a_ty1_varLst);
_ret_1 = listLength(_i_ty2_varLst);
_ret_2 = (_ret_0 == _ret_1);
tmpMeta[0] = omc_CodegenCFunctions_fun__1028(threadData, _txt, _ret_2, _a_expVar, _a_exp);
goto tmp2_done;
}
case 1: {
_txt = tmp3_1;
_a_expVar = tmp3_3;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT68);
_txt = omc_Tpl_writeText(threadData, _txt, _a_expVar);
tmpMeta[0] = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT538);
goto tmp2_done;
}
}
goto tmp2_end;
tmp2_end: ;
}
goto goto_1;
goto_1:;
MMC_THROW_INTERNAL();
goto tmp2_done;
tmp2_done:;
}
}
_out_txt = tmpMeta[0];
_return: OMC_LABEL_UNUSED
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__1028(threadData_t *threadData, modelica_metatype _in_txt, modelica_boolean _in_mArg, modelica_metatype _in_a_expVar, modelica_metatype _in_a_exp)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta[1] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp3_1;modelica_boolean tmp3_2;modelica_metatype tmp3_3;modelica_metatype tmp3_4;
tmp3_1 = _in_txt;
tmp3_2 = _in_mArg;
tmp3_3 = _in_a_expVar;
tmp3_4 = _in_a_exp;
{
modelica_metatype _txt = NULL;
modelica_metatype _a_expVar = NULL;
modelica_metatype _a_exp = NULL;
modelica_metatype _txt_0 = NULL;
volatile mmc_switch_type tmp3;
int tmp4;
tmp3 = 0;
for (; tmp3 < 2; tmp3++) {
switch (MMC_SWITCH_CAST(tmp3)) {
case 0: {
if (0 != tmp3_2) goto tmp2_end;
_txt = tmp3_1;
_a_exp = tmp3_4;
_txt_0 = omc_Tpl_writeTok(threadData, _OMC_LIT20, _OMC_LIT540);
_txt_0 = omc_ExpressionDumpTpl_dumpExp(threadData, _txt_0, _a_exp, _OMC_LIT231);
tmpMeta[0] = omc_CodegenUtil_error(threadData, _txt, omc_Tpl_sourceInfo(threadData, _OMC_LIT27, ((modelica_integer) 6830), ((modelica_integer) 17)), omc_Tpl_textString(threadData, _txt_0));
goto tmp2_done;
}
case 1: {
_txt = tmp3_1;
_a_expVar = tmp3_3;
tmpMeta[0] = omc_Tpl_writeText(threadData, _txt, _a_expVar);
goto tmp2_done;
}
}
goto tmp2_end;
tmp2_end: ;
}
goto goto_1;
goto_1:;
MMC_THROW_INTERNAL();
goto tmp2_done;
tmp2_done:;
}
}
_out_txt = tmpMeta[0];
_return: OMC_LABEL_UNUSED
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__1028(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_mArg, modelica_metatype _in_a_expVar, modelica_metatype _in_a_exp)
{
modelica_integer tmp1;
modelica_metatype _out_txt = NULL;
tmp1 = mmc_unbox_integer(_in_mArg);
_out_txt = omc_CodegenCFunctions_fun__1028(threadData, _in_txt, tmp1, _in_a_expVar, _in_a_exp);
return _out_txt;
}
DLLExport
modelica_metatype omc_CodegenCFunctions_daeExpRange(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_exp, modelica_metatype _in_a_context, modelica_metatype _in_a_preExp, modelica_metatype _in_a_varDecls, modelica_metatype _in_a_auxFunction, modelica_metatype *out_out_a_preExp, modelica_metatype *out_out_a_varDecls, modelica_metatype *out_out_a_auxFunction)
{
modelica_metatype _out_txt = NULL;
modelica_metatype _out_a_preExp = NULL;
modelica_metatype _out_a_varDecls = NULL;
modelica_metatype _out_a_auxFunction = NULL;
modelica_metatype tmpMeta[8] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_metatype tmp4_2;modelica_metatype tmp4_3;modelica_metatype tmp4_4;modelica_metatype tmp4_5;modelica_metatype tmp4_6;
tmp4_1 = _in_txt;
tmp4_2 = _in_a_exp;
tmp4_3 = _in_a_context;
tmp4_4 = _in_a_preExp;
tmp4_5 = _in_a_varDecls;
tmp4_6 = _in_a_auxFunction;
{
modelica_metatype _txt = NULL;
modelica_metatype _a_context = NULL;
modelica_metatype _a_preExp = NULL;
modelica_metatype _a_varDecls = NULL;
modelica_metatype _a_auxFunction = NULL;
modelica_metatype _i_step = NULL;
modelica_metatype _i_stop = NULL;
modelica_metatype _i_start = NULL;
modelica_metatype _i_ty = NULL;
modelica_metatype _l_step__exp = NULL;
modelica_metatype _l_tmp = NULL;
modelica_metatype _l_stop__exp = NULL;
modelica_metatype _l_start__exp = NULL;
modelica_metatype _l_ty__str = NULL;
volatile mmc_switch_type tmp4;
int tmp5;
tmp4 = 0;
for (; tmp4 < 2; tmp4++) {
switch (MMC_SWITCH_CAST(tmp4)) {
case 0: {
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,18,4) == 0) goto tmp3_end;
tmpMeta[4] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
tmpMeta[5] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 3));
tmpMeta[6] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 4));
tmpMeta[7] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 5));
_i_ty = tmpMeta[4];
_i_start = tmpMeta[5];
_i_step = tmpMeta[6];
_i_stop = tmpMeta[7];
_txt = tmp4_1;
_a_context = tmp4_3;
_a_preExp = tmp4_4;
_a_varDecls = tmp4_5;
_a_auxFunction = tmp4_6;
_l_ty__str = omc_CodegenCFunctions_expTypeArray(threadData, _OMC_LIT20, _i_ty);
_l_start__exp = omc_CodegenCFunctions_daeExp(threadData, _OMC_LIT20, _i_start, _a_context, _a_preExp, _a_varDecls, _a_auxFunction ,&_a_preExp ,&_a_varDecls ,&_a_auxFunction);
_l_stop__exp = omc_CodegenCFunctions_daeExp(threadData, _OMC_LIT20, _i_stop, _a_context, _a_preExp, _a_varDecls, _a_auxFunction ,&_a_preExp ,&_a_varDecls ,&_a_auxFunction);
_l_tmp = omc_CodegenCFunctions_tempDecl(threadData, _OMC_LIT20, omc_Tpl_textString(threadData, _l_ty__str), _a_varDecls ,&_a_varDecls);
_l_step__exp = omc_CodegenCFunctions_fun__1026(threadData, _OMC_LIT20, _i_step, _a_auxFunction, _a_varDecls, _a_preExp, _a_context ,&_a_auxFunction ,&_a_varDecls ,&_a_preExp);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT542);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _l_ty__str);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT544);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _l_tmp);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT292);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _l_start__exp);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT292);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _l_step__exp);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT292);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _l_stop__exp);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT290);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT89);
_txt = omc_Tpl_writeText(threadData, _txt, _l_tmp);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_preExp;
tmpMeta[0+2] = _a_varDecls;
tmpMeta[0+3] = _a_auxFunction;
goto tmp3_done;
}
case 1: {
_txt = tmp4_1;
_a_preExp = tmp4_4;
_a_varDecls = tmp4_5;
_a_auxFunction = tmp4_6;
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_preExp;
tmpMeta[0+2] = _a_varDecls;
tmpMeta[0+3] = _a_auxFunction;
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta[0+0];
_out_a_preExp = tmpMeta[0+1];
_out_a_varDecls = tmpMeta[0+2];
_out_a_auxFunction = tmpMeta[0+3];
_return: OMC_LABEL_UNUSED
if (out_out_a_preExp) { *out_out_a_preExp = _out_a_preExp; }
if (out_out_a_varDecls) { *out_out_a_varDecls = _out_a_varDecls; }
if (out_out_a_auxFunction) { *out_out_a_auxFunction = _out_a_auxFunction; }
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__1026(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_step, modelica_metatype _in_a_auxFunction, modelica_metatype _in_a_varDecls, modelica_metatype _in_a_preExp, modelica_metatype _in_a_context, modelica_metatype *out_out_a_auxFunction, modelica_metatype *out_out_a_varDecls, modelica_metatype *out_out_a_preExp)
{
modelica_metatype _out_txt = NULL;
modelica_metatype _out_a_auxFunction = NULL;
modelica_metatype _out_a_varDecls = NULL;
modelica_metatype _out_a_preExp = NULL;
modelica_metatype tmpMeta[5] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_metatype tmp4_2;modelica_metatype tmp4_3;modelica_metatype tmp4_4;modelica_metatype tmp4_5;modelica_metatype tmp4_6;
tmp4_1 = _in_txt;
tmp4_2 = _in_a_step;
tmp4_3 = _in_a_auxFunction;
tmp4_4 = _in_a_varDecls;
tmp4_5 = _in_a_preExp;
tmp4_6 = _in_a_context;
{
modelica_metatype _txt = NULL;
modelica_metatype _a_auxFunction = NULL;
modelica_metatype _a_varDecls = NULL;
modelica_metatype _a_preExp = NULL;
modelica_metatype _a_context = NULL;
modelica_metatype _i_stepExp = NULL;
volatile mmc_switch_type tmp4;
int tmp5;
tmp4 = 0;
for (; tmp4 < 2; tmp4++) {
switch (MMC_SWITCH_CAST(tmp4)) {
case 0: {
if (optionNone(tmp4_2)) goto tmp3_end;
tmpMeta[4] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 1));
_i_stepExp = tmpMeta[4];
_txt = tmp4_1;
_a_auxFunction = tmp4_3;
_a_varDecls = tmp4_4;
_a_preExp = tmp4_5;
_a_context = tmp4_6;
_txt = omc_CodegenCFunctions_daeExp(threadData, _txt, _i_stepExp, _a_context, _a_preExp, _a_varDecls, _a_auxFunction ,&_a_preExp ,&_a_varDecls ,&_a_auxFunction);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_auxFunction;
tmpMeta[0+2] = _a_varDecls;
tmpMeta[0+3] = _a_preExp;
goto tmp3_done;
}
case 1: {
_txt = tmp4_1;
_a_auxFunction = tmp4_3;
_a_varDecls = tmp4_4;
_a_preExp = tmp4_5;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT399);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_auxFunction;
tmpMeta[0+2] = _a_varDecls;
tmpMeta[0+3] = _a_preExp;
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta[0+0];
_out_a_auxFunction = tmpMeta[0+1];
_out_a_varDecls = tmpMeta[0+2];
_out_a_preExp = tmpMeta[0+3];
_return: OMC_LABEL_UNUSED
if (out_out_a_auxFunction) { *out_out_a_auxFunction = _out_a_auxFunction; }
if (out_out_a_varDecls) { *out_out_a_varDecls = _out_a_varDecls; }
if (out_out_a_preExp) { *out_out_a_preExp = _out_a_preExp; }
return _out_txt;
}
DLLExport
modelica_metatype omc_CodegenCFunctions_daeExpMatrixRow(threadData_t *threadData, modelica_metatype _txt, modelica_metatype _a_row, modelica_string _a_arrayTypeStr, modelica_metatype _a_context, modelica_metatype _a_preExp, modelica_metatype _a_varDecls, modelica_metatype _a_auxFunction, modelica_metatype *out_out_a_preExp, modelica_metatype *out_out_a_varDecls, modelica_metatype *out_out_a_auxFunction)
{
modelica_metatype _out_txt = NULL;
modelica_metatype _out_a_preExp = NULL;
modelica_metatype _out_a_varDecls = NULL;
modelica_metatype _out_a_auxFunction = NULL;
modelica_metatype _l_preExp2 = NULL;
modelica_metatype _l_varLstStr = NULL;
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
_l_varLstStr = _OMC_LIT20;
_l_preExp2 = omc_Tpl_pushIter(threadData, _OMC_LIT20, _OMC_LIT96);
_l_preExp2 = omc_CodegenCFunctions_lm__1024(threadData, _l_preExp2, _a_row, _l_varLstStr, _a_arrayTypeStr, _a_auxFunction, _a_varDecls, _a_preExp, _a_context ,&_l_varLstStr ,&_out_a_auxFunction ,&_out_a_varDecls ,&_out_a_preExp);
_l_preExp2 = omc_Tpl_popIter(threadData, _l_preExp2);
_l_preExp2 = omc_Tpl_writeTok(threadData, _l_preExp2, _OMC_LIT89);
_out_a_preExp = omc_Tpl_writeText(threadData, _out_a_preExp, _l_preExp2);
_out_txt = omc_Tpl_writeText(threadData, _txt, _l_varLstStr);
_return: OMC_LABEL_UNUSED
if (out_out_a_preExp) { *out_out_a_preExp = _out_a_preExp; }
if (out_out_a_varDecls) { *out_out_a_varDecls = _out_a_varDecls; }
if (out_out_a_auxFunction) { *out_out_a_auxFunction = _out_a_auxFunction; }
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_lm__1024(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_items, modelica_metatype _in_a_varLstStr, modelica_string _in_a_arrayTypeStr, modelica_metatype _in_a_auxFunction, modelica_metatype _in_a_varDecls, modelica_metatype _in_a_preExp, modelica_metatype _in_a_context, modelica_metatype *out_out_a_varLstStr, modelica_metatype *out_out_a_auxFunction, modelica_metatype *out_out_a_varDecls, modelica_metatype *out_out_a_preExp)
{
modelica_metatype _out_txt = NULL;
modelica_metatype _out_a_varLstStr = NULL;
modelica_metatype _out_a_auxFunction = NULL;
modelica_metatype _out_a_varDecls = NULL;
modelica_metatype _out_a_preExp = NULL;
modelica_metatype tmpMeta[7] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_metatype tmp4_2;modelica_metatype tmp4_3;modelica_string tmp4_4;modelica_metatype tmp4_5;modelica_metatype tmp4_6;modelica_metatype tmp4_7;modelica_metatype tmp4_8;
tmp4_1 = _in_txt;
tmp4_2 = _in_items;
tmp4_3 = _in_a_varLstStr;
tmp4_4 = _in_a_arrayTypeStr;
tmp4_5 = _in_a_auxFunction;
tmp4_6 = _in_a_varDecls;
tmp4_7 = _in_a_preExp;
tmp4_8 = _in_a_context;
{
modelica_metatype _txt = NULL;
modelica_metatype _rest = NULL;
modelica_metatype _a_varLstStr = NULL;
modelica_string _a_arrayTypeStr = NULL;
modelica_metatype _a_auxFunction = NULL;
modelica_metatype _a_varDecls = NULL;
modelica_metatype _a_preExp = NULL;
modelica_metatype _a_context = NULL;
modelica_metatype _i_e = NULL;
modelica_metatype _l_tmp = NULL;
modelica_metatype _l_expVar = NULL;
volatile mmc_switch_type tmp4;
int tmp5;
tmp4 = 0;
for (; tmp4 < 2; tmp4++) {
switch (MMC_SWITCH_CAST(tmp4)) {
case 0: {
if (!listEmpty(tmp4_2)) goto tmp3_end;
_txt = tmp4_1;
_a_varLstStr = tmp4_3;
_a_auxFunction = tmp4_5;
_a_varDecls = tmp4_6;
_a_preExp = tmp4_7;
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_varLstStr;
tmpMeta[0+2] = _a_auxFunction;
tmpMeta[0+3] = _a_varDecls;
tmpMeta[0+4] = _a_preExp;
goto tmp3_done;
}
case 1: {
if (listEmpty(tmp4_2)) goto tmp3_end;
tmpMeta[5] = MMC_CAR(tmp4_2);
tmpMeta[6] = MMC_CDR(tmp4_2);
_i_e = tmpMeta[5];
_rest = tmpMeta[6];
_txt = tmp4_1;
_a_varLstStr = tmp4_3;
_a_arrayTypeStr = tmp4_4;
_a_auxFunction = tmp4_5;
_a_varDecls = tmp4_6;
_a_preExp = tmp4_7;
_a_context = tmp4_8;
_l_expVar = omc_CodegenCFunctions_daeExp(threadData, _OMC_LIT20, _i_e, _a_context, _a_preExp, _a_varDecls, _a_auxFunction ,&_a_preExp ,&_a_varDecls ,&_a_auxFunction);
_l_tmp = omc_CodegenCFunctions_tempDecl(threadData, _OMC_LIT20, _a_arrayTypeStr, _a_varDecls ,&_a_varDecls);
_a_varLstStr = omc_Tpl_writeTok(threadData, _a_varLstStr, _OMC_LIT123);
_a_varLstStr = omc_Tpl_writeText(threadData, _a_varLstStr, _l_tmp);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT546);
_txt = omc_Tpl_writeStr(threadData, _txt, _a_arrayTypeStr);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT68);
_txt = omc_Tpl_writeText(threadData, _txt, _l_expVar);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT548);
_txt = omc_Tpl_writeText(threadData, _txt, _l_tmp);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT290);
_txt = omc_Tpl_nextIter(threadData, _txt);
_in_txt = _txt;
_in_items = _rest;
_in_a_varLstStr = _a_varLstStr;
_in_a_arrayTypeStr = _a_arrayTypeStr;
_in_a_auxFunction = _a_auxFunction;
_in_a_varDecls = _a_varDecls;
_in_a_preExp = _a_preExp;
_in_a_context = _a_context;
goto _tailrecursive;
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta[0+0];
_out_a_varLstStr = tmpMeta[0+1];
_out_a_auxFunction = tmpMeta[0+2];
_out_a_varDecls = tmpMeta[0+3];
_out_a_preExp = tmpMeta[0+4];
_return: OMC_LABEL_UNUSED
if (out_out_a_varLstStr) { *out_out_a_varLstStr = _out_a_varLstStr; }
if (out_out_a_auxFunction) { *out_out_a_auxFunction = _out_a_auxFunction; }
if (out_out_a_varDecls) { *out_out_a_varDecls = _out_a_varDecls; }
if (out_out_a_preExp) { *out_out_a_preExp = _out_a_preExp; }
return _out_txt;
}
DLLExport
modelica_metatype omc_CodegenCFunctions_daeExpMatrix(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_exp, modelica_metatype _in_a_context, modelica_metatype _in_a_preExp, modelica_metatype _in_a_varDecls, modelica_metatype _in_a_auxFunction, modelica_metatype *out_out_a_preExp, modelica_metatype *out_out_a_varDecls, modelica_metatype *out_out_a_auxFunction)
{
modelica_metatype _out_txt = NULL;
modelica_metatype _out_a_preExp = NULL;
modelica_metatype _out_a_varDecls = NULL;
modelica_metatype _out_a_auxFunction = NULL;
modelica_metatype tmpMeta[8] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_metatype tmp4_2;modelica_metatype tmp4_3;modelica_metatype tmp4_4;modelica_metatype tmp4_5;modelica_metatype tmp4_6;
tmp4_1 = _in_txt;
tmp4_2 = _in_a_exp;
tmp4_3 = _in_a_context;
tmp4_4 = _in_a_preExp;
tmp4_5 = _in_a_varDecls;
tmp4_6 = _in_a_auxFunction;
{
modelica_metatype _txt = NULL;
modelica_metatype _a_context = NULL;
modelica_metatype _a_preExp = NULL;
modelica_metatype _a_varDecls = NULL;
modelica_metatype _a_auxFunction = NULL;
modelica_metatype _i_m_matrix = NULL;
modelica_metatype _i_m_ty = NULL;
modelica_metatype _i_ty = NULL;
modelica_string _str_3 = NULL;
modelica_metatype _l_typeStr = NULL;
modelica_metatype _l_tmp = NULL;
modelica_metatype _l_arrayTypeStr = NULL;
volatile mmc_switch_type tmp4;
int tmp5;
tmp4 = 0;
for (; tmp4 < 4; tmp4++) {
switch (MMC_SWITCH_CAST(tmp4)) {
case 0: {
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,17,3) == 0) goto tmp3_end;
tmpMeta[4] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
tmpMeta[5] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 4));
if (listEmpty(tmpMeta[5])) goto tmp3_end;
tmpMeta[6] = MMC_CAR(tmpMeta[5]);
tmpMeta[7] = MMC_CDR(tmpMeta[5]);
if (!listEmpty(tmpMeta[6])) goto tmp3_end;
if (!listEmpty(tmpMeta[7])) goto tmp3_end;
_i_ty = tmpMeta[4];
_txt = tmp4_1;
_a_preExp = tmp4_4;
_a_varDecls = tmp4_5;
_a_auxFunction = tmp4_6;
_l_arrayTypeStr = omc_CodegenCFunctions_expTypeArray(threadData, _OMC_LIT20, _i_ty);
_l_tmp = omc_CodegenCFunctions_tempDecl(threadData, _OMC_LIT20, omc_Tpl_textString(threadData, _l_arrayTypeStr), _a_varDecls ,&_a_varDecls);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT296);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _l_arrayTypeStr);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT298);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _l_tmp);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT550);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT89);
_txt = omc_Tpl_writeText(threadData, _txt, _l_tmp);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_preExp;
tmpMeta[0+2] = _a_varDecls;
tmpMeta[0+3] = _a_auxFunction;
goto tmp3_done;
}
case 1: {
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,17,3) == 0) goto tmp3_end;
tmpMeta[4] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
tmpMeta[5] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 4));
if (!listEmpty(tmpMeta[5])) goto tmp3_end;
_i_ty = tmpMeta[4];
_txt = tmp4_1;
_a_preExp = tmp4_4;
_a_varDecls = tmp4_5;
_a_auxFunction = tmp4_6;
_l_arrayTypeStr = omc_CodegenCFunctions_expTypeArray(threadData, _OMC_LIT20, _i_ty);
_l_tmp = omc_CodegenCFunctions_tempDecl(threadData, _OMC_LIT20, omc_Tpl_textString(threadData, _l_arrayTypeStr), _a_varDecls ,&_a_varDecls);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT296);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _l_arrayTypeStr);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT298);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _l_tmp);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT550);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT89);
_txt = omc_Tpl_writeText(threadData, _txt, _l_tmp);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_preExp;
tmpMeta[0+2] = _a_varDecls;
tmpMeta[0+3] = _a_auxFunction;
goto tmp3_done;
}
case 2: {
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,17,3) == 0) goto tmp3_end;
tmpMeta[4] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
tmpMeta[5] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 4));
_i_m_ty = tmpMeta[4];
_i_m_matrix = tmpMeta[5];
_txt = tmp4_1;
_a_context = tmp4_3;
_a_preExp = tmp4_4;
_a_varDecls = tmp4_5;
_a_auxFunction = tmp4_6;
_l_typeStr = omc_CodegenCFunctions_expTypeShort(threadData, _OMC_LIT20, _i_m_ty);
_l_arrayTypeStr = omc_CodegenCFunctions_expTypeArray(threadData, _OMC_LIT20, _i_m_ty);
_str_3 = omc_Tpl_textString(threadData, _l_typeStr);
_txt = omc_CodegenCFunctions_fun__1022(threadData, _txt, _str_3, _l_typeStr, _a_auxFunction, _a_preExp, _a_context, _i_m_matrix, _a_varDecls, _l_arrayTypeStr ,&_a_auxFunction ,&_a_preExp ,&_a_varDecls);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_preExp;
tmpMeta[0+2] = _a_varDecls;
tmpMeta[0+3] = _a_auxFunction;
goto tmp3_done;
}
case 3: {
_txt = tmp4_1;
_a_preExp = tmp4_4;
_a_varDecls = tmp4_5;
_a_auxFunction = tmp4_6;
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_preExp;
tmpMeta[0+2] = _a_varDecls;
tmpMeta[0+3] = _a_auxFunction;
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta[0+0];
_out_a_preExp = tmpMeta[0+1];
_out_a_varDecls = tmpMeta[0+2];
_out_a_auxFunction = tmpMeta[0+3];
_return: OMC_LABEL_UNUSED
if (out_out_a_preExp) { *out_out_a_preExp = _out_a_preExp; }
if (out_out_a_varDecls) { *out_out_a_varDecls = _out_a_varDecls; }
if (out_out_a_auxFunction) { *out_out_a_auxFunction = _out_a_auxFunction; }
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__1022(threadData_t *threadData, modelica_metatype _in_txt, modelica_string _in_mArg, modelica_metatype _in_a_typeStr, modelica_metatype _in_a_auxFunction, modelica_metatype _in_a_preExp, modelica_metatype _in_a_context, modelica_metatype _in_a_m_matrix, modelica_metatype _in_a_varDecls, modelica_metatype _in_a_arrayTypeStr, modelica_metatype *out_out_a_auxFunction, modelica_metatype *out_out_a_preExp, modelica_metatype *out_out_a_varDecls)
{
modelica_metatype _out_txt = NULL;
modelica_metatype _out_a_auxFunction = NULL;
modelica_metatype _out_a_preExp = NULL;
modelica_metatype _out_a_varDecls = NULL;
modelica_metatype tmpMeta[4] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_string tmp4_2;modelica_metatype tmp4_3;modelica_metatype tmp4_4;modelica_metatype tmp4_5;modelica_metatype tmp4_6;modelica_metatype tmp4_7;modelica_metatype tmp4_8;modelica_metatype tmp4_9;
tmp4_1 = _in_txt;
tmp4_2 = _in_mArg;
tmp4_3 = _in_a_typeStr;
tmp4_4 = _in_a_auxFunction;
tmp4_5 = _in_a_preExp;
tmp4_6 = _in_a_context;
tmp4_7 = _in_a_m_matrix;
tmp4_8 = _in_a_varDecls;
tmp4_9 = _in_a_arrayTypeStr;
{
modelica_metatype _txt = NULL;
modelica_metatype _a_typeStr = NULL;
modelica_metatype _a_auxFunction = NULL;
modelica_metatype _a_preExp = NULL;
modelica_metatype _a_context = NULL;
modelica_metatype _a_m_matrix = NULL;
modelica_metatype _a_varDecls = NULL;
modelica_metatype _a_arrayTypeStr = NULL;
modelica_integer _ret_16;
modelica_metatype _l_catAlloc = NULL;
modelica_metatype _l_promote = NULL;
modelica_metatype _l_vars2 = NULL;
modelica_integer _ret_12;
modelica_metatype _ret_11 = NULL;
modelica_integer _ret_10;
modelica_integer _ret_9;
modelica_metatype _ret_8 = NULL;
modelica_integer _ret_7;
modelica_metatype _l_matrix = NULL;
modelica_integer _ret_5;
modelica_metatype _ret_4 = NULL;
modelica_metatype _l_cols = NULL;
modelica_integer _ret_2;
modelica_metatype _l_rows = NULL;
modelica_metatype _l_tmp = NULL;
volatile mmc_switch_type tmp4;
int tmp5;
tmp4 = 0;
for (; tmp4 < 4; tmp4++) {
switch (MMC_SWITCH_CAST(tmp4)) {
case 0: {
if (4 != MMC_STRLEN(tmp4_2) || strcmp(MMC_STRINGDATA(_OMC_LIT565), MMC_STRINGDATA(tmp4_2)) != 0) goto tmp3_end;
_txt = tmp4_1;
_a_typeStr = tmp4_3;
_a_auxFunction = tmp4_4;
_a_preExp = tmp4_5;
_a_context = tmp4_6;
_a_m_matrix = tmp4_7;
_a_varDecls = tmp4_8;
_a_arrayTypeStr = tmp4_9;
_l_tmp = omc_CodegenCFunctions_tempDecl(threadData, _OMC_LIT20, omc_Tpl_textString(threadData, _a_arrayTypeStr), _a_varDecls ,&_a_varDecls);
_ret_2 = listLength(_a_m_matrix);
_l_rows = omc_Tpl_writeStr(threadData, _OMC_LIT20, intString(_ret_2));
_ret_4 = listGet(_a_m_matrix, ((modelica_integer) 1));
_ret_5 = listLength(_ret_4);
_l_cols = omc_Tpl_writeStr(threadData, _OMC_LIT20, intString(_ret_5));
_l_matrix = omc_Tpl_pushIter(threadData, _OMC_LIT20, _OMC_LIT96);
_l_matrix = omc_CodegenCFunctions_lm__1016(threadData, _l_matrix, _a_m_matrix, _l_tmp, _a_typeStr, _a_auxFunction, _a_varDecls, _a_preExp, _a_context ,&_a_auxFunction ,&_a_varDecls ,&_a_preExp);
_l_matrix = omc_Tpl_popIter(threadData, _l_matrix);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT552);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _l_rows);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT226);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _l_cols);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT554);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT89);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT296);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _a_typeStr);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT556);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _l_tmp);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT558);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _l_rows);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT292);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _l_cols);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT290);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT89);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _l_matrix);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT89);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT560);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _l_rows);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT226);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _l_cols);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT554);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT89);
_txt = omc_Tpl_writeText(threadData, _txt, _l_tmp);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_auxFunction;
tmpMeta[0+2] = _a_preExp;
tmpMeta[0+3] = _a_varDecls;
goto tmp3_done;
}
case 1: {
if (7 != MMC_STRLEN(tmp4_2) || strcmp(MMC_STRINGDATA(_OMC_LIT566), MMC_STRINGDATA(tmp4_2)) != 0) goto tmp3_end;
_txt = tmp4_1;
_a_typeStr = tmp4_3;
_a_auxFunction = tmp4_4;
_a_preExp = tmp4_5;
_a_context = tmp4_6;
_a_m_matrix = tmp4_7;
_a_varDecls = tmp4_8;
_a_arrayTypeStr = tmp4_9;
_l_tmp = omc_CodegenCFunctions_tempDecl(threadData, _OMC_LIT20, omc_Tpl_textString(threadData, _a_arrayTypeStr), _a_varDecls ,&_a_varDecls);
_ret_7 = listLength(_a_m_matrix);
_l_rows = omc_Tpl_writeStr(threadData, _OMC_LIT20, intString(_ret_7));
_ret_8 = listGet(_a_m_matrix, ((modelica_integer) 1));
_ret_9 = listLength(_ret_8);
_l_cols = omc_Tpl_writeStr(threadData, _OMC_LIT20, intString(_ret_9));
_l_matrix = omc_Tpl_pushIter(threadData, _OMC_LIT20, _OMC_LIT96);
_l_matrix = omc_CodegenCFunctions_lm__1018(threadData, _l_matrix, _a_m_matrix, _l_tmp, _a_typeStr, _a_auxFunction, _a_varDecls, _a_preExp, _a_context ,&_a_auxFunction ,&_a_varDecls ,&_a_preExp);
_l_matrix = omc_Tpl_popIter(threadData, _l_matrix);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT552);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _l_rows);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT226);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _l_cols);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT554);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT89);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT296);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _a_typeStr);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT556);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _l_tmp);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT558);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _l_rows);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT292);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _l_cols);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT290);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT89);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _l_matrix);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT89);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT560);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _l_rows);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT226);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _l_cols);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT554);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT89);
_txt = omc_Tpl_writeText(threadData, _txt, _l_tmp);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_auxFunction;
tmpMeta[0+2] = _a_preExp;
tmpMeta[0+3] = _a_varDecls;
goto tmp3_done;
}
case 2: {
if (7 != MMC_STRLEN(tmp4_2) || strcmp(MMC_STRINGDATA(_OMC_LIT567), MMC_STRINGDATA(tmp4_2)) != 0) goto tmp3_end;
_txt = tmp4_1;
_a_typeStr = tmp4_3;
_a_auxFunction = tmp4_4;
_a_preExp = tmp4_5;
_a_context = tmp4_6;
_a_m_matrix = tmp4_7;
_a_varDecls = tmp4_8;
_a_arrayTypeStr = tmp4_9;
_l_tmp = omc_CodegenCFunctions_tempDecl(threadData, _OMC_LIT20, omc_Tpl_textString(threadData, _a_arrayTypeStr), _a_varDecls ,&_a_varDecls);
_ret_10 = listLength(_a_m_matrix);
_l_rows = omc_Tpl_writeStr(threadData, _OMC_LIT20, intString(_ret_10));
_ret_11 = listGet(_a_m_matrix, ((modelica_integer) 1));
_ret_12 = listLength(_ret_11);
_l_cols = omc_Tpl_writeStr(threadData, _OMC_LIT20, intString(_ret_12));
_l_matrix = omc_Tpl_pushIter(threadData, _OMC_LIT20, _OMC_LIT96);
_l_matrix = omc_CodegenCFunctions_lm__1020(threadData, _l_matrix, _a_m_matrix, _l_tmp, _a_typeStr, _a_auxFunction, _a_varDecls, _a_preExp, _a_context ,&_a_auxFunction ,&_a_varDecls ,&_a_preExp);
_l_matrix = omc_Tpl_popIter(threadData, _l_matrix);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT552);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _l_rows);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT226);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _l_cols);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT554);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT89);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT296);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _a_typeStr);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT556);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _l_tmp);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT558);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _l_rows);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT292);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _l_cols);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT290);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT89);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _l_matrix);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT89);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT560);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _l_rows);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT226);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _l_cols);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT554);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT89);
_txt = omc_Tpl_writeText(threadData, _txt, _l_tmp);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_auxFunction;
tmpMeta[0+2] = _a_preExp;
tmpMeta[0+3] = _a_varDecls;
goto tmp3_done;
}
case 3: {
_txt = tmp4_1;
_a_auxFunction = tmp4_4;
_a_preExp = tmp4_5;
_a_context = tmp4_6;
_a_m_matrix = tmp4_7;
_a_varDecls = tmp4_8;
_a_arrayTypeStr = tmp4_9;
_l_vars2 = _OMC_LIT20;
_l_promote = _OMC_LIT20;
_l_catAlloc = omc_Tpl_pushIter(threadData, _OMC_LIT20, _OMC_LIT96);
_l_catAlloc = omc_CodegenCFunctions_lm__1021(threadData, _l_catAlloc, _a_m_matrix, _l_vars2, _a_auxFunction, _l_promote, _a_context, _a_varDecls, _a_arrayTypeStr ,&_l_vars2 ,&_a_auxFunction ,&_l_promote ,&_a_varDecls);
_l_catAlloc = omc_Tpl_popIter(threadData, _l_catAlloc);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _l_promote);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _l_catAlloc);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT89);
_l_tmp = omc_CodegenCFunctions_tempDecl(threadData, _OMC_LIT20, omc_Tpl_textString(threadData, _a_arrayTypeStr), _a_varDecls ,&_a_varDecls);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT562);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _a_arrayTypeStr);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT564);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _l_tmp);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT292);
_ret_16 = listLength(_a_m_matrix);
_a_preExp = omc_Tpl_writeStr(threadData, _a_preExp, intString(_ret_16));
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _l_vars2);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT290);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT89);
_txt = omc_Tpl_writeText(threadData, _txt, _l_tmp);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_auxFunction;
tmpMeta[0+2] = _a_preExp;
tmpMeta[0+3] = _a_varDecls;
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta[0+0];
_out_a_auxFunction = tmpMeta[0+1];
_out_a_preExp = tmpMeta[0+2];
_out_a_varDecls = tmpMeta[0+3];
_return: OMC_LABEL_UNUSED
if (out_out_a_auxFunction) { *out_out_a_auxFunction = _out_a_auxFunction; }
if (out_out_a_preExp) { *out_out_a_preExp = _out_a_preExp; }
if (out_out_a_varDecls) { *out_out_a_varDecls = _out_a_varDecls; }
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_lm__1021(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_items, modelica_metatype _in_a_vars2, modelica_metatype _in_a_auxFunction, modelica_metatype _in_a_promote, modelica_metatype _in_a_context, modelica_metatype _in_a_varDecls, modelica_metatype _in_a_arrayTypeStr, modelica_metatype *out_out_a_vars2, modelica_metatype *out_out_a_auxFunction, modelica_metatype *out_out_a_promote, modelica_metatype *out_out_a_varDecls)
{
modelica_metatype _out_txt = NULL;
modelica_metatype _out_a_vars2 = NULL;
modelica_metatype _out_a_auxFunction = NULL;
modelica_metatype _out_a_promote = NULL;
modelica_metatype _out_a_varDecls = NULL;
modelica_metatype tmpMeta[7] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_metatype tmp4_2;modelica_metatype tmp4_3;modelica_metatype tmp4_4;modelica_metatype tmp4_5;modelica_metatype tmp4_6;modelica_metatype tmp4_7;modelica_metatype tmp4_8;
tmp4_1 = _in_txt;
tmp4_2 = _in_items;
tmp4_3 = _in_a_vars2;
tmp4_4 = _in_a_auxFunction;
tmp4_5 = _in_a_promote;
tmp4_6 = _in_a_context;
tmp4_7 = _in_a_varDecls;
tmp4_8 = _in_a_arrayTypeStr;
{
modelica_metatype _txt = NULL;
modelica_metatype _rest = NULL;
modelica_metatype _a_vars2 = NULL;
modelica_metatype _a_auxFunction = NULL;
modelica_metatype _a_promote = NULL;
modelica_metatype _a_context = NULL;
modelica_metatype _a_varDecls = NULL;
modelica_metatype _a_arrayTypeStr = NULL;
modelica_metatype _i_row = NULL;
modelica_integer _ret_2;
modelica_metatype _l_vars = NULL;
modelica_metatype _l_tmp = NULL;
volatile mmc_switch_type tmp4;
int tmp5;
tmp4 = 0;
for (; tmp4 < 2; tmp4++) {
switch (MMC_SWITCH_CAST(tmp4)) {
case 0: {
if (!listEmpty(tmp4_2)) goto tmp3_end;
_txt = tmp4_1;
_a_vars2 = tmp4_3;
_a_auxFunction = tmp4_4;
_a_promote = tmp4_5;
_a_varDecls = tmp4_7;
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_vars2;
tmpMeta[0+2] = _a_auxFunction;
tmpMeta[0+3] = _a_promote;
tmpMeta[0+4] = _a_varDecls;
goto tmp3_done;
}
case 1: {
if (listEmpty(tmp4_2)) goto tmp3_end;
tmpMeta[5] = MMC_CAR(tmp4_2);
tmpMeta[6] = MMC_CDR(tmp4_2);
_i_row = tmpMeta[5];
_rest = tmpMeta[6];
_txt = tmp4_1;
_a_vars2 = tmp4_3;
_a_auxFunction = tmp4_4;
_a_promote = tmp4_5;
_a_context = tmp4_6;
_a_varDecls = tmp4_7;
_a_arrayTypeStr = tmp4_8;
_l_tmp = omc_CodegenCFunctions_tempDecl(threadData, _OMC_LIT20, omc_Tpl_textString(threadData, _a_arrayTypeStr), _a_varDecls ,&_a_varDecls);
_l_vars = omc_CodegenCFunctions_daeExpMatrixRow(threadData, _OMC_LIT20, _i_row, omc_Tpl_textString(threadData, _a_arrayTypeStr), _a_context, _a_promote, _a_varDecls, _a_auxFunction ,&_a_promote ,&_a_varDecls ,&_a_auxFunction);
_a_vars2 = omc_Tpl_writeTok(threadData, _a_vars2, _OMC_LIT123);
_a_vars2 = omc_Tpl_writeText(threadData, _a_vars2, _l_tmp);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT562);
_txt = omc_Tpl_writeText(threadData, _txt, _a_arrayTypeStr);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT569);
_txt = omc_Tpl_writeText(threadData, _txt, _l_tmp);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT292);
_ret_2 = listLength(_i_row);
_txt = omc_Tpl_writeStr(threadData, _txt, intString(_ret_2));
_txt = omc_Tpl_writeText(threadData, _txt, _l_vars);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT290);
_txt = omc_Tpl_nextIter(threadData, _txt);
_in_txt = _txt;
_in_items = _rest;
_in_a_vars2 = _a_vars2;
_in_a_auxFunction = _a_auxFunction;
_in_a_promote = _a_promote;
_in_a_context = _a_context;
_in_a_varDecls = _a_varDecls;
_in_a_arrayTypeStr = _a_arrayTypeStr;
goto _tailrecursive;
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta[0+0];
_out_a_vars2 = tmpMeta[0+1];
_out_a_auxFunction = tmpMeta[0+2];
_out_a_promote = tmpMeta[0+3];
_out_a_varDecls = tmpMeta[0+4];
_return: OMC_LABEL_UNUSED
if (out_out_a_vars2) { *out_out_a_vars2 = _out_a_vars2; }
if (out_out_a_auxFunction) { *out_out_a_auxFunction = _out_a_auxFunction; }
if (out_out_a_promote) { *out_out_a_promote = _out_a_promote; }
if (out_out_a_varDecls) { *out_out_a_varDecls = _out_a_varDecls; }
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_lm__1020(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_items, modelica_metatype _in_a_tmp, modelica_metatype _in_a_typeStr, modelica_metatype _in_a_auxFunction, modelica_metatype _in_a_varDecls, modelica_metatype _in_a_preExp, modelica_metatype _in_a_context, modelica_metatype *out_out_a_auxFunction, modelica_metatype *out_out_a_varDecls, modelica_metatype *out_out_a_preExp)
{
modelica_metatype _out_txt = NULL;
modelica_metatype _out_a_auxFunction = NULL;
modelica_metatype _out_a_varDecls = NULL;
modelica_metatype _out_a_preExp = NULL;
modelica_metatype tmpMeta[6] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_metatype tmp4_2;modelica_metatype tmp4_3;modelica_metatype tmp4_4;modelica_metatype tmp4_5;modelica_metatype tmp4_6;modelica_metatype tmp4_7;modelica_metatype tmp4_8;
tmp4_1 = _in_txt;
tmp4_2 = _in_items;
tmp4_3 = _in_a_tmp;
tmp4_4 = _in_a_typeStr;
tmp4_5 = _in_a_auxFunction;
tmp4_6 = _in_a_varDecls;
tmp4_7 = _in_a_preExp;
tmp4_8 = _in_a_context;
{
modelica_metatype _txt = NULL;
modelica_metatype _rest = NULL;
modelica_metatype _a_tmp = NULL;
modelica_metatype _a_typeStr = NULL;
modelica_metatype _a_auxFunction = NULL;
modelica_metatype _a_varDecls = NULL;
modelica_metatype _a_preExp = NULL;
modelica_metatype _a_context = NULL;
modelica_integer _x_i0;
modelica_metatype _i_row = NULL;
modelica_metatype _l_els = NULL;
volatile mmc_switch_type tmp4;
int tmp5;
tmp4 = 0;
for (; tmp4 < 2; tmp4++) {
switch (MMC_SWITCH_CAST(tmp4)) {
case 0: {
if (!listEmpty(tmp4_2)) goto tmp3_end;
_txt = tmp4_1;
_a_auxFunction = tmp4_5;
_a_varDecls = tmp4_6;
_a_preExp = tmp4_7;
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_auxFunction;
tmpMeta[0+2] = _a_varDecls;
tmpMeta[0+3] = _a_preExp;
goto tmp3_done;
}
case 1: {
if (listEmpty(tmp4_2)) goto tmp3_end;
tmpMeta[4] = MMC_CAR(tmp4_2);
tmpMeta[5] = MMC_CDR(tmp4_2);
_i_row = tmpMeta[4];
_rest = tmpMeta[5];
_txt = tmp4_1;
_a_tmp = tmp4_3;
_a_typeStr = tmp4_4;
_a_auxFunction = tmp4_5;
_a_varDecls = tmp4_6;
_a_preExp = tmp4_7;
_a_context = tmp4_8;
_x_i0 = omc_Tpl_getIteri__i0(threadData, _txt);
_l_els = omc_Tpl_pushIter(threadData, _OMC_LIT20, _OMC_LIT96);
_l_els = omc_CodegenCFunctions_lm__1019(threadData, _l_els, _i_row, _a_tmp, _x_i0, _a_typeStr, _a_auxFunction, _a_varDecls, _a_preExp, _a_context ,&_a_auxFunction ,&_a_varDecls ,&_a_preExp);
_l_els = omc_Tpl_popIter(threadData, _l_els);
_txt = omc_Tpl_writeText(threadData, _txt, _l_els);
_txt = omc_Tpl_nextIter(threadData, _txt);
_in_txt = _txt;
_in_items = _rest;
_in_a_tmp = _a_tmp;
_in_a_typeStr = _a_typeStr;
_in_a_auxFunction = _a_auxFunction;
_in_a_varDecls = _a_varDecls;
_in_a_preExp = _a_preExp;
_in_a_context = _a_context;
goto _tailrecursive;
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta[0+0];
_out_a_auxFunction = tmpMeta[0+1];
_out_a_varDecls = tmpMeta[0+2];
_out_a_preExp = tmpMeta[0+3];
_return: OMC_LABEL_UNUSED
if (out_out_a_auxFunction) { *out_out_a_auxFunction = _out_a_auxFunction; }
if (out_out_a_varDecls) { *out_out_a_varDecls = _out_a_varDecls; }
if (out_out_a_preExp) { *out_out_a_preExp = _out_a_preExp; }
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_lm__1019(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_items, modelica_metatype _in_a_tmp, modelica_integer _in_a_i0, modelica_metatype _in_a_typeStr, modelica_metatype _in_a_auxFunction, modelica_metatype _in_a_varDecls, modelica_metatype _in_a_preExp, modelica_metatype _in_a_context, modelica_metatype *out_out_a_auxFunction, modelica_metatype *out_out_a_varDecls, modelica_metatype *out_out_a_preExp)
{
modelica_metatype _out_txt = NULL;
modelica_metatype _out_a_auxFunction = NULL;
modelica_metatype _out_a_varDecls = NULL;
modelica_metatype _out_a_preExp = NULL;
modelica_metatype tmpMeta[6] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_metatype tmp4_2;modelica_metatype tmp4_3;modelica_integer tmp4_4;modelica_metatype tmp4_5;modelica_metatype tmp4_6;modelica_metatype tmp4_7;modelica_metatype tmp4_8;modelica_metatype tmp4_9;
tmp4_1 = _in_txt;
tmp4_2 = _in_items;
tmp4_3 = _in_a_tmp;
tmp4_4 = _in_a_i0;
tmp4_5 = _in_a_typeStr;
tmp4_6 = _in_a_auxFunction;
tmp4_7 = _in_a_varDecls;
tmp4_8 = _in_a_preExp;
tmp4_9 = _in_a_context;
{
modelica_metatype _txt = NULL;
modelica_metatype _rest = NULL;
modelica_metatype _a_tmp = NULL;
modelica_integer _a_i0;
modelica_metatype _a_typeStr = NULL;
modelica_metatype _a_auxFunction = NULL;
modelica_metatype _a_varDecls = NULL;
modelica_metatype _a_preExp = NULL;
modelica_metatype _a_context = NULL;
modelica_integer _x_j0;
modelica_metatype _i_e = NULL;
modelica_metatype _l_expVar = NULL;
volatile mmc_switch_type tmp4;
int tmp5;
tmp4 = 0;
for (; tmp4 < 2; tmp4++) {
switch (MMC_SWITCH_CAST(tmp4)) {
case 0: {
if (!listEmpty(tmp4_2)) goto tmp3_end;
_txt = tmp4_1;
_a_auxFunction = tmp4_6;
_a_varDecls = tmp4_7;
_a_preExp = tmp4_8;
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_auxFunction;
tmpMeta[0+2] = _a_varDecls;
tmpMeta[0+3] = _a_preExp;
goto tmp3_done;
}
case 1: {
if (listEmpty(tmp4_2)) goto tmp3_end;
tmpMeta[4] = MMC_CAR(tmp4_2);
tmpMeta[5] = MMC_CDR(tmp4_2);
_i_e = tmpMeta[4];
_rest = tmpMeta[5];
_txt = tmp4_1;
_a_tmp = tmp4_3;
_a_i0 = tmp4_4;
_a_typeStr = tmp4_5;
_a_auxFunction = tmp4_6;
_a_varDecls = tmp4_7;
_a_preExp = tmp4_8;
_a_context = tmp4_9;
_x_j0 = omc_Tpl_getIteri__i0(threadData, _txt);
_l_expVar = omc_CodegenCFunctions_daeExp(threadData, _OMC_LIT20, _i_e, _a_context, _a_preExp, _a_varDecls, _a_auxFunction ,&_a_preExp ,&_a_varDecls ,&_a_auxFunction);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT571);
_txt = omc_Tpl_writeText(threadData, _txt, _a_typeStr);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT573);
_txt = omc_Tpl_writeText(threadData, _txt, _l_expVar);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT292);
_txt = omc_Tpl_writeStr(threadData, _txt, intString(_a_i0));
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT292);
_txt = omc_Tpl_writeStr(threadData, _txt, intString(_x_j0));
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT123);
_txt = omc_Tpl_writeText(threadData, _txt, _a_tmp);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT290);
_txt = omc_Tpl_nextIter(threadData, _txt);
_in_txt = _txt;
_in_items = _rest;
_in_a_tmp = _a_tmp;
_in_a_i0 = _a_i0;
_in_a_typeStr = _a_typeStr;
_in_a_auxFunction = _a_auxFunction;
_in_a_varDecls = _a_varDecls;
_in_a_preExp = _a_preExp;
_in_a_context = _a_context;
goto _tailrecursive;
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta[0+0];
_out_a_auxFunction = tmpMeta[0+1];
_out_a_varDecls = tmpMeta[0+2];
_out_a_preExp = tmpMeta[0+3];
_return: OMC_LABEL_UNUSED
if (out_out_a_auxFunction) { *out_out_a_auxFunction = _out_a_auxFunction; }
if (out_out_a_varDecls) { *out_out_a_varDecls = _out_a_varDecls; }
if (out_out_a_preExp) { *out_out_a_preExp = _out_a_preExp; }
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_lm__1019(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_items, modelica_metatype _in_a_tmp, modelica_metatype _in_a_i0, modelica_metatype _in_a_typeStr, modelica_metatype _in_a_auxFunction, modelica_metatype _in_a_varDecls, modelica_metatype _in_a_preExp, modelica_metatype _in_a_context, modelica_metatype *out_out_a_auxFunction, modelica_metatype *out_out_a_varDecls, modelica_metatype *out_out_a_preExp)
{
modelica_integer tmp1;
modelica_metatype _out_txt = NULL;
tmp1 = mmc_unbox_integer(_in_a_i0);
_out_txt = omc_CodegenCFunctions_lm__1019(threadData, _in_txt, _in_items, _in_a_tmp, tmp1, _in_a_typeStr, _in_a_auxFunction, _in_a_varDecls, _in_a_preExp, _in_a_context, out_out_a_auxFunction, out_out_a_varDecls, out_out_a_preExp);
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_lm__1018(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_items, modelica_metatype _in_a_tmp, modelica_metatype _in_a_typeStr, modelica_metatype _in_a_auxFunction, modelica_metatype _in_a_varDecls, modelica_metatype _in_a_preExp, modelica_metatype _in_a_context, modelica_metatype *out_out_a_auxFunction, modelica_metatype *out_out_a_varDecls, modelica_metatype *out_out_a_preExp)
{
modelica_metatype _out_txt = NULL;
modelica_metatype _out_a_auxFunction = NULL;
modelica_metatype _out_a_varDecls = NULL;
modelica_metatype _out_a_preExp = NULL;
modelica_metatype tmpMeta[6] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_metatype tmp4_2;modelica_metatype tmp4_3;modelica_metatype tmp4_4;modelica_metatype tmp4_5;modelica_metatype tmp4_6;modelica_metatype tmp4_7;modelica_metatype tmp4_8;
tmp4_1 = _in_txt;
tmp4_2 = _in_items;
tmp4_3 = _in_a_tmp;
tmp4_4 = _in_a_typeStr;
tmp4_5 = _in_a_auxFunction;
tmp4_6 = _in_a_varDecls;
tmp4_7 = _in_a_preExp;
tmp4_8 = _in_a_context;
{
modelica_metatype _txt = NULL;
modelica_metatype _rest = NULL;
modelica_metatype _a_tmp = NULL;
modelica_metatype _a_typeStr = NULL;
modelica_metatype _a_auxFunction = NULL;
modelica_metatype _a_varDecls = NULL;
modelica_metatype _a_preExp = NULL;
modelica_metatype _a_context = NULL;
modelica_integer _x_i0;
modelica_metatype _i_row = NULL;
modelica_metatype _l_els = NULL;
volatile mmc_switch_type tmp4;
int tmp5;
tmp4 = 0;
for (; tmp4 < 2; tmp4++) {
switch (MMC_SWITCH_CAST(tmp4)) {
case 0: {
if (!listEmpty(tmp4_2)) goto tmp3_end;
_txt = tmp4_1;
_a_auxFunction = tmp4_5;
_a_varDecls = tmp4_6;
_a_preExp = tmp4_7;
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_auxFunction;
tmpMeta[0+2] = _a_varDecls;
tmpMeta[0+3] = _a_preExp;
goto tmp3_done;
}
case 1: {
if (listEmpty(tmp4_2)) goto tmp3_end;
tmpMeta[4] = MMC_CAR(tmp4_2);
tmpMeta[5] = MMC_CDR(tmp4_2);
_i_row = tmpMeta[4];
_rest = tmpMeta[5];
_txt = tmp4_1;
_a_tmp = tmp4_3;
_a_typeStr = tmp4_4;
_a_auxFunction = tmp4_5;
_a_varDecls = tmp4_6;
_a_preExp = tmp4_7;
_a_context = tmp4_8;
_x_i0 = omc_Tpl_getIteri__i0(threadData, _txt);
_l_els = omc_Tpl_pushIter(threadData, _OMC_LIT20, _OMC_LIT96);
_l_els = omc_CodegenCFunctions_lm__1017(threadData, _l_els, _i_row, _a_tmp, _x_i0, _a_typeStr, _a_auxFunction, _a_varDecls, _a_preExp, _a_context ,&_a_auxFunction ,&_a_varDecls ,&_a_preExp);
_l_els = omc_Tpl_popIter(threadData, _l_els);
_txt = omc_Tpl_writeText(threadData, _txt, _l_els);
_txt = omc_Tpl_nextIter(threadData, _txt);
_in_txt = _txt;
_in_items = _rest;
_in_a_tmp = _a_tmp;
_in_a_typeStr = _a_typeStr;
_in_a_auxFunction = _a_auxFunction;
_in_a_varDecls = _a_varDecls;
_in_a_preExp = _a_preExp;
_in_a_context = _a_context;
goto _tailrecursive;
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta[0+0];
_out_a_auxFunction = tmpMeta[0+1];
_out_a_varDecls = tmpMeta[0+2];
_out_a_preExp = tmpMeta[0+3];
_return: OMC_LABEL_UNUSED
if (out_out_a_auxFunction) { *out_out_a_auxFunction = _out_a_auxFunction; }
if (out_out_a_varDecls) { *out_out_a_varDecls = _out_a_varDecls; }
if (out_out_a_preExp) { *out_out_a_preExp = _out_a_preExp; }
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_lm__1017(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_items, modelica_metatype _in_a_tmp, modelica_integer _in_a_i0, modelica_metatype _in_a_typeStr, modelica_metatype _in_a_auxFunction, modelica_metatype _in_a_varDecls, modelica_metatype _in_a_preExp, modelica_metatype _in_a_context, modelica_metatype *out_out_a_auxFunction, modelica_metatype *out_out_a_varDecls, modelica_metatype *out_out_a_preExp)
{
modelica_metatype _out_txt = NULL;
modelica_metatype _out_a_auxFunction = NULL;
modelica_metatype _out_a_varDecls = NULL;
modelica_metatype _out_a_preExp = NULL;
modelica_metatype tmpMeta[6] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_metatype tmp4_2;modelica_metatype tmp4_3;modelica_integer tmp4_4;modelica_metatype tmp4_5;modelica_metatype tmp4_6;modelica_metatype tmp4_7;modelica_metatype tmp4_8;modelica_metatype tmp4_9;
tmp4_1 = _in_txt;
tmp4_2 = _in_items;
tmp4_3 = _in_a_tmp;
tmp4_4 = _in_a_i0;
tmp4_5 = _in_a_typeStr;
tmp4_6 = _in_a_auxFunction;
tmp4_7 = _in_a_varDecls;
tmp4_8 = _in_a_preExp;
tmp4_9 = _in_a_context;
{
modelica_metatype _txt = NULL;
modelica_metatype _rest = NULL;
modelica_metatype _a_tmp = NULL;
modelica_integer _a_i0;
modelica_metatype _a_typeStr = NULL;
modelica_metatype _a_auxFunction = NULL;
modelica_metatype _a_varDecls = NULL;
modelica_metatype _a_preExp = NULL;
modelica_metatype _a_context = NULL;
modelica_integer _x_j0;
modelica_metatype _i_e = NULL;
modelica_metatype _l_expVar = NULL;
volatile mmc_switch_type tmp4;
int tmp5;
tmp4 = 0;
for (; tmp4 < 2; tmp4++) {
switch (MMC_SWITCH_CAST(tmp4)) {
case 0: {
if (!listEmpty(tmp4_2)) goto tmp3_end;
_txt = tmp4_1;
_a_auxFunction = tmp4_6;
_a_varDecls = tmp4_7;
_a_preExp = tmp4_8;
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_auxFunction;
tmpMeta[0+2] = _a_varDecls;
tmpMeta[0+3] = _a_preExp;
goto tmp3_done;
}
case 1: {
if (listEmpty(tmp4_2)) goto tmp3_end;
tmpMeta[4] = MMC_CAR(tmp4_2);
tmpMeta[5] = MMC_CDR(tmp4_2);
_i_e = tmpMeta[4];
_rest = tmpMeta[5];
_txt = tmp4_1;
_a_tmp = tmp4_3;
_a_i0 = tmp4_4;
_a_typeStr = tmp4_5;
_a_auxFunction = tmp4_6;
_a_varDecls = tmp4_7;
_a_preExp = tmp4_8;
_a_context = tmp4_9;
_x_j0 = omc_Tpl_getIteri__i0(threadData, _txt);
_l_expVar = omc_CodegenCFunctions_daeExp(threadData, _OMC_LIT20, _i_e, _a_context, _a_preExp, _a_varDecls, _a_auxFunction ,&_a_preExp ,&_a_varDecls ,&_a_auxFunction);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT571);
_txt = omc_Tpl_writeText(threadData, _txt, _a_typeStr);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT573);
_txt = omc_Tpl_writeText(threadData, _txt, _l_expVar);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT292);
_txt = omc_Tpl_writeStr(threadData, _txt, intString(_a_i0));
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT292);
_txt = omc_Tpl_writeStr(threadData, _txt, intString(_x_j0));
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT123);
_txt = omc_Tpl_writeText(threadData, _txt, _a_tmp);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT290);
_txt = omc_Tpl_nextIter(threadData, _txt);
_in_txt = _txt;
_in_items = _rest;
_in_a_tmp = _a_tmp;
_in_a_i0 = _a_i0;
_in_a_typeStr = _a_typeStr;
_in_a_auxFunction = _a_auxFunction;
_in_a_varDecls = _a_varDecls;
_in_a_preExp = _a_preExp;
_in_a_context = _a_context;
goto _tailrecursive;
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta[0+0];
_out_a_auxFunction = tmpMeta[0+1];
_out_a_varDecls = tmpMeta[0+2];
_out_a_preExp = tmpMeta[0+3];
_return: OMC_LABEL_UNUSED
if (out_out_a_auxFunction) { *out_out_a_auxFunction = _out_a_auxFunction; }
if (out_out_a_varDecls) { *out_out_a_varDecls = _out_a_varDecls; }
if (out_out_a_preExp) { *out_out_a_preExp = _out_a_preExp; }
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_lm__1017(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_items, modelica_metatype _in_a_tmp, modelica_metatype _in_a_i0, modelica_metatype _in_a_typeStr, modelica_metatype _in_a_auxFunction, modelica_metatype _in_a_varDecls, modelica_metatype _in_a_preExp, modelica_metatype _in_a_context, modelica_metatype *out_out_a_auxFunction, modelica_metatype *out_out_a_varDecls, modelica_metatype *out_out_a_preExp)
{
modelica_integer tmp1;
modelica_metatype _out_txt = NULL;
tmp1 = mmc_unbox_integer(_in_a_i0);
_out_txt = omc_CodegenCFunctions_lm__1017(threadData, _in_txt, _in_items, _in_a_tmp, tmp1, _in_a_typeStr, _in_a_auxFunction, _in_a_varDecls, _in_a_preExp, _in_a_context, out_out_a_auxFunction, out_out_a_varDecls, out_out_a_preExp);
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_lm__1016(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_items, modelica_metatype _in_a_tmp, modelica_metatype _in_a_typeStr, modelica_metatype _in_a_auxFunction, modelica_metatype _in_a_varDecls, modelica_metatype _in_a_preExp, modelica_metatype _in_a_context, modelica_metatype *out_out_a_auxFunction, modelica_metatype *out_out_a_varDecls, modelica_metatype *out_out_a_preExp)
{
modelica_metatype _out_txt = NULL;
modelica_metatype _out_a_auxFunction = NULL;
modelica_metatype _out_a_varDecls = NULL;
modelica_metatype _out_a_preExp = NULL;
modelica_metatype tmpMeta[6] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_metatype tmp4_2;modelica_metatype tmp4_3;modelica_metatype tmp4_4;modelica_metatype tmp4_5;modelica_metatype tmp4_6;modelica_metatype tmp4_7;modelica_metatype tmp4_8;
tmp4_1 = _in_txt;
tmp4_2 = _in_items;
tmp4_3 = _in_a_tmp;
tmp4_4 = _in_a_typeStr;
tmp4_5 = _in_a_auxFunction;
tmp4_6 = _in_a_varDecls;
tmp4_7 = _in_a_preExp;
tmp4_8 = _in_a_context;
{
modelica_metatype _txt = NULL;
modelica_metatype _rest = NULL;
modelica_metatype _a_tmp = NULL;
modelica_metatype _a_typeStr = NULL;
modelica_metatype _a_auxFunction = NULL;
modelica_metatype _a_varDecls = NULL;
modelica_metatype _a_preExp = NULL;
modelica_metatype _a_context = NULL;
modelica_integer _x_i0;
modelica_metatype _i_row = NULL;
modelica_metatype _l_els = NULL;
volatile mmc_switch_type tmp4;
int tmp5;
tmp4 = 0;
for (; tmp4 < 2; tmp4++) {
switch (MMC_SWITCH_CAST(tmp4)) {
case 0: {
if (!listEmpty(tmp4_2)) goto tmp3_end;
_txt = tmp4_1;
_a_auxFunction = tmp4_5;
_a_varDecls = tmp4_6;
_a_preExp = tmp4_7;
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_auxFunction;
tmpMeta[0+2] = _a_varDecls;
tmpMeta[0+3] = _a_preExp;
goto tmp3_done;
}
case 1: {
if (listEmpty(tmp4_2)) goto tmp3_end;
tmpMeta[4] = MMC_CAR(tmp4_2);
tmpMeta[5] = MMC_CDR(tmp4_2);
_i_row = tmpMeta[4];
_rest = tmpMeta[5];
_txt = tmp4_1;
_a_tmp = tmp4_3;
_a_typeStr = tmp4_4;
_a_auxFunction = tmp4_5;
_a_varDecls = tmp4_6;
_a_preExp = tmp4_7;
_a_context = tmp4_8;
_x_i0 = omc_Tpl_getIteri__i0(threadData, _txt);
_l_els = omc_Tpl_pushIter(threadData, _OMC_LIT20, _OMC_LIT96);
_l_els = omc_CodegenCFunctions_lm__1015(threadData, _l_els, _i_row, _a_tmp, _x_i0, _a_typeStr, _a_auxFunction, _a_varDecls, _a_preExp, _a_context ,&_a_auxFunction ,&_a_varDecls ,&_a_preExp);
_l_els = omc_Tpl_popIter(threadData, _l_els);
_txt = omc_Tpl_writeText(threadData, _txt, _l_els);
_txt = omc_Tpl_nextIter(threadData, _txt);
_in_txt = _txt;
_in_items = _rest;
_in_a_tmp = _a_tmp;
_in_a_typeStr = _a_typeStr;
_in_a_auxFunction = _a_auxFunction;
_in_a_varDecls = _a_varDecls;
_in_a_preExp = _a_preExp;
_in_a_context = _a_context;
goto _tailrecursive;
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta[0+0];
_out_a_auxFunction = tmpMeta[0+1];
_out_a_varDecls = tmpMeta[0+2];
_out_a_preExp = tmpMeta[0+3];
_return: OMC_LABEL_UNUSED
if (out_out_a_auxFunction) { *out_out_a_auxFunction = _out_a_auxFunction; }
if (out_out_a_varDecls) { *out_out_a_varDecls = _out_a_varDecls; }
if (out_out_a_preExp) { *out_out_a_preExp = _out_a_preExp; }
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_lm__1015(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_items, modelica_metatype _in_a_tmp, modelica_integer _in_a_i0, modelica_metatype _in_a_typeStr, modelica_metatype _in_a_auxFunction, modelica_metatype _in_a_varDecls, modelica_metatype _in_a_preExp, modelica_metatype _in_a_context, modelica_metatype *out_out_a_auxFunction, modelica_metatype *out_out_a_varDecls, modelica_metatype *out_out_a_preExp)
{
modelica_metatype _out_txt = NULL;
modelica_metatype _out_a_auxFunction = NULL;
modelica_metatype _out_a_varDecls = NULL;
modelica_metatype _out_a_preExp = NULL;
modelica_metatype tmpMeta[6] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_metatype tmp4_2;modelica_metatype tmp4_3;modelica_integer tmp4_4;modelica_metatype tmp4_5;modelica_metatype tmp4_6;modelica_metatype tmp4_7;modelica_metatype tmp4_8;modelica_metatype tmp4_9;
tmp4_1 = _in_txt;
tmp4_2 = _in_items;
tmp4_3 = _in_a_tmp;
tmp4_4 = _in_a_i0;
tmp4_5 = _in_a_typeStr;
tmp4_6 = _in_a_auxFunction;
tmp4_7 = _in_a_varDecls;
tmp4_8 = _in_a_preExp;
tmp4_9 = _in_a_context;
{
modelica_metatype _txt = NULL;
modelica_metatype _rest = NULL;
modelica_metatype _a_tmp = NULL;
modelica_integer _a_i0;
modelica_metatype _a_typeStr = NULL;
modelica_metatype _a_auxFunction = NULL;
modelica_metatype _a_varDecls = NULL;
modelica_metatype _a_preExp = NULL;
modelica_metatype _a_context = NULL;
modelica_integer _x_j0;
modelica_metatype _i_e = NULL;
modelica_metatype _l_expVar = NULL;
volatile mmc_switch_type tmp4;
int tmp5;
tmp4 = 0;
for (; tmp4 < 2; tmp4++) {
switch (MMC_SWITCH_CAST(tmp4)) {
case 0: {
if (!listEmpty(tmp4_2)) goto tmp3_end;
_txt = tmp4_1;
_a_auxFunction = tmp4_6;
_a_varDecls = tmp4_7;
_a_preExp = tmp4_8;
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_auxFunction;
tmpMeta[0+2] = _a_varDecls;
tmpMeta[0+3] = _a_preExp;
goto tmp3_done;
}
case 1: {
if (listEmpty(tmp4_2)) goto tmp3_end;
tmpMeta[4] = MMC_CAR(tmp4_2);
tmpMeta[5] = MMC_CDR(tmp4_2);
_i_e = tmpMeta[4];
_rest = tmpMeta[5];
_txt = tmp4_1;
_a_tmp = tmp4_3;
_a_i0 = tmp4_4;
_a_typeStr = tmp4_5;
_a_auxFunction = tmp4_6;
_a_varDecls = tmp4_7;
_a_preExp = tmp4_8;
_a_context = tmp4_9;
_x_j0 = omc_Tpl_getIteri__i0(threadData, _txt);
_l_expVar = omc_CodegenCFunctions_daeExp(threadData, _OMC_LIT20, _i_e, _a_context, _a_preExp, _a_varDecls, _a_auxFunction ,&_a_preExp ,&_a_varDecls ,&_a_auxFunction);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT571);
_txt = omc_Tpl_writeText(threadData, _txt, _a_typeStr);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT573);
_txt = omc_Tpl_writeText(threadData, _txt, _l_expVar);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT292);
_txt = omc_Tpl_writeStr(threadData, _txt, intString(_a_i0));
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT292);
_txt = omc_Tpl_writeStr(threadData, _txt, intString(_x_j0));
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT123);
_txt = omc_Tpl_writeText(threadData, _txt, _a_tmp);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT290);
_txt = omc_Tpl_nextIter(threadData, _txt);
_in_txt = _txt;
_in_items = _rest;
_in_a_tmp = _a_tmp;
_in_a_i0 = _a_i0;
_in_a_typeStr = _a_typeStr;
_in_a_auxFunction = _a_auxFunction;
_in_a_varDecls = _a_varDecls;
_in_a_preExp = _a_preExp;
_in_a_context = _a_context;
goto _tailrecursive;
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta[0+0];
_out_a_auxFunction = tmpMeta[0+1];
_out_a_varDecls = tmpMeta[0+2];
_out_a_preExp = tmpMeta[0+3];
_return: OMC_LABEL_UNUSED
if (out_out_a_auxFunction) { *out_out_a_auxFunction = _out_a_auxFunction; }
if (out_out_a_varDecls) { *out_out_a_varDecls = _out_a_varDecls; }
if (out_out_a_preExp) { *out_out_a_preExp = _out_a_preExp; }
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_lm__1015(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_items, modelica_metatype _in_a_tmp, modelica_metatype _in_a_i0, modelica_metatype _in_a_typeStr, modelica_metatype _in_a_auxFunction, modelica_metatype _in_a_varDecls, modelica_metatype _in_a_preExp, modelica_metatype _in_a_context, modelica_metatype *out_out_a_auxFunction, modelica_metatype *out_out_a_varDecls, modelica_metatype *out_out_a_preExp)
{
modelica_integer tmp1;
modelica_metatype _out_txt = NULL;
tmp1 = mmc_unbox_integer(_in_a_i0);
_out_txt = omc_CodegenCFunctions_lm__1015(threadData, _in_txt, _in_items, _in_a_tmp, tmp1, _in_a_typeStr, _in_a_auxFunction, _in_a_varDecls, _in_a_preExp, _in_a_context, out_out_a_auxFunction, out_out_a_varDecls, out_out_a_preExp);
return _out_txt;
}
DLLExport
modelica_metatype omc_CodegenCFunctions_daeExpArray(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_exp, modelica_metatype _in_a_context, modelica_metatype _in_a_preExp, modelica_metatype _in_a_varDecls, modelica_metatype _in_a_auxFunction, modelica_metatype *out_out_a_preExp, modelica_metatype *out_out_a_varDecls, modelica_metatype *out_out_a_auxFunction)
{
modelica_metatype _out_txt = NULL;
modelica_metatype _out_a_preExp = NULL;
modelica_metatype _out_a_varDecls = NULL;
modelica_metatype _out_a_auxFunction = NULL;
modelica_metatype tmpMeta[8] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_metatype tmp4_2;modelica_metatype tmp4_3;modelica_metatype tmp4_4;modelica_metatype tmp4_5;modelica_metatype tmp4_6;
tmp4_1 = _in_txt;
tmp4_2 = _in_a_exp;
tmp4_3 = _in_a_context;
tmp4_4 = _in_a_preExp;
tmp4_5 = _in_a_varDecls;
tmp4_6 = _in_a_auxFunction;
{
modelica_metatype _txt = NULL;
modelica_metatype _a_context = NULL;
modelica_metatype _a_preExp = NULL;
modelica_metatype _a_varDecls = NULL;
modelica_metatype _a_auxFunction = NULL;
modelica_boolean _i_scalar;
modelica_metatype _i_array = NULL;
modelica_metatype _i_t = NULL;
modelica_metatype _i_ty = NULL;
modelica_integer _ret_7;
modelica_metatype _l_scalarPrefix = NULL;
modelica_metatype _l_params = NULL;
modelica_integer _ret_3;
modelica_metatype _l_rec__name = NULL;
modelica_metatype _l_arrayVar = NULL;
modelica_metatype _l_arrayTypeStr = NULL;
volatile mmc_switch_type tmp4;
int tmp5;
tmp4 = 0;
for (; tmp4 < 4; tmp4++) {
switch (MMC_SWITCH_CAST(tmp4)) {
case 0: {
modelica_integer tmp6;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,16,3) == 0) goto tmp3_end;
tmpMeta[4] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[4],6,2) == 0) goto tmp3_end;
tmpMeta[5] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[4]), 2));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[5],9,3) == 0) goto tmp3_end;
tmpMeta[6] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 3));
tmp6 = mmc_unbox_integer(tmpMeta[6]);
tmpMeta[7] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 4));
_i_ty = tmpMeta[4];
_i_t = tmpMeta[5];
_i_scalar = tmp6;
_i_array = tmpMeta[7];
_txt = tmp4_1;
_a_context = tmp4_3;
_a_preExp = tmp4_4;
_a_varDecls = tmp4_5;
_a_auxFunction = tmp4_6;
_l_arrayTypeStr = omc_CodegenCFunctions_expTypeArray(threadData, _OMC_LIT20, _i_ty);
_l_arrayVar = omc_CodegenCFunctions_tempDecl(threadData, _OMC_LIT20, omc_Tpl_textString(threadData, _l_arrayTypeStr), _a_varDecls ,&_a_varDecls);
_l_rec__name = omc_CodegenCFunctions_expTypeShort(threadData, _OMC_LIT20, _i_t);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT296);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _l_rec__name);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT556);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _l_arrayVar);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT351);
_ret_3 = listLength(_i_array);
_a_preExp = omc_Tpl_writeStr(threadData, _a_preExp, intString(_ret_3));
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT290);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT89);
_l_params = omc_Tpl_pushIter(threadData, _OMC_LIT20, _OMC_LIT464);
_l_params = omc_CodegenCFunctions_lm__1008(threadData, _l_params, _i_array, _l_arrayVar, _l_rec__name, _a_auxFunction, _a_varDecls, _a_preExp, _a_context, _i_scalar ,&_a_auxFunction ,&_a_varDecls ,&_a_preExp);
_l_params = omc_Tpl_popIter(threadData, _l_params);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _l_params);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT89);
_txt = omc_Tpl_writeText(threadData, _txt, _l_arrayVar);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_preExp;
tmpMeta[0+2] = _a_varDecls;
tmpMeta[0+3] = _a_auxFunction;
goto tmp3_done;
}
case 1: {
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,16,3) == 0) goto tmp3_end;
tmpMeta[4] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 4));
if (!listEmpty(tmpMeta[4])) goto tmp3_end;
_txt = tmp4_1;
_a_preExp = tmp4_4;
_a_varDecls = tmp4_5;
_a_auxFunction = tmp4_6;
_l_arrayVar = omc_CodegenCFunctions_tempDecl(threadData, _OMC_LIT20, _OMC_LIT574, _a_varDecls ,&_a_varDecls);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT576);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _l_arrayVar);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT578);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT89);
_txt = omc_Tpl_writeText(threadData, _txt, _l_arrayVar);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_preExp;
tmpMeta[0+2] = _a_varDecls;
tmpMeta[0+3] = _a_auxFunction;
goto tmp3_done;
}
case 2: {
modelica_integer tmp7;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,16,3) == 0) goto tmp3_end;
tmpMeta[4] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
tmpMeta[5] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 3));
tmp7 = mmc_unbox_integer(tmpMeta[5]);
tmpMeta[6] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 4));
_i_ty = tmpMeta[4];
_i_scalar = tmp7;
_i_array = tmpMeta[6];
_txt = tmp4_1;
_a_context = tmp4_3;
_a_preExp = tmp4_4;
_a_varDecls = tmp4_5;
_a_auxFunction = tmp4_6;
_l_arrayTypeStr = omc_CodegenCFunctions_expTypeArray(threadData, _OMC_LIT20, _i_ty);
_l_arrayVar = omc_CodegenCFunctions_tempDecl(threadData, _OMC_LIT20, omc_Tpl_textString(threadData, _l_arrayTypeStr), _a_varDecls ,&_a_varDecls);
_l_scalarPrefix = omc_CodegenCFunctions_fun__1009(threadData, _OMC_LIT20, _i_scalar);
omc_CodegenCFunctions_fun__1010(threadData, _OMC_LIT20, _i_scalar);
_l_params = omc_Tpl_pushIter(threadData, _OMC_LIT20, _OMC_LIT294);
_l_params = omc_CodegenCFunctions_lm__1012(threadData, _l_params, _i_array, _a_auxFunction, _a_varDecls, _a_preExp, _a_context, _i_scalar ,&_a_auxFunction ,&_a_varDecls ,&_a_preExp);
_l_params = omc_Tpl_popIter(threadData, _l_params);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT580);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _l_scalarPrefix);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _l_arrayTypeStr);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT298);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _l_arrayVar);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT292);
_ret_7 = listLength(_i_array);
_a_preExp = omc_Tpl_writeStr(threadData, _a_preExp, intString(_ret_7));
_a_preExp = omc_CodegenCFunctions_fun__1013(threadData, _a_preExp, _l_params);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _l_params);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT290);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT89);
_txt = omc_Tpl_writeText(threadData, _txt, _l_arrayVar);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_preExp;
tmpMeta[0+2] = _a_varDecls;
tmpMeta[0+3] = _a_auxFunction;
goto tmp3_done;
}
case 3: {
_txt = tmp4_1;
_a_preExp = tmp4_4;
_a_varDecls = tmp4_5;
_a_auxFunction = tmp4_6;
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_preExp;
tmpMeta[0+2] = _a_varDecls;
tmpMeta[0+3] = _a_auxFunction;
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta[0+0];
_out_a_preExp = tmpMeta[0+1];
_out_a_varDecls = tmpMeta[0+2];
_out_a_auxFunction = tmpMeta[0+3];
_return: OMC_LABEL_UNUSED
if (out_out_a_preExp) { *out_out_a_preExp = _out_a_preExp; }
if (out_out_a_varDecls) { *out_out_a_varDecls = _out_a_varDecls; }
if (out_out_a_auxFunction) { *out_out_a_auxFunction = _out_a_auxFunction; }
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__1013(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_params)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta[2] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp3_1;modelica_metatype tmp3_2;
tmp3_1 = _in_txt;
tmp3_2 = _in_a_params;
{
modelica_metatype _txt = NULL;
volatile mmc_switch_type tmp3;
int tmp4;
tmp3 = 0;
for (; tmp3 < 2; tmp3++) {
switch (MMC_SWITCH_CAST(tmp3)) {
case 0: {
if (mmc__uniontype__metarecord__typedef__equal(tmp3_2,0,2) == 0) goto tmp2_end;
tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_2), 2));
if (!listEmpty(tmpMeta[1])) goto tmp2_end;
_txt = tmp3_1;
tmpMeta[0] = _txt;
goto tmp2_done;
}
case 1: {
_txt = tmp3_1;
tmpMeta[0] = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT292);
goto tmp2_done;
}
}
goto tmp2_end;
tmp2_end: ;
}
goto goto_1;
goto_1:;
MMC_THROW_INTERNAL();
goto tmp2_done;
tmp2_done:;
}
}
_out_txt = tmpMeta[0];
_return: OMC_LABEL_UNUSED
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_lm__1012(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_items, modelica_metatype _in_a_auxFunction, modelica_metatype _in_a_varDecls, modelica_metatype _in_a_preExp, modelica_metatype _in_a_context, modelica_boolean _in_a_scalar, modelica_metatype *out_out_a_auxFunction, modelica_metatype *out_out_a_varDecls, modelica_metatype *out_out_a_preExp)
{
modelica_metatype _out_txt = NULL;
modelica_metatype _out_a_auxFunction = NULL;
modelica_metatype _out_a_varDecls = NULL;
modelica_metatype _out_a_preExp = NULL;
modelica_metatype tmpMeta[6] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_metatype tmp4_2;modelica_metatype tmp4_3;modelica_metatype tmp4_4;modelica_metatype tmp4_5;modelica_metatype tmp4_6;modelica_boolean tmp4_7;
tmp4_1 = _in_txt;
tmp4_2 = _in_items;
tmp4_3 = _in_a_auxFunction;
tmp4_4 = _in_a_varDecls;
tmp4_5 = _in_a_preExp;
tmp4_6 = _in_a_context;
tmp4_7 = _in_a_scalar;
{
modelica_metatype _txt = NULL;
modelica_metatype _rest = NULL;
modelica_metatype _a_auxFunction = NULL;
modelica_metatype _a_varDecls = NULL;
modelica_metatype _a_preExp = NULL;
modelica_metatype _a_context = NULL;
modelica_boolean _a_scalar;
modelica_metatype _i_e = NULL;
modelica_metatype _l_prefix = NULL;
volatile mmc_switch_type tmp4;
int tmp5;
tmp4 = 0;
for (; tmp4 < 2; tmp4++) {
switch (MMC_SWITCH_CAST(tmp4)) {
case 0: {
if (!listEmpty(tmp4_2)) goto tmp3_end;
_txt = tmp4_1;
_a_auxFunction = tmp4_3;
_a_varDecls = tmp4_4;
_a_preExp = tmp4_5;
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_auxFunction;
tmpMeta[0+2] = _a_varDecls;
tmpMeta[0+3] = _a_preExp;
goto tmp3_done;
}
case 1: {
if (listEmpty(tmp4_2)) goto tmp3_end;
tmpMeta[4] = MMC_CAR(tmp4_2);
tmpMeta[5] = MMC_CDR(tmp4_2);
_i_e = tmpMeta[4];
_rest = tmpMeta[5];
_txt = tmp4_1;
_a_auxFunction = tmp4_3;
_a_varDecls = tmp4_4;
_a_preExp = tmp4_5;
_a_context = tmp4_6;
_a_scalar = tmp4_7;
_l_prefix = omc_CodegenCFunctions_fun__1011(threadData, _OMC_LIT20, _a_scalar, _i_e);
_txt = omc_Tpl_writeText(threadData, _txt, _l_prefix);
_txt = omc_CodegenCFunctions_daeExp(threadData, _txt, _i_e, _a_context, _a_preExp, _a_varDecls, _a_auxFunction ,&_a_preExp ,&_a_varDecls ,&_a_auxFunction);
_txt = omc_Tpl_nextIter(threadData, _txt);
_in_txt = _txt;
_in_items = _rest;
_in_a_auxFunction = _a_auxFunction;
_in_a_varDecls = _a_varDecls;
_in_a_preExp = _a_preExp;
_in_a_context = _a_context;
_in_a_scalar = _a_scalar;
goto _tailrecursive;
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta[0+0];
_out_a_auxFunction = tmpMeta[0+1];
_out_a_varDecls = tmpMeta[0+2];
_out_a_preExp = tmpMeta[0+3];
_return: OMC_LABEL_UNUSED
if (out_out_a_auxFunction) { *out_out_a_auxFunction = _out_a_auxFunction; }
if (out_out_a_varDecls) { *out_out_a_varDecls = _out_a_varDecls; }
if (out_out_a_preExp) { *out_out_a_preExp = _out_a_preExp; }
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_lm__1012(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_items, modelica_metatype _in_a_auxFunction, modelica_metatype _in_a_varDecls, modelica_metatype _in_a_preExp, modelica_metatype _in_a_context, modelica_metatype _in_a_scalar, modelica_metatype *out_out_a_auxFunction, modelica_metatype *out_out_a_varDecls, modelica_metatype *out_out_a_preExp)
{
modelica_integer tmp1;
modelica_metatype _out_txt = NULL;
tmp1 = mmc_unbox_integer(_in_a_scalar);
_out_txt = omc_CodegenCFunctions_lm__1012(threadData, _in_txt, _in_items, _in_a_auxFunction, _in_a_varDecls, _in_a_preExp, _in_a_context, tmp1, out_out_a_auxFunction, out_out_a_varDecls, out_out_a_preExp);
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__1011(threadData_t *threadData, modelica_metatype _in_txt, modelica_boolean _in_a_scalar, modelica_metatype _in_a_e)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta[1] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp3_1;modelica_boolean tmp3_2;modelica_metatype tmp3_3;
tmp3_1 = _in_txt;
tmp3_2 = _in_a_scalar;
tmp3_3 = _in_a_e;
{
modelica_metatype _txt = NULL;
modelica_metatype _a_e = NULL;
volatile mmc_switch_type tmp3;
int tmp4;
tmp3 = 0;
for (; tmp3 < 2; tmp3++) {
switch (MMC_SWITCH_CAST(tmp3)) {
case 0: {
if (0 != tmp3_2) goto tmp2_end;
_txt = tmp3_1;
tmpMeta[0] = _txt;
goto tmp2_done;
}
case 1: {
_txt = tmp3_1;
_a_e = tmp3_3;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT68);
_txt = omc_CodegenCFunctions_expTypeFromExpModelica(threadData, _txt, _a_e);
tmpMeta[0] = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT78);
goto tmp2_done;
}
}
goto tmp2_end;
tmp2_end: ;
}
goto goto_1;
goto_1:;
MMC_THROW_INTERNAL();
goto tmp2_done;
tmp2_done:;
}
}
_out_txt = tmpMeta[0];
_return: OMC_LABEL_UNUSED
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__1011(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_scalar, modelica_metatype _in_a_e)
{
modelica_integer tmp1;
modelica_metatype _out_txt = NULL;
tmp1 = mmc_unbox_integer(_in_a_scalar);
_out_txt = omc_CodegenCFunctions_fun__1011(threadData, _in_txt, tmp1, _in_a_e);
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__1010(threadData_t *threadData, modelica_metatype _in_txt, modelica_boolean _in_a_scalar)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta[1] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp3_1;modelica_boolean tmp3_2;
tmp3_1 = _in_txt;
tmp3_2 = _in_a_scalar;
{
modelica_metatype _txt = NULL;
volatile mmc_switch_type tmp3;
int tmp4;
tmp3 = 0;
for (; tmp3 < 2; tmp3++) {
switch (MMC_SWITCH_CAST(tmp3)) {
case 0: {
if (0 != tmp3_2) goto tmp2_end;
_txt = tmp3_1;
tmpMeta[0] = _txt;
goto tmp2_done;
}
case 1: {
_txt = tmp3_1;
tmpMeta[0] = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT582);
goto tmp2_done;
}
}
goto tmp2_end;
tmp2_end: ;
}
goto goto_1;
goto_1:;
MMC_THROW_INTERNAL();
goto tmp2_done;
tmp2_done:;
}
}
_out_txt = tmpMeta[0];
_return: OMC_LABEL_UNUSED
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__1010(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_scalar)
{
modelica_integer tmp1;
modelica_metatype _out_txt = NULL;
tmp1 = mmc_unbox_integer(_in_a_scalar);
_out_txt = omc_CodegenCFunctions_fun__1010(threadData, _in_txt, tmp1);
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__1009(threadData_t *threadData, modelica_metatype _in_txt, modelica_boolean _in_a_scalar)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta[1] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp3_1;modelica_boolean tmp3_2;
tmp3_1 = _in_txt;
tmp3_2 = _in_a_scalar;
{
modelica_metatype _txt = NULL;
volatile mmc_switch_type tmp3;
int tmp4;
tmp3 = 0;
for (; tmp3 < 2; tmp3++) {
switch (MMC_SWITCH_CAST(tmp3)) {
case 0: {
if (0 != tmp3_2) goto tmp2_end;
_txt = tmp3_1;
tmpMeta[0] = _txt;
goto tmp2_done;
}
case 1: {
_txt = tmp3_1;
tmpMeta[0] = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT584);
goto tmp2_done;
}
}
goto tmp2_end;
tmp2_end: ;
}
goto goto_1;
goto_1:;
MMC_THROW_INTERNAL();
goto tmp2_done;
tmp2_done:;
}
}
_out_txt = tmpMeta[0];
_return: OMC_LABEL_UNUSED
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__1009(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_scalar)
{
modelica_integer tmp1;
modelica_metatype _out_txt = NULL;
tmp1 = mmc_unbox_integer(_in_a_scalar);
_out_txt = omc_CodegenCFunctions_fun__1009(threadData, _in_txt, tmp1);
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_lm__1008(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_items, modelica_metatype _in_a_arrayVar, modelica_metatype _in_a_rec__name, modelica_metatype _in_a_auxFunction, modelica_metatype _in_a_varDecls, modelica_metatype _in_a_preExp, modelica_metatype _in_a_context, modelica_boolean _in_a_scalar, modelica_metatype *out_out_a_auxFunction, modelica_metatype *out_out_a_varDecls, modelica_metatype *out_out_a_preExp)
{
modelica_metatype _out_txt = NULL;
modelica_metatype _out_a_auxFunction = NULL;
modelica_metatype _out_a_varDecls = NULL;
modelica_metatype _out_a_preExp = NULL;
modelica_metatype tmpMeta[6] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_metatype tmp4_2;modelica_metatype tmp4_3;modelica_metatype tmp4_4;modelica_metatype tmp4_5;modelica_metatype tmp4_6;modelica_metatype tmp4_7;modelica_metatype tmp4_8;modelica_boolean tmp4_9;
tmp4_1 = _in_txt;
tmp4_2 = _in_items;
tmp4_3 = _in_a_arrayVar;
tmp4_4 = _in_a_rec__name;
tmp4_5 = _in_a_auxFunction;
tmp4_6 = _in_a_varDecls;
tmp4_7 = _in_a_preExp;
tmp4_8 = _in_a_context;
tmp4_9 = _in_a_scalar;
{
modelica_metatype _txt = NULL;
modelica_metatype _rest = NULL;
modelica_metatype _a_arrayVar = NULL;
modelica_metatype _a_rec__name = NULL;
modelica_metatype _a_auxFunction = NULL;
modelica_metatype _a_varDecls = NULL;
modelica_metatype _a_preExp = NULL;
modelica_metatype _a_context = NULL;
modelica_boolean _a_scalar;
modelica_integer _x_i1;
modelica_metatype _i_e = NULL;
modelica_metatype _l_src = NULL;
volatile mmc_switch_type tmp4;
int tmp5;
tmp4 = 0;
for (; tmp4 < 2; tmp4++) {
switch (MMC_SWITCH_CAST(tmp4)) {
case 0: {
if (!listEmpty(tmp4_2)) goto tmp3_end;
_txt = tmp4_1;
_a_auxFunction = tmp4_5;
_a_varDecls = tmp4_6;
_a_preExp = tmp4_7;
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_auxFunction;
tmpMeta[0+2] = _a_varDecls;
tmpMeta[0+3] = _a_preExp;
goto tmp3_done;
}
case 1: {
if (listEmpty(tmp4_2)) goto tmp3_end;
tmpMeta[4] = MMC_CAR(tmp4_2);
tmpMeta[5] = MMC_CDR(tmp4_2);
_i_e = tmpMeta[4];
_rest = tmpMeta[5];
_txt = tmp4_1;
_a_arrayVar = tmp4_3;
_a_rec__name = tmp4_4;
_a_auxFunction = tmp4_5;
_a_varDecls = tmp4_6;
_a_preExp = tmp4_7;
_a_context = tmp4_8;
_a_scalar = tmp4_9;
_x_i1 = omc_Tpl_getIteri__i0(threadData, _txt);
omc_CodegenCFunctions_fun__1007(threadData, _OMC_LIT20, _a_scalar);
_l_src = omc_CodegenCFunctions_daeExp(threadData, _OMC_LIT20, _i_e, _a_context, _a_preExp, _a_varDecls, _a_auxFunction ,&_a_preExp ,&_a_varDecls ,&_a_auxFunction);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT589);
_txt = omc_Tpl_writeText(threadData, _txt, _a_rec__name);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT591);
_txt = omc_Tpl_writeText(threadData, _txt, _l_src);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT292);
_txt = omc_Tpl_writeText(threadData, _txt, _a_rec__name);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT349);
_txt = omc_Tpl_writeText(threadData, _txt, _a_arrayVar);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT351);
_txt = omc_Tpl_writeStr(threadData, _txt, intString(_x_i1));
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT593);
_txt = omc_Tpl_writeText(threadData, _txt, _a_rec__name);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT349);
_txt = omc_Tpl_writeText(threadData, _txt, _a_arrayVar);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT351);
_txt = omc_Tpl_writeStr(threadData, _txt, intString(_x_i1));
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT595);
_txt = omc_Tpl_writeText(threadData, _txt, _l_src);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT105);
_txt = omc_Tpl_nextIter(threadData, _txt);
_in_txt = _txt;
_in_items = _rest;
_in_a_arrayVar = _a_arrayVar;
_in_a_rec__name = _a_rec__name;
_in_a_auxFunction = _a_auxFunction;
_in_a_varDecls = _a_varDecls;
_in_a_preExp = _a_preExp;
_in_a_context = _a_context;
_in_a_scalar = _a_scalar;
goto _tailrecursive;
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta[0+0];
_out_a_auxFunction = tmpMeta[0+1];
_out_a_varDecls = tmpMeta[0+2];
_out_a_preExp = tmpMeta[0+3];
_return: OMC_LABEL_UNUSED
if (out_out_a_auxFunction) { *out_out_a_auxFunction = _out_a_auxFunction; }
if (out_out_a_varDecls) { *out_out_a_varDecls = _out_a_varDecls; }
if (out_out_a_preExp) { *out_out_a_preExp = _out_a_preExp; }
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_lm__1008(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_items, modelica_metatype _in_a_arrayVar, modelica_metatype _in_a_rec__name, modelica_metatype _in_a_auxFunction, modelica_metatype _in_a_varDecls, modelica_metatype _in_a_preExp, modelica_metatype _in_a_context, modelica_metatype _in_a_scalar, modelica_metatype *out_out_a_auxFunction, modelica_metatype *out_out_a_varDecls, modelica_metatype *out_out_a_preExp)
{
modelica_integer tmp1;
modelica_metatype _out_txt = NULL;
tmp1 = mmc_unbox_integer(_in_a_scalar);
_out_txt = omc_CodegenCFunctions_lm__1008(threadData, _in_txt, _in_items, _in_a_arrayVar, _in_a_rec__name, _in_a_auxFunction, _in_a_varDecls, _in_a_preExp, _in_a_context, tmp1, out_out_a_auxFunction, out_out_a_varDecls, out_out_a_preExp);
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__1007(threadData_t *threadData, modelica_metatype _in_txt, modelica_boolean _in_a_scalar)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta[1] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp3_1;modelica_boolean tmp3_2;
tmp3_1 = _in_txt;
tmp3_2 = _in_a_scalar;
{
modelica_metatype _txt = NULL;
volatile mmc_switch_type tmp3;
int tmp4;
tmp3 = 0;
for (; tmp3 < 2; tmp3++) {
switch (MMC_SWITCH_CAST(tmp3)) {
case 0: {
if (0 != tmp3_2) goto tmp2_end;
_txt = tmp3_1;
tmpMeta[0] = omc_CodegenUtil_error(threadData, _txt, omc_Tpl_sourceInfo(threadData, _OMC_LIT27, ((modelica_integer) 6689), ((modelica_integer) 49)), _OMC_LIT596);
goto tmp2_done;
}
case 1: {
_txt = tmp3_1;
tmpMeta[0] = _txt;
goto tmp2_done;
}
}
goto tmp2_end;
tmp2_end: ;
}
goto goto_1;
goto_1:;
MMC_THROW_INTERNAL();
goto tmp2_done;
tmp2_done:;
}
}
_out_txt = tmpMeta[0];
_return: OMC_LABEL_UNUSED
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__1007(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_scalar)
{
modelica_integer tmp1;
modelica_metatype _out_txt = NULL;
tmp1 = mmc_unbox_integer(_in_a_scalar);
_out_txt = omc_CodegenCFunctions_fun__1007(threadData, _in_txt, tmp1);
return _out_txt;
}
DLLExport
modelica_metatype omc_CodegenCFunctions_daeExpTailCall(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_es, modelica_metatype _in_a_vs, modelica_metatype _in_a_context, modelica_metatype _in_a_preExp, modelica_metatype _in_a_postExp, modelica_metatype _in_a_varDecls, modelica_metatype _in_a_auxFunction, modelica_metatype *out_out_a_preExp, modelica_metatype *out_out_a_postExp, modelica_metatype *out_out_a_varDecls, modelica_metatype *out_out_a_auxFunction)
{
modelica_metatype _out_txt = NULL;
modelica_metatype _out_a_preExp = NULL;
modelica_metatype _out_a_postExp = NULL;
modelica_metatype _out_a_varDecls = NULL;
modelica_metatype _out_a_auxFunction = NULL;
modelica_metatype tmpMeta[7] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_metatype tmp4_2;modelica_metatype tmp4_3;modelica_metatype tmp4_4;modelica_metatype tmp4_5;modelica_metatype tmp4_6;modelica_metatype tmp4_7;modelica_metatype tmp4_8;
tmp4_1 = _in_txt;
tmp4_2 = _in_a_es;
tmp4_3 = _in_a_vs;
tmp4_4 = _in_a_context;
tmp4_5 = _in_a_preExp;
tmp4_6 = _in_a_postExp;
tmp4_7 = _in_a_varDecls;
tmp4_8 = _in_a_auxFunction;
{
modelica_metatype _txt = NULL;
modelica_metatype _a_vs = NULL;
modelica_metatype _a_context = NULL;
modelica_metatype _a_preExp = NULL;
modelica_metatype _a_postExp = NULL;
modelica_metatype _a_varDecls = NULL;
modelica_metatype _a_auxFunction = NULL;
modelica_metatype _i_erest = NULL;
modelica_metatype _i_e = NULL;
volatile mmc_switch_type tmp4;
int tmp5;
tmp4 = 0;
for (; tmp4 < 2; tmp4++) {
switch (MMC_SWITCH_CAST(tmp4)) {
case 0: {
if (listEmpty(tmp4_2)) goto tmp3_end;
tmpMeta[5] = MMC_CAR(tmp4_2);
tmpMeta[6] = MMC_CDR(tmp4_2);
_i_e = tmpMeta[5];
_i_erest = tmpMeta[6];
_txt = tmp4_1;
_a_vs = tmp4_3;
_a_context = tmp4_4;
_a_preExp = tmp4_5;
_a_postExp = tmp4_6;
_a_varDecls = tmp4_7;
_a_auxFunction = tmp4_8;
_txt = omc_CodegenCFunctions_fun__1005(threadData, _txt, _a_vs, _a_postExp, _i_erest, _a_auxFunction, _a_varDecls, _a_preExp, _a_context, _i_e ,&_a_postExp ,&_a_auxFunction ,&_a_varDecls ,&_a_preExp);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_preExp;
tmpMeta[0+2] = _a_postExp;
tmpMeta[0+3] = _a_varDecls;
tmpMeta[0+4] = _a_auxFunction;
goto tmp3_done;
}
case 1: {
_txt = tmp4_1;
_a_preExp = tmp4_5;
_a_postExp = tmp4_6;
_a_varDecls = tmp4_7;
_a_auxFunction = tmp4_8;
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_preExp;
tmpMeta[0+2] = _a_postExp;
tmpMeta[0+3] = _a_varDecls;
tmpMeta[0+4] = _a_auxFunction;
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta[0+0];
_out_a_preExp = tmpMeta[0+1];
_out_a_postExp = tmpMeta[0+2];
_out_a_varDecls = tmpMeta[0+3];
_out_a_auxFunction = tmpMeta[0+4];
_return: OMC_LABEL_UNUSED
if (out_out_a_preExp) { *out_out_a_preExp = _out_a_preExp; }
if (out_out_a_postExp) { *out_out_a_postExp = _out_a_postExp; }
if (out_out_a_varDecls) { *out_out_a_varDecls = _out_a_varDecls; }
if (out_out_a_auxFunction) { *out_out_a_auxFunction = _out_a_auxFunction; }
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__1005(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_vs, modelica_metatype _in_a_postExp, modelica_metatype _in_a_erest, modelica_metatype _in_a_auxFunction, modelica_metatype _in_a_varDecls, modelica_metatype _in_a_preExp, modelica_metatype _in_a_context, modelica_metatype _in_a_e, modelica_metatype *out_out_a_postExp, modelica_metatype *out_out_a_auxFunction, modelica_metatype *out_out_a_varDecls, modelica_metatype *out_out_a_preExp)
{
modelica_metatype _out_txt = NULL;
modelica_metatype _out_a_postExp = NULL;
modelica_metatype _out_a_auxFunction = NULL;
modelica_metatype _out_a_varDecls = NULL;
modelica_metatype _out_a_preExp = NULL;
modelica_metatype tmpMeta[7] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_metatype tmp4_2;modelica_metatype tmp4_3;modelica_metatype tmp4_4;modelica_metatype tmp4_5;modelica_metatype tmp4_6;modelica_metatype tmp4_7;modelica_metatype tmp4_8;modelica_metatype tmp4_9;
tmp4_1 = _in_txt;
tmp4_2 = _in_a_vs;
tmp4_3 = _in_a_postExp;
tmp4_4 = _in_a_erest;
tmp4_5 = _in_a_auxFunction;
tmp4_6 = _in_a_varDecls;
tmp4_7 = _in_a_preExp;
tmp4_8 = _in_a_context;
tmp4_9 = _in_a_e;
{
modelica_metatype _txt = NULL;
modelica_metatype _a_postExp = NULL;
modelica_metatype _a_erest = NULL;
modelica_metatype _a_auxFunction = NULL;
modelica_metatype _a_varDecls = NULL;
modelica_metatype _a_preExp = NULL;
modelica_metatype _a_context = NULL;
modelica_metatype _a_e = NULL;
modelica_metatype _i_vrest = NULL;
modelica_string _i_v = NULL;
modelica_metatype _l_exp = NULL;
volatile mmc_switch_type tmp4;
int tmp5;
tmp4 = 0;
for (; tmp4 < 2; tmp4++) {
switch (MMC_SWITCH_CAST(tmp4)) {
case 0: {
if (listEmpty(tmp4_2)) goto tmp3_end;
tmpMeta[5] = MMC_CAR(tmp4_2);
tmpMeta[6] = MMC_CDR(tmp4_2);
_i_v = tmpMeta[5];
_i_vrest = tmpMeta[6];
_txt = tmp4_1;
_a_postExp = tmp4_3;
_a_erest = tmp4_4;
_a_auxFunction = tmp4_5;
_a_varDecls = tmp4_6;
_a_preExp = tmp4_7;
_a_context = tmp4_8;
_a_e = tmp4_9;
_l_exp = omc_CodegenCFunctions_daeExp(threadData, _OMC_LIT20, _a_e, _a_context, _a_preExp, _a_varDecls, _a_auxFunction ,&_a_preExp ,&_a_varDecls ,&_a_auxFunction);
_txt = omc_CodegenCFunctions_fun__1004(threadData, _txt, _a_e, _a_auxFunction, _a_varDecls, _a_postExp, _a_preExp, _a_context, _i_vrest, _a_erest, _l_exp, _i_v ,&_a_auxFunction ,&_a_varDecls ,&_a_postExp ,&_a_preExp);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_postExp;
tmpMeta[0+2] = _a_auxFunction;
tmpMeta[0+3] = _a_varDecls;
tmpMeta[0+4] = _a_preExp;
goto tmp3_done;
}
case 1: {
_txt = tmp4_1;
_a_postExp = tmp4_3;
_a_auxFunction = tmp4_5;
_a_varDecls = tmp4_6;
_a_preExp = tmp4_7;
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_postExp;
tmpMeta[0+2] = _a_auxFunction;
tmpMeta[0+3] = _a_varDecls;
tmpMeta[0+4] = _a_preExp;
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta[0+0];
_out_a_postExp = tmpMeta[0+1];
_out_a_auxFunction = tmpMeta[0+2];
_out_a_varDecls = tmpMeta[0+3];
_out_a_preExp = tmpMeta[0+4];
_return: OMC_LABEL_UNUSED
if (out_out_a_postExp) { *out_out_a_postExp = _out_a_postExp; }
if (out_out_a_auxFunction) { *out_out_a_auxFunction = _out_a_auxFunction; }
if (out_out_a_varDecls) { *out_out_a_varDecls = _out_a_varDecls; }
if (out_out_a_preExp) { *out_out_a_preExp = _out_a_preExp; }
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__1004(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_e, modelica_metatype _in_a_auxFunction, modelica_metatype _in_a_varDecls, modelica_metatype _in_a_postExp, modelica_metatype _in_a_preExp, modelica_metatype _in_a_context, modelica_metatype _in_a_vrest, modelica_metatype _in_a_erest, modelica_metatype _in_a_exp, modelica_string _in_a_v, modelica_metatype *out_out_a_auxFunction, modelica_metatype *out_out_a_varDecls, modelica_metatype *out_out_a_postExp, modelica_metatype *out_out_a_preExp)
{
modelica_metatype _out_txt = NULL;
modelica_metatype _out_a_auxFunction = NULL;
modelica_metatype _out_a_varDecls = NULL;
modelica_metatype _out_a_postExp = NULL;
modelica_metatype _out_a_preExp = NULL;
modelica_metatype tmpMeta[7] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_metatype tmp4_2;modelica_metatype tmp4_3;modelica_metatype tmp4_4;modelica_metatype tmp4_5;modelica_metatype tmp4_6;modelica_metatype tmp4_7;modelica_metatype tmp4_8;modelica_metatype tmp4_9;modelica_metatype tmp4_10;modelica_string tmp4_11;
tmp4_1 = _in_txt;
tmp4_2 = _in_a_e;
tmp4_3 = _in_a_auxFunction;
tmp4_4 = _in_a_varDecls;
tmp4_5 = _in_a_postExp;
tmp4_6 = _in_a_preExp;
tmp4_7 = _in_a_context;
tmp4_8 = _in_a_vrest;
tmp4_9 = _in_a_erest;
tmp4_10 = _in_a_exp;
tmp4_11 = _in_a_v;
{
modelica_metatype _txt = NULL;
modelica_metatype _a_auxFunction = NULL;
modelica_metatype _a_varDecls = NULL;
modelica_metatype _a_postExp = NULL;
modelica_metatype _a_preExp = NULL;
modelica_metatype _a_context = NULL;
modelica_metatype _a_vrest = NULL;
modelica_metatype _a_erest = NULL;
modelica_metatype _a_exp = NULL;
modelica_string _a_v = NULL;
modelica_metatype _i_e = NULL;
modelica_metatype _i_cr = NULL;
modelica_boolean _ret_2;
modelica_boolean _ret_1;
modelica_metatype _txt_0 = NULL;
volatile mmc_switch_type tmp4;
int tmp5;
tmp4 = 0;
for (; tmp4 < 2; tmp4++) {
switch (MMC_SWITCH_CAST(tmp4)) {
case 0: {
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,6,2) == 0) goto tmp3_end;
tmpMeta[5] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
tmpMeta[6] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 3));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[6],12,1) == 0) goto tmp3_end;
_i_cr = tmpMeta[5];
_txt = tmp4_1;
_a_auxFunction = tmp4_3;
_a_varDecls = tmp4_4;
_a_postExp = tmp4_5;
_a_preExp = tmp4_6;
_a_context = tmp4_7;
_a_vrest = tmp4_8;
_a_erest = tmp4_9;
_a_exp = tmp4_10;
_a_v = tmp4_11;
_txt_0 = omc_CodegenUtil_crefStr(threadData, _OMC_LIT20, _i_cr);
_ret_1 = (stringEqual(_a_v, omc_Tpl_textString(threadData, _txt_0)));
tmpMeta[0+0] = omc_CodegenCFunctions_fun__1001(threadData, _txt, _ret_1, _a_auxFunction, _a_varDecls, _a_postExp, _a_preExp, _a_context, _a_vrest, _a_erest, _a_exp, _a_v, &tmpMeta[0+1], &tmpMeta[0+2], &tmpMeta[0+3], &tmpMeta[0+4]);
goto tmp3_done;
}
case 1: {
_txt = tmp4_1;
_i_e = tmp4_2;
_a_auxFunction = tmp4_3;
_a_varDecls = tmp4_4;
_a_postExp = tmp4_5;
_a_preExp = tmp4_6;
_a_context = tmp4_7;
_a_vrest = tmp4_8;
_a_erest = tmp4_9;
_a_exp = tmp4_10;
_a_v = tmp4_11;
_ret_2 = omc_Expression_anyExpHasCrefName(threadData, _a_erest, _a_v);
tmpMeta[0+0] = omc_CodegenCFunctions_fun__1003(threadData, _txt, _ret_2, _i_e, _a_exp, _a_v, _a_auxFunction, _a_varDecls, _a_postExp, _a_preExp, _a_context, _a_vrest, _a_erest, &tmpMeta[0+1], &tmpMeta[0+2], &tmpMeta[0+3], &tmpMeta[0+4]);
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta[0+0];
_out_a_auxFunction = tmpMeta[0+1];
_out_a_varDecls = tmpMeta[0+2];
_out_a_postExp = tmpMeta[0+3];
_out_a_preExp = tmpMeta[0+4];
_return: OMC_LABEL_UNUSED
if (out_out_a_auxFunction) { *out_out_a_auxFunction = _out_a_auxFunction; }
if (out_out_a_varDecls) { *out_out_a_varDecls = _out_a_varDecls; }
if (out_out_a_postExp) { *out_out_a_postExp = _out_a_postExp; }
if (out_out_a_preExp) { *out_out_a_preExp = _out_a_preExp; }
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__1003(threadData_t *threadData, modelica_metatype _in_txt, modelica_boolean _in_mArg, modelica_metatype _in_a_e, modelica_metatype _in_a_exp, modelica_string _in_a_v, modelica_metatype _in_a_auxFunction, modelica_metatype _in_a_varDecls, modelica_metatype _in_a_postExp, modelica_metatype _in_a_preExp, modelica_metatype _in_a_context, modelica_metatype _in_a_vrest, modelica_metatype _in_a_erest, modelica_metatype *out_out_a_auxFunction, modelica_metatype *out_out_a_varDecls, modelica_metatype *out_out_a_postExp, modelica_metatype *out_out_a_preExp)
{
modelica_metatype _out_txt = NULL;
modelica_metatype _out_a_auxFunction = NULL;
modelica_metatype _out_a_varDecls = NULL;
modelica_metatype _out_a_postExp = NULL;
modelica_metatype _out_a_preExp = NULL;
modelica_metatype tmpMeta[5] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_boolean tmp4_2;modelica_metatype tmp4_3;modelica_metatype tmp4_4;modelica_string tmp4_5;modelica_metatype tmp4_6;modelica_metatype tmp4_7;modelica_metatype tmp4_8;modelica_metatype tmp4_9;modelica_metatype tmp4_10;modelica_metatype tmp4_11;modelica_metatype tmp4_12;
tmp4_1 = _in_txt;
tmp4_2 = _in_mArg;
tmp4_3 = _in_a_e;
tmp4_4 = _in_a_exp;
tmp4_5 = _in_a_v;
tmp4_6 = _in_a_auxFunction;
tmp4_7 = _in_a_varDecls;
tmp4_8 = _in_a_postExp;
tmp4_9 = _in_a_preExp;
tmp4_10 = _in_a_context;
tmp4_11 = _in_a_vrest;
tmp4_12 = _in_a_erest;
{
modelica_metatype _txt = NULL;
modelica_metatype _a_e = NULL;
modelica_metatype _a_exp = NULL;
modelica_string _a_v = NULL;
modelica_metatype _a_auxFunction = NULL;
modelica_metatype _a_varDecls = NULL;
modelica_metatype _a_postExp = NULL;
modelica_metatype _a_preExp = NULL;
modelica_metatype _a_context = NULL;
modelica_metatype _a_vrest = NULL;
modelica_metatype _a_erest = NULL;
modelica_string _ret_6 = NULL;
modelica_metatype _txt_5 = NULL;
modelica_metatype _l_tmp = NULL;
modelica_boolean _ret_3;
modelica_string _ret_2 = NULL;
modelica_metatype _l_v2 = NULL;
modelica_metatype _l_restText = NULL;
volatile mmc_switch_type tmp4;
int tmp5;
tmp4 = 0;
for (; tmp4 < 2; tmp4++) {
switch (MMC_SWITCH_CAST(tmp4)) {
case 0: {
if (0 != tmp4_2) goto tmp3_end;
_txt = tmp4_1;
_a_exp = tmp4_4;
_a_v = tmp4_5;
_a_auxFunction = tmp4_6;
_a_varDecls = tmp4_7;
_a_postExp = tmp4_8;
_a_preExp = tmp4_9;
_a_context = tmp4_10;
_a_vrest = tmp4_11;
_a_erest = tmp4_12;
_l_restText = omc_CodegenCFunctions_daeExpTailCall(threadData, _OMC_LIT20, _a_erest, _a_vrest, _a_context, _a_preExp, _a_postExp, _a_varDecls, _a_auxFunction ,&_a_preExp ,&_a_postExp ,&_a_varDecls ,&_a_auxFunction);
_l_v2 = omc_Tpl_writeTok(threadData, _OMC_LIT20, _OMC_LIT236);
_ret_2 = omc_System_unquoteIdentifier(threadData, _a_v);
_l_v2 = omc_Tpl_writeStr(threadData, _l_v2, _ret_2);
_ret_3 = (stringEqual(omc_Tpl_textString(threadData, _l_v2), omc_Tpl_textString(threadData, _a_exp)));
_txt = omc_CodegenCFunctions_fun__1002(threadData, _txt, _ret_3, _l_restText, _a_exp, _l_v2);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_auxFunction;
tmpMeta[0+2] = _a_varDecls;
tmpMeta[0+3] = _a_postExp;
tmpMeta[0+4] = _a_preExp;
goto tmp3_done;
}
case 1: {
_txt = tmp4_1;
_a_e = tmp4_3;
_a_exp = tmp4_4;
_a_v = tmp4_5;
_a_auxFunction = tmp4_6;
_a_varDecls = tmp4_7;
_a_postExp = tmp4_8;
_a_preExp = tmp4_9;
_a_context = tmp4_10;
_a_vrest = tmp4_11;
_a_erest = tmp4_12;
_txt_5 = omc_CodegenCFunctions_expTypeFromExpModelica(threadData, _OMC_LIT20, _a_e);
_l_tmp = omc_CodegenCFunctions_tempDecl(threadData, _OMC_LIT20, omc_Tpl_textString(threadData, _txt_5), _a_varDecls ,&_a_varDecls);
_a_postExp = omc_Tpl_writeTok(threadData, _a_postExp, _OMC_LIT236);
_ret_6 = omc_System_unquoteIdentifier(threadData, _a_v);
_a_postExp = omc_Tpl_writeStr(threadData, _a_postExp, _ret_6);
_a_postExp = omc_Tpl_writeTok(threadData, _a_postExp, _OMC_LIT121);
_a_postExp = omc_Tpl_writeText(threadData, _a_postExp, _l_tmp);
_a_postExp = omc_Tpl_writeTok(threadData, _a_postExp, _OMC_LIT105);
_a_postExp = omc_Tpl_writeTok(threadData, _a_postExp, _OMC_LIT89);
_txt = omc_Tpl_writeText(threadData, _txt, _l_tmp);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT121);
_txt = omc_Tpl_writeText(threadData, _txt, _a_exp);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT105);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT89);
_txt = omc_CodegenCFunctions_daeExpTailCall(threadData, _txt, _a_erest, _a_vrest, _a_context, _a_preExp, _a_postExp, _a_varDecls, _a_auxFunction ,&_a_preExp ,&_a_postExp ,&_a_varDecls ,&_a_auxFunction);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_auxFunction;
tmpMeta[0+2] = _a_varDecls;
tmpMeta[0+3] = _a_postExp;
tmpMeta[0+4] = _a_preExp;
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta[0+0];
_out_a_auxFunction = tmpMeta[0+1];
_out_a_varDecls = tmpMeta[0+2];
_out_a_postExp = tmpMeta[0+3];
_out_a_preExp = tmpMeta[0+4];
_return: OMC_LABEL_UNUSED
if (out_out_a_auxFunction) { *out_out_a_auxFunction = _out_a_auxFunction; }
if (out_out_a_varDecls) { *out_out_a_varDecls = _out_a_varDecls; }
if (out_out_a_postExp) { *out_out_a_postExp = _out_a_postExp; }
if (out_out_a_preExp) { *out_out_a_preExp = _out_a_preExp; }
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__1003(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_mArg, modelica_metatype _in_a_e, modelica_metatype _in_a_exp, modelica_metatype _in_a_v, modelica_metatype _in_a_auxFunction, modelica_metatype _in_a_varDecls, modelica_metatype _in_a_postExp, modelica_metatype _in_a_preExp, modelica_metatype _in_a_context, modelica_metatype _in_a_vrest, modelica_metatype _in_a_erest, modelica_metatype *out_out_a_auxFunction, modelica_metatype *out_out_a_varDecls, modelica_metatype *out_out_a_postExp, modelica_metatype *out_out_a_preExp)
{
modelica_integer tmp1;
modelica_metatype _out_txt = NULL;
tmp1 = mmc_unbox_integer(_in_mArg);
_out_txt = omc_CodegenCFunctions_fun__1003(threadData, _in_txt, tmp1, _in_a_e, _in_a_exp, _in_a_v, _in_a_auxFunction, _in_a_varDecls, _in_a_postExp, _in_a_preExp, _in_a_context, _in_a_vrest, _in_a_erest, out_out_a_auxFunction, out_out_a_varDecls, out_out_a_postExp, out_out_a_preExp);
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__1002(threadData_t *threadData, modelica_metatype _in_txt, modelica_boolean _in_mArg, modelica_metatype _in_a_restText, modelica_metatype _in_a_exp, modelica_metatype _in_a_v2)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta[1] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp3_1;modelica_boolean tmp3_2;modelica_metatype tmp3_3;modelica_metatype tmp3_4;modelica_metatype tmp3_5;
tmp3_1 = _in_txt;
tmp3_2 = _in_mArg;
tmp3_3 = _in_a_restText;
tmp3_4 = _in_a_exp;
tmp3_5 = _in_a_v2;
{
modelica_metatype _txt = NULL;
modelica_metatype _a_restText = NULL;
modelica_metatype _a_exp = NULL;
modelica_metatype _a_v2 = NULL;
volatile mmc_switch_type tmp3;
int tmp4;
tmp3 = 0;
for (; tmp3 < 2; tmp3++) {
switch (MMC_SWITCH_CAST(tmp3)) {
case 0: {
if (0 != tmp3_2) goto tmp2_end;
_txt = tmp3_1;
_a_restText = tmp3_3;
_a_exp = tmp3_4;
_a_v2 = tmp3_5;
_txt = omc_Tpl_writeText(threadData, _txt, _a_v2);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT121);
_txt = omc_Tpl_writeText(threadData, _txt, _a_exp);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT105);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT89);
tmpMeta[0] = omc_Tpl_writeText(threadData, _txt, _a_restText);
goto tmp2_done;
}
case 1: {
_txt = tmp3_1;
_a_restText = tmp3_3;
tmpMeta[0] = omc_Tpl_writeText(threadData, _txt, _a_restText);
goto tmp2_done;
}
}
goto tmp2_end;
tmp2_end: ;
}
goto goto_1;
goto_1:;
MMC_THROW_INTERNAL();
goto tmp2_done;
tmp2_done:;
}
}
_out_txt = tmpMeta[0];
_return: OMC_LABEL_UNUSED
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__1002(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_mArg, modelica_metatype _in_a_restText, modelica_metatype _in_a_exp, modelica_metatype _in_a_v2)
{
modelica_integer tmp1;
modelica_metatype _out_txt = NULL;
tmp1 = mmc_unbox_integer(_in_mArg);
_out_txt = omc_CodegenCFunctions_fun__1002(threadData, _in_txt, tmp1, _in_a_restText, _in_a_exp, _in_a_v2);
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__1001(threadData_t *threadData, modelica_metatype _in_txt, modelica_boolean _in_mArg, modelica_metatype _in_a_auxFunction, modelica_metatype _in_a_varDecls, modelica_metatype _in_a_postExp, modelica_metatype _in_a_preExp, modelica_metatype _in_a_context, modelica_metatype _in_a_vrest, modelica_metatype _in_a_erest, modelica_metatype _in_a_exp, modelica_string _in_a_v, modelica_metatype *out_out_a_auxFunction, modelica_metatype *out_out_a_varDecls, modelica_metatype *out_out_a_postExp, modelica_metatype *out_out_a_preExp)
{
modelica_metatype _out_txt = NULL;
modelica_metatype _out_a_auxFunction = NULL;
modelica_metatype _out_a_varDecls = NULL;
modelica_metatype _out_a_postExp = NULL;
modelica_metatype _out_a_preExp = NULL;
modelica_metatype tmpMeta[5] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_boolean tmp4_2;modelica_metatype tmp4_3;modelica_metatype tmp4_4;modelica_metatype tmp4_5;modelica_metatype tmp4_6;modelica_metatype tmp4_7;modelica_metatype tmp4_8;modelica_metatype tmp4_9;modelica_metatype tmp4_10;modelica_string tmp4_11;
tmp4_1 = _in_txt;
tmp4_2 = _in_mArg;
tmp4_3 = _in_a_auxFunction;
tmp4_4 = _in_a_varDecls;
tmp4_5 = _in_a_postExp;
tmp4_6 = _in_a_preExp;
tmp4_7 = _in_a_context;
tmp4_8 = _in_a_vrest;
tmp4_9 = _in_a_erest;
tmp4_10 = _in_a_exp;
tmp4_11 = _in_a_v;
{
modelica_metatype _txt = NULL;
modelica_metatype _a_auxFunction = NULL;
modelica_metatype _a_varDecls = NULL;
modelica_metatype _a_postExp = NULL;
modelica_metatype _a_preExp = NULL;
modelica_metatype _a_context = NULL;
modelica_metatype _a_vrest = NULL;
modelica_metatype _a_erest = NULL;
modelica_metatype _a_exp = NULL;
modelica_string _a_v = NULL;
modelica_string _ret_0 = NULL;
volatile mmc_switch_type tmp4;
int tmp5;
tmp4 = 0;
for (; tmp4 < 2; tmp4++) {
switch (MMC_SWITCH_CAST(tmp4)) {
case 0: {
if (0 != tmp4_2) goto tmp3_end;
_txt = tmp4_1;
_a_auxFunction = tmp4_3;
_a_varDecls = tmp4_4;
_a_postExp = tmp4_5;
_a_preExp = tmp4_6;
_a_context = tmp4_7;
_a_vrest = tmp4_8;
_a_erest = tmp4_9;
_a_exp = tmp4_10;
_a_v = tmp4_11;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT236);
_ret_0 = omc_System_unquoteIdentifier(threadData, _a_v);
_txt = omc_Tpl_writeStr(threadData, _txt, _ret_0);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT121);
_txt = omc_Tpl_writeText(threadData, _txt, _a_exp);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT105);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT89);
_txt = omc_CodegenCFunctions_daeExpTailCall(threadData, _txt, _a_erest, _a_vrest, _a_context, _a_preExp, _a_postExp, _a_varDecls, _a_auxFunction ,&_a_preExp ,&_a_postExp ,&_a_varDecls ,&_a_auxFunction);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_auxFunction;
tmpMeta[0+2] = _a_varDecls;
tmpMeta[0+3] = _a_postExp;
tmpMeta[0+4] = _a_preExp;
goto tmp3_done;
}
case 1: {
_txt = tmp4_1;
_a_auxFunction = tmp4_3;
_a_varDecls = tmp4_4;
_a_postExp = tmp4_5;
_a_preExp = tmp4_6;
_a_context = tmp4_7;
_a_vrest = tmp4_8;
_a_erest = tmp4_9;
_txt = omc_CodegenCFunctions_daeExpTailCall(threadData, _txt, _a_erest, _a_vrest, _a_context, _a_preExp, _a_postExp, _a_varDecls, _a_auxFunction ,&_a_preExp ,&_a_postExp ,&_a_varDecls ,&_a_auxFunction);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_auxFunction;
tmpMeta[0+2] = _a_varDecls;
tmpMeta[0+3] = _a_postExp;
tmpMeta[0+4] = _a_preExp;
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta[0+0];
_out_a_auxFunction = tmpMeta[0+1];
_out_a_varDecls = tmpMeta[0+2];
_out_a_postExp = tmpMeta[0+3];
_out_a_preExp = tmpMeta[0+4];
_return: OMC_LABEL_UNUSED
if (out_out_a_auxFunction) { *out_out_a_auxFunction = _out_a_auxFunction; }
if (out_out_a_varDecls) { *out_out_a_varDecls = _out_a_varDecls; }
if (out_out_a_postExp) { *out_out_a_postExp = _out_a_postExp; }
if (out_out_a_preExp) { *out_out_a_preExp = _out_a_preExp; }
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__1001(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_mArg, modelica_metatype _in_a_auxFunction, modelica_metatype _in_a_varDecls, modelica_metatype _in_a_postExp, modelica_metatype _in_a_preExp, modelica_metatype _in_a_context, modelica_metatype _in_a_vrest, modelica_metatype _in_a_erest, modelica_metatype _in_a_exp, modelica_metatype _in_a_v, modelica_metatype *out_out_a_auxFunction, modelica_metatype *out_out_a_varDecls, modelica_metatype *out_out_a_postExp, modelica_metatype *out_out_a_preExp)
{
modelica_integer tmp1;
modelica_metatype _out_txt = NULL;
tmp1 = mmc_unbox_integer(_in_mArg);
_out_txt = omc_CodegenCFunctions_fun__1001(threadData, _in_txt, tmp1, _in_a_auxFunction, _in_a_varDecls, _in_a_postExp, _in_a_preExp, _in_a_context, _in_a_vrest, _in_a_erest, _in_a_exp, _in_a_v, out_out_a_auxFunction, out_out_a_varDecls, out_out_a_postExp, out_out_a_preExp);
return _out_txt;
}
DLLExport
modelica_metatype omc_CodegenCFunctions_generateTypeCastFromType(threadData_t *threadData, modelica_metatype _txt, modelica_metatype _a_ty, modelica_boolean _a_isClosure)
{
modelica_metatype _out_txt = NULL;
modelica_boolean _ret_5;
modelica_boolean _ret_4;
modelica_boolean _ret_3;
modelica_metatype _l_outputs = NULL;
modelica_metatype _l_inputs = NULL;
modelica_metatype _l_ret = NULL;
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
_l_ret = omc_CodegenCFunctions_fun__993(threadData, _OMC_LIT20, _a_ty);
_l_inputs = omc_CodegenCFunctions_fun__995(threadData, _OMC_LIT20, _a_ty);
_l_outputs = omc_CodegenCFunctions_fun__997(threadData, _OMC_LIT20, _a_ty);
_out_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT68);
_out_txt = omc_Tpl_writeText(threadData, _out_txt, _l_ret);
_out_txt = omc_Tpl_writeTok(threadData, _out_txt, _OMC_LIT598);
_out_txt = omc_CodegenCFunctions_fun__998(threadData, _out_txt, _a_isClosure);
_out_txt = omc_Tpl_writeText(threadData, _out_txt, _l_inputs);
_out_txt = omc_Tpl_writeText(threadData, _out_txt, _l_outputs);
_out_txt = omc_Tpl_writeTok(threadData, _out_txt, _OMC_LIT600);
_ret_3 = (!_a_isClosure);
_ret_4 = omc_Flags_isSet(threadData, _OMC_LIT604);
_ret_5 = (_ret_3 && _ret_4);
_out_txt = omc_CodegenCFunctions_fun__999(threadData, _out_txt, _ret_5);
_return: OMC_LABEL_UNUSED
return _out_txt;
}
modelica_metatype boxptr_CodegenCFunctions_generateTypeCastFromType(threadData_t *threadData, modelica_metatype _txt, modelica_metatype _a_ty, modelica_metatype _a_isClosure)
{
modelica_integer tmp1;
modelica_metatype _out_txt = NULL;
tmp1 = mmc_unbox_integer(_a_isClosure);
_out_txt = omc_CodegenCFunctions_generateTypeCastFromType(threadData, _txt, _a_ty, tmp1);
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__999(threadData_t *threadData, modelica_metatype _in_txt, modelica_boolean _in_mArg)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta[1] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp3_1;modelica_boolean tmp3_2;
tmp3_1 = _in_txt;
tmp3_2 = _in_mArg;
{
modelica_metatype _txt = NULL;
volatile mmc_switch_type tmp3;
int tmp4;
tmp3 = 0;
for (; tmp3 < 2; tmp3++) {
switch (MMC_SWITCH_CAST(tmp3)) {
case 0: {
if (0 != tmp3_2) goto tmp2_end;
_txt = tmp3_1;
tmpMeta[0] = _txt;
goto tmp2_done;
}
case 1: {
_txt = tmp3_1;
tmpMeta[0] = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT606);
goto tmp2_done;
}
}
goto tmp2_end;
tmp2_end: ;
}
goto goto_1;
goto_1:;
MMC_THROW_INTERNAL();
goto tmp2_done;
tmp2_done:;
}
}
_out_txt = tmpMeta[0];
_return: OMC_LABEL_UNUSED
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__999(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_mArg)
{
modelica_integer tmp1;
modelica_metatype _out_txt = NULL;
tmp1 = mmc_unbox_integer(_in_mArg);
_out_txt = omc_CodegenCFunctions_fun__999(threadData, _in_txt, tmp1);
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__998(threadData_t *threadData, modelica_metatype _in_txt, modelica_boolean _in_a_isClosure)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta[1] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp3_1;modelica_boolean tmp3_2;
tmp3_1 = _in_txt;
tmp3_2 = _in_a_isClosure;
{
modelica_metatype _txt = NULL;
volatile mmc_switch_type tmp3;
int tmp4;
tmp3 = 0;
for (; tmp3 < 2; tmp3++) {
switch (MMC_SWITCH_CAST(tmp3)) {
case 0: {
if (0 != tmp3_2) goto tmp2_end;
_txt = tmp3_1;
tmpMeta[0] = _txt;
goto tmp2_done;
}
case 1: {
_txt = tmp3_1;
tmpMeta[0] = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT608);
goto tmp2_done;
}
}
goto tmp2_end;
tmp2_end: ;
}
goto goto_1;
goto_1:;
MMC_THROW_INTERNAL();
goto tmp2_done;
tmp2_done:;
}
}
_out_txt = tmpMeta[0];
_return: OMC_LABEL_UNUSED
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__998(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_isClosure)
{
modelica_integer tmp1;
modelica_metatype _out_txt = NULL;
tmp1 = mmc_unbox_integer(_in_a_isClosure);
_out_txt = omc_CodegenCFunctions_fun__998(threadData, _in_txt, tmp1);
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__997(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_ty)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta[5] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp3_1;modelica_metatype tmp3_2;
tmp3_1 = _in_txt;
tmp3_2 = _in_a_ty;
{
modelica_metatype _txt = NULL;
modelica_metatype _i_tys = NULL;
volatile mmc_switch_type tmp3;
int tmp4;
tmp3 = 0;
for (; tmp3 < 2; tmp3++) {
switch (MMC_SWITCH_CAST(tmp3)) {
case 0: {
if (mmc__uniontype__metarecord__typedef__equal(tmp3_2,11,4) == 0) goto tmp2_end;
tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_2), 3));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[1],14,2) == 0) goto tmp2_end;
tmpMeta[2] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[1]), 2));
if (listEmpty(tmpMeta[2])) goto tmp2_end;
tmpMeta[3] = MMC_CAR(tmpMeta[2]);
tmpMeta[4] = MMC_CDR(tmpMeta[2]);
_i_tys = tmpMeta[4];
_txt = tmp3_1;
tmpMeta[0] = omc_CodegenCFunctions_lm__996(threadData, _txt, _i_tys);
goto tmp2_done;
}
case 1: {
_txt = tmp3_1;
tmpMeta[0] = _txt;
goto tmp2_done;
}
}
goto tmp2_end;
tmp2_end: ;
}
goto goto_1;
goto_1:;
MMC_THROW_INTERNAL();
goto tmp2_done;
tmp2_done:;
}
}
_out_txt = tmpMeta[0];
_return: OMC_LABEL_UNUSED
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_lm__996(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_items)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta[3] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp3_1;modelica_metatype tmp3_2;
tmp3_1 = _in_txt;
tmp3_2 = _in_items;
{
modelica_metatype _txt = NULL;
modelica_metatype _rest = NULL;
modelica_metatype _i_t = NULL;
volatile mmc_switch_type tmp3;
int tmp4;
tmp3 = 0;
for (; tmp3 < 2; tmp3++) {
switch (MMC_SWITCH_CAST(tmp3)) {
case 0: {
if (!listEmpty(tmp3_2)) goto tmp2_end;
_txt = tmp3_1;
tmpMeta[0] = _txt;
goto tmp2_done;
}
case 1: {
if (listEmpty(tmp3_2)) goto tmp2_end;
tmpMeta[1] = MMC_CAR(tmp3_2);
tmpMeta[2] = MMC_CDR(tmp3_2);
_i_t = tmpMeta[1];
_rest = tmpMeta[2];
_txt = tmp3_1;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT292);
_txt = omc_CodegenCFunctions_expTypeArrayIf(threadData, _txt, _i_t);
_in_txt = _txt;
_in_items = _rest;
goto _tailrecursive;
goto tmp2_done;
}
}
goto tmp2_end;
tmp2_end: ;
}
goto goto_1;
goto_1:;
MMC_THROW_INTERNAL();
goto tmp2_done;
tmp2_done:;
}
}
_out_txt = tmpMeta[0];
_return: OMC_LABEL_UNUSED
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__995(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_ty)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta[2] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp3_1;modelica_metatype tmp3_2;
tmp3_1 = _in_txt;
tmp3_2 = _in_a_ty;
{
modelica_metatype _txt = NULL;
modelica_metatype _i_funcArg = NULL;
volatile mmc_switch_type tmp3;
int tmp4;
tmp3 = 0;
for (; tmp3 < 2; tmp3++) {
switch (MMC_SWITCH_CAST(tmp3)) {
case 0: {
if (mmc__uniontype__metarecord__typedef__equal(tmp3_2,11,4) == 0) goto tmp2_end;
tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_2), 2));
_i_funcArg = tmpMeta[1];
_txt = tmp3_1;
tmpMeta[0] = omc_CodegenCFunctions_lm__994(threadData, _txt, _i_funcArg);
goto tmp2_done;
}
case 1: {
_txt = tmp3_1;
tmpMeta[0] = _txt;
goto tmp2_done;
}
}
goto tmp2_end;
tmp2_end: ;
}
goto goto_1;
goto_1:;
MMC_THROW_INTERNAL();
goto tmp2_done;
tmp2_done:;
}
}
_out_txt = tmpMeta[0];
_return: OMC_LABEL_UNUSED
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_lm__994(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_items)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta[4] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp3_1;modelica_metatype tmp3_2;
tmp3_1 = _in_txt;
tmp3_2 = _in_items;
{
modelica_metatype _txt = NULL;
modelica_metatype _rest = NULL;
modelica_metatype _i_fa_ty = NULL;
volatile mmc_switch_type tmp3;
int tmp4;
tmp3 = 0;
for (; tmp3 < 3; tmp3++) {
switch (MMC_SWITCH_CAST(tmp3)) {
case 0: {
if (!listEmpty(tmp3_2)) goto tmp2_end;
_txt = tmp3_1;
tmpMeta[0] = _txt;
goto tmp2_done;
}
case 1: {
if (listEmpty(tmp3_2)) goto tmp2_end;
tmpMeta[1] = MMC_CAR(tmp3_2);
tmpMeta[2] = MMC_CDR(tmp3_2);
tmpMeta[3] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[1]), 3));
_i_fa_ty = tmpMeta[3];
_rest = tmpMeta[2];
_txt = tmp3_1;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT292);
_txt = omc_CodegenCFunctions_expTypeArrayIf(threadData, _txt, _i_fa_ty);
_in_txt = _txt;
_in_items = _rest;
goto _tailrecursive;
goto tmp2_done;
}
case 2: {
if (listEmpty(tmp3_2)) goto tmp2_end;
tmpMeta[1] = MMC_CAR(tmp3_2);
tmpMeta[2] = MMC_CDR(tmp3_2);
_rest = tmpMeta[2];
_txt = tmp3_1;
_in_txt = _txt;
_in_items = _rest;
goto _tailrecursive;
goto tmp2_done;
}
}
goto tmp2_end;
tmp2_end: ;
}
goto goto_1;
goto_1:;
MMC_THROW_INTERNAL();
goto tmp2_done;
tmp2_done:;
}
}
_out_txt = tmpMeta[0];
_return: OMC_LABEL_UNUSED
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__993(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_ty)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta[2] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp3_1;modelica_metatype tmp3_2;
tmp3_1 = _in_txt;
tmp3_2 = _in_a_ty;
{
modelica_metatype _txt = NULL;
volatile mmc_switch_type tmp3;
int tmp4;
tmp3 = 0;
for (; tmp3 < 2; tmp3++) {
switch (MMC_SWITCH_CAST(tmp3)) {
case 0: {
if (mmc__uniontype__metarecord__typedef__equal(tmp3_2,11,4) == 0) goto tmp2_end;
tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_2), 3));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[1],7,0) == 0) goto tmp2_end;
_txt = tmp3_1;
tmpMeta[0] = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT610);
goto tmp2_done;
}
case 1: {
_txt = tmp3_1;
tmpMeta[0] = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT611);
goto tmp2_done;
}
}
goto tmp2_end;
tmp2_end: ;
}
goto goto_1;
goto_1:;
MMC_THROW_INTERNAL();
goto tmp2_done;
tmp2_done:;
}
}
_out_txt = tmpMeta[0];
_return: OMC_LABEL_UNUSED
return _out_txt;
}
DLLExport
modelica_metatype omc_CodegenCFunctions_generateTypeCast(threadData_t *threadData, modelica_metatype _txt, modelica_metatype _a_ty, modelica_metatype _a_es, modelica_boolean _a_isClosure)
{
modelica_metatype _out_txt = NULL;
modelica_boolean _ret_5;
modelica_boolean _ret_4;
modelica_boolean _ret_3;
modelica_metatype _l_outputs = NULL;
modelica_metatype _l_inputs = NULL;
modelica_metatype _l_ret = NULL;
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
_l_ret = omc_CodegenCFunctions_fun__986(threadData, _OMC_LIT20, _a_ty);
_l_inputs = omc_CodegenCFunctions_lm__987(threadData, _OMC_LIT20, _a_es);
_l_outputs = omc_CodegenCFunctions_fun__989(threadData, _OMC_LIT20, _a_ty);
_out_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT68);
_out_txt = omc_Tpl_writeText(threadData, _out_txt, _l_ret);
_out_txt = omc_Tpl_writeTok(threadData, _out_txt, _OMC_LIT598);
_out_txt = omc_CodegenCFunctions_fun__990(threadData, _out_txt, _a_isClosure);
_out_txt = omc_Tpl_writeText(threadData, _out_txt, _l_inputs);
_out_txt = omc_Tpl_writeText(threadData, _out_txt, _l_outputs);
_out_txt = omc_Tpl_writeTok(threadData, _out_txt, _OMC_LIT600);
_ret_3 = (!_a_isClosure);
_ret_4 = omc_Flags_isSet(threadData, _OMC_LIT604);
_ret_5 = (_ret_3 && _ret_4);
_out_txt = omc_CodegenCFunctions_fun__991(threadData, _out_txt, _ret_5);
_return: OMC_LABEL_UNUSED
return _out_txt;
}
modelica_metatype boxptr_CodegenCFunctions_generateTypeCast(threadData_t *threadData, modelica_metatype _txt, modelica_metatype _a_ty, modelica_metatype _a_es, modelica_metatype _a_isClosure)
{
modelica_integer tmp1;
modelica_metatype _out_txt = NULL;
tmp1 = mmc_unbox_integer(_a_isClosure);
_out_txt = omc_CodegenCFunctions_generateTypeCast(threadData, _txt, _a_ty, _a_es, tmp1);
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__991(threadData_t *threadData, modelica_metatype _in_txt, modelica_boolean _in_mArg)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta[1] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp3_1;modelica_boolean tmp3_2;
tmp3_1 = _in_txt;
tmp3_2 = _in_mArg;
{
modelica_metatype _txt = NULL;
volatile mmc_switch_type tmp3;
int tmp4;
tmp3 = 0;
for (; tmp3 < 2; tmp3++) {
switch (MMC_SWITCH_CAST(tmp3)) {
case 0: {
if (0 != tmp3_2) goto tmp2_end;
_txt = tmp3_1;
tmpMeta[0] = _txt;
goto tmp2_done;
}
case 1: {
_txt = tmp3_1;
tmpMeta[0] = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT606);
goto tmp2_done;
}
}
goto tmp2_end;
tmp2_end: ;
}
goto goto_1;
goto_1:;
MMC_THROW_INTERNAL();
goto tmp2_done;
tmp2_done:;
}
}
_out_txt = tmpMeta[0];
_return: OMC_LABEL_UNUSED
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__991(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_mArg)
{
modelica_integer tmp1;
modelica_metatype _out_txt = NULL;
tmp1 = mmc_unbox_integer(_in_mArg);
_out_txt = omc_CodegenCFunctions_fun__991(threadData, _in_txt, tmp1);
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__990(threadData_t *threadData, modelica_metatype _in_txt, modelica_boolean _in_a_isClosure)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta[1] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp3_1;modelica_boolean tmp3_2;
tmp3_1 = _in_txt;
tmp3_2 = _in_a_isClosure;
{
modelica_metatype _txt = NULL;
volatile mmc_switch_type tmp3;
int tmp4;
tmp3 = 0;
for (; tmp3 < 2; tmp3++) {
switch (MMC_SWITCH_CAST(tmp3)) {
case 0: {
if (0 != tmp3_2) goto tmp2_end;
_txt = tmp3_1;
tmpMeta[0] = _txt;
goto tmp2_done;
}
case 1: {
_txt = tmp3_1;
tmpMeta[0] = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT608);
goto tmp2_done;
}
}
goto tmp2_end;
tmp2_end: ;
}
goto goto_1;
goto_1:;
MMC_THROW_INTERNAL();
goto tmp2_done;
tmp2_done:;
}
}
_out_txt = tmpMeta[0];
_return: OMC_LABEL_UNUSED
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__990(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_isClosure)
{
modelica_integer tmp1;
modelica_metatype _out_txt = NULL;
tmp1 = mmc_unbox_integer(_in_a_isClosure);
_out_txt = omc_CodegenCFunctions_fun__990(threadData, _in_txt, tmp1);
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__989(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_ty)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta[4] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp3_1;modelica_metatype tmp3_2;
tmp3_1 = _in_txt;
tmp3_2 = _in_a_ty;
{
modelica_metatype _txt = NULL;
modelica_metatype _i_tys = NULL;
volatile mmc_switch_type tmp3;
int tmp4;
tmp3 = 0;
for (; tmp3 < 2; tmp3++) {
switch (MMC_SWITCH_CAST(tmp3)) {
case 0: {
if (mmc__uniontype__metarecord__typedef__equal(tmp3_2,14,2) == 0) goto tmp2_end;
tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_2), 2));
if (listEmpty(tmpMeta[1])) goto tmp2_end;
tmpMeta[2] = MMC_CAR(tmpMeta[1]);
tmpMeta[3] = MMC_CDR(tmpMeta[1]);
_i_tys = tmpMeta[3];
_txt = tmp3_1;
tmpMeta[0] = omc_CodegenCFunctions_lm__988(threadData, _txt, _i_tys);
goto tmp2_done;
}
case 1: {
_txt = tmp3_1;
tmpMeta[0] = _txt;
goto tmp2_done;
}
}
goto tmp2_end;
tmp2_end: ;
}
goto goto_1;
goto_1:;
MMC_THROW_INTERNAL();
goto tmp2_done;
tmp2_done:;
}
}
_out_txt = tmpMeta[0];
_return: OMC_LABEL_UNUSED
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_lm__988(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_items)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta[3] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp3_1;modelica_metatype tmp3_2;
tmp3_1 = _in_txt;
tmp3_2 = _in_items;
{
modelica_metatype _txt = NULL;
modelica_metatype _rest = NULL;
modelica_metatype _i_t = NULL;
volatile mmc_switch_type tmp3;
int tmp4;
tmp3 = 0;
for (; tmp3 < 2; tmp3++) {
switch (MMC_SWITCH_CAST(tmp3)) {
case 0: {
if (!listEmpty(tmp3_2)) goto tmp2_end;
_txt = tmp3_1;
tmpMeta[0] = _txt;
goto tmp2_done;
}
case 1: {
if (listEmpty(tmp3_2)) goto tmp2_end;
tmpMeta[1] = MMC_CAR(tmp3_2);
tmpMeta[2] = MMC_CDR(tmp3_2);
_i_t = tmpMeta[1];
_rest = tmpMeta[2];
_txt = tmp3_1;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT292);
_txt = omc_CodegenCFunctions_expTypeArrayIf(threadData, _txt, _i_t);
_in_txt = _txt;
_in_items = _rest;
goto _tailrecursive;
goto tmp2_done;
}
}
goto tmp2_end;
tmp2_end: ;
}
goto goto_1;
goto_1:;
MMC_THROW_INTERNAL();
goto tmp2_done;
tmp2_done:;
}
}
_out_txt = tmpMeta[0];
_return: OMC_LABEL_UNUSED
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_lm__987(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_items)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta[3] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp3_1;modelica_metatype tmp3_2;
tmp3_1 = _in_txt;
tmp3_2 = _in_items;
{
modelica_metatype _txt = NULL;
modelica_metatype _rest = NULL;
modelica_metatype _i_e = NULL;
volatile mmc_switch_type tmp3;
int tmp4;
tmp3 = 0;
for (; tmp3 < 2; tmp3++) {
switch (MMC_SWITCH_CAST(tmp3)) {
case 0: {
if (!listEmpty(tmp3_2)) goto tmp2_end;
_txt = tmp3_1;
tmpMeta[0] = _txt;
goto tmp2_done;
}
case 1: {
if (listEmpty(tmp3_2)) goto tmp2_end;
tmpMeta[1] = MMC_CAR(tmp3_2);
tmpMeta[2] = MMC_CDR(tmp3_2);
_i_e = tmpMeta[1];
_rest = tmpMeta[2];
_txt = tmp3_1;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT292);
_txt = omc_CodegenCFunctions_expTypeFromExpArrayIf(threadData, _txt, _i_e);
_in_txt = _txt;
_in_items = _rest;
goto _tailrecursive;
goto tmp2_done;
}
}
goto tmp2_end;
tmp2_end: ;
}
goto goto_1;
goto_1:;
MMC_THROW_INTERNAL();
goto tmp2_done;
tmp2_done:;
}
}
_out_txt = tmpMeta[0];
_return: OMC_LABEL_UNUSED
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__986(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_ty)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta[1] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp3_1;modelica_metatype tmp3_2;
tmp3_1 = _in_txt;
tmp3_2 = _in_a_ty;
{
modelica_metatype _txt = NULL;
volatile mmc_switch_type tmp3;
int tmp4;
tmp3 = 0;
for (; tmp3 < 2; tmp3++) {
switch (MMC_SWITCH_CAST(tmp3)) {
case 0: {
if (mmc__uniontype__metarecord__typedef__equal(tmp3_2,7,0) == 0) goto tmp2_end;
_txt = tmp3_1;
tmpMeta[0] = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT610);
goto tmp2_done;
}
case 1: {
_txt = tmp3_1;
tmpMeta[0] = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT611);
goto tmp2_done;
}
}
goto tmp2_end;
tmp2_end: ;
}
goto goto_1;
goto_1:;
MMC_THROW_INTERNAL();
goto tmp2_done;
tmp2_done:;
}
}
_out_txt = tmpMeta[0];
_return: OMC_LABEL_UNUSED
return _out_txt;
}
DLLExport
modelica_metatype omc_CodegenCFunctions_daeExpCallTuple(threadData_t *threadData, modelica_metatype _txt, modelica_metatype _a_call, modelica_metatype _a_additionalOutputs, modelica_metatype _a_context, modelica_metatype _a_preExp, modelica_metatype _a_varDecls, modelica_metatype _a_auxFunction, modelica_metatype *out_out_a_additionalOutputs, modelica_metatype *out_out_a_preExp, modelica_metatype *out_out_a_varDecls, modelica_metatype *out_out_a_auxFunction)
{
modelica_metatype _out_txt = NULL;
modelica_metatype _out_a_additionalOutputs = NULL;
modelica_metatype _out_a_preExp = NULL;
modelica_metatype _out_a_varDecls = NULL;
modelica_metatype _out_a_auxFunction = NULL;
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
_out_txt = omc_CodegenCFunctions_fun__984(threadData, _txt, _a_call, _a_additionalOutputs, _a_context, _a_preExp, _a_varDecls, _a_auxFunction ,&_out_a_preExp ,&_out_a_varDecls ,&_out_a_auxFunction);
_out_a_additionalOutputs = _a_additionalOutputs;
_return: OMC_LABEL_UNUSED
if (out_out_a_additionalOutputs) { *out_out_a_additionalOutputs = _out_a_additionalOutputs; }
if (out_out_a_preExp) { *out_out_a_preExp = _out_a_preExp; }
if (out_out_a_varDecls) { *out_out_a_varDecls = _out_a_varDecls; }
if (out_out_a_auxFunction) { *out_out_a_auxFunction = _out_a_auxFunction; }
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__984(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_call, modelica_metatype _in_a_additionalOutputs, modelica_metatype _in_a_context, modelica_metatype _in_a_preExp, modelica_metatype _in_a_varDecls, modelica_metatype _in_a_auxFunction, modelica_metatype *out_out_a_preExp, modelica_metatype *out_out_a_varDecls, modelica_metatype *out_out_a_auxFunction)
{
modelica_metatype _out_txt = NULL;
modelica_metatype _out_a_preExp = NULL;
modelica_metatype _out_a_varDecls = NULL;
modelica_metatype _out_a_auxFunction = NULL;
modelica_metatype tmpMeta[10] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_metatype tmp4_2;modelica_metatype tmp4_3;modelica_metatype tmp4_4;modelica_metatype tmp4_5;modelica_metatype tmp4_6;modelica_metatype tmp4_7;
tmp4_1 = _in_txt;
tmp4_2 = _in_a_call;
tmp4_3 = _in_a_additionalOutputs;
tmp4_4 = _in_a_context;
tmp4_5 = _in_a_preExp;
tmp4_6 = _in_a_varDecls;
tmp4_7 = _in_a_auxFunction;
{
modelica_metatype _txt = NULL;
modelica_metatype _a_additionalOutputs = NULL;
modelica_metatype _a_context = NULL;
modelica_metatype _a_preExp = NULL;
modelica_metatype _a_varDecls = NULL;
modelica_metatype _a_auxFunction = NULL;
modelica_metatype _i_attr_ty = NULL;
modelica_metatype _i_path = NULL;
modelica_boolean _i_attr_isFunctionPointerCall;
modelica_metatype _i_expLst = NULL;
modelica_boolean _i_attr_builtin;
modelica_boolean _ret_2;
modelica_boolean _ret_1;
modelica_metatype _l_argStr = NULL;
volatile mmc_switch_type tmp4;
int tmp5;
tmp4 = 0;
for (; tmp4 < 2; tmp4++) {
switch (MMC_SWITCH_CAST(tmp4)) {
case 0: {
modelica_integer tmp6;
modelica_integer tmp7;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,13,3) == 0) goto tmp3_end;
tmpMeta[4] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
tmpMeta[5] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 3));
tmpMeta[6] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 4));
tmpMeta[7] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[6]), 2));
tmpMeta[8] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[6]), 4));
tmp6 = mmc_unbox_integer(tmpMeta[8]);
tmpMeta[9] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[6]), 6));
tmp7 = mmc_unbox_integer(tmpMeta[9]);
_i_path = tmpMeta[4];
_i_expLst = tmpMeta[5];
_i_attr_ty = tmpMeta[7];
_i_attr_builtin = tmp6;
_i_attr_isFunctionPointerCall = tmp7;
_txt = tmp4_1;
_a_additionalOutputs = tmp4_3;
_a_context = tmp4_4;
_a_preExp = tmp4_5;
_a_varDecls = tmp4_6;
_a_auxFunction = tmp4_7;
_ret_1 = omc_SimCodeFunctionUtil_isParallelFunctionContext(threadData, _a_context);
_ret_2 = (_i_attr_builtin || _ret_1);
_l_argStr = omc_CodegenCFunctions_fun__979(threadData, _OMC_LIT20, _ret_2, _a_auxFunction, _a_varDecls, _a_preExp, _a_context, _i_expLst ,&_a_auxFunction ,&_a_varDecls ,&_a_preExp);
_txt = omc_CodegenCFunctions_fun__983(threadData, _txt, _i_attr_isFunctionPointerCall, _a_auxFunction, _a_varDecls, _a_preExp, _a_context, _i_expLst, _i_attr_ty, _a_additionalOutputs, _l_argStr, _i_path, _i_attr_builtin ,&_a_auxFunction ,&_a_varDecls ,&_a_preExp);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_preExp;
tmpMeta[0+2] = _a_varDecls;
tmpMeta[0+3] = _a_auxFunction;
goto tmp3_done;
}
case 1: {
_txt = tmp4_1;
_a_preExp = tmp4_5;
_a_varDecls = tmp4_6;
_a_auxFunction = tmp4_7;
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_preExp;
tmpMeta[0+2] = _a_varDecls;
tmpMeta[0+3] = _a_auxFunction;
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta[0+0];
_out_a_preExp = tmpMeta[0+1];
_out_a_varDecls = tmpMeta[0+2];
_out_a_auxFunction = tmpMeta[0+3];
_return: OMC_LABEL_UNUSED
if (out_out_a_preExp) { *out_out_a_preExp = _out_a_preExp; }
if (out_out_a_varDecls) { *out_out_a_varDecls = _out_a_varDecls; }
if (out_out_a_auxFunction) { *out_out_a_auxFunction = _out_a_auxFunction; }
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__983(threadData_t *threadData, modelica_metatype _in_txt, modelica_boolean _in_a_attr_isFunctionPointerCall, modelica_metatype _in_a_auxFunction, modelica_metatype _in_a_varDecls, modelica_metatype _in_a_preExp, modelica_metatype _in_a_context, modelica_metatype _in_a_expLst, modelica_metatype _in_a_attr_ty, modelica_metatype _in_a_additionalOutputs, modelica_metatype _in_a_argStr, modelica_metatype _in_a_path, modelica_boolean _in_a_attr_builtin, modelica_metatype *out_out_a_auxFunction, modelica_metatype *out_out_a_varDecls, modelica_metatype *out_out_a_preExp)
{
modelica_metatype _out_txt = NULL;
modelica_metatype _out_a_auxFunction = NULL;
modelica_metatype _out_a_varDecls = NULL;
modelica_metatype _out_a_preExp = NULL;
modelica_metatype tmpMeta[4] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_boolean tmp4_2;modelica_metatype tmp4_3;modelica_metatype tmp4_4;modelica_metatype tmp4_5;modelica_metatype tmp4_6;modelica_metatype tmp4_7;modelica_metatype tmp4_8;modelica_metatype tmp4_9;modelica_metatype tmp4_10;modelica_metatype tmp4_11;modelica_boolean tmp4_12;
tmp4_1 = _in_txt;
tmp4_2 = _in_a_attr_isFunctionPointerCall;
tmp4_3 = _in_a_auxFunction;
tmp4_4 = _in_a_varDecls;
tmp4_5 = _in_a_preExp;
tmp4_6 = _in_a_context;
tmp4_7 = _in_a_expLst;
tmp4_8 = _in_a_attr_ty;
tmp4_9 = _in_a_additionalOutputs;
tmp4_10 = _in_a_argStr;
tmp4_11 = _in_a_path;
tmp4_12 = _in_a_attr_builtin;
{
modelica_metatype _txt = NULL;
modelica_metatype _a_auxFunction = NULL;
modelica_metatype _a_varDecls = NULL;
modelica_metatype _a_preExp = NULL;
modelica_metatype _a_context = NULL;
modelica_metatype _a_expLst = NULL;
modelica_metatype _a_attr_ty = NULL;
modelica_metatype _a_additionalOutputs = NULL;
modelica_metatype _a_argStr = NULL;
modelica_metatype _a_path = NULL;
modelica_boolean _a_attr_builtin;
modelica_metatype _l_argStrPointer = NULL;
modelica_metatype _l_closure = NULL;
modelica_metatype _l_func = NULL;
modelica_metatype _l_n = NULL;
modelica_metatype _l_typeCast2 = NULL;
modelica_metatype _l_typeCast1 = NULL;
modelica_metatype _l_name = NULL;
volatile mmc_switch_type tmp4;
int tmp5;
tmp4 = 0;
for (; tmp4 < 2; tmp4++) {
switch (MMC_SWITCH_CAST(tmp4)) {
case 0: {
if (0 != tmp4_2) goto tmp3_end;
_txt = tmp4_1;
_a_auxFunction = tmp4_3;
_a_varDecls = tmp4_4;
_a_preExp = tmp4_5;
_a_additionalOutputs = tmp4_9;
_a_argStr = tmp4_10;
_a_path = tmp4_11;
_a_attr_builtin = tmp4_12;
_l_name = omc_CodegenCFunctions_fun__980(threadData, _OMC_LIT20, _a_attr_builtin);
_l_name = omc_CodegenUtil_underscorePath(threadData, _l_name, _a_path);
_txt = omc_Tpl_writeText(threadData, _txt, _l_name);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT68);
_txt = omc_Tpl_writeText(threadData, _txt, _a_argStr);
_txt = omc_Tpl_writeText(threadData, _txt, _a_additionalOutputs);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT78);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_auxFunction;
tmpMeta[0+2] = _a_varDecls;
tmpMeta[0+3] = _a_preExp;
goto tmp3_done;
}
case 1: {
_txt = tmp4_1;
_a_auxFunction = tmp4_3;
_a_varDecls = tmp4_4;
_a_preExp = tmp4_5;
_a_context = tmp4_6;
_a_expLst = tmp4_7;
_a_attr_ty = tmp4_8;
_a_additionalOutputs = tmp4_9;
_a_argStr = tmp4_10;
_a_path = tmp4_11;
_l_typeCast1 = omc_CodegenCFunctions_generateTypeCast(threadData, _OMC_LIT20, _a_attr_ty, _a_expLst, 1);
_l_typeCast2 = omc_CodegenCFunctions_generateTypeCast(threadData, _OMC_LIT20, _a_attr_ty, _a_expLst, 0);
_l_n = omc_CodegenCFunctions_fun__981(threadData, _OMC_LIT20, _a_path, _a_auxFunction, _a_varDecls, _a_preExp, _a_context ,&_a_auxFunction ,&_a_varDecls ,&_a_preExp);
_l_func = omc_Tpl_writeTok(threadData, _OMC_LIT20, _OMC_LIT520);
_l_func = omc_Tpl_writeText(threadData, _l_func, _l_n);
_l_func = omc_Tpl_writeTok(threadData, _l_func, _OMC_LIT613);
_l_closure = omc_Tpl_writeTok(threadData, _OMC_LIT20, _OMC_LIT520);
_l_closure = omc_Tpl_writeText(threadData, _l_closure, _l_n);
_l_closure = omc_Tpl_writeTok(threadData, _l_closure, _OMC_LIT615);
_l_argStrPointer = omc_Tpl_writeTok(threadData, _OMC_LIT20, _OMC_LIT617);
_l_argStrPointer = omc_Tpl_writeText(threadData, _l_argStrPointer, _l_closure);
_l_argStrPointer = omc_CodegenCFunctions_lm__982(threadData, _l_argStrPointer, _a_expLst, _a_auxFunction, _a_varDecls, _a_preExp, _a_context ,&_a_auxFunction ,&_a_varDecls ,&_a_preExp);
_txt = omc_Tpl_writeText(threadData, _txt, _l_closure);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT619);
_txt = omc_Tpl_writeText(threadData, _txt, _l_typeCast1);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT29);
_txt = omc_Tpl_writeText(threadData, _txt, _l_func);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT621);
_txt = omc_Tpl_writeText(threadData, _txt, _l_argStrPointer);
_txt = omc_Tpl_writeText(threadData, _txt, _a_additionalOutputs);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT623);
_txt = omc_Tpl_writeText(threadData, _txt, _l_typeCast2);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT29);
_txt = omc_Tpl_writeText(threadData, _txt, _l_func);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT621);
_txt = omc_Tpl_writeText(threadData, _txt, _a_argStr);
_txt = omc_Tpl_writeText(threadData, _txt, _a_additionalOutputs);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT78);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_auxFunction;
tmpMeta[0+2] = _a_varDecls;
tmpMeta[0+3] = _a_preExp;
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta[0+0];
_out_a_auxFunction = tmpMeta[0+1];
_out_a_varDecls = tmpMeta[0+2];
_out_a_preExp = tmpMeta[0+3];
_return: OMC_LABEL_UNUSED
if (out_out_a_auxFunction) { *out_out_a_auxFunction = _out_a_auxFunction; }
if (out_out_a_varDecls) { *out_out_a_varDecls = _out_a_varDecls; }
if (out_out_a_preExp) { *out_out_a_preExp = _out_a_preExp; }
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__983(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_attr_isFunctionPointerCall, modelica_metatype _in_a_auxFunction, modelica_metatype _in_a_varDecls, modelica_metatype _in_a_preExp, modelica_metatype _in_a_context, modelica_metatype _in_a_expLst, modelica_metatype _in_a_attr_ty, modelica_metatype _in_a_additionalOutputs, modelica_metatype _in_a_argStr, modelica_metatype _in_a_path, modelica_metatype _in_a_attr_builtin, modelica_metatype *out_out_a_auxFunction, modelica_metatype *out_out_a_varDecls, modelica_metatype *out_out_a_preExp)
{
modelica_integer tmp1;
modelica_integer tmp2;
modelica_metatype _out_txt = NULL;
tmp1 = mmc_unbox_integer(_in_a_attr_isFunctionPointerCall);
tmp2 = mmc_unbox_integer(_in_a_attr_builtin);
_out_txt = omc_CodegenCFunctions_fun__983(threadData, _in_txt, tmp1, _in_a_auxFunction, _in_a_varDecls, _in_a_preExp, _in_a_context, _in_a_expLst, _in_a_attr_ty, _in_a_additionalOutputs, _in_a_argStr, _in_a_path, tmp2, out_out_a_auxFunction, out_out_a_varDecls, out_out_a_preExp);
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_lm__982(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_items, modelica_metatype _in_a_auxFunction, modelica_metatype _in_a_varDecls, modelica_metatype _in_a_preExp, modelica_metatype _in_a_context, modelica_metatype *out_out_a_auxFunction, modelica_metatype *out_out_a_varDecls, modelica_metatype *out_out_a_preExp)
{
modelica_metatype _out_txt = NULL;
modelica_metatype _out_a_auxFunction = NULL;
modelica_metatype _out_a_varDecls = NULL;
modelica_metatype _out_a_preExp = NULL;
modelica_metatype tmpMeta[6] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_metatype tmp4_2;modelica_metatype tmp4_3;modelica_metatype tmp4_4;modelica_metatype tmp4_5;modelica_metatype tmp4_6;
tmp4_1 = _in_txt;
tmp4_2 = _in_items;
tmp4_3 = _in_a_auxFunction;
tmp4_4 = _in_a_varDecls;
tmp4_5 = _in_a_preExp;
tmp4_6 = _in_a_context;
{
modelica_metatype _txt = NULL;
modelica_metatype _rest = NULL;
modelica_metatype _a_auxFunction = NULL;
modelica_metatype _a_varDecls = NULL;
modelica_metatype _a_preExp = NULL;
modelica_metatype _a_context = NULL;
modelica_metatype _i_exp = NULL;
volatile mmc_switch_type tmp4;
int tmp5;
tmp4 = 0;
for (; tmp4 < 2; tmp4++) {
switch (MMC_SWITCH_CAST(tmp4)) {
case 0: {
if (!listEmpty(tmp4_2)) goto tmp3_end;
_txt = tmp4_1;
_a_auxFunction = tmp4_3;
_a_varDecls = tmp4_4;
_a_preExp = tmp4_5;
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_auxFunction;
tmpMeta[0+2] = _a_varDecls;
tmpMeta[0+3] = _a_preExp;
goto tmp3_done;
}
case 1: {
if (listEmpty(tmp4_2)) goto tmp3_end;
tmpMeta[4] = MMC_CAR(tmp4_2);
tmpMeta[5] = MMC_CDR(tmp4_2);
_i_exp = tmpMeta[4];
_rest = tmpMeta[5];
_txt = tmp4_1;
_a_auxFunction = tmp4_3;
_a_varDecls = tmp4_4;
_a_preExp = tmp4_5;
_a_context = tmp4_6;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT292);
_txt = omc_CodegenCFunctions_daeExp(threadData, _txt, _i_exp, _a_context, _a_preExp, _a_varDecls, _a_auxFunction ,&_a_preExp ,&_a_varDecls ,&_a_auxFunction);
_in_txt = _txt;
_in_items = _rest;
_in_a_auxFunction = _a_auxFunction;
_in_a_varDecls = _a_varDecls;
_in_a_preExp = _a_preExp;
_in_a_context = _a_context;
goto _tailrecursive;
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta[0+0];
_out_a_auxFunction = tmpMeta[0+1];
_out_a_varDecls = tmpMeta[0+2];
_out_a_preExp = tmpMeta[0+3];
_return: OMC_LABEL_UNUSED
if (out_out_a_auxFunction) { *out_out_a_auxFunction = _out_a_auxFunction; }
if (out_out_a_varDecls) { *out_out_a_varDecls = _out_a_varDecls; }
if (out_out_a_preExp) { *out_out_a_preExp = _out_a_preExp; }
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__981(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_path, modelica_metatype _in_a_auxFunction, modelica_metatype _in_a_varDecls, modelica_metatype _in_a_preExp, modelica_metatype _in_a_context, modelica_metatype *out_out_a_auxFunction, modelica_metatype *out_out_a_varDecls, modelica_metatype *out_out_a_preExp)
{
modelica_metatype _out_txt = NULL;
modelica_metatype _out_a_auxFunction = NULL;
modelica_metatype _out_a_varDecls = NULL;
modelica_metatype _out_a_preExp = NULL;
modelica_metatype tmpMeta[5] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_metatype tmp4_2;modelica_metatype tmp4_3;modelica_metatype tmp4_4;modelica_metatype tmp4_5;modelica_metatype tmp4_6;
tmp4_1 = _in_txt;
tmp4_2 = _in_a_path;
tmp4_3 = _in_a_auxFunction;
tmp4_4 = _in_a_varDecls;
tmp4_5 = _in_a_preExp;
tmp4_6 = _in_a_context;
{
modelica_metatype _txt = NULL;
modelica_metatype _a_auxFunction = NULL;
modelica_metatype _a_varDecls = NULL;
modelica_metatype _a_preExp = NULL;
modelica_metatype _a_context = NULL;
modelica_metatype _i_path = NULL;
modelica_string _i_name = NULL;
modelica_metatype _txt_1 = NULL;
modelica_metatype _ret_0 = NULL;
volatile mmc_switch_type tmp4;
int tmp5;
tmp4 = 0;
for (; tmp4 < 2; tmp4++) {
switch (MMC_SWITCH_CAST(tmp4)) {
case 0: {
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,1,1) == 0) goto tmp3_end;
tmpMeta[4] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
_i_name = tmpMeta[4];
_txt = tmp4_1;
_a_auxFunction = tmp4_3;
_a_varDecls = tmp4_4;
_a_preExp = tmp4_5;
_a_context = tmp4_6;
_ret_0 = omc_ComponentReference_makeUntypedCrefIdent(threadData, _i_name);
_txt = omc_CodegenCFunctions_contextCref(threadData, _txt, _ret_0, _a_context, _a_preExp, _a_varDecls, _a_auxFunction ,&_a_preExp ,&_a_varDecls ,&_a_auxFunction);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_auxFunction;
tmpMeta[0+2] = _a_varDecls;
tmpMeta[0+3] = _a_preExp;
goto tmp3_done;
}
case 1: {
_txt = tmp4_1;
_i_path = tmp4_2;
_a_auxFunction = tmp4_3;
_a_varDecls = tmp4_4;
_a_preExp = tmp4_5;
_txt_1 = omc_Tpl_writeTok(threadData, _OMC_LIT20, _OMC_LIT625);
_txt_1 = omc_CodegenUtil_underscorePath(threadData, _txt_1, _i_path);
_txt = omc_CodegenUtil_error(threadData, _txt, omc_Tpl_sourceInfo(threadData, _OMC_LIT27, ((modelica_integer) 6616), ((modelica_integer) 22)), omc_Tpl_textString(threadData, _txt_1));
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_auxFunction;
tmpMeta[0+2] = _a_varDecls;
tmpMeta[0+3] = _a_preExp;
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta[0+0];
_out_a_auxFunction = tmpMeta[0+1];
_out_a_varDecls = tmpMeta[0+2];
_out_a_preExp = tmpMeta[0+3];
_return: OMC_LABEL_UNUSED
if (out_out_a_auxFunction) { *out_out_a_auxFunction = _out_a_auxFunction; }
if (out_out_a_varDecls) { *out_out_a_varDecls = _out_a_varDecls; }
if (out_out_a_preExp) { *out_out_a_preExp = _out_a_preExp; }
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__980(threadData_t *threadData, modelica_metatype _in_txt, modelica_boolean _in_a_attr_builtin)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta[1] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp3_1;modelica_boolean tmp3_2;
tmp3_1 = _in_txt;
tmp3_2 = _in_a_attr_builtin;
{
modelica_metatype _txt = NULL;
volatile mmc_switch_type tmp3;
int tmp4;
tmp3 = 0;
for (; tmp3 < 2; tmp3++) {
switch (MMC_SWITCH_CAST(tmp3)) {
case 0: {
if (0 != tmp3_2) goto tmp2_end;
_txt = tmp3_1;
tmpMeta[0] = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT627);
goto tmp2_done;
}
case 1: {
_txt = tmp3_1;
tmpMeta[0] = _txt;
goto tmp2_done;
}
}
goto tmp2_end;
tmp2_end: ;
}
goto goto_1;
goto_1:;
MMC_THROW_INTERNAL();
goto tmp2_done;
tmp2_done:;
}
}
_out_txt = tmpMeta[0];
_return: OMC_LABEL_UNUSED
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__980(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_attr_builtin)
{
modelica_integer tmp1;
modelica_metatype _out_txt = NULL;
tmp1 = mmc_unbox_integer(_in_a_attr_builtin);
_out_txt = omc_CodegenCFunctions_fun__980(threadData, _in_txt, tmp1);
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__979(threadData_t *threadData, modelica_metatype _in_txt, modelica_boolean _in_mArg, modelica_metatype _in_a_auxFunction, modelica_metatype _in_a_varDecls, modelica_metatype _in_a_preExp, modelica_metatype _in_a_context, modelica_metatype _in_a_expLst, modelica_metatype *out_out_a_auxFunction, modelica_metatype *out_out_a_varDecls, modelica_metatype *out_out_a_preExp)
{
modelica_metatype _out_txt = NULL;
modelica_metatype _out_a_auxFunction = NULL;
modelica_metatype _out_a_varDecls = NULL;
modelica_metatype _out_a_preExp = NULL;
modelica_metatype tmpMeta[4] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_boolean tmp4_2;modelica_metatype tmp4_3;modelica_metatype tmp4_4;modelica_metatype tmp4_5;modelica_metatype tmp4_6;modelica_metatype tmp4_7;
tmp4_1 = _in_txt;
tmp4_2 = _in_mArg;
tmp4_3 = _in_a_auxFunction;
tmp4_4 = _in_a_varDecls;
tmp4_5 = _in_a_preExp;
tmp4_6 = _in_a_context;
tmp4_7 = _in_a_expLst;
{
modelica_metatype _txt = NULL;
modelica_metatype _a_auxFunction = NULL;
modelica_metatype _a_varDecls = NULL;
modelica_metatype _a_preExp = NULL;
modelica_metatype _a_context = NULL;
modelica_metatype _a_expLst = NULL;
volatile mmc_switch_type tmp4;
int tmp5;
tmp4 = 0;
for (; tmp4 < 2; tmp4++) {
switch (MMC_SWITCH_CAST(tmp4)) {
case 0: {
if (0 != tmp4_2) goto tmp3_end;
_txt = tmp4_1;
_a_auxFunction = tmp4_3;
_a_varDecls = tmp4_4;
_a_preExp = tmp4_5;
_a_context = tmp4_6;
_a_expLst = tmp4_7;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT629);
tmpMeta[0+0] = omc_CodegenCFunctions_lm__977(threadData, _txt, _a_expLst, _a_auxFunction, _a_varDecls, _a_preExp, _a_context, &tmpMeta[0+1], &tmpMeta[0+2], &tmpMeta[0+3]);
goto tmp3_done;
}
case 1: {
_txt = tmp4_1;
_a_auxFunction = tmp4_3;
_a_varDecls = tmp4_4;
_a_preExp = tmp4_5;
_a_context = tmp4_6;
_a_expLst = tmp4_7;
_txt = omc_Tpl_pushIter(threadData, _txt, _OMC_LIT294);
_txt = omc_CodegenCFunctions_lm__978(threadData, _txt, _a_expLst, _a_auxFunction, _a_varDecls, _a_preExp, _a_context ,&_a_auxFunction ,&_a_varDecls ,&_a_preExp);
_txt = omc_Tpl_popIter(threadData, _txt);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_auxFunction;
tmpMeta[0+2] = _a_varDecls;
tmpMeta[0+3] = _a_preExp;
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta[0+0];
_out_a_auxFunction = tmpMeta[0+1];
_out_a_varDecls = tmpMeta[0+2];
_out_a_preExp = tmpMeta[0+3];
_return: OMC_LABEL_UNUSED
if (out_out_a_auxFunction) { *out_out_a_auxFunction = _out_a_auxFunction; }
if (out_out_a_varDecls) { *out_out_a_varDecls = _out_a_varDecls; }
if (out_out_a_preExp) { *out_out_a_preExp = _out_a_preExp; }
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__979(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_mArg, modelica_metatype _in_a_auxFunction, modelica_metatype _in_a_varDecls, modelica_metatype _in_a_preExp, modelica_metatype _in_a_context, modelica_metatype _in_a_expLst, modelica_metatype *out_out_a_auxFunction, modelica_metatype *out_out_a_varDecls, modelica_metatype *out_out_a_preExp)
{
modelica_integer tmp1;
modelica_metatype _out_txt = NULL;
tmp1 = mmc_unbox_integer(_in_mArg);
_out_txt = omc_CodegenCFunctions_fun__979(threadData, _in_txt, tmp1, _in_a_auxFunction, _in_a_varDecls, _in_a_preExp, _in_a_context, _in_a_expLst, out_out_a_auxFunction, out_out_a_varDecls, out_out_a_preExp);
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_lm__978(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_items, modelica_metatype _in_a_auxFunction, modelica_metatype _in_a_varDecls, modelica_metatype _in_a_preExp, modelica_metatype _in_a_context, modelica_metatype *out_out_a_auxFunction, modelica_metatype *out_out_a_varDecls, modelica_metatype *out_out_a_preExp)
{
modelica_metatype _out_txt = NULL;
modelica_metatype _out_a_auxFunction = NULL;
modelica_metatype _out_a_varDecls = NULL;
modelica_metatype _out_a_preExp = NULL;
modelica_metatype tmpMeta[6] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_metatype tmp4_2;modelica_metatype tmp4_3;modelica_metatype tmp4_4;modelica_metatype tmp4_5;modelica_metatype tmp4_6;
tmp4_1 = _in_txt;
tmp4_2 = _in_items;
tmp4_3 = _in_a_auxFunction;
tmp4_4 = _in_a_varDecls;
tmp4_5 = _in_a_preExp;
tmp4_6 = _in_a_context;
{
modelica_metatype _txt = NULL;
modelica_metatype _rest = NULL;
modelica_metatype _a_auxFunction = NULL;
modelica_metatype _a_varDecls = NULL;
modelica_metatype _a_preExp = NULL;
modelica_metatype _a_context = NULL;
modelica_metatype _i_exp = NULL;
volatile mmc_switch_type tmp4;
int tmp5;
tmp4 = 0;
for (; tmp4 < 2; tmp4++) {
switch (MMC_SWITCH_CAST(tmp4)) {
case 0: {
if (!listEmpty(tmp4_2)) goto tmp3_end;
_txt = tmp4_1;
_a_auxFunction = tmp4_3;
_a_varDecls = tmp4_4;
_a_preExp = tmp4_5;
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_auxFunction;
tmpMeta[0+2] = _a_varDecls;
tmpMeta[0+3] = _a_preExp;
goto tmp3_done;
}
case 1: {
if (listEmpty(tmp4_2)) goto tmp3_end;
tmpMeta[4] = MMC_CAR(tmp4_2);
tmpMeta[5] = MMC_CDR(tmp4_2);
_i_exp = tmpMeta[4];
_rest = tmpMeta[5];
_txt = tmp4_1;
_a_auxFunction = tmp4_3;
_a_varDecls = tmp4_4;
_a_preExp = tmp4_5;
_a_context = tmp4_6;
_txt = omc_CodegenCFunctions_daeExp(threadData, _txt, _i_exp, _a_context, _a_preExp, _a_varDecls, _a_auxFunction ,&_a_preExp ,&_a_varDecls ,&_a_auxFunction);
_txt = omc_Tpl_nextIter(threadData, _txt);
_in_txt = _txt;
_in_items = _rest;
_in_a_auxFunction = _a_auxFunction;
_in_a_varDecls = _a_varDecls;
_in_a_preExp = _a_preExp;
_in_a_context = _a_context;
goto _tailrecursive;
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta[0+0];
_out_a_auxFunction = tmpMeta[0+1];
_out_a_varDecls = tmpMeta[0+2];
_out_a_preExp = tmpMeta[0+3];
_return: OMC_LABEL_UNUSED
if (out_out_a_auxFunction) { *out_out_a_auxFunction = _out_a_auxFunction; }
if (out_out_a_varDecls) { *out_out_a_varDecls = _out_a_varDecls; }
if (out_out_a_preExp) { *out_out_a_preExp = _out_a_preExp; }
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_lm__977(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_items, modelica_metatype _in_a_auxFunction, modelica_metatype _in_a_varDecls, modelica_metatype _in_a_preExp, modelica_metatype _in_a_context, modelica_metatype *out_out_a_auxFunction, modelica_metatype *out_out_a_varDecls, modelica_metatype *out_out_a_preExp)
{
modelica_metatype _out_txt = NULL;
modelica_metatype _out_a_auxFunction = NULL;
modelica_metatype _out_a_varDecls = NULL;
modelica_metatype _out_a_preExp = NULL;
modelica_metatype tmpMeta[6] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_metatype tmp4_2;modelica_metatype tmp4_3;modelica_metatype tmp4_4;modelica_metatype tmp4_5;modelica_metatype tmp4_6;
tmp4_1 = _in_txt;
tmp4_2 = _in_items;
tmp4_3 = _in_a_auxFunction;
tmp4_4 = _in_a_varDecls;
tmp4_5 = _in_a_preExp;
tmp4_6 = _in_a_context;
{
modelica_metatype _txt = NULL;
modelica_metatype _rest = NULL;
modelica_metatype _a_auxFunction = NULL;
modelica_metatype _a_varDecls = NULL;
modelica_metatype _a_preExp = NULL;
modelica_metatype _a_context = NULL;
modelica_metatype _i_exp = NULL;
volatile mmc_switch_type tmp4;
int tmp5;
tmp4 = 0;
for (; tmp4 < 2; tmp4++) {
switch (MMC_SWITCH_CAST(tmp4)) {
case 0: {
if (!listEmpty(tmp4_2)) goto tmp3_end;
_txt = tmp4_1;
_a_auxFunction = tmp4_3;
_a_varDecls = tmp4_4;
_a_preExp = tmp4_5;
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_auxFunction;
tmpMeta[0+2] = _a_varDecls;
tmpMeta[0+3] = _a_preExp;
goto tmp3_done;
}
case 1: {
if (listEmpty(tmp4_2)) goto tmp3_end;
tmpMeta[4] = MMC_CAR(tmp4_2);
tmpMeta[5] = MMC_CDR(tmp4_2);
_i_exp = tmpMeta[4];
_rest = tmpMeta[5];
_txt = tmp4_1;
_a_auxFunction = tmp4_3;
_a_varDecls = tmp4_4;
_a_preExp = tmp4_5;
_a_context = tmp4_6;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT292);
_txt = omc_CodegenCFunctions_daeExp(threadData, _txt, _i_exp, _a_context, _a_preExp, _a_varDecls, _a_auxFunction ,&_a_preExp ,&_a_varDecls ,&_a_auxFunction);
_in_txt = _txt;
_in_items = _rest;
_in_a_auxFunction = _a_auxFunction;
_in_a_varDecls = _a_varDecls;
_in_a_preExp = _a_preExp;
_in_a_context = _a_context;
goto _tailrecursive;
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta[0+0];
_out_a_auxFunction = tmpMeta[0+1];
_out_a_varDecls = tmpMeta[0+2];
_out_a_preExp = tmpMeta[0+3];
_return: OMC_LABEL_UNUSED
if (out_out_a_auxFunction) { *out_out_a_auxFunction = _out_a_auxFunction; }
if (out_out_a_varDecls) { *out_out_a_varDecls = _out_a_varDecls; }
if (out_out_a_preExp) { *out_out_a_preExp = _out_a_preExp; }
return _out_txt;
}
DLLExport
modelica_metatype omc_CodegenCFunctions_daeExpCall(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_call, modelica_metatype _in_a_context, modelica_metatype _in_a_preExp, modelica_metatype _in_a_varDecls, modelica_metatype _in_a_auxFunction, modelica_metatype *out_out_a_preExp, modelica_metatype *out_out_a_varDecls, modelica_metatype *out_out_a_auxFunction)
{
modelica_metatype _out_txt = NULL;
modelica_metatype _out_a_preExp = NULL;
modelica_metatype _out_a_varDecls = NULL;
modelica_metatype _out_a_auxFunction = NULL;
modelica_metatype tmpMeta[16] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_metatype tmp4_2;modelica_metatype tmp4_3;modelica_metatype tmp4_4;modelica_metatype tmp4_5;modelica_metatype tmp4_6;
tmp4_1 = _in_txt;
tmp4_2 = _in_a_call;
tmp4_3 = _in_a_context;
tmp4_4 = _in_a_preExp;
tmp4_5 = _in_a_varDecls;
tmp4_6 = _in_a_auxFunction;
{
modelica_metatype _txt = NULL;
modelica_metatype _a_context = NULL;
modelica_metatype _a_preExp = NULL;
modelica_metatype _a_varDecls = NULL;
modelica_metatype _a_auxFunction = NULL;
modelica_metatype _i_exp_path = NULL;
modelica_boolean _i_attr_builtin;
modelica_metatype _i_attr_ty = NULL;
modelica_metatype _i_tail_vars = NULL;
modelica_metatype _i_expLst = NULL;
modelica_string _i_name = NULL;
modelica_integer _i_i;
modelica_metatype _i_s1 = NULL;
modelica_integer _i_setIndex;
modelica_metatype _i_toBeCasted = NULL;
modelica_integer _i_index_1;
modelica_metatype _i_delayMax = NULL;
modelica_metatype _i_d = NULL;
modelica_metatype _i_signdig = NULL;
modelica_metatype _i_leftjust = NULL;
modelica_metatype _i_minlen = NULL;
modelica_metatype _i_format = NULL;
modelica_metatype _i_s = NULL;
modelica_metatype _i_v2 = NULL;
modelica_metatype _i_v1 = NULL;
modelica_metatype _i_n = NULL;
modelica_metatype _i_A = NULL;
modelica_metatype _i_arrays = NULL;
modelica_metatype _i_dim = NULL;
modelica_metatype _i_dims = NULL;
modelica_metatype _i_val = NULL;
modelica_metatype _i_array = NULL;
modelica_metatype _i_inExp = NULL;
modelica_metatype _i_index = NULL;
modelica_metatype _i_call = NULL;
modelica_metatype _i_ty = NULL;
modelica_metatype _i_e = NULL;
modelica_integer _i_arg_integer;
modelica_metatype _i_arg = NULL;
modelica_metatype _i_exp = NULL;
modelica_metatype _i_arg_componentRef = NULL;
modelica_metatype _i_e2 = NULL;
modelica_metatype _i_e1 = NULL;
modelica_metatype _l_additionalOutputs = NULL;
modelica_metatype _l_res = NULL;
modelica_metatype _l_tail = NULL;
modelica_metatype _l_postExp = NULL;
modelica_metatype _l_op = NULL;
modelica_metatype _l_i2 = NULL;
modelica_metatype _l_i1 = NULL;
modelica_metatype _l_e1 = NULL;
modelica_metatype _l_expPart = NULL;
modelica_string _ret_80 = NULL;
modelica_metatype _l_castedVar = NULL;
modelica_metatype _l_var3 = NULL;
modelica_metatype _l_signdigExp = NULL;
modelica_string _str_76 = NULL;
modelica_metatype _ret_75 = NULL;
modelica_metatype _l_enumStr = NULL;
modelica_metatype _l_leftjustExp = NULL;
modelica_metatype _l_minlenExp = NULL;
modelica_metatype _l_typeStr = NULL;
modelica_metatype _l_formatExp = NULL;
modelica_metatype _l_sExp = NULL;
modelica_integer _ret_68;
modelica_metatype _l_arrays__exp = NULL;
modelica_metatype _l_dim__exp = NULL;
modelica_string _ret_65 = NULL;
modelica_metatype _txt_64 = NULL;
modelica_metatype _ret_63 = NULL;
modelica_metatype _ret_62 = NULL;
modelica_metatype _l_dims = NULL;
modelica_metatype _l_szElt = NULL;
modelica_metatype _l_val = NULL;
modelica_metatype _l_nElts = NULL;
modelica_metatype _l_tvardata = NULL;
modelica_metatype _l_tvarc = NULL;
modelica_integer _ret_55;
modelica_metatype _ret_54 = NULL;
modelica_metatype _ret_53 = NULL;
modelica_integer _ret_51;
modelica_metatype _l_dimsExp = NULL;
modelica_metatype _l_valExp = NULL;
modelica_metatype _txt_48 = NULL;
modelica_metatype _txt_47 = NULL;
modelica_metatype _l_arr__tp__str = NULL;
modelica_metatype _l_expVar = NULL;
modelica_boolean _ret_44;
modelica_boolean _ret_43;
modelica_boolean _ret_42;
modelica_boolean _ret_41;
modelica_boolean _ret_40;
modelica_boolean _ret_39;
modelica_boolean _ret_38;
modelica_metatype _l_tvar = NULL;
modelica_metatype _l_tp__str = NULL;
modelica_metatype _l_exp = NULL;
modelica_metatype _l_constIndex = NULL;
modelica_metatype _txt_32 = NULL;
modelica_string _ret_32 = NULL;
modelica_metatype _txt_31 = NULL;
modelica_metatype _txt_29 = NULL;
modelica_string _ret_29 = NULL;
modelica_metatype _txt_28 = NULL;
modelica_metatype _txt_26 = NULL;
modelica_string _ret_26 = NULL;
modelica_metatype _txt_25 = NULL;
modelica_metatype _txt_24 = NULL;
modelica_metatype _txt_22 = NULL;
modelica_string _ret_22 = NULL;
modelica_metatype _txt_21 = NULL;
modelica_metatype _l_cstr = NULL;
modelica_metatype _txt_19 = NULL;
modelica_metatype _l_tmp = NULL;
modelica_boolean _ret_17;
modelica_metatype _l_argStr = NULL;
modelica_metatype _l_ty__str = NULL;
modelica_metatype _l_arr = NULL;
modelica_metatype _txt_13 = NULL;
modelica_metatype _txt_12 = NULL;
modelica_metatype _txt_11 = NULL;
modelica_metatype _l_dt = NULL;
modelica_metatype _l_nameold1 = NULL;
modelica_metatype _l_nameold0 = NULL;
modelica_metatype _ret_7 = NULL;
modelica_metatype _l_derstr = NULL;
modelica_integer _ret_5;
modelica_metatype _ret_4 = NULL;
modelica_metatype _txt_3 = NULL;
modelica_metatype _ret_2 = NULL;
modelica_metatype _l_var2 = NULL;
modelica_metatype _l_var1 = NULL;
volatile mmc_switch_type tmp4;
int tmp5;
tmp4 = 0;
for (; tmp4 < 80; tmp4++) {
switch (MMC_SWITCH_CAST(tmp4)) {
case 0: {
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,13,3) == 0) goto tmp3_end;
tmpMeta[4] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[4],1,1) == 0) goto tmp3_end;
tmpMeta[5] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[4]), 2));
if (6 != MMC_STRLEN(tmpMeta[5]) || strcmp(MMC_STRINGDATA(_OMC_LIT833), MMC_STRINGDATA(tmpMeta[5])) != 0) goto tmp3_end;
tmpMeta[6] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 3));
if (listEmpty(tmpMeta[6])) goto tmp3_end;
tmpMeta[7] = MMC_CAR(tmpMeta[6]);
tmpMeta[8] = MMC_CDR(tmpMeta[6]);
if (listEmpty(tmpMeta[8])) goto tmp3_end;
tmpMeta[9] = MMC_CAR(tmpMeta[8]);
tmpMeta[10] = MMC_CDR(tmpMeta[8]);
if (!listEmpty(tmpMeta[10])) goto tmp3_end;
_i_e1 = tmpMeta[7];
_i_e2 = tmpMeta[9];
_txt = tmp4_1;
_a_context = tmp4_3;
_a_preExp = tmp4_4;
_a_varDecls = tmp4_5;
_a_auxFunction = tmp4_6;
omc_CodegenCFunctions_daeExp(threadData, _OMC_LIT20, _i_e1, _a_context, _a_preExp, _a_varDecls, _a_auxFunction ,&_a_preExp ,&_a_varDecls ,&_a_auxFunction);
_l_var2 = omc_CodegenCFunctions_daeExp(threadData, _OMC_LIT20, _i_e2, _a_context, _a_preExp, _a_varDecls, _a_auxFunction ,&_a_preExp ,&_a_varDecls ,&_a_auxFunction);
_txt = omc_Tpl_writeText(threadData, _txt, _l_var2);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_preExp;
tmpMeta[0+2] = _a_varDecls;
tmpMeta[0+3] = _a_auxFunction;
goto tmp3_done;
}
case 1: {
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,13,3) == 0) goto tmp3_end;
tmpMeta[4] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[4],1,1) == 0) goto tmp3_end;
tmpMeta[5] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[4]), 2));
if (3 != MMC_STRLEN(tmpMeta[5]) || strcmp(MMC_STRINGDATA(_OMC_LIT834), MMC_STRINGDATA(tmpMeta[5])) != 0) goto tmp3_end;
tmpMeta[6] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 3));
if (listEmpty(tmpMeta[6])) goto tmp3_end;
tmpMeta[7] = MMC_CAR(tmpMeta[6]);
tmpMeta[8] = MMC_CDR(tmpMeta[6]);
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[7],6,2) == 0) goto tmp3_end;
tmpMeta[9] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[7]), 2));
if (!listEmpty(tmpMeta[8])) goto tmp3_end;
_i_arg_componentRef = tmpMeta[9];
_txt = tmp4_1;
_a_preExp = tmp4_4;
_a_varDecls = tmp4_5;
_a_auxFunction = tmp4_6;
_ret_2 = omc_ComponentReference_crefPrefixDer(threadData, _i_arg_componentRef);
_txt = omc_CodegenCFunctions_cref(threadData, _txt, _ret_2);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_preExp;
tmpMeta[0+2] = _a_varDecls;
tmpMeta[0+3] = _a_auxFunction;
goto tmp3_done;
}
case 2: {
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,13,3) == 0) goto tmp3_end;
tmpMeta[4] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[4],1,1) == 0) goto tmp3_end;
tmpMeta[5] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[4]), 2));
if (3 != MMC_STRLEN(tmpMeta[5]) || strcmp(MMC_STRINGDATA(_OMC_LIT834), MMC_STRINGDATA(tmpMeta[5])) != 0) goto tmp3_end;
tmpMeta[6] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 3));
if (listEmpty(tmpMeta[6])) goto tmp3_end;
tmpMeta[7] = MMC_CAR(tmpMeta[6]);
tmpMeta[8] = MMC_CDR(tmpMeta[6]);
if (!listEmpty(tmpMeta[8])) goto tmp3_end;
_i_exp = tmpMeta[7];
_txt = tmp4_1;
_a_preExp = tmp4_4;
_a_varDecls = tmp4_5;
_a_auxFunction = tmp4_6;
_txt_3 = omc_Tpl_writeTok(threadData, _OMC_LIT20, _OMC_LIT631);
_txt_3 = omc_ExpressionDumpTpl_dumpExp(threadData, _txt_3, _i_exp, _OMC_LIT231);
_txt_3 = omc_Tpl_writeTok(threadData, _txt_3, _OMC_LIT78);
_txt = omc_CodegenUtil_error(threadData, _txt, omc_Tpl_sourceInfo(threadData, _OMC_LIT27, ((modelica_integer) 6108), ((modelica_integer) 11)), omc_Tpl_textString(threadData, _txt_3));
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_preExp;
tmpMeta[0+2] = _a_varDecls;
tmpMeta[0+3] = _a_auxFunction;
goto tmp3_done;
}
case 3: {
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,13,3) == 0) goto tmp3_end;
tmpMeta[4] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[4],1,1) == 0) goto tmp3_end;
tmpMeta[5] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[4]), 2));
if (3 != MMC_STRLEN(tmpMeta[5]) || strcmp(MMC_STRINGDATA(_OMC_LIT835), MMC_STRINGDATA(tmpMeta[5])) != 0) goto tmp3_end;
tmpMeta[6] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 3));
if (listEmpty(tmpMeta[6])) goto tmp3_end;
tmpMeta[7] = MMC_CAR(tmpMeta[6]);
tmpMeta[8] = MMC_CDR(tmpMeta[6]);
if (!listEmpty(tmpMeta[8])) goto tmp3_end;
_i_arg = tmpMeta[7];
_txt = tmp4_1;
_a_context = tmp4_3;
_a_preExp = tmp4_4;
_a_varDecls = tmp4_5;
_a_auxFunction = tmp4_6;
tmpMeta[0+0] = omc_CodegenCFunctions_daeExpCallPre(threadData, _txt, _i_arg, _a_context, _a_preExp, _a_varDecls, _a_auxFunction, &tmpMeta[0+1], &tmpMeta[0+2], &tmpMeta[0+3]);
goto tmp3_done;
}
case 4: {
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,13,3) == 0) goto tmp3_end;
tmpMeta[4] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[4],1,1) == 0) goto tmp3_end;
tmpMeta[5] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[4]), 2));
if (8 != MMC_STRLEN(tmpMeta[5]) || strcmp(MMC_STRINGDATA(_OMC_LIT836), MMC_STRINGDATA(tmpMeta[5])) != 0) goto tmp3_end;
_txt = tmp4_1;
_a_preExp = tmp4_4;
_a_varDecls = tmp4_5;
_a_auxFunction = tmp4_6;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT633);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_preExp;
tmpMeta[0+2] = _a_varDecls;
tmpMeta[0+3] = _a_auxFunction;
goto tmp3_done;
}
case 5: {
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,13,3) == 0) goto tmp3_end;
tmpMeta[4] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[4],1,1) == 0) goto tmp3_end;
tmpMeta[5] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[4]), 2));
if (8 != MMC_STRLEN(tmpMeta[5]) || strcmp(MMC_STRINGDATA(_OMC_LIT837), MMC_STRINGDATA(tmpMeta[5])) != 0) goto tmp3_end;
tmpMeta[6] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 3));
if (listEmpty(tmpMeta[6])) goto tmp3_end;
tmpMeta[7] = MMC_CAR(tmpMeta[6]);
tmpMeta[8] = MMC_CDR(tmpMeta[6]);
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[7],6,2) == 0) goto tmp3_end;
tmpMeta[9] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[7]), 2));
if (!listEmpty(tmpMeta[8])) goto tmp3_end;
_i_arg_componentRef = tmpMeta[9];
_txt = tmp4_1;
_a_preExp = tmp4_4;
_a_varDecls = tmp4_5;
_a_auxFunction = tmp4_6;
_ret_4 = omc_ComponentReference_crefPrefixPrevious(threadData, _i_arg_componentRef);
_txt = omc_CodegenCFunctions_cref(threadData, _txt, _ret_4);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_preExp;
tmpMeta[0+2] = _a_varDecls;
tmpMeta[0+3] = _a_auxFunction;
goto tmp3_done;
}
case 6: {
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,13,3) == 0) goto tmp3_end;
tmpMeta[4] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[4],1,1) == 0) goto tmp3_end;
tmpMeta[5] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[4]), 2));
if (9 != MMC_STRLEN(tmpMeta[5]) || strcmp(MMC_STRINGDATA(_OMC_LIT838), MMC_STRINGDATA(tmpMeta[5])) != 0) goto tmp3_end;
_txt = tmp4_1;
_a_preExp = tmp4_4;
_a_varDecls = tmp4_5;
_a_auxFunction = tmp4_6;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT635);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_preExp;
tmpMeta[0+2] = _a_varDecls;
tmpMeta[0+3] = _a_auxFunction;
goto tmp3_done;
}
case 7: {
modelica_integer tmp6;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,13,3) == 0) goto tmp3_end;
tmpMeta[4] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[4],1,1) == 0) goto tmp3_end;
tmpMeta[5] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[4]), 2));
if (9 != MMC_STRLEN(tmpMeta[5]) || strcmp(MMC_STRINGDATA(_OMC_LIT839), MMC_STRINGDATA(tmpMeta[5])) != 0) goto tmp3_end;
tmpMeta[6] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 3));
if (listEmpty(tmpMeta[6])) goto tmp3_end;
tmpMeta[7] = MMC_CAR(tmpMeta[6]);
tmpMeta[8] = MMC_CDR(tmpMeta[6]);
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[7],0,1) == 0) goto tmp3_end;
tmpMeta[9] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[7]), 2));
tmp6 = mmc_unbox_integer(tmpMeta[9]);
if (!listEmpty(tmpMeta[8])) goto tmp3_end;
_i_arg_integer = tmp6;
_txt = tmp4_1;
_a_preExp = tmp4_4;
_a_varDecls = tmp4_5;
_a_auxFunction = tmp4_6;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT637);
_ret_5 = ((modelica_integer) -1) + _i_arg_integer;
_txt = omc_Tpl_writeStr(threadData, _txt, intString(_ret_5));
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT639);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_preExp;
tmpMeta[0+2] = _a_varDecls;
tmpMeta[0+3] = _a_auxFunction;
goto tmp3_done;
}
case 8: {
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,13,3) == 0) goto tmp3_end;
tmpMeta[4] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[4],1,1) == 0) goto tmp3_end;
tmpMeta[5] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[4]), 2));
if (12 != MMC_STRLEN(tmpMeta[5]) || strcmp(MMC_STRINGDATA(_OMC_LIT840), MMC_STRINGDATA(tmpMeta[5])) != 0) goto tmp3_end;
tmpMeta[6] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 3));
if (listEmpty(tmpMeta[6])) goto tmp3_end;
tmpMeta[7] = MMC_CAR(tmpMeta[6]);
tmpMeta[8] = MMC_CDR(tmpMeta[6]);
if (!listEmpty(tmpMeta[8])) goto tmp3_end;
_i_e1 = tmpMeta[7];
_txt = tmp4_1;
_a_context = tmp4_3;
_a_preExp = tmp4_4;
_a_varDecls = tmp4_5;
_a_auxFunction = tmp4_6;
_l_var1 = omc_CodegenCFunctions_daeExp(threadData, _OMC_LIT20, _i_e1, _a_context, _a_preExp, _a_varDecls, _a_auxFunction ,&_a_preExp ,&_a_varDecls ,&_a_auxFunction);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT68);
_txt = omc_Tpl_writeText(threadData, _txt, _l_var1);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT641);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_preExp;
tmpMeta[0+2] = _a_varDecls;
tmpMeta[0+3] = _a_auxFunction;
goto tmp3_done;
}
case 9: {
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,13,3) == 0) goto tmp3_end;
tmpMeta[4] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[4],1,1) == 0) goto tmp3_end;
tmpMeta[5] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[4]), 2));
if (8 != MMC_STRLEN(tmpMeta[5]) || strcmp(MMC_STRINGDATA(_OMC_LIT841), MMC_STRINGDATA(tmpMeta[5])) != 0) goto tmp3_end;
tmpMeta[6] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 3));
if (listEmpty(tmpMeta[6])) goto tmp3_end;
tmpMeta[7] = MMC_CAR(tmpMeta[6]);
tmpMeta[8] = MMC_CDR(tmpMeta[6]);
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[7],6,2) == 0) goto tmp3_end;
tmpMeta[9] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[7]), 2));
if (!listEmpty(tmpMeta[8])) goto tmp3_end;
_i_arg_componentRef = tmpMeta[9];
_txt = tmp4_1;
_a_preExp = tmp4_4;
_a_varDecls = tmp4_5;
_a_auxFunction = tmp4_6;
_ret_7 = omc_ComponentReference_crefPrefixDer(threadData, _i_arg_componentRef);
_l_derstr = omc_CodegenCFunctions_cref(threadData, _OMC_LIT20, _ret_7);
_l_nameold0 = omc_CodegenCFunctions_crefOld(threadData, _OMC_LIT20, _i_arg_componentRef, ((modelica_integer) 0));
_l_nameold1 = omc_CodegenCFunctions_crefOld(threadData, _OMC_LIT20, _i_arg_componentRef, ((modelica_integer) 1));
_l_dt = omc_Tpl_writeTok(threadData, _OMC_LIT20, _OMC_LIT643);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT68);
_txt = omc_Tpl_writeText(threadData, _txt, _l_dt);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT645);
_txt = omc_Tpl_writeText(threadData, _txt, _l_derstr);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT647);
_txt = omc_Tpl_writeText(threadData, _txt, _l_nameold0);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT649);
_txt = omc_Tpl_writeText(threadData, _txt, _l_nameold1);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT389);
_txt = omc_Tpl_writeText(threadData, _txt, _l_dt);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT78);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_preExp;
tmpMeta[0+2] = _a_varDecls;
tmpMeta[0+3] = _a_auxFunction;
goto tmp3_done;
}
case 10: {
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,13,3) == 0) goto tmp3_end;
tmpMeta[4] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[4],1,1) == 0) goto tmp3_end;
tmpMeta[5] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[4]), 2));
if (7 != MMC_STRLEN(tmpMeta[5]) || strcmp(MMC_STRINGDATA(_OMC_LIT842), MMC_STRINGDATA(tmpMeta[5])) != 0) goto tmp3_end;
tmpMeta[6] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 3));
if (listEmpty(tmpMeta[6])) goto tmp3_end;
tmpMeta[7] = MMC_CAR(tmpMeta[6]);
tmpMeta[8] = MMC_CDR(tmpMeta[6]);
if (!listEmpty(tmpMeta[8])) goto tmp3_end;
_i_e1 = tmpMeta[7];
_txt = tmp4_1;
_a_context = tmp4_3;
_a_preExp = tmp4_4;
_a_varDecls = tmp4_5;
_a_auxFunction = tmp4_6;
_l_var1 = omc_CodegenCFunctions_daeExp(threadData, _OMC_LIT20, _i_e1, _a_context, _a_preExp, _a_varDecls, _a_auxFunction ,&_a_preExp ,&_a_varDecls ,&_a_auxFunction);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT651);
_txt = omc_Tpl_writeText(threadData, _txt, _l_var1);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT524);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_preExp;
tmpMeta[0+2] = _a_varDecls;
tmpMeta[0+3] = _a_auxFunction;
goto tmp3_done;
}
case 11: {
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,13,3) == 0) goto tmp3_end;
tmpMeta[4] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[4],1,1) == 0) goto tmp3_end;
tmpMeta[5] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[4]), 2));
if (4 != MMC_STRLEN(tmpMeta[5]) || strcmp(MMC_STRINGDATA(_OMC_LIT843), MMC_STRINGDATA(tmpMeta[5])) != 0) goto tmp3_end;
tmpMeta[6] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 3));
if (listEmpty(tmpMeta[6])) goto tmp3_end;
tmpMeta[7] = MMC_CAR(tmpMeta[6]);
tmpMeta[8] = MMC_CDR(tmpMeta[6]);
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[7],6,2) == 0) goto tmp3_end;
tmpMeta[9] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[7]), 2));
if (!listEmpty(tmpMeta[8])) goto tmp3_end;
_i_arg_componentRef = tmpMeta[9];
_txt = tmp4_1;
_a_preExp = tmp4_4;
_a_varDecls = tmp4_5;
_a_auxFunction = tmp4_6;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT68);
_txt = omc_CodegenCFunctions_cref(threadData, _txt, _i_arg_componentRef);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT653);
_txt = omc_CodegenCFunctions_crefPre(threadData, _txt, _i_arg_componentRef);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT78);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_preExp;
tmpMeta[0+2] = _a_varDecls;
tmpMeta[0+3] = _a_auxFunction;
goto tmp3_done;
}
case 12: {
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,13,3) == 0) goto tmp3_end;
tmpMeta[4] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[4],1,1) == 0) goto tmp3_end;
tmpMeta[5] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[4]), 2));
if (4 != MMC_STRLEN(tmpMeta[5]) || strcmp(MMC_STRINGDATA(_OMC_LIT843), MMC_STRINGDATA(tmpMeta[5])) != 0) goto tmp3_end;
tmpMeta[6] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 3));
if (listEmpty(tmpMeta[6])) goto tmp3_end;
tmpMeta[7] = MMC_CAR(tmpMeta[6]);
tmpMeta[8] = MMC_CDR(tmpMeta[6]);
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[7],10,2) == 0) goto tmp3_end;
tmpMeta[9] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[7]), 3));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[9],6,2) == 0) goto tmp3_end;
tmpMeta[10] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[9]), 2));
if (!listEmpty(tmpMeta[8])) goto tmp3_end;
_i_arg_componentRef = tmpMeta[10];
_txt = tmp4_1;
_a_preExp = tmp4_4;
_a_varDecls = tmp4_5;
_a_auxFunction = tmp4_6;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT655);
_txt = omc_CodegenCFunctions_cref(threadData, _txt, _i_arg_componentRef);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT657);
_txt = omc_CodegenCFunctions_crefPre(threadData, _txt, _i_arg_componentRef);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT78);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_preExp;
tmpMeta[0+2] = _a_varDecls;
tmpMeta[0+3] = _a_auxFunction;
goto tmp3_done;
}
case 13: {
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,13,3) == 0) goto tmp3_end;
tmpMeta[4] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[4],1,1) == 0) goto tmp3_end;
tmpMeta[5] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[4]), 2));
if (4 != MMC_STRLEN(tmpMeta[5]) || strcmp(MMC_STRINGDATA(_OMC_LIT843), MMC_STRINGDATA(tmpMeta[5])) != 0) goto tmp3_end;
tmpMeta[6] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 3));
if (listEmpty(tmpMeta[6])) goto tmp3_end;
tmpMeta[7] = MMC_CAR(tmpMeta[6]);
tmpMeta[8] = MMC_CDR(tmpMeta[6]);
if (!listEmpty(tmpMeta[8])) goto tmp3_end;
_i_exp = tmpMeta[7];
_txt = tmp4_1;
_a_preExp = tmp4_4;
_a_varDecls = tmp4_5;
_a_auxFunction = tmp4_6;
_txt_11 = omc_Tpl_writeTok(threadData, _OMC_LIT20, _OMC_LIT659);
_txt_11 = omc_ExpressionDumpTpl_dumpExp(threadData, _txt_11, _i_exp, _OMC_LIT231);
_txt_11 = omc_Tpl_writeTok(threadData, _txt_11, _OMC_LIT78);
_txt = omc_CodegenUtil_error(threadData, _txt, omc_Tpl_sourceInfo(threadData, _OMC_LIT27, ((modelica_integer) 6139), ((modelica_integer) 11)), omc_Tpl_textString(threadData, _txt_11));
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_preExp;
tmpMeta[0+2] = _a_varDecls;
tmpMeta[0+3] = _a_auxFunction;
goto tmp3_done;
}
case 14: {
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,13,3) == 0) goto tmp3_end;
tmpMeta[4] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[4],1,1) == 0) goto tmp3_end;
tmpMeta[5] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[4]), 2));
if (6 != MMC_STRLEN(tmpMeta[5]) || strcmp(MMC_STRINGDATA(_OMC_LIT844), MMC_STRINGDATA(tmpMeta[5])) != 0) goto tmp3_end;
tmpMeta[6] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 3));
if (listEmpty(tmpMeta[6])) goto tmp3_end;
tmpMeta[7] = MMC_CAR(tmpMeta[6]);
tmpMeta[8] = MMC_CDR(tmpMeta[6]);
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[7],6,2) == 0) goto tmp3_end;
tmpMeta[9] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[7]), 2));
if (!listEmpty(tmpMeta[8])) goto tmp3_end;
_i_arg_componentRef = tmpMeta[9];
_txt = tmp4_1;
_a_preExp = tmp4_4;
_a_varDecls = tmp4_5;
_a_auxFunction = tmp4_6;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT68);
_txt = omc_CodegenCFunctions_cref(threadData, _txt, _i_arg_componentRef);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT661);
_txt = omc_CodegenCFunctions_crefPre(threadData, _txt, _i_arg_componentRef);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT78);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_preExp;
tmpMeta[0+2] = _a_varDecls;
tmpMeta[0+3] = _a_auxFunction;
goto tmp3_done;
}
case 15: {
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,13,3) == 0) goto tmp3_end;
tmpMeta[4] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[4],1,1) == 0) goto tmp3_end;
tmpMeta[5] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[4]), 2));
if (6 != MMC_STRLEN(tmpMeta[5]) || strcmp(MMC_STRINGDATA(_OMC_LIT844), MMC_STRINGDATA(tmpMeta[5])) != 0) goto tmp3_end;
tmpMeta[6] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 3));
if (listEmpty(tmpMeta[6])) goto tmp3_end;
tmpMeta[7] = MMC_CAR(tmpMeta[6]);
tmpMeta[8] = MMC_CDR(tmpMeta[6]);
if (!listEmpty(tmpMeta[8])) goto tmp3_end;
_i_exp = tmpMeta[7];
_txt = tmp4_1;
_a_preExp = tmp4_4;
_a_varDecls = tmp4_5;
_a_auxFunction = tmp4_6;
_txt_12 = omc_Tpl_writeTok(threadData, _OMC_LIT20, _OMC_LIT663);
_txt_12 = omc_ExpressionDumpTpl_dumpExp(threadData, _txt_12, _i_exp, _OMC_LIT231);
_txt_12 = omc_Tpl_writeTok(threadData, _txt_12, _OMC_LIT78);
_txt = omc_CodegenUtil_error(threadData, _txt, omc_Tpl_sourceInfo(threadData, _OMC_LIT27, ((modelica_integer) 6143), ((modelica_integer) 11)), omc_Tpl_textString(threadData, _txt_12));
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_preExp;
tmpMeta[0+2] = _a_varDecls;
tmpMeta[0+3] = _a_auxFunction;
goto tmp3_done;
}
case 16: {
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,13,3) == 0) goto tmp3_end;
tmpMeta[4] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[4],1,1) == 0) goto tmp3_end;
tmpMeta[5] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[4]), 2));
if (11 != MMC_STRLEN(tmpMeta[5]) || strcmp(MMC_STRINGDATA(_OMC_LIT845), MMC_STRINGDATA(tmpMeta[5])) != 0) goto tmp3_end;
tmpMeta[6] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 3));
if (listEmpty(tmpMeta[6])) goto tmp3_end;
tmpMeta[7] = MMC_CAR(tmpMeta[6]);
tmpMeta[8] = MMC_CDR(tmpMeta[6]);
if (!listEmpty(tmpMeta[8])) goto tmp3_end;
_i_exp = tmpMeta[7];
_txt = tmp4_1;
_a_preExp = tmp4_4;
_a_varDecls = tmp4_5;
_a_auxFunction = tmp4_6;
_txt_13 = omc_Tpl_writeTok(threadData, _OMC_LIT20, _OMC_LIT665);
_txt_13 = omc_ExpressionDumpTpl_dumpExp(threadData, _txt_13, _i_exp, _OMC_LIT231);
_txt_13 = omc_Tpl_writeTok(threadData, _txt_13, _OMC_LIT667);
_txt = omc_CodegenUtil_error(threadData, _txt, omc_Tpl_sourceInfo(threadData, _OMC_LIT27, ((modelica_integer) 6145), ((modelica_integer) 11)), omc_Tpl_textString(threadData, _txt_13));
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_preExp;
tmpMeta[0+2] = _a_varDecls;
tmpMeta[0+3] = _a_auxFunction;
goto tmp3_done;
}
case 17: {
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,13,3) == 0) goto tmp3_end;
tmpMeta[4] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[4],1,1) == 0) goto tmp3_end;
tmpMeta[5] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[4]), 2));
if (5 != MMC_STRLEN(tmpMeta[5]) || strcmp(MMC_STRINGDATA(_OMC_LIT846), MMC_STRINGDATA(tmpMeta[5])) != 0) goto tmp3_end;
tmpMeta[6] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 3));
if (listEmpty(tmpMeta[6])) goto tmp3_end;
tmpMeta[7] = MMC_CAR(tmpMeta[6]);
tmpMeta[8] = MMC_CDR(tmpMeta[6]);
if (!listEmpty(tmpMeta[8])) goto tmp3_end;
_i_e1 = tmpMeta[7];
_txt = tmp4_1;
_a_context = tmp4_3;
_a_preExp = tmp4_4;
_a_varDecls = tmp4_5;
_a_auxFunction = tmp4_6;
_l_var1 = omc_CodegenCFunctions_daeExp(threadData, _OMC_LIT20, _i_e1, _a_context, _a_preExp, _a_varDecls, _a_auxFunction ,&_a_preExp ,&_a_varDecls ,&_a_auxFunction);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT669);
_txt = omc_Tpl_writeText(threadData, _txt, _l_var1);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT671);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_preExp;
tmpMeta[0+2] = _a_varDecls;
tmpMeta[0+3] = _a_auxFunction;
goto tmp3_done;
}
case 18: {
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,13,3) == 0) goto tmp3_end;
tmpMeta[4] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[4],1,1) == 0) goto tmp3_end;
tmpMeta[5] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[4]), 2));
if (3 != MMC_STRLEN(tmpMeta[5]) || strcmp(MMC_STRINGDATA(_OMC_LIT847), MMC_STRINGDATA(tmpMeta[5])) != 0) goto tmp3_end;
tmpMeta[6] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 3));
if (listEmpty(tmpMeta[6])) goto tmp3_end;
tmpMeta[7] = MMC_CAR(tmpMeta[6]);
tmpMeta[8] = MMC_CDR(tmpMeta[6]);
if (listEmpty(tmpMeta[8])) goto tmp3_end;
tmpMeta[9] = MMC_CAR(tmpMeta[8]);
tmpMeta[10] = MMC_CDR(tmpMeta[8]);
if (!listEmpty(tmpMeta[10])) goto tmp3_end;
tmpMeta[11] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 4));
tmpMeta[12] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[11]), 2));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[12],1,1) == 0) goto tmp3_end;
_i_e1 = tmpMeta[7];
_i_e2 = tmpMeta[9];
_txt = tmp4_1;
_a_context = tmp4_3;
_a_preExp = tmp4_4;
_a_varDecls = tmp4_5;
_a_auxFunction = tmp4_6;
_l_var1 = omc_CodegenCFunctions_daeExp(threadData, _OMC_LIT20, _i_e1, _a_context, _a_preExp, _a_varDecls, _a_auxFunction ,&_a_preExp ,&_a_varDecls ,&_a_auxFunction);
_l_var2 = omc_CodegenCFunctions_daeExp(threadData, _OMC_LIT20, _i_e2, _a_context, _a_preExp, _a_varDecls, _a_auxFunction ,&_a_preExp ,&_a_varDecls ,&_a_auxFunction);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT673);
_txt = omc_Tpl_writeText(threadData, _txt, _l_var1);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT226);
_txt = omc_Tpl_writeText(threadData, _txt, _l_var2);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT78);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_preExp;
tmpMeta[0+2] = _a_varDecls;
tmpMeta[0+3] = _a_auxFunction;
goto tmp3_done;
}
case 19: {
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,13,3) == 0) goto tmp3_end;
tmpMeta[4] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[4],1,1) == 0) goto tmp3_end;
tmpMeta[5] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[4]), 2));
if (3 != MMC_STRLEN(tmpMeta[5]) || strcmp(MMC_STRINGDATA(_OMC_LIT847), MMC_STRINGDATA(tmpMeta[5])) != 0) goto tmp3_end;
tmpMeta[6] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 3));
if (listEmpty(tmpMeta[6])) goto tmp3_end;
tmpMeta[7] = MMC_CAR(tmpMeta[6]);
tmpMeta[8] = MMC_CDR(tmpMeta[6]);
if (listEmpty(tmpMeta[8])) goto tmp3_end;
tmpMeta[9] = MMC_CAR(tmpMeta[8]);
tmpMeta[10] = MMC_CDR(tmpMeta[8]);
if (!listEmpty(tmpMeta[10])) goto tmp3_end;
_i_e1 = tmpMeta[7];
_i_e2 = tmpMeta[9];
_txt = tmp4_1;
_a_context = tmp4_3;
_a_preExp = tmp4_4;
_a_varDecls = tmp4_5;
_a_auxFunction = tmp4_6;
_l_var1 = omc_CodegenCFunctions_daeExp(threadData, _OMC_LIT20, _i_e1, _a_context, _a_preExp, _a_varDecls, _a_auxFunction ,&_a_preExp ,&_a_varDecls ,&_a_auxFunction);
_l_var2 = omc_CodegenCFunctions_daeExp(threadData, _OMC_LIT20, _i_e2, _a_context, _a_preExp, _a_varDecls, _a_auxFunction ,&_a_preExp ,&_a_varDecls ,&_a_auxFunction);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT675);
_txt = omc_Tpl_writeText(threadData, _txt, _l_var1);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT677);
_txt = omc_Tpl_writeText(threadData, _txt, _l_var2);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT600);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_preExp;
tmpMeta[0+2] = _a_varDecls;
tmpMeta[0+3] = _a_auxFunction;
goto tmp3_done;
}
case 20: {
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,13,3) == 0) goto tmp3_end;
tmpMeta[4] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[4],1,1) == 0) goto tmp3_end;
tmpMeta[5] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[4]), 2));
if (3 != MMC_STRLEN(tmpMeta[5]) || strcmp(MMC_STRINGDATA(_OMC_LIT848), MMC_STRINGDATA(tmpMeta[5])) != 0) goto tmp3_end;
tmpMeta[6] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 3));
if (listEmpty(tmpMeta[6])) goto tmp3_end;
tmpMeta[7] = MMC_CAR(tmpMeta[6]);
tmpMeta[8] = MMC_CDR(tmpMeta[6]);
if (!listEmpty(tmpMeta[8])) goto tmp3_end;
tmpMeta[9] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 4));
tmpMeta[10] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[9]), 2));
_i_e = tmpMeta[7];
_i_ty = tmpMeta[10];
_txt = tmp4_1;
_a_context = tmp4_3;
_a_preExp = tmp4_4;
_a_varDecls = tmp4_5;
_a_auxFunction = tmp4_6;
_l_arr = omc_CodegenCFunctions_daeExp(threadData, _OMC_LIT20, _i_e, _a_context, _a_preExp, _a_varDecls, _a_auxFunction ,&_a_preExp ,&_a_varDecls ,&_a_auxFunction);
_l_ty__str = omc_CodegenCFunctions_expTypeArray(threadData, _OMC_LIT20, _i_ty);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT679);
_txt = omc_Tpl_writeText(threadData, _txt, _l_ty__str);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT68);
_txt = omc_Tpl_writeText(threadData, _txt, _l_arr);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT78);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_preExp;
tmpMeta[0+2] = _a_varDecls;
tmpMeta[0+3] = _a_auxFunction;
goto tmp3_done;
}
case 21: {
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,13,3) == 0) goto tmp3_end;
tmpMeta[4] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[4],1,1) == 0) goto tmp3_end;
tmpMeta[5] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[4]), 2));
if (7 != MMC_STRLEN(tmpMeta[5]) || strcmp(MMC_STRINGDATA(_OMC_LIT849), MMC_STRINGDATA(tmpMeta[5])) != 0) goto tmp3_end;
tmpMeta[6] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 3));
if (listEmpty(tmpMeta[6])) goto tmp3_end;
tmpMeta[7] = MMC_CAR(tmpMeta[6]);
tmpMeta[8] = MMC_CDR(tmpMeta[6]);
if (!listEmpty(tmpMeta[8])) goto tmp3_end;
tmpMeta[9] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 4));
tmpMeta[10] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[9]), 2));
_i_e = tmpMeta[7];
_i_ty = tmpMeta[10];
_txt = tmp4_1;
_a_context = tmp4_3;
_a_preExp = tmp4_4;
_a_varDecls = tmp4_5;
_a_auxFunction = tmp4_6;
_l_arr = omc_CodegenCFunctions_daeExp(threadData, _OMC_LIT20, _i_e, _a_context, _a_preExp, _a_varDecls, _a_auxFunction ,&_a_preExp ,&_a_varDecls ,&_a_auxFunction);
_l_ty__str = omc_CodegenCFunctions_expTypeArray(threadData, _OMC_LIT20, _i_ty);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT681);
_txt = omc_Tpl_writeText(threadData, _txt, _l_ty__str);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT68);
_txt = omc_Tpl_writeText(threadData, _txt, _l_arr);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT78);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_preExp;
tmpMeta[0+2] = _a_varDecls;
tmpMeta[0+3] = _a_auxFunction;
goto tmp3_done;
}
case 22: {
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,13,3) == 0) goto tmp3_end;
tmpMeta[4] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[4],1,1) == 0) goto tmp3_end;
tmpMeta[5] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[4]), 2));
if (3 != MMC_STRLEN(tmpMeta[5]) || strcmp(MMC_STRINGDATA(_OMC_LIT850), MMC_STRINGDATA(tmpMeta[5])) != 0) goto tmp3_end;
tmpMeta[6] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 3));
if (listEmpty(tmpMeta[6])) goto tmp3_end;
tmpMeta[7] = MMC_CAR(tmpMeta[6]);
tmpMeta[8] = MMC_CDR(tmpMeta[6]);
if (listEmpty(tmpMeta[8])) goto tmp3_end;
tmpMeta[9] = MMC_CAR(tmpMeta[8]);
tmpMeta[10] = MMC_CDR(tmpMeta[8]);
if (!listEmpty(tmpMeta[10])) goto tmp3_end;
tmpMeta[11] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 4));
tmpMeta[12] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[11]), 2));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[12],1,1) == 0) goto tmp3_end;
_i_e1 = tmpMeta[7];
_i_e2 = tmpMeta[9];
_txt = tmp4_1;
_a_context = tmp4_3;
_a_preExp = tmp4_4;
_a_varDecls = tmp4_5;
_a_auxFunction = tmp4_6;
_l_var1 = omc_CodegenCFunctions_daeExp(threadData, _OMC_LIT20, _i_e1, _a_context, _a_preExp, _a_varDecls, _a_auxFunction ,&_a_preExp ,&_a_varDecls ,&_a_auxFunction);
_l_var2 = omc_CodegenCFunctions_daeExp(threadData, _OMC_LIT20, _i_e2, _a_context, _a_preExp, _a_varDecls, _a_auxFunction ,&_a_preExp ,&_a_varDecls ,&_a_auxFunction);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT683);
_txt = omc_Tpl_writeText(threadData, _txt, _l_var1);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT226);
_txt = omc_Tpl_writeText(threadData, _txt, _l_var2);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT78);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_preExp;
tmpMeta[0+2] = _a_varDecls;
tmpMeta[0+3] = _a_auxFunction;
goto tmp3_done;
}
case 23: {
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,13,3) == 0) goto tmp3_end;
tmpMeta[4] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[4],1,1) == 0) goto tmp3_end;
tmpMeta[5] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[4]), 2));
if (3 != MMC_STRLEN(tmpMeta[5]) || strcmp(MMC_STRINGDATA(_OMC_LIT850), MMC_STRINGDATA(tmpMeta[5])) != 0) goto tmp3_end;
tmpMeta[6] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 3));
if (listEmpty(tmpMeta[6])) goto tmp3_end;
tmpMeta[7] = MMC_CAR(tmpMeta[6]);
tmpMeta[8] = MMC_CDR(tmpMeta[6]);
if (listEmpty(tmpMeta[8])) goto tmp3_end;
tmpMeta[9] = MMC_CAR(tmpMeta[8]);
tmpMeta[10] = MMC_CDR(tmpMeta[8]);
if (!listEmpty(tmpMeta[10])) goto tmp3_end;
_i_e1 = tmpMeta[7];
_i_e2 = tmpMeta[9];
_txt = tmp4_1;
_a_context = tmp4_3;
_a_preExp = tmp4_4;
_a_varDecls = tmp4_5;
_a_auxFunction = tmp4_6;
_l_var1 = omc_CodegenCFunctions_daeExp(threadData, _OMC_LIT20, _i_e1, _a_context, _a_preExp, _a_varDecls, _a_auxFunction ,&_a_preExp ,&_a_varDecls ,&_a_auxFunction);
_l_var2 = omc_CodegenCFunctions_daeExp(threadData, _OMC_LIT20, _i_e2, _a_context, _a_preExp, _a_varDecls, _a_auxFunction ,&_a_preExp ,&_a_varDecls ,&_a_auxFunction);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT685);
_txt = omc_Tpl_writeText(threadData, _txt, _l_var1);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT677);
_txt = omc_Tpl_writeText(threadData, _txt, _l_var2);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT600);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_preExp;
tmpMeta[0+2] = _a_varDecls;
tmpMeta[0+3] = _a_auxFunction;
goto tmp3_done;
}
case 24: {
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,13,3) == 0) goto tmp3_end;
tmpMeta[4] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[4],1,1) == 0) goto tmp3_end;
tmpMeta[5] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[4]), 2));
if (3 != MMC_STRLEN(tmpMeta[5]) || strcmp(MMC_STRINGDATA(_OMC_LIT851), MMC_STRINGDATA(tmpMeta[5])) != 0) goto tmp3_end;
tmpMeta[6] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 3));
if (listEmpty(tmpMeta[6])) goto tmp3_end;
tmpMeta[7] = MMC_CAR(tmpMeta[6]);
tmpMeta[8] = MMC_CDR(tmpMeta[6]);
if (!listEmpty(tmpMeta[8])) goto tmp3_end;
tmpMeta[9] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 4));
tmpMeta[10] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[9]), 2));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[10],0,1) == 0) goto tmp3_end;
_i_e1 = tmpMeta[7];
_txt = tmp4_1;
_a_context = tmp4_3;
_a_preExp = tmp4_4;
_a_varDecls = tmp4_5;
_a_auxFunction = tmp4_6;
_l_var1 = omc_CodegenCFunctions_daeExp(threadData, _OMC_LIT20, _i_e1, _a_context, _a_preExp, _a_varDecls, _a_auxFunction ,&_a_preExp ,&_a_varDecls ,&_a_auxFunction);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT687);
_txt = omc_Tpl_writeText(threadData, _txt, _l_var1);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT78);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_preExp;
tmpMeta[0+2] = _a_varDecls;
tmpMeta[0+3] = _a_auxFunction;
goto tmp3_done;
}
case 25: {
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,13,3) == 0) goto tmp3_end;
tmpMeta[4] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[4],1,1) == 0) goto tmp3_end;
tmpMeta[5] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[4]), 2));
if (3 != MMC_STRLEN(tmpMeta[5]) || strcmp(MMC_STRINGDATA(_OMC_LIT851), MMC_STRINGDATA(tmpMeta[5])) != 0) goto tmp3_end;
tmpMeta[6] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 3));
if (listEmpty(tmpMeta[6])) goto tmp3_end;
tmpMeta[7] = MMC_CAR(tmpMeta[6]);
tmpMeta[8] = MMC_CDR(tmpMeta[6]);
if (!listEmpty(tmpMeta[8])) goto tmp3_end;
_i_e1 = tmpMeta[7];
_txt = tmp4_1;
_a_context = tmp4_3;
_a_preExp = tmp4_4;
_a_varDecls = tmp4_5;
_a_auxFunction = tmp4_6;
_l_var1 = omc_CodegenCFunctions_daeExp(threadData, _OMC_LIT20, _i_e1, _a_context, _a_preExp, _a_varDecls, _a_auxFunction ,&_a_preExp ,&_a_varDecls ,&_a_auxFunction);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT689);
_txt = omc_Tpl_writeText(threadData, _txt, _l_var1);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT78);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_preExp;
tmpMeta[0+2] = _a_varDecls;
tmpMeta[0+3] = _a_auxFunction;
goto tmp3_done;
}
case 26: {
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,13,3) == 0) goto tmp3_end;
tmpMeta[4] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[4],1,1) == 0) goto tmp3_end;
tmpMeta[5] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[4]), 2));
if (4 != MMC_STRLEN(tmpMeta[5]) || strcmp(MMC_STRINGDATA(_OMC_LIT852), MMC_STRINGDATA(tmpMeta[5])) != 0) goto tmp3_end;
tmpMeta[6] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 3));
if (listEmpty(tmpMeta[6])) goto tmp3_end;
tmpMeta[7] = MMC_CAR(tmpMeta[6]);
tmpMeta[8] = MMC_CDR(tmpMeta[6]);
if (!listEmpty(tmpMeta[8])) goto tmp3_end;
tmpMeta[9] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 4));
_i_e1 = tmpMeta[7];
_txt = tmp4_1;
_a_context = tmp4_3;
_a_preExp = tmp4_4;
_a_varDecls = tmp4_5;
_a_auxFunction = tmp4_6;
_l_argStr = omc_CodegenCFunctions_daeExp(threadData, _OMC_LIT20, _i_e1, _a_context, _a_preExp, _a_varDecls, _a_auxFunction ,&_a_preExp ,&_a_varDecls ,&_a_auxFunction);
_ret_17 = omc_Expression_isPositiveOrZero(threadData, _i_e1);
_txt = omc_CodegenCFunctions_fun__945(threadData, _txt, _ret_17, _a_context, _l_argStr, _a_preExp, _a_varDecls, _i_e1 ,&_a_preExp ,&_a_varDecls);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_preExp;
tmpMeta[0+2] = _a_varDecls;
tmpMeta[0+3] = _a_auxFunction;
goto tmp3_done;
}
case 27: {
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,13,3) == 0) goto tmp3_end;
tmpMeta[4] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[4],1,1) == 0) goto tmp3_end;
tmpMeta[5] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[4]), 2));
if (3 != MMC_STRLEN(tmpMeta[5]) || strcmp(MMC_STRINGDATA(_OMC_LIT853), MMC_STRINGDATA(tmpMeta[5])) != 0) goto tmp3_end;
tmpMeta[6] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 3));
if (listEmpty(tmpMeta[6])) goto tmp3_end;
tmpMeta[7] = MMC_CAR(tmpMeta[6]);
tmpMeta[8] = MMC_CDR(tmpMeta[6]);
if (!listEmpty(tmpMeta[8])) goto tmp3_end;
tmpMeta[9] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 4));
_i_e1 = tmpMeta[7];
_txt = tmp4_1;
_a_context = tmp4_3;
_a_preExp = tmp4_4;
_a_varDecls = tmp4_5;
_a_auxFunction = tmp4_6;
_l_argStr = omc_CodegenCFunctions_daeExp(threadData, _OMC_LIT20, _i_e1, _a_context, _a_preExp, _a_varDecls, _a_auxFunction ,&_a_preExp ,&_a_varDecls ,&_a_auxFunction);
_txt_19 = omc_CodegenCFunctions_expTypeFromExpModelica(threadData, _OMC_LIT20, _i_e1);
_l_tmp = omc_CodegenCFunctions_tempDecl(threadData, _OMC_LIT20, omc_Tpl_textString(threadData, _txt_19), _a_varDecls ,&_a_varDecls);
_l_cstr = omc_ExpressionDumpTpl_dumpExp(threadData, _OMC_LIT20, _i_e1, _OMC_LIT231);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _l_tmp);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT121);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _l_argStr);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT161);
_txt_21 = omc_Tpl_writeText(threadData, _OMC_LIT20, _l_tmp);
_txt_21 = omc_Tpl_writeTok(threadData, _txt_21, _OMC_LIT691);
_txt_22 = omc_Tpl_writeTok(threadData, _OMC_LIT20, _OMC_LIT693);
_ret_22 = omc_Util_escapeModelicaStringToCString(threadData, omc_Tpl_textString(threadData, _l_cstr));
_txt_22 = omc_Tpl_writeStr(threadData, _txt_22, _ret_22);
_txt_22 = omc_Tpl_writeTok(threadData, _txt_22, _OMC_LIT695);
_txt_22 = omc_Tpl_writeText(threadData, _txt_22, _l_tmp);
_a_preExp = omc_CodegenCFunctions_assertCommonVar(threadData, _a_preExp, _txt_21, _txt_22, _a_context, _a_varDecls, _OMC_LIT697 ,&_txt_21 ,&_txt_22 ,&_a_varDecls);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT699);
_txt = omc_Tpl_writeText(threadData, _txt, _l_tmp);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT78);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_preExp;
tmpMeta[0+2] = _a_varDecls;
tmpMeta[0+3] = _a_auxFunction;
goto tmp3_done;
}
case 28: {
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,13,3) == 0) goto tmp3_end;
tmpMeta[4] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[4],1,1) == 0) goto tmp3_end;
tmpMeta[5] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[4]), 2));
if (5 != MMC_STRLEN(tmpMeta[5]) || strcmp(MMC_STRINGDATA(_OMC_LIT854), MMC_STRINGDATA(tmpMeta[5])) != 0) goto tmp3_end;
tmpMeta[6] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 3));
if (listEmpty(tmpMeta[6])) goto tmp3_end;
tmpMeta[7] = MMC_CAR(tmpMeta[6]);
tmpMeta[8] = MMC_CDR(tmpMeta[6]);
if (!listEmpty(tmpMeta[8])) goto tmp3_end;
tmpMeta[9] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 4));
_i_e1 = tmpMeta[7];
_txt = tmp4_1;
_a_context = tmp4_3;
_a_preExp = tmp4_4;
_a_varDecls = tmp4_5;
_a_auxFunction = tmp4_6;
_l_argStr = omc_CodegenCFunctions_daeExp(threadData, _OMC_LIT20, _i_e1, _a_context, _a_preExp, _a_varDecls, _a_auxFunction ,&_a_preExp ,&_a_varDecls ,&_a_auxFunction);
_txt_24 = omc_CodegenCFunctions_expTypeFromExpModelica(threadData, _OMC_LIT20, _i_e1);
_l_tmp = omc_CodegenCFunctions_tempDecl(threadData, _OMC_LIT20, omc_Tpl_textString(threadData, _txt_24), _a_varDecls ,&_a_varDecls);
_l_cstr = omc_ExpressionDumpTpl_dumpExp(threadData, _OMC_LIT20, _i_e1, _OMC_LIT231);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _l_tmp);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT121);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _l_argStr);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT161);
_txt_25 = omc_Tpl_writeText(threadData, _OMC_LIT20, _l_tmp);
_txt_25 = omc_Tpl_writeTok(threadData, _txt_25, _OMC_LIT691);
_txt_26 = omc_Tpl_writeTok(threadData, _OMC_LIT20, _OMC_LIT701);
_ret_26 = omc_Util_escapeModelicaStringToCString(threadData, omc_Tpl_textString(threadData, _l_cstr));
_txt_26 = omc_Tpl_writeStr(threadData, _txt_26, _ret_26);
_txt_26 = omc_Tpl_writeTok(threadData, _txt_26, _OMC_LIT695);
_txt_26 = omc_Tpl_writeText(threadData, _txt_26, _l_tmp);
_a_preExp = omc_CodegenCFunctions_assertCommonVar(threadData, _a_preExp, _txt_25, _txt_26, _a_context, _a_varDecls, _OMC_LIT697 ,&_txt_25 ,&_txt_26 ,&_a_varDecls);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT703);
_txt = omc_Tpl_writeText(threadData, _txt, _l_tmp);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT78);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_preExp;
tmpMeta[0+2] = _a_varDecls;
tmpMeta[0+3] = _a_auxFunction;
goto tmp3_done;
}
case 29: {
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,13,3) == 0) goto tmp3_end;
tmpMeta[4] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[4],1,1) == 0) goto tmp3_end;
tmpMeta[5] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[4]), 2));
if (4 != MMC_STRLEN(tmpMeta[5]) || strcmp(MMC_STRINGDATA(_OMC_LIT855), MMC_STRINGDATA(tmpMeta[5])) != 0) goto tmp3_end;
tmpMeta[6] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 3));
if (listEmpty(tmpMeta[6])) goto tmp3_end;
tmpMeta[7] = MMC_CAR(tmpMeta[6]);
tmpMeta[8] = MMC_CDR(tmpMeta[6]);
if (!listEmpty(tmpMeta[8])) goto tmp3_end;
tmpMeta[9] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 4));
_i_call = tmp4_2;
_i_e1 = tmpMeta[7];
_txt = tmp4_1;
_a_context = tmp4_3;
_a_preExp = tmp4_4;
_a_varDecls = tmp4_5;
_a_auxFunction = tmp4_6;
_l_argStr = omc_CodegenCFunctions_daeExp(threadData, _OMC_LIT20, _i_e1, _a_context, _a_preExp, _a_varDecls, _a_auxFunction ,&_a_preExp ,&_a_varDecls ,&_a_auxFunction);
_l_tmp = omc_CodegenCFunctions_tempDecl(threadData, _OMC_LIT20, _OMC_LIT704, _a_varDecls ,&_a_varDecls);
_l_cstr = omc_ExpressionDumpTpl_dumpExp(threadData, _OMC_LIT20, _i_call, _OMC_LIT231);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _l_tmp);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT121);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _l_argStr);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT161);
_txt_28 = omc_Tpl_writeText(threadData, _OMC_LIT20, _l_tmp);
_txt_28 = omc_Tpl_writeTok(threadData, _txt_28, _OMC_LIT706);
_txt_28 = omc_Tpl_writeText(threadData, _txt_28, _l_tmp);
_txt_28 = omc_Tpl_writeTok(threadData, _txt_28, _OMC_LIT708);
_txt_29 = omc_Tpl_writeTok(threadData, _OMC_LIT20, _OMC_LIT710);
_ret_29 = omc_Util_escapeModelicaStringToCString(threadData, omc_Tpl_textString(threadData, _l_cstr));
_txt_29 = omc_Tpl_writeStr(threadData, _txt_29, _ret_29);
_txt_29 = omc_Tpl_writeTok(threadData, _txt_29, _OMC_LIT712);
_txt_29 = omc_Tpl_writeText(threadData, _txt_29, _l_tmp);
_a_preExp = omc_CodegenCFunctions_assertCommonVar(threadData, _a_preExp, _txt_28, _txt_29, _a_context, _a_varDecls, _OMC_LIT697 ,&_txt_28 ,&_txt_29 ,&_a_varDecls);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT714);
_txt = omc_Tpl_writeText(threadData, _txt, _l_tmp);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT78);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_preExp;
tmpMeta[0+2] = _a_varDecls;
tmpMeta[0+3] = _a_auxFunction;
goto tmp3_done;
}
case 30: {
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,13,3) == 0) goto tmp3_end;
tmpMeta[4] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[4],1,1) == 0) goto tmp3_end;
tmpMeta[5] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[4]), 2));
if (4 != MMC_STRLEN(tmpMeta[5]) || strcmp(MMC_STRINGDATA(_OMC_LIT856), MMC_STRINGDATA(tmpMeta[5])) != 0) goto tmp3_end;
tmpMeta[6] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 3));
if (listEmpty(tmpMeta[6])) goto tmp3_end;
tmpMeta[7] = MMC_CAR(tmpMeta[6]);
tmpMeta[8] = MMC_CDR(tmpMeta[6]);
if (!listEmpty(tmpMeta[8])) goto tmp3_end;
tmpMeta[9] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 4));
_i_call = tmp4_2;
_i_e1 = tmpMeta[7];
_txt = tmp4_1;
_a_context = tmp4_3;
_a_preExp = tmp4_4;
_a_varDecls = tmp4_5;
_a_auxFunction = tmp4_6;
_l_argStr = omc_CodegenCFunctions_daeExp(threadData, _OMC_LIT20, _i_e1, _a_context, _a_preExp, _a_varDecls, _a_auxFunction ,&_a_preExp ,&_a_varDecls ,&_a_auxFunction);
_l_tmp = omc_CodegenCFunctions_tempDecl(threadData, _OMC_LIT20, _OMC_LIT704, _a_varDecls ,&_a_varDecls);
_l_cstr = omc_ExpressionDumpTpl_dumpExp(threadData, _OMC_LIT20, _i_call, _OMC_LIT231);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _l_tmp);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT121);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _l_argStr);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT161);
_txt_31 = omc_Tpl_writeText(threadData, _OMC_LIT20, _l_tmp);
_txt_31 = omc_Tpl_writeTok(threadData, _txt_31, _OMC_LIT706);
_txt_31 = omc_Tpl_writeText(threadData, _txt_31, _l_tmp);
_txt_31 = omc_Tpl_writeTok(threadData, _txt_31, _OMC_LIT708);
_txt_32 = omc_Tpl_writeTok(threadData, _OMC_LIT20, _OMC_LIT710);
_ret_32 = omc_Util_escapeModelicaStringToCString(threadData, omc_Tpl_textString(threadData, _l_cstr));
_txt_32 = omc_Tpl_writeStr(threadData, _txt_32, _ret_32);
_txt_32 = omc_Tpl_writeTok(threadData, _txt_32, _OMC_LIT712);
_txt_32 = omc_Tpl_writeText(threadData, _txt_32, _l_tmp);
_a_preExp = omc_CodegenCFunctions_assertCommonVar(threadData, _a_preExp, _txt_31, _txt_32, _a_context, _a_varDecls, _OMC_LIT697 ,&_txt_31 ,&_txt_32 ,&_a_varDecls);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT716);
_txt = omc_Tpl_writeText(threadData, _txt, _l_tmp);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT78);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_preExp;
tmpMeta[0+2] = _a_varDecls;
tmpMeta[0+3] = _a_auxFunction;
goto tmp3_done;
}
case 31: {
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,13,3) == 0) goto tmp3_end;
tmpMeta[4] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[4],1,1) == 0) goto tmp3_end;
tmpMeta[5] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[4]), 2));
if (3 != MMC_STRLEN(tmpMeta[5]) || strcmp(MMC_STRINGDATA(_OMC_LIT857), MMC_STRINGDATA(tmpMeta[5])) != 0) goto tmp3_end;
tmpMeta[6] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 3));
if (listEmpty(tmpMeta[6])) goto tmp3_end;
tmpMeta[7] = MMC_CAR(tmpMeta[6]);
tmpMeta[8] = MMC_CDR(tmpMeta[6]);
if (listEmpty(tmpMeta[8])) goto tmp3_end;
tmpMeta[9] = MMC_CAR(tmpMeta[8]);
tmpMeta[10] = MMC_CDR(tmpMeta[8]);
if (listEmpty(tmpMeta[10])) goto tmp3_end;
tmpMeta[11] = MMC_CAR(tmpMeta[10]);
tmpMeta[12] = MMC_CDR(tmpMeta[10]);
if (!listEmpty(tmpMeta[12])) goto tmp3_end;
tmpMeta[13] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 4));
tmpMeta[14] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[13]), 2));
_i_e1 = tmpMeta[7];
_i_e2 = tmpMeta[9];
_i_index = tmpMeta[11];
_i_ty = tmpMeta[14];
_txt = tmp4_1;
_a_context = tmp4_3;
_a_preExp = tmp4_4;
_a_varDecls = tmp4_5;
_a_auxFunction = tmp4_6;
_l_var1 = omc_CodegenCFunctions_daeExp(threadData, _OMC_LIT20, _i_e1, _a_context, _a_preExp, _a_varDecls, _a_auxFunction ,&_a_preExp ,&_a_varDecls ,&_a_auxFunction);
_l_var2 = omc_CodegenCFunctions_daeExp(threadData, _OMC_LIT20, _i_e2, _a_context, _a_preExp, _a_varDecls, _a_auxFunction ,&_a_preExp ,&_a_varDecls ,&_a_auxFunction);
_l_constIndex = omc_CodegenCFunctions_daeExp(threadData, _OMC_LIT20, _i_index, _a_context, _a_preExp, _a_varDecls, _a_auxFunction ,&_a_preExp ,&_a_varDecls ,&_a_auxFunction);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT718);
_txt = omc_CodegenCFunctions_expTypeShort(threadData, _txt, _i_ty);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT68);
_txt = omc_Tpl_writeText(threadData, _txt, _l_var1);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT292);
_txt = omc_Tpl_writeText(threadData, _txt, _l_var2);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT292);
_txt = omc_Tpl_writeText(threadData, _txt, _l_constIndex);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT720);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_preExp;
tmpMeta[0+2] = _a_varDecls;
tmpMeta[0+3] = _a_auxFunction;
goto tmp3_done;
}
case 32: {
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,13,3) == 0) goto tmp3_end;
tmpMeta[4] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[4],1,1) == 0) goto tmp3_end;
tmpMeta[5] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[4]), 2));
if (3 != MMC_STRLEN(tmpMeta[5]) || strcmp(MMC_STRINGDATA(_OMC_LIT858), MMC_STRINGDATA(tmpMeta[5])) != 0) goto tmp3_end;
tmpMeta[6] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 3));
if (listEmpty(tmpMeta[6])) goto tmp3_end;
tmpMeta[7] = MMC_CAR(tmpMeta[6]);
tmpMeta[8] = MMC_CDR(tmpMeta[6]);
if (listEmpty(tmpMeta[8])) goto tmp3_end;
tmpMeta[9] = MMC_CAR(tmpMeta[8]);
tmpMeta[10] = MMC_CDR(tmpMeta[8]);
if (listEmpty(tmpMeta[10])) goto tmp3_end;
tmpMeta[11] = MMC_CAR(tmpMeta[10]);
tmpMeta[12] = MMC_CDR(tmpMeta[10]);
if (!listEmpty(tmpMeta[12])) goto tmp3_end;
tmpMeta[13] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 4));
tmpMeta[14] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[13]), 2));
_i_e1 = tmpMeta[7];
_i_e2 = tmpMeta[9];
_i_index = tmpMeta[11];
_i_ty = tmpMeta[14];
_txt = tmp4_1;
_a_context = tmp4_3;
_a_preExp = tmp4_4;
_a_varDecls = tmp4_5;
_a_auxFunction = tmp4_6;
_l_var1 = omc_CodegenCFunctions_daeExp(threadData, _OMC_LIT20, _i_e1, _a_context, _a_preExp, _a_varDecls, _a_auxFunction ,&_a_preExp ,&_a_varDecls ,&_a_auxFunction);
_l_var2 = omc_CodegenCFunctions_daeExp(threadData, _OMC_LIT20, _i_e2, _a_context, _a_preExp, _a_varDecls, _a_auxFunction ,&_a_preExp ,&_a_varDecls ,&_a_auxFunction);
_l_constIndex = omc_CodegenCFunctions_daeExp(threadData, _OMC_LIT20, _i_index, _a_context, _a_preExp, _a_varDecls, _a_auxFunction ,&_a_preExp ,&_a_varDecls ,&_a_auxFunction);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT722);
_txt = omc_CodegenCFunctions_expTypeShort(threadData, _txt, _i_ty);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT68);
_txt = omc_Tpl_writeText(threadData, _txt, _l_var1);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT292);
_txt = omc_Tpl_writeText(threadData, _txt, _l_var2);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT292);
_txt = omc_Tpl_writeText(threadData, _txt, _l_constIndex);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT720);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_preExp;
tmpMeta[0+2] = _a_varDecls;
tmpMeta[0+3] = _a_auxFunction;
goto tmp3_done;
}
case 33: {
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,13,3) == 0) goto tmp3_end;
tmpMeta[4] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[4],1,1) == 0) goto tmp3_end;
tmpMeta[5] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[4]), 2));
if (7 != MMC_STRLEN(tmpMeta[5]) || strcmp(MMC_STRINGDATA(_OMC_LIT566), MMC_STRINGDATA(tmpMeta[5])) != 0) goto tmp3_end;
tmpMeta[6] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 3));
if (listEmpty(tmpMeta[6])) goto tmp3_end;
tmpMeta[7] = MMC_CAR(tmpMeta[6]);
tmpMeta[8] = MMC_CDR(tmpMeta[6]);
if (listEmpty(tmpMeta[8])) goto tmp3_end;
tmpMeta[9] = MMC_CAR(tmpMeta[8]);
tmpMeta[10] = MMC_CDR(tmpMeta[8]);
if (!listEmpty(tmpMeta[10])) goto tmp3_end;
_i_inExp = tmpMeta[7];
_i_index = tmpMeta[9];
_txt = tmp4_1;
_a_context = tmp4_3;
_a_preExp = tmp4_4;
_a_varDecls = tmp4_5;
_a_auxFunction = tmp4_6;
_l_exp = omc_CodegenCFunctions_daeExp(threadData, _OMC_LIT20, _i_inExp, _a_context, _a_preExp, _a_varDecls, _a_auxFunction ,&_a_preExp ,&_a_varDecls ,&_a_auxFunction);
_l_constIndex = omc_CodegenCFunctions_daeExp(threadData, _OMC_LIT20, _i_index, _a_context, _a_preExp, _a_varDecls, _a_auxFunction ,&_a_preExp ,&_a_varDecls ,&_a_auxFunction);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT724);
_txt = omc_Tpl_writeText(threadData, _txt, _l_exp);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT292);
_txt = omc_Tpl_writeText(threadData, _txt, _l_constIndex);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT726);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_preExp;
tmpMeta[0+2] = _a_varDecls;
tmpMeta[0+3] = _a_auxFunction;
goto tmp3_done;
}
case 34: {
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,13,3) == 0) goto tmp3_end;
tmpMeta[4] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[4],1,1) == 0) goto tmp3_end;
tmpMeta[5] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[4]), 2));
if (5 != MMC_STRLEN(tmpMeta[5]) || strcmp(MMC_STRINGDATA(_OMC_LIT859), MMC_STRINGDATA(tmpMeta[5])) != 0) goto tmp3_end;
tmpMeta[6] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 3));
if (listEmpty(tmpMeta[6])) goto tmp3_end;
tmpMeta[7] = MMC_CAR(tmpMeta[6]);
tmpMeta[8] = MMC_CDR(tmpMeta[6]);
if (listEmpty(tmpMeta[8])) goto tmp3_end;
tmpMeta[9] = MMC_CAR(tmpMeta[8]);
tmpMeta[10] = MMC_CDR(tmpMeta[8]);
if (!listEmpty(tmpMeta[10])) goto tmp3_end;
tmpMeta[11] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 4));
tmpMeta[12] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[11]), 2));
_i_inExp = tmpMeta[7];
_i_index = tmpMeta[9];
_i_ty = tmpMeta[12];
_txt = tmp4_1;
_a_context = tmp4_3;
_a_preExp = tmp4_4;
_a_varDecls = tmp4_5;
_a_auxFunction = tmp4_6;
_l_exp = omc_CodegenCFunctions_daeExp(threadData, _OMC_LIT20, _i_inExp, _a_context, _a_preExp, _a_varDecls, _a_auxFunction ,&_a_preExp ,&_a_varDecls ,&_a_auxFunction);
_l_constIndex = omc_CodegenCFunctions_daeExp(threadData, _OMC_LIT20, _i_index, _a_context, _a_preExp, _a_varDecls, _a_auxFunction ,&_a_preExp ,&_a_varDecls ,&_a_auxFunction);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT728);
_txt = omc_CodegenCFunctions_expTypeShort(threadData, _txt, _i_ty);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT730);
_txt = omc_Tpl_writeText(threadData, _txt, _l_exp);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT292);
_txt = omc_Tpl_writeText(threadData, _txt, _l_constIndex);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT726);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_preExp;
tmpMeta[0+2] = _a_varDecls;
tmpMeta[0+3] = _a_auxFunction;
goto tmp3_done;
}
case 35: {
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,13,3) == 0) goto tmp3_end;
tmpMeta[4] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[4],1,1) == 0) goto tmp3_end;
tmpMeta[5] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[4]), 2));
if (4 != MMC_STRLEN(tmpMeta[5]) || strcmp(MMC_STRINGDATA(_OMC_LIT860), MMC_STRINGDATA(tmpMeta[5])) != 0) goto tmp3_end;
tmpMeta[6] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 3));
if (listEmpty(tmpMeta[6])) goto tmp3_end;
tmpMeta[7] = MMC_CAR(tmpMeta[6]);
tmpMeta[8] = MMC_CDR(tmpMeta[6]);
if (listEmpty(tmpMeta[8])) goto tmp3_end;
tmpMeta[9] = MMC_CAR(tmpMeta[8]);
tmpMeta[10] = MMC_CDR(tmpMeta[8]);
if (!listEmpty(tmpMeta[10])) goto tmp3_end;
tmpMeta[11] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 4));
tmpMeta[12] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[11]), 2));
_i_inExp = tmpMeta[7];
_i_index = tmpMeta[9];
_i_ty = tmpMeta[12];
_txt = tmp4_1;
_a_context = tmp4_3;
_a_preExp = tmp4_4;
_a_varDecls = tmp4_5;
_a_auxFunction = tmp4_6;
_l_exp = omc_CodegenCFunctions_daeExp(threadData, _OMC_LIT20, _i_inExp, _a_context, _a_preExp, _a_varDecls, _a_auxFunction ,&_a_preExp ,&_a_varDecls ,&_a_auxFunction);
_l_constIndex = omc_CodegenCFunctions_daeExp(threadData, _OMC_LIT20, _i_index, _a_context, _a_preExp, _a_varDecls, _a_auxFunction ,&_a_preExp ,&_a_varDecls ,&_a_auxFunction);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT728);
_txt = omc_CodegenCFunctions_expTypeShort(threadData, _txt, _i_ty);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT732);
_txt = omc_Tpl_writeText(threadData, _txt, _l_exp);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT292);
_txt = omc_Tpl_writeText(threadData, _txt, _l_constIndex);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT726);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_preExp;
tmpMeta[0+2] = _a_varDecls;
tmpMeta[0+3] = _a_auxFunction;
goto tmp3_done;
}
case 36: {
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,13,3) == 0) goto tmp3_end;
tmpMeta[4] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[4],1,1) == 0) goto tmp3_end;
tmpMeta[5] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[4]), 2));
if (7 != MMC_STRLEN(tmpMeta[5]) || strcmp(MMC_STRINGDATA(_OMC_LIT566), MMC_STRINGDATA(tmpMeta[5])) != 0) goto tmp3_end;
tmpMeta[6] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 3));
if (listEmpty(tmpMeta[6])) goto tmp3_end;
tmpMeta[7] = MMC_CAR(tmpMeta[6]);
tmpMeta[8] = MMC_CDR(tmpMeta[6]);
if (!listEmpty(tmpMeta[8])) goto tmp3_end;
_i_inExp = tmpMeta[7];
_txt = tmp4_1;
_a_context = tmp4_3;
_a_preExp = tmp4_4;
_a_varDecls = tmp4_5;
_a_auxFunction = tmp4_6;
_l_exp = omc_CodegenCFunctions_daeExp(threadData, _OMC_LIT20, _i_inExp, _a_context, _a_preExp, _a_varDecls, _a_auxFunction ,&_a_preExp ,&_a_varDecls ,&_a_auxFunction);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT734);
_txt = omc_Tpl_writeText(threadData, _txt, _l_exp);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT600);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_preExp;
tmpMeta[0+2] = _a_varDecls;
tmpMeta[0+3] = _a_auxFunction;
goto tmp3_done;
}
case 37: {
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,13,3) == 0) goto tmp3_end;
tmpMeta[4] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[4],1,1) == 0) goto tmp3_end;
tmpMeta[5] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[4]), 2));
if (3 != MMC_STRLEN(tmpMeta[5]) || strcmp(MMC_STRINGDATA(_OMC_LIT857), MMC_STRINGDATA(tmpMeta[5])) != 0) goto tmp3_end;
tmpMeta[6] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 3));
if (listEmpty(tmpMeta[6])) goto tmp3_end;
tmpMeta[7] = MMC_CAR(tmpMeta[6]);
tmpMeta[8] = MMC_CDR(tmpMeta[6]);
if (listEmpty(tmpMeta[8])) goto tmp3_end;
tmpMeta[9] = MMC_CAR(tmpMeta[8]);
tmpMeta[10] = MMC_CDR(tmpMeta[8]);
if (!listEmpty(tmpMeta[10])) goto tmp3_end;
tmpMeta[11] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 4));
tmpMeta[12] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[11]), 2));
_i_call = tmp4_2;
_i_e1 = tmpMeta[7];
_i_e2 = tmpMeta[9];
_i_ty = tmpMeta[12];
_txt = tmp4_1;
_a_context = tmp4_3;
_a_preExp = tmp4_4;
_a_varDecls = tmp4_5;
_a_auxFunction = tmp4_6;
_l_tp__str = omc_CodegenCFunctions_expTypeModelica(threadData, _OMC_LIT20, _i_ty);
_l_var1 = omc_CodegenCFunctions_daeExp(threadData, _OMC_LIT20, _i_e1, _a_context, _a_preExp, _a_varDecls, _a_auxFunction ,&_a_preExp ,&_a_varDecls ,&_a_auxFunction);
_l_var2 = omc_CodegenCFunctions_daeExp(threadData, _OMC_LIT20, _i_e2, _a_context, _a_preExp, _a_varDecls, _a_auxFunction ,&_a_preExp ,&_a_varDecls ,&_a_auxFunction);
_ret_38 = omc_Config_acceptMetaModelicaGrammar(threadData);
_l_tvar = omc_CodegenCFunctions_fun__946(threadData, _OMC_LIT20, _ret_38, _l_var2, _a_varDecls, _l_tp__str ,&_a_varDecls);
_l_cstr = omc_ExpressionDumpTpl_dumpExp(threadData, _OMC_LIT20, _i_call, _OMC_LIT231);
_ret_39 = omc_Config_acceptMetaModelicaGrammar(threadData);
_a_preExp = omc_CodegenCFunctions_fun__947(threadData, _a_preExp, _ret_39, _l_var2, _l_tvar);
_ret_40 = omc_Config_acceptMetaModelicaGrammar(threadData);
_a_preExp = omc_CodegenCFunctions_fun__948(threadData, _a_preExp, _ret_40, _l_cstr, _l_tvar);
_txt = omc_Tpl_writeText(threadData, _txt, _l_tp__str);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT736);
_txt = omc_Tpl_writeText(threadData, _txt, _l_var1);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT292);
_txt = omc_Tpl_writeText(threadData, _txt, _l_tvar);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT78);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_preExp;
tmpMeta[0+2] = _a_varDecls;
tmpMeta[0+3] = _a_auxFunction;
goto tmp3_done;
}
case 38: {
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,13,3) == 0) goto tmp3_end;
tmpMeta[4] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[4],1,1) == 0) goto tmp3_end;
tmpMeta[5] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[4]), 2));
if (3 != MMC_STRLEN(tmpMeta[5]) || strcmp(MMC_STRINGDATA(_OMC_LIT857), MMC_STRINGDATA(tmpMeta[5])) != 0) goto tmp3_end;
tmpMeta[6] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 3));
if (listEmpty(tmpMeta[6])) goto tmp3_end;
tmpMeta[7] = MMC_CAR(tmpMeta[6]);
tmpMeta[8] = MMC_CDR(tmpMeta[6]);
if (listEmpty(tmpMeta[8])) goto tmp3_end;
tmpMeta[9] = MMC_CAR(tmpMeta[8]);
tmpMeta[10] = MMC_CDR(tmpMeta[8]);
if (!listEmpty(tmpMeta[10])) goto tmp3_end;
_i_call = tmp4_2;
_i_e1 = tmpMeta[7];
_i_e2 = tmpMeta[9];
_txt = tmp4_1;
_a_context = tmp4_3;
_a_preExp = tmp4_4;
_a_varDecls = tmp4_5;
_a_auxFunction = tmp4_6;
_l_var1 = omc_CodegenCFunctions_daeExp(threadData, _OMC_LIT20, _i_e1, _a_context, _a_preExp, _a_varDecls, _a_auxFunction ,&_a_preExp ,&_a_varDecls ,&_a_auxFunction);
_l_var2 = omc_CodegenCFunctions_daeExp(threadData, _OMC_LIT20, _i_e2, _a_context, _a_preExp, _a_varDecls, _a_auxFunction ,&_a_preExp ,&_a_varDecls ,&_a_auxFunction);
_l_tvar = omc_CodegenCFunctions_tempDecl(threadData, _OMC_LIT20, _OMC_LIT704, _a_varDecls ,&_a_varDecls);
_l_cstr = omc_ExpressionDumpTpl_dumpExp(threadData, _OMC_LIT20, _i_call, _OMC_LIT231);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _l_tvar);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT121);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _l_var2);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT105);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT89);
_ret_41 = omc_Config_acceptMetaModelicaGrammar(threadData);
_a_preExp = omc_CodegenCFunctions_fun__949(threadData, _a_preExp, _ret_41, _l_cstr, _l_tvar);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT738);
_txt = omc_Tpl_writeText(threadData, _txt, _l_var1);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT740);
_txt = omc_Tpl_writeText(threadData, _txt, _l_var1);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT742);
_txt = omc_Tpl_writeText(threadData, _txt, _l_tvar);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT744);
_txt = omc_Tpl_writeText(threadData, _txt, _l_tvar);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT600);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_preExp;
tmpMeta[0+2] = _a_varDecls;
tmpMeta[0+3] = _a_auxFunction;
goto tmp3_done;
}
case 39: {
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,13,3) == 0) goto tmp3_end;
tmpMeta[4] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[4],1,1) == 0) goto tmp3_end;
tmpMeta[5] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[4]), 2));
if (3 != MMC_STRLEN(tmpMeta[5]) || strcmp(MMC_STRINGDATA(_OMC_LIT858), MMC_STRINGDATA(tmpMeta[5])) != 0) goto tmp3_end;
tmpMeta[6] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 3));
if (listEmpty(tmpMeta[6])) goto tmp3_end;
tmpMeta[7] = MMC_CAR(tmpMeta[6]);
tmpMeta[8] = MMC_CDR(tmpMeta[6]);
if (listEmpty(tmpMeta[8])) goto tmp3_end;
tmpMeta[9] = MMC_CAR(tmpMeta[8]);
tmpMeta[10] = MMC_CDR(tmpMeta[8]);
if (!listEmpty(tmpMeta[10])) goto tmp3_end;
tmpMeta[11] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 4));
tmpMeta[12] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[11]), 2));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[12],0,1) == 0) goto tmp3_end;
_i_call = tmp4_2;
_i_e1 = tmpMeta[7];
_i_e2 = tmpMeta[9];
_txt = tmp4_1;
_a_context = tmp4_3;
_a_preExp = tmp4_4;
_a_varDecls = tmp4_5;
_a_auxFunction = tmp4_6;
_l_var1 = omc_CodegenCFunctions_daeExp(threadData, _OMC_LIT20, _i_e1, _a_context, _a_preExp, _a_varDecls, _a_auxFunction ,&_a_preExp ,&_a_varDecls ,&_a_auxFunction);
_l_var2 = omc_CodegenCFunctions_daeExp(threadData, _OMC_LIT20, _i_e2, _a_context, _a_preExp, _a_varDecls, _a_auxFunction ,&_a_preExp ,&_a_varDecls ,&_a_auxFunction);
_l_tvar = omc_CodegenCFunctions_tempDecl(threadData, _OMC_LIT20, _OMC_LIT449, _a_varDecls ,&_a_varDecls);
_l_cstr = omc_ExpressionDumpTpl_dumpExp(threadData, _OMC_LIT20, _i_call, _OMC_LIT231);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _l_tvar);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT121);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _l_var2);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT105);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT89);
_ret_42 = omc_Config_acceptMetaModelicaGrammar(threadData);
_a_preExp = omc_CodegenCFunctions_fun__950(threadData, _a_preExp, _ret_42, _l_cstr, _l_tvar);
_ret_43 = omc_SimCodeFunctionUtil_isParallelFunctionContext(threadData, _a_context);
_txt = omc_CodegenCFunctions_fun__951(threadData, _txt, _ret_43, _l_tvar, _l_var1);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_preExp;
tmpMeta[0+2] = _a_varDecls;
tmpMeta[0+3] = _a_auxFunction;
goto tmp3_done;
}
case 40: {
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,13,3) == 0) goto tmp3_end;
tmpMeta[4] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[4],1,1) == 0) goto tmp3_end;
tmpMeta[5] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[4]), 2));
if (3 != MMC_STRLEN(tmpMeta[5]) || strcmp(MMC_STRINGDATA(_OMC_LIT858), MMC_STRINGDATA(tmpMeta[5])) != 0) goto tmp3_end;
tmpMeta[6] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 3));
if (listEmpty(tmpMeta[6])) goto tmp3_end;
tmpMeta[7] = MMC_CAR(tmpMeta[6]);
tmpMeta[8] = MMC_CDR(tmpMeta[6]);
if (listEmpty(tmpMeta[8])) goto tmp3_end;
tmpMeta[9] = MMC_CAR(tmpMeta[8]);
tmpMeta[10] = MMC_CDR(tmpMeta[8]);
if (!listEmpty(tmpMeta[10])) goto tmp3_end;
_i_call = tmp4_2;
_i_e1 = tmpMeta[7];
_i_e2 = tmpMeta[9];
_txt = tmp4_1;
_a_context = tmp4_3;
_a_preExp = tmp4_4;
_a_varDecls = tmp4_5;
_a_auxFunction = tmp4_6;
_l_var1 = omc_CodegenCFunctions_daeExp(threadData, _OMC_LIT20, _i_e1, _a_context, _a_preExp, _a_varDecls, _a_auxFunction ,&_a_preExp ,&_a_varDecls ,&_a_auxFunction);
_l_var2 = omc_CodegenCFunctions_daeExp(threadData, _OMC_LIT20, _i_e2, _a_context, _a_preExp, _a_varDecls, _a_auxFunction ,&_a_preExp ,&_a_varDecls ,&_a_auxFunction);
_l_cstr = omc_ExpressionDumpTpl_dumpExp(threadData, _OMC_LIT20, _i_call, _OMC_LIT231);
_l_tvar = omc_CodegenCFunctions_tempDecl(threadData, _OMC_LIT20, _OMC_LIT704, _a_varDecls ,&_a_varDecls);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _l_tvar);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT121);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _l_var2);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT105);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT89);
_ret_44 = omc_Config_acceptMetaModelicaGrammar(threadData);
_a_preExp = omc_CodegenCFunctions_fun__952(threadData, _a_preExp, _ret_44, _l_cstr, _l_tvar);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT746);
_txt = omc_Tpl_writeText(threadData, _txt, _l_var1);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT742);
_txt = omc_Tpl_writeText(threadData, _txt, _l_tvar);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT600);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_preExp;
tmpMeta[0+2] = _a_varDecls;
tmpMeta[0+3] = _a_auxFunction;
goto tmp3_done;
}
case 41: {
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,13,3) == 0) goto tmp3_end;
tmpMeta[4] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[4],1,1) == 0) goto tmp3_end;
tmpMeta[5] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[4]), 2));
if (3 != MMC_STRLEN(tmpMeta[5]) || strcmp(MMC_STRINGDATA(_OMC_LIT857), MMC_STRINGDATA(tmpMeta[5])) != 0) goto tmp3_end;
tmpMeta[6] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 3));
if (listEmpty(tmpMeta[6])) goto tmp3_end;
tmpMeta[7] = MMC_CAR(tmpMeta[6]);
tmpMeta[8] = MMC_CDR(tmpMeta[6]);
if (listEmpty(tmpMeta[8])) goto tmp3_end;
tmpMeta[9] = MMC_CAR(tmpMeta[8]);
tmpMeta[10] = MMC_CDR(tmpMeta[8]);
if (!listEmpty(tmpMeta[10])) goto tmp3_end;
tmpMeta[11] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 4));
tmpMeta[12] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[11]), 2));
_i_e1 = tmpMeta[7];
_i_e2 = tmpMeta[9];
_i_ty = tmpMeta[12];
_txt = tmp4_1;
_a_context = tmp4_3;
_a_preExp = tmp4_4;
_a_varDecls = tmp4_5;
_a_auxFunction = tmp4_6;
_l_var1 = omc_CodegenCFunctions_daeExp(threadData, _OMC_LIT20, _i_e1, _a_context, _a_preExp, _a_varDecls, _a_auxFunction ,&_a_preExp ,&_a_varDecls ,&_a_auxFunction);
_l_var2 = omc_CodegenCFunctions_daeExp(threadData, _OMC_LIT20, _i_e2, _a_context, _a_preExp, _a_varDecls, _a_auxFunction ,&_a_preExp ,&_a_varDecls ,&_a_auxFunction);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT748);
_txt = omc_CodegenCFunctions_expTypeShort(threadData, _txt, _i_ty);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT68);
_txt = omc_Tpl_writeText(threadData, _txt, _l_var1);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT226);
_txt = omc_Tpl_writeText(threadData, _txt, _l_var2);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT78);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_preExp;
tmpMeta[0+2] = _a_varDecls;
tmpMeta[0+3] = _a_auxFunction;
goto tmp3_done;
}
case 42: {
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,13,3) == 0) goto tmp3_end;
tmpMeta[4] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[4],1,1) == 0) goto tmp3_end;
tmpMeta[5] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[4]), 2));
if (3 != MMC_STRLEN(tmpMeta[5]) || strcmp(MMC_STRINGDATA(_OMC_LIT847), MMC_STRINGDATA(tmpMeta[5])) != 0) goto tmp3_end;
tmpMeta[6] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 3));
if (listEmpty(tmpMeta[6])) goto tmp3_end;
tmpMeta[7] = MMC_CAR(tmpMeta[6]);
tmpMeta[8] = MMC_CDR(tmpMeta[6]);
if (!listEmpty(tmpMeta[8])) goto tmp3_end;
tmpMeta[9] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 4));
tmpMeta[10] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[9]), 2));
_i_array = tmpMeta[7];
_i_ty = tmpMeta[10];
_txt = tmp4_1;
_a_context = tmp4_3;
_a_preExp = tmp4_4;
_a_varDecls = tmp4_5;
_a_auxFunction = tmp4_6;
_l_expVar = omc_CodegenCFunctions_daeExp(threadData, _OMC_LIT20, _i_array, _a_context, _a_preExp, _a_varDecls, _a_auxFunction ,&_a_preExp ,&_a_varDecls ,&_a_auxFunction);
_l_arr__tp__str = omc_CodegenCFunctions_expTypeArray(threadData, _OMC_LIT20, _i_ty);
_txt_47 = omc_CodegenCFunctions_expTypeModelica(threadData, _OMC_LIT20, _i_ty);
_l_tvar = omc_CodegenCFunctions_tempDecl(threadData, _OMC_LIT20, omc_Tpl_textString(threadData, _txt_47), _a_varDecls ,&_a_varDecls);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _l_tvar);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT750);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _l_arr__tp__str);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT68);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _l_expVar);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT290);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT89);
_txt = omc_Tpl_writeText(threadData, _txt, _l_tvar);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_preExp;
tmpMeta[0+2] = _a_varDecls;
tmpMeta[0+3] = _a_auxFunction;
goto tmp3_done;
}
case 43: {
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,13,3) == 0) goto tmp3_end;
tmpMeta[4] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[4],1,1) == 0) goto tmp3_end;
tmpMeta[5] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[4]), 2));
if (3 != MMC_STRLEN(tmpMeta[5]) || strcmp(MMC_STRINGDATA(_OMC_LIT850), MMC_STRINGDATA(tmpMeta[5])) != 0) goto tmp3_end;
tmpMeta[6] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 3));
if (listEmpty(tmpMeta[6])) goto tmp3_end;
tmpMeta[7] = MMC_CAR(tmpMeta[6]);
tmpMeta[8] = MMC_CDR(tmpMeta[6]);
if (!listEmpty(tmpMeta[8])) goto tmp3_end;
tmpMeta[9] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 4));
tmpMeta[10] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[9]), 2));
_i_array = tmpMeta[7];
_i_ty = tmpMeta[10];
_txt = tmp4_1;
_a_context = tmp4_3;
_a_preExp = tmp4_4;
_a_varDecls = tmp4_5;
_a_auxFunction = tmp4_6;
_l_expVar = omc_CodegenCFunctions_daeExp(threadData, _OMC_LIT20, _i_array, _a_context, _a_preExp, _a_varDecls, _a_auxFunction ,&_a_preExp ,&_a_varDecls ,&_a_auxFunction);
_l_arr__tp__str = omc_CodegenCFunctions_expTypeArray(threadData, _OMC_LIT20, _i_ty);
_txt_48 = omc_CodegenCFunctions_expTypeModelica(threadData, _OMC_LIT20, _i_ty);
_l_tvar = omc_CodegenCFunctions_tempDecl(threadData, _OMC_LIT20, omc_Tpl_textString(threadData, _txt_48), _a_varDecls ,&_a_varDecls);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _l_tvar);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT752);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _l_arr__tp__str);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT68);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _l_expVar);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT290);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT89);
_txt = omc_Tpl_writeText(threadData, _txt, _l_tvar);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_preExp;
tmpMeta[0+2] = _a_varDecls;
tmpMeta[0+3] = _a_auxFunction;
goto tmp3_done;
}
case 44: {
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,13,3) == 0) goto tmp3_end;
tmpMeta[4] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[4],1,1) == 0) goto tmp3_end;
tmpMeta[5] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[4]), 2));
if (4 != MMC_STRLEN(tmpMeta[5]) || strcmp(MMC_STRINGDATA(_OMC_LIT861), MMC_STRINGDATA(tmpMeta[5])) != 0) goto tmp3_end;
tmpMeta[6] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 3));
if (listEmpty(tmpMeta[6])) goto tmp3_end;
tmpMeta[7] = MMC_CAR(tmpMeta[6]);
tmpMeta[8] = MMC_CDR(tmpMeta[6]);
tmpMeta[9] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 4));
tmpMeta[10] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[9]), 2));
_i_val = tmpMeta[7];
_i_dims = tmpMeta[8];
_i_ty = tmpMeta[10];
_txt = tmp4_1;
_a_context = tmp4_3;
_a_preExp = tmp4_4;
_a_varDecls = tmp4_5;
_a_auxFunction = tmp4_6;
_l_valExp = omc_CodegenCFunctions_daeExpAsLValue(threadData, _OMC_LIT20, _i_val, _a_context, _a_preExp, _a_varDecls, _a_auxFunction ,&_a_preExp ,&_a_varDecls ,&_a_auxFunction);
_l_dimsExp = omc_Tpl_pushIter(threadData, _OMC_LIT20, _OMC_LIT294);
_l_dimsExp = omc_CodegenCFunctions_lm__953(threadData, _l_dimsExp, _i_dims, _a_auxFunction, _a_varDecls, _a_preExp, _a_context ,&_a_auxFunction ,&_a_varDecls ,&_a_preExp);
_l_dimsExp = omc_Tpl_popIter(threadData, _l_dimsExp);
_l_ty__str = omc_CodegenCFunctions_expTypeArray(threadData, _OMC_LIT20, _i_ty);
_l_tvar = omc_CodegenCFunctions_tempDecl(threadData, _OMC_LIT20, omc_Tpl_textString(threadData, _l_ty__str), _a_varDecls ,&_a_varDecls);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT754);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _l_ty__str);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT298);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _l_tvar);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT292);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _l_valExp);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT292);
_ret_51 = listLength(_i_dims);
_a_preExp = omc_Tpl_writeStr(threadData, _a_preExp, intString(_ret_51));
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT292);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _l_dimsExp);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT290);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT89);
_txt = omc_Tpl_writeText(threadData, _txt, _l_tvar);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_preExp;
tmpMeta[0+2] = _a_varDecls;
tmpMeta[0+3] = _a_auxFunction;
goto tmp3_done;
}
case 45: {
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,13,3) == 0) goto tmp3_end;
tmpMeta[4] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[4],1,1) == 0) goto tmp3_end;
tmpMeta[5] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[4]), 2));
if (6 != MMC_STRLEN(tmpMeta[5]) || strcmp(MMC_STRINGDATA(_OMC_LIT862), MMC_STRINGDATA(tmpMeta[5])) != 0) goto tmp3_end;
tmpMeta[6] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 3));
if (listEmpty(tmpMeta[6])) goto tmp3_end;
tmpMeta[7] = MMC_CAR(tmpMeta[6]);
tmpMeta[8] = MMC_CDR(tmpMeta[6]);
if (!listEmpty(tmpMeta[8])) goto tmp3_end;
tmpMeta[9] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 4));
tmpMeta[10] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[9]), 2));
_i_exp = tmpMeta[7];
_i_ty = tmpMeta[10];
_txt = tmp4_1;
_a_context = tmp4_3;
_a_preExp = tmp4_4;
_a_varDecls = tmp4_5;
_a_auxFunction = tmp4_6;
_ret_53 = omc_Expression_typeof(threadData, _i_exp);
_ret_54 = omc_Types_getDimensionSizes(threadData, _ret_53);
_ret_55 = listLength(_ret_54);
omc_Tpl_writeStr(threadData, _OMC_LIT20, intString(_ret_55));
_l_tvarc = omc_CodegenCFunctions_tempDecl(threadData, _OMC_LIT20, _OMC_LIT140, _a_varDecls ,&_a_varDecls);
_l_tvardata = omc_CodegenCFunctions_tempDecl(threadData, _OMC_LIT20, _OMC_LIT755, _a_varDecls ,&_a_varDecls);
_l_nElts = omc_CodegenCFunctions_tempDecl(threadData, _OMC_LIT20, _OMC_LIT140, _a_varDecls ,&_a_varDecls);
_l_val = omc_CodegenCFunctions_daeExpAsLValue(threadData, _OMC_LIT20, _i_exp, _a_context, _a_preExp, _a_varDecls, _a_auxFunction ,&_a_preExp ,&_a_varDecls ,&_a_auxFunction);
_l_szElt = omc_Tpl_writeTok(threadData, _OMC_LIT20, _OMC_LIT757);
_l_szElt = omc_CodegenCFunctions_expTypeModelica(threadData, _l_szElt, _i_ty);
_l_szElt = omc_Tpl_writeTok(threadData, _l_szElt, _OMC_LIT78);
_ret_62 = omc_Expression_typeof(threadData, _i_exp);
_ret_63 = omc_Types_getDimensionSizes(threadData, _ret_62);
_l_dims = omc_Tpl_pushIter(threadData, _OMC_LIT20, _OMC_LIT139);
_l_dims = omc_CodegenCFunctions_lm__955(threadData, _l_dims, _ret_63, _l_tvarc, _l_val);
_l_dims = omc_Tpl_popIter(threadData, _l_dims);
_l_ty__str = omc_CodegenCFunctions_expTypeArray(threadData, _OMC_LIT20, _i_ty);
_l_tvar = omc_CodegenCFunctions_tempDecl(threadData, _OMC_LIT20, omc_Tpl_textString(threadData, _l_ty__str), _a_varDecls ,&_a_varDecls);
_a_preExp = omc_Tpl_pushBlock(threadData, _a_preExp, _OMC_LIT97);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _l_tvarc);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT759);
_a_preExp = omc_Tpl_popBlock(threadData, _a_preExp);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _l_dims);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT248);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _l_tvarc);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT761);
_a_preExp = omc_Tpl_pushBlock(threadData, _a_preExp, _OMC_LIT97);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT763);
_txt_64 = omc_ExpressionDumpTpl_dumpExp(threadData, _OMC_LIT20, _i_exp, _OMC_LIT231);
_ret_65 = omc_Util_escapeModelicaStringToCString(threadData, omc_Tpl_textString(threadData, _txt_64));
_a_preExp = omc_Tpl_writeStr(threadData, _a_preExp, _ret_65);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT765);
_a_preExp = omc_Tpl_popBlock(threadData, _a_preExp);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT159);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _l_nElts);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT767);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _l_val);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT375);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _l_tvardata);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT769);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _l_szElt);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT256);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _l_nElts);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT773);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _l_tvardata);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT292);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _l_val);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT775);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _l_szElt);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT256);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _l_nElts);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT778);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _l_tvar);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT292);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _l_nElts);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT292);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _l_tvardata);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT290);
_txt = omc_Tpl_writeText(threadData, _txt, _l_tvar);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_preExp;
tmpMeta[0+2] = _a_varDecls;
tmpMeta[0+3] = _a_auxFunction;
goto tmp3_done;
}
case 46: {
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,13,3) == 0) goto tmp3_end;
tmpMeta[4] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[4],1,1) == 0) goto tmp3_end;
tmpMeta[5] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[4]), 2));
if (3 != MMC_STRLEN(tmpMeta[5]) || strcmp(MMC_STRINGDATA(_OMC_LIT863), MMC_STRINGDATA(tmpMeta[5])) != 0) goto tmp3_end;
tmpMeta[6] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 3));
if (listEmpty(tmpMeta[6])) goto tmp3_end;
tmpMeta[7] = MMC_CAR(tmpMeta[6]);
tmpMeta[8] = MMC_CDR(tmpMeta[6]);
tmpMeta[9] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 4));
tmpMeta[10] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[9]), 2));
_i_dim = tmpMeta[7];
_i_arrays = tmpMeta[8];
_i_ty = tmpMeta[10];
_txt = tmp4_1;
_a_context = tmp4_3;
_a_preExp = tmp4_4;
_a_varDecls = tmp4_5;
_a_auxFunction = tmp4_6;
_l_dim__exp = omc_CodegenCFunctions_daeExp(threadData, _OMC_LIT20, _i_dim, _a_context, _a_preExp, _a_varDecls, _a_auxFunction ,&_a_preExp ,&_a_varDecls ,&_a_auxFunction);
_l_arrays__exp = omc_Tpl_pushIter(threadData, _OMC_LIT20, _OMC_LIT780);
_l_arrays__exp = omc_CodegenCFunctions_lm__956(threadData, _l_arrays__exp, _i_arrays, _a_auxFunction, _a_varDecls, _a_preExp, _a_context ,&_a_auxFunction ,&_a_varDecls ,&_a_preExp);
_l_arrays__exp = omc_Tpl_popIter(threadData, _l_arrays__exp);
_l_ty__str = omc_CodegenCFunctions_expTypeArray(threadData, _OMC_LIT20, _i_ty);
_l_tvar = omc_CodegenCFunctions_tempDecl(threadData, _OMC_LIT20, omc_Tpl_textString(threadData, _l_ty__str), _a_varDecls ,&_a_varDecls);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT562);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _l_ty__str);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT68);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _l_dim__exp);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT123);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _l_tvar);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT292);
_ret_68 = listLength(_i_arrays);
_a_preExp = omc_Tpl_writeStr(threadData, _a_preExp, intString(_ret_68));
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT123);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _l_arrays__exp);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT290);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT89);
_txt = omc_Tpl_writeText(threadData, _txt, _l_tvar);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_preExp;
tmpMeta[0+2] = _a_varDecls;
tmpMeta[0+3] = _a_auxFunction;
goto tmp3_done;
}
case 47: {
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,13,3) == 0) goto tmp3_end;
tmpMeta[4] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[4],1,1) == 0) goto tmp3_end;
tmpMeta[5] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[4]), 2));
if (7 != MMC_STRLEN(tmpMeta[5]) || strcmp(MMC_STRINGDATA(_OMC_LIT864), MMC_STRINGDATA(tmpMeta[5])) != 0) goto tmp3_end;
tmpMeta[6] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 3));
if (listEmpty(tmpMeta[6])) goto tmp3_end;
tmpMeta[7] = MMC_CAR(tmpMeta[6]);
tmpMeta[8] = MMC_CDR(tmpMeta[6]);
if (listEmpty(tmpMeta[8])) goto tmp3_end;
tmpMeta[9] = MMC_CAR(tmpMeta[8]);
tmpMeta[10] = MMC_CDR(tmpMeta[8]);
if (!listEmpty(tmpMeta[10])) goto tmp3_end;
_i_A = tmpMeta[7];
_i_n = tmpMeta[9];
_txt = tmp4_1;
_a_context = tmp4_3;
_a_preExp = tmp4_4;
_a_varDecls = tmp4_5;
_a_auxFunction = tmp4_6;
_l_var1 = omc_CodegenCFunctions_daeExpAsLValue(threadData, _OMC_LIT20, _i_A, _a_context, _a_preExp, _a_varDecls, _a_auxFunction ,&_a_preExp ,&_a_varDecls ,&_a_auxFunction);
_l_var2 = omc_CodegenCFunctions_daeExp(threadData, _OMC_LIT20, _i_n, _a_context, _a_preExp, _a_varDecls, _a_auxFunction ,&_a_preExp ,&_a_varDecls ,&_a_auxFunction);
_l_arr__tp__str = omc_CodegenCFunctions_expTypeFromExpArray(threadData, _OMC_LIT20, _i_A);
_l_tvar = omc_CodegenCFunctions_tempDecl(threadData, _OMC_LIT20, omc_Tpl_textString(threadData, _l_arr__tp__str), _a_varDecls ,&_a_varDecls);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT782);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _l_arr__tp__str);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT298);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _l_var1);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT292);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _l_var2);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT784);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _l_var1);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT786);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _l_tvar);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT290);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT89);
_txt = omc_Tpl_writeText(threadData, _txt, _l_tvar);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_preExp;
tmpMeta[0+2] = _a_varDecls;
tmpMeta[0+3] = _a_auxFunction;
goto tmp3_done;
}
case 48: {
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,13,3) == 0) goto tmp3_end;
tmpMeta[4] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[4],1,1) == 0) goto tmp3_end;
tmpMeta[5] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[4]), 2));
if (9 != MMC_STRLEN(tmpMeta[5]) || strcmp(MMC_STRINGDATA(_OMC_LIT865), MMC_STRINGDATA(tmpMeta[5])) != 0) goto tmp3_end;
tmpMeta[6] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 3));
if (listEmpty(tmpMeta[6])) goto tmp3_end;
tmpMeta[7] = MMC_CAR(tmpMeta[6]);
tmpMeta[8] = MMC_CDR(tmpMeta[6]);
if (!listEmpty(tmpMeta[8])) goto tmp3_end;
_i_A = tmpMeta[7];
_txt = tmp4_1;
_a_context = tmp4_3;
_a_preExp = tmp4_4;
_a_varDecls = tmp4_5;
_a_auxFunction = tmp4_6;
_l_var1 = omc_CodegenCFunctions_daeExpAsLValue(threadData, _OMC_LIT20, _i_A, _a_context, _a_preExp, _a_varDecls, _a_auxFunction ,&_a_preExp ,&_a_varDecls ,&_a_auxFunction);
_l_arr__tp__str = omc_CodegenCFunctions_expTypeFromExpArray(threadData, _OMC_LIT20, _i_A);
_l_tvar = omc_CodegenCFunctions_tempDecl(threadData, _OMC_LIT20, omc_Tpl_textString(threadData, _l_arr__tp__str), _a_varDecls ,&_a_varDecls);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT788);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _l_arr__tp__str);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT298);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _l_var1);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT123);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _l_tvar);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT290);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT89);
_txt = omc_Tpl_writeText(threadData, _txt, _l_tvar);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_preExp;
tmpMeta[0+2] = _a_varDecls;
tmpMeta[0+3] = _a_auxFunction;
goto tmp3_done;
}
case 49: {
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,13,3) == 0) goto tmp3_end;
tmpMeta[4] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[4],1,1) == 0) goto tmp3_end;
tmpMeta[5] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[4]), 2));
if (9 != MMC_STRLEN(tmpMeta[5]) || strcmp(MMC_STRINGDATA(_OMC_LIT866), MMC_STRINGDATA(tmpMeta[5])) != 0) goto tmp3_end;
tmpMeta[6] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 3));
if (listEmpty(tmpMeta[6])) goto tmp3_end;
tmpMeta[7] = MMC_CAR(tmpMeta[6]);
tmpMeta[8] = MMC_CDR(tmpMeta[6]);
if (!listEmpty(tmpMeta[8])) goto tmp3_end;
_i_A = tmpMeta[7];
_txt = tmp4_1;
_a_context = tmp4_3;
_a_preExp = tmp4_4;
_a_varDecls = tmp4_5;
_a_auxFunction = tmp4_6;
_l_var1 = omc_CodegenCFunctions_daeExpAsLValue(threadData, _OMC_LIT20, _i_A, _a_context, _a_preExp, _a_varDecls, _a_auxFunction ,&_a_preExp ,&_a_varDecls ,&_a_auxFunction);
_l_arr__tp__str = omc_CodegenCFunctions_expTypeFromExpArray(threadData, _OMC_LIT20, _i_A);
_l_tvar = omc_CodegenCFunctions_tempDecl(threadData, _OMC_LIT20, omc_Tpl_textString(threadData, _l_arr__tp__str), _a_varDecls ,&_a_varDecls);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT790);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _l_arr__tp__str);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT298);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _l_var1);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT123);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _l_tvar);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT290);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT89);
_txt = omc_Tpl_writeText(threadData, _txt, _l_tvar);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_preExp;
tmpMeta[0+2] = _a_varDecls;
tmpMeta[0+3] = _a_auxFunction;
goto tmp3_done;
}
case 50: {
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,13,3) == 0) goto tmp3_end;
tmpMeta[4] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[4],1,1) == 0) goto tmp3_end;
tmpMeta[5] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[4]), 2));
if (4 != MMC_STRLEN(tmpMeta[5]) || strcmp(MMC_STRINGDATA(_OMC_LIT867), MMC_STRINGDATA(tmpMeta[5])) != 0) goto tmp3_end;
tmpMeta[6] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 3));
if (listEmpty(tmpMeta[6])) goto tmp3_end;
tmpMeta[7] = MMC_CAR(tmpMeta[6]);
tmpMeta[8] = MMC_CDR(tmpMeta[6]);
if (!listEmpty(tmpMeta[8])) goto tmp3_end;
_i_A = tmpMeta[7];
_txt = tmp4_1;
_a_context = tmp4_3;
_a_preExp = tmp4_4;
_a_varDecls = tmp4_5;
_a_auxFunction = tmp4_6;
_l_var1 = omc_CodegenCFunctions_daeExpAsLValue(threadData, _OMC_LIT20, _i_A, _a_context, _a_preExp, _a_varDecls, _a_auxFunction ,&_a_preExp ,&_a_varDecls ,&_a_auxFunction);
_l_arr__tp__str = omc_CodegenCFunctions_expTypeFromExpArray(threadData, _OMC_LIT20, _i_A);
_l_tvar = omc_CodegenCFunctions_tempDecl(threadData, _OMC_LIT20, omc_Tpl_textString(threadData, _l_arr__tp__str), _a_varDecls ,&_a_varDecls);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT792);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _l_arr__tp__str);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT298);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _l_var1);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT123);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _l_tvar);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT290);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT89);
_txt = omc_Tpl_writeText(threadData, _txt, _l_tvar);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_preExp;
tmpMeta[0+2] = _a_varDecls;
tmpMeta[0+3] = _a_auxFunction;
goto tmp3_done;
}
case 51: {
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,13,3) == 0) goto tmp3_end;
tmpMeta[4] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[4],1,1) == 0) goto tmp3_end;
tmpMeta[5] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[4]), 2));
if (5 != MMC_STRLEN(tmpMeta[5]) || strcmp(MMC_STRINGDATA(_OMC_LIT868), MMC_STRINGDATA(tmpMeta[5])) != 0) goto tmp3_end;
tmpMeta[6] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 3));
if (listEmpty(tmpMeta[6])) goto tmp3_end;
tmpMeta[7] = MMC_CAR(tmpMeta[6]);
tmpMeta[8] = MMC_CDR(tmpMeta[6]);
if (listEmpty(tmpMeta[8])) goto tmp3_end;
tmpMeta[9] = MMC_CAR(tmpMeta[8]);
tmpMeta[10] = MMC_CDR(tmpMeta[8]);
if (!listEmpty(tmpMeta[10])) goto tmp3_end;
_i_v1 = tmpMeta[7];
_i_v2 = tmpMeta[9];
_txt = tmp4_1;
_a_context = tmp4_3;
_a_preExp = tmp4_4;
_a_varDecls = tmp4_5;
_a_auxFunction = tmp4_6;
_l_var1 = omc_CodegenCFunctions_daeExpAsLValue(threadData, _OMC_LIT20, _i_v1, _a_context, _a_preExp, _a_varDecls, _a_auxFunction ,&_a_preExp ,&_a_varDecls ,&_a_auxFunction);
_l_var2 = omc_CodegenCFunctions_daeExpAsLValue(threadData, _OMC_LIT20, _i_v2, _a_context, _a_preExp, _a_varDecls, _a_auxFunction ,&_a_preExp ,&_a_varDecls ,&_a_auxFunction);
_l_arr__tp__str = omc_CodegenCFunctions_expTypeFromExpArray(threadData, _OMC_LIT20, _i_v1);
_l_tvar = omc_CodegenCFunctions_tempDecl(threadData, _OMC_LIT20, omc_Tpl_textString(threadData, _l_arr__tp__str), _a_varDecls ,&_a_varDecls);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT794);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _l_arr__tp__str);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT298);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _l_var1);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT123);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _l_var2);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT123);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _l_tvar);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT290);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT89);
_txt = omc_Tpl_writeText(threadData, _txt, _l_tvar);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_preExp;
tmpMeta[0+2] = _a_varDecls;
tmpMeta[0+3] = _a_auxFunction;
goto tmp3_done;
}
case 52: {
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,13,3) == 0) goto tmp3_end;
tmpMeta[4] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[4],1,1) == 0) goto tmp3_end;
tmpMeta[5] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[4]), 2));
if (8 != MMC_STRLEN(tmpMeta[5]) || strcmp(MMC_STRINGDATA(_OMC_LIT869), MMC_STRINGDATA(tmpMeta[5])) != 0) goto tmp3_end;
tmpMeta[6] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 3));
if (listEmpty(tmpMeta[6])) goto tmp3_end;
tmpMeta[7] = MMC_CAR(tmpMeta[6]);
tmpMeta[8] = MMC_CDR(tmpMeta[6]);
if (!listEmpty(tmpMeta[8])) goto tmp3_end;
_i_A = tmpMeta[7];
_txt = tmp4_1;
_a_context = tmp4_3;
_a_preExp = tmp4_4;
_a_varDecls = tmp4_5;
_a_auxFunction = tmp4_6;
_l_var1 = omc_CodegenCFunctions_daeExpAsLValue(threadData, _OMC_LIT20, _i_A, _a_context, _a_preExp, _a_varDecls, _a_auxFunction ,&_a_preExp ,&_a_varDecls ,&_a_auxFunction);
_l_arr__tp__str = omc_CodegenCFunctions_expTypeFromExpArray(threadData, _OMC_LIT20, _i_A);
_l_tvar = omc_CodegenCFunctions_tempDecl(threadData, _OMC_LIT20, omc_Tpl_textString(threadData, _l_arr__tp__str), _a_varDecls ,&_a_varDecls);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT796);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _l_arr__tp__str);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT68);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _l_var1);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT123);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _l_tvar);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT290);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT89);
_txt = omc_Tpl_writeText(threadData, _txt, _l_tvar);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_preExp;
tmpMeta[0+2] = _a_varDecls;
tmpMeta[0+3] = _a_auxFunction;
goto tmp3_done;
}
case 53: {
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,13,3) == 0) goto tmp3_end;
tmpMeta[4] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[4],1,1) == 0) goto tmp3_end;
tmpMeta[5] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[4]), 2));
if (8 != MMC_STRLEN(tmpMeta[5]) || strcmp(MMC_STRINGDATA(_OMC_LIT870), MMC_STRINGDATA(tmpMeta[5])) != 0) goto tmp3_end;
tmpMeta[6] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 3));
if (listEmpty(tmpMeta[6])) goto tmp3_end;
tmpMeta[7] = MMC_CAR(tmpMeta[6]);
tmpMeta[8] = MMC_CDR(tmpMeta[6]);
if (!listEmpty(tmpMeta[8])) goto tmp3_end;
_i_A = tmpMeta[7];
_txt = tmp4_1;
_a_context = tmp4_3;
_a_preExp = tmp4_4;
_a_varDecls = tmp4_5;
_a_auxFunction = tmp4_6;
_l_var1 = omc_CodegenCFunctions_daeExpAsLValue(threadData, _OMC_LIT20, _i_A, _a_context, _a_preExp, _a_varDecls, _a_auxFunction ,&_a_preExp ,&_a_varDecls ,&_a_auxFunction);
_l_arr__tp__str = omc_CodegenCFunctions_expTypeFromExpArray(threadData, _OMC_LIT20, _i_A);
_l_tvar = omc_CodegenCFunctions_tempDecl(threadData, _OMC_LIT20, omc_Tpl_textString(threadData, _l_arr__tp__str), _a_varDecls ,&_a_varDecls);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT798);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _l_arr__tp__str);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT298);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _l_var1);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT123);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _l_tvar);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT290);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT89);
_txt = omc_Tpl_writeText(threadData, _txt, _l_tvar);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_preExp;
tmpMeta[0+2] = _a_varDecls;
tmpMeta[0+3] = _a_auxFunction;
goto tmp3_done;
}
case 54: {
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,13,3) == 0) goto tmp3_end;
tmpMeta[4] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[4],1,1) == 0) goto tmp3_end;
tmpMeta[5] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[4]), 2));
if (6 != MMC_STRLEN(tmpMeta[5]) || strcmp(MMC_STRINGDATA(_OMC_LIT871), MMC_STRINGDATA(tmpMeta[5])) != 0) goto tmp3_end;
tmpMeta[6] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 3));
if (listEmpty(tmpMeta[6])) goto tmp3_end;
tmpMeta[7] = MMC_CAR(tmpMeta[6]);
tmpMeta[8] = MMC_CDR(tmpMeta[6]);
if (listEmpty(tmpMeta[8])) goto tmp3_end;
tmpMeta[9] = MMC_CAR(tmpMeta[8]);
tmpMeta[10] = MMC_CDR(tmpMeta[8]);
if (!listEmpty(tmpMeta[10])) goto tmp3_end;
_i_s = tmpMeta[7];
_i_format = tmpMeta[9];
_txt = tmp4_1;
_a_context = tmp4_3;
_a_preExp = tmp4_4;
_a_varDecls = tmp4_5;
_a_auxFunction = tmp4_6;
_l_tvar = omc_CodegenCFunctions_tempDecl(threadData, _OMC_LIT20, _OMC_LIT799, _a_varDecls ,&_a_varDecls);
_l_sExp = omc_CodegenCFunctions_daeExp(threadData, _OMC_LIT20, _i_s, _a_context, _a_preExp, _a_varDecls, _a_auxFunction ,&_a_preExp ,&_a_varDecls ,&_a_auxFunction);
_l_formatExp = omc_CodegenCFunctions_daeExp(threadData, _OMC_LIT20, _i_format, _a_context, _a_preExp, _a_varDecls, _a_auxFunction ,&_a_preExp ,&_a_varDecls ,&_a_auxFunction);
_l_typeStr = omc_CodegenCFunctions_expTypeFromExpModelica(threadData, _OMC_LIT20, _i_s);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _l_tvar);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT121);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _l_typeStr);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT801);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _l_sExp);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT292);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _l_formatExp);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT290);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT89);
_txt = omc_Tpl_writeText(threadData, _txt, _l_tvar);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_preExp;
tmpMeta[0+2] = _a_varDecls;
tmpMeta[0+3] = _a_auxFunction;
goto tmp3_done;
}
case 55: {
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,13,3) == 0) goto tmp3_end;
tmpMeta[4] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[4],1,1) == 0) goto tmp3_end;
tmpMeta[5] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[4]), 2));
if (6 != MMC_STRLEN(tmpMeta[5]) || strcmp(MMC_STRINGDATA(_OMC_LIT871), MMC_STRINGDATA(tmpMeta[5])) != 0) goto tmp3_end;
tmpMeta[6] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 3));
if (listEmpty(tmpMeta[6])) goto tmp3_end;
tmpMeta[7] = MMC_CAR(tmpMeta[6]);
tmpMeta[8] = MMC_CDR(tmpMeta[6]);
if (listEmpty(tmpMeta[8])) goto tmp3_end;
tmpMeta[9] = MMC_CAR(tmpMeta[8]);
tmpMeta[10] = MMC_CDR(tmpMeta[8]);
if (listEmpty(tmpMeta[10])) goto tmp3_end;
tmpMeta[11] = MMC_CAR(tmpMeta[10]);
tmpMeta[12] = MMC_CDR(tmpMeta[10]);
if (!listEmpty(tmpMeta[12])) goto tmp3_end;
_i_s = tmpMeta[7];
_i_minlen = tmpMeta[9];
_i_leftjust = tmpMeta[11];
_txt = tmp4_1;
_a_context = tmp4_3;
_a_preExp = tmp4_4;
_a_varDecls = tmp4_5;
_a_auxFunction = tmp4_6;
_l_tvar = omc_CodegenCFunctions_tempDecl(threadData, _OMC_LIT20, _OMC_LIT799, _a_varDecls ,&_a_varDecls);
_l_sExp = omc_CodegenCFunctions_daeExp(threadData, _OMC_LIT20, _i_s, _a_context, _a_preExp, _a_varDecls, _a_auxFunction ,&_a_preExp ,&_a_varDecls ,&_a_auxFunction);
_l_minlenExp = omc_CodegenCFunctions_daeExp(threadData, _OMC_LIT20, _i_minlen, _a_context, _a_preExp, _a_varDecls, _a_auxFunction ,&_a_preExp ,&_a_varDecls ,&_a_auxFunction);
_l_leftjustExp = omc_CodegenCFunctions_daeExp(threadData, _OMC_LIT20, _i_leftjust, _a_context, _a_preExp, _a_varDecls, _a_auxFunction ,&_a_preExp ,&_a_varDecls ,&_a_auxFunction);
_ret_75 = omc_Expression_typeof(threadData, _i_s);
_l_enumStr = omc_CodegenCFunctions_fun__958(threadData, _OMC_LIT20, _ret_75, _a_varDecls ,&_a_varDecls);
_l_typeStr = omc_CodegenCFunctions_fun__959(threadData, _OMC_LIT20, _l_enumStr, _i_s);
_str_76 = omc_Tpl_textString(threadData, _l_typeStr);
_txt = omc_CodegenCFunctions_fun__960(threadData, _txt, _str_76, _l_enumStr, _l_leftjustExp, _l_minlenExp, _l_sExp, _l_typeStr, _l_tvar, _a_preExp ,&_a_preExp);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_preExp;
tmpMeta[0+2] = _a_varDecls;
tmpMeta[0+3] = _a_auxFunction;
goto tmp3_done;
}
case 56: {
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,13,3) == 0) goto tmp3_end;
tmpMeta[4] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[4],1,1) == 0) goto tmp3_end;
tmpMeta[5] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[4]), 2));
if (6 != MMC_STRLEN(tmpMeta[5]) || strcmp(MMC_STRINGDATA(_OMC_LIT871), MMC_STRINGDATA(tmpMeta[5])) != 0) goto tmp3_end;
tmpMeta[6] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 3));
if (listEmpty(tmpMeta[6])) goto tmp3_end;
tmpMeta[7] = MMC_CAR(tmpMeta[6]);
tmpMeta[8] = MMC_CDR(tmpMeta[6]);
if (listEmpty(tmpMeta[8])) goto tmp3_end;
tmpMeta[9] = MMC_CAR(tmpMeta[8]);
tmpMeta[10] = MMC_CDR(tmpMeta[8]);
if (listEmpty(tmpMeta[10])) goto tmp3_end;
tmpMeta[11] = MMC_CAR(tmpMeta[10]);
tmpMeta[12] = MMC_CDR(tmpMeta[10]);
if (listEmpty(tmpMeta[12])) goto tmp3_end;
tmpMeta[13] = MMC_CAR(tmpMeta[12]);
tmpMeta[14] = MMC_CDR(tmpMeta[12]);
if (!listEmpty(tmpMeta[14])) goto tmp3_end;
_i_s = tmpMeta[7];
_i_signdig = tmpMeta[9];
_i_minlen = tmpMeta[11];
_i_leftjust = tmpMeta[13];
_txt = tmp4_1;
_a_context = tmp4_3;
_a_preExp = tmp4_4;
_a_varDecls = tmp4_5;
_a_auxFunction = tmp4_6;
_l_tvar = omc_CodegenCFunctions_tempDecl(threadData, _OMC_LIT20, _OMC_LIT799, _a_varDecls ,&_a_varDecls);
_l_sExp = omc_CodegenCFunctions_daeExp(threadData, _OMC_LIT20, _i_s, _a_context, _a_preExp, _a_varDecls, _a_auxFunction ,&_a_preExp ,&_a_varDecls ,&_a_auxFunction);
_l_minlenExp = omc_CodegenCFunctions_daeExp(threadData, _OMC_LIT20, _i_minlen, _a_context, _a_preExp, _a_varDecls, _a_auxFunction ,&_a_preExp ,&_a_varDecls ,&_a_auxFunction);
_l_leftjustExp = omc_CodegenCFunctions_daeExp(threadData, _OMC_LIT20, _i_leftjust, _a_context, _a_preExp, _a_varDecls, _a_auxFunction ,&_a_preExp ,&_a_varDecls ,&_a_auxFunction);
_l_signdigExp = omc_CodegenCFunctions_daeExp(threadData, _OMC_LIT20, _i_signdig, _a_context, _a_preExp, _a_varDecls, _a_auxFunction ,&_a_preExp ,&_a_varDecls ,&_a_auxFunction);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _l_tvar);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT803);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _l_sExp);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT292);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _l_signdigExp);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT292);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _l_minlenExp);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT292);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _l_leftjustExp);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT290);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT89);
_txt = omc_Tpl_writeText(threadData, _txt, _l_tvar);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_preExp;
tmpMeta[0+2] = _a_varDecls;
tmpMeta[0+3] = _a_auxFunction;
goto tmp3_done;
}
case 57: {
modelica_integer tmp7;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,13,3) == 0) goto tmp3_end;
tmpMeta[4] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[4],1,1) == 0) goto tmp3_end;
tmpMeta[5] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[4]), 2));
if (5 != MMC_STRLEN(tmpMeta[5]) || strcmp(MMC_STRINGDATA(_OMC_LIT872), MMC_STRINGDATA(tmpMeta[5])) != 0) goto tmp3_end;
tmpMeta[6] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 3));
if (listEmpty(tmpMeta[6])) goto tmp3_end;
tmpMeta[7] = MMC_CAR(tmpMeta[6]);
tmpMeta[8] = MMC_CDR(tmpMeta[6]);
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[7],0,1) == 0) goto tmp3_end;
tmpMeta[9] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[7]), 2));
tmp7 = mmc_unbox_integer(tmpMeta[9]);
if (listEmpty(tmpMeta[8])) goto tmp3_end;
tmpMeta[10] = MMC_CAR(tmpMeta[8]);
tmpMeta[11] = MMC_CDR(tmpMeta[8]);
if (listEmpty(tmpMeta[11])) goto tmp3_end;
tmpMeta[12] = MMC_CAR(tmpMeta[11]);
tmpMeta[13] = MMC_CDR(tmpMeta[11]);
if (listEmpty(tmpMeta[13])) goto tmp3_end;
tmpMeta[14] = MMC_CAR(tmpMeta[13]);
tmpMeta[15] = MMC_CDR(tmpMeta[13]);
if (!listEmpty(tmpMeta[15])) goto tmp3_end;
_i_index_1 = tmp7;
_i_e = tmpMeta[10];
_i_d = tmpMeta[12];
_i_delayMax = tmpMeta[14];
_txt = tmp4_1;
_a_context = tmp4_3;
_a_preExp = tmp4_4;
_a_varDecls = tmp4_5;
_a_auxFunction = tmp4_6;
_l_tvar = omc_CodegenCFunctions_tempDecl(threadData, _OMC_LIT20, _OMC_LIT704, _a_varDecls ,&_a_varDecls);
_l_var1 = omc_CodegenCFunctions_daeExp(threadData, _OMC_LIT20, _i_e, _a_context, _a_preExp, _a_varDecls, _a_auxFunction ,&_a_preExp ,&_a_varDecls ,&_a_auxFunction);
_l_var2 = omc_CodegenCFunctions_daeExp(threadData, _OMC_LIT20, _i_d, _a_context, _a_preExp, _a_varDecls, _a_auxFunction ,&_a_preExp ,&_a_varDecls ,&_a_auxFunction);
_l_var3 = omc_CodegenCFunctions_daeExp(threadData, _OMC_LIT20, _i_delayMax, _a_context, _a_preExp, _a_varDecls, _a_auxFunction ,&_a_preExp ,&_a_varDecls ,&_a_auxFunction);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _l_tvar);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT805);
_a_preExp = omc_Tpl_writeStr(threadData, _a_preExp, intString(_i_index_1));
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT292);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _l_var1);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT807);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _l_var2);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT292);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _l_var3);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT290);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT89);
_txt = omc_Tpl_writeText(threadData, _txt, _l_tvar);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_preExp;
tmpMeta[0+2] = _a_varDecls;
tmpMeta[0+3] = _a_auxFunction;
goto tmp3_done;
}
case 58: {
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,13,3) == 0) goto tmp3_end;
tmpMeta[4] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[4],1,1) == 0) goto tmp3_end;
tmpMeta[5] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[4]), 2));
if (7 != MMC_STRLEN(tmpMeta[5]) || strcmp(MMC_STRINGDATA(_OMC_LIT873), MMC_STRINGDATA(tmpMeta[5])) != 0) goto tmp3_end;
tmpMeta[6] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 3));
if (listEmpty(tmpMeta[6])) goto tmp3_end;
tmpMeta[7] = MMC_CAR(tmpMeta[6]);
tmpMeta[8] = MMC_CDR(tmpMeta[6]);
if (!listEmpty(tmpMeta[8])) goto tmp3_end;
_i_toBeCasted = tmpMeta[7];
_txt = tmp4_1;
_a_context = tmp4_3;
_a_preExp = tmp4_4;
_a_varDecls = tmp4_5;
_a_auxFunction = tmp4_6;
_l_castedVar = omc_CodegenCFunctions_daeExp(threadData, _OMC_LIT20, _i_toBeCasted, _a_context, _a_preExp, _a_varDecls, _a_auxFunction ,&_a_preExp ,&_a_varDecls ,&_a_auxFunction);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT809);
_txt = omc_Tpl_writeText(threadData, _txt, _l_castedVar);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT600);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_preExp;
tmpMeta[0+2] = _a_varDecls;
tmpMeta[0+3] = _a_auxFunction;
goto tmp3_done;
}
case 59: {
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,13,3) == 0) goto tmp3_end;
tmpMeta[4] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[4],1,1) == 0) goto tmp3_end;
tmpMeta[5] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[4]), 2));
if (5 != MMC_STRLEN(tmpMeta[5]) || strcmp(MMC_STRINGDATA(_OMC_LIT874), MMC_STRINGDATA(tmpMeta[5])) != 0) goto tmp3_end;
tmpMeta[6] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 3));
if (!listEmpty(tmpMeta[6])) goto tmp3_end;
_txt = tmp4_1;
_a_preExp = tmp4_4;
_a_varDecls = tmp4_5;
_a_auxFunction = tmp4_6;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT811);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_preExp;
tmpMeta[0+2] = _a_varDecls;
tmpMeta[0+3] = _a_auxFunction;
goto tmp3_done;
}
case 60: {
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,13,3) == 0) goto tmp3_end;
tmpMeta[4] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[4],1,1) == 0) goto tmp3_end;
tmpMeta[5] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[4]), 2));
if (7 != MMC_STRLEN(tmpMeta[5]) || strcmp(MMC_STRINGDATA(_OMC_LIT875), MMC_STRINGDATA(tmpMeta[5])) != 0) goto tmp3_end;
tmpMeta[6] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 3));
if (listEmpty(tmpMeta[6])) goto tmp3_end;
tmpMeta[7] = MMC_CAR(tmpMeta[6]);
tmpMeta[8] = MMC_CDR(tmpMeta[6]);
if (!listEmpty(tmpMeta[8])) goto tmp3_end;
_i_e1 = tmpMeta[7];
_txt = tmp4_1;
_a_context = tmp4_3;
_a_preExp = tmp4_4;
_a_varDecls = tmp4_5;
_a_auxFunction = tmp4_6;
tmpMeta[0+0] = omc_CodegenCFunctions_daeExp(threadData, _txt, _i_e1, _a_context, _a_preExp, _a_varDecls, _a_auxFunction, &tmpMeta[0+1], &tmpMeta[0+2], &tmpMeta[0+3]);
goto tmp3_done;
}
case 61: {
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,13,3) == 0) goto tmp3_end;
tmpMeta[4] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[4],1,1) == 0) goto tmp3_end;
tmpMeta[5] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[4]), 2));
if (8 != MMC_STRLEN(tmpMeta[5]) || strcmp(MMC_STRINGDATA(_OMC_LIT876), MMC_STRINGDATA(tmpMeta[5])) != 0) goto tmp3_end;
tmpMeta[6] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 3));
if (listEmpty(tmpMeta[6])) goto tmp3_end;
tmpMeta[7] = MMC_CAR(tmpMeta[6]);
tmpMeta[8] = MMC_CDR(tmpMeta[6]);
if (!listEmpty(tmpMeta[8])) goto tmp3_end;
_i_e1 = tmpMeta[7];
_txt = tmp4_1;
_a_context = tmp4_3;
_a_preExp = tmp4_4;
_a_varDecls = tmp4_5;
_a_auxFunction = tmp4_6;
tmpMeta[0+0] = omc_CodegenCFunctions_daeExp(threadData, _txt, _i_e1, _a_context, _a_preExp, _a_varDecls, _a_auxFunction, &tmpMeta[0+1], &tmpMeta[0+2], &tmpMeta[0+3]);
goto tmp3_done;
}
case 62: {
modelica_integer tmp8;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,13,3) == 0) goto tmp3_end;
tmpMeta[4] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[4],1,1) == 0) goto tmp3_end;
tmpMeta[5] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[4]), 2));
if (18 != MMC_STRLEN(tmpMeta[5]) || strcmp(MMC_STRINGDATA(_OMC_LIT877), MMC_STRINGDATA(tmpMeta[5])) != 0) goto tmp3_end;
tmpMeta[6] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 3));
if (listEmpty(tmpMeta[6])) goto tmp3_end;
tmpMeta[7] = MMC_CAR(tmpMeta[6]);
tmpMeta[8] = MMC_CDR(tmpMeta[6]);
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[7],0,1) == 0) goto tmp3_end;
tmpMeta[9] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[7]), 2));
tmp8 = mmc_unbox_integer(tmpMeta[9]);
_i_setIndex = tmp8;
_txt = tmp4_1;
_a_preExp = tmp4_4;
_a_varDecls = tmp4_5;
_a_auxFunction = tmp4_6;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT813);
_txt = omc_Tpl_writeStr(threadData, _txt, intString(_i_setIndex));
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT815);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_preExp;
tmpMeta[0+2] = _a_varDecls;
tmpMeta[0+3] = _a_auxFunction;
goto tmp3_done;
}
case 63: {
modelica_integer tmp9;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,13,3) == 0) goto tmp3_end;
tmpMeta[4] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[4],1,1) == 0) goto tmp3_end;
tmpMeta[5] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[4]), 2));
if (22 != MMC_STRLEN(tmpMeta[5]) || strcmp(MMC_STRINGDATA(_OMC_LIT878), MMC_STRINGDATA(tmpMeta[5])) != 0) goto tmp3_end;
tmpMeta[6] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 3));
if (listEmpty(tmpMeta[6])) goto tmp3_end;
tmpMeta[7] = MMC_CAR(tmpMeta[6]);
tmpMeta[8] = MMC_CDR(tmpMeta[6]);
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[7],0,1) == 0) goto tmp3_end;
tmpMeta[9] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[7]), 2));
tmp9 = mmc_unbox_integer(tmpMeta[9]);
_i_setIndex = tmp9;
_txt = tmp4_1;
_a_preExp = tmp4_4;
_a_varDecls = tmp4_5;
_a_auxFunction = tmp4_6;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT817);
_txt = omc_Tpl_writeStr(threadData, _txt, intString(_i_setIndex));
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT815);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_preExp;
tmpMeta[0+2] = _a_varDecls;
tmpMeta[0+3] = _a_auxFunction;
goto tmp3_done;
}
case 64: {
modelica_integer tmp10;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,13,3) == 0) goto tmp3_end;
tmpMeta[4] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[4],1,1) == 0) goto tmp3_end;
tmpMeta[5] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[4]), 2));
if (6 != MMC_STRLEN(tmpMeta[5]) || strcmp(MMC_STRINGDATA(_OMC_LIT879), MMC_STRINGDATA(tmpMeta[5])) != 0) goto tmp3_end;
tmpMeta[6] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 3));
if (listEmpty(tmpMeta[6])) goto tmp3_end;
tmpMeta[7] = MMC_CAR(tmpMeta[6]);
tmpMeta[8] = MMC_CDR(tmpMeta[6]);
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[7],0,1) == 0) goto tmp3_end;
tmpMeta[9] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[7]), 2));
tmp10 = mmc_unbox_integer(tmpMeta[9]);
if (listEmpty(tmpMeta[8])) goto tmp3_end;
tmpMeta[10] = MMC_CAR(tmpMeta[8]);
tmpMeta[11] = MMC_CDR(tmpMeta[8]);
if (listEmpty(tmpMeta[11])) goto tmp3_end;
tmpMeta[12] = MMC_CAR(tmpMeta[11]);
tmpMeta[13] = MMC_CDR(tmpMeta[11]);
if (!listEmpty(tmpMeta[13])) goto tmp3_end;
_i_index_1 = tmp10;
_txt = tmp4_1;
_a_preExp = tmp4_4;
_a_varDecls = tmp4_5;
_a_auxFunction = tmp4_6;
_ret_80 = omc_Config_simCodeTarget(threadData);
_txt = omc_CodegenCFunctions_fun__961(threadData, _txt, _ret_80, _i_index_1);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_preExp;
tmpMeta[0+2] = _a_varDecls;
tmpMeta[0+3] = _a_auxFunction;
goto tmp3_done;
}
case 65: {
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,13,3) == 0) goto tmp3_end;
tmpMeta[4] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[4],1,1) == 0) goto tmp3_end;
tmpMeta[5] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[4]), 2));
if (9 != MMC_STRLEN(tmpMeta[5]) || strcmp(MMC_STRINGDATA(_OMC_LIT880), MMC_STRINGDATA(tmpMeta[5])) != 0) goto tmp3_end;
tmpMeta[6] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 3));
if (listEmpty(tmpMeta[6])) goto tmp3_end;
tmpMeta[7] = MMC_CAR(tmpMeta[6]);
tmpMeta[8] = MMC_CDR(tmpMeta[6]);
if (!listEmpty(tmpMeta[8])) goto tmp3_end;
_i_e1 = tmpMeta[7];
_txt = tmp4_1;
_a_context = tmp4_3;
_a_preExp = tmp4_4;
_a_varDecls = tmp4_5;
_a_auxFunction = tmp4_6;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT819);
_txt = omc_CodegenCFunctions_daeExp(threadData, _txt, _i_e1, _a_context, _a_preExp, _a_varDecls, _a_auxFunction ,&_a_preExp ,&_a_varDecls ,&_a_auxFunction);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT78);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_preExp;
tmpMeta[0+2] = _a_varDecls;
tmpMeta[0+3] = _a_auxFunction;
goto tmp3_done;
}
case 66: {
modelica_integer tmp11;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,13,3) == 0) goto tmp3_end;
tmpMeta[4] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[4],1,1) == 0) goto tmp3_end;
tmpMeta[5] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[4]), 2));
if (4 != MMC_STRLEN(tmpMeta[5]) || strcmp(MMC_STRINGDATA(_OMC_LIT881), MMC_STRINGDATA(tmpMeta[5])) != 0) goto tmp3_end;
tmpMeta[6] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 4));
tmpMeta[7] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[6]), 4));
tmp11 = mmc_unbox_integer(tmpMeta[7]);
if (1 != tmp11) goto tmp3_end;
_txt = tmp4_1;
_a_preExp = tmp4_4;
_a_varDecls = tmp4_5;
_a_auxFunction = tmp4_6;
_txt = omc_CodegenCFunctions_generateThrow(threadData, _txt);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_preExp;
tmpMeta[0+2] = _a_varDecls;
tmpMeta[0+3] = _a_auxFunction;
goto tmp3_done;
}
case 67: {
modelica_integer tmp12;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,13,3) == 0) goto tmp3_end;
tmpMeta[4] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[4],1,1) == 0) goto tmp3_end;
tmpMeta[5] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[4]), 2));
if (13 != MMC_STRLEN(tmpMeta[5]) || strcmp(MMC_STRINGDATA(_OMC_LIT882), MMC_STRINGDATA(tmpMeta[5])) != 0) goto tmp3_end;
tmpMeta[6] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 3));
if (listEmpty(tmpMeta[6])) goto tmp3_end;
tmpMeta[7] = MMC_CAR(tmpMeta[6]);
tmpMeta[8] = MMC_CDR(tmpMeta[6]);
if (listEmpty(tmpMeta[8])) goto tmp3_end;
tmpMeta[9] = MMC_CAR(tmpMeta[8]);
tmpMeta[10] = MMC_CDR(tmpMeta[8]);
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[9],0,1) == 0) goto tmp3_end;
tmpMeta[11] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[9]), 2));
tmp12 = mmc_unbox_integer(tmpMeta[11]);
if (!listEmpty(tmpMeta[10])) goto tmp3_end;
_i_s1 = tmpMeta[7];
_i_i = tmp12;
_txt = tmp4_1;
_a_context = tmp4_3;
_a_preExp = tmp4_4;
_a_varDecls = tmp4_5;
_a_auxFunction = tmp4_6;
_l_tvar = omc_CodegenCFunctions_tempDecl(threadData, _OMC_LIT20, _OMC_LIT311, _a_varDecls ,&_a_varDecls);
_l_expPart = omc_CodegenCFunctions_daeExp(threadData, _OMC_LIT20, _i_s1, _a_context, _a_preExp, _a_varDecls, _a_auxFunction ,&_a_preExp ,&_a_varDecls ,&_a_auxFunction);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _l_tvar);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT821);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _l_expPart);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT522);
_a_preExp = omc_Tpl_writeStr(threadData, _a_preExp, intString(_i_i));
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT823);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT89);
_txt = omc_Tpl_writeText(threadData, _txt, _l_tvar);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_preExp;
tmpMeta[0+2] = _a_varDecls;
tmpMeta[0+3] = _a_auxFunction;
goto tmp3_done;
}
case 68: {
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,13,3) == 0) goto tmp3_end;
tmpMeta[4] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[4],1,1) == 0) goto tmp3_end;
tmpMeta[5] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[4]), 2));
if (16 != MMC_STRLEN(tmpMeta[5]) || strcmp(MMC_STRINGDATA(_OMC_LIT883), MMC_STRINGDATA(tmpMeta[5])) != 0) goto tmp3_end;
tmpMeta[6] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 3));
if (listEmpty(tmpMeta[6])) goto tmp3_end;
tmpMeta[7] = MMC_CAR(tmpMeta[6]);
tmpMeta[8] = MMC_CDR(tmpMeta[6]);
if (!listEmpty(tmpMeta[8])) goto tmp3_end;
tmpMeta[9] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 4));
tmpMeta[10] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[9]), 2));
_i_s1 = tmpMeta[7];
_i_ty = tmpMeta[10];
_txt = tmp4_1;
_a_context = tmp4_3;
_a_preExp = tmp4_4;
_a_varDecls = tmp4_5;
_a_auxFunction = tmp4_6;
_l_argStr = omc_CodegenCFunctions_daeExp(threadData, _OMC_LIT20, _i_s1, _a_context, _a_preExp, _a_varDecls, _a_auxFunction ,&_a_preExp ,&_a_varDecls ,&_a_auxFunction);
_txt = omc_CodegenCFunctions_unboxRecord(threadData, _txt, omc_Tpl_textString(threadData, _l_argStr), _i_ty, _a_preExp, _a_varDecls ,&_a_preExp ,&_a_varDecls);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_preExp;
tmpMeta[0+2] = _a_varDecls;
tmpMeta[0+3] = _a_auxFunction;
goto tmp3_done;
}
case 69: {
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,13,3) == 0) goto tmp3_end;
tmpMeta[4] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[4],1,1) == 0) goto tmp3_end;
tmpMeta[5] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[4]), 2));
if (10 != MMC_STRLEN(tmpMeta[5]) || strcmp(MMC_STRINGDATA(_OMC_LIT628), MMC_STRINGDATA(tmpMeta[5])) != 0) goto tmp3_end;
_txt = tmp4_1;
_a_preExp = tmp4_4;
_a_varDecls = tmp4_5;
_a_auxFunction = tmp4_6;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT629);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_preExp;
tmpMeta[0+2] = _a_varDecls;
tmpMeta[0+3] = _a_auxFunction;
goto tmp3_done;
}
case 70: {
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,13,3) == 0) goto tmp3_end;
tmpMeta[4] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[4],1,1) == 0) goto tmp3_end;
tmpMeta[5] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[4]), 2));
if (9 != MMC_STRLEN(tmpMeta[5]) || strcmp(MMC_STRINGDATA(_OMC_LIT884), MMC_STRINGDATA(tmpMeta[5])) != 0) goto tmp3_end;
tmpMeta[6] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 3));
if (listEmpty(tmpMeta[6])) goto tmp3_end;
tmpMeta[7] = MMC_CAR(tmpMeta[6]);
tmpMeta[8] = MMC_CDR(tmpMeta[6]);
if (!listEmpty(tmpMeta[8])) goto tmp3_end;
_i_e = tmpMeta[7];
_txt = tmp4_1;
_a_context = tmp4_3;
_a_preExp = tmp4_4;
_a_varDecls = tmp4_5;
_a_auxFunction = tmp4_6;
_l_e1 = omc_CodegenCFunctions_daeExp(threadData, _OMC_LIT20, _i_e, _a_context, _a_preExp, _a_varDecls, _a_auxFunction ,&_a_preExp ,&_a_varDecls ,&_a_auxFunction);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT825);
_txt = omc_Tpl_writeText(threadData, _txt, _l_e1);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT78);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_preExp;
tmpMeta[0+2] = _a_varDecls;
tmpMeta[0+3] = _a_auxFunction;
goto tmp3_done;
}
case 71: {
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,13,3) == 0) goto tmp3_end;
tmpMeta[4] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[4],1,1) == 0) goto tmp3_end;
tmpMeta[5] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[4]), 2));
if (9 != MMC_STRLEN(tmpMeta[5]) || strcmp(MMC_STRINGDATA(_OMC_LIT884), MMC_STRINGDATA(tmpMeta[5])) != 0) goto tmp3_end;
tmpMeta[6] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 3));
if (listEmpty(tmpMeta[6])) goto tmp3_end;
tmpMeta[7] = MMC_CAR(tmpMeta[6]);
tmpMeta[8] = MMC_CDR(tmpMeta[6]);
if (listEmpty(tmpMeta[8])) goto tmp3_end;
tmpMeta[9] = MMC_CAR(tmpMeta[8]);
tmpMeta[10] = MMC_CDR(tmpMeta[8]);
if (!listEmpty(tmpMeta[10])) goto tmp3_end;
_i_name = tmpMeta[5];
_i_e1 = tmpMeta[7];
_i_e2 = tmpMeta[9];
_txt = tmp4_1;
_a_context = tmp4_3;
_a_preExp = tmp4_4;
_a_varDecls = tmp4_5;
_a_auxFunction = tmp4_6;
_l_i1 = omc_CodegenCFunctions_daeExp(threadData, _OMC_LIT20, _i_e1, _a_context, _a_preExp, _a_varDecls, _a_auxFunction ,&_a_preExp ,&_a_varDecls ,&_a_auxFunction);
_l_i2 = omc_CodegenCFunctions_daeExp(threadData, _OMC_LIT20, _i_e2, _a_context, _a_preExp, _a_varDecls, _a_auxFunction ,&_a_preExp ,&_a_varDecls ,&_a_auxFunction);
_l_op = omc_CodegenCFunctions_fun__962(threadData, _OMC_LIT20, _i_name);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT738);
_txt = omc_Tpl_writeText(threadData, _txt, _l_i1);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT130);
_txt = omc_Tpl_writeText(threadData, _txt, _l_op);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT328);
_txt = omc_Tpl_writeText(threadData, _txt, _l_i2);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT600);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_preExp;
tmpMeta[0+2] = _a_varDecls;
tmpMeta[0+3] = _a_auxFunction;
goto tmp3_done;
}
case 72: {
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,13,3) == 0) goto tmp3_end;
tmpMeta[4] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[4],1,1) == 0) goto tmp3_end;
tmpMeta[5] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[4]), 2));
if (9 != MMC_STRLEN(tmpMeta[5]) || strcmp(MMC_STRINGDATA(_OMC_LIT885), MMC_STRINGDATA(tmpMeta[5])) != 0) goto tmp3_end;
tmpMeta[6] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 3));
if (listEmpty(tmpMeta[6])) goto tmp3_end;
tmpMeta[7] = MMC_CAR(tmpMeta[6]);
tmpMeta[8] = MMC_CDR(tmpMeta[6]);
if (listEmpty(tmpMeta[8])) goto tmp3_end;
tmpMeta[9] = MMC_CAR(tmpMeta[8]);
tmpMeta[10] = MMC_CDR(tmpMeta[8]);
if (!listEmpty(tmpMeta[10])) goto tmp3_end;
_i_name = tmpMeta[5];
_i_e1 = tmpMeta[7];
_i_e2 = tmpMeta[9];
_txt = tmp4_1;
_a_context = tmp4_3;
_a_preExp = tmp4_4;
_a_varDecls = tmp4_5;
_a_auxFunction = tmp4_6;
_l_i1 = omc_CodegenCFunctions_daeExp(threadData, _OMC_LIT20, _i_e1, _a_context, _a_preExp, _a_varDecls, _a_auxFunction ,&_a_preExp ,&_a_varDecls ,&_a_auxFunction);
_l_i2 = omc_CodegenCFunctions_daeExp(threadData, _OMC_LIT20, _i_e2, _a_context, _a_preExp, _a_varDecls, _a_auxFunction ,&_a_preExp ,&_a_varDecls ,&_a_auxFunction);
_l_op = omc_CodegenCFunctions_fun__963(threadData, _OMC_LIT20, _i_name);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT738);
_txt = omc_Tpl_writeText(threadData, _txt, _l_i1);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT130);
_txt = omc_Tpl_writeText(threadData, _txt, _l_op);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT328);
_txt = omc_Tpl_writeText(threadData, _txt, _l_i2);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT600);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_preExp;
tmpMeta[0+2] = _a_varDecls;
tmpMeta[0+3] = _a_auxFunction;
goto tmp3_done;
}
case 73: {
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,13,3) == 0) goto tmp3_end;
tmpMeta[4] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[4],1,1) == 0) goto tmp3_end;
tmpMeta[5] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[4]), 2));
if (8 != MMC_STRLEN(tmpMeta[5]) || strcmp(MMC_STRINGDATA(_OMC_LIT886), MMC_STRINGDATA(tmpMeta[5])) != 0) goto tmp3_end;
tmpMeta[6] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 3));
if (listEmpty(tmpMeta[6])) goto tmp3_end;
tmpMeta[7] = MMC_CAR(tmpMeta[6]);
tmpMeta[8] = MMC_CDR(tmpMeta[6]);
if (listEmpty(tmpMeta[8])) goto tmp3_end;
tmpMeta[9] = MMC_CAR(tmpMeta[8]);
tmpMeta[10] = MMC_CDR(tmpMeta[8]);
if (!listEmpty(tmpMeta[10])) goto tmp3_end;
_i_name = tmpMeta[5];
_i_e1 = tmpMeta[7];
_i_e2 = tmpMeta[9];
_txt = tmp4_1;
_a_context = tmp4_3;
_a_preExp = tmp4_4;
_a_varDecls = tmp4_5;
_a_auxFunction = tmp4_6;
_l_i1 = omc_CodegenCFunctions_daeExp(threadData, _OMC_LIT20, _i_e1, _a_context, _a_preExp, _a_varDecls, _a_auxFunction ,&_a_preExp ,&_a_varDecls ,&_a_auxFunction);
_l_i2 = omc_CodegenCFunctions_daeExp(threadData, _OMC_LIT20, _i_e2, _a_context, _a_preExp, _a_varDecls, _a_auxFunction ,&_a_preExp ,&_a_varDecls ,&_a_auxFunction);
_l_op = omc_CodegenCFunctions_fun__964(threadData, _OMC_LIT20, _i_name);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT738);
_txt = omc_Tpl_writeText(threadData, _txt, _l_i1);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT130);
_txt = omc_Tpl_writeText(threadData, _txt, _l_op);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT328);
_txt = omc_Tpl_writeText(threadData, _txt, _l_i2);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT600);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_preExp;
tmpMeta[0+2] = _a_varDecls;
tmpMeta[0+3] = _a_auxFunction;
goto tmp3_done;
}
case 74: {
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,13,3) == 0) goto tmp3_end;
tmpMeta[4] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[4],1,1) == 0) goto tmp3_end;
tmpMeta[5] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[4]), 2));
if (9 != MMC_STRLEN(tmpMeta[5]) || strcmp(MMC_STRINGDATA(_OMC_LIT887), MMC_STRINGDATA(tmpMeta[5])) != 0) goto tmp3_end;
tmpMeta[6] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 3));
if (listEmpty(tmpMeta[6])) goto tmp3_end;
tmpMeta[7] = MMC_CAR(tmpMeta[6]);
tmpMeta[8] = MMC_CDR(tmpMeta[6]);
if (listEmpty(tmpMeta[8])) goto tmp3_end;
tmpMeta[9] = MMC_CAR(tmpMeta[8]);
tmpMeta[10] = MMC_CDR(tmpMeta[8]);
if (!listEmpty(tmpMeta[10])) goto tmp3_end;
_i_name = tmpMeta[5];
_i_e1 = tmpMeta[7];
_i_e2 = tmpMeta[9];
_txt = tmp4_1;
_a_context = tmp4_3;
_a_preExp = tmp4_4;
_a_varDecls = tmp4_5;
_a_auxFunction = tmp4_6;
_l_i1 = omc_CodegenCFunctions_daeExp(threadData, _OMC_LIT20, _i_e1, _a_context, _a_preExp, _a_varDecls, _a_auxFunction ,&_a_preExp ,&_a_varDecls ,&_a_auxFunction);
_l_i2 = omc_CodegenCFunctions_daeExp(threadData, _OMC_LIT20, _i_e2, _a_context, _a_preExp, _a_varDecls, _a_auxFunction ,&_a_preExp ,&_a_varDecls ,&_a_auxFunction);
_l_op = omc_CodegenCFunctions_fun__965(threadData, _OMC_LIT20, _i_name);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT738);
_txt = omc_Tpl_writeText(threadData, _txt, _l_i1);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT130);
_txt = omc_Tpl_writeText(threadData, _txt, _l_op);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT328);
_txt = omc_Tpl_writeText(threadData, _txt, _l_i2);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT600);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_preExp;
tmpMeta[0+2] = _a_varDecls;
tmpMeta[0+3] = _a_auxFunction;
goto tmp3_done;
}
case 75: {
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,13,3) == 0) goto tmp3_end;
tmpMeta[4] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[4],1,1) == 0) goto tmp3_end;
tmpMeta[5] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[4]), 2));
if (12 != MMC_STRLEN(tmpMeta[5]) || strcmp(MMC_STRINGDATA(_OMC_LIT888), MMC_STRINGDATA(tmpMeta[5])) != 0) goto tmp3_end;
tmpMeta[6] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 3));
if (listEmpty(tmpMeta[6])) goto tmp3_end;
tmpMeta[7] = MMC_CAR(tmpMeta[6]);
tmpMeta[8] = MMC_CDR(tmpMeta[6]);
if (listEmpty(tmpMeta[8])) goto tmp3_end;
tmpMeta[9] = MMC_CAR(tmpMeta[8]);
tmpMeta[10] = MMC_CDR(tmpMeta[8]);
if (!listEmpty(tmpMeta[10])) goto tmp3_end;
_i_name = tmpMeta[5];
_i_e1 = tmpMeta[7];
_i_e2 = tmpMeta[9];
_txt = tmp4_1;
_a_context = tmp4_3;
_a_preExp = tmp4_4;
_a_varDecls = tmp4_5;
_a_auxFunction = tmp4_6;
_l_i1 = omc_CodegenCFunctions_daeExp(threadData, _OMC_LIT20, _i_e1, _a_context, _a_preExp, _a_varDecls, _a_auxFunction ,&_a_preExp ,&_a_varDecls ,&_a_auxFunction);
_l_i2 = omc_CodegenCFunctions_daeExp(threadData, _OMC_LIT20, _i_e2, _a_context, _a_preExp, _a_varDecls, _a_auxFunction ,&_a_preExp ,&_a_varDecls ,&_a_auxFunction);
_l_op = omc_CodegenCFunctions_fun__966(threadData, _OMC_LIT20, _i_name);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT738);
_txt = omc_Tpl_writeText(threadData, _txt, _l_i1);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT130);
_txt = omc_Tpl_writeText(threadData, _txt, _l_op);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT328);
_txt = omc_Tpl_writeText(threadData, _txt, _l_i2);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT600);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_preExp;
tmpMeta[0+2] = _a_varDecls;
tmpMeta[0+3] = _a_auxFunction;
goto tmp3_done;
}
case 76: {
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,13,3) == 0) goto tmp3_end;
tmpMeta[4] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[4],1,1) == 0) goto tmp3_end;
tmpMeta[5] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[4]), 2));
if (12 != MMC_STRLEN(tmpMeta[5]) || strcmp(MMC_STRINGDATA(_OMC_LIT889), MMC_STRINGDATA(tmpMeta[5])) != 0) goto tmp3_end;
tmpMeta[6] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 3));
if (listEmpty(tmpMeta[6])) goto tmp3_end;
tmpMeta[7] = MMC_CAR(tmpMeta[6]);
tmpMeta[8] = MMC_CDR(tmpMeta[6]);
if (listEmpty(tmpMeta[8])) goto tmp3_end;
tmpMeta[9] = MMC_CAR(tmpMeta[8]);
tmpMeta[10] = MMC_CDR(tmpMeta[8]);
if (!listEmpty(tmpMeta[10])) goto tmp3_end;
_i_name = tmpMeta[5];
_i_e1 = tmpMeta[7];
_i_e2 = tmpMeta[9];
_txt = tmp4_1;
_a_context = tmp4_3;
_a_preExp = tmp4_4;
_a_varDecls = tmp4_5;
_a_auxFunction = tmp4_6;
_l_i1 = omc_CodegenCFunctions_daeExp(threadData, _OMC_LIT20, _i_e1, _a_context, _a_preExp, _a_varDecls, _a_auxFunction ,&_a_preExp ,&_a_varDecls ,&_a_auxFunction);
_l_i2 = omc_CodegenCFunctions_daeExp(threadData, _OMC_LIT20, _i_e2, _a_context, _a_preExp, _a_varDecls, _a_auxFunction ,&_a_preExp ,&_a_varDecls ,&_a_auxFunction);
_l_op = omc_CodegenCFunctions_fun__967(threadData, _OMC_LIT20, _i_name);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT738);
_txt = omc_Tpl_writeText(threadData, _txt, _l_i1);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT130);
_txt = omc_Tpl_writeText(threadData, _txt, _l_op);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT328);
_txt = omc_Tpl_writeText(threadData, _txt, _l_i2);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT600);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_preExp;
tmpMeta[0+2] = _a_varDecls;
tmpMeta[0+3] = _a_auxFunction;
goto tmp3_done;
}
case 77: {
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,13,3) == 0) goto tmp3_end;
tmpMeta[4] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 3));
tmpMeta[5] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 4));
tmpMeta[6] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[5]), 8));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[6],1,2) == 0) goto tmp3_end;
tmpMeta[7] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[6]), 2));
_i_expLst = tmpMeta[4];
_i_tail_vars = tmpMeta[7];
_txt = tmp4_1;
_a_context = tmp4_3;
_a_preExp = tmp4_4;
_a_varDecls = tmp4_5;
_a_auxFunction = tmp4_6;
_l_postExp = _OMC_LIT20;
_l_tail = omc_CodegenCFunctions_daeExpTailCall(threadData, _OMC_LIT20, _i_expLst, _i_tail_vars, _a_context, _a_preExp, _l_postExp, _a_varDecls, _a_auxFunction ,&_a_preExp ,&_l_postExp ,&_a_varDecls ,&_a_auxFunction);
_l_res = omc_Tpl_writeTok(threadData, _OMC_LIT20, _OMC_LIT827);
_l_res = omc_Tpl_writeText(threadData, _l_res, _l_tail);
_l_res = omc_Tpl_writeText(threadData, _l_res, _l_postExp);
_l_res = omc_Tpl_writeTok(threadData, _l_res, _OMC_LIT832);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _l_res);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_preExp;
tmpMeta[0+2] = _a_varDecls;
tmpMeta[0+3] = _a_auxFunction;
goto tmp3_done;
}
case 78: {
modelica_integer tmp13;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,13,3) == 0) goto tmp3_end;
tmpMeta[4] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
tmpMeta[5] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 4));
tmpMeta[6] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[5]), 2));
tmpMeta[7] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[5]), 4));
tmp13 = mmc_unbox_integer(tmpMeta[7]);
_i_exp = tmp4_2;
_i_exp_path = tmpMeta[4];
_i_attr_ty = tmpMeta[6];
_i_attr_builtin = tmp13;
_txt = tmp4_1;
_a_context = tmp4_3;
_a_preExp = tmp4_4;
_a_varDecls = tmp4_5;
_a_auxFunction = tmp4_6;
_l_additionalOutputs = omc_CodegenCFunctions_fun__969(threadData, _OMC_LIT20, _i_attr_ty);
_l_res = omc_CodegenCFunctions_daeExpCallTuple(threadData, _OMC_LIT20, _i_exp, _l_additionalOutputs, _a_context, _a_preExp, _a_varDecls, _a_auxFunction ,&_l_additionalOutputs ,&_a_preExp ,&_a_varDecls ,&_a_auxFunction);
_txt = omc_CodegenCFunctions_fun__975(threadData, _txt, _a_context, _a_preExp, _a_varDecls, _i_attr_ty, _i_exp_path, _i_attr_builtin, _l_res ,&_a_preExp ,&_a_varDecls);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_preExp;
tmpMeta[0+2] = _a_varDecls;
tmpMeta[0+3] = _a_auxFunction;
goto tmp3_done;
}
case 79: {
_txt = tmp4_1;
_a_preExp = tmp4_4;
_a_varDecls = tmp4_5;
_a_auxFunction = tmp4_6;
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_preExp;
tmpMeta[0+2] = _a_varDecls;
tmpMeta[0+3] = _a_auxFunction;
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta[0+0];
_out_a_preExp = tmpMeta[0+1];
_out_a_varDecls = tmpMeta[0+2];
_out_a_auxFunction = tmpMeta[0+3];
_return: OMC_LABEL_UNUSED
if (out_out_a_preExp) { *out_out_a_preExp = _out_a_preExp; }
if (out_out_a_varDecls) { *out_out_a_varDecls = _out_a_varDecls; }
if (out_out_a_auxFunction) { *out_out_a_auxFunction = _out_a_auxFunction; }
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__975(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_context, modelica_metatype _in_a_preExp, modelica_metatype _in_a_varDecls, modelica_metatype _in_a_attr_ty, modelica_metatype _in_a_exp_path, modelica_boolean _in_a_attr_builtin, modelica_metatype _in_a_res, modelica_metatype *out_out_a_preExp, modelica_metatype *out_out_a_varDecls)
{
modelica_metatype _out_txt = NULL;
modelica_metatype _out_a_preExp = NULL;
modelica_metatype _out_a_varDecls = NULL;
modelica_metatype tmpMeta[3] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_metatype tmp4_2;modelica_metatype tmp4_3;modelica_metatype tmp4_4;modelica_metatype tmp4_5;modelica_metatype tmp4_6;modelica_boolean tmp4_7;modelica_metatype tmp4_8;
tmp4_1 = _in_txt;
tmp4_2 = _in_a_context;
tmp4_3 = _in_a_preExp;
tmp4_4 = _in_a_varDecls;
tmp4_5 = _in_a_attr_ty;
tmp4_6 = _in_a_exp_path;
tmp4_7 = _in_a_attr_builtin;
tmp4_8 = _in_a_res;
{
modelica_metatype _txt = NULL;
modelica_metatype _a_preExp = NULL;
modelica_metatype _a_varDecls = NULL;
modelica_metatype _a_attr_ty = NULL;
modelica_metatype _a_exp_path = NULL;
modelica_boolean _a_attr_builtin;
modelica_metatype _a_res = NULL;
modelica_boolean _ret_2;
modelica_boolean _ret_1;
modelica_boolean _ret_0;
volatile mmc_switch_type tmp4;
int tmp5;
tmp4 = 0;
for (; tmp4 < 2; tmp4++) {
switch (MMC_SWITCH_CAST(tmp4)) {
case 0: {
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,1,2) == 0) goto tmp3_end;
_txt = tmp4_1;
_a_preExp = tmp4_3;
_a_varDecls = tmp4_4;
_a_res = tmp4_8;
_txt = omc_Tpl_writeText(threadData, _txt, _a_res);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_preExp;
tmpMeta[0+2] = _a_varDecls;
goto tmp3_done;
}
case 1: {
_txt = tmp4_1;
_a_preExp = tmp4_3;
_a_varDecls = tmp4_4;
_a_attr_ty = tmp4_5;
_a_exp_path = tmp4_6;
_a_attr_builtin = tmp4_7;
_a_res = tmp4_8;
_ret_0 = omc_Config_profileFunctions(threadData);
_ret_1 = (!_a_attr_builtin);
_ret_2 = (_ret_0 && _ret_1);
tmpMeta[0+0] = omc_CodegenCFunctions_fun__974(threadData, _txt, _ret_2, _a_preExp, _a_varDecls, _a_attr_ty, _a_exp_path, _a_res, &tmpMeta[0+1], &tmpMeta[0+2]);
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta[0+0];
_out_a_preExp = tmpMeta[0+1];
_out_a_varDecls = tmpMeta[0+2];
_return: OMC_LABEL_UNUSED
if (out_out_a_preExp) { *out_out_a_preExp = _out_a_preExp; }
if (out_out_a_varDecls) { *out_out_a_varDecls = _out_a_varDecls; }
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__975(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_context, modelica_metatype _in_a_preExp, modelica_metatype _in_a_varDecls, modelica_metatype _in_a_attr_ty, modelica_metatype _in_a_exp_path, modelica_metatype _in_a_attr_builtin, modelica_metatype _in_a_res, modelica_metatype *out_out_a_preExp, modelica_metatype *out_out_a_varDecls)
{
modelica_integer tmp1;
modelica_metatype _out_txt = NULL;
tmp1 = mmc_unbox_integer(_in_a_attr_builtin);
_out_txt = omc_CodegenCFunctions_fun__975(threadData, _in_txt, _in_a_context, _in_a_preExp, _in_a_varDecls, _in_a_attr_ty, _in_a_exp_path, tmp1, _in_a_res, out_out_a_preExp, out_out_a_varDecls);
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__974(threadData_t *threadData, modelica_metatype _in_txt, modelica_boolean _in_mArg, modelica_metatype _in_a_preExp, modelica_metatype _in_a_varDecls, modelica_metatype _in_a_attr_ty, modelica_metatype _in_a_exp_path, modelica_metatype _in_a_res, modelica_metatype *out_out_a_preExp, modelica_metatype *out_out_a_varDecls)
{
modelica_metatype _out_txt = NULL;
modelica_metatype _out_a_preExp = NULL;
modelica_metatype _out_a_varDecls = NULL;
modelica_metatype tmpMeta[3] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_boolean tmp4_2;modelica_metatype tmp4_3;modelica_metatype tmp4_4;modelica_metatype tmp4_5;modelica_metatype tmp4_6;modelica_metatype tmp4_7;
tmp4_1 = _in_txt;
tmp4_2 = _in_mArg;
tmp4_3 = _in_a_preExp;
tmp4_4 = _in_a_varDecls;
tmp4_5 = _in_a_attr_ty;
tmp4_6 = _in_a_exp_path;
tmp4_7 = _in_a_res;
{
modelica_metatype _txt = NULL;
modelica_metatype _a_preExp = NULL;
modelica_metatype _a_varDecls = NULL;
modelica_metatype _a_attr_ty = NULL;
modelica_metatype _a_exp_path = NULL;
modelica_metatype _a_res = NULL;
modelica_metatype _l_tvar = NULL;
modelica_metatype _l_funName = NULL;
volatile mmc_switch_type tmp4;
int tmp5;
tmp4 = 0;
for (; tmp4 < 2; tmp4++) {
switch (MMC_SWITCH_CAST(tmp4)) {
case 0: {
if (0 != tmp4_2) goto tmp3_end;
_txt = tmp4_1;
_a_preExp = tmp4_3;
_a_varDecls = tmp4_4;
_a_res = tmp4_7;
_txt = omc_Tpl_writeText(threadData, _txt, _a_res);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_preExp;
tmpMeta[0+2] = _a_varDecls;
goto tmp3_done;
}
case 1: {
_txt = tmp4_1;
_a_preExp = tmp4_3;
_a_varDecls = tmp4_4;
_a_attr_ty = tmp4_5;
_a_exp_path = tmp4_6;
_a_res = tmp4_7;
_l_funName = omc_CodegenUtil_underscorePath(threadData, _OMC_LIT20, _a_exp_path);
_l_tvar = omc_CodegenCFunctions_fun__972(threadData, _OMC_LIT20, _a_attr_ty, _a_preExp, _a_varDecls ,&_a_preExp ,&_a_varDecls);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT891);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _l_funName);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT893);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT89);
_a_preExp = omc_CodegenCFunctions_fun__973(threadData, _a_preExp, _l_tvar, _a_res);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT895);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _l_funName);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT893);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT89);
_txt = omc_Tpl_writeText(threadData, _txt, _l_tvar);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_preExp;
tmpMeta[0+2] = _a_varDecls;
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta[0+0];
_out_a_preExp = tmpMeta[0+1];
_out_a_varDecls = tmpMeta[0+2];
_return: OMC_LABEL_UNUSED
if (out_out_a_preExp) { *out_out_a_preExp = _out_a_preExp; }
if (out_out_a_varDecls) { *out_out_a_varDecls = _out_a_varDecls; }
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__974(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_mArg, modelica_metatype _in_a_preExp, modelica_metatype _in_a_varDecls, modelica_metatype _in_a_attr_ty, modelica_metatype _in_a_exp_path, modelica_metatype _in_a_res, modelica_metatype *out_out_a_preExp, modelica_metatype *out_out_a_varDecls)
{
modelica_integer tmp1;
modelica_metatype _out_txt = NULL;
tmp1 = mmc_unbox_integer(_in_mArg);
_out_txt = omc_CodegenCFunctions_fun__974(threadData, _in_txt, tmp1, _in_a_preExp, _in_a_varDecls, _in_a_attr_ty, _in_a_exp_path, _in_a_res, out_out_a_preExp, out_out_a_varDecls);
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__973(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_tvar, modelica_metatype _in_a_res)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta[2] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp3_1;modelica_metatype tmp3_2;modelica_metatype tmp3_3;
tmp3_1 = _in_txt;
tmp3_2 = _in_a_tvar;
tmp3_3 = _in_a_res;
{
modelica_metatype _txt = NULL;
modelica_metatype _a_res = NULL;
modelica_metatype _i_tvar = NULL;
volatile mmc_switch_type tmp3;
int tmp4;
tmp3 = 0;
for (; tmp3 < 2; tmp3++) {
switch (MMC_SWITCH_CAST(tmp3)) {
case 0: {
if (mmc__uniontype__metarecord__typedef__equal(tmp3_2,0,2) == 0) goto tmp2_end;
tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_2), 2));
if (!listEmpty(tmpMeta[1])) goto tmp2_end;
_txt = tmp3_1;
_a_res = tmp3_3;
_txt = omc_Tpl_writeText(threadData, _txt, _a_res);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT105);
tmpMeta[0] = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT89);
goto tmp2_done;
}
case 1: {
_txt = tmp3_1;
_i_tvar = tmp3_2;
_a_res = tmp3_3;
_txt = omc_Tpl_writeText(threadData, _txt, _i_tvar);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT121);
_txt = omc_Tpl_writeText(threadData, _txt, _a_res);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT105);
tmpMeta[0] = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT89);
goto tmp2_done;
}
}
goto tmp2_end;
tmp2_end: ;
}
goto goto_1;
goto_1:;
MMC_THROW_INTERNAL();
goto tmp2_done;
tmp2_done:;
}
}
_out_txt = tmpMeta[0];
_return: OMC_LABEL_UNUSED
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__972(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_attr_ty, modelica_metatype _in_a_preExp, modelica_metatype _in_a_varDecls, modelica_metatype *out_out_a_preExp, modelica_metatype *out_out_a_varDecls)
{
modelica_metatype _out_txt = NULL;
modelica_metatype _out_a_preExp = NULL;
modelica_metatype _out_a_varDecls = NULL;
modelica_metatype tmpMeta[6] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_metatype tmp4_2;modelica_metatype tmp4_3;modelica_metatype tmp4_4;
tmp4_1 = _in_txt;
tmp4_2 = _in_a_attr_ty;
tmp4_3 = _in_a_preExp;
tmp4_4 = _in_a_varDecls;
{
modelica_metatype _txt = NULL;
modelica_metatype _a_preExp = NULL;
modelica_metatype _a_varDecls = NULL;
modelica_metatype _i_t = NULL;
modelica_boolean _ret_4;
modelica_metatype _txt_3 = NULL;
modelica_boolean _ret_2;
modelica_metatype _txt_1 = NULL;
modelica_metatype _l_tvar2 = NULL;
volatile mmc_switch_type tmp4;
int tmp5;
tmp4 = 0;
for (; tmp4 < 3; tmp4++) {
switch (MMC_SWITCH_CAST(tmp4)) {
case 0: {
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,7,0) == 0) goto tmp3_end;
_txt = tmp4_1;
_a_preExp = tmp4_3;
_a_varDecls = tmp4_4;
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_preExp;
tmpMeta[0+2] = _a_varDecls;
goto tmp3_done;
}
case 1: {
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,14,2) == 0) goto tmp3_end;
tmpMeta[3] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
if (listEmpty(tmpMeta[3])) goto tmp3_end;
tmpMeta[4] = MMC_CAR(tmpMeta[3]);
tmpMeta[5] = MMC_CDR(tmpMeta[3]);
_i_t = tmpMeta[4];
_txt = tmp4_1;
_a_preExp = tmp4_3;
_a_varDecls = tmp4_4;
_txt_1 = omc_CodegenCFunctions_expTypeArrayIf(threadData, _OMC_LIT20, _i_t);
_l_tvar2 = omc_CodegenCFunctions_tempDecl(threadData, _OMC_LIT20, omc_Tpl_textString(threadData, _txt_1), _a_varDecls ,&_a_varDecls);
_ret_2 = omc_Expression_isArrayType(threadData, _i_t);
_a_preExp = omc_CodegenCFunctions_fun__970(threadData, _a_preExp, _ret_2, _l_tvar2);
_txt = omc_Tpl_writeText(threadData, _txt, _l_tvar2);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_preExp;
tmpMeta[0+2] = _a_varDecls;
goto tmp3_done;
}
case 2: {
_txt = tmp4_1;
_i_t = tmp4_2;
_a_preExp = tmp4_3;
_a_varDecls = tmp4_4;
_txt_3 = omc_CodegenCFunctions_expTypeArrayIf(threadData, _OMC_LIT20, _i_t);
_l_tvar2 = omc_CodegenCFunctions_tempDecl(threadData, _OMC_LIT20, omc_Tpl_textString(threadData, _txt_3), _a_varDecls ,&_a_varDecls);
_ret_4 = omc_Expression_isArrayType(threadData, _i_t);
_a_preExp = omc_CodegenCFunctions_fun__971(threadData, _a_preExp, _ret_4, _l_tvar2);
_txt = omc_Tpl_writeText(threadData, _txt, _l_tvar2);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_preExp;
tmpMeta[0+2] = _a_varDecls;
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta[0+0];
_out_a_preExp = tmpMeta[0+1];
_out_a_varDecls = tmpMeta[0+2];
_return: OMC_LABEL_UNUSED
if (out_out_a_preExp) { *out_out_a_preExp = _out_a_preExp; }
if (out_out_a_varDecls) { *out_out_a_varDecls = _out_a_varDecls; }
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__971(threadData_t *threadData, modelica_metatype _in_txt, modelica_boolean _in_mArg, modelica_metatype _in_a_tvar2)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta[1] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp3_1;modelica_boolean tmp3_2;modelica_metatype tmp3_3;
tmp3_1 = _in_txt;
tmp3_2 = _in_mArg;
tmp3_3 = _in_a_tvar2;
{
modelica_metatype _txt = NULL;
modelica_metatype _a_tvar2 = NULL;
volatile mmc_switch_type tmp3;
int tmp4;
tmp3 = 0;
for (; tmp3 < 2; tmp3++) {
switch (MMC_SWITCH_CAST(tmp3)) {
case 0: {
if (0 != tmp3_2) goto tmp2_end;
_txt = tmp3_1;
tmpMeta[0] = _txt;
goto tmp2_done;
}
case 1: {
_txt = tmp3_1;
_a_tvar2 = tmp3_3;
_txt = omc_Tpl_writeText(threadData, _txt, _a_tvar2);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT530);
tmpMeta[0] = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT89);
goto tmp2_done;
}
}
goto tmp2_end;
tmp2_end: ;
}
goto goto_1;
goto_1:;
MMC_THROW_INTERNAL();
goto tmp2_done;
tmp2_done:;
}
}
_out_txt = tmpMeta[0];
_return: OMC_LABEL_UNUSED
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__971(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_mArg, modelica_metatype _in_a_tvar2)
{
modelica_integer tmp1;
modelica_metatype _out_txt = NULL;
tmp1 = mmc_unbox_integer(_in_mArg);
_out_txt = omc_CodegenCFunctions_fun__971(threadData, _in_txt, tmp1, _in_a_tvar2);
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__970(threadData_t *threadData, modelica_metatype _in_txt, modelica_boolean _in_mArg, modelica_metatype _in_a_tvar2)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta[1] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp3_1;modelica_boolean tmp3_2;modelica_metatype tmp3_3;
tmp3_1 = _in_txt;
tmp3_2 = _in_mArg;
tmp3_3 = _in_a_tvar2;
{
modelica_metatype _txt = NULL;
modelica_metatype _a_tvar2 = NULL;
volatile mmc_switch_type tmp3;
int tmp4;
tmp3 = 0;
for (; tmp3 < 2; tmp3++) {
switch (MMC_SWITCH_CAST(tmp3)) {
case 0: {
if (0 != tmp3_2) goto tmp2_end;
_txt = tmp3_1;
tmpMeta[0] = _txt;
goto tmp2_done;
}
case 1: {
_txt = tmp3_1;
_a_tvar2 = tmp3_3;
_txt = omc_Tpl_writeText(threadData, _txt, _a_tvar2);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT530);
tmpMeta[0] = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT89);
goto tmp2_done;
}
}
goto tmp2_end;
tmp2_end: ;
}
goto goto_1;
goto_1:;
MMC_THROW_INTERNAL();
goto tmp2_done;
tmp2_done:;
}
}
_out_txt = tmpMeta[0];
_return: OMC_LABEL_UNUSED
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__970(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_mArg, modelica_metatype _in_a_tvar2)
{
modelica_integer tmp1;
modelica_metatype _out_txt = NULL;
tmp1 = mmc_unbox_integer(_in_mArg);
_out_txt = omc_CodegenCFunctions_fun__970(threadData, _in_txt, tmp1, _in_a_tvar2);
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__969(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_attr_ty)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta[4] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp3_1;modelica_metatype tmp3_2;
tmp3_1 = _in_txt;
tmp3_2 = _in_a_attr_ty;
{
modelica_metatype _txt = NULL;
modelica_metatype _i_ts = NULL;
modelica_metatype _ret_1 = NULL;
modelica_integer _ret_0;
volatile mmc_switch_type tmp3;
int tmp4;
tmp3 = 0;
for (; tmp3 < 2; tmp3++) {
switch (MMC_SWITCH_CAST(tmp3)) {
case 0: {
if (mmc__uniontype__metarecord__typedef__equal(tmp3_2,14,2) == 0) goto tmp2_end;
tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_2), 2));
if (listEmpty(tmpMeta[1])) goto tmp2_end;
tmpMeta[2] = MMC_CAR(tmpMeta[1]);
tmpMeta[3] = MMC_CDR(tmpMeta[1]);
_i_ts = tmpMeta[3];
_txt = tmp3_1;
_ret_0 = listLength(_i_ts);
_ret_1 = omc_List_fill(threadData, _OMC_LIT531, _ret_0);
tmpMeta[0] = omc_CodegenCFunctions_lm__968(threadData, _txt, _ret_1);
goto tmp2_done;
}
case 1: {
_txt = tmp3_1;
tmpMeta[0] = _txt;
goto tmp2_done;
}
}
goto tmp2_end;
tmp2_end: ;
}
goto goto_1;
goto_1:;
MMC_THROW_INTERNAL();
goto tmp2_done;
tmp2_done:;
}
}
_out_txt = tmpMeta[0];
_return: OMC_LABEL_UNUSED
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_lm__968(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_items)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta[3] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp3_1;modelica_metatype tmp3_2;
tmp3_1 = _in_txt;
tmp3_2 = _in_items;
{
modelica_metatype _txt = NULL;
modelica_metatype _rest = NULL;
modelica_string _i_it = NULL;
volatile mmc_switch_type tmp3;
int tmp4;
tmp3 = 0;
for (; tmp3 < 2; tmp3++) {
switch (MMC_SWITCH_CAST(tmp3)) {
case 0: {
if (!listEmpty(tmp3_2)) goto tmp2_end;
_txt = tmp3_1;
tmpMeta[0] = _txt;
goto tmp2_done;
}
case 1: {
if (listEmpty(tmp3_2)) goto tmp2_end;
tmpMeta[1] = MMC_CAR(tmp3_2);
tmpMeta[2] = MMC_CDR(tmp3_2);
_i_it = tmpMeta[1];
_rest = tmpMeta[2];
_txt = tmp3_1;
_txt = omc_Tpl_writeStr(threadData, _txt, _i_it);
_in_txt = _txt;
_in_items = _rest;
goto _tailrecursive;
goto tmp2_done;
}
}
goto tmp2_end;
tmp2_end: ;
}
goto goto_1;
goto_1:;
MMC_THROW_INTERNAL();
goto tmp2_done;
tmp2_done:;
}
}
_out_txt = tmpMeta[0];
_return: OMC_LABEL_UNUSED
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__967(threadData_t *threadData, modelica_metatype _in_txt, modelica_string _in_a_name)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta[1] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp3_1;modelica_string tmp3_2;
tmp3_1 = _in_txt;
tmp3_2 = _in_a_name;
{
modelica_metatype _txt = NULL;
volatile mmc_switch_type tmp3;
int tmp4;
tmp3 = 0;
for (; tmp3 < 6; tmp3++) {
switch (MMC_SWITCH_CAST(tmp3)) {
case 0: {
if (9 != MMC_STRLEN(tmp3_2) || strcmp(MMC_STRINGDATA(_OMC_LIT885), MMC_STRINGDATA(tmp3_2)) != 0) goto tmp2_end;
_txt = tmp3_1;
tmpMeta[0] = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT582);
goto tmp2_done;
}
case 1: {
if (8 != MMC_STRLEN(tmp3_2) || strcmp(MMC_STRINGDATA(_OMC_LIT886), MMC_STRINGDATA(tmp3_2)) != 0) goto tmp2_end;
_txt = tmp3_1;
tmpMeta[0] = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT897);
goto tmp2_done;
}
case 2: {
if (9 != MMC_STRLEN(tmp3_2) || strcmp(MMC_STRINGDATA(_OMC_LIT887), MMC_STRINGDATA(tmp3_2)) != 0) goto tmp2_end;
_txt = tmp3_1;
tmpMeta[0] = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT899);
goto tmp2_done;
}
case 3: {
if (12 != MMC_STRLEN(tmp3_2) || strcmp(MMC_STRINGDATA(_OMC_LIT888), MMC_STRINGDATA(tmp3_2)) != 0) goto tmp2_end;
_txt = tmp3_1;
tmpMeta[0] = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT901);
goto tmp2_done;
}
case 4: {
if (12 != MMC_STRLEN(tmp3_2) || strcmp(MMC_STRINGDATA(_OMC_LIT889), MMC_STRINGDATA(tmp3_2)) != 0) goto tmp2_end;
_txt = tmp3_1;
tmpMeta[0] = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT903);
goto tmp2_done;
}
case 5: {
_txt = tmp3_1;
tmpMeta[0] = _txt;
goto tmp2_done;
}
}
goto tmp2_end;
tmp2_end: ;
}
goto goto_1;
goto_1:;
MMC_THROW_INTERNAL();
goto tmp2_done;
tmp2_done:;
}
}
_out_txt = tmpMeta[0];
_return: OMC_LABEL_UNUSED
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__966(threadData_t *threadData, modelica_metatype _in_txt, modelica_string _in_a_name)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta[1] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp3_1;modelica_string tmp3_2;
tmp3_1 = _in_txt;
tmp3_2 = _in_a_name;
{
modelica_metatype _txt = NULL;
volatile mmc_switch_type tmp3;
int tmp4;
tmp3 = 0;
for (; tmp3 < 6; tmp3++) {
switch (MMC_SWITCH_CAST(tmp3)) {
case 0: {
if (9 != MMC_STRLEN(tmp3_2) || strcmp(MMC_STRINGDATA(_OMC_LIT885), MMC_STRINGDATA(tmp3_2)) != 0) goto tmp2_end;
_txt = tmp3_1;
tmpMeta[0] = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT582);
goto tmp2_done;
}
case 1: {
if (8 != MMC_STRLEN(tmp3_2) || strcmp(MMC_STRINGDATA(_OMC_LIT886), MMC_STRINGDATA(tmp3_2)) != 0) goto tmp2_end;
_txt = tmp3_1;
tmpMeta[0] = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT897);
goto tmp2_done;
}
case 2: {
if (9 != MMC_STRLEN(tmp3_2) || strcmp(MMC_STRINGDATA(_OMC_LIT887), MMC_STRINGDATA(tmp3_2)) != 0) goto tmp2_end;
_txt = tmp3_1;
tmpMeta[0] = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT899);
goto tmp2_done;
}
case 3: {
if (12 != MMC_STRLEN(tmp3_2) || strcmp(MMC_STRINGDATA(_OMC_LIT888), MMC_STRINGDATA(tmp3_2)) != 0) goto tmp2_end;
_txt = tmp3_1;
tmpMeta[0] = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT901);
goto tmp2_done;
}
case 4: {
if (12 != MMC_STRLEN(tmp3_2) || strcmp(MMC_STRINGDATA(_OMC_LIT889), MMC_STRINGDATA(tmp3_2)) != 0) goto tmp2_end;
_txt = tmp3_1;
tmpMeta[0] = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT903);
goto tmp2_done;
}
case 5: {
_txt = tmp3_1;
tmpMeta[0] = _txt;
goto tmp2_done;
}
}
goto tmp2_end;
tmp2_end: ;
}
goto goto_1;
goto_1:;
MMC_THROW_INTERNAL();
goto tmp2_done;
tmp2_done:;
}
}
_out_txt = tmpMeta[0];
_return: OMC_LABEL_UNUSED
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__965(threadData_t *threadData, modelica_metatype _in_txt, modelica_string _in_a_name)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta[1] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp3_1;modelica_string tmp3_2;
tmp3_1 = _in_txt;
tmp3_2 = _in_a_name;
{
modelica_metatype _txt = NULL;
volatile mmc_switch_type tmp3;
int tmp4;
tmp3 = 0;
for (; tmp3 < 6; tmp3++) {
switch (MMC_SWITCH_CAST(tmp3)) {
case 0: {
if (9 != MMC_STRLEN(tmp3_2) || strcmp(MMC_STRINGDATA(_OMC_LIT885), MMC_STRINGDATA(tmp3_2)) != 0) goto tmp2_end;
_txt = tmp3_1;
tmpMeta[0] = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT582);
goto tmp2_done;
}
case 1: {
if (8 != MMC_STRLEN(tmp3_2) || strcmp(MMC_STRINGDATA(_OMC_LIT886), MMC_STRINGDATA(tmp3_2)) != 0) goto tmp2_end;
_txt = tmp3_1;
tmpMeta[0] = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT897);
goto tmp2_done;
}
case 2: {
if (9 != MMC_STRLEN(tmp3_2) || strcmp(MMC_STRINGDATA(_OMC_LIT887), MMC_STRINGDATA(tmp3_2)) != 0) goto tmp2_end;
_txt = tmp3_1;
tmpMeta[0] = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT899);
goto tmp2_done;
}
case 3: {
if (12 != MMC_STRLEN(tmp3_2) || strcmp(MMC_STRINGDATA(_OMC_LIT888), MMC_STRINGDATA(tmp3_2)) != 0) goto tmp2_end;
_txt = tmp3_1;
tmpMeta[0] = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT901);
goto tmp2_done;
}
case 4: {
if (12 != MMC_STRLEN(tmp3_2) || strcmp(MMC_STRINGDATA(_OMC_LIT889), MMC_STRINGDATA(tmp3_2)) != 0) goto tmp2_end;
_txt = tmp3_1;
tmpMeta[0] = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT903);
goto tmp2_done;
}
case 5: {
_txt = tmp3_1;
tmpMeta[0] = _txt;
goto tmp2_done;
}
}
goto tmp2_end;
tmp2_end: ;
}
goto goto_1;
goto_1:;
MMC_THROW_INTERNAL();
goto tmp2_done;
tmp2_done:;
}
}
_out_txt = tmpMeta[0];
_return: OMC_LABEL_UNUSED
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__964(threadData_t *threadData, modelica_metatype _in_txt, modelica_string _in_a_name)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta[1] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp3_1;modelica_string tmp3_2;
tmp3_1 = _in_txt;
tmp3_2 = _in_a_name;
{
modelica_metatype _txt = NULL;
volatile mmc_switch_type tmp3;
int tmp4;
tmp3 = 0;
for (; tmp3 < 6; tmp3++) {
switch (MMC_SWITCH_CAST(tmp3)) {
case 0: {
if (9 != MMC_STRLEN(tmp3_2) || strcmp(MMC_STRINGDATA(_OMC_LIT885), MMC_STRINGDATA(tmp3_2)) != 0) goto tmp2_end;
_txt = tmp3_1;
tmpMeta[0] = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT582);
goto tmp2_done;
}
case 1: {
if (8 != MMC_STRLEN(tmp3_2) || strcmp(MMC_STRINGDATA(_OMC_LIT886), MMC_STRINGDATA(tmp3_2)) != 0) goto tmp2_end;
_txt = tmp3_1;
tmpMeta[0] = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT897);
goto tmp2_done;
}
case 2: {
if (9 != MMC_STRLEN(tmp3_2) || strcmp(MMC_STRINGDATA(_OMC_LIT887), MMC_STRINGDATA(tmp3_2)) != 0) goto tmp2_end;
_txt = tmp3_1;
tmpMeta[0] = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT899);
goto tmp2_done;
}
case 3: {
if (12 != MMC_STRLEN(tmp3_2) || strcmp(MMC_STRINGDATA(_OMC_LIT888), MMC_STRINGDATA(tmp3_2)) != 0) goto tmp2_end;
_txt = tmp3_1;
tmpMeta[0] = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT901);
goto tmp2_done;
}
case 4: {
if (12 != MMC_STRLEN(tmp3_2) || strcmp(MMC_STRINGDATA(_OMC_LIT889), MMC_STRINGDATA(tmp3_2)) != 0) goto tmp2_end;
_txt = tmp3_1;
tmpMeta[0] = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT903);
goto tmp2_done;
}
case 5: {
_txt = tmp3_1;
tmpMeta[0] = _txt;
goto tmp2_done;
}
}
goto tmp2_end;
tmp2_end: ;
}
goto goto_1;
goto_1:;
MMC_THROW_INTERNAL();
goto tmp2_done;
tmp2_done:;
}
}
_out_txt = tmpMeta[0];
_return: OMC_LABEL_UNUSED
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__963(threadData_t *threadData, modelica_metatype _in_txt, modelica_string _in_a_name)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta[1] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp3_1;modelica_string tmp3_2;
tmp3_1 = _in_txt;
tmp3_2 = _in_a_name;
{
modelica_metatype _txt = NULL;
volatile mmc_switch_type tmp3;
int tmp4;
tmp3 = 0;
for (; tmp3 < 6; tmp3++) {
switch (MMC_SWITCH_CAST(tmp3)) {
case 0: {
if (9 != MMC_STRLEN(tmp3_2) || strcmp(MMC_STRINGDATA(_OMC_LIT885), MMC_STRINGDATA(tmp3_2)) != 0) goto tmp2_end;
_txt = tmp3_1;
tmpMeta[0] = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT582);
goto tmp2_done;
}
case 1: {
if (8 != MMC_STRLEN(tmp3_2) || strcmp(MMC_STRINGDATA(_OMC_LIT886), MMC_STRINGDATA(tmp3_2)) != 0) goto tmp2_end;
_txt = tmp3_1;
tmpMeta[0] = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT897);
goto tmp2_done;
}
case 2: {
if (9 != MMC_STRLEN(tmp3_2) || strcmp(MMC_STRINGDATA(_OMC_LIT887), MMC_STRINGDATA(tmp3_2)) != 0) goto tmp2_end;
_txt = tmp3_1;
tmpMeta[0] = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT899);
goto tmp2_done;
}
case 3: {
if (12 != MMC_STRLEN(tmp3_2) || strcmp(MMC_STRINGDATA(_OMC_LIT888), MMC_STRINGDATA(tmp3_2)) != 0) goto tmp2_end;
_txt = tmp3_1;
tmpMeta[0] = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT901);
goto tmp2_done;
}
case 4: {
if (12 != MMC_STRLEN(tmp3_2) || strcmp(MMC_STRINGDATA(_OMC_LIT889), MMC_STRINGDATA(tmp3_2)) != 0) goto tmp2_end;
_txt = tmp3_1;
tmpMeta[0] = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT903);
goto tmp2_done;
}
case 5: {
_txt = tmp3_1;
tmpMeta[0] = _txt;
goto tmp2_done;
}
}
goto tmp2_end;
tmp2_end: ;
}
goto goto_1;
goto_1:;
MMC_THROW_INTERNAL();
goto tmp2_done;
tmp2_done:;
}
}
_out_txt = tmpMeta[0];
_return: OMC_LABEL_UNUSED
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__962(threadData_t *threadData, modelica_metatype _in_txt, modelica_string _in_a_name)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta[1] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp3_1;modelica_string tmp3_2;
tmp3_1 = _in_txt;
tmp3_2 = _in_a_name;
{
modelica_metatype _txt = NULL;
volatile mmc_switch_type tmp3;
int tmp4;
tmp3 = 0;
for (; tmp3 < 6; tmp3++) {
switch (MMC_SWITCH_CAST(tmp3)) {
case 0: {
if (9 != MMC_STRLEN(tmp3_2) || strcmp(MMC_STRINGDATA(_OMC_LIT885), MMC_STRINGDATA(tmp3_2)) != 0) goto tmp2_end;
_txt = tmp3_1;
tmpMeta[0] = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT582);
goto tmp2_done;
}
case 1: {
if (8 != MMC_STRLEN(tmp3_2) || strcmp(MMC_STRINGDATA(_OMC_LIT886), MMC_STRINGDATA(tmp3_2)) != 0) goto tmp2_end;
_txt = tmp3_1;
tmpMeta[0] = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT897);
goto tmp2_done;
}
case 2: {
if (9 != MMC_STRLEN(tmp3_2) || strcmp(MMC_STRINGDATA(_OMC_LIT887), MMC_STRINGDATA(tmp3_2)) != 0) goto tmp2_end;
_txt = tmp3_1;
tmpMeta[0] = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT899);
goto tmp2_done;
}
case 3: {
if (12 != MMC_STRLEN(tmp3_2) || strcmp(MMC_STRINGDATA(_OMC_LIT888), MMC_STRINGDATA(tmp3_2)) != 0) goto tmp2_end;
_txt = tmp3_1;
tmpMeta[0] = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT901);
goto tmp2_done;
}
case 4: {
if (12 != MMC_STRLEN(tmp3_2) || strcmp(MMC_STRINGDATA(_OMC_LIT889), MMC_STRINGDATA(tmp3_2)) != 0) goto tmp2_end;
_txt = tmp3_1;
tmpMeta[0] = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT903);
goto tmp2_done;
}
case 5: {
_txt = tmp3_1;
tmpMeta[0] = _txt;
goto tmp2_done;
}
}
goto tmp2_end;
tmp2_end: ;
}
goto goto_1;
goto_1:;
MMC_THROW_INTERNAL();
goto tmp2_done;
tmp2_done:;
}
}
_out_txt = tmpMeta[0];
_return: OMC_LABEL_UNUSED
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__961(threadData_t *threadData, modelica_metatype _in_txt, modelica_string _in_mArg, modelica_integer _in_a_index)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta[1] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp3_1;modelica_string tmp3_2;modelica_integer tmp3_3;
tmp3_1 = _in_txt;
tmp3_2 = _in_mArg;
tmp3_3 = _in_a_index;
{
modelica_metatype _txt = NULL;
modelica_integer _a_index;
modelica_integer _ret_1;
modelica_integer _ret_0;
volatile mmc_switch_type tmp3;
int tmp4;
tmp3 = 0;
for (; tmp3 < 2; tmp3++) {
switch (MMC_SWITCH_CAST(tmp3)) {
case 0: {
if (5 != MMC_STRLEN(tmp3_2) || strcmp(MMC_STRINGDATA(_OMC_LIT36), MMC_STRINGDATA(tmp3_2)) != 0) goto tmp2_end;
_txt = tmp3_1;
_a_index = tmp3_3;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT905);
_ret_0 = ((modelica_integer) -1) + _a_index;
_txt = omc_Tpl_writeStr(threadData, _txt, intString(_ret_0));
tmpMeta[0] = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT907);
goto tmp2_done;
}
case 1: {
_txt = tmp3_1;
_a_index = tmp3_3;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT909);
_ret_1 = ((modelica_integer) -1) + _a_index;
_txt = omc_Tpl_writeStr(threadData, _txt, intString(_ret_1));
tmpMeta[0] = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT46);
goto tmp2_done;
}
}
goto tmp2_end;
tmp2_end: ;
}
goto goto_1;
goto_1:;
MMC_THROW_INTERNAL();
goto tmp2_done;
tmp2_done:;
}
}
_out_txt = tmpMeta[0];
_return: OMC_LABEL_UNUSED
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__961(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_mArg, modelica_metatype _in_a_index)
{
modelica_integer tmp1;
modelica_metatype _out_txt = NULL;
tmp1 = mmc_unbox_integer(_in_a_index);
_out_txt = omc_CodegenCFunctions_fun__961(threadData, _in_txt, _in_mArg, tmp1);
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__960(threadData_t *threadData, modelica_metatype _in_txt, modelica_string _in_mArg, modelica_metatype _in_a_enumStr, modelica_metatype _in_a_leftjustExp, modelica_metatype _in_a_minlenExp, modelica_metatype _in_a_sExp, modelica_metatype _in_a_typeStr, modelica_metatype _in_a_tvar, modelica_metatype _in_a_preExp, modelica_metatype *out_out_a_preExp)
{
modelica_metatype _out_txt = NULL;
modelica_metatype _out_a_preExp = NULL;
modelica_metatype tmpMeta[2] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_string tmp4_2;modelica_metatype tmp4_3;modelica_metatype tmp4_4;modelica_metatype tmp4_5;modelica_metatype tmp4_6;modelica_metatype tmp4_7;modelica_metatype tmp4_8;modelica_metatype tmp4_9;
tmp4_1 = _in_txt;
tmp4_2 = _in_mArg;
tmp4_3 = _in_a_enumStr;
tmp4_4 = _in_a_leftjustExp;
tmp4_5 = _in_a_minlenExp;
tmp4_6 = _in_a_sExp;
tmp4_7 = _in_a_typeStr;
tmp4_8 = _in_a_tvar;
tmp4_9 = _in_a_preExp;
{
modelica_metatype _txt = NULL;
modelica_metatype _a_enumStr = NULL;
modelica_metatype _a_leftjustExp = NULL;
modelica_metatype _a_minlenExp = NULL;
modelica_metatype _a_sExp = NULL;
modelica_metatype _a_typeStr = NULL;
modelica_metatype _a_tvar = NULL;
modelica_metatype _a_preExp = NULL;
volatile mmc_switch_type tmp4;
int tmp5;
tmp4 = 0;
for (; tmp4 < 3; tmp4++) {
switch (MMC_SWITCH_CAST(tmp4)) {
case 0: {
if (13 != MMC_STRLEN(tmp4_2) || strcmp(MMC_STRINGDATA(_OMC_LIT704), MMC_STRINGDATA(tmp4_2)) != 0) goto tmp3_end;
_txt = tmp4_1;
_a_leftjustExp = tmp4_4;
_a_minlenExp = tmp4_5;
_a_sExp = tmp4_6;
_a_typeStr = tmp4_7;
_a_tvar = tmp4_8;
_a_preExp = tmp4_9;
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _a_tvar);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT121);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _a_typeStr);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT911);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _a_sExp);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT292);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _a_minlenExp);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT292);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _a_leftjustExp);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT913);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT89);
_txt = omc_Tpl_writeText(threadData, _txt, _a_tvar);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_preExp;
goto tmp3_done;
}
case 1: {
if (15 != MMC_STRLEN(tmp4_2) || strcmp(MMC_STRINGDATA(_OMC_LIT799), MMC_STRINGDATA(tmp4_2)) != 0) goto tmp3_end;
_txt = tmp4_1;
_a_sExp = tmp4_6;
_a_tvar = tmp4_8;
_a_preExp = tmp4_9;
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _a_tvar);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT121);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _a_sExp);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT105);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT89);
_txt = omc_Tpl_writeText(threadData, _txt, _a_tvar);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_preExp;
goto tmp3_done;
}
case 2: {
_txt = tmp4_1;
_a_enumStr = tmp4_3;
_a_leftjustExp = tmp4_4;
_a_minlenExp = tmp4_5;
_a_sExp = tmp4_6;
_a_typeStr = tmp4_7;
_a_tvar = tmp4_8;
_a_preExp = tmp4_9;
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _a_tvar);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT121);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _a_typeStr);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT911);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _a_sExp);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _a_enumStr);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT292);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _a_minlenExp);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT292);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _a_leftjustExp);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT290);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT89);
_txt = omc_Tpl_writeText(threadData, _txt, _a_tvar);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_preExp;
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta[0+0];
_out_a_preExp = tmpMeta[0+1];
_return: OMC_LABEL_UNUSED
if (out_out_a_preExp) { *out_out_a_preExp = _out_a_preExp; }
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__959(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_enumStr, modelica_metatype _in_a_s)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta[2] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp3_1;modelica_metatype tmp3_2;modelica_metatype tmp3_3;
tmp3_1 = _in_txt;
tmp3_2 = _in_a_enumStr;
tmp3_3 = _in_a_s;
{
modelica_metatype _txt = NULL;
modelica_metatype _a_s = NULL;
volatile mmc_switch_type tmp3;
int tmp4;
tmp3 = 0;
for (; tmp3 < 2; tmp3++) {
switch (MMC_SWITCH_CAST(tmp3)) {
case 0: {
if (mmc__uniontype__metarecord__typedef__equal(tmp3_2,0,2) == 0) goto tmp2_end;
tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_2), 2));
if (!listEmpty(tmpMeta[1])) goto tmp2_end;
_txt = tmp3_1;
_a_s = tmp3_3;
tmpMeta[0] = omc_CodegenCFunctions_expTypeFromExpModelica(threadData, _txt, _a_s);
goto tmp2_done;
}
case 1: {
_txt = tmp3_1;
tmpMeta[0] = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT915);
goto tmp2_done;
}
}
goto tmp2_end;
tmp2_end: ;
}
goto goto_1;
goto_1:;
MMC_THROW_INTERNAL();
goto tmp2_done;
tmp2_done:;
}
}
_out_txt = tmpMeta[0];
_return: OMC_LABEL_UNUSED
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__958(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_mArg, modelica_metatype _in_a_varDecls, modelica_metatype *out_out_a_varDecls)
{
modelica_metatype _out_txt = NULL;
modelica_metatype _out_a_varDecls = NULL;
modelica_metatype tmpMeta[3] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_metatype tmp4_2;modelica_metatype tmp4_3;
tmp4_1 = _in_txt;
tmp4_2 = _in_mArg;
tmp4_3 = _in_a_varDecls;
{
modelica_metatype _txt = NULL;
modelica_metatype _a_varDecls = NULL;
modelica_metatype _i_names = NULL;
modelica_integer _ret_1;
modelica_metatype _l_strs = NULL;
volatile mmc_switch_type tmp4;
int tmp5;
tmp4 = 0;
for (; tmp4 < 2; tmp4++) {
switch (MMC_SWITCH_CAST(tmp4)) {
case 0: {
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,5,5) == 0) goto tmp3_end;
tmpMeta[2] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 4));
_i_names = tmpMeta[2];
_txt = tmp4_1;
_a_varDecls = tmp4_3;
_l_strs = omc_Tpl_pushIter(threadData, _OMC_LIT20, _OMC_LIT294);
_l_strs = omc_CodegenCFunctions_lm__957(threadData, _l_strs, _i_names);
_l_strs = omc_Tpl_popIter(threadData, _l_strs);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT292);
_ret_1 = listLength(_i_names);
_txt = omc_CodegenCFunctions_tempDeclArray(threadData, _txt, _OMC_LIT916, omc_Tpl_stringText(threadData, intString(_ret_1)), _l_strs, _a_varDecls ,NULL ,&_l_strs ,&_a_varDecls);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_varDecls;
goto tmp3_done;
}
case 1: {
_txt = tmp4_1;
_a_varDecls = tmp4_3;
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_varDecls;
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta[0+0];
_out_a_varDecls = tmpMeta[0+1];
_return: OMC_LABEL_UNUSED
if (out_out_a_varDecls) { *out_out_a_varDecls = _out_a_varDecls; }
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_lm__957(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_items)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta[3] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp3_1;modelica_metatype tmp3_2;
tmp3_1 = _in_txt;
tmp3_2 = _in_items;
{
modelica_metatype _txt = NULL;
modelica_metatype _rest = NULL;
modelica_string _i_s = NULL;
modelica_string _ret_0 = NULL;
volatile mmc_switch_type tmp3;
int tmp4;
tmp3 = 0;
for (; tmp3 < 2; tmp3++) {
switch (MMC_SWITCH_CAST(tmp3)) {
case 0: {
if (!listEmpty(tmp3_2)) goto tmp2_end;
_txt = tmp3_1;
tmpMeta[0] = _txt;
goto tmp2_done;
}
case 1: {
if (listEmpty(tmp3_2)) goto tmp2_end;
tmpMeta[1] = MMC_CAR(tmp3_2);
tmpMeta[2] = MMC_CDR(tmp3_2);
_i_s = tmpMeta[1];
_rest = tmpMeta[2];
_txt = tmp3_1;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT917);
_ret_0 = omc_Util_escapeModelicaStringToCString(threadData, _i_s);
_txt = omc_Tpl_writeStr(threadData, _txt, _ret_0);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT917);
_txt = omc_Tpl_nextIter(threadData, _txt);
_in_txt = _txt;
_in_items = _rest;
goto _tailrecursive;
goto tmp2_done;
}
}
goto tmp2_end;
tmp2_end: ;
}
goto goto_1;
goto_1:;
MMC_THROW_INTERNAL();
goto tmp2_done;
tmp2_done:;
}
}
_out_txt = tmpMeta[0];
_return: OMC_LABEL_UNUSED
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_lm__956(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_items, modelica_metatype _in_a_auxFunction, modelica_metatype _in_a_varDecls, modelica_metatype _in_a_preExp, modelica_metatype _in_a_context, modelica_metatype *out_out_a_auxFunction, modelica_metatype *out_out_a_varDecls, modelica_metatype *out_out_a_preExp)
{
modelica_metatype _out_txt = NULL;
modelica_metatype _out_a_auxFunction = NULL;
modelica_metatype _out_a_varDecls = NULL;
modelica_metatype _out_a_preExp = NULL;
modelica_metatype tmpMeta[6] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_metatype tmp4_2;modelica_metatype tmp4_3;modelica_metatype tmp4_4;modelica_metatype tmp4_5;modelica_metatype tmp4_6;
tmp4_1 = _in_txt;
tmp4_2 = _in_items;
tmp4_3 = _in_a_auxFunction;
tmp4_4 = _in_a_varDecls;
tmp4_5 = _in_a_preExp;
tmp4_6 = _in_a_context;
{
modelica_metatype _txt = NULL;
modelica_metatype _rest = NULL;
modelica_metatype _a_auxFunction = NULL;
modelica_metatype _a_varDecls = NULL;
modelica_metatype _a_preExp = NULL;
modelica_metatype _a_context = NULL;
modelica_metatype _i_array = NULL;
volatile mmc_switch_type tmp4;
int tmp5;
tmp4 = 0;
for (; tmp4 < 2; tmp4++) {
switch (MMC_SWITCH_CAST(tmp4)) {
case 0: {
if (!listEmpty(tmp4_2)) goto tmp3_end;
_txt = tmp4_1;
_a_auxFunction = tmp4_3;
_a_varDecls = tmp4_4;
_a_preExp = tmp4_5;
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_auxFunction;
tmpMeta[0+2] = _a_varDecls;
tmpMeta[0+3] = _a_preExp;
goto tmp3_done;
}
case 1: {
if (listEmpty(tmp4_2)) goto tmp3_end;
tmpMeta[4] = MMC_CAR(tmp4_2);
tmpMeta[5] = MMC_CDR(tmp4_2);
_i_array = tmpMeta[4];
_rest = tmpMeta[5];
_txt = tmp4_1;
_a_auxFunction = tmp4_3;
_a_varDecls = tmp4_4;
_a_preExp = tmp4_5;
_a_context = tmp4_6;
_txt = omc_CodegenCFunctions_daeExpAsLValue(threadData, _txt, _i_array, _a_context, _a_preExp, _a_varDecls, _a_auxFunction ,&_a_preExp ,&_a_varDecls ,&_a_auxFunction);
_txt = omc_Tpl_nextIter(threadData, _txt);
_in_txt = _txt;
_in_items = _rest;
_in_a_auxFunction = _a_auxFunction;
_in_a_varDecls = _a_varDecls;
_in_a_preExp = _a_preExp;
_in_a_context = _a_context;
goto _tailrecursive;
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta[0+0];
_out_a_auxFunction = tmpMeta[0+1];
_out_a_varDecls = tmpMeta[0+2];
_out_a_preExp = tmpMeta[0+3];
_return: OMC_LABEL_UNUSED
if (out_out_a_auxFunction) { *out_out_a_auxFunction = _out_a_auxFunction; }
if (out_out_a_varDecls) { *out_out_a_varDecls = _out_a_varDecls; }
if (out_out_a_preExp) { *out_out_a_preExp = _out_a_preExp; }
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_lm__955(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_items, modelica_metatype _in_a_tvarc, modelica_metatype _in_a_val)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta[3] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp3_1;modelica_metatype tmp3_2;modelica_metatype tmp3_3;modelica_metatype tmp3_4;
tmp3_1 = _in_txt;
tmp3_2 = _in_items;
tmp3_3 = _in_a_tvarc;
tmp3_4 = _in_a_val;
{
modelica_metatype _txt = NULL;
modelica_metatype _rest = NULL;
modelica_metatype _a_tvarc = NULL;
modelica_metatype _a_val = NULL;
modelica_integer _x_ix;
modelica_integer _i_sz;
volatile mmc_switch_type tmp3;
int tmp4;
tmp3 = 0;
for (; tmp3 < 2; tmp3++) {
switch (MMC_SWITCH_CAST(tmp3)) {
case 0: {
if (!listEmpty(tmp3_2)) goto tmp2_end;
_txt = tmp3_1;
tmpMeta[0] = _txt;
goto tmp2_done;
}
case 1: {
modelica_integer tmp5;
if (listEmpty(tmp3_2)) goto tmp2_end;
tmpMeta[1] = MMC_CAR(tmp3_2);
tmpMeta[2] = MMC_CDR(tmp3_2);
tmp5 = mmc_unbox_integer(tmpMeta[1]);
_i_sz = tmp5;
_rest = tmpMeta[2];
_txt = tmp3_1;
_a_tvarc = tmp3_3;
_a_val = tmp3_4;
_x_ix = omc_Tpl_getIteri__i0(threadData, _txt);
_txt = omc_CodegenCFunctions_fun__954(threadData, _txt, _i_sz, _a_tvarc, _x_ix, _a_val);
_txt = omc_Tpl_nextIter(threadData, _txt);
_in_txt = _txt;
_in_items = _rest;
_in_a_tvarc = _a_tvarc;
_in_a_val = _a_val;
goto _tailrecursive;
goto tmp2_done;
}
}
goto tmp2_end;
tmp2_end: ;
}
goto goto_1;
goto_1:;
MMC_THROW_INTERNAL();
goto tmp2_done;
tmp2_done:;
}
}
_out_txt = tmpMeta[0];
_return: OMC_LABEL_UNUSED
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__954(threadData_t *threadData, modelica_metatype _in_txt, modelica_integer _in_a_sz, modelica_metatype _in_a_tvarc, modelica_integer _in_a_ix, modelica_metatype _in_a_val)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta[1] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp3_1;modelica_integer tmp3_2;modelica_metatype tmp3_3;modelica_integer tmp3_4;modelica_metatype tmp3_5;
tmp3_1 = _in_txt;
tmp3_2 = _in_a_sz;
tmp3_3 = _in_a_tvarc;
tmp3_4 = _in_a_ix;
tmp3_5 = _in_a_val;
{
modelica_metatype _txt = NULL;
modelica_metatype _a_tvarc = NULL;
modelica_integer _a_ix;
modelica_metatype _a_val = NULL;
int tmp3;
{
switch (MMC_SWITCH_CAST(tmp3_2)) {
case 0: {
if (0 != tmp3_2) goto tmp2_end;
_txt = tmp3_1;
_a_tvarc = tmp3_3;
_a_ix = tmp3_4;
_a_val = tmp3_5;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT919);
_txt = omc_Tpl_writeText(threadData, _txt, _a_val);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT292);
_txt = omc_Tpl_writeStr(threadData, _txt, intString(_a_ix));
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT921);
_txt = omc_Tpl_writeText(threadData, _txt, _a_tvarc);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT923);
tmpMeta[0] = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT89);
goto tmp2_done;
}
case 1: {
if (1 != tmp3_2) goto tmp2_end;
_txt = tmp3_1;
tmpMeta[0] = _txt;
goto tmp2_done;
}
default:
tmp2_default: OMC_LABEL_UNUSED; {
_txt = tmp3_1;
_a_tvarc = tmp3_3;
_txt = omc_Tpl_writeText(threadData, _txt, _a_tvarc);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT923);
tmpMeta[0] = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT89);
goto tmp2_done;
}
}
goto tmp2_end;
tmp2_end: ;
}
goto goto_1;
goto_1:;
MMC_THROW_INTERNAL();
goto tmp2_done;
tmp2_done:;
}
}
_out_txt = tmpMeta[0];
_return: OMC_LABEL_UNUSED
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__954(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_sz, modelica_metatype _in_a_tvarc, modelica_metatype _in_a_ix, modelica_metatype _in_a_val)
{
modelica_integer tmp1;
modelica_integer tmp2;
modelica_metatype _out_txt = NULL;
tmp1 = mmc_unbox_integer(_in_a_sz);
tmp2 = mmc_unbox_integer(_in_a_ix);
_out_txt = omc_CodegenCFunctions_fun__954(threadData, _in_txt, tmp1, _in_a_tvarc, tmp2, _in_a_val);
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_lm__953(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_items, modelica_metatype _in_a_auxFunction, modelica_metatype _in_a_varDecls, modelica_metatype _in_a_preExp, modelica_metatype _in_a_context, modelica_metatype *out_out_a_auxFunction, modelica_metatype *out_out_a_varDecls, modelica_metatype *out_out_a_preExp)
{
modelica_metatype _out_txt = NULL;
modelica_metatype _out_a_auxFunction = NULL;
modelica_metatype _out_a_varDecls = NULL;
modelica_metatype _out_a_preExp = NULL;
modelica_metatype tmpMeta[6] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_metatype tmp4_2;modelica_metatype tmp4_3;modelica_metatype tmp4_4;modelica_metatype tmp4_5;modelica_metatype tmp4_6;
tmp4_1 = _in_txt;
tmp4_2 = _in_items;
tmp4_3 = _in_a_auxFunction;
tmp4_4 = _in_a_varDecls;
tmp4_5 = _in_a_preExp;
tmp4_6 = _in_a_context;
{
modelica_metatype _txt = NULL;
modelica_metatype _rest = NULL;
modelica_metatype _a_auxFunction = NULL;
modelica_metatype _a_varDecls = NULL;
modelica_metatype _a_preExp = NULL;
modelica_metatype _a_context = NULL;
modelica_metatype _i_dim = NULL;
volatile mmc_switch_type tmp4;
int tmp5;
tmp4 = 0;
for (; tmp4 < 2; tmp4++) {
switch (MMC_SWITCH_CAST(tmp4)) {
case 0: {
if (!listEmpty(tmp4_2)) goto tmp3_end;
_txt = tmp4_1;
_a_auxFunction = tmp4_3;
_a_varDecls = tmp4_4;
_a_preExp = tmp4_5;
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_auxFunction;
tmpMeta[0+2] = _a_varDecls;
tmpMeta[0+3] = _a_preExp;
goto tmp3_done;
}
case 1: {
if (listEmpty(tmp4_2)) goto tmp3_end;
tmpMeta[4] = MMC_CAR(tmp4_2);
tmpMeta[5] = MMC_CDR(tmp4_2);
_i_dim = tmpMeta[4];
_rest = tmpMeta[5];
_txt = tmp4_1;
_a_auxFunction = tmp4_3;
_a_varDecls = tmp4_4;
_a_preExp = tmp4_5;
_a_context = tmp4_6;
_txt = omc_CodegenCFunctions_daeExp(threadData, _txt, _i_dim, _a_context, _a_preExp, _a_varDecls, _a_auxFunction ,&_a_preExp ,&_a_varDecls ,&_a_auxFunction);
_txt = omc_Tpl_nextIter(threadData, _txt);
_in_txt = _txt;
_in_items = _rest;
_in_a_auxFunction = _a_auxFunction;
_in_a_varDecls = _a_varDecls;
_in_a_preExp = _a_preExp;
_in_a_context = _a_context;
goto _tailrecursive;
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta[0+0];
_out_a_auxFunction = tmpMeta[0+1];
_out_a_varDecls = tmpMeta[0+2];
_out_a_preExp = tmpMeta[0+3];
_return: OMC_LABEL_UNUSED
if (out_out_a_auxFunction) { *out_out_a_auxFunction = _out_a_auxFunction; }
if (out_out_a_varDecls) { *out_out_a_varDecls = _out_a_varDecls; }
if (out_out_a_preExp) { *out_out_a_preExp = _out_a_preExp; }
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__952(threadData_t *threadData, modelica_metatype _in_txt, modelica_boolean _in_mArg, modelica_metatype _in_a_cstr, modelica_metatype _in_a_tvar)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta[1] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp3_1;modelica_boolean tmp3_2;modelica_metatype tmp3_3;modelica_metatype tmp3_4;
tmp3_1 = _in_txt;
tmp3_2 = _in_mArg;
tmp3_3 = _in_a_cstr;
tmp3_4 = _in_a_tvar;
{
modelica_metatype _txt = NULL;
modelica_metatype _a_cstr = NULL;
modelica_metatype _a_tvar = NULL;
modelica_string _ret_0 = NULL;
volatile mmc_switch_type tmp3;
int tmp4;
tmp3 = 0;
for (; tmp3 < 2; tmp3++) {
switch (MMC_SWITCH_CAST(tmp3)) {
case 0: {
if (0 != tmp3_2) goto tmp2_end;
_txt = tmp3_1;
_a_cstr = tmp3_3;
_a_tvar = tmp3_4;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT248);
_txt = omc_Tpl_writeText(threadData, _txt, _a_tvar);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT925);
_ret_0 = omc_Util_escapeModelicaStringToCString(threadData, omc_Tpl_textString(threadData, _a_cstr));
_txt = omc_Tpl_writeStr(threadData, _txt, _ret_0);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT927);
tmpMeta[0] = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT89);
goto tmp2_done;
}
case 1: {
_txt = tmp3_1;
_a_tvar = tmp3_4;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT248);
_txt = omc_Tpl_writeText(threadData, _txt, _a_tvar);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT929);
_txt = omc_CodegenCFunctions_generateThrow(threadData, _txt);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT931);
tmpMeta[0] = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT89);
goto tmp2_done;
}
}
goto tmp2_end;
tmp2_end: ;
}
goto goto_1;
goto_1:;
MMC_THROW_INTERNAL();
goto tmp2_done;
tmp2_done:;
}
}
_out_txt = tmpMeta[0];
_return: OMC_LABEL_UNUSED
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__952(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_mArg, modelica_metatype _in_a_cstr, modelica_metatype _in_a_tvar)
{
modelica_integer tmp1;
modelica_metatype _out_txt = NULL;
tmp1 = mmc_unbox_integer(_in_mArg);
_out_txt = omc_CodegenCFunctions_fun__952(threadData, _in_txt, tmp1, _in_a_cstr, _in_a_tvar);
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__951(threadData_t *threadData, modelica_metatype _in_txt, modelica_boolean _in_mArg, modelica_metatype _in_a_tvar, modelica_metatype _in_a_var1)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta[1] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp3_1;modelica_boolean tmp3_2;modelica_metatype tmp3_3;modelica_metatype tmp3_4;
tmp3_1 = _in_txt;
tmp3_2 = _in_mArg;
tmp3_3 = _in_a_tvar;
tmp3_4 = _in_a_var1;
{
modelica_metatype _txt = NULL;
modelica_metatype _a_tvar = NULL;
modelica_metatype _a_var1 = NULL;
volatile mmc_switch_type tmp3;
int tmp4;
tmp3 = 0;
for (; tmp3 < 2; tmp3++) {
switch (MMC_SWITCH_CAST(tmp3)) {
case 0: {
if (0 != tmp3_2) goto tmp2_end;
_txt = tmp3_1;
_a_tvar = tmp3_3;
_a_var1 = tmp3_4;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT933);
_txt = omc_Tpl_writeText(threadData, _txt, _a_var1);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT226);
_txt = omc_Tpl_writeText(threadData, _txt, _a_tvar);
tmpMeta[0] = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT935);
goto tmp2_done;
}
case 1: {
_txt = tmp3_1;
_a_tvar = tmp3_3;
_a_var1 = tmp3_4;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT937);
_txt = omc_Tpl_writeText(threadData, _txt, _a_var1);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT939);
_txt = omc_Tpl_writeText(threadData, _txt, _a_tvar);
tmpMeta[0] = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT78);
goto tmp2_done;
}
}
goto tmp2_end;
tmp2_end: ;
}
goto goto_1;
goto_1:;
MMC_THROW_INTERNAL();
goto tmp2_done;
tmp2_done:;
}
}
_out_txt = tmpMeta[0];
_return: OMC_LABEL_UNUSED
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__951(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_mArg, modelica_metatype _in_a_tvar, modelica_metatype _in_a_var1)
{
modelica_integer tmp1;
modelica_metatype _out_txt = NULL;
tmp1 = mmc_unbox_integer(_in_mArg);
_out_txt = omc_CodegenCFunctions_fun__951(threadData, _in_txt, tmp1, _in_a_tvar, _in_a_var1);
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__950(threadData_t *threadData, modelica_metatype _in_txt, modelica_boolean _in_mArg, modelica_metatype _in_a_cstr, modelica_metatype _in_a_tvar)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta[1] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp3_1;modelica_boolean tmp3_2;modelica_metatype tmp3_3;modelica_metatype tmp3_4;
tmp3_1 = _in_txt;
tmp3_2 = _in_mArg;
tmp3_3 = _in_a_cstr;
tmp3_4 = _in_a_tvar;
{
modelica_metatype _txt = NULL;
modelica_metatype _a_cstr = NULL;
modelica_metatype _a_tvar = NULL;
modelica_string _ret_0 = NULL;
volatile mmc_switch_type tmp3;
int tmp4;
tmp3 = 0;
for (; tmp3 < 2; tmp3++) {
switch (MMC_SWITCH_CAST(tmp3)) {
case 0: {
if (0 != tmp3_2) goto tmp2_end;
_txt = tmp3_1;
_a_cstr = tmp3_3;
_a_tvar = tmp3_4;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT248);
_txt = omc_Tpl_writeText(threadData, _txt, _a_tvar);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT941);
_ret_0 = omc_Util_escapeModelicaStringToCString(threadData, omc_Tpl_textString(threadData, _a_cstr));
_txt = omc_Tpl_writeStr(threadData, _txt, _ret_0);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT927);
tmpMeta[0] = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT89);
goto tmp2_done;
}
case 1: {
_txt = tmp3_1;
_a_tvar = tmp3_4;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT248);
_txt = omc_Tpl_writeText(threadData, _txt, _a_tvar);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT943);
_txt = omc_CodegenCFunctions_generateThrow(threadData, _txt);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT931);
tmpMeta[0] = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT89);
goto tmp2_done;
}
}
goto tmp2_end;
tmp2_end: ;
}
goto goto_1;
goto_1:;
MMC_THROW_INTERNAL();
goto tmp2_done;
tmp2_done:;
}
}
_out_txt = tmpMeta[0];
_return: OMC_LABEL_UNUSED
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__950(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_mArg, modelica_metatype _in_a_cstr, modelica_metatype _in_a_tvar)
{
modelica_integer tmp1;
modelica_metatype _out_txt = NULL;
tmp1 = mmc_unbox_integer(_in_mArg);
_out_txt = omc_CodegenCFunctions_fun__950(threadData, _in_txt, tmp1, _in_a_cstr, _in_a_tvar);
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__949(threadData_t *threadData, modelica_metatype _in_txt, modelica_boolean _in_mArg, modelica_metatype _in_a_cstr, modelica_metatype _in_a_tvar)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta[1] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp3_1;modelica_boolean tmp3_2;modelica_metatype tmp3_3;modelica_metatype tmp3_4;
tmp3_1 = _in_txt;
tmp3_2 = _in_mArg;
tmp3_3 = _in_a_cstr;
tmp3_4 = _in_a_tvar;
{
modelica_metatype _txt = NULL;
modelica_metatype _a_cstr = NULL;
modelica_metatype _a_tvar = NULL;
modelica_string _ret_0 = NULL;
volatile mmc_switch_type tmp3;
int tmp4;
tmp3 = 0;
for (; tmp3 < 2; tmp3++) {
switch (MMC_SWITCH_CAST(tmp3)) {
case 0: {
if (0 != tmp3_2) goto tmp2_end;
_txt = tmp3_1;
_a_cstr = tmp3_3;
_a_tvar = tmp3_4;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT248);
_txt = omc_Tpl_writeText(threadData, _txt, _a_tvar);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT941);
_ret_0 = omc_Util_escapeModelicaStringToCString(threadData, omc_Tpl_textString(threadData, _a_cstr));
_txt = omc_Tpl_writeStr(threadData, _txt, _ret_0);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT927);
tmpMeta[0] = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT89);
goto tmp2_done;
}
case 1: {
_txt = tmp3_1;
_a_tvar = tmp3_4;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT248);
_txt = omc_Tpl_writeText(threadData, _txt, _a_tvar);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT943);
_txt = omc_CodegenCFunctions_generateThrow(threadData, _txt);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT931);
tmpMeta[0] = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT89);
goto tmp2_done;
}
}
goto tmp2_end;
tmp2_end: ;
}
goto goto_1;
goto_1:;
MMC_THROW_INTERNAL();
goto tmp2_done;
tmp2_done:;
}
}
_out_txt = tmpMeta[0];
_return: OMC_LABEL_UNUSED
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__949(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_mArg, modelica_metatype _in_a_cstr, modelica_metatype _in_a_tvar)
{
modelica_integer tmp1;
modelica_metatype _out_txt = NULL;
tmp1 = mmc_unbox_integer(_in_mArg);
_out_txt = omc_CodegenCFunctions_fun__949(threadData, _in_txt, tmp1, _in_a_cstr, _in_a_tvar);
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__948(threadData_t *threadData, modelica_metatype _in_txt, modelica_boolean _in_mArg, modelica_metatype _in_a_cstr, modelica_metatype _in_a_tvar)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta[1] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp3_1;modelica_boolean tmp3_2;modelica_metatype tmp3_3;modelica_metatype tmp3_4;
tmp3_1 = _in_txt;
tmp3_2 = _in_mArg;
tmp3_3 = _in_a_cstr;
tmp3_4 = _in_a_tvar;
{
modelica_metatype _txt = NULL;
modelica_metatype _a_cstr = NULL;
modelica_metatype _a_tvar = NULL;
modelica_string _ret_0 = NULL;
volatile mmc_switch_type tmp3;
int tmp4;
tmp3 = 0;
for (; tmp3 < 2; tmp3++) {
switch (MMC_SWITCH_CAST(tmp3)) {
case 0: {
if (0 != tmp3_2) goto tmp2_end;
_txt = tmp3_1;
_a_cstr = tmp3_3;
_a_tvar = tmp3_4;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT248);
_txt = omc_Tpl_writeText(threadData, _txt, _a_tvar);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT941);
_ret_0 = omc_Util_escapeModelicaStringToCString(threadData, omc_Tpl_textString(threadData, _a_cstr));
_txt = omc_Tpl_writeStr(threadData, _txt, _ret_0);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT927);
tmpMeta[0] = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT89);
goto tmp2_done;
}
case 1: {
_txt = tmp3_1;
tmpMeta[0] = _txt;
goto tmp2_done;
}
}
goto tmp2_end;
tmp2_end: ;
}
goto goto_1;
goto_1:;
MMC_THROW_INTERNAL();
goto tmp2_done;
tmp2_done:;
}
}
_out_txt = tmpMeta[0];
_return: OMC_LABEL_UNUSED
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__948(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_mArg, modelica_metatype _in_a_cstr, modelica_metatype _in_a_tvar)
{
modelica_integer tmp1;
modelica_metatype _out_txt = NULL;
tmp1 = mmc_unbox_integer(_in_mArg);
_out_txt = omc_CodegenCFunctions_fun__948(threadData, _in_txt, tmp1, _in_a_cstr, _in_a_tvar);
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__947(threadData_t *threadData, modelica_metatype _in_txt, modelica_boolean _in_mArg, modelica_metatype _in_a_var2, modelica_metatype _in_a_tvar)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta[1] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp3_1;modelica_boolean tmp3_2;modelica_metatype tmp3_3;modelica_metatype tmp3_4;
tmp3_1 = _in_txt;
tmp3_2 = _in_mArg;
tmp3_3 = _in_a_var2;
tmp3_4 = _in_a_tvar;
{
modelica_metatype _txt = NULL;
modelica_metatype _a_var2 = NULL;
modelica_metatype _a_tvar = NULL;
volatile mmc_switch_type tmp3;
int tmp4;
tmp3 = 0;
for (; tmp3 < 2; tmp3++) {
switch (MMC_SWITCH_CAST(tmp3)) {
case 0: {
if (0 != tmp3_2) goto tmp2_end;
_txt = tmp3_1;
_a_var2 = tmp3_3;
_a_tvar = tmp3_4;
_txt = omc_Tpl_writeText(threadData, _txt, _a_tvar);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT121);
_txt = omc_Tpl_writeText(threadData, _txt, _a_var2);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT105);
tmpMeta[0] = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT89);
goto tmp2_done;
}
case 1: {
_txt = tmp3_1;
tmpMeta[0] = _txt;
goto tmp2_done;
}
}
goto tmp2_end;
tmp2_end: ;
}
goto goto_1;
goto_1:;
MMC_THROW_INTERNAL();
goto tmp2_done;
tmp2_done:;
}
}
_out_txt = tmpMeta[0];
_return: OMC_LABEL_UNUSED
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__947(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_mArg, modelica_metatype _in_a_var2, modelica_metatype _in_a_tvar)
{
modelica_integer tmp1;
modelica_metatype _out_txt = NULL;
tmp1 = mmc_unbox_integer(_in_mArg);
_out_txt = omc_CodegenCFunctions_fun__947(threadData, _in_txt, tmp1, _in_a_var2, _in_a_tvar);
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__946(threadData_t *threadData, modelica_metatype _in_txt, modelica_boolean _in_mArg, modelica_metatype _in_a_var2, modelica_metatype _in_a_varDecls, modelica_metatype _in_a_tp__str, modelica_metatype *out_out_a_varDecls)
{
modelica_metatype _out_txt = NULL;
modelica_metatype _out_a_varDecls = NULL;
modelica_metatype tmpMeta[2] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_boolean tmp4_2;modelica_metatype tmp4_3;modelica_metatype tmp4_4;modelica_metatype tmp4_5;
tmp4_1 = _in_txt;
tmp4_2 = _in_mArg;
tmp4_3 = _in_a_var2;
tmp4_4 = _in_a_varDecls;
tmp4_5 = _in_a_tp__str;
{
modelica_metatype _txt = NULL;
modelica_metatype _a_var2 = NULL;
modelica_metatype _a_varDecls = NULL;
modelica_metatype _a_tp__str = NULL;
volatile mmc_switch_type tmp4;
int tmp5;
tmp4 = 0;
for (; tmp4 < 2; tmp4++) {
switch (MMC_SWITCH_CAST(tmp4)) {
case 0: {
if (0 != tmp4_2) goto tmp3_end;
_txt = tmp4_1;
_a_varDecls = tmp4_4;
_a_tp__str = tmp4_5;
tmpMeta[0+0] = omc_CodegenCFunctions_tempDecl(threadData, _txt, omc_Tpl_textString(threadData, _a_tp__str), _a_varDecls, &tmpMeta[0+1]);
goto tmp3_done;
}
case 1: {
_txt = tmp4_1;
_a_var2 = tmp4_3;
_a_varDecls = tmp4_4;
_txt = omc_Tpl_writeText(threadData, _txt, _a_var2);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_varDecls;
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta[0+0];
_out_a_varDecls = tmpMeta[0+1];
_return: OMC_LABEL_UNUSED
if (out_out_a_varDecls) { *out_out_a_varDecls = _out_a_varDecls; }
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__946(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_mArg, modelica_metatype _in_a_var2, modelica_metatype _in_a_varDecls, modelica_metatype _in_a_tp__str, modelica_metatype *out_out_a_varDecls)
{
modelica_integer tmp1;
modelica_metatype _out_txt = NULL;
tmp1 = mmc_unbox_integer(_in_mArg);
_out_txt = omc_CodegenCFunctions_fun__946(threadData, _in_txt, tmp1, _in_a_var2, _in_a_varDecls, _in_a_tp__str, out_out_a_varDecls);
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__945(threadData_t *threadData, modelica_metatype _in_txt, modelica_boolean _in_mArg, modelica_metatype _in_a_context, modelica_metatype _in_a_argStr, modelica_metatype _in_a_preExp, modelica_metatype _in_a_varDecls, modelica_metatype _in_a_e1, modelica_metatype *out_out_a_preExp, modelica_metatype *out_out_a_varDecls)
{
modelica_metatype _out_txt = NULL;
modelica_metatype _out_a_preExp = NULL;
modelica_metatype _out_a_varDecls = NULL;
modelica_metatype tmpMeta[3] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_boolean tmp4_2;modelica_metatype tmp4_3;modelica_metatype tmp4_4;modelica_metatype tmp4_5;modelica_metatype tmp4_6;modelica_metatype tmp4_7;
tmp4_1 = _in_txt;
tmp4_2 = _in_mArg;
tmp4_3 = _in_a_context;
tmp4_4 = _in_a_argStr;
tmp4_5 = _in_a_preExp;
tmp4_6 = _in_a_varDecls;
tmp4_7 = _in_a_e1;
{
modelica_metatype _txt = NULL;
modelica_metatype _a_context = NULL;
modelica_metatype _a_argStr = NULL;
modelica_metatype _a_preExp = NULL;
modelica_metatype _a_varDecls = NULL;
modelica_metatype _a_e1 = NULL;
modelica_metatype _txt_4 = NULL;
modelica_string _ret_4 = NULL;
modelica_metatype _txt_3 = NULL;
modelica_metatype _l_cstr = NULL;
modelica_metatype _txt_1 = NULL;
modelica_metatype _l_tmp = NULL;
volatile mmc_switch_type tmp4;
int tmp5;
tmp4 = 0;
for (; tmp4 < 2; tmp4++) {
switch (MMC_SWITCH_CAST(tmp4)) {
case 0: {
if (0 != tmp4_2) goto tmp3_end;
_txt = tmp4_1;
_a_context = tmp4_3;
_a_argStr = tmp4_4;
_a_preExp = tmp4_5;
_a_varDecls = tmp4_6;
_a_e1 = tmp4_7;
_txt_1 = omc_CodegenCFunctions_expTypeFromExpModelica(threadData, _OMC_LIT20, _a_e1);
_l_tmp = omc_CodegenCFunctions_tempDecl(threadData, _OMC_LIT20, omc_Tpl_textString(threadData, _txt_1), _a_varDecls ,&_a_varDecls);
_l_cstr = omc_ExpressionDumpTpl_dumpExp(threadData, _OMC_LIT20, _a_e1, _OMC_LIT231);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _l_tmp);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT121);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _a_argStr);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT161);
_txt_3 = omc_Tpl_writeText(threadData, _OMC_LIT20, _l_tmp);
_txt_3 = omc_Tpl_writeTok(threadData, _txt_3, _OMC_LIT945);
_txt_4 = omc_Tpl_writeTok(threadData, _OMC_LIT20, _OMC_LIT947);
_ret_4 = omc_Util_escapeModelicaStringToCString(threadData, omc_Tpl_textString(threadData, _l_cstr));
_txt_4 = omc_Tpl_writeStr(threadData, _txt_4, _ret_4);
_txt_4 = omc_Tpl_writeTok(threadData, _txt_4, _OMC_LIT949);
_txt_4 = omc_Tpl_writeText(threadData, _txt_4, _l_tmp);
_a_preExp = omc_CodegenCFunctions_assertCommonVar(threadData, _a_preExp, _txt_3, _txt_4, _a_context, _a_varDecls, _OMC_LIT697 ,&_txt_3 ,&_txt_4 ,&_a_varDecls);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT951);
_txt = omc_Tpl_writeText(threadData, _txt, _l_tmp);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT78);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_preExp;
tmpMeta[0+2] = _a_varDecls;
goto tmp3_done;
}
case 1: {
_txt = tmp4_1;
_a_argStr = tmp4_4;
_a_preExp = tmp4_5;
_a_varDecls = tmp4_6;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT951);
_txt = omc_Tpl_writeText(threadData, _txt, _a_argStr);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT78);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_preExp;
tmpMeta[0+2] = _a_varDecls;
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta[0+0];
_out_a_preExp = tmpMeta[0+1];
_out_a_varDecls = tmpMeta[0+2];
_return: OMC_LABEL_UNUSED
if (out_out_a_preExp) { *out_out_a_preExp = _out_a_preExp; }
if (out_out_a_varDecls) { *out_out_a_varDecls = _out_a_varDecls; }
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__945(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_mArg, modelica_metatype _in_a_context, modelica_metatype _in_a_argStr, modelica_metatype _in_a_preExp, modelica_metatype _in_a_varDecls, modelica_metatype _in_a_e1, modelica_metatype *out_out_a_preExp, modelica_metatype *out_out_a_varDecls)
{
modelica_integer tmp1;
modelica_metatype _out_txt = NULL;
tmp1 = mmc_unbox_integer(_in_mArg);
_out_txt = omc_CodegenCFunctions_fun__945(threadData, _in_txt, tmp1, _in_a_context, _in_a_argStr, _in_a_preExp, _in_a_varDecls, _in_a_e1, out_out_a_preExp, out_out_a_varDecls);
return _out_txt;
}
DLLExport
modelica_metatype omc_CodegenCFunctions_daeExpPartEvalFunction(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_exp, modelica_metatype _in_a_context, modelica_metatype _in_a_preExp, modelica_metatype _in_a_varDecls, modelica_metatype _in_a_auxFunction, modelica_metatype *out_out_a_preExp, modelica_metatype *out_out_a_varDecls, modelica_metatype *out_out_a_auxFunction)
{
modelica_metatype _out_txt = NULL;
modelica_metatype _out_a_preExp = NULL;
modelica_metatype _out_a_varDecls = NULL;
modelica_metatype _out_a_auxFunction = NULL;
modelica_metatype tmpMeta[15] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_metatype tmp4_2;modelica_metatype tmp4_3;modelica_metatype tmp4_4;modelica_metatype tmp4_5;modelica_metatype tmp4_6;
tmp4_1 = _in_txt;
tmp4_2 = _in_a_exp;
tmp4_3 = _in_a_context;
tmp4_4 = _in_a_preExp;
tmp4_5 = _in_a_varDecls;
tmp4_6 = _in_a_auxFunction;
{
modelica_metatype _txt = NULL;
modelica_metatype _a_context = NULL;
modelica_metatype _a_preExp = NULL;
modelica_metatype _a_varDecls = NULL;
modelica_metatype _a_auxFunction = NULL;
modelica_metatype _i_origType = NULL;
modelica_metatype _i_ty = NULL;
modelica_metatype _i_exp = NULL;
modelica_metatype _i_orig = NULL;
modelica_metatype _i_orig_funcArg = NULL;
modelica_metatype _i_t_funcArg = NULL;
modelica_boolean _i_attr_isFunctionPointer;
modelica_metatype _i_expList = NULL;
modelica_metatype _i_name = NULL;
modelica_metatype _i_t_funcResultType = NULL;
modelica_metatype _txt_10 = NULL;
modelica_string _ret_11 = NULL;
modelica_string _ret_10 = NULL;
modelica_boolean _ret_9;
modelica_metatype _ret_8 = NULL;
modelica_metatype _l_createClosure = NULL;
modelica_metatype _l_closure = NULL;
modelica_metatype _l_return = NULL;
modelica_integer _ret_4;
modelica_metatype _l_func = NULL;
modelica_metatype _l_retInput = NULL;
modelica_metatype _l_ret = NULL;
modelica_metatype _l_varDeclInner = NULL;
volatile mmc_switch_type tmp4;
int tmp5;
tmp4 = 0;
for (; tmp4 < 3; tmp4++) {
switch (MMC_SWITCH_CAST(tmp4)) {
case 0: {
modelica_integer tmp6;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,15,4) == 0) goto tmp3_end;
tmpMeta[4] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 3));
tmpMeta[5] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 4));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[5],12,1) == 0) goto tmp3_end;
tmpMeta[6] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[5]), 2));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[6],11,4) == 0) goto tmp3_end;
tmpMeta[7] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[6]), 2));
tmpMeta[8] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[6]), 3));
tmpMeta[9] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 5));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[9],12,1) == 0) goto tmp3_end;
tmpMeta[10] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[9]), 2));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[10],11,4) == 0) goto tmp3_end;
tmpMeta[11] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[10]), 2));
tmpMeta[12] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[10]), 4));
tmpMeta[13] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[12]), 5));
tmp6 = mmc_unbox_integer(tmpMeta[13]);
tmpMeta[14] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[10]), 5));
_i_expList = tmpMeta[4];
_i_t_funcArg = tmpMeta[7];
_i_t_funcResultType = tmpMeta[8];
_i_orig = tmpMeta[10];
_i_orig_funcArg = tmpMeta[11];
_i_attr_isFunctionPointer = tmp6;
_i_name = tmpMeta[14];
_txt = tmp4_1;
_a_context = tmp4_3;
_a_preExp = tmp4_4;
_a_varDecls = tmp4_5;
_a_auxFunction = tmp4_6;
_l_varDeclInner = _OMC_LIT20;
_l_ret = _OMC_LIT20;
_l_retInput = omc_CodegenCFunctions_fun__931(threadData, _OMC_LIT20, _i_t_funcResultType, _l_ret ,&_l_ret);
_l_func = omc_Tpl_writeTok(threadData, _OMC_LIT20, _OMC_LIT953);
_ret_4 = omc_System_tmpTickIndex(threadData, ((modelica_integer) 2));
_l_func = omc_Tpl_writeStr(threadData, _l_func, intString(_ret_4));
_l_func = omc_Tpl_writeTok(threadData, _l_func, _OMC_LIT236);
_l_func = omc_CodegenUtil_underscorePath(threadData, _l_func, _i_name);
_l_return = omc_CodegenCFunctions_fun__932(threadData, _OMC_LIT20, _i_t_funcResultType);
_l_closure = omc_CodegenCFunctions_tempDecl(threadData, _OMC_LIT20, _OMC_LIT311, _a_varDecls ,&_a_varDecls);
_l_createClosure = omc_CodegenCFunctions_lm__933(threadData, _OMC_LIT20, _i_expList, _a_auxFunction, _a_varDecls, _a_preExp, _a_context ,&_a_auxFunction ,&_a_varDecls ,&_a_preExp);
_l_createClosure = omc_CodegenCFunctions_fun__934(threadData, _l_createClosure, _i_attr_isFunctionPointer, _i_name);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _l_closure);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT955);
_a_preExp = omc_CodegenCFunctions_fun__935(threadData, _a_preExp, _i_attr_isFunctionPointer, _i_expList);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT957);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _l_createClosure);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT290);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT89);
_a_auxFunction = omc_Tpl_writeTok(threadData, _a_auxFunction, _OMC_LIT959);
_a_auxFunction = omc_CodegenCFunctions_fun__936(threadData, _a_auxFunction, _i_t_funcResultType);
_a_auxFunction = omc_Tpl_writeTok(threadData, _a_auxFunction, _OMC_LIT29);
_a_auxFunction = omc_Tpl_writeText(threadData, _a_auxFunction, _l_func);
_a_auxFunction = omc_Tpl_writeTok(threadData, _a_auxFunction, _OMC_LIT961);
_a_auxFunction = omc_CodegenCFunctions_lm__937(threadData, _a_auxFunction, _i_t_funcArg);
_a_auxFunction = omc_Tpl_writeText(threadData, _a_auxFunction, _l_retInput);
_a_auxFunction = omc_Tpl_writeTok(threadData, _a_auxFunction, _OMC_LIT428);
_a_auxFunction = omc_Tpl_pushBlock(threadData, _a_auxFunction, _OMC_LIT97);
_a_auxFunction = omc_Tpl_writeText(threadData, _a_auxFunction, _l_varDeclInner);
_a_auxFunction = omc_Tpl_softNewLine(threadData, _a_auxFunction);
_ret_8 = omc_List_setDifference(threadData, _i_orig_funcArg, _i_t_funcArg);
_a_auxFunction = omc_Tpl_pushIter(threadData, _a_auxFunction, _OMC_LIT118);
_a_auxFunction = omc_CodegenCFunctions_lm__938(threadData, _a_auxFunction, _ret_8);
_a_auxFunction = omc_Tpl_popIter(threadData, _a_auxFunction);
_a_auxFunction = omc_Tpl_softNewLine(threadData, _a_auxFunction);
_a_auxFunction = omc_CodegenCFunctions_fun__942(threadData, _a_auxFunction, _i_attr_isFunctionPointer, _i_t_funcArg, _i_orig, _l_ret, _i_orig_funcArg, _i_name, _l_return);
_a_auxFunction = omc_Tpl_softNewLine(threadData, _a_auxFunction);
_a_auxFunction = omc_Tpl_popBlock(threadData, _a_auxFunction);
_a_auxFunction = omc_Tpl_writeTok(threadData, _a_auxFunction, _OMC_LIT103);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT963);
_ret_9 = omc_Flags_isSet(threadData, _OMC_LIT604);
_txt = omc_CodegenCFunctions_fun__943(threadData, _txt, _ret_9);
_txt = omc_Tpl_writeText(threadData, _txt, _l_func);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT226);
_txt = omc_Tpl_writeText(threadData, _txt, _l_closure);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT78);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_preExp;
tmpMeta[0+2] = _a_varDecls;
tmpMeta[0+3] = _a_auxFunction;
goto tmp3_done;
}
case 1: {
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,15,4) == 0) goto tmp3_end;
tmpMeta[4] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 4));
tmpMeta[5] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 5));
_i_exp = tmp4_2;
_i_ty = tmpMeta[4];
_i_origType = tmpMeta[5];
_txt = tmp4_1;
_a_preExp = tmp4_4;
_a_varDecls = tmp4_5;
_a_auxFunction = tmp4_6;
_txt_10 = omc_Tpl_writeTok(threadData, _OMC_LIT20, _OMC_LIT965);
_txt_10 = omc_ExpressionDumpTpl_dumpExp(threadData, _txt_10, _i_exp, _OMC_LIT231);
_txt_10 = omc_Tpl_writeTok(threadData, _txt_10, _OMC_LIT967);
_ret_10 = omc_Types_unparseType(threadData, _i_ty);
_txt_10 = omc_Tpl_writeStr(threadData, _txt_10, _ret_10);
_txt_10 = omc_Tpl_writeTok(threadData, _txt_10, _OMC_LIT969);
_ret_11 = omc_Types_unparseType(threadData, _i_origType);
_txt_10 = omc_Tpl_writeStr(threadData, _txt_10, _ret_11);
_txt = omc_CodegenUtil_error(threadData, _txt, omc_Tpl_sourceInfo(threadData, _OMC_LIT27, ((modelica_integer) 6091), ((modelica_integer) 13)), omc_Tpl_textString(threadData, _txt_10));
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_preExp;
tmpMeta[0+2] = _a_varDecls;
tmpMeta[0+3] = _a_auxFunction;
goto tmp3_done;
}
case 2: {
_txt = tmp4_1;
_a_preExp = tmp4_4;
_a_varDecls = tmp4_5;
_a_auxFunction = tmp4_6;
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_preExp;
tmpMeta[0+2] = _a_varDecls;
tmpMeta[0+3] = _a_auxFunction;
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta[0+0];
_out_a_preExp = tmpMeta[0+1];
_out_a_varDecls = tmpMeta[0+2];
_out_a_auxFunction = tmpMeta[0+3];
_return: OMC_LABEL_UNUSED
if (out_out_a_preExp) { *out_out_a_preExp = _out_a_preExp; }
if (out_out_a_varDecls) { *out_out_a_varDecls = _out_a_varDecls; }
if (out_out_a_auxFunction) { *out_out_a_auxFunction = _out_a_auxFunction; }
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__943(threadData_t *threadData, modelica_metatype _in_txt, modelica_boolean _in_mArg)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta[1] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp3_1;modelica_boolean tmp3_2;
tmp3_1 = _in_txt;
tmp3_2 = _in_mArg;
{
modelica_metatype _txt = NULL;
volatile mmc_switch_type tmp3;
int tmp4;
tmp3 = 0;
for (; tmp3 < 2; tmp3++) {
switch (MMC_SWITCH_CAST(tmp3)) {
case 0: {
if (0 != tmp3_2) goto tmp2_end;
_txt = tmp3_1;
tmpMeta[0] = _txt;
goto tmp2_done;
}
case 1: {
_txt = tmp3_1;
tmpMeta[0] = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT582);
goto tmp2_done;
}
}
goto tmp2_end;
tmp2_end: ;
}
goto goto_1;
goto_1:;
MMC_THROW_INTERNAL();
goto tmp2_done;
tmp2_done:;
}
}
_out_txt = tmpMeta[0];
_return: OMC_LABEL_UNUSED
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__943(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_mArg)
{
modelica_integer tmp1;
modelica_metatype _out_txt = NULL;
tmp1 = mmc_unbox_integer(_in_mArg);
_out_txt = omc_CodegenCFunctions_fun__943(threadData, _in_txt, tmp1);
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__942(threadData_t *threadData, modelica_metatype _in_txt, modelica_boolean _in_a_attr_isFunctionPointer, modelica_metatype _in_a_t_funcArg, modelica_metatype _in_a_orig, modelica_metatype _in_a_ret, modelica_metatype _in_a_orig_funcArg, modelica_metatype _in_a_name, modelica_metatype _in_a_return)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta[1] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp3_1;modelica_boolean tmp3_2;modelica_metatype tmp3_3;modelica_metatype tmp3_4;modelica_metatype tmp3_5;modelica_metatype tmp3_6;modelica_metatype tmp3_7;modelica_metatype tmp3_8;
tmp3_1 = _in_txt;
tmp3_2 = _in_a_attr_isFunctionPointer;
tmp3_3 = _in_a_t_funcArg;
tmp3_4 = _in_a_orig;
tmp3_5 = _in_a_ret;
tmp3_6 = _in_a_orig_funcArg;
tmp3_7 = _in_a_name;
tmp3_8 = _in_a_return;
{
modelica_metatype _txt = NULL;
modelica_metatype _a_t_funcArg = NULL;
modelica_metatype _a_orig = NULL;
modelica_metatype _a_ret = NULL;
modelica_metatype _a_orig_funcArg = NULL;
modelica_metatype _a_name = NULL;
modelica_metatype _a_return = NULL;
modelica_integer _ret_6;
modelica_integer _ret_5;
modelica_metatype _ret_4 = NULL;
modelica_metatype _l_typeCast2 = NULL;
modelica_metatype _l_typeCast1 = NULL;
modelica_metatype _l_func = NULL;
modelica_metatype _l_fname = NULL;
volatile mmc_switch_type tmp3;
int tmp4;
tmp3 = 0;
for (; tmp3 < 2; tmp3++) {
switch (MMC_SWITCH_CAST(tmp3)) {
case 0: {
if (0 != tmp3_2) goto tmp2_end;
_txt = tmp3_1;
_a_ret = tmp3_5;
_a_orig_funcArg = tmp3_6;
_a_name = tmp3_7;
_a_return = tmp3_8;
_txt = omc_Tpl_writeText(threadData, _txt, _a_return);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT971);
_txt = omc_CodegenUtil_underscorePath(threadData, _txt, _a_name);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT973);
_txt = omc_CodegenCFunctions_lm__939(threadData, _txt, _a_orig_funcArg);
_txt = omc_Tpl_writeText(threadData, _txt, _a_ret);
tmpMeta[0] = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT290);
goto tmp2_done;
}
case 1: {
_txt = tmp3_1;
_a_t_funcArg = tmp3_3;
_a_orig = tmp3_4;
_a_ret = tmp3_5;
_a_orig_funcArg = tmp3_6;
_a_name = tmp3_7;
_a_return = tmp3_8;
_l_fname = omc_Tpl_writeTok(threadData, _OMC_LIT20, _OMC_LIT236);
_l_fname = omc_CodegenUtil_underscorePath(threadData, _l_fname, _a_name);
_l_func = omc_Tpl_writeTok(threadData, _OMC_LIT20, _OMC_LIT520);
_l_func = omc_Tpl_writeText(threadData, _l_func, _l_fname);
_l_func = omc_Tpl_writeTok(threadData, _l_func, _OMC_LIT613);
_l_typeCast1 = omc_CodegenCFunctions_generateTypeCastFromType(threadData, _OMC_LIT20, _a_orig, 1);
_l_typeCast2 = omc_CodegenCFunctions_generateTypeCastFromType(threadData, _OMC_LIT20, _a_orig, 0);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT975);
_txt = omc_Tpl_writeText(threadData, _txt, _l_fname);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT977);
_ret_4 = omc_List_setDifference(threadData, _a_orig_funcArg, _a_t_funcArg);
_ret_5 = listLength(_ret_4);
_ret_6 = omc_SimCodeFunctionUtil_incrementInt(threadData, _ret_5, ((modelica_integer) 1));
_txt = omc_Tpl_writeStr(threadData, _txt, intString(_ret_6));
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT981);
_txt = omc_Tpl_writeText(threadData, _txt, _l_fname);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT983);
_txt = omc_Tpl_pushBlock(threadData, _txt, _OMC_LIT97);
_txt = omc_Tpl_writeText(threadData, _txt, _a_return);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT328);
_txt = omc_Tpl_writeText(threadData, _txt, _l_typeCast1);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT29);
_txt = omc_Tpl_writeText(threadData, _txt, _l_func);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT985);
_txt = omc_Tpl_writeText(threadData, _txt, _l_fname);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT987);
_txt = omc_CodegenCFunctions_lm__940(threadData, _txt, _a_orig_funcArg);
_txt = omc_Tpl_writeText(threadData, _txt, _a_ret);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT375);
_txt = omc_Tpl_popBlock(threadData, _txt);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT989);
_txt = omc_Tpl_pushBlock(threadData, _txt, _OMC_LIT97);
_txt = omc_Tpl_writeText(threadData, _txt, _a_return);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT328);
_txt = omc_Tpl_writeText(threadData, _txt, _l_typeCast2);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT29);
_txt = omc_Tpl_writeText(threadData, _txt, _l_func);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT991);
_txt = omc_CodegenCFunctions_lm__941(threadData, _txt, _a_orig_funcArg);
_txt = omc_Tpl_writeText(threadData, _txt, _a_ret);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT375);
_txt = omc_Tpl_popBlock(threadData, _txt);
tmpMeta[0] = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT103);
goto tmp2_done;
}
}
goto tmp2_end;
tmp2_end: ;
}
goto goto_1;
goto_1:;
MMC_THROW_INTERNAL();
goto tmp2_done;
tmp2_done:;
}
}
_out_txt = tmpMeta[0];
_return: OMC_LABEL_UNUSED
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__942(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_attr_isFunctionPointer, modelica_metatype _in_a_t_funcArg, modelica_metatype _in_a_orig, modelica_metatype _in_a_ret, modelica_metatype _in_a_orig_funcArg, modelica_metatype _in_a_name, modelica_metatype _in_a_return)
{
modelica_integer tmp1;
modelica_metatype _out_txt = NULL;
tmp1 = mmc_unbox_integer(_in_a_attr_isFunctionPointer);
_out_txt = omc_CodegenCFunctions_fun__942(threadData, _in_txt, tmp1, _in_a_t_funcArg, _in_a_orig, _in_a_ret, _in_a_orig_funcArg, _in_a_name, _in_a_return);
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_lm__941(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_items)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta[4] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp3_1;modelica_metatype tmp3_2;
tmp3_1 = _in_txt;
tmp3_2 = _in_items;
{
modelica_metatype _txt = NULL;
modelica_metatype _rest = NULL;
modelica_string _i_a_name = NULL;
volatile mmc_switch_type tmp3;
int tmp4;
tmp3 = 0;
for (; tmp3 < 3; tmp3++) {
switch (MMC_SWITCH_CAST(tmp3)) {
case 0: {
if (!listEmpty(tmp3_2)) goto tmp2_end;
_txt = tmp3_1;
tmpMeta[0] = _txt;
goto tmp2_done;
}
case 1: {
if (listEmpty(tmp3_2)) goto tmp2_end;
tmpMeta[1] = MMC_CAR(tmp3_2);
tmpMeta[2] = MMC_CDR(tmp3_2);
tmpMeta[3] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[1]), 2));
_i_a_name = tmpMeta[3];
_rest = tmpMeta[2];
_txt = tmp3_1;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT292);
_txt = omc_Tpl_writeStr(threadData, _txt, _i_a_name);
_in_txt = _txt;
_in_items = _rest;
goto _tailrecursive;
goto tmp2_done;
}
case 2: {
if (listEmpty(tmp3_2)) goto tmp2_end;
tmpMeta[1] = MMC_CAR(tmp3_2);
tmpMeta[2] = MMC_CDR(tmp3_2);
_rest = tmpMeta[2];
_txt = tmp3_1;
_in_txt = _txt;
_in_items = _rest;
goto _tailrecursive;
goto tmp2_done;
}
}
goto tmp2_end;
tmp2_end: ;
}
goto goto_1;
goto_1:;
MMC_THROW_INTERNAL();
goto tmp2_done;
tmp2_done:;
}
}
_out_txt = tmpMeta[0];
_return: OMC_LABEL_UNUSED
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_lm__940(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_items)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta[4] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp3_1;modelica_metatype tmp3_2;
tmp3_1 = _in_txt;
tmp3_2 = _in_items;
{
modelica_metatype _txt = NULL;
modelica_metatype _rest = NULL;
modelica_string _i_a_name = NULL;
volatile mmc_switch_type tmp3;
int tmp4;
tmp3 = 0;
for (; tmp3 < 3; tmp3++) {
switch (MMC_SWITCH_CAST(tmp3)) {
case 0: {
if (!listEmpty(tmp3_2)) goto tmp2_end;
_txt = tmp3_1;
tmpMeta[0] = _txt;
goto tmp2_done;
}
case 1: {
if (listEmpty(tmp3_2)) goto tmp2_end;
tmpMeta[1] = MMC_CAR(tmp3_2);
tmpMeta[2] = MMC_CDR(tmp3_2);
tmpMeta[3] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[1]), 2));
_i_a_name = tmpMeta[3];
_rest = tmpMeta[2];
_txt = tmp3_1;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT292);
_txt = omc_Tpl_writeStr(threadData, _txt, _i_a_name);
_in_txt = _txt;
_in_items = _rest;
goto _tailrecursive;
goto tmp2_done;
}
case 2: {
if (listEmpty(tmp3_2)) goto tmp2_end;
tmpMeta[1] = MMC_CAR(tmp3_2);
tmpMeta[2] = MMC_CDR(tmp3_2);
_rest = tmpMeta[2];
_txt = tmp3_1;
_in_txt = _txt;
_in_items = _rest;
goto _tailrecursive;
goto tmp2_done;
}
}
goto tmp2_end;
tmp2_end: ;
}
goto goto_1;
goto_1:;
MMC_THROW_INTERNAL();
goto tmp2_done;
tmp2_done:;
}
}
_out_txt = tmpMeta[0];
_return: OMC_LABEL_UNUSED
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_lm__939(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_items)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta[4] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp3_1;modelica_metatype tmp3_2;
tmp3_1 = _in_txt;
tmp3_2 = _in_items;
{
modelica_metatype _txt = NULL;
modelica_metatype _rest = NULL;
modelica_string _i_a_name = NULL;
volatile mmc_switch_type tmp3;
int tmp4;
tmp3 = 0;
for (; tmp3 < 3; tmp3++) {
switch (MMC_SWITCH_CAST(tmp3)) {
case 0: {
if (!listEmpty(tmp3_2)) goto tmp2_end;
_txt = tmp3_1;
tmpMeta[0] = _txt;
goto tmp2_done;
}
case 1: {
if (listEmpty(tmp3_2)) goto tmp2_end;
tmpMeta[1] = MMC_CAR(tmp3_2);
tmpMeta[2] = MMC_CDR(tmp3_2);
tmpMeta[3] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[1]), 2));
_i_a_name = tmpMeta[3];
_rest = tmpMeta[2];
_txt = tmp3_1;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT292);
_txt = omc_Tpl_writeStr(threadData, _txt, _i_a_name);
_in_txt = _txt;
_in_items = _rest;
goto _tailrecursive;
goto tmp2_done;
}
case 2: {
if (listEmpty(tmp3_2)) goto tmp2_end;
tmpMeta[1] = MMC_CAR(tmp3_2);
tmpMeta[2] = MMC_CDR(tmp3_2);
_rest = tmpMeta[2];
_txt = tmp3_1;
_in_txt = _txt;
_in_items = _rest;
goto _tailrecursive;
goto tmp2_done;
}
}
goto tmp2_end;
tmp2_end: ;
}
goto goto_1;
goto_1:;
MMC_THROW_INTERNAL();
goto tmp2_done;
tmp2_done:;
}
}
_out_txt = tmpMeta[0];
_return: OMC_LABEL_UNUSED
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_lm__938(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_items)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta[5] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp3_1;modelica_metatype tmp3_2;
tmp3_1 = _in_txt;
tmp3_2 = _in_items;
{
modelica_metatype _txt = NULL;
modelica_metatype _rest = NULL;
modelica_integer _x_i1;
modelica_string _i_a_name = NULL;
modelica_metatype _i_a_ty = NULL;
volatile mmc_switch_type tmp3;
int tmp4;
tmp3 = 0;
for (; tmp3 < 3; tmp3++) {
switch (MMC_SWITCH_CAST(tmp3)) {
case 0: {
if (!listEmpty(tmp3_2)) goto tmp2_end;
_txt = tmp3_1;
tmpMeta[0] = _txt;
goto tmp2_done;
}
case 1: {
if (listEmpty(tmp3_2)) goto tmp2_end;
tmpMeta[1] = MMC_CAR(tmp3_2);
tmpMeta[2] = MMC_CDR(tmp3_2);
tmpMeta[3] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[1]), 2));
tmpMeta[4] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[1]), 3));
_i_a_name = tmpMeta[3];
_i_a_ty = tmpMeta[4];
_rest = tmpMeta[2];
_txt = tmp3_1;
_x_i1 = omc_Tpl_getIteri__i0(threadData, _txt);
_txt = omc_CodegenCFunctions_expTypeArrayIf(threadData, _txt, _i_a_ty);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT29);
_txt = omc_Tpl_writeStr(threadData, _txt, _i_a_name);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT977);
_txt = omc_Tpl_writeStr(threadData, _txt, intString(_x_i1));
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT823);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT89);
_txt = omc_Tpl_nextIter(threadData, _txt);
_in_txt = _txt;
_in_items = _rest;
goto _tailrecursive;
goto tmp2_done;
}
case 2: {
if (listEmpty(tmp3_2)) goto tmp2_end;
tmpMeta[1] = MMC_CAR(tmp3_2);
tmpMeta[2] = MMC_CDR(tmp3_2);
_rest = tmpMeta[2];
_txt = tmp3_1;
_in_txt = _txt;
_in_items = _rest;
goto _tailrecursive;
goto tmp2_done;
}
}
goto tmp2_end;
tmp2_end: ;
}
goto goto_1;
goto_1:;
MMC_THROW_INTERNAL();
goto tmp2_done;
tmp2_done:;
}
}
_out_txt = tmpMeta[0];
_return: OMC_LABEL_UNUSED
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_lm__937(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_items)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta[5] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp3_1;modelica_metatype tmp3_2;
tmp3_1 = _in_txt;
tmp3_2 = _in_items;
{
modelica_metatype _txt = NULL;
modelica_metatype _rest = NULL;
modelica_string _i_a_name = NULL;
modelica_metatype _i_a_ty = NULL;
volatile mmc_switch_type tmp3;
int tmp4;
tmp3 = 0;
for (; tmp3 < 3; tmp3++) {
switch (MMC_SWITCH_CAST(tmp3)) {
case 0: {
if (!listEmpty(tmp3_2)) goto tmp2_end;
_txt = tmp3_1;
tmpMeta[0] = _txt;
goto tmp2_done;
}
case 1: {
if (listEmpty(tmp3_2)) goto tmp2_end;
tmpMeta[1] = MMC_CAR(tmp3_2);
tmpMeta[2] = MMC_CDR(tmp3_2);
tmpMeta[3] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[1]), 2));
tmpMeta[4] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[1]), 3));
_i_a_name = tmpMeta[3];
_i_a_ty = tmpMeta[4];
_rest = tmpMeta[2];
_txt = tmp3_1;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT292);
_txt = omc_CodegenCFunctions_expTypeArrayIf(threadData, _txt, _i_a_ty);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT29);
_txt = omc_Tpl_writeStr(threadData, _txt, _i_a_name);
_in_txt = _txt;
_in_items = _rest;
goto _tailrecursive;
goto tmp2_done;
}
case 2: {
if (listEmpty(tmp3_2)) goto tmp2_end;
tmpMeta[1] = MMC_CAR(tmp3_2);
tmpMeta[2] = MMC_CDR(tmp3_2);
_rest = tmpMeta[2];
_txt = tmp3_1;
_in_txt = _txt;
_in_items = _rest;
goto _tailrecursive;
goto tmp2_done;
}
}
goto tmp2_end;
tmp2_end: ;
}
goto goto_1;
goto_1:;
MMC_THROW_INTERNAL();
goto tmp2_done;
tmp2_done:;
}
}
_out_txt = tmpMeta[0];
_return: OMC_LABEL_UNUSED
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__936(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_t_funcResultType)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta[1] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp3_1;modelica_metatype tmp3_2;
tmp3_1 = _in_txt;
tmp3_2 = _in_a_t_funcResultType;
{
modelica_metatype _txt = NULL;
volatile mmc_switch_type tmp3;
int tmp4;
tmp3 = 0;
for (; tmp3 < 2; tmp3++) {
switch (MMC_SWITCH_CAST(tmp3)) {
case 0: {
if (mmc__uniontype__metarecord__typedef__equal(tmp3_2,7,0) == 0) goto tmp2_end;
_txt = tmp3_1;
tmpMeta[0] = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT610);
goto tmp2_done;
}
case 1: {
_txt = tmp3_1;
tmpMeta[0] = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT611);
goto tmp2_done;
}
}
goto tmp2_end;
tmp2_end: ;
}
goto goto_1;
goto_1:;
MMC_THROW_INTERNAL();
goto tmp2_done;
tmp2_done:;
}
}
_out_txt = tmpMeta[0];
_return: OMC_LABEL_UNUSED
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__935(threadData_t *threadData, modelica_metatype _in_txt, modelica_boolean _in_a_attr_isFunctionPointer, modelica_metatype _in_a_expList)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta[1] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp3_1;modelica_boolean tmp3_2;modelica_metatype tmp3_3;
tmp3_1 = _in_txt;
tmp3_2 = _in_a_attr_isFunctionPointer;
tmp3_3 = _in_a_expList;
{
modelica_metatype _txt = NULL;
modelica_metatype _a_expList = NULL;
modelica_integer _ret_2;
modelica_integer _ret_1;
modelica_integer _ret_0;
volatile mmc_switch_type tmp3;
int tmp4;
tmp3 = 0;
for (; tmp3 < 2; tmp3++) {
switch (MMC_SWITCH_CAST(tmp3)) {
case 0: {
if (0 != tmp3_2) goto tmp2_end;
_txt = tmp3_1;
_a_expList = tmp3_3;
_ret_0 = listLength(_a_expList);
tmpMeta[0] = omc_CodegenCFunctions_daeExpMetaHelperBoxStart(threadData, _txt, _ret_0);
goto tmp2_done;
}
case 1: {
_txt = tmp3_1;
_a_expList = tmp3_3;
_ret_1 = listLength(_a_expList);
_ret_2 = omc_SimCodeFunctionUtil_incrementInt(threadData, _ret_1, ((modelica_integer) 1));
tmpMeta[0] = omc_CodegenCFunctions_daeExpMetaHelperBoxStart(threadData, _txt, _ret_2);
goto tmp2_done;
}
}
goto tmp2_end;
tmp2_end: ;
}
goto goto_1;
goto_1:;
MMC_THROW_INTERNAL();
goto tmp2_done;
tmp2_done:;
}
}
_out_txt = tmpMeta[0];
_return: OMC_LABEL_UNUSED
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__935(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_attr_isFunctionPointer, modelica_metatype _in_a_expList)
{
modelica_integer tmp1;
modelica_metatype _out_txt = NULL;
tmp1 = mmc_unbox_integer(_in_a_attr_isFunctionPointer);
_out_txt = omc_CodegenCFunctions_fun__935(threadData, _in_txt, tmp1, _in_a_expList);
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__934(threadData_t *threadData, modelica_metatype _in_txt, modelica_boolean _in_a_attr_isFunctionPointer, modelica_metatype _in_a_name)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta[1] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp3_1;modelica_boolean tmp3_2;modelica_metatype tmp3_3;
tmp3_1 = _in_txt;
tmp3_2 = _in_a_attr_isFunctionPointer;
tmp3_3 = _in_a_name;
{
modelica_metatype _txt = NULL;
modelica_metatype _a_name = NULL;
volatile mmc_switch_type tmp3;
int tmp4;
tmp3 = 0;
for (; tmp3 < 2; tmp3++) {
switch (MMC_SWITCH_CAST(tmp3)) {
case 0: {
if (0 != tmp3_2) goto tmp2_end;
_txt = tmp3_1;
tmpMeta[0] = _txt;
goto tmp2_done;
}
case 1: {
_txt = tmp3_1;
_a_name = tmp3_3;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT993);
tmpMeta[0] = omc_CodegenUtil_underscorePath(threadData, _txt, _a_name);
goto tmp2_done;
}
}
goto tmp2_end;
tmp2_end: ;
}
goto goto_1;
goto_1:;
MMC_THROW_INTERNAL();
goto tmp2_done;
tmp2_done:;
}
}
_out_txt = tmpMeta[0];
_return: OMC_LABEL_UNUSED
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__934(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_attr_isFunctionPointer, modelica_metatype _in_a_name)
{
modelica_integer tmp1;
modelica_metatype _out_txt = NULL;
tmp1 = mmc_unbox_integer(_in_a_attr_isFunctionPointer);
_out_txt = omc_CodegenCFunctions_fun__934(threadData, _in_txt, tmp1, _in_a_name);
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_lm__933(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_items, modelica_metatype _in_a_auxFunction, modelica_metatype _in_a_varDecls, modelica_metatype _in_a_preExp, modelica_metatype _in_a_context, modelica_metatype *out_out_a_auxFunction, modelica_metatype *out_out_a_varDecls, modelica_metatype *out_out_a_preExp)
{
modelica_metatype _out_txt = NULL;
modelica_metatype _out_a_auxFunction = NULL;
modelica_metatype _out_a_varDecls = NULL;
modelica_metatype _out_a_preExp = NULL;
modelica_metatype tmpMeta[6] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_metatype tmp4_2;modelica_metatype tmp4_3;modelica_metatype tmp4_4;modelica_metatype tmp4_5;modelica_metatype tmp4_6;
tmp4_1 = _in_txt;
tmp4_2 = _in_items;
tmp4_3 = _in_a_auxFunction;
tmp4_4 = _in_a_varDecls;
tmp4_5 = _in_a_preExp;
tmp4_6 = _in_a_context;
{
modelica_metatype _txt = NULL;
modelica_metatype _rest = NULL;
modelica_metatype _a_auxFunction = NULL;
modelica_metatype _a_varDecls = NULL;
modelica_metatype _a_preExp = NULL;
modelica_metatype _a_context = NULL;
modelica_metatype _i_e = NULL;
volatile mmc_switch_type tmp4;
int tmp5;
tmp4 = 0;
for (; tmp4 < 2; tmp4++) {
switch (MMC_SWITCH_CAST(tmp4)) {
case 0: {
if (!listEmpty(tmp4_2)) goto tmp3_end;
_txt = tmp4_1;
_a_auxFunction = tmp4_3;
_a_varDecls = tmp4_4;
_a_preExp = tmp4_5;
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_auxFunction;
tmpMeta[0+2] = _a_varDecls;
tmpMeta[0+3] = _a_preExp;
goto tmp3_done;
}
case 1: {
if (listEmpty(tmp4_2)) goto tmp3_end;
tmpMeta[4] = MMC_CAR(tmp4_2);
tmpMeta[5] = MMC_CDR(tmp4_2);
_i_e = tmpMeta[4];
_rest = tmpMeta[5];
_txt = tmp4_1;
_a_auxFunction = tmp4_3;
_a_varDecls = tmp4_4;
_a_preExp = tmp4_5;
_a_context = tmp4_6;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT292);
_txt = omc_CodegenCFunctions_daeExp(threadData, _txt, _i_e, _a_context, _a_preExp, _a_varDecls, _a_auxFunction ,&_a_preExp ,&_a_varDecls ,&_a_auxFunction);
_in_txt = _txt;
_in_items = _rest;
_in_a_auxFunction = _a_auxFunction;
_in_a_varDecls = _a_varDecls;
_in_a_preExp = _a_preExp;
_in_a_context = _a_context;
goto _tailrecursive;
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta[0+0];
_out_a_auxFunction = tmpMeta[0+1];
_out_a_varDecls = tmpMeta[0+2];
_out_a_preExp = tmpMeta[0+3];
_return: OMC_LABEL_UNUSED
if (out_out_a_auxFunction) { *out_out_a_auxFunction = _out_a_auxFunction; }
if (out_out_a_varDecls) { *out_out_a_varDecls = _out_a_varDecls; }
if (out_out_a_preExp) { *out_out_a_preExp = _out_a_preExp; }
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__932(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_t_funcResultType)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta[1] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp3_1;modelica_metatype tmp3_2;
tmp3_1 = _in_txt;
tmp3_2 = _in_a_t_funcResultType;
{
modelica_metatype _txt = NULL;
volatile mmc_switch_type tmp3;
int tmp4;
tmp3 = 0;
for (; tmp3 < 2; tmp3++) {
switch (MMC_SWITCH_CAST(tmp3)) {
case 0: {
if (mmc__uniontype__metarecord__typedef__equal(tmp3_2,7,0) == 0) goto tmp2_end;
_txt = tmp3_1;
tmpMeta[0] = _txt;
goto tmp2_done;
}
case 1: {
_txt = tmp3_1;
tmpMeta[0] = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT995);
goto tmp2_done;
}
}
goto tmp2_end;
tmp2_end: ;
}
goto goto_1;
goto_1:;
MMC_THROW_INTERNAL();
goto tmp2_done;
tmp2_done:;
}
}
_out_txt = tmpMeta[0];
_return: OMC_LABEL_UNUSED
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__931(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_t_funcResultType, modelica_metatype _in_a_ret, modelica_metatype *out_out_a_ret)
{
modelica_metatype _out_txt = NULL;
modelica_metatype _out_a_ret = NULL;
modelica_metatype tmpMeta[5] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_metatype tmp4_2;modelica_metatype tmp4_3;
tmp4_1 = _in_txt;
tmp4_2 = _in_a_t_funcResultType;
tmp4_3 = _in_a_ret;
{
modelica_metatype _txt = NULL;
modelica_metatype _a_ret = NULL;
modelica_metatype _i_tys = NULL;
volatile mmc_switch_type tmp4;
int tmp5;
tmp4 = 0;
for (; tmp4 < 2; tmp4++) {
switch (MMC_SWITCH_CAST(tmp4)) {
case 0: {
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,14,2) == 0) goto tmp3_end;
tmpMeta[2] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
if (listEmpty(tmpMeta[2])) goto tmp3_end;
tmpMeta[3] = MMC_CAR(tmpMeta[2]);
tmpMeta[4] = MMC_CDR(tmpMeta[2]);
_i_tys = tmpMeta[4];
_txt = tmp4_1;
_a_ret = tmp4_3;
tmpMeta[0+0] = omc_CodegenCFunctions_lm__930(threadData, _txt, _i_tys, _a_ret, &tmpMeta[0+1]);
goto tmp3_done;
}
case 1: {
_txt = tmp4_1;
_a_ret = tmp4_3;
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_ret;
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta[0+0];
_out_a_ret = tmpMeta[0+1];
_return: OMC_LABEL_UNUSED
if (out_out_a_ret) { *out_out_a_ret = _out_a_ret; }
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_lm__930(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_items, modelica_metatype _in_a_ret, modelica_metatype *out_out_a_ret)
{
modelica_metatype _out_txt = NULL;
modelica_metatype _out_a_ret = NULL;
modelica_metatype tmpMeta[4] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_metatype tmp4_2;modelica_metatype tmp4_3;
tmp4_1 = _in_txt;
tmp4_2 = _in_items;
tmp4_3 = _in_a_ret;
{
modelica_metatype _txt = NULL;
modelica_metatype _rest = NULL;
modelica_metatype _a_ret = NULL;
modelica_metatype _i_ty = NULL;
modelica_integer _ret_1;
modelica_metatype _l_name = NULL;
volatile mmc_switch_type tmp4;
int tmp5;
tmp4 = 0;
for (; tmp4 < 2; tmp4++) {
switch (MMC_SWITCH_CAST(tmp4)) {
case 0: {
if (!listEmpty(tmp4_2)) goto tmp3_end;
_txt = tmp4_1;
_a_ret = tmp4_3;
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_ret;
goto tmp3_done;
}
case 1: {
if (listEmpty(tmp4_2)) goto tmp3_end;
tmpMeta[2] = MMC_CAR(tmp4_2);
tmpMeta[3] = MMC_CDR(tmp4_2);
_i_ty = tmpMeta[2];
_rest = tmpMeta[3];
_txt = tmp4_1;
_a_ret = tmp4_3;
_l_name = omc_Tpl_writeTok(threadData, _OMC_LIT20, _OMC_LIT138);
_ret_1 = omc_System_tmpTick(threadData);
_l_name = omc_Tpl_writeStr(threadData, _l_name, intString(_ret_1));
_a_ret = omc_Tpl_writeTok(threadData, _a_ret, _OMC_LIT292);
_a_ret = omc_Tpl_writeText(threadData, _a_ret, _l_name);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT292);
_txt = omc_CodegenCFunctions_expTypeArrayIf(threadData, _txt, _i_ty);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT29);
_txt = omc_Tpl_writeText(threadData, _txt, _l_name);
_in_txt = _txt;
_in_items = _rest;
_in_a_ret = _a_ret;
goto _tailrecursive;
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta[0+0];
_out_a_ret = tmpMeta[0+1];
_return: OMC_LABEL_UNUSED
if (out_out_a_ret) { *out_out_a_ret = _out_a_ret; }
return _out_txt;
}
DLLExport
modelica_metatype omc_CodegenCFunctions_daeExpRecord(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_rec, modelica_metatype _in_a_context, modelica_metatype _in_a_preExp, modelica_metatype _in_a_varDecls, modelica_metatype _in_a_auxFunction, modelica_metatype *out_out_a_preExp, modelica_metatype *out_out_a_varDecls, modelica_metatype *out_out_a_auxFunction)
{
modelica_metatype _out_txt = NULL;
modelica_metatype _out_a_preExp = NULL;
modelica_metatype _out_a_varDecls = NULL;
modelica_metatype _out_a_auxFunction = NULL;
modelica_metatype tmpMeta[7] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_metatype tmp4_2;modelica_metatype tmp4_3;modelica_metatype tmp4_4;modelica_metatype tmp4_5;modelica_metatype tmp4_6;
tmp4_1 = _in_txt;
tmp4_2 = _in_a_rec;
tmp4_3 = _in_a_context;
tmp4_4 = _in_a_preExp;
tmp4_5 = _in_a_varDecls;
tmp4_6 = _in_a_auxFunction;
{
modelica_metatype _txt = NULL;
modelica_metatype _a_context = NULL;
modelica_metatype _a_preExp = NULL;
modelica_metatype _a_varDecls = NULL;
modelica_metatype _a_auxFunction = NULL;
modelica_metatype _i_comp = NULL;
modelica_metatype _i_exps = NULL;
modelica_metatype _i_path = NULL;
modelica_metatype _ret_3 = NULL;
modelica_metatype _l_ass = NULL;
modelica_metatype _txt_1 = NULL;
modelica_metatype _l_name = NULL;
volatile mmc_switch_type tmp4;
int tmp5;
tmp4 = 0;
for (; tmp4 < 2; tmp4++) {
switch (MMC_SWITCH_CAST(tmp4)) {
case 0: {
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,14,4) == 0) goto tmp3_end;
tmpMeta[4] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
tmpMeta[5] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 3));
tmpMeta[6] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 4));
_i_path = tmpMeta[4];
_i_exps = tmpMeta[5];
_i_comp = tmpMeta[6];
_txt = tmp4_1;
_a_context = tmp4_3;
_a_preExp = tmp4_4;
_a_varDecls = tmp4_5;
_a_auxFunction = tmp4_6;
_txt_1 = omc_CodegenUtil_underscorePath(threadData, _OMC_LIT20, _i_path);
_l_name = omc_CodegenCFunctions_tempDecl(threadData, _OMC_LIT20, omc_Tpl_textString(threadData, _txt_1), _a_varDecls ,&_a_varDecls);
_ret_3 = omc_List_zip(threadData, _i_exps, _i_comp);
_l_ass = omc_CodegenCFunctions_lm__928(threadData, _OMC_LIT20, _ret_3, _a_auxFunction, _a_varDecls, _a_preExp, _a_context, _l_name ,&_a_auxFunction ,&_a_varDecls ,&_a_preExp);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _l_ass);
_txt = omc_Tpl_writeText(threadData, _txt, _l_name);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_preExp;
tmpMeta[0+2] = _a_varDecls;
tmpMeta[0+3] = _a_auxFunction;
goto tmp3_done;
}
case 1: {
_txt = tmp4_1;
_a_preExp = tmp4_4;
_a_varDecls = tmp4_5;
_a_auxFunction = tmp4_6;
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_preExp;
tmpMeta[0+2] = _a_varDecls;
tmpMeta[0+3] = _a_auxFunction;
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta[0+0];
_out_a_preExp = tmpMeta[0+1];
_out_a_varDecls = tmpMeta[0+2];
_out_a_auxFunction = tmpMeta[0+3];
_return: OMC_LABEL_UNUSED
if (out_out_a_preExp) { *out_out_a_preExp = _out_a_preExp; }
if (out_out_a_varDecls) { *out_out_a_varDecls = _out_a_varDecls; }
if (out_out_a_auxFunction) { *out_out_a_auxFunction = _out_a_auxFunction; }
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_lm__928(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_items, modelica_metatype _in_a_auxFunction, modelica_metatype _in_a_varDecls, modelica_metatype _in_a_preExp, modelica_metatype _in_a_context, modelica_metatype _in_a_name, modelica_metatype *out_out_a_auxFunction, modelica_metatype *out_out_a_varDecls, modelica_metatype *out_out_a_preExp)
{
modelica_metatype _out_txt = NULL;
modelica_metatype _out_a_auxFunction = NULL;
modelica_metatype _out_a_varDecls = NULL;
modelica_metatype _out_a_preExp = NULL;
modelica_metatype tmpMeta[8] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_metatype tmp4_2;modelica_metatype tmp4_3;modelica_metatype tmp4_4;modelica_metatype tmp4_5;modelica_metatype tmp4_6;modelica_metatype tmp4_7;
tmp4_1 = _in_txt;
tmp4_2 = _in_items;
tmp4_3 = _in_a_auxFunction;
tmp4_4 = _in_a_varDecls;
tmp4_5 = _in_a_preExp;
tmp4_6 = _in_a_context;
tmp4_7 = _in_a_name;
{
modelica_metatype _txt = NULL;
modelica_metatype _rest = NULL;
modelica_metatype _a_auxFunction = NULL;
modelica_metatype _a_varDecls = NULL;
modelica_metatype _a_preExp = NULL;
modelica_metatype _a_context = NULL;
modelica_metatype _a_name = NULL;
modelica_metatype _i_exp = NULL;
modelica_string _i_compn = NULL;
volatile mmc_switch_type tmp4;
int tmp5;
tmp4 = 0;
for (; tmp4 < 2; tmp4++) {
switch (MMC_SWITCH_CAST(tmp4)) {
case 0: {
if (!listEmpty(tmp4_2)) goto tmp3_end;
_txt = tmp4_1;
_a_auxFunction = tmp4_3;
_a_varDecls = tmp4_4;
_a_preExp = tmp4_5;
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_auxFunction;
tmpMeta[0+2] = _a_varDecls;
tmpMeta[0+3] = _a_preExp;
goto tmp3_done;
}
case 1: {
if (listEmpty(tmp4_2)) goto tmp3_end;
tmpMeta[4] = MMC_CAR(tmp4_2);
tmpMeta[5] = MMC_CDR(tmp4_2);
tmpMeta[6] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[4]), 1));
tmpMeta[7] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[4]), 2));
_i_exp = tmpMeta[6];
_i_compn = tmpMeta[7];
_rest = tmpMeta[5];
_txt = tmp4_1;
_a_auxFunction = tmp4_3;
_a_varDecls = tmp4_4;
_a_preExp = tmp4_5;
_a_context = tmp4_6;
_a_name = tmp4_7;
_txt = omc_Tpl_writeText(threadData, _txt, _a_name);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT518);
_txt = omc_Tpl_writeStr(threadData, _txt, _i_compn);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT121);
_txt = omc_CodegenCFunctions_daeExp(threadData, _txt, _i_exp, _a_context, _a_preExp, _a_varDecls, _a_auxFunction ,&_a_preExp ,&_a_varDecls ,&_a_auxFunction);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT105);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT89);
_in_txt = _txt;
_in_items = _rest;
_in_a_auxFunction = _a_auxFunction;
_in_a_varDecls = _a_varDecls;
_in_a_preExp = _a_preExp;
_in_a_context = _a_context;
_in_a_name = _a_name;
goto _tailrecursive;
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta[0+0];
_out_a_auxFunction = tmpMeta[0+1];
_out_a_varDecls = tmpMeta[0+2];
_out_a_preExp = tmpMeta[0+3];
_return: OMC_LABEL_UNUSED
if (out_out_a_auxFunction) { *out_out_a_auxFunction = _out_a_auxFunction; }
if (out_out_a_varDecls) { *out_out_a_varDecls = _out_a_varDecls; }
if (out_out_a_preExp) { *out_out_a_preExp = _out_a_preExp; }
return _out_txt;
}
DLLExport
modelica_metatype omc_CodegenCFunctions_resultVarAssignment(threadData_t *threadData, modelica_metatype _txt, modelica_metatype _a_ty, modelica_metatype _a_lhs, modelica_metatype _a_rhs, modelica_metatype *out_out_a_lhs, modelica_metatype *out_out_a_rhs)
{
modelica_metatype _out_txt = NULL;
modelica_metatype _out_a_lhs = NULL;
modelica_metatype _out_a_rhs = NULL;
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
_out_txt = omc_CodegenCFunctions_fun__926(threadData, _txt, _a_ty, _a_lhs, _a_rhs);
_out_a_lhs = _a_lhs;
_out_a_rhs = _a_rhs;
_return: OMC_LABEL_UNUSED
if (out_out_a_lhs) { *out_out_a_lhs = _out_a_lhs; }
if (out_out_a_rhs) { *out_out_a_rhs = _out_a_rhs; }
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__926(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_ty, modelica_metatype _in_a_lhs, modelica_metatype _in_a_rhs)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta[2] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp3_1;modelica_metatype tmp3_2;modelica_metatype tmp3_3;modelica_metatype tmp3_4;
tmp3_1 = _in_txt;
tmp3_2 = _in_a_ty;
tmp3_3 = _in_a_lhs;
tmp3_4 = _in_a_rhs;
{
modelica_metatype _txt = NULL;
modelica_metatype _a_lhs = NULL;
modelica_metatype _a_rhs = NULL;
modelica_metatype _i_types = NULL;
volatile mmc_switch_type tmp3;
int tmp4;
tmp3 = 0;
for (; tmp3 < 2; tmp3++) {
switch (MMC_SWITCH_CAST(tmp3)) {
case 0: {
if (mmc__uniontype__metarecord__typedef__equal(tmp3_2,14,2) == 0) goto tmp2_end;
tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_2), 2));
_i_types = tmpMeta[1];
_txt = tmp3_1;
_a_lhs = tmp3_3;
_a_rhs = tmp3_4;
_txt = omc_Tpl_pushIter(threadData, _txt, _OMC_LIT464);
_txt = omc_CodegenCFunctions_lm__925(threadData, _txt, _i_types, _a_rhs, _a_lhs);
tmpMeta[0] = omc_Tpl_popIter(threadData, _txt);
goto tmp2_done;
}
case 1: {
_txt = tmp3_1;
_a_lhs = tmp3_3;
_a_rhs = tmp3_4;
_txt = omc_Tpl_writeText(threadData, _txt, _a_lhs);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT121);
_txt = omc_Tpl_writeText(threadData, _txt, _a_rhs);
tmpMeta[0] = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT105);
goto tmp2_done;
}
}
goto tmp2_end;
tmp2_end: ;
}
goto goto_1;
goto_1:;
MMC_THROW_INTERNAL();
goto tmp2_done;
tmp2_done:;
}
}
_out_txt = tmpMeta[0];
_return: OMC_LABEL_UNUSED
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_lm__925(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_items, modelica_metatype _in_a_rhs, modelica_metatype _in_a_lhs)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta[3] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp3_1;modelica_metatype tmp3_2;modelica_metatype tmp3_3;modelica_metatype tmp3_4;
tmp3_1 = _in_txt;
tmp3_2 = _in_items;
tmp3_3 = _in_a_rhs;
tmp3_4 = _in_a_lhs;
{
modelica_metatype _txt = NULL;
modelica_metatype _rest = NULL;
modelica_metatype _a_rhs = NULL;
modelica_metatype _a_lhs = NULL;
modelica_integer _x_i1;
volatile mmc_switch_type tmp3;
int tmp4;
tmp3 = 0;
for (; tmp3 < 2; tmp3++) {
switch (MMC_SWITCH_CAST(tmp3)) {
case 0: {
if (!listEmpty(tmp3_2)) goto tmp2_end;
_txt = tmp3_1;
tmpMeta[0] = _txt;
goto tmp2_done;
}
case 1: {
if (listEmpty(tmp3_2)) goto tmp2_end;
tmpMeta[1] = MMC_CAR(tmp3_2);
tmpMeta[2] = MMC_CDR(tmp3_2);
_rest = tmpMeta[2];
_txt = tmp3_1;
_a_rhs = tmp3_3;
_a_lhs = tmp3_4;
_x_i1 = omc_Tpl_getIteri__i0(threadData, _txt);
_txt = omc_Tpl_writeText(threadData, _txt, _a_lhs);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT997);
_txt = omc_Tpl_writeStr(threadData, _txt, intString(_x_i1));
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT121);
_txt = omc_Tpl_writeText(threadData, _txt, _a_rhs);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT997);
_txt = omc_Tpl_writeStr(threadData, _txt, intString(_x_i1));
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT105);
_txt = omc_Tpl_nextIter(threadData, _txt);
_in_txt = _txt;
_in_items = _rest;
_in_a_rhs = _a_rhs;
_in_a_lhs = _a_lhs;
goto _tailrecursive;
goto tmp2_done;
}
}
goto tmp2_end;
tmp2_end: ;
}
goto goto_1;
goto_1:;
MMC_THROW_INTERNAL();
goto tmp2_done;
tmp2_done:;
}
}
_out_txt = tmpMeta[0];
_return: OMC_LABEL_UNUSED
return _out_txt;
}
DLLExport
modelica_metatype omc_CodegenCFunctions_iteratedCrefStr(threadData_t *threadData, modelica_metatype _txt, modelica_metatype _a_cref)
{
modelica_metatype _out_txt = NULL;
modelica_string _ret_1 = NULL;
modelica_metatype _txt_0 = NULL;
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
_txt_0 = omc_CodegenUtil_crefStrNoUnderscore(threadData, _OMC_LIT20, _a_cref);
_ret_1 = omc_System_unquoteIdentifier(threadData, omc_Tpl_textString(threadData, _txt_0));
_out_txt = omc_Tpl_writeStr(threadData, _txt, _ret_1);
_return: OMC_LABEL_UNUSED
return _out_txt;
}
DLLExport
modelica_metatype omc_CodegenCFunctions_daeExpIf(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_exp, modelica_metatype _in_a_context, modelica_metatype _in_a_preExp, modelica_metatype _in_a_varDecls, modelica_metatype _in_a_auxFunction, modelica_metatype *out_out_a_preExp, modelica_metatype *out_out_a_varDecls, modelica_metatype *out_out_a_auxFunction)
{
modelica_metatype _out_txt = NULL;
modelica_metatype _out_a_preExp = NULL;
modelica_metatype _out_a_varDecls = NULL;
modelica_metatype _out_a_auxFunction = NULL;
modelica_metatype tmpMeta[7] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_metatype tmp4_2;modelica_metatype tmp4_3;modelica_metatype tmp4_4;modelica_metatype tmp4_5;modelica_metatype tmp4_6;
tmp4_1 = _in_txt;
tmp4_2 = _in_a_exp;
tmp4_3 = _in_a_context;
tmp4_4 = _in_a_preExp;
tmp4_5 = _in_a_varDecls;
tmp4_6 = _in_a_auxFunction;
{
modelica_metatype _txt = NULL;
modelica_metatype _a_context = NULL;
modelica_metatype _a_preExp = NULL;
modelica_metatype _a_varDecls = NULL;
modelica_metatype _a_auxFunction = NULL;
modelica_metatype _i_exp = NULL;
modelica_metatype _i_expElse = NULL;
modelica_metatype _i_expThen = NULL;
modelica_metatype _i_expCond = NULL;
modelica_metatype _l_shortIfExp = NULL;
modelica_metatype _l_eElse = NULL;
modelica_metatype _l_preExpElse = NULL;
modelica_metatype _l_eThen = NULL;
modelica_metatype _l_preExpThen = NULL;
modelica_metatype _l_condExp = NULL;
volatile mmc_switch_type tmp4;
int tmp5;
tmp4 = 0;
for (; tmp4 < 2; tmp4++) {
switch (MMC_SWITCH_CAST(tmp4)) {
case 0: {
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,12,3) == 0) goto tmp3_end;
tmpMeta[4] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
tmpMeta[5] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 3));
tmpMeta[6] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 4));
_i_exp = tmp4_2;
_i_expCond = tmpMeta[4];
_i_expThen = tmpMeta[5];
_i_expElse = tmpMeta[6];
_txt = tmp4_1;
_a_context = tmp4_3;
_a_preExp = tmp4_4;
_a_varDecls = tmp4_5;
_a_auxFunction = tmp4_6;
_l_condExp = omc_CodegenCFunctions_daeExp(threadData, _OMC_LIT20, _i_expCond, _a_context, _a_preExp, _a_varDecls, _a_auxFunction ,&_a_preExp ,&_a_varDecls ,&_a_auxFunction);
_l_preExpThen = _OMC_LIT20;
_l_eThen = omc_CodegenCFunctions_daeExp(threadData, _OMC_LIT20, _i_expThen, _a_context, _l_preExpThen, _a_varDecls, _a_auxFunction ,&_l_preExpThen ,&_a_varDecls ,&_a_auxFunction);
_l_preExpElse = _OMC_LIT20;
_l_eElse = omc_CodegenCFunctions_daeExp(threadData, _OMC_LIT20, _i_expElse, _a_context, _l_preExpElse, _a_varDecls, _a_auxFunction ,&_l_preExpElse ,&_a_varDecls ,&_a_auxFunction);
_l_shortIfExp = omc_CodegenCFunctions_fun__919(threadData, _OMC_LIT20, _l_preExpThen, _i_exp, _l_preExpElse);
_txt = omc_CodegenCFunctions_fun__922(threadData, _txt, _l_shortIfExp, _l_eElse, _l_preExpElse, _l_eThen, _l_preExpThen, _l_condExp, _a_preExp, _i_exp, _a_varDecls ,&_a_preExp ,&_a_varDecls);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_preExp;
tmpMeta[0+2] = _a_varDecls;
tmpMeta[0+3] = _a_auxFunction;
goto tmp3_done;
}
case 1: {
_txt = tmp4_1;
_a_preExp = tmp4_4;
_a_varDecls = tmp4_5;
_a_auxFunction = tmp4_6;
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_preExp;
tmpMeta[0+2] = _a_varDecls;
tmpMeta[0+3] = _a_auxFunction;
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta[0+0];
_out_a_preExp = tmpMeta[0+1];
_out_a_varDecls = tmpMeta[0+2];
_out_a_auxFunction = tmpMeta[0+3];
_return: OMC_LABEL_UNUSED
if (out_out_a_preExp) { *out_out_a_preExp = _out_a_preExp; }
if (out_out_a_varDecls) { *out_out_a_varDecls = _out_a_varDecls; }
if (out_out_a_auxFunction) { *out_out_a_auxFunction = _out_a_auxFunction; }
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__922(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_shortIfExp, modelica_metatype _in_a_eElse, modelica_metatype _in_a_preExpElse, modelica_metatype _in_a_eThen, modelica_metatype _in_a_preExpThen, modelica_metatype _in_a_condExp, modelica_metatype _in_a_preExp, modelica_metatype _in_a_exp, modelica_metatype _in_a_varDecls, modelica_metatype *out_out_a_preExp, modelica_metatype *out_out_a_varDecls)
{
modelica_metatype _out_txt = NULL;
modelica_metatype _out_a_preExp = NULL;
modelica_metatype _out_a_varDecls = NULL;
modelica_metatype tmpMeta[4] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_metatype tmp4_2;modelica_metatype tmp4_3;modelica_metatype tmp4_4;modelica_metatype tmp4_5;modelica_metatype tmp4_6;modelica_metatype tmp4_7;modelica_metatype tmp4_8;modelica_metatype tmp4_9;modelica_metatype tmp4_10;
tmp4_1 = _in_txt;
tmp4_2 = _in_a_shortIfExp;
tmp4_3 = _in_a_eElse;
tmp4_4 = _in_a_preExpElse;
tmp4_5 = _in_a_eThen;
tmp4_6 = _in_a_preExpThen;
tmp4_7 = _in_a_condExp;
tmp4_8 = _in_a_preExp;
tmp4_9 = _in_a_exp;
tmp4_10 = _in_a_varDecls;
{
modelica_metatype _txt = NULL;
modelica_metatype _a_eElse = NULL;
modelica_metatype _a_preExpElse = NULL;
modelica_metatype _a_eThen = NULL;
modelica_metatype _a_preExpThen = NULL;
modelica_metatype _a_condExp = NULL;
modelica_metatype _a_preExp = NULL;
modelica_metatype _a_exp = NULL;
modelica_metatype _a_varDecls = NULL;
modelica_metatype _ret_2 = NULL;
modelica_metatype _l_resVar = NULL;
modelica_metatype _l_condVar = NULL;
volatile mmc_switch_type tmp4;
int tmp5;
tmp4 = 0;
for (; tmp4 < 2; tmp4++) {
switch (MMC_SWITCH_CAST(tmp4)) {
case 0: {
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,0,2) == 0) goto tmp3_end;
tmpMeta[3] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
if (!listEmpty(tmpMeta[3])) goto tmp3_end;
_txt = tmp4_1;
_a_eElse = tmp4_3;
_a_preExpElse = tmp4_4;
_a_eThen = tmp4_5;
_a_preExpThen = tmp4_6;
_a_condExp = tmp4_7;
_a_preExp = tmp4_8;
_a_exp = tmp4_9;
_a_varDecls = tmp4_10;
_l_condVar = omc_CodegenCFunctions_tempDecl(threadData, _OMC_LIT20, _OMC_LIT71, _a_varDecls ,&_a_varDecls);
_ret_2 = omc_Expression_typeof(threadData, _a_exp);
_l_resVar = omc_CodegenCFunctions_tempDeclTuple(threadData, _OMC_LIT20, _ret_2, _a_varDecls ,&_a_varDecls);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _l_condVar);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT999);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _a_condExp);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT1002);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _l_condVar);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT428);
_a_preExp = omc_Tpl_pushBlock(threadData, _a_preExp, _OMC_LIT97);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _a_preExpThen);
_a_preExp = omc_Tpl_softNewLine(threadData, _a_preExp);
_a_preExp = omc_CodegenCFunctions_fun__920(threadData, _a_preExp, _a_eThen, _l_resVar, _a_exp ,&_l_resVar);
_a_preExp = omc_Tpl_softNewLine(threadData, _a_preExp);
_a_preExp = omc_Tpl_popBlock(threadData, _a_preExp);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT432);
_a_preExp = omc_Tpl_pushBlock(threadData, _a_preExp, _OMC_LIT97);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _a_preExpElse);
_a_preExp = omc_Tpl_softNewLine(threadData, _a_preExp);
_a_preExp = omc_CodegenCFunctions_fun__921(threadData, _a_preExp, _a_eElse, _l_resVar, _a_exp ,&_l_resVar);
_a_preExp = omc_Tpl_softNewLine(threadData, _a_preExp);
_a_preExp = omc_Tpl_popBlock(threadData, _a_preExp);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT103);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT89);
_txt = omc_Tpl_writeText(threadData, _txt, _l_resVar);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_preExp;
tmpMeta[0+2] = _a_varDecls;
goto tmp3_done;
}
case 1: {
_txt = tmp4_1;
_a_eElse = tmp4_3;
_a_eThen = tmp4_5;
_a_condExp = tmp4_7;
_a_preExp = tmp4_8;
_a_varDecls = tmp4_10;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT68);
_txt = omc_Tpl_writeText(threadData, _txt, _a_condExp);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1004);
_txt = omc_Tpl_writeText(threadData, _txt, _a_eThen);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1006);
_txt = omc_Tpl_writeText(threadData, _txt, _a_eElse);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT78);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_preExp;
tmpMeta[0+2] = _a_varDecls;
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta[0+0];
_out_a_preExp = tmpMeta[0+1];
_out_a_varDecls = tmpMeta[0+2];
_return: OMC_LABEL_UNUSED
if (out_out_a_preExp) { *out_out_a_preExp = _out_a_preExp; }
if (out_out_a_varDecls) { *out_out_a_varDecls = _out_a_varDecls; }
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__921(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_eElse, modelica_metatype _in_a_resVar, modelica_metatype _in_a_exp, modelica_metatype *out_out_a_resVar)
{
modelica_metatype _out_txt = NULL;
modelica_metatype _out_a_resVar = NULL;
modelica_metatype tmpMeta[3] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_metatype tmp4_2;modelica_metatype tmp4_3;modelica_metatype tmp4_4;
tmp4_1 = _in_txt;
tmp4_2 = _in_a_eElse;
tmp4_3 = _in_a_resVar;
tmp4_4 = _in_a_exp;
{
modelica_metatype _txt = NULL;
modelica_metatype _a_resVar = NULL;
modelica_metatype _a_exp = NULL;
modelica_metatype _i_eElse = NULL;
modelica_metatype _ret_0 = NULL;
volatile mmc_switch_type tmp4;
int tmp5;
tmp4 = 0;
for (; tmp4 < 2; tmp4++) {
switch (MMC_SWITCH_CAST(tmp4)) {
case 0: {
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,0,2) == 0) goto tmp3_end;
tmpMeta[2] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
if (!listEmpty(tmpMeta[2])) goto tmp3_end;
_txt = tmp4_1;
_a_resVar = tmp4_3;
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_resVar;
goto tmp3_done;
}
case 1: {
_txt = tmp4_1;
_i_eElse = tmp4_2;
_a_resVar = tmp4_3;
_a_exp = tmp4_4;
_ret_0 = omc_Expression_typeof(threadData, _a_exp);
_txt = omc_CodegenCFunctions_resultVarAssignment(threadData, _txt, _ret_0, _a_resVar, _i_eElse ,&_a_resVar ,&_i_eElse);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_resVar;
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta[0+0];
_out_a_resVar = tmpMeta[0+1];
_return: OMC_LABEL_UNUSED
if (out_out_a_resVar) { *out_out_a_resVar = _out_a_resVar; }
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__920(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_eThen, modelica_metatype _in_a_resVar, modelica_metatype _in_a_exp, modelica_metatype *out_out_a_resVar)
{
modelica_metatype _out_txt = NULL;
modelica_metatype _out_a_resVar = NULL;
modelica_metatype tmpMeta[3] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_metatype tmp4_2;modelica_metatype tmp4_3;modelica_metatype tmp4_4;
tmp4_1 = _in_txt;
tmp4_2 = _in_a_eThen;
tmp4_3 = _in_a_resVar;
tmp4_4 = _in_a_exp;
{
modelica_metatype _txt = NULL;
modelica_metatype _a_resVar = NULL;
modelica_metatype _a_exp = NULL;
modelica_metatype _i_eThen = NULL;
modelica_metatype _ret_0 = NULL;
volatile mmc_switch_type tmp4;
int tmp5;
tmp4 = 0;
for (; tmp4 < 2; tmp4++) {
switch (MMC_SWITCH_CAST(tmp4)) {
case 0: {
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,0,2) == 0) goto tmp3_end;
tmpMeta[2] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
if (!listEmpty(tmpMeta[2])) goto tmp3_end;
_txt = tmp4_1;
_a_resVar = tmp4_3;
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_resVar;
goto tmp3_done;
}
case 1: {
_txt = tmp4_1;
_i_eThen = tmp4_2;
_a_resVar = tmp4_3;
_a_exp = tmp4_4;
_ret_0 = omc_Expression_typeof(threadData, _a_exp);
_txt = omc_CodegenCFunctions_resultVarAssignment(threadData, _txt, _ret_0, _a_resVar, _i_eThen ,&_a_resVar ,&_i_eThen);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_resVar;
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta[0+0];
_out_a_resVar = tmpMeta[0+1];
_return: OMC_LABEL_UNUSED
if (out_out_a_resVar) { *out_out_a_resVar = _out_a_resVar; }
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__919(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_preExpThen, modelica_metatype _in_a_exp, modelica_metatype _in_a_preExpElse)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta[2] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp3_1;modelica_metatype tmp3_2;modelica_metatype tmp3_3;modelica_metatype tmp3_4;
tmp3_1 = _in_txt;
tmp3_2 = _in_a_preExpThen;
tmp3_3 = _in_a_exp;
tmp3_4 = _in_a_preExpElse;
{
modelica_metatype _txt = NULL;
modelica_metatype _a_exp = NULL;
modelica_metatype _a_preExpElse = NULL;
volatile mmc_switch_type tmp3;
int tmp4;
tmp3 = 0;
for (; tmp3 < 2; tmp3++) {
switch (MMC_SWITCH_CAST(tmp3)) {
case 0: {
if (mmc__uniontype__metarecord__typedef__equal(tmp3_2,0,2) == 0) goto tmp2_end;
tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_2), 2));
if (!listEmpty(tmpMeta[1])) goto tmp2_end;
_txt = tmp3_1;
_a_exp = tmp3_3;
_a_preExpElse = tmp3_4;
tmpMeta[0] = omc_CodegenCFunctions_fun__918(threadData, _txt, _a_preExpElse, _a_exp);
goto tmp2_done;
}
case 1: {
_txt = tmp3_1;
tmpMeta[0] = _txt;
goto tmp2_done;
}
}
goto tmp2_end;
tmp2_end: ;
}
goto goto_1;
goto_1:;
MMC_THROW_INTERNAL();
goto tmp2_done;
tmp2_done:;
}
}
_out_txt = tmpMeta[0];
_return: OMC_LABEL_UNUSED
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__918(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_preExpElse, modelica_metatype _in_a_exp)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta[2] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp3_1;modelica_metatype tmp3_2;modelica_metatype tmp3_3;
tmp3_1 = _in_txt;
tmp3_2 = _in_a_preExpElse;
tmp3_3 = _in_a_exp;
{
modelica_metatype _txt = NULL;
modelica_metatype _a_exp = NULL;
modelica_boolean _ret_1;
modelica_metatype _ret_0 = NULL;
volatile mmc_switch_type tmp3;
int tmp4;
tmp3 = 0;
for (; tmp3 < 2; tmp3++) {
switch (MMC_SWITCH_CAST(tmp3)) {
case 0: {
if (mmc__uniontype__metarecord__typedef__equal(tmp3_2,0,2) == 0) goto tmp2_end;
tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_2), 2));
if (!listEmpty(tmpMeta[1])) goto tmp2_end;
_txt = tmp3_1;
_a_exp = tmp3_3;
_ret_0 = omc_Expression_typeof(threadData, _a_exp);
_ret_1 = omc_Expression_isArrayType(threadData, _ret_0);
tmpMeta[0] = omc_CodegenCFunctions_fun__917(threadData, _txt, _ret_1, _a_exp);
goto tmp2_done;
}
case 1: {
_txt = tmp3_1;
tmpMeta[0] = _txt;
goto tmp2_done;
}
}
goto tmp2_end;
tmp2_end: ;
}
goto goto_1;
goto_1:;
MMC_THROW_INTERNAL();
goto tmp2_done;
tmp2_done:;
}
}
_out_txt = tmpMeta[0];
_return: OMC_LABEL_UNUSED
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__917(threadData_t *threadData, modelica_metatype _in_txt, modelica_boolean _in_mArg, modelica_metatype _in_a_exp)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta[1] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp3_1;modelica_boolean tmp3_2;modelica_metatype tmp3_3;
tmp3_1 = _in_txt;
tmp3_2 = _in_mArg;
tmp3_3 = _in_a_exp;
{
modelica_metatype _txt = NULL;
modelica_metatype _a_exp = NULL;
modelica_boolean _ret_1;
modelica_metatype _ret_0 = NULL;
volatile mmc_switch_type tmp3;
int tmp4;
tmp3 = 0;
for (; tmp3 < 2; tmp3++) {
switch (MMC_SWITCH_CAST(tmp3)) {
case 0: {
if (0 != tmp3_2) goto tmp2_end;
_txt = tmp3_1;
_a_exp = tmp3_3;
_ret_0 = omc_Expression_typeof(threadData, _a_exp);
_ret_1 = omc_Expression_isRecordType(threadData, _ret_0);
tmpMeta[0] = omc_CodegenCFunctions_fun__916(threadData, _txt, _ret_1);
goto tmp2_done;
}
case 1: {
_txt = tmp3_1;
tmpMeta[0] = _txt;
goto tmp2_done;
}
}
goto tmp2_end;
tmp2_end: ;
}
goto goto_1;
goto_1:;
MMC_THROW_INTERNAL();
goto tmp2_done;
tmp2_done:;
}
}
_out_txt = tmpMeta[0];
_return: OMC_LABEL_UNUSED
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__917(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_mArg, modelica_metatype _in_a_exp)
{
modelica_integer tmp1;
modelica_metatype _out_txt = NULL;
tmp1 = mmc_unbox_integer(_in_mArg);
_out_txt = omc_CodegenCFunctions_fun__917(threadData, _in_txt, tmp1, _in_a_exp);
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__916(threadData_t *threadData, modelica_metatype _in_txt, modelica_boolean _in_mArg)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta[1] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp3_1;modelica_boolean tmp3_2;
tmp3_1 = _in_txt;
tmp3_2 = _in_mArg;
{
modelica_metatype _txt = NULL;
volatile mmc_switch_type tmp3;
int tmp4;
tmp3 = 0;
for (; tmp3 < 2; tmp3++) {
switch (MMC_SWITCH_CAST(tmp3)) {
case 0: {
if (0 != tmp3_2) goto tmp2_end;
_txt = tmp3_1;
tmpMeta[0] = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1008);
goto tmp2_done;
}
case 1: {
_txt = tmp3_1;
tmpMeta[0] = _txt;
goto tmp2_done;
}
}
goto tmp2_end;
tmp2_end: ;
}
goto goto_1;
goto_1:;
MMC_THROW_INTERNAL();
goto tmp2_done;
tmp2_done:;
}
}
_out_txt = tmpMeta[0];
_return: OMC_LABEL_UNUSED
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__916(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_mArg)
{
modelica_integer tmp1;
modelica_metatype _out_txt = NULL;
tmp1 = mmc_unbox_integer(_in_mArg);
_out_txt = omc_CodegenCFunctions_fun__916(threadData, _in_txt, tmp1);
return _out_txt;
}
DLLExport
modelica_metatype omc_CodegenCFunctions_daeExpRelationSim(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_exp, modelica_metatype _in_a_context, modelica_metatype _in_a_preExp, modelica_metatype _in_a_varDecls, modelica_metatype _in_a_auxFunction, modelica_metatype *out_out_a_preExp, modelica_metatype *out_out_a_varDecls, modelica_metatype *out_out_a_auxFunction)
{
modelica_metatype _out_txt = NULL;
modelica_metatype _out_a_preExp = NULL;
modelica_metatype _out_a_varDecls = NULL;
modelica_metatype _out_a_auxFunction = NULL;
modelica_metatype tmpMeta[9] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_metatype tmp4_2;modelica_metatype tmp4_3;modelica_metatype tmp4_4;modelica_metatype tmp4_5;modelica_metatype tmp4_6;
tmp4_1 = _in_txt;
tmp4_2 = _in_a_exp;
tmp4_3 = _in_a_context;
tmp4_4 = _in_a_preExp;
tmp4_5 = _in_a_varDecls;
tmp4_6 = _in_a_auxFunction;
{
modelica_metatype _txt = NULL;
modelica_metatype _a_context = NULL;
modelica_metatype _a_preExp = NULL;
modelica_metatype _a_varDecls = NULL;
modelica_metatype _a_auxFunction = NULL;
modelica_metatype _i_rel_optionExpisASUB = NULL;
modelica_integer _i_rel_index;
modelica_metatype _i_rel_operator = NULL;
modelica_metatype _i_rel_exp2 = NULL;
modelica_metatype _i_rel_exp1 = NULL;
volatile mmc_switch_type tmp4;
int tmp5;
tmp4 = 0;
for (; tmp4 < 2; tmp4++) {
switch (MMC_SWITCH_CAST(tmp4)) {
case 0: {
modelica_integer tmp6;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,11,5) == 0) goto tmp3_end;
tmpMeta[4] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
tmpMeta[5] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 3));
tmpMeta[6] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 4));
tmpMeta[7] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 5));
tmp6 = mmc_unbox_integer(tmpMeta[7]);
tmpMeta[8] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 6));
_i_rel_exp1 = tmpMeta[4];
_i_rel_operator = tmpMeta[5];
_i_rel_exp2 = tmpMeta[6];
_i_rel_index = tmp6;
_i_rel_optionExpisASUB = tmpMeta[8];
_txt = tmp4_1;
_a_context = tmp4_3;
_a_preExp = tmp4_4;
_a_varDecls = tmp4_5;
_a_auxFunction = tmp4_6;
_txt = omc_CodegenCFunctions_fun__914(threadData, _txt, _a_context, _i_rel_optionExpisASUB, _i_rel_index, _i_rel_operator, _i_rel_exp2, _a_auxFunction, _a_varDecls, _a_preExp, _i_rel_exp1 ,&_a_auxFunction ,&_a_varDecls ,&_a_preExp);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_preExp;
tmpMeta[0+2] = _a_varDecls;
tmpMeta[0+3] = _a_auxFunction;
goto tmp3_done;
}
case 1: {
_txt = tmp4_1;
_a_preExp = tmp4_4;
_a_varDecls = tmp4_5;
_a_auxFunction = tmp4_6;
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_preExp;
tmpMeta[0+2] = _a_varDecls;
tmpMeta[0+3] = _a_auxFunction;
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta[0+0];
_out_a_preExp = tmpMeta[0+1];
_out_a_varDecls = tmpMeta[0+2];
_out_a_auxFunction = tmpMeta[0+3];
_return: OMC_LABEL_UNUSED
if (out_out_a_preExp) { *out_out_a_preExp = _out_a_preExp; }
if (out_out_a_varDecls) { *out_out_a_varDecls = _out_a_varDecls; }
if (out_out_a_auxFunction) { *out_out_a_auxFunction = _out_a_auxFunction; }
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__914(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_context, modelica_metatype _in_a_rel_optionExpisASUB, modelica_integer _in_a_rel_index, modelica_metatype _in_a_rel_operator, modelica_metatype _in_a_rel_exp2, modelica_metatype _in_a_auxFunction, modelica_metatype _in_a_varDecls, modelica_metatype _in_a_preExp, modelica_metatype _in_a_rel_exp1, modelica_metatype *out_out_a_auxFunction, modelica_metatype *out_out_a_varDecls, modelica_metatype *out_out_a_preExp)
{
modelica_metatype _out_txt = NULL;
modelica_metatype _out_a_auxFunction = NULL;
modelica_metatype _out_a_varDecls = NULL;
modelica_metatype _out_a_preExp = NULL;
modelica_metatype tmpMeta[4] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_metatype tmp4_2;modelica_metatype tmp4_3;modelica_integer tmp4_4;modelica_metatype tmp4_5;modelica_metatype tmp4_6;modelica_metatype tmp4_7;modelica_metatype tmp4_8;modelica_metatype tmp4_9;modelica_metatype tmp4_10;
tmp4_1 = _in_txt;
tmp4_2 = _in_a_context;
tmp4_3 = _in_a_rel_optionExpisASUB;
tmp4_4 = _in_a_rel_index;
tmp4_5 = _in_a_rel_operator;
tmp4_6 = _in_a_rel_exp2;
tmp4_7 = _in_a_auxFunction;
tmp4_8 = _in_a_varDecls;
tmp4_9 = _in_a_preExp;
tmp4_10 = _in_a_rel_exp1;
{
modelica_metatype _txt = NULL;
modelica_metatype _a_rel_optionExpisASUB = NULL;
modelica_integer _a_rel_index;
modelica_metatype _a_rel_operator = NULL;
modelica_metatype _a_rel_exp2 = NULL;
modelica_metatype _a_auxFunction = NULL;
modelica_metatype _a_varDecls = NULL;
modelica_metatype _a_preExp = NULL;
modelica_metatype _a_rel_exp1 = NULL;
modelica_metatype _i_context = NULL;
modelica_boolean _ret_4;
modelica_metatype _l_res = NULL;
modelica_metatype _l_e2 = NULL;
modelica_metatype _l_e1 = NULL;
volatile mmc_switch_type tmp4;
int tmp5;
tmp4 = 0;
for (; tmp4 < 6; tmp4++) {
switch (MMC_SWITCH_CAST(tmp4)) {
case 0: {
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,9,1) == 0) goto tmp3_end;
_i_context = tmp4_2;
_txt = tmp4_1;
_a_rel_index = tmp4_4;
_a_rel_operator = tmp4_5;
_a_rel_exp2 = tmp4_6;
_a_auxFunction = tmp4_7;
_a_varDecls = tmp4_8;
_a_preExp = tmp4_9;
_a_rel_exp1 = tmp4_10;
_l_e1 = omc_CodegenCFunctions_daeExp(threadData, _OMC_LIT20, _a_rel_exp1, _i_context, _a_preExp, _a_varDecls, _a_auxFunction ,&_a_preExp ,&_a_varDecls ,&_a_auxFunction);
_l_e2 = omc_CodegenCFunctions_daeExp(threadData, _OMC_LIT20, _a_rel_exp2, _i_context, _a_preExp, _a_varDecls, _a_auxFunction ,&_a_preExp ,&_a_varDecls ,&_a_auxFunction);
_l_res = omc_CodegenCFunctions_tempDecl(threadData, _OMC_LIT20, _OMC_LIT1009, _a_varDecls ,&_a_varDecls);
omc_CodegenCFunctions_fun__853(threadData, _OMC_LIT20, _a_rel_operator, _l_e2, _l_e1, _l_res, _a_preExp ,&_a_preExp);
_ret_4 = (_a_rel_index == ((modelica_integer) -1));
_txt = omc_CodegenCFunctions_fun__855(threadData, _txt, _ret_4, _a_rel_index, _l_res);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_auxFunction;
tmpMeta[0+2] = _a_varDecls;
tmpMeta[0+3] = _a_preExp;
goto tmp3_done;
}
case 1: {
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,3,1) == 0) goto tmp3_end;
_i_context = tmp4_2;
_txt = tmp4_1;
_a_rel_optionExpisASUB = tmp4_3;
_a_rel_index = tmp4_4;
_a_rel_operator = tmp4_5;
_a_rel_exp2 = tmp4_6;
_a_auxFunction = tmp4_7;
_a_varDecls = tmp4_8;
_a_preExp = tmp4_9;
_a_rel_exp1 = tmp4_10;
tmpMeta[0+0] = omc_CodegenCFunctions_fun__868(threadData, _txt, _a_rel_optionExpisASUB, _a_rel_operator, _a_rel_index, _a_rel_exp2, _a_auxFunction, _a_varDecls, _a_preExp, _i_context, _a_rel_exp1, &tmpMeta[0+1], &tmpMeta[0+2], &tmpMeta[0+3]);
goto tmp3_done;
}
case 2: {
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,8,0) == 0) goto tmp3_end;
_i_context = tmp4_2;
_txt = tmp4_1;
_a_rel_optionExpisASUB = tmp4_3;
_a_rel_index = tmp4_4;
_a_rel_operator = tmp4_5;
_a_rel_exp2 = tmp4_6;
_a_auxFunction = tmp4_7;
_a_varDecls = tmp4_8;
_a_preExp = tmp4_9;
_a_rel_exp1 = tmp4_10;
tmpMeta[0+0] = omc_CodegenCFunctions_fun__881(threadData, _txt, _a_rel_optionExpisASUB, _a_rel_operator, _a_rel_index, _a_rel_exp2, _a_auxFunction, _a_varDecls, _a_preExp, _i_context, _a_rel_exp1, &tmpMeta[0+1], &tmpMeta[0+2], &tmpMeta[0+3]);
goto tmp3_done;
}
case 3: {
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,0,1) == 0) goto tmp3_end;
_i_context = tmp4_2;
_txt = tmp4_1;
_a_rel_optionExpisASUB = tmp4_3;
_a_rel_index = tmp4_4;
_a_rel_operator = tmp4_5;
_a_rel_exp2 = tmp4_6;
_a_auxFunction = tmp4_7;
_a_varDecls = tmp4_8;
_a_preExp = tmp4_9;
_a_rel_exp1 = tmp4_10;
tmpMeta[0+0] = omc_CodegenCFunctions_fun__894(threadData, _txt, _a_rel_optionExpisASUB, _a_rel_operator, _a_rel_index, _a_rel_exp2, _a_auxFunction, _a_varDecls, _a_preExp, _i_context, _a_rel_exp1, &tmpMeta[0+1], &tmpMeta[0+2], &tmpMeta[0+3]);
goto tmp3_done;
}
case 4: {
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,5,0) == 0) goto tmp3_end;
_i_context = tmp4_2;
_txt = tmp4_1;
_a_rel_optionExpisASUB = tmp4_3;
_a_rel_index = tmp4_4;
_a_rel_operator = tmp4_5;
_a_rel_exp2 = tmp4_6;
_a_auxFunction = tmp4_7;
_a_varDecls = tmp4_8;
_a_preExp = tmp4_9;
_a_rel_exp1 = tmp4_10;
tmpMeta[0+0] = omc_CodegenCFunctions_fun__913(threadData, _txt, _a_rel_optionExpisASUB, _a_rel_operator, _a_rel_index, _a_rel_exp2, _a_auxFunction, _a_varDecls, _a_preExp, _i_context, _a_rel_exp1, &tmpMeta[0+1], &tmpMeta[0+2], &tmpMeta[0+3]);
goto tmp3_done;
}
case 5: {
_txt = tmp4_1;
_a_auxFunction = tmp4_7;
_a_varDecls = tmp4_8;
_a_preExp = tmp4_9;
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_auxFunction;
tmpMeta[0+2] = _a_varDecls;
tmpMeta[0+3] = _a_preExp;
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta[0+0];
_out_a_auxFunction = tmpMeta[0+1];
_out_a_varDecls = tmpMeta[0+2];
_out_a_preExp = tmpMeta[0+3];
_return: OMC_LABEL_UNUSED
if (out_out_a_auxFunction) { *out_out_a_auxFunction = _out_a_auxFunction; }
if (out_out_a_varDecls) { *out_out_a_varDecls = _out_a_varDecls; }
if (out_out_a_preExp) { *out_out_a_preExp = _out_a_preExp; }
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__914(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_context, modelica_metatype _in_a_rel_optionExpisASUB, modelica_metatype _in_a_rel_index, modelica_metatype _in_a_rel_operator, modelica_metatype _in_a_rel_exp2, modelica_metatype _in_a_auxFunction, modelica_metatype _in_a_varDecls, modelica_metatype _in_a_preExp, modelica_metatype _in_a_rel_exp1, modelica_metatype *out_out_a_auxFunction, modelica_metatype *out_out_a_varDecls, modelica_metatype *out_out_a_preExp)
{
modelica_integer tmp1;
modelica_metatype _out_txt = NULL;
tmp1 = mmc_unbox_integer(_in_a_rel_index);
_out_txt = omc_CodegenCFunctions_fun__914(threadData, _in_txt, _in_a_context, _in_a_rel_optionExpisASUB, tmp1, _in_a_rel_operator, _in_a_rel_exp2, _in_a_auxFunction, _in_a_varDecls, _in_a_preExp, _in_a_rel_exp1, out_out_a_auxFunction, out_out_a_varDecls, out_out_a_preExp);
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__913(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_rel_optionExpisASUB, modelica_metatype _in_a_rel_operator, modelica_integer _in_a_rel_index, modelica_metatype _in_a_rel_exp2, modelica_metatype _in_a_auxFunction, modelica_metatype _in_a_varDecls, modelica_metatype _in_a_preExp, modelica_metatype _in_a_context, modelica_metatype _in_a_rel_exp1, modelica_metatype *out_out_a_auxFunction, modelica_metatype *out_out_a_varDecls, modelica_metatype *out_out_a_preExp)
{
modelica_metatype _out_txt = NULL;
modelica_metatype _out_a_auxFunction = NULL;
modelica_metatype _out_a_varDecls = NULL;
modelica_metatype _out_a_preExp = NULL;
modelica_metatype tmpMeta[5] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_metatype tmp4_2;modelica_metatype tmp4_3;modelica_integer tmp4_4;modelica_metatype tmp4_5;modelica_metatype tmp4_6;modelica_metatype tmp4_7;modelica_metatype tmp4_8;modelica_metatype tmp4_9;modelica_metatype tmp4_10;
tmp4_1 = _in_txt;
tmp4_2 = _in_a_rel_optionExpisASUB;
tmp4_3 = _in_a_rel_operator;
tmp4_4 = _in_a_rel_index;
tmp4_5 = _in_a_rel_exp2;
tmp4_6 = _in_a_auxFunction;
tmp4_7 = _in_a_varDecls;
tmp4_8 = _in_a_preExp;
tmp4_9 = _in_a_context;
tmp4_10 = _in_a_rel_exp1;
{
modelica_metatype _txt = NULL;
modelica_metatype _a_rel_operator = NULL;
modelica_integer _a_rel_index;
modelica_metatype _a_rel_exp2 = NULL;
modelica_metatype _a_auxFunction = NULL;
modelica_metatype _a_varDecls = NULL;
modelica_metatype _a_preExp = NULL;
modelica_metatype _a_context = NULL;
modelica_metatype _a_rel_exp1 = NULL;
modelica_boolean _ret_4;
modelica_boolean _ret_3;
modelica_metatype _l_res = NULL;
modelica_metatype _l_e2 = NULL;
modelica_metatype _l_e1 = NULL;
volatile mmc_switch_type tmp4;
int tmp5;
tmp4 = 0;
for (; tmp4 < 3; tmp4++) {
switch (MMC_SWITCH_CAST(tmp4)) {
case 0: {
if (!optionNone(tmp4_2)) goto tmp3_end;
_txt = tmp4_1;
_a_rel_operator = tmp4_3;
_a_rel_index = tmp4_4;
_a_rel_exp2 = tmp4_5;
_a_auxFunction = tmp4_6;
_a_varDecls = tmp4_7;
_a_preExp = tmp4_8;
_a_context = tmp4_9;
_a_rel_exp1 = tmp4_10;
_l_e1 = omc_CodegenCFunctions_daeExp(threadData, _OMC_LIT20, _a_rel_exp1, _a_context, _a_preExp, _a_varDecls, _a_auxFunction ,&_a_preExp ,&_a_varDecls ,&_a_auxFunction);
_l_e2 = omc_CodegenCFunctions_daeExp(threadData, _OMC_LIT20, _a_rel_exp2, _a_context, _a_preExp, _a_varDecls, _a_auxFunction ,&_a_preExp ,&_a_varDecls ,&_a_auxFunction);
_l_res = omc_CodegenCFunctions_tempDecl(threadData, _OMC_LIT20, _OMC_LIT71, _a_varDecls ,&_a_varDecls);
_ret_3 = (_a_rel_index == ((modelica_integer) -1));
_txt = omc_CodegenCFunctions_fun__903(threadData, _txt, _ret_3, _l_res, _a_preExp, _a_rel_index, _l_e2, _l_e1, _a_rel_operator, _a_rel_exp2, _a_rel_exp1 ,&_a_preExp);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_auxFunction;
tmpMeta[0+2] = _a_varDecls;
tmpMeta[0+3] = _a_preExp;
goto tmp3_done;
}
case 1: {
if (optionNone(tmp4_2)) goto tmp3_end;
tmpMeta[4] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 1));
_txt = tmp4_1;
_a_rel_operator = tmp4_3;
_a_rel_index = tmp4_4;
_a_rel_exp2 = tmp4_5;
_a_auxFunction = tmp4_6;
_a_varDecls = tmp4_7;
_a_preExp = tmp4_8;
_a_context = tmp4_9;
_a_rel_exp1 = tmp4_10;
_l_e1 = omc_CodegenCFunctions_daeExp(threadData, _OMC_LIT20, _a_rel_exp1, _a_context, _a_preExp, _a_varDecls, _a_auxFunction ,&_a_preExp ,&_a_varDecls ,&_a_auxFunction);
_l_e2 = omc_CodegenCFunctions_daeExp(threadData, _OMC_LIT20, _a_rel_exp2, _a_context, _a_preExp, _a_varDecls, _a_auxFunction ,&_a_preExp ,&_a_varDecls ,&_a_auxFunction);
_l_res = omc_CodegenCFunctions_tempDecl(threadData, _OMC_LIT20, _OMC_LIT71, _a_varDecls ,&_a_varDecls);
_ret_4 = (_a_rel_index == ((modelica_integer) -1));
_txt = omc_CodegenCFunctions_fun__912(threadData, _txt, _ret_4, _l_res, _a_preExp, _a_rel_index, _l_e2, _l_e1, _a_rel_operator, _a_rel_exp2, _a_rel_exp1 ,&_a_preExp);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_auxFunction;
tmpMeta[0+2] = _a_varDecls;
tmpMeta[0+3] = _a_preExp;
goto tmp3_done;
}
case 2: {
_txt = tmp4_1;
_a_auxFunction = tmp4_6;
_a_varDecls = tmp4_7;
_a_preExp = tmp4_8;
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_auxFunction;
tmpMeta[0+2] = _a_varDecls;
tmpMeta[0+3] = _a_preExp;
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta[0+0];
_out_a_auxFunction = tmpMeta[0+1];
_out_a_varDecls = tmpMeta[0+2];
_out_a_preExp = tmpMeta[0+3];
_return: OMC_LABEL_UNUSED
if (out_out_a_auxFunction) { *out_out_a_auxFunction = _out_a_auxFunction; }
if (out_out_a_varDecls) { *out_out_a_varDecls = _out_a_varDecls; }
if (out_out_a_preExp) { *out_out_a_preExp = _out_a_preExp; }
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__913(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_rel_optionExpisASUB, modelica_metatype _in_a_rel_operator, modelica_metatype _in_a_rel_index, modelica_metatype _in_a_rel_exp2, modelica_metatype _in_a_auxFunction, modelica_metatype _in_a_varDecls, modelica_metatype _in_a_preExp, modelica_metatype _in_a_context, modelica_metatype _in_a_rel_exp1, modelica_metatype *out_out_a_auxFunction, modelica_metatype *out_out_a_varDecls, modelica_metatype *out_out_a_preExp)
{
modelica_integer tmp1;
modelica_metatype _out_txt = NULL;
tmp1 = mmc_unbox_integer(_in_a_rel_index);
_out_txt = omc_CodegenCFunctions_fun__913(threadData, _in_txt, _in_a_rel_optionExpisASUB, _in_a_rel_operator, tmp1, _in_a_rel_exp2, _in_a_auxFunction, _in_a_varDecls, _in_a_preExp, _in_a_context, _in_a_rel_exp1, out_out_a_auxFunction, out_out_a_varDecls, out_out_a_preExp);
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__912(threadData_t *threadData, modelica_metatype _in_txt, modelica_boolean _in_mArg, modelica_metatype _in_a_res, modelica_metatype _in_a_preExp, modelica_integer _in_a_rel_index, modelica_metatype _in_a_e2, modelica_metatype _in_a_e1, modelica_metatype _in_a_rel_operator, modelica_metatype _in_a_rel_exp2, modelica_metatype _in_a_rel_exp1, modelica_metatype *out_out_a_preExp)
{
modelica_metatype _out_txt = NULL;
modelica_metatype _out_a_preExp = NULL;
modelica_metatype tmpMeta[2] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_boolean tmp4_2;modelica_metatype tmp4_3;modelica_metatype tmp4_4;modelica_integer tmp4_5;modelica_metatype tmp4_6;modelica_metatype tmp4_7;modelica_metatype tmp4_8;modelica_metatype tmp4_9;modelica_metatype tmp4_10;
tmp4_1 = _in_txt;
tmp4_2 = _in_mArg;
tmp4_3 = _in_a_res;
tmp4_4 = _in_a_preExp;
tmp4_5 = _in_a_rel_index;
tmp4_6 = _in_a_e2;
tmp4_7 = _in_a_e1;
tmp4_8 = _in_a_rel_operator;
tmp4_9 = _in_a_rel_exp2;
tmp4_10 = _in_a_rel_exp1;
{
modelica_metatype _txt = NULL;
modelica_metatype _a_res = NULL;
modelica_metatype _a_preExp = NULL;
modelica_integer _a_rel_index;
modelica_metatype _a_e2 = NULL;
modelica_metatype _a_e1 = NULL;
modelica_metatype _a_rel_operator = NULL;
modelica_metatype _a_rel_exp2 = NULL;
modelica_metatype _a_rel_exp1 = NULL;
modelica_boolean _ret_2;
modelica_metatype _ret_1 = NULL;
modelica_metatype _l_isReal = NULL;
volatile mmc_switch_type tmp4;
int tmp5;
tmp4 = 0;
for (; tmp4 < 2; tmp4++) {
switch (MMC_SWITCH_CAST(tmp4)) {
case 0: {
if (0 != tmp4_2) goto tmp3_end;
_txt = tmp4_1;
_a_res = tmp4_3;
_a_preExp = tmp4_4;
_a_rel_index = tmp4_5;
_a_e2 = tmp4_6;
_a_e1 = tmp4_7;
_a_rel_operator = tmp4_8;
_a_rel_exp2 = tmp4_9;
_a_rel_exp1 = tmp4_10;
_ret_1 = omc_Expression_typeof(threadData, _a_rel_exp1);
_ret_2 = omc_Expression_isRealType(threadData, _ret_1);
_l_isReal = omc_CodegenCFunctions_fun__905(threadData, _OMC_LIT20, _ret_2, _a_rel_exp2);
tmpMeta[0+0] = omc_CodegenCFunctions_fun__910(threadData, _txt, _a_rel_operator, _a_res, _a_preExp, _a_rel_index, _a_e2, _a_e1, _l_isReal, &tmpMeta[0+1]);
goto tmp3_done;
}
case 1: {
_txt = tmp4_1;
_a_res = tmp4_3;
_a_preExp = tmp4_4;
_a_e2 = tmp4_6;
_a_e1 = tmp4_7;
_a_rel_operator = tmp4_8;
tmpMeta[0+0] = omc_CodegenCFunctions_fun__911(threadData, _txt, _a_rel_operator, _a_e2, _a_e1, _a_res, _a_preExp, &tmpMeta[0+1]);
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta[0+0];
_out_a_preExp = tmpMeta[0+1];
_return: OMC_LABEL_UNUSED
if (out_out_a_preExp) { *out_out_a_preExp = _out_a_preExp; }
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__912(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_mArg, modelica_metatype _in_a_res, modelica_metatype _in_a_preExp, modelica_metatype _in_a_rel_index, modelica_metatype _in_a_e2, modelica_metatype _in_a_e1, modelica_metatype _in_a_rel_operator, modelica_metatype _in_a_rel_exp2, modelica_metatype _in_a_rel_exp1, modelica_metatype *out_out_a_preExp)
{
modelica_integer tmp1;
modelica_integer tmp2;
modelica_metatype _out_txt = NULL;
tmp1 = mmc_unbox_integer(_in_mArg);
tmp2 = mmc_unbox_integer(_in_a_rel_index);
_out_txt = omc_CodegenCFunctions_fun__912(threadData, _in_txt, tmp1, _in_a_res, _in_a_preExp, tmp2, _in_a_e2, _in_a_e1, _in_a_rel_operator, _in_a_rel_exp2, _in_a_rel_exp1, out_out_a_preExp);
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__911(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_rel_operator, modelica_metatype _in_a_e2, modelica_metatype _in_a_e1, modelica_metatype _in_a_res, modelica_metatype _in_a_preExp, modelica_metatype *out_out_a_preExp)
{
modelica_metatype _out_txt = NULL;
modelica_metatype _out_a_preExp = NULL;
modelica_metatype tmpMeta[2] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_metatype tmp4_2;modelica_metatype tmp4_3;modelica_metatype tmp4_4;modelica_metatype tmp4_5;modelica_metatype tmp4_6;
tmp4_1 = _in_txt;
tmp4_2 = _in_a_rel_operator;
tmp4_3 = _in_a_e2;
tmp4_4 = _in_a_e1;
tmp4_5 = _in_a_res;
tmp4_6 = _in_a_preExp;
{
modelica_metatype _txt = NULL;
modelica_metatype _a_e2 = NULL;
modelica_metatype _a_e1 = NULL;
modelica_metatype _a_res = NULL;
modelica_metatype _a_preExp = NULL;
int tmp4;
{
switch (MMC_SWITCH_CAST(valueConstructor(tmp4_2))) {
case 28: {
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,25,1) == 0) goto tmp3_end;
_txt = tmp4_1;
_a_e2 = tmp4_3;
_a_e1 = tmp4_4;
_a_res = tmp4_5;
_a_preExp = tmp4_6;
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _a_res);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT1011);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _a_e1);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT226);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _a_e2);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT290);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT89);
_txt = omc_Tpl_writeText(threadData, _txt, _a_res);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_preExp;
goto tmp3_done;
}
case 29: {
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,26,1) == 0) goto tmp3_end;
_txt = tmp4_1;
_a_e2 = tmp4_3;
_a_e1 = tmp4_4;
_a_res = tmp4_5;
_a_preExp = tmp4_6;
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _a_res);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT1013);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _a_e1);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT226);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _a_e2);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT290);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT89);
_txt = omc_Tpl_writeText(threadData, _txt, _a_res);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_preExp;
goto tmp3_done;
}
case 30: {
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,27,1) == 0) goto tmp3_end;
_txt = tmp4_1;
_a_e2 = tmp4_3;
_a_e1 = tmp4_4;
_a_res = tmp4_5;
_a_preExp = tmp4_6;
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _a_res);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT1015);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _a_e1);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT226);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _a_e2);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT290);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT89);
_txt = omc_Tpl_writeText(threadData, _txt, _a_res);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_preExp;
goto tmp3_done;
}
case 31: {
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,28,1) == 0) goto tmp3_end;
_txt = tmp4_1;
_a_e2 = tmp4_3;
_a_e1 = tmp4_4;
_a_res = tmp4_5;
_a_preExp = tmp4_6;
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _a_res);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT1017);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _a_e1);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT226);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _a_e2);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT290);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT89);
_txt = omc_Tpl_writeText(threadData, _txt, _a_res);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_preExp;
goto tmp3_done;
}
default:
tmp3_default: OMC_LABEL_UNUSED; {
_txt = tmp4_1;
_a_preExp = tmp4_6;
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_preExp;
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta[0+0];
_out_a_preExp = tmpMeta[0+1];
_return: OMC_LABEL_UNUSED
if (out_out_a_preExp) { *out_out_a_preExp = _out_a_preExp; }
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__910(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_rel_operator, modelica_metatype _in_a_res, modelica_metatype _in_a_preExp, modelica_integer _in_a_rel_index, modelica_metatype _in_a_e2, modelica_metatype _in_a_e1, modelica_metatype _in_a_isReal, modelica_metatype *out_out_a_preExp)
{
modelica_metatype _out_txt = NULL;
modelica_metatype _out_a_preExp = NULL;
modelica_metatype tmpMeta[2] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_metatype tmp4_2;modelica_metatype tmp4_3;modelica_metatype tmp4_4;modelica_integer tmp4_5;modelica_metatype tmp4_6;modelica_metatype tmp4_7;modelica_metatype tmp4_8;
tmp4_1 = _in_txt;
tmp4_2 = _in_a_rel_operator;
tmp4_3 = _in_a_res;
tmp4_4 = _in_a_preExp;
tmp4_5 = _in_a_rel_index;
tmp4_6 = _in_a_e2;
tmp4_7 = _in_a_e1;
tmp4_8 = _in_a_isReal;
{
modelica_metatype _txt = NULL;
modelica_metatype _a_res = NULL;
modelica_metatype _a_preExp = NULL;
modelica_integer _a_rel_index;
modelica_metatype _a_e2 = NULL;
modelica_metatype _a_e1 = NULL;
modelica_metatype _a_isReal = NULL;
modelica_metatype _l_hysteresisfunction = NULL;
int tmp4;
{
switch (MMC_SWITCH_CAST(valueConstructor(tmp4_2))) {
case 28: {
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,25,1) == 0) goto tmp3_end;
_txt = tmp4_1;
_a_res = tmp4_3;
_a_preExp = tmp4_4;
_a_rel_index = tmp4_5;
_a_e2 = tmp4_6;
_a_e1 = tmp4_7;
_a_isReal = tmp4_8;
_l_hysteresisfunction = omc_CodegenCFunctions_fun__906(threadData, _OMC_LIT20, _a_isReal, _a_rel_index, _a_e2, _a_e1);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _a_res);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT121);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _l_hysteresisfunction);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT105);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT89);
_txt = omc_Tpl_writeText(threadData, _txt, _a_res);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_preExp;
goto tmp3_done;
}
case 29: {
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,26,1) == 0) goto tmp3_end;
_txt = tmp4_1;
_a_res = tmp4_3;
_a_preExp = tmp4_4;
_a_rel_index = tmp4_5;
_a_e2 = tmp4_6;
_a_e1 = tmp4_7;
_a_isReal = tmp4_8;
_l_hysteresisfunction = omc_CodegenCFunctions_fun__907(threadData, _OMC_LIT20, _a_isReal, _a_rel_index, _a_e2, _a_e1);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _a_res);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT121);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _l_hysteresisfunction);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT105);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT89);
_txt = omc_Tpl_writeText(threadData, _txt, _a_res);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_preExp;
goto tmp3_done;
}
case 30: {
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,27,1) == 0) goto tmp3_end;
_txt = tmp4_1;
_a_res = tmp4_3;
_a_preExp = tmp4_4;
_a_rel_index = tmp4_5;
_a_e2 = tmp4_6;
_a_e1 = tmp4_7;
_a_isReal = tmp4_8;
_l_hysteresisfunction = omc_CodegenCFunctions_fun__908(threadData, _OMC_LIT20, _a_isReal, _a_rel_index, _a_e2, _a_e1);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _a_res);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT121);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _l_hysteresisfunction);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT105);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT89);
_txt = omc_Tpl_writeText(threadData, _txt, _a_res);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_preExp;
goto tmp3_done;
}
case 31: {
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,28,1) == 0) goto tmp3_end;
_txt = tmp4_1;
_a_res = tmp4_3;
_a_preExp = tmp4_4;
_a_rel_index = tmp4_5;
_a_e2 = tmp4_6;
_a_e1 = tmp4_7;
_a_isReal = tmp4_8;
_l_hysteresisfunction = omc_CodegenCFunctions_fun__909(threadData, _OMC_LIT20, _a_isReal, _a_rel_index, _a_e2, _a_e1);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _a_res);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT121);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _l_hysteresisfunction);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT105);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT89);
_txt = omc_Tpl_writeText(threadData, _txt, _a_res);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_preExp;
goto tmp3_done;
}
default:
tmp3_default: OMC_LABEL_UNUSED; {
_txt = tmp4_1;
_a_preExp = tmp4_4;
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_preExp;
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta[0+0];
_out_a_preExp = tmpMeta[0+1];
_return: OMC_LABEL_UNUSED
if (out_out_a_preExp) { *out_out_a_preExp = _out_a_preExp; }
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__910(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_rel_operator, modelica_metatype _in_a_res, modelica_metatype _in_a_preExp, modelica_metatype _in_a_rel_index, modelica_metatype _in_a_e2, modelica_metatype _in_a_e1, modelica_metatype _in_a_isReal, modelica_metatype *out_out_a_preExp)
{
modelica_integer tmp1;
modelica_metatype _out_txt = NULL;
tmp1 = mmc_unbox_integer(_in_a_rel_index);
_out_txt = omc_CodegenCFunctions_fun__910(threadData, _in_txt, _in_a_rel_operator, _in_a_res, _in_a_preExp, tmp1, _in_a_e2, _in_a_e1, _in_a_isReal, out_out_a_preExp);
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__909(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_isReal, modelica_integer _in_a_rel_index, modelica_metatype _in_a_e2, modelica_metatype _in_a_e1)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta[2] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp3_1;modelica_metatype tmp3_2;modelica_integer tmp3_3;modelica_metatype tmp3_4;modelica_metatype tmp3_5;
tmp3_1 = _in_txt;
tmp3_2 = _in_a_isReal;
tmp3_3 = _in_a_rel_index;
tmp3_4 = _in_a_e2;
tmp3_5 = _in_a_e1;
{
modelica_metatype _txt = NULL;
modelica_integer _a_rel_index;
modelica_metatype _a_e2 = NULL;
modelica_metatype _a_e1 = NULL;
volatile mmc_switch_type tmp3;
int tmp4;
tmp3 = 0;
for (; tmp3 < 2; tmp3++) {
switch (MMC_SWITCH_CAST(tmp3)) {
case 0: {
if (mmc__uniontype__metarecord__typedef__equal(tmp3_2,0,2) == 0) goto tmp2_end;
tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_2), 2));
if (!listEmpty(tmpMeta[1])) goto tmp2_end;
_txt = tmp3_1;
_a_e2 = tmp3_4;
_a_e1 = tmp3_5;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1019);
_txt = omc_Tpl_writeText(threadData, _txt, _a_e1);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT226);
_txt = omc_Tpl_writeText(threadData, _txt, _a_e2);
tmpMeta[0] = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT78);
goto tmp2_done;
}
case 1: {
_txt = tmp3_1;
_a_rel_index = tmp3_3;
_a_e2 = tmp3_4;
_a_e1 = tmp3_5;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1021);
_txt = omc_Tpl_writeText(threadData, _txt, _a_e1);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT292);
_txt = omc_Tpl_writeText(threadData, _txt, _a_e2);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1023);
_txt = omc_Tpl_writeStr(threadData, _txt, intString(_a_rel_index));
tmpMeta[0] = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1025);
goto tmp2_done;
}
}
goto tmp2_end;
tmp2_end: ;
}
goto goto_1;
goto_1:;
MMC_THROW_INTERNAL();
goto tmp2_done;
tmp2_done:;
}
}
_out_txt = tmpMeta[0];
_return: OMC_LABEL_UNUSED
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__909(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_isReal, modelica_metatype _in_a_rel_index, modelica_metatype _in_a_e2, modelica_metatype _in_a_e1)
{
modelica_integer tmp1;
modelica_metatype _out_txt = NULL;
tmp1 = mmc_unbox_integer(_in_a_rel_index);
_out_txt = omc_CodegenCFunctions_fun__909(threadData, _in_txt, _in_a_isReal, tmp1, _in_a_e2, _in_a_e1);
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__908(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_isReal, modelica_integer _in_a_rel_index, modelica_metatype _in_a_e2, modelica_metatype _in_a_e1)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta[2] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp3_1;modelica_metatype tmp3_2;modelica_integer tmp3_3;modelica_metatype tmp3_4;modelica_metatype tmp3_5;
tmp3_1 = _in_txt;
tmp3_2 = _in_a_isReal;
tmp3_3 = _in_a_rel_index;
tmp3_4 = _in_a_e2;
tmp3_5 = _in_a_e1;
{
modelica_metatype _txt = NULL;
modelica_integer _a_rel_index;
modelica_metatype _a_e2 = NULL;
modelica_metatype _a_e1 = NULL;
volatile mmc_switch_type tmp3;
int tmp4;
tmp3 = 0;
for (; tmp3 < 2; tmp3++) {
switch (MMC_SWITCH_CAST(tmp3)) {
case 0: {
if (mmc__uniontype__metarecord__typedef__equal(tmp3_2,0,2) == 0) goto tmp2_end;
tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_2), 2));
if (!listEmpty(tmpMeta[1])) goto tmp2_end;
_txt = tmp3_1;
_a_e2 = tmp3_4;
_a_e1 = tmp3_5;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1027);
_txt = omc_Tpl_writeText(threadData, _txt, _a_e1);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT226);
_txt = omc_Tpl_writeText(threadData, _txt, _a_e2);
tmpMeta[0] = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT78);
goto tmp2_done;
}
case 1: {
_txt = tmp3_1;
_a_rel_index = tmp3_3;
_a_e2 = tmp3_4;
_a_e1 = tmp3_5;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1029);
_txt = omc_Tpl_writeText(threadData, _txt, _a_e1);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT292);
_txt = omc_Tpl_writeText(threadData, _txt, _a_e2);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1023);
_txt = omc_Tpl_writeStr(threadData, _txt, intString(_a_rel_index));
tmpMeta[0] = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1025);
goto tmp2_done;
}
}
goto tmp2_end;
tmp2_end: ;
}
goto goto_1;
goto_1:;
MMC_THROW_INTERNAL();
goto tmp2_done;
tmp2_done:;
}
}
_out_txt = tmpMeta[0];
_return: OMC_LABEL_UNUSED
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__908(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_isReal, modelica_metatype _in_a_rel_index, modelica_metatype _in_a_e2, modelica_metatype _in_a_e1)
{
modelica_integer tmp1;
modelica_metatype _out_txt = NULL;
tmp1 = mmc_unbox_integer(_in_a_rel_index);
_out_txt = omc_CodegenCFunctions_fun__908(threadData, _in_txt, _in_a_isReal, tmp1, _in_a_e2, _in_a_e1);
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__907(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_isReal, modelica_integer _in_a_rel_index, modelica_metatype _in_a_e2, modelica_metatype _in_a_e1)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta[2] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp3_1;modelica_metatype tmp3_2;modelica_integer tmp3_3;modelica_metatype tmp3_4;modelica_metatype tmp3_5;
tmp3_1 = _in_txt;
tmp3_2 = _in_a_isReal;
tmp3_3 = _in_a_rel_index;
tmp3_4 = _in_a_e2;
tmp3_5 = _in_a_e1;
{
modelica_metatype _txt = NULL;
modelica_integer _a_rel_index;
modelica_metatype _a_e2 = NULL;
modelica_metatype _a_e1 = NULL;
volatile mmc_switch_type tmp3;
int tmp4;
tmp3 = 0;
for (; tmp3 < 2; tmp3++) {
switch (MMC_SWITCH_CAST(tmp3)) {
case 0: {
if (mmc__uniontype__metarecord__typedef__equal(tmp3_2,0,2) == 0) goto tmp2_end;
tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_2), 2));
if (!listEmpty(tmpMeta[1])) goto tmp2_end;
_txt = tmp3_1;
_a_e2 = tmp3_4;
_a_e1 = tmp3_5;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1031);
_txt = omc_Tpl_writeText(threadData, _txt, _a_e1);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT226);
_txt = omc_Tpl_writeText(threadData, _txt, _a_e2);
tmpMeta[0] = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT78);
goto tmp2_done;
}
case 1: {
_txt = tmp3_1;
_a_rel_index = tmp3_3;
_a_e2 = tmp3_4;
_a_e1 = tmp3_5;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1033);
_txt = omc_Tpl_writeText(threadData, _txt, _a_e1);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT292);
_txt = omc_Tpl_writeText(threadData, _txt, _a_e2);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1023);
_txt = omc_Tpl_writeStr(threadData, _txt, intString(_a_rel_index));
tmpMeta[0] = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1025);
goto tmp2_done;
}
}
goto tmp2_end;
tmp2_end: ;
}
goto goto_1;
goto_1:;
MMC_THROW_INTERNAL();
goto tmp2_done;
tmp2_done:;
}
}
_out_txt = tmpMeta[0];
_return: OMC_LABEL_UNUSED
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__907(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_isReal, modelica_metatype _in_a_rel_index, modelica_metatype _in_a_e2, modelica_metatype _in_a_e1)
{
modelica_integer tmp1;
modelica_metatype _out_txt = NULL;
tmp1 = mmc_unbox_integer(_in_a_rel_index);
_out_txt = omc_CodegenCFunctions_fun__907(threadData, _in_txt, _in_a_isReal, tmp1, _in_a_e2, _in_a_e1);
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__906(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_isReal, modelica_integer _in_a_rel_index, modelica_metatype _in_a_e2, modelica_metatype _in_a_e1)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta[2] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp3_1;modelica_metatype tmp3_2;modelica_integer tmp3_3;modelica_metatype tmp3_4;modelica_metatype tmp3_5;
tmp3_1 = _in_txt;
tmp3_2 = _in_a_isReal;
tmp3_3 = _in_a_rel_index;
tmp3_4 = _in_a_e2;
tmp3_5 = _in_a_e1;
{
modelica_metatype _txt = NULL;
modelica_integer _a_rel_index;
modelica_metatype _a_e2 = NULL;
modelica_metatype _a_e1 = NULL;
volatile mmc_switch_type tmp3;
int tmp4;
tmp3 = 0;
for (; tmp3 < 2; tmp3++) {
switch (MMC_SWITCH_CAST(tmp3)) {
case 0: {
if (mmc__uniontype__metarecord__typedef__equal(tmp3_2,0,2) == 0) goto tmp2_end;
tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_2), 2));
if (!listEmpty(tmpMeta[1])) goto tmp2_end;
_txt = tmp3_1;
_a_e2 = tmp3_4;
_a_e1 = tmp3_5;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1035);
_txt = omc_Tpl_writeText(threadData, _txt, _a_e1);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT226);
_txt = omc_Tpl_writeText(threadData, _txt, _a_e2);
tmpMeta[0] = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT78);
goto tmp2_done;
}
case 1: {
_txt = tmp3_1;
_a_rel_index = tmp3_3;
_a_e2 = tmp3_4;
_a_e1 = tmp3_5;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1037);
_txt = omc_Tpl_writeText(threadData, _txt, _a_e1);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT292);
_txt = omc_Tpl_writeText(threadData, _txt, _a_e2);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1023);
_txt = omc_Tpl_writeStr(threadData, _txt, intString(_a_rel_index));
tmpMeta[0] = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1025);
goto tmp2_done;
}
}
goto tmp2_end;
tmp2_end: ;
}
goto goto_1;
goto_1:;
MMC_THROW_INTERNAL();
goto tmp2_done;
tmp2_done:;
}
}
_out_txt = tmpMeta[0];
_return: OMC_LABEL_UNUSED
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__906(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_isReal, modelica_metatype _in_a_rel_index, modelica_metatype _in_a_e2, modelica_metatype _in_a_e1)
{
modelica_integer tmp1;
modelica_metatype _out_txt = NULL;
tmp1 = mmc_unbox_integer(_in_a_rel_index);
_out_txt = omc_CodegenCFunctions_fun__906(threadData, _in_txt, _in_a_isReal, tmp1, _in_a_e2, _in_a_e1);
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__905(threadData_t *threadData, modelica_metatype _in_txt, modelica_boolean _in_mArg, modelica_metatype _in_a_rel_exp2)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta[1] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp3_1;modelica_boolean tmp3_2;modelica_metatype tmp3_3;
tmp3_1 = _in_txt;
tmp3_2 = _in_mArg;
tmp3_3 = _in_a_rel_exp2;
{
modelica_metatype _txt = NULL;
modelica_metatype _a_rel_exp2 = NULL;
modelica_boolean _ret_1;
modelica_metatype _ret_0 = NULL;
volatile mmc_switch_type tmp3;
int tmp4;
tmp3 = 0;
for (; tmp3 < 2; tmp3++) {
switch (MMC_SWITCH_CAST(tmp3)) {
case 0: {
if (0 != tmp3_2) goto tmp2_end;
_txt = tmp3_1;
tmpMeta[0] = _txt;
goto tmp2_done;
}
case 1: {
_txt = tmp3_1;
_a_rel_exp2 = tmp3_3;
_ret_0 = omc_Expression_typeof(threadData, _a_rel_exp2);
_ret_1 = omc_Expression_isRealType(threadData, _ret_0);
tmpMeta[0] = omc_CodegenCFunctions_fun__904(threadData, _txt, _ret_1);
goto tmp2_done;
}
}
goto tmp2_end;
tmp2_end: ;
}
goto goto_1;
goto_1:;
MMC_THROW_INTERNAL();
goto tmp2_done;
tmp2_done:;
}
}
_out_txt = tmpMeta[0];
_return: OMC_LABEL_UNUSED
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__905(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_mArg, modelica_metatype _in_a_rel_exp2)
{
modelica_integer tmp1;
modelica_metatype _out_txt = NULL;
tmp1 = mmc_unbox_integer(_in_mArg);
_out_txt = omc_CodegenCFunctions_fun__905(threadData, _in_txt, tmp1, _in_a_rel_exp2);
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__904(threadData_t *threadData, modelica_metatype _in_txt, modelica_boolean _in_mArg)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta[1] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp3_1;modelica_boolean tmp3_2;
tmp3_1 = _in_txt;
tmp3_2 = _in_mArg;
{
modelica_metatype _txt = NULL;
volatile mmc_switch_type tmp3;
int tmp4;
tmp3 = 0;
for (; tmp3 < 2; tmp3++) {
switch (MMC_SWITCH_CAST(tmp3)) {
case 0: {
if (0 != tmp3_2) goto tmp2_end;
_txt = tmp3_1;
tmpMeta[0] = _txt;
goto tmp2_done;
}
case 1: {
_txt = tmp3_1;
tmpMeta[0] = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1039);
goto tmp2_done;
}
}
goto tmp2_end;
tmp2_end: ;
}
goto goto_1;
goto_1:;
MMC_THROW_INTERNAL();
goto tmp2_done;
tmp2_done:;
}
}
_out_txt = tmpMeta[0];
_return: OMC_LABEL_UNUSED
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__904(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_mArg)
{
modelica_integer tmp1;
modelica_metatype _out_txt = NULL;
tmp1 = mmc_unbox_integer(_in_mArg);
_out_txt = omc_CodegenCFunctions_fun__904(threadData, _in_txt, tmp1);
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__903(threadData_t *threadData, modelica_metatype _in_txt, modelica_boolean _in_mArg, modelica_metatype _in_a_res, modelica_metatype _in_a_preExp, modelica_integer _in_a_rel_index, modelica_metatype _in_a_e2, modelica_metatype _in_a_e1, modelica_metatype _in_a_rel_operator, modelica_metatype _in_a_rel_exp2, modelica_metatype _in_a_rel_exp1, modelica_metatype *out_out_a_preExp)
{
modelica_metatype _out_txt = NULL;
modelica_metatype _out_a_preExp = NULL;
modelica_metatype tmpMeta[2] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_boolean tmp4_2;modelica_metatype tmp4_3;modelica_metatype tmp4_4;modelica_integer tmp4_5;modelica_metatype tmp4_6;modelica_metatype tmp4_7;modelica_metatype tmp4_8;modelica_metatype tmp4_9;modelica_metatype tmp4_10;
tmp4_1 = _in_txt;
tmp4_2 = _in_mArg;
tmp4_3 = _in_a_res;
tmp4_4 = _in_a_preExp;
tmp4_5 = _in_a_rel_index;
tmp4_6 = _in_a_e2;
tmp4_7 = _in_a_e1;
tmp4_8 = _in_a_rel_operator;
tmp4_9 = _in_a_rel_exp2;
tmp4_10 = _in_a_rel_exp1;
{
modelica_metatype _txt = NULL;
modelica_metatype _a_res = NULL;
modelica_metatype _a_preExp = NULL;
modelica_integer _a_rel_index;
modelica_metatype _a_e2 = NULL;
modelica_metatype _a_e1 = NULL;
modelica_metatype _a_rel_operator = NULL;
modelica_metatype _a_rel_exp2 = NULL;
modelica_metatype _a_rel_exp1 = NULL;
modelica_boolean _ret_2;
modelica_metatype _ret_1 = NULL;
modelica_metatype _l_isReal = NULL;
volatile mmc_switch_type tmp4;
int tmp5;
tmp4 = 0;
for (; tmp4 < 2; tmp4++) {
switch (MMC_SWITCH_CAST(tmp4)) {
case 0: {
if (0 != tmp4_2) goto tmp3_end;
_txt = tmp4_1;
_a_res = tmp4_3;
_a_preExp = tmp4_4;
_a_rel_index = tmp4_5;
_a_e2 = tmp4_6;
_a_e1 = tmp4_7;
_a_rel_operator = tmp4_8;
_a_rel_exp2 = tmp4_9;
_a_rel_exp1 = tmp4_10;
_ret_1 = omc_Expression_typeof(threadData, _a_rel_exp1);
_ret_2 = omc_Expression_isRealType(threadData, _ret_1);
_l_isReal = omc_CodegenCFunctions_fun__896(threadData, _OMC_LIT20, _ret_2, _a_rel_exp2);
tmpMeta[0+0] = omc_CodegenCFunctions_fun__901(threadData, _txt, _a_rel_operator, _a_res, _a_preExp, _a_rel_index, _a_e2, _a_e1, _l_isReal, &tmpMeta[0+1]);
goto tmp3_done;
}
case 1: {
_txt = tmp4_1;
_a_res = tmp4_3;
_a_preExp = tmp4_4;
_a_e2 = tmp4_6;
_a_e1 = tmp4_7;
_a_rel_operator = tmp4_8;
tmpMeta[0+0] = omc_CodegenCFunctions_fun__902(threadData, _txt, _a_rel_operator, _a_e2, _a_e1, _a_res, _a_preExp, &tmpMeta[0+1]);
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta[0+0];
_out_a_preExp = tmpMeta[0+1];
_return: OMC_LABEL_UNUSED
if (out_out_a_preExp) { *out_out_a_preExp = _out_a_preExp; }
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__903(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_mArg, modelica_metatype _in_a_res, modelica_metatype _in_a_preExp, modelica_metatype _in_a_rel_index, modelica_metatype _in_a_e2, modelica_metatype _in_a_e1, modelica_metatype _in_a_rel_operator, modelica_metatype _in_a_rel_exp2, modelica_metatype _in_a_rel_exp1, modelica_metatype *out_out_a_preExp)
{
modelica_integer tmp1;
modelica_integer tmp2;
modelica_metatype _out_txt = NULL;
tmp1 = mmc_unbox_integer(_in_mArg);
tmp2 = mmc_unbox_integer(_in_a_rel_index);
_out_txt = omc_CodegenCFunctions_fun__903(threadData, _in_txt, tmp1, _in_a_res, _in_a_preExp, tmp2, _in_a_e2, _in_a_e1, _in_a_rel_operator, _in_a_rel_exp2, _in_a_rel_exp1, out_out_a_preExp);
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__902(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_rel_operator, modelica_metatype _in_a_e2, modelica_metatype _in_a_e1, modelica_metatype _in_a_res, modelica_metatype _in_a_preExp, modelica_metatype *out_out_a_preExp)
{
modelica_metatype _out_txt = NULL;
modelica_metatype _out_a_preExp = NULL;
modelica_metatype tmpMeta[2] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_metatype tmp4_2;modelica_metatype tmp4_3;modelica_metatype tmp4_4;modelica_metatype tmp4_5;modelica_metatype tmp4_6;
tmp4_1 = _in_txt;
tmp4_2 = _in_a_rel_operator;
tmp4_3 = _in_a_e2;
tmp4_4 = _in_a_e1;
tmp4_5 = _in_a_res;
tmp4_6 = _in_a_preExp;
{
modelica_metatype _txt = NULL;
modelica_metatype _a_e2 = NULL;
modelica_metatype _a_e1 = NULL;
modelica_metatype _a_res = NULL;
modelica_metatype _a_preExp = NULL;
int tmp4;
{
switch (MMC_SWITCH_CAST(valueConstructor(tmp4_2))) {
case 28: {
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,25,1) == 0) goto tmp3_end;
_txt = tmp4_1;
_a_e2 = tmp4_3;
_a_e1 = tmp4_4;
_a_res = tmp4_5;
_a_preExp = tmp4_6;
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _a_res);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT1011);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _a_e1);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT226);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _a_e2);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT290);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT89);
_txt = omc_Tpl_writeText(threadData, _txt, _a_res);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_preExp;
goto tmp3_done;
}
case 29: {
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,26,1) == 0) goto tmp3_end;
_txt = tmp4_1;
_a_e2 = tmp4_3;
_a_e1 = tmp4_4;
_a_res = tmp4_5;
_a_preExp = tmp4_6;
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _a_res);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT1013);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _a_e1);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT226);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _a_e2);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT290);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT89);
_txt = omc_Tpl_writeText(threadData, _txt, _a_res);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_preExp;
goto tmp3_done;
}
case 30: {
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,27,1) == 0) goto tmp3_end;
_txt = tmp4_1;
_a_e2 = tmp4_3;
_a_e1 = tmp4_4;
_a_res = tmp4_5;
_a_preExp = tmp4_6;
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _a_res);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT1015);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _a_e1);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT226);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _a_e2);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT290);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT89);
_txt = omc_Tpl_writeText(threadData, _txt, _a_res);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_preExp;
goto tmp3_done;
}
case 31: {
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,28,1) == 0) goto tmp3_end;
_txt = tmp4_1;
_a_e2 = tmp4_3;
_a_e1 = tmp4_4;
_a_res = tmp4_5;
_a_preExp = tmp4_6;
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _a_res);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT1017);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _a_e1);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT226);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _a_e2);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT290);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT89);
_txt = omc_Tpl_writeText(threadData, _txt, _a_res);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_preExp;
goto tmp3_done;
}
default:
tmp3_default: OMC_LABEL_UNUSED; {
_txt = tmp4_1;
_a_preExp = tmp4_6;
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_preExp;
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta[0+0];
_out_a_preExp = tmpMeta[0+1];
_return: OMC_LABEL_UNUSED
if (out_out_a_preExp) { *out_out_a_preExp = _out_a_preExp; }
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__901(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_rel_operator, modelica_metatype _in_a_res, modelica_metatype _in_a_preExp, modelica_integer _in_a_rel_index, modelica_metatype _in_a_e2, modelica_metatype _in_a_e1, modelica_metatype _in_a_isReal, modelica_metatype *out_out_a_preExp)
{
modelica_metatype _out_txt = NULL;
modelica_metatype _out_a_preExp = NULL;
modelica_metatype tmpMeta[2] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_metatype tmp4_2;modelica_metatype tmp4_3;modelica_metatype tmp4_4;modelica_integer tmp4_5;modelica_metatype tmp4_6;modelica_metatype tmp4_7;modelica_metatype tmp4_8;
tmp4_1 = _in_txt;
tmp4_2 = _in_a_rel_operator;
tmp4_3 = _in_a_res;
tmp4_4 = _in_a_preExp;
tmp4_5 = _in_a_rel_index;
tmp4_6 = _in_a_e2;
tmp4_7 = _in_a_e1;
tmp4_8 = _in_a_isReal;
{
modelica_metatype _txt = NULL;
modelica_metatype _a_res = NULL;
modelica_metatype _a_preExp = NULL;
modelica_integer _a_rel_index;
modelica_metatype _a_e2 = NULL;
modelica_metatype _a_e1 = NULL;
modelica_metatype _a_isReal = NULL;
modelica_metatype _l_hysteresisfunction = NULL;
int tmp4;
{
switch (MMC_SWITCH_CAST(valueConstructor(tmp4_2))) {
case 28: {
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,25,1) == 0) goto tmp3_end;
_txt = tmp4_1;
_a_res = tmp4_3;
_a_preExp = tmp4_4;
_a_rel_index = tmp4_5;
_a_e2 = tmp4_6;
_a_e1 = tmp4_7;
_a_isReal = tmp4_8;
_l_hysteresisfunction = omc_CodegenCFunctions_fun__897(threadData, _OMC_LIT20, _a_isReal, _a_rel_index, _a_e2, _a_e1);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _a_res);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT121);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _l_hysteresisfunction);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT105);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT89);
_txt = omc_Tpl_writeText(threadData, _txt, _a_res);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_preExp;
goto tmp3_done;
}
case 29: {
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,26,1) == 0) goto tmp3_end;
_txt = tmp4_1;
_a_res = tmp4_3;
_a_preExp = tmp4_4;
_a_rel_index = tmp4_5;
_a_e2 = tmp4_6;
_a_e1 = tmp4_7;
_a_isReal = tmp4_8;
_l_hysteresisfunction = omc_CodegenCFunctions_fun__898(threadData, _OMC_LIT20, _a_isReal, _a_rel_index, _a_e2, _a_e1);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _a_res);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT121);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _l_hysteresisfunction);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT105);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT89);
_txt = omc_Tpl_writeText(threadData, _txt, _a_res);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_preExp;
goto tmp3_done;
}
case 30: {
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,27,1) == 0) goto tmp3_end;
_txt = tmp4_1;
_a_res = tmp4_3;
_a_preExp = tmp4_4;
_a_rel_index = tmp4_5;
_a_e2 = tmp4_6;
_a_e1 = tmp4_7;
_a_isReal = tmp4_8;
_l_hysteresisfunction = omc_CodegenCFunctions_fun__899(threadData, _OMC_LIT20, _a_isReal, _a_rel_index, _a_e2, _a_e1);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _a_res);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT121);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _l_hysteresisfunction);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT105);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT89);
_txt = omc_Tpl_writeText(threadData, _txt, _a_res);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_preExp;
goto tmp3_done;
}
case 31: {
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,28,1) == 0) goto tmp3_end;
_txt = tmp4_1;
_a_res = tmp4_3;
_a_preExp = tmp4_4;
_a_rel_index = tmp4_5;
_a_e2 = tmp4_6;
_a_e1 = tmp4_7;
_a_isReal = tmp4_8;
_l_hysteresisfunction = omc_CodegenCFunctions_fun__900(threadData, _OMC_LIT20, _a_isReal, _a_rel_index, _a_e2, _a_e1);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _a_res);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT121);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _l_hysteresisfunction);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT105);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT89);
_txt = omc_Tpl_writeText(threadData, _txt, _a_res);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_preExp;
goto tmp3_done;
}
default:
tmp3_default: OMC_LABEL_UNUSED; {
_txt = tmp4_1;
_a_preExp = tmp4_4;
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_preExp;
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta[0+0];
_out_a_preExp = tmpMeta[0+1];
_return: OMC_LABEL_UNUSED
if (out_out_a_preExp) { *out_out_a_preExp = _out_a_preExp; }
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__901(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_rel_operator, modelica_metatype _in_a_res, modelica_metatype _in_a_preExp, modelica_metatype _in_a_rel_index, modelica_metatype _in_a_e2, modelica_metatype _in_a_e1, modelica_metatype _in_a_isReal, modelica_metatype *out_out_a_preExp)
{
modelica_integer tmp1;
modelica_metatype _out_txt = NULL;
tmp1 = mmc_unbox_integer(_in_a_rel_index);
_out_txt = omc_CodegenCFunctions_fun__901(threadData, _in_txt, _in_a_rel_operator, _in_a_res, _in_a_preExp, tmp1, _in_a_e2, _in_a_e1, _in_a_isReal, out_out_a_preExp);
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__900(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_isReal, modelica_integer _in_a_rel_index, modelica_metatype _in_a_e2, modelica_metatype _in_a_e1)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta[2] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp3_1;modelica_metatype tmp3_2;modelica_integer tmp3_3;modelica_metatype tmp3_4;modelica_metatype tmp3_5;
tmp3_1 = _in_txt;
tmp3_2 = _in_a_isReal;
tmp3_3 = _in_a_rel_index;
tmp3_4 = _in_a_e2;
tmp3_5 = _in_a_e1;
{
modelica_metatype _txt = NULL;
modelica_integer _a_rel_index;
modelica_metatype _a_e2 = NULL;
modelica_metatype _a_e1 = NULL;
volatile mmc_switch_type tmp3;
int tmp4;
tmp3 = 0;
for (; tmp3 < 2; tmp3++) {
switch (MMC_SWITCH_CAST(tmp3)) {
case 0: {
if (mmc__uniontype__metarecord__typedef__equal(tmp3_2,0,2) == 0) goto tmp2_end;
tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_2), 2));
if (!listEmpty(tmpMeta[1])) goto tmp2_end;
_txt = tmp3_1;
_a_e2 = tmp3_4;
_a_e1 = tmp3_5;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1019);
_txt = omc_Tpl_writeText(threadData, _txt, _a_e1);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT226);
_txt = omc_Tpl_writeText(threadData, _txt, _a_e2);
tmpMeta[0] = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT78);
goto tmp2_done;
}
case 1: {
_txt = tmp3_1;
_a_rel_index = tmp3_3;
_a_e2 = tmp3_4;
_a_e1 = tmp3_5;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1021);
_txt = omc_Tpl_writeText(threadData, _txt, _a_e1);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT292);
_txt = omc_Tpl_writeText(threadData, _txt, _a_e2);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1023);
_txt = omc_Tpl_writeStr(threadData, _txt, intString(_a_rel_index));
tmpMeta[0] = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1025);
goto tmp2_done;
}
}
goto tmp2_end;
tmp2_end: ;
}
goto goto_1;
goto_1:;
MMC_THROW_INTERNAL();
goto tmp2_done;
tmp2_done:;
}
}
_out_txt = tmpMeta[0];
_return: OMC_LABEL_UNUSED
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__900(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_isReal, modelica_metatype _in_a_rel_index, modelica_metatype _in_a_e2, modelica_metatype _in_a_e1)
{
modelica_integer tmp1;
modelica_metatype _out_txt = NULL;
tmp1 = mmc_unbox_integer(_in_a_rel_index);
_out_txt = omc_CodegenCFunctions_fun__900(threadData, _in_txt, _in_a_isReal, tmp1, _in_a_e2, _in_a_e1);
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__899(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_isReal, modelica_integer _in_a_rel_index, modelica_metatype _in_a_e2, modelica_metatype _in_a_e1)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta[2] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp3_1;modelica_metatype tmp3_2;modelica_integer tmp3_3;modelica_metatype tmp3_4;modelica_metatype tmp3_5;
tmp3_1 = _in_txt;
tmp3_2 = _in_a_isReal;
tmp3_3 = _in_a_rel_index;
tmp3_4 = _in_a_e2;
tmp3_5 = _in_a_e1;
{
modelica_metatype _txt = NULL;
modelica_integer _a_rel_index;
modelica_metatype _a_e2 = NULL;
modelica_metatype _a_e1 = NULL;
volatile mmc_switch_type tmp3;
int tmp4;
tmp3 = 0;
for (; tmp3 < 2; tmp3++) {
switch (MMC_SWITCH_CAST(tmp3)) {
case 0: {
if (mmc__uniontype__metarecord__typedef__equal(tmp3_2,0,2) == 0) goto tmp2_end;
tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_2), 2));
if (!listEmpty(tmpMeta[1])) goto tmp2_end;
_txt = tmp3_1;
_a_e2 = tmp3_4;
_a_e1 = tmp3_5;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1027);
_txt = omc_Tpl_writeText(threadData, _txt, _a_e1);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT226);
_txt = omc_Tpl_writeText(threadData, _txt, _a_e2);
tmpMeta[0] = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT78);
goto tmp2_done;
}
case 1: {
_txt = tmp3_1;
_a_rel_index = tmp3_3;
_a_e2 = tmp3_4;
_a_e1 = tmp3_5;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1029);
_txt = omc_Tpl_writeText(threadData, _txt, _a_e1);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT292);
_txt = omc_Tpl_writeText(threadData, _txt, _a_e2);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1023);
_txt = omc_Tpl_writeStr(threadData, _txt, intString(_a_rel_index));
tmpMeta[0] = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1025);
goto tmp2_done;
}
}
goto tmp2_end;
tmp2_end: ;
}
goto goto_1;
goto_1:;
MMC_THROW_INTERNAL();
goto tmp2_done;
tmp2_done:;
}
}
_out_txt = tmpMeta[0];
_return: OMC_LABEL_UNUSED
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__899(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_isReal, modelica_metatype _in_a_rel_index, modelica_metatype _in_a_e2, modelica_metatype _in_a_e1)
{
modelica_integer tmp1;
modelica_metatype _out_txt = NULL;
tmp1 = mmc_unbox_integer(_in_a_rel_index);
_out_txt = omc_CodegenCFunctions_fun__899(threadData, _in_txt, _in_a_isReal, tmp1, _in_a_e2, _in_a_e1);
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__898(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_isReal, modelica_integer _in_a_rel_index, modelica_metatype _in_a_e2, modelica_metatype _in_a_e1)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta[2] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp3_1;modelica_metatype tmp3_2;modelica_integer tmp3_3;modelica_metatype tmp3_4;modelica_metatype tmp3_5;
tmp3_1 = _in_txt;
tmp3_2 = _in_a_isReal;
tmp3_3 = _in_a_rel_index;
tmp3_4 = _in_a_e2;
tmp3_5 = _in_a_e1;
{
modelica_metatype _txt = NULL;
modelica_integer _a_rel_index;
modelica_metatype _a_e2 = NULL;
modelica_metatype _a_e1 = NULL;
volatile mmc_switch_type tmp3;
int tmp4;
tmp3 = 0;
for (; tmp3 < 2; tmp3++) {
switch (MMC_SWITCH_CAST(tmp3)) {
case 0: {
if (mmc__uniontype__metarecord__typedef__equal(tmp3_2,0,2) == 0) goto tmp2_end;
tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_2), 2));
if (!listEmpty(tmpMeta[1])) goto tmp2_end;
_txt = tmp3_1;
_a_e2 = tmp3_4;
_a_e1 = tmp3_5;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1031);
_txt = omc_Tpl_writeText(threadData, _txt, _a_e1);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT226);
_txt = omc_Tpl_writeText(threadData, _txt, _a_e2);
tmpMeta[0] = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT78);
goto tmp2_done;
}
case 1: {
_txt = tmp3_1;
_a_rel_index = tmp3_3;
_a_e2 = tmp3_4;
_a_e1 = tmp3_5;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1033);
_txt = omc_Tpl_writeText(threadData, _txt, _a_e1);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT292);
_txt = omc_Tpl_writeText(threadData, _txt, _a_e2);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1023);
_txt = omc_Tpl_writeStr(threadData, _txt, intString(_a_rel_index));
tmpMeta[0] = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1025);
goto tmp2_done;
}
}
goto tmp2_end;
tmp2_end: ;
}
goto goto_1;
goto_1:;
MMC_THROW_INTERNAL();
goto tmp2_done;
tmp2_done:;
}
}
_out_txt = tmpMeta[0];
_return: OMC_LABEL_UNUSED
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__898(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_isReal, modelica_metatype _in_a_rel_index, modelica_metatype _in_a_e2, modelica_metatype _in_a_e1)
{
modelica_integer tmp1;
modelica_metatype _out_txt = NULL;
tmp1 = mmc_unbox_integer(_in_a_rel_index);
_out_txt = omc_CodegenCFunctions_fun__898(threadData, _in_txt, _in_a_isReal, tmp1, _in_a_e2, _in_a_e1);
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__897(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_isReal, modelica_integer _in_a_rel_index, modelica_metatype _in_a_e2, modelica_metatype _in_a_e1)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta[2] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp3_1;modelica_metatype tmp3_2;modelica_integer tmp3_3;modelica_metatype tmp3_4;modelica_metatype tmp3_5;
tmp3_1 = _in_txt;
tmp3_2 = _in_a_isReal;
tmp3_3 = _in_a_rel_index;
tmp3_4 = _in_a_e2;
tmp3_5 = _in_a_e1;
{
modelica_metatype _txt = NULL;
modelica_integer _a_rel_index;
modelica_metatype _a_e2 = NULL;
modelica_metatype _a_e1 = NULL;
volatile mmc_switch_type tmp3;
int tmp4;
tmp3 = 0;
for (; tmp3 < 2; tmp3++) {
switch (MMC_SWITCH_CAST(tmp3)) {
case 0: {
if (mmc__uniontype__metarecord__typedef__equal(tmp3_2,0,2) == 0) goto tmp2_end;
tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_2), 2));
if (!listEmpty(tmpMeta[1])) goto tmp2_end;
_txt = tmp3_1;
_a_e2 = tmp3_4;
_a_e1 = tmp3_5;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1035);
_txt = omc_Tpl_writeText(threadData, _txt, _a_e1);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT226);
_txt = omc_Tpl_writeText(threadData, _txt, _a_e2);
tmpMeta[0] = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT78);
goto tmp2_done;
}
case 1: {
_txt = tmp3_1;
_a_rel_index = tmp3_3;
_a_e2 = tmp3_4;
_a_e1 = tmp3_5;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1037);
_txt = omc_Tpl_writeText(threadData, _txt, _a_e1);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT292);
_txt = omc_Tpl_writeText(threadData, _txt, _a_e2);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1023);
_txt = omc_Tpl_writeStr(threadData, _txt, intString(_a_rel_index));
tmpMeta[0] = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1025);
goto tmp2_done;
}
}
goto tmp2_end;
tmp2_end: ;
}
goto goto_1;
goto_1:;
MMC_THROW_INTERNAL();
goto tmp2_done;
tmp2_done:;
}
}
_out_txt = tmpMeta[0];
_return: OMC_LABEL_UNUSED
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__897(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_isReal, modelica_metatype _in_a_rel_index, modelica_metatype _in_a_e2, modelica_metatype _in_a_e1)
{
modelica_integer tmp1;
modelica_metatype _out_txt = NULL;
tmp1 = mmc_unbox_integer(_in_a_rel_index);
_out_txt = omc_CodegenCFunctions_fun__897(threadData, _in_txt, _in_a_isReal, tmp1, _in_a_e2, _in_a_e1);
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__896(threadData_t *threadData, modelica_metatype _in_txt, modelica_boolean _in_mArg, modelica_metatype _in_a_rel_exp2)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta[1] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp3_1;modelica_boolean tmp3_2;modelica_metatype tmp3_3;
tmp3_1 = _in_txt;
tmp3_2 = _in_mArg;
tmp3_3 = _in_a_rel_exp2;
{
modelica_metatype _txt = NULL;
modelica_metatype _a_rel_exp2 = NULL;
modelica_boolean _ret_1;
modelica_metatype _ret_0 = NULL;
volatile mmc_switch_type tmp3;
int tmp4;
tmp3 = 0;
for (; tmp3 < 2; tmp3++) {
switch (MMC_SWITCH_CAST(tmp3)) {
case 0: {
if (0 != tmp3_2) goto tmp2_end;
_txt = tmp3_1;
tmpMeta[0] = _txt;
goto tmp2_done;
}
case 1: {
_txt = tmp3_1;
_a_rel_exp2 = tmp3_3;
_ret_0 = omc_Expression_typeof(threadData, _a_rel_exp2);
_ret_1 = omc_Expression_isRealType(threadData, _ret_0);
tmpMeta[0] = omc_CodegenCFunctions_fun__895(threadData, _txt, _ret_1);
goto tmp2_done;
}
}
goto tmp2_end;
tmp2_end: ;
}
goto goto_1;
goto_1:;
MMC_THROW_INTERNAL();
goto tmp2_done;
tmp2_done:;
}
}
_out_txt = tmpMeta[0];
_return: OMC_LABEL_UNUSED
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__896(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_mArg, modelica_metatype _in_a_rel_exp2)
{
modelica_integer tmp1;
modelica_metatype _out_txt = NULL;
tmp1 = mmc_unbox_integer(_in_mArg);
_out_txt = omc_CodegenCFunctions_fun__896(threadData, _in_txt, tmp1, _in_a_rel_exp2);
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__895(threadData_t *threadData, modelica_metatype _in_txt, modelica_boolean _in_mArg)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta[1] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp3_1;modelica_boolean tmp3_2;
tmp3_1 = _in_txt;
tmp3_2 = _in_mArg;
{
modelica_metatype _txt = NULL;
volatile mmc_switch_type tmp3;
int tmp4;
tmp3 = 0;
for (; tmp3 < 2; tmp3++) {
switch (MMC_SWITCH_CAST(tmp3)) {
case 0: {
if (0 != tmp3_2) goto tmp2_end;
_txt = tmp3_1;
tmpMeta[0] = _txt;
goto tmp2_done;
}
case 1: {
_txt = tmp3_1;
tmpMeta[0] = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1039);
goto tmp2_done;
}
}
goto tmp2_end;
tmp2_end: ;
}
goto goto_1;
goto_1:;
MMC_THROW_INTERNAL();
goto tmp2_done;
tmp2_done:;
}
}
_out_txt = tmpMeta[0];
_return: OMC_LABEL_UNUSED
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__895(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_mArg)
{
modelica_integer tmp1;
modelica_metatype _out_txt = NULL;
tmp1 = mmc_unbox_integer(_in_mArg);
_out_txt = omc_CodegenCFunctions_fun__895(threadData, _in_txt, tmp1);
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__894(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_rel_optionExpisASUB, modelica_metatype _in_a_rel_operator, modelica_integer _in_a_rel_index, modelica_metatype _in_a_rel_exp2, modelica_metatype _in_a_auxFunction, modelica_metatype _in_a_varDecls, modelica_metatype _in_a_preExp, modelica_metatype _in_a_context, modelica_metatype _in_a_rel_exp1, modelica_metatype *out_out_a_auxFunction, modelica_metatype *out_out_a_varDecls, modelica_metatype *out_out_a_preExp)
{
modelica_metatype _out_txt = NULL;
modelica_metatype _out_a_auxFunction = NULL;
modelica_metatype _out_a_varDecls = NULL;
modelica_metatype _out_a_preExp = NULL;
modelica_metatype tmpMeta[8] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_metatype tmp4_2;modelica_metatype tmp4_3;modelica_integer tmp4_4;modelica_metatype tmp4_5;modelica_metatype tmp4_6;modelica_metatype tmp4_7;modelica_metatype tmp4_8;modelica_metatype tmp4_9;modelica_metatype tmp4_10;
tmp4_1 = _in_txt;
tmp4_2 = _in_a_rel_optionExpisASUB;
tmp4_3 = _in_a_rel_operator;
tmp4_4 = _in_a_rel_index;
tmp4_5 = _in_a_rel_exp2;
tmp4_6 = _in_a_auxFunction;
tmp4_7 = _in_a_varDecls;
tmp4_8 = _in_a_preExp;
tmp4_9 = _in_a_context;
tmp4_10 = _in_a_rel_exp1;
{
modelica_metatype _txt = NULL;
modelica_metatype _a_rel_operator = NULL;
modelica_integer _a_rel_index;
modelica_metatype _a_rel_exp2 = NULL;
modelica_metatype _a_auxFunction = NULL;
modelica_metatype _a_varDecls = NULL;
modelica_metatype _a_preExp = NULL;
modelica_metatype _a_context = NULL;
modelica_metatype _a_rel_exp1 = NULL;
modelica_integer _i_j;
modelica_integer _i_i;
modelica_metatype _i_exp = NULL;
modelica_boolean _ret_5;
modelica_metatype _l_iterator = NULL;
modelica_boolean _ret_3;
modelica_metatype _l_res = NULL;
modelica_metatype _l_e2 = NULL;
modelica_metatype _l_e1 = NULL;
volatile mmc_switch_type tmp4;
int tmp5;
tmp4 = 0;
for (; tmp4 < 3; tmp4++) {
switch (MMC_SWITCH_CAST(tmp4)) {
case 0: {
if (!optionNone(tmp4_2)) goto tmp3_end;
_txt = tmp4_1;
_a_rel_operator = tmp4_3;
_a_rel_index = tmp4_4;
_a_rel_exp2 = tmp4_5;
_a_auxFunction = tmp4_6;
_a_varDecls = tmp4_7;
_a_preExp = tmp4_8;
_a_context = tmp4_9;
_a_rel_exp1 = tmp4_10;
_l_e1 = omc_CodegenCFunctions_daeExp(threadData, _OMC_LIT20, _a_rel_exp1, _a_context, _a_preExp, _a_varDecls, _a_auxFunction ,&_a_preExp ,&_a_varDecls ,&_a_auxFunction);
_l_e2 = omc_CodegenCFunctions_daeExp(threadData, _OMC_LIT20, _a_rel_exp2, _a_context, _a_preExp, _a_varDecls, _a_auxFunction ,&_a_preExp ,&_a_varDecls ,&_a_auxFunction);
_l_res = omc_CodegenCFunctions_tempDecl(threadData, _OMC_LIT20, _OMC_LIT71, _a_varDecls ,&_a_varDecls);
_ret_3 = (_a_rel_index == ((modelica_integer) -1));
_txt = omc_CodegenCFunctions_fun__887(threadData, _txt, _ret_3, _a_rel_index, _l_e2, _l_e1, _l_res, _a_preExp, _a_rel_operator, _a_rel_exp2, _a_rel_exp1 ,&_a_preExp);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_auxFunction;
tmpMeta[0+2] = _a_varDecls;
tmpMeta[0+3] = _a_preExp;
goto tmp3_done;
}
case 1: {
modelica_integer tmp6;
modelica_integer tmp7;
if (optionNone(tmp4_2)) goto tmp3_end;
tmpMeta[4] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 1));
tmpMeta[5] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[4]), 1));
tmpMeta[6] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[4]), 2));
tmp6 = mmc_unbox_integer(tmpMeta[6]);
tmpMeta[7] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[4]), 3));
tmp7 = mmc_unbox_integer(tmpMeta[7]);
_i_exp = tmpMeta[5];
_i_i = tmp6;
_i_j = tmp7;
_txt = tmp4_1;
_a_rel_operator = tmp4_3;
_a_rel_index = tmp4_4;
_a_rel_exp2 = tmp4_5;
_a_auxFunction = tmp4_6;
_a_varDecls = tmp4_7;
_a_preExp = tmp4_8;
_a_context = tmp4_9;
_a_rel_exp1 = tmp4_10;
_l_e1 = omc_CodegenCFunctions_daeExp(threadData, _OMC_LIT20, _a_rel_exp1, _a_context, _a_preExp, _a_varDecls, _a_auxFunction ,&_a_preExp ,&_a_varDecls ,&_a_auxFunction);
_l_e2 = omc_CodegenCFunctions_daeExp(threadData, _OMC_LIT20, _a_rel_exp2, _a_context, _a_preExp, _a_varDecls, _a_auxFunction ,&_a_preExp ,&_a_varDecls ,&_a_auxFunction);
_l_iterator = omc_CodegenCFunctions_daeExp(threadData, _OMC_LIT20, _i_exp, _a_context, _a_preExp, _a_varDecls, _a_auxFunction ,&_a_preExp ,&_a_varDecls ,&_a_auxFunction);
_l_res = omc_CodegenCFunctions_tempDecl(threadData, _OMC_LIT20, _OMC_LIT71, _a_varDecls ,&_a_varDecls);
_ret_5 = (_a_rel_index == ((modelica_integer) -1));
_txt = omc_CodegenCFunctions_fun__893(threadData, _txt, _ret_5, _i_j, _i_i, _l_iterator, _a_rel_index, _l_e2, _l_e1, _l_res, _a_preExp, _a_rel_operator, _a_rel_exp2, _a_rel_exp1 ,&_a_preExp);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_auxFunction;
tmpMeta[0+2] = _a_varDecls;
tmpMeta[0+3] = _a_preExp;
goto tmp3_done;
}
case 2: {
_txt = tmp4_1;
_a_auxFunction = tmp4_6;
_a_varDecls = tmp4_7;
_a_preExp = tmp4_8;
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_auxFunction;
tmpMeta[0+2] = _a_varDecls;
tmpMeta[0+3] = _a_preExp;
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta[0+0];
_out_a_auxFunction = tmpMeta[0+1];
_out_a_varDecls = tmpMeta[0+2];
_out_a_preExp = tmpMeta[0+3];
_return: OMC_LABEL_UNUSED
if (out_out_a_auxFunction) { *out_out_a_auxFunction = _out_a_auxFunction; }
if (out_out_a_varDecls) { *out_out_a_varDecls = _out_a_varDecls; }
if (out_out_a_preExp) { *out_out_a_preExp = _out_a_preExp; }
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__894(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_rel_optionExpisASUB, modelica_metatype _in_a_rel_operator, modelica_metatype _in_a_rel_index, modelica_metatype _in_a_rel_exp2, modelica_metatype _in_a_auxFunction, modelica_metatype _in_a_varDecls, modelica_metatype _in_a_preExp, modelica_metatype _in_a_context, modelica_metatype _in_a_rel_exp1, modelica_metatype *out_out_a_auxFunction, modelica_metatype *out_out_a_varDecls, modelica_metatype *out_out_a_preExp)
{
modelica_integer tmp1;
modelica_metatype _out_txt = NULL;
tmp1 = mmc_unbox_integer(_in_a_rel_index);
_out_txt = omc_CodegenCFunctions_fun__894(threadData, _in_txt, _in_a_rel_optionExpisASUB, _in_a_rel_operator, tmp1, _in_a_rel_exp2, _in_a_auxFunction, _in_a_varDecls, _in_a_preExp, _in_a_context, _in_a_rel_exp1, out_out_a_auxFunction, out_out_a_varDecls, out_out_a_preExp);
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__893(threadData_t *threadData, modelica_metatype _in_txt, modelica_boolean _in_mArg, modelica_integer _in_a_j, modelica_integer _in_a_i, modelica_metatype _in_a_iterator, modelica_integer _in_a_rel_index, modelica_metatype _in_a_e2, modelica_metatype _in_a_e1, modelica_metatype _in_a_res, modelica_metatype _in_a_preExp, modelica_metatype _in_a_rel_operator, modelica_metatype _in_a_rel_exp2, modelica_metatype _in_a_rel_exp1, modelica_metatype *out_out_a_preExp)
{
modelica_metatype _out_txt = NULL;
modelica_metatype _out_a_preExp = NULL;
modelica_metatype tmpMeta[2] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_boolean tmp4_2;modelica_integer tmp4_3;modelica_integer tmp4_4;modelica_metatype tmp4_5;modelica_integer tmp4_6;modelica_metatype tmp4_7;modelica_metatype tmp4_8;modelica_metatype tmp4_9;modelica_metatype tmp4_10;modelica_metatype tmp4_11;modelica_metatype tmp4_12;modelica_metatype tmp4_13;
tmp4_1 = _in_txt;
tmp4_2 = _in_mArg;
tmp4_3 = _in_a_j;
tmp4_4 = _in_a_i;
tmp4_5 = _in_a_iterator;
tmp4_6 = _in_a_rel_index;
tmp4_7 = _in_a_e2;
tmp4_8 = _in_a_e1;
tmp4_9 = _in_a_res;
tmp4_10 = _in_a_preExp;
tmp4_11 = _in_a_rel_operator;
tmp4_12 = _in_a_rel_exp2;
tmp4_13 = _in_a_rel_exp1;
{
modelica_metatype _txt = NULL;
modelica_integer _a_j;
modelica_integer _a_i;
modelica_metatype _a_iterator = NULL;
modelica_integer _a_rel_index;
modelica_metatype _a_e2 = NULL;
modelica_metatype _a_e1 = NULL;
modelica_metatype _a_res = NULL;
modelica_metatype _a_preExp = NULL;
modelica_metatype _a_rel_operator = NULL;
modelica_metatype _a_rel_exp2 = NULL;
modelica_metatype _a_rel_exp1 = NULL;
modelica_metatype _l_hysteresisfunction = NULL;
modelica_boolean _ret_2;
modelica_metatype _ret_1 = NULL;
modelica_metatype _l_isReal = NULL;
volatile mmc_switch_type tmp4;
int tmp5;
tmp4 = 0;
for (; tmp4 < 2; tmp4++) {
switch (MMC_SWITCH_CAST(tmp4)) {
case 0: {
if (0 != tmp4_2) goto tmp3_end;
_txt = tmp4_1;
_a_j = tmp4_3;
_a_i = tmp4_4;
_a_iterator = tmp4_5;
_a_rel_index = tmp4_6;
_a_e2 = tmp4_7;
_a_e1 = tmp4_8;
_a_res = tmp4_9;
_a_preExp = tmp4_10;
_a_rel_operator = tmp4_11;
_a_rel_exp2 = tmp4_12;
_a_rel_exp1 = tmp4_13;
_ret_1 = omc_Expression_typeof(threadData, _a_rel_exp1);
_ret_2 = omc_Expression_isRealType(threadData, _ret_1);
_l_isReal = omc_CodegenCFunctions_fun__889(threadData, _OMC_LIT20, _ret_2, _a_rel_exp2);
_l_hysteresisfunction = omc_CodegenCFunctions_fun__890(threadData, _OMC_LIT20, _l_isReal);
tmpMeta[0+0] = omc_CodegenCFunctions_fun__891(threadData, _txt, _a_rel_operator, _a_j, _a_i, _a_iterator, _a_rel_index, _a_e2, _a_e1, _a_res, _l_hysteresisfunction, _a_preExp, &tmpMeta[0+1]);
goto tmp3_done;
}
case 1: {
_txt = tmp4_1;
_a_e2 = tmp4_7;
_a_e1 = tmp4_8;
_a_res = tmp4_9;
_a_preExp = tmp4_10;
_a_rel_operator = tmp4_11;
tmpMeta[0+0] = omc_CodegenCFunctions_fun__892(threadData, _txt, _a_rel_operator, _a_e2, _a_e1, _a_res, _a_preExp, &tmpMeta[0+1]);
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta[0+0];
_out_a_preExp = tmpMeta[0+1];
_return: OMC_LABEL_UNUSED
if (out_out_a_preExp) { *out_out_a_preExp = _out_a_preExp; }
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__893(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_mArg, modelica_metatype _in_a_j, modelica_metatype _in_a_i, modelica_metatype _in_a_iterator, modelica_metatype _in_a_rel_index, modelica_metatype _in_a_e2, modelica_metatype _in_a_e1, modelica_metatype _in_a_res, modelica_metatype _in_a_preExp, modelica_metatype _in_a_rel_operator, modelica_metatype _in_a_rel_exp2, modelica_metatype _in_a_rel_exp1, modelica_metatype *out_out_a_preExp)
{
modelica_integer tmp1;
modelica_integer tmp2;
modelica_integer tmp3;
modelica_integer tmp4;
modelica_metatype _out_txt = NULL;
tmp1 = mmc_unbox_integer(_in_mArg);
tmp2 = mmc_unbox_integer(_in_a_j);
tmp3 = mmc_unbox_integer(_in_a_i);
tmp4 = mmc_unbox_integer(_in_a_rel_index);
_out_txt = omc_CodegenCFunctions_fun__893(threadData, _in_txt, tmp1, tmp2, tmp3, _in_a_iterator, tmp4, _in_a_e2, _in_a_e1, _in_a_res, _in_a_preExp, _in_a_rel_operator, _in_a_rel_exp2, _in_a_rel_exp1, out_out_a_preExp);
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__892(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_rel_operator, modelica_metatype _in_a_e2, modelica_metatype _in_a_e1, modelica_metatype _in_a_res, modelica_metatype _in_a_preExp, modelica_metatype *out_out_a_preExp)
{
modelica_metatype _out_txt = NULL;
modelica_metatype _out_a_preExp = NULL;
modelica_metatype tmpMeta[2] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_metatype tmp4_2;modelica_metatype tmp4_3;modelica_metatype tmp4_4;modelica_metatype tmp4_5;modelica_metatype tmp4_6;
tmp4_1 = _in_txt;
tmp4_2 = _in_a_rel_operator;
tmp4_3 = _in_a_e2;
tmp4_4 = _in_a_e1;
tmp4_5 = _in_a_res;
tmp4_6 = _in_a_preExp;
{
modelica_metatype _txt = NULL;
modelica_metatype _a_e2 = NULL;
modelica_metatype _a_e1 = NULL;
modelica_metatype _a_res = NULL;
modelica_metatype _a_preExp = NULL;
int tmp4;
{
switch (MMC_SWITCH_CAST(valueConstructor(tmp4_2))) {
case 28: {
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,25,1) == 0) goto tmp3_end;
_txt = tmp4_1;
_a_e2 = tmp4_3;
_a_e1 = tmp4_4;
_a_res = tmp4_5;
_a_preExp = tmp4_6;
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _a_res);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT1011);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _a_e1);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT226);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _a_e2);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT290);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT89);
_txt = omc_Tpl_writeText(threadData, _txt, _a_res);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_preExp;
goto tmp3_done;
}
case 29: {
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,26,1) == 0) goto tmp3_end;
_txt = tmp4_1;
_a_e2 = tmp4_3;
_a_e1 = tmp4_4;
_a_res = tmp4_5;
_a_preExp = tmp4_6;
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _a_res);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT1013);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _a_e1);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT226);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _a_e2);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT290);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT89);
_txt = omc_Tpl_writeText(threadData, _txt, _a_res);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_preExp;
goto tmp3_done;
}
case 30: {
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,27,1) == 0) goto tmp3_end;
_txt = tmp4_1;
_a_e2 = tmp4_3;
_a_e1 = tmp4_4;
_a_res = tmp4_5;
_a_preExp = tmp4_6;
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _a_res);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT1015);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _a_e1);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT226);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _a_e2);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT290);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT89);
_txt = omc_Tpl_writeText(threadData, _txt, _a_res);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_preExp;
goto tmp3_done;
}
case 31: {
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,28,1) == 0) goto tmp3_end;
_txt = tmp4_1;
_a_e2 = tmp4_3;
_a_e1 = tmp4_4;
_a_res = tmp4_5;
_a_preExp = tmp4_6;
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _a_res);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT1017);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _a_e1);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT226);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _a_e2);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT290);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT89);
_txt = omc_Tpl_writeText(threadData, _txt, _a_res);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_preExp;
goto tmp3_done;
}
default:
tmp3_default: OMC_LABEL_UNUSED; {
_txt = tmp4_1;
_a_preExp = tmp4_6;
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_preExp;
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta[0+0];
_out_a_preExp = tmpMeta[0+1];
_return: OMC_LABEL_UNUSED
if (out_out_a_preExp) { *out_out_a_preExp = _out_a_preExp; }
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__891(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_rel_operator, modelica_integer _in_a_j, modelica_integer _in_a_i, modelica_metatype _in_a_iterator, modelica_integer _in_a_rel_index, modelica_metatype _in_a_e2, modelica_metatype _in_a_e1, modelica_metatype _in_a_res, modelica_metatype _in_a_hysteresisfunction, modelica_metatype _in_a_preExp, modelica_metatype *out_out_a_preExp)
{
modelica_metatype _out_txt = NULL;
modelica_metatype _out_a_preExp = NULL;
modelica_metatype tmpMeta[2] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_metatype tmp4_2;modelica_integer tmp4_3;modelica_integer tmp4_4;modelica_metatype tmp4_5;modelica_integer tmp4_6;modelica_metatype tmp4_7;modelica_metatype tmp4_8;modelica_metatype tmp4_9;modelica_metatype tmp4_10;modelica_metatype tmp4_11;
tmp4_1 = _in_txt;
tmp4_2 = _in_a_rel_operator;
tmp4_3 = _in_a_j;
tmp4_4 = _in_a_i;
tmp4_5 = _in_a_iterator;
tmp4_6 = _in_a_rel_index;
tmp4_7 = _in_a_e2;
tmp4_8 = _in_a_e1;
tmp4_9 = _in_a_res;
tmp4_10 = _in_a_hysteresisfunction;
tmp4_11 = _in_a_preExp;
{
modelica_metatype _txt = NULL;
modelica_integer _a_j;
modelica_integer _a_i;
modelica_metatype _a_iterator = NULL;
modelica_integer _a_rel_index;
modelica_metatype _a_e2 = NULL;
modelica_metatype _a_e1 = NULL;
modelica_metatype _a_res = NULL;
modelica_metatype _a_hysteresisfunction = NULL;
modelica_metatype _a_preExp = NULL;
int tmp4;
{
switch (MMC_SWITCH_CAST(valueConstructor(tmp4_2))) {
case 28: {
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,25,1) == 0) goto tmp3_end;
_txt = tmp4_1;
_a_j = tmp4_3;
_a_i = tmp4_4;
_a_iterator = tmp4_5;
_a_rel_index = tmp4_6;
_a_e2 = tmp4_7;
_a_e1 = tmp4_8;
_a_res = tmp4_9;
_a_hysteresisfunction = tmp4_10;
_a_preExp = tmp4_11;
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _a_hysteresisfunction);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT68);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _a_res);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT292);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _a_e1);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT292);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _a_e2);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT292);
_a_preExp = omc_Tpl_writeStr(threadData, _a_preExp, intString(_a_rel_index));
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT1041);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _a_iterator);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT649);
_a_preExp = omc_Tpl_writeStr(threadData, _a_preExp, intString(_a_i));
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT389);
_a_preExp = omc_Tpl_writeStr(threadData, _a_preExp, intString(_a_j));
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT1043);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT89);
_txt = omc_Tpl_writeText(threadData, _txt, _a_res);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_preExp;
goto tmp3_done;
}
case 29: {
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,26,1) == 0) goto tmp3_end;
_txt = tmp4_1;
_a_j = tmp4_3;
_a_i = tmp4_4;
_a_iterator = tmp4_5;
_a_rel_index = tmp4_6;
_a_e2 = tmp4_7;
_a_e1 = tmp4_8;
_a_res = tmp4_9;
_a_hysteresisfunction = tmp4_10;
_a_preExp = tmp4_11;
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _a_hysteresisfunction);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT68);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _a_res);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT292);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _a_e1);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT292);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _a_e2);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT292);
_a_preExp = omc_Tpl_writeStr(threadData, _a_preExp, intString(_a_rel_index));
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT1041);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _a_iterator);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT649);
_a_preExp = omc_Tpl_writeStr(threadData, _a_preExp, intString(_a_i));
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT389);
_a_preExp = omc_Tpl_writeStr(threadData, _a_preExp, intString(_a_j));
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT1045);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT89);
_txt = omc_Tpl_writeText(threadData, _txt, _a_res);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_preExp;
goto tmp3_done;
}
case 30: {
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,27,1) == 0) goto tmp3_end;
_txt = tmp4_1;
_a_j = tmp4_3;
_a_i = tmp4_4;
_a_iterator = tmp4_5;
_a_rel_index = tmp4_6;
_a_e2 = tmp4_7;
_a_e1 = tmp4_8;
_a_res = tmp4_9;
_a_hysteresisfunction = tmp4_10;
_a_preExp = tmp4_11;
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _a_hysteresisfunction);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT68);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _a_res);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT292);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _a_e1);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT292);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _a_e2);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT292);
_a_preExp = omc_Tpl_writeStr(threadData, _a_preExp, intString(_a_rel_index));
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT1041);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _a_iterator);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT649);
_a_preExp = omc_Tpl_writeStr(threadData, _a_preExp, intString(_a_i));
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT389);
_a_preExp = omc_Tpl_writeStr(threadData, _a_preExp, intString(_a_j));
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT1047);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT89);
_txt = omc_Tpl_writeText(threadData, _txt, _a_res);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_preExp;
goto tmp3_done;
}
case 31: {
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,28,1) == 0) goto tmp3_end;
_txt = tmp4_1;
_a_j = tmp4_3;
_a_i = tmp4_4;
_a_iterator = tmp4_5;
_a_rel_index = tmp4_6;
_a_e2 = tmp4_7;
_a_e1 = tmp4_8;
_a_res = tmp4_9;
_a_hysteresisfunction = tmp4_10;
_a_preExp = tmp4_11;
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _a_hysteresisfunction);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT68);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _a_res);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT292);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _a_e1);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT292);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _a_e2);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT292);
_a_preExp = omc_Tpl_writeStr(threadData, _a_preExp, intString(_a_rel_index));
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT1041);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _a_iterator);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT649);
_a_preExp = omc_Tpl_writeStr(threadData, _a_preExp, intString(_a_i));
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT389);
_a_preExp = omc_Tpl_writeStr(threadData, _a_preExp, intString(_a_j));
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT1049);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT89);
_txt = omc_Tpl_writeText(threadData, _txt, _a_res);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_preExp;
goto tmp3_done;
}
default:
tmp3_default: OMC_LABEL_UNUSED; {
_txt = tmp4_1;
_a_preExp = tmp4_11;
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_preExp;
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta[0+0];
_out_a_preExp = tmpMeta[0+1];
_return: OMC_LABEL_UNUSED
if (out_out_a_preExp) { *out_out_a_preExp = _out_a_preExp; }
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__891(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_rel_operator, modelica_metatype _in_a_j, modelica_metatype _in_a_i, modelica_metatype _in_a_iterator, modelica_metatype _in_a_rel_index, modelica_metatype _in_a_e2, modelica_metatype _in_a_e1, modelica_metatype _in_a_res, modelica_metatype _in_a_hysteresisfunction, modelica_metatype _in_a_preExp, modelica_metatype *out_out_a_preExp)
{
modelica_integer tmp1;
modelica_integer tmp2;
modelica_integer tmp3;
modelica_metatype _out_txt = NULL;
tmp1 = mmc_unbox_integer(_in_a_j);
tmp2 = mmc_unbox_integer(_in_a_i);
tmp3 = mmc_unbox_integer(_in_a_rel_index);
_out_txt = omc_CodegenCFunctions_fun__891(threadData, _in_txt, _in_a_rel_operator, tmp1, tmp2, _in_a_iterator, tmp3, _in_a_e2, _in_a_e1, _in_a_res, _in_a_hysteresisfunction, _in_a_preExp, out_out_a_preExp);
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__890(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_isReal)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta[2] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp3_1;modelica_metatype tmp3_2;
tmp3_1 = _in_txt;
tmp3_2 = _in_a_isReal;
{
modelica_metatype _txt = NULL;
volatile mmc_switch_type tmp3;
int tmp4;
tmp3 = 0;
for (; tmp3 < 2; tmp3++) {
switch (MMC_SWITCH_CAST(tmp3)) {
case 0: {
if (mmc__uniontype__metarecord__typedef__equal(tmp3_2,0,2) == 0) goto tmp2_end;
tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_2), 2));
if (!listEmpty(tmpMeta[1])) goto tmp2_end;
_txt = tmp3_1;
tmpMeta[0] = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1051);
goto tmp2_done;
}
case 1: {
_txt = tmp3_1;
tmpMeta[0] = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1053);
goto tmp2_done;
}
}
goto tmp2_end;
tmp2_end: ;
}
goto goto_1;
goto_1:;
MMC_THROW_INTERNAL();
goto tmp2_done;
tmp2_done:;
}
}
_out_txt = tmpMeta[0];
_return: OMC_LABEL_UNUSED
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__889(threadData_t *threadData, modelica_metatype _in_txt, modelica_boolean _in_mArg, modelica_metatype _in_a_rel_exp2)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta[1] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp3_1;modelica_boolean tmp3_2;modelica_metatype tmp3_3;
tmp3_1 = _in_txt;
tmp3_2 = _in_mArg;
tmp3_3 = _in_a_rel_exp2;
{
modelica_metatype _txt = NULL;
modelica_metatype _a_rel_exp2 = NULL;
modelica_boolean _ret_1;
modelica_metatype _ret_0 = NULL;
volatile mmc_switch_type tmp3;
int tmp4;
tmp3 = 0;
for (; tmp3 < 2; tmp3++) {
switch (MMC_SWITCH_CAST(tmp3)) {
case 0: {
if (0 != tmp3_2) goto tmp2_end;
_txt = tmp3_1;
tmpMeta[0] = _txt;
goto tmp2_done;
}
case 1: {
_txt = tmp3_1;
_a_rel_exp2 = tmp3_3;
_ret_0 = omc_Expression_typeof(threadData, _a_rel_exp2);
_ret_1 = omc_Expression_isRealType(threadData, _ret_0);
tmpMeta[0] = omc_CodegenCFunctions_fun__888(threadData, _txt, _ret_1);
goto tmp2_done;
}
}
goto tmp2_end;
tmp2_end: ;
}
goto goto_1;
goto_1:;
MMC_THROW_INTERNAL();
goto tmp2_done;
tmp2_done:;
}
}
_out_txt = tmpMeta[0];
_return: OMC_LABEL_UNUSED
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__889(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_mArg, modelica_metatype _in_a_rel_exp2)
{
modelica_integer tmp1;
modelica_metatype _out_txt = NULL;
tmp1 = mmc_unbox_integer(_in_mArg);
_out_txt = omc_CodegenCFunctions_fun__889(threadData, _in_txt, tmp1, _in_a_rel_exp2);
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__888(threadData_t *threadData, modelica_metatype _in_txt, modelica_boolean _in_mArg)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta[1] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp3_1;modelica_boolean tmp3_2;
tmp3_1 = _in_txt;
tmp3_2 = _in_mArg;
{
modelica_metatype _txt = NULL;
volatile mmc_switch_type tmp3;
int tmp4;
tmp3 = 0;
for (; tmp3 < 2; tmp3++) {
switch (MMC_SWITCH_CAST(tmp3)) {
case 0: {
if (0 != tmp3_2) goto tmp2_end;
_txt = tmp3_1;
tmpMeta[0] = _txt;
goto tmp2_done;
}
case 1: {
_txt = tmp3_1;
tmpMeta[0] = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1039);
goto tmp2_done;
}
}
goto tmp2_end;
tmp2_end: ;
}
goto goto_1;
goto_1:;
MMC_THROW_INTERNAL();
goto tmp2_done;
tmp2_done:;
}
}
_out_txt = tmpMeta[0];
_return: OMC_LABEL_UNUSED
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__888(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_mArg)
{
modelica_integer tmp1;
modelica_metatype _out_txt = NULL;
tmp1 = mmc_unbox_integer(_in_mArg);
_out_txt = omc_CodegenCFunctions_fun__888(threadData, _in_txt, tmp1);
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__887(threadData_t *threadData, modelica_metatype _in_txt, modelica_boolean _in_mArg, modelica_integer _in_a_rel_index, modelica_metatype _in_a_e2, modelica_metatype _in_a_e1, modelica_metatype _in_a_res, modelica_metatype _in_a_preExp, modelica_metatype _in_a_rel_operator, modelica_metatype _in_a_rel_exp2, modelica_metatype _in_a_rel_exp1, modelica_metatype *out_out_a_preExp)
{
modelica_metatype _out_txt = NULL;
modelica_metatype _out_a_preExp = NULL;
modelica_metatype tmpMeta[2] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_boolean tmp4_2;modelica_integer tmp4_3;modelica_metatype tmp4_4;modelica_metatype tmp4_5;modelica_metatype tmp4_6;modelica_metatype tmp4_7;modelica_metatype tmp4_8;modelica_metatype tmp4_9;modelica_metatype tmp4_10;
tmp4_1 = _in_txt;
tmp4_2 = _in_mArg;
tmp4_3 = _in_a_rel_index;
tmp4_4 = _in_a_e2;
tmp4_5 = _in_a_e1;
tmp4_6 = _in_a_res;
tmp4_7 = _in_a_preExp;
tmp4_8 = _in_a_rel_operator;
tmp4_9 = _in_a_rel_exp2;
tmp4_10 = _in_a_rel_exp1;
{
modelica_metatype _txt = NULL;
modelica_integer _a_rel_index;
modelica_metatype _a_e2 = NULL;
modelica_metatype _a_e1 = NULL;
modelica_metatype _a_res = NULL;
modelica_metatype _a_preExp = NULL;
modelica_metatype _a_rel_operator = NULL;
modelica_metatype _a_rel_exp2 = NULL;
modelica_metatype _a_rel_exp1 = NULL;
modelica_metatype _l_hysteresisfunction = NULL;
modelica_boolean _ret_2;
modelica_metatype _ret_1 = NULL;
modelica_metatype _l_isReal = NULL;
volatile mmc_switch_type tmp4;
int tmp5;
tmp4 = 0;
for (; tmp4 < 2; tmp4++) {
switch (MMC_SWITCH_CAST(tmp4)) {
case 0: {
if (0 != tmp4_2) goto tmp3_end;
_txt = tmp4_1;
_a_rel_index = tmp4_3;
_a_e2 = tmp4_4;
_a_e1 = tmp4_5;
_a_res = tmp4_6;
_a_preExp = tmp4_7;
_a_rel_operator = tmp4_8;
_a_rel_exp2 = tmp4_9;
_a_rel_exp1 = tmp4_10;
_ret_1 = omc_Expression_typeof(threadData, _a_rel_exp1);
_ret_2 = omc_Expression_isRealType(threadData, _ret_1);
_l_isReal = omc_CodegenCFunctions_fun__883(threadData, _OMC_LIT20, _ret_2, _a_rel_exp2);
_l_hysteresisfunction = omc_CodegenCFunctions_fun__884(threadData, _OMC_LIT20, _l_isReal);
tmpMeta[0+0] = omc_CodegenCFunctions_fun__885(threadData, _txt, _a_rel_operator, _a_rel_index, _a_e2, _a_e1, _a_res, _l_hysteresisfunction, _a_preExp, &tmpMeta[0+1]);
goto tmp3_done;
}
case 1: {
_txt = tmp4_1;
_a_e2 = tmp4_4;
_a_e1 = tmp4_5;
_a_res = tmp4_6;
_a_preExp = tmp4_7;
_a_rel_operator = tmp4_8;
tmpMeta[0+0] = omc_CodegenCFunctions_fun__886(threadData, _txt, _a_rel_operator, _a_e2, _a_e1, _a_res, _a_preExp, &tmpMeta[0+1]);
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta[0+0];
_out_a_preExp = tmpMeta[0+1];
_return: OMC_LABEL_UNUSED
if (out_out_a_preExp) { *out_out_a_preExp = _out_a_preExp; }
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__887(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_mArg, modelica_metatype _in_a_rel_index, modelica_metatype _in_a_e2, modelica_metatype _in_a_e1, modelica_metatype _in_a_res, modelica_metatype _in_a_preExp, modelica_metatype _in_a_rel_operator, modelica_metatype _in_a_rel_exp2, modelica_metatype _in_a_rel_exp1, modelica_metatype *out_out_a_preExp)
{
modelica_integer tmp1;
modelica_integer tmp2;
modelica_metatype _out_txt = NULL;
tmp1 = mmc_unbox_integer(_in_mArg);
tmp2 = mmc_unbox_integer(_in_a_rel_index);
_out_txt = omc_CodegenCFunctions_fun__887(threadData, _in_txt, tmp1, tmp2, _in_a_e2, _in_a_e1, _in_a_res, _in_a_preExp, _in_a_rel_operator, _in_a_rel_exp2, _in_a_rel_exp1, out_out_a_preExp);
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__886(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_rel_operator, modelica_metatype _in_a_e2, modelica_metatype _in_a_e1, modelica_metatype _in_a_res, modelica_metatype _in_a_preExp, modelica_metatype *out_out_a_preExp)
{
modelica_metatype _out_txt = NULL;
modelica_metatype _out_a_preExp = NULL;
modelica_metatype tmpMeta[2] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_metatype tmp4_2;modelica_metatype tmp4_3;modelica_metatype tmp4_4;modelica_metatype tmp4_5;modelica_metatype tmp4_6;
tmp4_1 = _in_txt;
tmp4_2 = _in_a_rel_operator;
tmp4_3 = _in_a_e2;
tmp4_4 = _in_a_e1;
tmp4_5 = _in_a_res;
tmp4_6 = _in_a_preExp;
{
modelica_metatype _txt = NULL;
modelica_metatype _a_e2 = NULL;
modelica_metatype _a_e1 = NULL;
modelica_metatype _a_res = NULL;
modelica_metatype _a_preExp = NULL;
int tmp4;
{
switch (MMC_SWITCH_CAST(valueConstructor(tmp4_2))) {
case 28: {
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,25,1) == 0) goto tmp3_end;
_txt = tmp4_1;
_a_e2 = tmp4_3;
_a_e1 = tmp4_4;
_a_res = tmp4_5;
_a_preExp = tmp4_6;
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _a_res);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT1011);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _a_e1);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT226);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _a_e2);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT290);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT89);
_txt = omc_Tpl_writeText(threadData, _txt, _a_res);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_preExp;
goto tmp3_done;
}
case 29: {
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,26,1) == 0) goto tmp3_end;
_txt = tmp4_1;
_a_e2 = tmp4_3;
_a_e1 = tmp4_4;
_a_res = tmp4_5;
_a_preExp = tmp4_6;
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _a_res);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT1013);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _a_e1);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT226);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _a_e2);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT290);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT89);
_txt = omc_Tpl_writeText(threadData, _txt, _a_res);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_preExp;
goto tmp3_done;
}
case 30: {
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,27,1) == 0) goto tmp3_end;
_txt = tmp4_1;
_a_e2 = tmp4_3;
_a_e1 = tmp4_4;
_a_res = tmp4_5;
_a_preExp = tmp4_6;
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _a_res);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT1015);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _a_e1);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT226);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _a_e2);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT290);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT89);
_txt = omc_Tpl_writeText(threadData, _txt, _a_res);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_preExp;
goto tmp3_done;
}
case 31: {
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,28,1) == 0) goto tmp3_end;
_txt = tmp4_1;
_a_e2 = tmp4_3;
_a_e1 = tmp4_4;
_a_res = tmp4_5;
_a_preExp = tmp4_6;
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _a_res);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT1017);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _a_e1);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT226);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _a_e2);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT290);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT89);
_txt = omc_Tpl_writeText(threadData, _txt, _a_res);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_preExp;
goto tmp3_done;
}
default:
tmp3_default: OMC_LABEL_UNUSED; {
_txt = tmp4_1;
_a_preExp = tmp4_6;
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_preExp;
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta[0+0];
_out_a_preExp = tmpMeta[0+1];
_return: OMC_LABEL_UNUSED
if (out_out_a_preExp) { *out_out_a_preExp = _out_a_preExp; }
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__885(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_rel_operator, modelica_integer _in_a_rel_index, modelica_metatype _in_a_e2, modelica_metatype _in_a_e1, modelica_metatype _in_a_res, modelica_metatype _in_a_hysteresisfunction, modelica_metatype _in_a_preExp, modelica_metatype *out_out_a_preExp)
{
modelica_metatype _out_txt = NULL;
modelica_metatype _out_a_preExp = NULL;
modelica_metatype tmpMeta[2] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_metatype tmp4_2;modelica_integer tmp4_3;modelica_metatype tmp4_4;modelica_metatype tmp4_5;modelica_metatype tmp4_6;modelica_metatype tmp4_7;modelica_metatype tmp4_8;
tmp4_1 = _in_txt;
tmp4_2 = _in_a_rel_operator;
tmp4_3 = _in_a_rel_index;
tmp4_4 = _in_a_e2;
tmp4_5 = _in_a_e1;
tmp4_6 = _in_a_res;
tmp4_7 = _in_a_hysteresisfunction;
tmp4_8 = _in_a_preExp;
{
modelica_metatype _txt = NULL;
modelica_integer _a_rel_index;
modelica_metatype _a_e2 = NULL;
modelica_metatype _a_e1 = NULL;
modelica_metatype _a_res = NULL;
modelica_metatype _a_hysteresisfunction = NULL;
modelica_metatype _a_preExp = NULL;
int tmp4;
{
switch (MMC_SWITCH_CAST(valueConstructor(tmp4_2))) {
case 28: {
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,25,1) == 0) goto tmp3_end;
_txt = tmp4_1;
_a_rel_index = tmp4_3;
_a_e2 = tmp4_4;
_a_e1 = tmp4_5;
_a_res = tmp4_6;
_a_hysteresisfunction = tmp4_7;
_a_preExp = tmp4_8;
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _a_hysteresisfunction);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT68);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _a_res);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT292);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _a_e1);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT292);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _a_e2);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT292);
_a_preExp = omc_Tpl_writeStr(threadData, _a_preExp, intString(_a_rel_index));
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT1043);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT89);
_txt = omc_Tpl_writeText(threadData, _txt, _a_res);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_preExp;
goto tmp3_done;
}
case 29: {
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,26,1) == 0) goto tmp3_end;
_txt = tmp4_1;
_a_rel_index = tmp4_3;
_a_e2 = tmp4_4;
_a_e1 = tmp4_5;
_a_res = tmp4_6;
_a_hysteresisfunction = tmp4_7;
_a_preExp = tmp4_8;
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _a_hysteresisfunction);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT68);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _a_res);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT292);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _a_e1);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT292);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _a_e2);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT292);
_a_preExp = omc_Tpl_writeStr(threadData, _a_preExp, intString(_a_rel_index));
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT1045);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT89);
_txt = omc_Tpl_writeText(threadData, _txt, _a_res);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_preExp;
goto tmp3_done;
}
case 30: {
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,27,1) == 0) goto tmp3_end;
_txt = tmp4_1;
_a_rel_index = tmp4_3;
_a_e2 = tmp4_4;
_a_e1 = tmp4_5;
_a_res = tmp4_6;
_a_hysteresisfunction = tmp4_7;
_a_preExp = tmp4_8;
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _a_hysteresisfunction);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT68);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _a_res);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT292);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _a_e1);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT292);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _a_e2);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT292);
_a_preExp = omc_Tpl_writeStr(threadData, _a_preExp, intString(_a_rel_index));
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT1047);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT89);
_txt = omc_Tpl_writeText(threadData, _txt, _a_res);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_preExp;
goto tmp3_done;
}
case 31: {
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,28,1) == 0) goto tmp3_end;
_txt = tmp4_1;
_a_rel_index = tmp4_3;
_a_e2 = tmp4_4;
_a_e1 = tmp4_5;
_a_res = tmp4_6;
_a_hysteresisfunction = tmp4_7;
_a_preExp = tmp4_8;
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _a_hysteresisfunction);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT68);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _a_res);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT292);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _a_e1);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT292);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _a_e2);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT292);
_a_preExp = omc_Tpl_writeStr(threadData, _a_preExp, intString(_a_rel_index));
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT1049);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT89);
_txt = omc_Tpl_writeText(threadData, _txt, _a_res);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_preExp;
goto tmp3_done;
}
default:
tmp3_default: OMC_LABEL_UNUSED; {
_txt = tmp4_1;
_a_preExp = tmp4_8;
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_preExp;
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta[0+0];
_out_a_preExp = tmpMeta[0+1];
_return: OMC_LABEL_UNUSED
if (out_out_a_preExp) { *out_out_a_preExp = _out_a_preExp; }
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__885(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_rel_operator, modelica_metatype _in_a_rel_index, modelica_metatype _in_a_e2, modelica_metatype _in_a_e1, modelica_metatype _in_a_res, modelica_metatype _in_a_hysteresisfunction, modelica_metatype _in_a_preExp, modelica_metatype *out_out_a_preExp)
{
modelica_integer tmp1;
modelica_metatype _out_txt = NULL;
tmp1 = mmc_unbox_integer(_in_a_rel_index);
_out_txt = omc_CodegenCFunctions_fun__885(threadData, _in_txt, _in_a_rel_operator, tmp1, _in_a_e2, _in_a_e1, _in_a_res, _in_a_hysteresisfunction, _in_a_preExp, out_out_a_preExp);
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__884(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_isReal)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta[2] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp3_1;modelica_metatype tmp3_2;
tmp3_1 = _in_txt;
tmp3_2 = _in_a_isReal;
{
modelica_metatype _txt = NULL;
volatile mmc_switch_type tmp3;
int tmp4;
tmp3 = 0;
for (; tmp3 < 2; tmp3++) {
switch (MMC_SWITCH_CAST(tmp3)) {
case 0: {
if (mmc__uniontype__metarecord__typedef__equal(tmp3_2,0,2) == 0) goto tmp2_end;
tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_2), 2));
if (!listEmpty(tmpMeta[1])) goto tmp2_end;
_txt = tmp3_1;
tmpMeta[0] = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1051);
goto tmp2_done;
}
case 1: {
_txt = tmp3_1;
tmpMeta[0] = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1053);
goto tmp2_done;
}
}
goto tmp2_end;
tmp2_end: ;
}
goto goto_1;
goto_1:;
MMC_THROW_INTERNAL();
goto tmp2_done;
tmp2_done:;
}
}
_out_txt = tmpMeta[0];
_return: OMC_LABEL_UNUSED
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__883(threadData_t *threadData, modelica_metatype _in_txt, modelica_boolean _in_mArg, modelica_metatype _in_a_rel_exp2)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta[1] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp3_1;modelica_boolean tmp3_2;modelica_metatype tmp3_3;
tmp3_1 = _in_txt;
tmp3_2 = _in_mArg;
tmp3_3 = _in_a_rel_exp2;
{
modelica_metatype _txt = NULL;
modelica_metatype _a_rel_exp2 = NULL;
modelica_boolean _ret_1;
modelica_metatype _ret_0 = NULL;
volatile mmc_switch_type tmp3;
int tmp4;
tmp3 = 0;
for (; tmp3 < 2; tmp3++) {
switch (MMC_SWITCH_CAST(tmp3)) {
case 0: {
if (0 != tmp3_2) goto tmp2_end;
_txt = tmp3_1;
tmpMeta[0] = _txt;
goto tmp2_done;
}
case 1: {
_txt = tmp3_1;
_a_rel_exp2 = tmp3_3;
_ret_0 = omc_Expression_typeof(threadData, _a_rel_exp2);
_ret_1 = omc_Expression_isRealType(threadData, _ret_0);
tmpMeta[0] = omc_CodegenCFunctions_fun__882(threadData, _txt, _ret_1);
goto tmp2_done;
}
}
goto tmp2_end;
tmp2_end: ;
}
goto goto_1;
goto_1:;
MMC_THROW_INTERNAL();
goto tmp2_done;
tmp2_done:;
}
}
_out_txt = tmpMeta[0];
_return: OMC_LABEL_UNUSED
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__883(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_mArg, modelica_metatype _in_a_rel_exp2)
{
modelica_integer tmp1;
modelica_metatype _out_txt = NULL;
tmp1 = mmc_unbox_integer(_in_mArg);
_out_txt = omc_CodegenCFunctions_fun__883(threadData, _in_txt, tmp1, _in_a_rel_exp2);
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__882(threadData_t *threadData, modelica_metatype _in_txt, modelica_boolean _in_mArg)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta[1] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp3_1;modelica_boolean tmp3_2;
tmp3_1 = _in_txt;
tmp3_2 = _in_mArg;
{
modelica_metatype _txt = NULL;
volatile mmc_switch_type tmp3;
int tmp4;
tmp3 = 0;
for (; tmp3 < 2; tmp3++) {
switch (MMC_SWITCH_CAST(tmp3)) {
case 0: {
if (0 != tmp3_2) goto tmp2_end;
_txt = tmp3_1;
tmpMeta[0] = _txt;
goto tmp2_done;
}
case 1: {
_txt = tmp3_1;
tmpMeta[0] = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1039);
goto tmp2_done;
}
}
goto tmp2_end;
tmp2_end: ;
}
goto goto_1;
goto_1:;
MMC_THROW_INTERNAL();
goto tmp2_done;
tmp2_done:;
}
}
_out_txt = tmpMeta[0];
_return: OMC_LABEL_UNUSED
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__882(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_mArg)
{
modelica_integer tmp1;
modelica_metatype _out_txt = NULL;
tmp1 = mmc_unbox_integer(_in_mArg);
_out_txt = omc_CodegenCFunctions_fun__882(threadData, _in_txt, tmp1);
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__881(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_rel_optionExpisASUB, modelica_metatype _in_a_rel_operator, modelica_integer _in_a_rel_index, modelica_metatype _in_a_rel_exp2, modelica_metatype _in_a_auxFunction, modelica_metatype _in_a_varDecls, modelica_metatype _in_a_preExp, modelica_metatype _in_a_context, modelica_metatype _in_a_rel_exp1, modelica_metatype *out_out_a_auxFunction, modelica_metatype *out_out_a_varDecls, modelica_metatype *out_out_a_preExp)
{
modelica_metatype _out_txt = NULL;
modelica_metatype _out_a_auxFunction = NULL;
modelica_metatype _out_a_varDecls = NULL;
modelica_metatype _out_a_preExp = NULL;
modelica_metatype tmpMeta[8] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_metatype tmp4_2;modelica_metatype tmp4_3;modelica_integer tmp4_4;modelica_metatype tmp4_5;modelica_metatype tmp4_6;modelica_metatype tmp4_7;modelica_metatype tmp4_8;modelica_metatype tmp4_9;modelica_metatype tmp4_10;
tmp4_1 = _in_txt;
tmp4_2 = _in_a_rel_optionExpisASUB;
tmp4_3 = _in_a_rel_operator;
tmp4_4 = _in_a_rel_index;
tmp4_5 = _in_a_rel_exp2;
tmp4_6 = _in_a_auxFunction;
tmp4_7 = _in_a_varDecls;
tmp4_8 = _in_a_preExp;
tmp4_9 = _in_a_context;
tmp4_10 = _in_a_rel_exp1;
{
modelica_metatype _txt = NULL;
modelica_metatype _a_rel_operator = NULL;
modelica_integer _a_rel_index;
modelica_metatype _a_rel_exp2 = NULL;
modelica_metatype _a_auxFunction = NULL;
modelica_metatype _a_varDecls = NULL;
modelica_metatype _a_preExp = NULL;
modelica_metatype _a_context = NULL;
modelica_metatype _a_rel_exp1 = NULL;
modelica_integer _i_j;
modelica_integer _i_i;
modelica_metatype _i_exp = NULL;
modelica_boolean _ret_5;
modelica_metatype _l_iterator = NULL;
modelica_boolean _ret_3;
modelica_metatype _l_res = NULL;
modelica_metatype _l_e2 = NULL;
modelica_metatype _l_e1 = NULL;
volatile mmc_switch_type tmp4;
int tmp5;
tmp4 = 0;
for (; tmp4 < 3; tmp4++) {
switch (MMC_SWITCH_CAST(tmp4)) {
case 0: {
if (!optionNone(tmp4_2)) goto tmp3_end;
_txt = tmp4_1;
_a_rel_operator = tmp4_3;
_a_rel_index = tmp4_4;
_a_rel_exp2 = tmp4_5;
_a_auxFunction = tmp4_6;
_a_varDecls = tmp4_7;
_a_preExp = tmp4_8;
_a_context = tmp4_9;
_a_rel_exp1 = tmp4_10;
_l_e1 = omc_CodegenCFunctions_daeExp(threadData, _OMC_LIT20, _a_rel_exp1, _a_context, _a_preExp, _a_varDecls, _a_auxFunction ,&_a_preExp ,&_a_varDecls ,&_a_auxFunction);
_l_e2 = omc_CodegenCFunctions_daeExp(threadData, _OMC_LIT20, _a_rel_exp2, _a_context, _a_preExp, _a_varDecls, _a_auxFunction ,&_a_preExp ,&_a_varDecls ,&_a_auxFunction);
_l_res = omc_CodegenCFunctions_tempDecl(threadData, _OMC_LIT20, _OMC_LIT71, _a_varDecls ,&_a_varDecls);
_ret_3 = (_a_rel_index == ((modelica_integer) -1));
_txt = omc_CodegenCFunctions_fun__874(threadData, _txt, _ret_3, _a_rel_index, _l_e2, _l_e1, _l_res, _a_preExp, _a_rel_operator, _a_rel_exp2, _a_rel_exp1 ,&_a_preExp);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_auxFunction;
tmpMeta[0+2] = _a_varDecls;
tmpMeta[0+3] = _a_preExp;
goto tmp3_done;
}
case 1: {
modelica_integer tmp6;
modelica_integer tmp7;
if (optionNone(tmp4_2)) goto tmp3_end;
tmpMeta[4] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 1));
tmpMeta[5] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[4]), 1));
tmpMeta[6] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[4]), 2));
tmp6 = mmc_unbox_integer(tmpMeta[6]);
tmpMeta[7] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[4]), 3));
tmp7 = mmc_unbox_integer(tmpMeta[7]);
_i_exp = tmpMeta[5];
_i_i = tmp6;
_i_j = tmp7;
_txt = tmp4_1;
_a_rel_operator = tmp4_3;
_a_rel_index = tmp4_4;
_a_rel_exp2 = tmp4_5;
_a_auxFunction = tmp4_6;
_a_varDecls = tmp4_7;
_a_preExp = tmp4_8;
_a_context = tmp4_9;
_a_rel_exp1 = tmp4_10;
_l_e1 = omc_CodegenCFunctions_daeExp(threadData, _OMC_LIT20, _a_rel_exp1, _a_context, _a_preExp, _a_varDecls, _a_auxFunction ,&_a_preExp ,&_a_varDecls ,&_a_auxFunction);
_l_e2 = omc_CodegenCFunctions_daeExp(threadData, _OMC_LIT20, _a_rel_exp2, _a_context, _a_preExp, _a_varDecls, _a_auxFunction ,&_a_preExp ,&_a_varDecls ,&_a_auxFunction);
_l_iterator = omc_CodegenCFunctions_daeExp(threadData, _OMC_LIT20, _i_exp, _a_context, _a_preExp, _a_varDecls, _a_auxFunction ,&_a_preExp ,&_a_varDecls ,&_a_auxFunction);
_l_res = omc_CodegenCFunctions_tempDecl(threadData, _OMC_LIT20, _OMC_LIT71, _a_varDecls ,&_a_varDecls);
_ret_5 = (_a_rel_index == ((modelica_integer) -1));
_txt = omc_CodegenCFunctions_fun__880(threadData, _txt, _ret_5, _i_j, _i_i, _l_iterator, _a_rel_index, _l_e2, _l_e1, _l_res, _a_preExp, _a_rel_operator, _a_rel_exp2, _a_rel_exp1 ,&_a_preExp);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_auxFunction;
tmpMeta[0+2] = _a_varDecls;
tmpMeta[0+3] = _a_preExp;
goto tmp3_done;
}
case 2: {
_txt = tmp4_1;
_a_auxFunction = tmp4_6;
_a_varDecls = tmp4_7;
_a_preExp = tmp4_8;
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_auxFunction;
tmpMeta[0+2] = _a_varDecls;
tmpMeta[0+3] = _a_preExp;
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta[0+0];
_out_a_auxFunction = tmpMeta[0+1];
_out_a_varDecls = tmpMeta[0+2];
_out_a_preExp = tmpMeta[0+3];
_return: OMC_LABEL_UNUSED
if (out_out_a_auxFunction) { *out_out_a_auxFunction = _out_a_auxFunction; }
if (out_out_a_varDecls) { *out_out_a_varDecls = _out_a_varDecls; }
if (out_out_a_preExp) { *out_out_a_preExp = _out_a_preExp; }
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__881(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_rel_optionExpisASUB, modelica_metatype _in_a_rel_operator, modelica_metatype _in_a_rel_index, modelica_metatype _in_a_rel_exp2, modelica_metatype _in_a_auxFunction, modelica_metatype _in_a_varDecls, modelica_metatype _in_a_preExp, modelica_metatype _in_a_context, modelica_metatype _in_a_rel_exp1, modelica_metatype *out_out_a_auxFunction, modelica_metatype *out_out_a_varDecls, modelica_metatype *out_out_a_preExp)
{
modelica_integer tmp1;
modelica_metatype _out_txt = NULL;
tmp1 = mmc_unbox_integer(_in_a_rel_index);
_out_txt = omc_CodegenCFunctions_fun__881(threadData, _in_txt, _in_a_rel_optionExpisASUB, _in_a_rel_operator, tmp1, _in_a_rel_exp2, _in_a_auxFunction, _in_a_varDecls, _in_a_preExp, _in_a_context, _in_a_rel_exp1, out_out_a_auxFunction, out_out_a_varDecls, out_out_a_preExp);
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__880(threadData_t *threadData, modelica_metatype _in_txt, modelica_boolean _in_mArg, modelica_integer _in_a_j, modelica_integer _in_a_i, modelica_metatype _in_a_iterator, modelica_integer _in_a_rel_index, modelica_metatype _in_a_e2, modelica_metatype _in_a_e1, modelica_metatype _in_a_res, modelica_metatype _in_a_preExp, modelica_metatype _in_a_rel_operator, modelica_metatype _in_a_rel_exp2, modelica_metatype _in_a_rel_exp1, modelica_metatype *out_out_a_preExp)
{
modelica_metatype _out_txt = NULL;
modelica_metatype _out_a_preExp = NULL;
modelica_metatype tmpMeta[2] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_boolean tmp4_2;modelica_integer tmp4_3;modelica_integer tmp4_4;modelica_metatype tmp4_5;modelica_integer tmp4_6;modelica_metatype tmp4_7;modelica_metatype tmp4_8;modelica_metatype tmp4_9;modelica_metatype tmp4_10;modelica_metatype tmp4_11;modelica_metatype tmp4_12;modelica_metatype tmp4_13;
tmp4_1 = _in_txt;
tmp4_2 = _in_mArg;
tmp4_3 = _in_a_j;
tmp4_4 = _in_a_i;
tmp4_5 = _in_a_iterator;
tmp4_6 = _in_a_rel_index;
tmp4_7 = _in_a_e2;
tmp4_8 = _in_a_e1;
tmp4_9 = _in_a_res;
tmp4_10 = _in_a_preExp;
tmp4_11 = _in_a_rel_operator;
tmp4_12 = _in_a_rel_exp2;
tmp4_13 = _in_a_rel_exp1;
{
modelica_metatype _txt = NULL;
modelica_integer _a_j;
modelica_integer _a_i;
modelica_metatype _a_iterator = NULL;
modelica_integer _a_rel_index;
modelica_metatype _a_e2 = NULL;
modelica_metatype _a_e1 = NULL;
modelica_metatype _a_res = NULL;
modelica_metatype _a_preExp = NULL;
modelica_metatype _a_rel_operator = NULL;
modelica_metatype _a_rel_exp2 = NULL;
modelica_metatype _a_rel_exp1 = NULL;
modelica_metatype _l_hysteresisfunction = NULL;
modelica_boolean _ret_2;
modelica_metatype _ret_1 = NULL;
modelica_metatype _l_isReal = NULL;
volatile mmc_switch_type tmp4;
int tmp5;
tmp4 = 0;
for (; tmp4 < 2; tmp4++) {
switch (MMC_SWITCH_CAST(tmp4)) {
case 0: {
if (0 != tmp4_2) goto tmp3_end;
_txt = tmp4_1;
_a_j = tmp4_3;
_a_i = tmp4_4;
_a_iterator = tmp4_5;
_a_rel_index = tmp4_6;
_a_e2 = tmp4_7;
_a_e1 = tmp4_8;
_a_res = tmp4_9;
_a_preExp = tmp4_10;
_a_rel_operator = tmp4_11;
_a_rel_exp2 = tmp4_12;
_a_rel_exp1 = tmp4_13;
_ret_1 = omc_Expression_typeof(threadData, _a_rel_exp1);
_ret_2 = omc_Expression_isRealType(threadData, _ret_1);
_l_isReal = omc_CodegenCFunctions_fun__876(threadData, _OMC_LIT20, _ret_2, _a_rel_exp2);
_l_hysteresisfunction = omc_CodegenCFunctions_fun__877(threadData, _OMC_LIT20, _l_isReal);
tmpMeta[0+0] = omc_CodegenCFunctions_fun__878(threadData, _txt, _a_rel_operator, _a_j, _a_i, _a_iterator, _a_rel_index, _a_e2, _a_e1, _a_res, _l_hysteresisfunction, _a_preExp, &tmpMeta[0+1]);
goto tmp3_done;
}
case 1: {
_txt = tmp4_1;
_a_e2 = tmp4_7;
_a_e1 = tmp4_8;
_a_res = tmp4_9;
_a_preExp = tmp4_10;
_a_rel_operator = tmp4_11;
tmpMeta[0+0] = omc_CodegenCFunctions_fun__879(threadData, _txt, _a_rel_operator, _a_e2, _a_e1, _a_res, _a_preExp, &tmpMeta[0+1]);
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta[0+0];
_out_a_preExp = tmpMeta[0+1];
_return: OMC_LABEL_UNUSED
if (out_out_a_preExp) { *out_out_a_preExp = _out_a_preExp; }
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__880(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_mArg, modelica_metatype _in_a_j, modelica_metatype _in_a_i, modelica_metatype _in_a_iterator, modelica_metatype _in_a_rel_index, modelica_metatype _in_a_e2, modelica_metatype _in_a_e1, modelica_metatype _in_a_res, modelica_metatype _in_a_preExp, modelica_metatype _in_a_rel_operator, modelica_metatype _in_a_rel_exp2, modelica_metatype _in_a_rel_exp1, modelica_metatype *out_out_a_preExp)
{
modelica_integer tmp1;
modelica_integer tmp2;
modelica_integer tmp3;
modelica_integer tmp4;
modelica_metatype _out_txt = NULL;
tmp1 = mmc_unbox_integer(_in_mArg);
tmp2 = mmc_unbox_integer(_in_a_j);
tmp3 = mmc_unbox_integer(_in_a_i);
tmp4 = mmc_unbox_integer(_in_a_rel_index);
_out_txt = omc_CodegenCFunctions_fun__880(threadData, _in_txt, tmp1, tmp2, tmp3, _in_a_iterator, tmp4, _in_a_e2, _in_a_e1, _in_a_res, _in_a_preExp, _in_a_rel_operator, _in_a_rel_exp2, _in_a_rel_exp1, out_out_a_preExp);
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__879(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_rel_operator, modelica_metatype _in_a_e2, modelica_metatype _in_a_e1, modelica_metatype _in_a_res, modelica_metatype _in_a_preExp, modelica_metatype *out_out_a_preExp)
{
modelica_metatype _out_txt = NULL;
modelica_metatype _out_a_preExp = NULL;
modelica_metatype tmpMeta[2] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_metatype tmp4_2;modelica_metatype tmp4_3;modelica_metatype tmp4_4;modelica_metatype tmp4_5;modelica_metatype tmp4_6;
tmp4_1 = _in_txt;
tmp4_2 = _in_a_rel_operator;
tmp4_3 = _in_a_e2;
tmp4_4 = _in_a_e1;
tmp4_5 = _in_a_res;
tmp4_6 = _in_a_preExp;
{
modelica_metatype _txt = NULL;
modelica_metatype _a_e2 = NULL;
modelica_metatype _a_e1 = NULL;
modelica_metatype _a_res = NULL;
modelica_metatype _a_preExp = NULL;
int tmp4;
{
switch (MMC_SWITCH_CAST(valueConstructor(tmp4_2))) {
case 28: {
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,25,1) == 0) goto tmp3_end;
_txt = tmp4_1;
_a_e2 = tmp4_3;
_a_e1 = tmp4_4;
_a_res = tmp4_5;
_a_preExp = tmp4_6;
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _a_res);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT1011);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _a_e1);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT226);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _a_e2);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT290);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT89);
_txt = omc_Tpl_writeText(threadData, _txt, _a_res);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_preExp;
goto tmp3_done;
}
case 29: {
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,26,1) == 0) goto tmp3_end;
_txt = tmp4_1;
_a_e2 = tmp4_3;
_a_e1 = tmp4_4;
_a_res = tmp4_5;
_a_preExp = tmp4_6;
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _a_res);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT1013);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _a_e1);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT226);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _a_e2);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT290);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT89);
_txt = omc_Tpl_writeText(threadData, _txt, _a_res);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_preExp;
goto tmp3_done;
}
case 30: {
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,27,1) == 0) goto tmp3_end;
_txt = tmp4_1;
_a_e2 = tmp4_3;
_a_e1 = tmp4_4;
_a_res = tmp4_5;
_a_preExp = tmp4_6;
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _a_res);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT1015);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _a_e1);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT226);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _a_e2);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT290);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT89);
_txt = omc_Tpl_writeText(threadData, _txt, _a_res);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_preExp;
goto tmp3_done;
}
case 31: {
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,28,1) == 0) goto tmp3_end;
_txt = tmp4_1;
_a_e2 = tmp4_3;
_a_e1 = tmp4_4;
_a_res = tmp4_5;
_a_preExp = tmp4_6;
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _a_res);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT1017);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _a_e1);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT226);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _a_e2);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT290);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT89);
_txt = omc_Tpl_writeText(threadData, _txt, _a_res);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_preExp;
goto tmp3_done;
}
default:
tmp3_default: OMC_LABEL_UNUSED; {
_txt = tmp4_1;
_a_preExp = tmp4_6;
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_preExp;
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta[0+0];
_out_a_preExp = tmpMeta[0+1];
_return: OMC_LABEL_UNUSED
if (out_out_a_preExp) { *out_out_a_preExp = _out_a_preExp; }
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__878(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_rel_operator, modelica_integer _in_a_j, modelica_integer _in_a_i, modelica_metatype _in_a_iterator, modelica_integer _in_a_rel_index, modelica_metatype _in_a_e2, modelica_metatype _in_a_e1, modelica_metatype _in_a_res, modelica_metatype _in_a_hysteresisfunction, modelica_metatype _in_a_preExp, modelica_metatype *out_out_a_preExp)
{
modelica_metatype _out_txt = NULL;
modelica_metatype _out_a_preExp = NULL;
modelica_metatype tmpMeta[2] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_metatype tmp4_2;modelica_integer tmp4_3;modelica_integer tmp4_4;modelica_metatype tmp4_5;modelica_integer tmp4_6;modelica_metatype tmp4_7;modelica_metatype tmp4_8;modelica_metatype tmp4_9;modelica_metatype tmp4_10;modelica_metatype tmp4_11;
tmp4_1 = _in_txt;
tmp4_2 = _in_a_rel_operator;
tmp4_3 = _in_a_j;
tmp4_4 = _in_a_i;
tmp4_5 = _in_a_iterator;
tmp4_6 = _in_a_rel_index;
tmp4_7 = _in_a_e2;
tmp4_8 = _in_a_e1;
tmp4_9 = _in_a_res;
tmp4_10 = _in_a_hysteresisfunction;
tmp4_11 = _in_a_preExp;
{
modelica_metatype _txt = NULL;
modelica_integer _a_j;
modelica_integer _a_i;
modelica_metatype _a_iterator = NULL;
modelica_integer _a_rel_index;
modelica_metatype _a_e2 = NULL;
modelica_metatype _a_e1 = NULL;
modelica_metatype _a_res = NULL;
modelica_metatype _a_hysteresisfunction = NULL;
modelica_metatype _a_preExp = NULL;
int tmp4;
{
switch (MMC_SWITCH_CAST(valueConstructor(tmp4_2))) {
case 28: {
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,25,1) == 0) goto tmp3_end;
_txt = tmp4_1;
_a_j = tmp4_3;
_a_i = tmp4_4;
_a_iterator = tmp4_5;
_a_rel_index = tmp4_6;
_a_e2 = tmp4_7;
_a_e1 = tmp4_8;
_a_res = tmp4_9;
_a_hysteresisfunction = tmp4_10;
_a_preExp = tmp4_11;
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _a_hysteresisfunction);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT68);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _a_res);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT292);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _a_e1);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT292);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _a_e2);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT292);
_a_preExp = omc_Tpl_writeStr(threadData, _a_preExp, intString(_a_rel_index));
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT1041);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _a_iterator);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT649);
_a_preExp = omc_Tpl_writeStr(threadData, _a_preExp, intString(_a_i));
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT389);
_a_preExp = omc_Tpl_writeStr(threadData, _a_preExp, intString(_a_j));
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT1043);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT89);
_txt = omc_Tpl_writeText(threadData, _txt, _a_res);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_preExp;
goto tmp3_done;
}
case 29: {
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,26,1) == 0) goto tmp3_end;
_txt = tmp4_1;
_a_j = tmp4_3;
_a_i = tmp4_4;
_a_iterator = tmp4_5;
_a_rel_index = tmp4_6;
_a_e2 = tmp4_7;
_a_e1 = tmp4_8;
_a_res = tmp4_9;
_a_hysteresisfunction = tmp4_10;
_a_preExp = tmp4_11;
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _a_hysteresisfunction);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT68);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _a_res);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT292);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _a_e1);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT292);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _a_e2);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT292);
_a_preExp = omc_Tpl_writeStr(threadData, _a_preExp, intString(_a_rel_index));
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT1041);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _a_iterator);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT649);
_a_preExp = omc_Tpl_writeStr(threadData, _a_preExp, intString(_a_i));
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT389);
_a_preExp = omc_Tpl_writeStr(threadData, _a_preExp, intString(_a_j));
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT1045);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT89);
_txt = omc_Tpl_writeText(threadData, _txt, _a_res);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_preExp;
goto tmp3_done;
}
case 30: {
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,27,1) == 0) goto tmp3_end;
_txt = tmp4_1;
_a_j = tmp4_3;
_a_i = tmp4_4;
_a_iterator = tmp4_5;
_a_rel_index = tmp4_6;
_a_e2 = tmp4_7;
_a_e1 = tmp4_8;
_a_res = tmp4_9;
_a_hysteresisfunction = tmp4_10;
_a_preExp = tmp4_11;
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _a_hysteresisfunction);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT68);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _a_res);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT292);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _a_e1);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT292);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _a_e2);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT292);
_a_preExp = omc_Tpl_writeStr(threadData, _a_preExp, intString(_a_rel_index));
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT1041);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _a_iterator);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT649);
_a_preExp = omc_Tpl_writeStr(threadData, _a_preExp, intString(_a_i));
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT389);
_a_preExp = omc_Tpl_writeStr(threadData, _a_preExp, intString(_a_j));
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT1047);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT89);
_txt = omc_Tpl_writeText(threadData, _txt, _a_res);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_preExp;
goto tmp3_done;
}
case 31: {
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,28,1) == 0) goto tmp3_end;
_txt = tmp4_1;
_a_j = tmp4_3;
_a_i = tmp4_4;
_a_iterator = tmp4_5;
_a_rel_index = tmp4_6;
_a_e2 = tmp4_7;
_a_e1 = tmp4_8;
_a_res = tmp4_9;
_a_hysteresisfunction = tmp4_10;
_a_preExp = tmp4_11;
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _a_hysteresisfunction);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT68);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _a_res);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT292);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _a_e1);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT292);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _a_e2);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT292);
_a_preExp = omc_Tpl_writeStr(threadData, _a_preExp, intString(_a_rel_index));
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT1041);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _a_iterator);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT649);
_a_preExp = omc_Tpl_writeStr(threadData, _a_preExp, intString(_a_i));
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT389);
_a_preExp = omc_Tpl_writeStr(threadData, _a_preExp, intString(_a_j));
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT1049);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT89);
_txt = omc_Tpl_writeText(threadData, _txt, _a_res);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_preExp;
goto tmp3_done;
}
default:
tmp3_default: OMC_LABEL_UNUSED; {
_txt = tmp4_1;
_a_preExp = tmp4_11;
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_preExp;
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta[0+0];
_out_a_preExp = tmpMeta[0+1];
_return: OMC_LABEL_UNUSED
if (out_out_a_preExp) { *out_out_a_preExp = _out_a_preExp; }
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__878(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_rel_operator, modelica_metatype _in_a_j, modelica_metatype _in_a_i, modelica_metatype _in_a_iterator, modelica_metatype _in_a_rel_index, modelica_metatype _in_a_e2, modelica_metatype _in_a_e1, modelica_metatype _in_a_res, modelica_metatype _in_a_hysteresisfunction, modelica_metatype _in_a_preExp, modelica_metatype *out_out_a_preExp)
{
modelica_integer tmp1;
modelica_integer tmp2;
modelica_integer tmp3;
modelica_metatype _out_txt = NULL;
tmp1 = mmc_unbox_integer(_in_a_j);
tmp2 = mmc_unbox_integer(_in_a_i);
tmp3 = mmc_unbox_integer(_in_a_rel_index);
_out_txt = omc_CodegenCFunctions_fun__878(threadData, _in_txt, _in_a_rel_operator, tmp1, tmp2, _in_a_iterator, tmp3, _in_a_e2, _in_a_e1, _in_a_res, _in_a_hysteresisfunction, _in_a_preExp, out_out_a_preExp);
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__877(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_isReal)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta[2] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp3_1;modelica_metatype tmp3_2;
tmp3_1 = _in_txt;
tmp3_2 = _in_a_isReal;
{
modelica_metatype _txt = NULL;
volatile mmc_switch_type tmp3;
int tmp4;
tmp3 = 0;
for (; tmp3 < 2; tmp3++) {
switch (MMC_SWITCH_CAST(tmp3)) {
case 0: {
if (mmc__uniontype__metarecord__typedef__equal(tmp3_2,0,2) == 0) goto tmp2_end;
tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_2), 2));
if (!listEmpty(tmpMeta[1])) goto tmp2_end;
_txt = tmp3_1;
tmpMeta[0] = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1051);
goto tmp2_done;
}
case 1: {
_txt = tmp3_1;
tmpMeta[0] = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1053);
goto tmp2_done;
}
}
goto tmp2_end;
tmp2_end: ;
}
goto goto_1;
goto_1:;
MMC_THROW_INTERNAL();
goto tmp2_done;
tmp2_done:;
}
}
_out_txt = tmpMeta[0];
_return: OMC_LABEL_UNUSED
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__876(threadData_t *threadData, modelica_metatype _in_txt, modelica_boolean _in_mArg, modelica_metatype _in_a_rel_exp2)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta[1] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp3_1;modelica_boolean tmp3_2;modelica_metatype tmp3_3;
tmp3_1 = _in_txt;
tmp3_2 = _in_mArg;
tmp3_3 = _in_a_rel_exp2;
{
modelica_metatype _txt = NULL;
modelica_metatype _a_rel_exp2 = NULL;
modelica_boolean _ret_1;
modelica_metatype _ret_0 = NULL;
volatile mmc_switch_type tmp3;
int tmp4;
tmp3 = 0;
for (; tmp3 < 2; tmp3++) {
switch (MMC_SWITCH_CAST(tmp3)) {
case 0: {
if (0 != tmp3_2) goto tmp2_end;
_txt = tmp3_1;
tmpMeta[0] = _txt;
goto tmp2_done;
}
case 1: {
_txt = tmp3_1;
_a_rel_exp2 = tmp3_3;
_ret_0 = omc_Expression_typeof(threadData, _a_rel_exp2);
_ret_1 = omc_Expression_isRealType(threadData, _ret_0);
tmpMeta[0] = omc_CodegenCFunctions_fun__875(threadData, _txt, _ret_1);
goto tmp2_done;
}
}
goto tmp2_end;
tmp2_end: ;
}
goto goto_1;
goto_1:;
MMC_THROW_INTERNAL();
goto tmp2_done;
tmp2_done:;
}
}
_out_txt = tmpMeta[0];
_return: OMC_LABEL_UNUSED
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__876(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_mArg, modelica_metatype _in_a_rel_exp2)
{
modelica_integer tmp1;
modelica_metatype _out_txt = NULL;
tmp1 = mmc_unbox_integer(_in_mArg);
_out_txt = omc_CodegenCFunctions_fun__876(threadData, _in_txt, tmp1, _in_a_rel_exp2);
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__875(threadData_t *threadData, modelica_metatype _in_txt, modelica_boolean _in_mArg)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta[1] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp3_1;modelica_boolean tmp3_2;
tmp3_1 = _in_txt;
tmp3_2 = _in_mArg;
{
modelica_metatype _txt = NULL;
volatile mmc_switch_type tmp3;
int tmp4;
tmp3 = 0;
for (; tmp3 < 2; tmp3++) {
switch (MMC_SWITCH_CAST(tmp3)) {
case 0: {
if (0 != tmp3_2) goto tmp2_end;
_txt = tmp3_1;
tmpMeta[0] = _txt;
goto tmp2_done;
}
case 1: {
_txt = tmp3_1;
tmpMeta[0] = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1039);
goto tmp2_done;
}
}
goto tmp2_end;
tmp2_end: ;
}
goto goto_1;
goto_1:;
MMC_THROW_INTERNAL();
goto tmp2_done;
tmp2_done:;
}
}
_out_txt = tmpMeta[0];
_return: OMC_LABEL_UNUSED
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__875(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_mArg)
{
modelica_integer tmp1;
modelica_metatype _out_txt = NULL;
tmp1 = mmc_unbox_integer(_in_mArg);
_out_txt = omc_CodegenCFunctions_fun__875(threadData, _in_txt, tmp1);
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__874(threadData_t *threadData, modelica_metatype _in_txt, modelica_boolean _in_mArg, modelica_integer _in_a_rel_index, modelica_metatype _in_a_e2, modelica_metatype _in_a_e1, modelica_metatype _in_a_res, modelica_metatype _in_a_preExp, modelica_metatype _in_a_rel_operator, modelica_metatype _in_a_rel_exp2, modelica_metatype _in_a_rel_exp1, modelica_metatype *out_out_a_preExp)
{
modelica_metatype _out_txt = NULL;
modelica_metatype _out_a_preExp = NULL;
modelica_metatype tmpMeta[2] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_boolean tmp4_2;modelica_integer tmp4_3;modelica_metatype tmp4_4;modelica_metatype tmp4_5;modelica_metatype tmp4_6;modelica_metatype tmp4_7;modelica_metatype tmp4_8;modelica_metatype tmp4_9;modelica_metatype tmp4_10;
tmp4_1 = _in_txt;
tmp4_2 = _in_mArg;
tmp4_3 = _in_a_rel_index;
tmp4_4 = _in_a_e2;
tmp4_5 = _in_a_e1;
tmp4_6 = _in_a_res;
tmp4_7 = _in_a_preExp;
tmp4_8 = _in_a_rel_operator;
tmp4_9 = _in_a_rel_exp2;
tmp4_10 = _in_a_rel_exp1;
{
modelica_metatype _txt = NULL;
modelica_integer _a_rel_index;
modelica_metatype _a_e2 = NULL;
modelica_metatype _a_e1 = NULL;
modelica_metatype _a_res = NULL;
modelica_metatype _a_preExp = NULL;
modelica_metatype _a_rel_operator = NULL;
modelica_metatype _a_rel_exp2 = NULL;
modelica_metatype _a_rel_exp1 = NULL;
modelica_metatype _l_hysteresisfunction = NULL;
modelica_boolean _ret_2;
modelica_metatype _ret_1 = NULL;
modelica_metatype _l_isReal = NULL;
volatile mmc_switch_type tmp4;
int tmp5;
tmp4 = 0;
for (; tmp4 < 2; tmp4++) {
switch (MMC_SWITCH_CAST(tmp4)) {
case 0: {
if (0 != tmp4_2) goto tmp3_end;
_txt = tmp4_1;
_a_rel_index = tmp4_3;
_a_e2 = tmp4_4;
_a_e1 = tmp4_5;
_a_res = tmp4_6;
_a_preExp = tmp4_7;
_a_rel_operator = tmp4_8;
_a_rel_exp2 = tmp4_9;
_a_rel_exp1 = tmp4_10;
_ret_1 = omc_Expression_typeof(threadData, _a_rel_exp1);
_ret_2 = omc_Expression_isRealType(threadData, _ret_1);
_l_isReal = omc_CodegenCFunctions_fun__870(threadData, _OMC_LIT20, _ret_2, _a_rel_exp2);
_l_hysteresisfunction = omc_CodegenCFunctions_fun__871(threadData, _OMC_LIT20, _l_isReal);
tmpMeta[0+0] = omc_CodegenCFunctions_fun__872(threadData, _txt, _a_rel_operator, _a_rel_index, _a_e2, _a_e1, _a_res, _l_hysteresisfunction, _a_preExp, &tmpMeta[0+1]);
goto tmp3_done;
}
case 1: {
_txt = tmp4_1;
_a_e2 = tmp4_4;
_a_e1 = tmp4_5;
_a_res = tmp4_6;
_a_preExp = tmp4_7;
_a_rel_operator = tmp4_8;
tmpMeta[0+0] = omc_CodegenCFunctions_fun__873(threadData, _txt, _a_rel_operator, _a_e2, _a_e1, _a_res, _a_preExp, &tmpMeta[0+1]);
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta[0+0];
_out_a_preExp = tmpMeta[0+1];
_return: OMC_LABEL_UNUSED
if (out_out_a_preExp) { *out_out_a_preExp = _out_a_preExp; }
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__874(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_mArg, modelica_metatype _in_a_rel_index, modelica_metatype _in_a_e2, modelica_metatype _in_a_e1, modelica_metatype _in_a_res, modelica_metatype _in_a_preExp, modelica_metatype _in_a_rel_operator, modelica_metatype _in_a_rel_exp2, modelica_metatype _in_a_rel_exp1, modelica_metatype *out_out_a_preExp)
{
modelica_integer tmp1;
modelica_integer tmp2;
modelica_metatype _out_txt = NULL;
tmp1 = mmc_unbox_integer(_in_mArg);
tmp2 = mmc_unbox_integer(_in_a_rel_index);
_out_txt = omc_CodegenCFunctions_fun__874(threadData, _in_txt, tmp1, tmp2, _in_a_e2, _in_a_e1, _in_a_res, _in_a_preExp, _in_a_rel_operator, _in_a_rel_exp2, _in_a_rel_exp1, out_out_a_preExp);
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__873(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_rel_operator, modelica_metatype _in_a_e2, modelica_metatype _in_a_e1, modelica_metatype _in_a_res, modelica_metatype _in_a_preExp, modelica_metatype *out_out_a_preExp)
{
modelica_metatype _out_txt = NULL;
modelica_metatype _out_a_preExp = NULL;
modelica_metatype tmpMeta[2] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_metatype tmp4_2;modelica_metatype tmp4_3;modelica_metatype tmp4_4;modelica_metatype tmp4_5;modelica_metatype tmp4_6;
tmp4_1 = _in_txt;
tmp4_2 = _in_a_rel_operator;
tmp4_3 = _in_a_e2;
tmp4_4 = _in_a_e1;
tmp4_5 = _in_a_res;
tmp4_6 = _in_a_preExp;
{
modelica_metatype _txt = NULL;
modelica_metatype _a_e2 = NULL;
modelica_metatype _a_e1 = NULL;
modelica_metatype _a_res = NULL;
modelica_metatype _a_preExp = NULL;
int tmp4;
{
switch (MMC_SWITCH_CAST(valueConstructor(tmp4_2))) {
case 28: {
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,25,1) == 0) goto tmp3_end;
_txt = tmp4_1;
_a_e2 = tmp4_3;
_a_e1 = tmp4_4;
_a_res = tmp4_5;
_a_preExp = tmp4_6;
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _a_res);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT1011);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _a_e1);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT226);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _a_e2);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT290);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT89);
_txt = omc_Tpl_writeText(threadData, _txt, _a_res);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_preExp;
goto tmp3_done;
}
case 29: {
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,26,1) == 0) goto tmp3_end;
_txt = tmp4_1;
_a_e2 = tmp4_3;
_a_e1 = tmp4_4;
_a_res = tmp4_5;
_a_preExp = tmp4_6;
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _a_res);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT1013);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _a_e1);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT226);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _a_e2);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT290);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT89);
_txt = omc_Tpl_writeText(threadData, _txt, _a_res);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_preExp;
goto tmp3_done;
}
case 30: {
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,27,1) == 0) goto tmp3_end;
_txt = tmp4_1;
_a_e2 = tmp4_3;
_a_e1 = tmp4_4;
_a_res = tmp4_5;
_a_preExp = tmp4_6;
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _a_res);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT1015);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _a_e1);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT226);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _a_e2);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT290);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT89);
_txt = omc_Tpl_writeText(threadData, _txt, _a_res);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_preExp;
goto tmp3_done;
}
case 31: {
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,28,1) == 0) goto tmp3_end;
_txt = tmp4_1;
_a_e2 = tmp4_3;
_a_e1 = tmp4_4;
_a_res = tmp4_5;
_a_preExp = tmp4_6;
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _a_res);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT1017);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _a_e1);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT226);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _a_e2);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT290);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT89);
_txt = omc_Tpl_writeText(threadData, _txt, _a_res);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_preExp;
goto tmp3_done;
}
default:
tmp3_default: OMC_LABEL_UNUSED; {
_txt = tmp4_1;
_a_preExp = tmp4_6;
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_preExp;
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta[0+0];
_out_a_preExp = tmpMeta[0+1];
_return: OMC_LABEL_UNUSED
if (out_out_a_preExp) { *out_out_a_preExp = _out_a_preExp; }
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__872(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_rel_operator, modelica_integer _in_a_rel_index, modelica_metatype _in_a_e2, modelica_metatype _in_a_e1, modelica_metatype _in_a_res, modelica_metatype _in_a_hysteresisfunction, modelica_metatype _in_a_preExp, modelica_metatype *out_out_a_preExp)
{
modelica_metatype _out_txt = NULL;
modelica_metatype _out_a_preExp = NULL;
modelica_metatype tmpMeta[2] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_metatype tmp4_2;modelica_integer tmp4_3;modelica_metatype tmp4_4;modelica_metatype tmp4_5;modelica_metatype tmp4_6;modelica_metatype tmp4_7;modelica_metatype tmp4_8;
tmp4_1 = _in_txt;
tmp4_2 = _in_a_rel_operator;
tmp4_3 = _in_a_rel_index;
tmp4_4 = _in_a_e2;
tmp4_5 = _in_a_e1;
tmp4_6 = _in_a_res;
tmp4_7 = _in_a_hysteresisfunction;
tmp4_8 = _in_a_preExp;
{
modelica_metatype _txt = NULL;
modelica_integer _a_rel_index;
modelica_metatype _a_e2 = NULL;
modelica_metatype _a_e1 = NULL;
modelica_metatype _a_res = NULL;
modelica_metatype _a_hysteresisfunction = NULL;
modelica_metatype _a_preExp = NULL;
int tmp4;
{
switch (MMC_SWITCH_CAST(valueConstructor(tmp4_2))) {
case 28: {
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,25,1) == 0) goto tmp3_end;
_txt = tmp4_1;
_a_rel_index = tmp4_3;
_a_e2 = tmp4_4;
_a_e1 = tmp4_5;
_a_res = tmp4_6;
_a_hysteresisfunction = tmp4_7;
_a_preExp = tmp4_8;
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _a_hysteresisfunction);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT68);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _a_res);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT292);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _a_e1);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT292);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _a_e2);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT292);
_a_preExp = omc_Tpl_writeStr(threadData, _a_preExp, intString(_a_rel_index));
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT1043);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT89);
_txt = omc_Tpl_writeText(threadData, _txt, _a_res);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_preExp;
goto tmp3_done;
}
case 29: {
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,26,1) == 0) goto tmp3_end;
_txt = tmp4_1;
_a_rel_index = tmp4_3;
_a_e2 = tmp4_4;
_a_e1 = tmp4_5;
_a_res = tmp4_6;
_a_hysteresisfunction = tmp4_7;
_a_preExp = tmp4_8;
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _a_hysteresisfunction);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT68);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _a_res);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT292);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _a_e1);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT292);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _a_e2);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT292);
_a_preExp = omc_Tpl_writeStr(threadData, _a_preExp, intString(_a_rel_index));
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT1045);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT89);
_txt = omc_Tpl_writeText(threadData, _txt, _a_res);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_preExp;
goto tmp3_done;
}
case 30: {
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,27,1) == 0) goto tmp3_end;
_txt = tmp4_1;
_a_rel_index = tmp4_3;
_a_e2 = tmp4_4;
_a_e1 = tmp4_5;
_a_res = tmp4_6;
_a_hysteresisfunction = tmp4_7;
_a_preExp = tmp4_8;
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _a_hysteresisfunction);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT68);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _a_res);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT292);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _a_e1);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT292);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _a_e2);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT292);
_a_preExp = omc_Tpl_writeStr(threadData, _a_preExp, intString(_a_rel_index));
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT1047);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT89);
_txt = omc_Tpl_writeText(threadData, _txt, _a_res);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_preExp;
goto tmp3_done;
}
case 31: {
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,28,1) == 0) goto tmp3_end;
_txt = tmp4_1;
_a_rel_index = tmp4_3;
_a_e2 = tmp4_4;
_a_e1 = tmp4_5;
_a_res = tmp4_6;
_a_hysteresisfunction = tmp4_7;
_a_preExp = tmp4_8;
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _a_hysteresisfunction);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT68);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _a_res);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT292);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _a_e1);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT292);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _a_e2);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT292);
_a_preExp = omc_Tpl_writeStr(threadData, _a_preExp, intString(_a_rel_index));
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT1049);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT89);
_txt = omc_Tpl_writeText(threadData, _txt, _a_res);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_preExp;
goto tmp3_done;
}
default:
tmp3_default: OMC_LABEL_UNUSED; {
_txt = tmp4_1;
_a_preExp = tmp4_8;
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_preExp;
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta[0+0];
_out_a_preExp = tmpMeta[0+1];
_return: OMC_LABEL_UNUSED
if (out_out_a_preExp) { *out_out_a_preExp = _out_a_preExp; }
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__872(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_rel_operator, modelica_metatype _in_a_rel_index, modelica_metatype _in_a_e2, modelica_metatype _in_a_e1, modelica_metatype _in_a_res, modelica_metatype _in_a_hysteresisfunction, modelica_metatype _in_a_preExp, modelica_metatype *out_out_a_preExp)
{
modelica_integer tmp1;
modelica_metatype _out_txt = NULL;
tmp1 = mmc_unbox_integer(_in_a_rel_index);
_out_txt = omc_CodegenCFunctions_fun__872(threadData, _in_txt, _in_a_rel_operator, tmp1, _in_a_e2, _in_a_e1, _in_a_res, _in_a_hysteresisfunction, _in_a_preExp, out_out_a_preExp);
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__871(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_isReal)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta[2] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp3_1;modelica_metatype tmp3_2;
tmp3_1 = _in_txt;
tmp3_2 = _in_a_isReal;
{
modelica_metatype _txt = NULL;
volatile mmc_switch_type tmp3;
int tmp4;
tmp3 = 0;
for (; tmp3 < 2; tmp3++) {
switch (MMC_SWITCH_CAST(tmp3)) {
case 0: {
if (mmc__uniontype__metarecord__typedef__equal(tmp3_2,0,2) == 0) goto tmp2_end;
tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_2), 2));
if (!listEmpty(tmpMeta[1])) goto tmp2_end;
_txt = tmp3_1;
tmpMeta[0] = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1051);
goto tmp2_done;
}
case 1: {
_txt = tmp3_1;
tmpMeta[0] = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1053);
goto tmp2_done;
}
}
goto tmp2_end;
tmp2_end: ;
}
goto goto_1;
goto_1:;
MMC_THROW_INTERNAL();
goto tmp2_done;
tmp2_done:;
}
}
_out_txt = tmpMeta[0];
_return: OMC_LABEL_UNUSED
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__870(threadData_t *threadData, modelica_metatype _in_txt, modelica_boolean _in_mArg, modelica_metatype _in_a_rel_exp2)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta[1] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp3_1;modelica_boolean tmp3_2;modelica_metatype tmp3_3;
tmp3_1 = _in_txt;
tmp3_2 = _in_mArg;
tmp3_3 = _in_a_rel_exp2;
{
modelica_metatype _txt = NULL;
modelica_metatype _a_rel_exp2 = NULL;
modelica_boolean _ret_1;
modelica_metatype _ret_0 = NULL;
volatile mmc_switch_type tmp3;
int tmp4;
tmp3 = 0;
for (; tmp3 < 2; tmp3++) {
switch (MMC_SWITCH_CAST(tmp3)) {
case 0: {
if (0 != tmp3_2) goto tmp2_end;
_txt = tmp3_1;
tmpMeta[0] = _txt;
goto tmp2_done;
}
case 1: {
_txt = tmp3_1;
_a_rel_exp2 = tmp3_3;
_ret_0 = omc_Expression_typeof(threadData, _a_rel_exp2);
_ret_1 = omc_Expression_isRealType(threadData, _ret_0);
tmpMeta[0] = omc_CodegenCFunctions_fun__869(threadData, _txt, _ret_1);
goto tmp2_done;
}
}
goto tmp2_end;
tmp2_end: ;
}
goto goto_1;
goto_1:;
MMC_THROW_INTERNAL();
goto tmp2_done;
tmp2_done:;
}
}
_out_txt = tmpMeta[0];
_return: OMC_LABEL_UNUSED
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__870(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_mArg, modelica_metatype _in_a_rel_exp2)
{
modelica_integer tmp1;
modelica_metatype _out_txt = NULL;
tmp1 = mmc_unbox_integer(_in_mArg);
_out_txt = omc_CodegenCFunctions_fun__870(threadData, _in_txt, tmp1, _in_a_rel_exp2);
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__869(threadData_t *threadData, modelica_metatype _in_txt, modelica_boolean _in_mArg)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta[1] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp3_1;modelica_boolean tmp3_2;
tmp3_1 = _in_txt;
tmp3_2 = _in_mArg;
{
modelica_metatype _txt = NULL;
volatile mmc_switch_type tmp3;
int tmp4;
tmp3 = 0;
for (; tmp3 < 2; tmp3++) {
switch (MMC_SWITCH_CAST(tmp3)) {
case 0: {
if (0 != tmp3_2) goto tmp2_end;
_txt = tmp3_1;
tmpMeta[0] = _txt;
goto tmp2_done;
}
case 1: {
_txt = tmp3_1;
tmpMeta[0] = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1039);
goto tmp2_done;
}
}
goto tmp2_end;
tmp2_end: ;
}
goto goto_1;
goto_1:;
MMC_THROW_INTERNAL();
goto tmp2_done;
tmp2_done:;
}
}
_out_txt = tmpMeta[0];
_return: OMC_LABEL_UNUSED
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__869(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_mArg)
{
modelica_integer tmp1;
modelica_metatype _out_txt = NULL;
tmp1 = mmc_unbox_integer(_in_mArg);
_out_txt = omc_CodegenCFunctions_fun__869(threadData, _in_txt, tmp1);
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__868(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_rel_optionExpisASUB, modelica_metatype _in_a_rel_operator, modelica_integer _in_a_rel_index, modelica_metatype _in_a_rel_exp2, modelica_metatype _in_a_auxFunction, modelica_metatype _in_a_varDecls, modelica_metatype _in_a_preExp, modelica_metatype _in_a_context, modelica_metatype _in_a_rel_exp1, modelica_metatype *out_out_a_auxFunction, modelica_metatype *out_out_a_varDecls, modelica_metatype *out_out_a_preExp)
{
modelica_metatype _out_txt = NULL;
modelica_metatype _out_a_auxFunction = NULL;
modelica_metatype _out_a_varDecls = NULL;
modelica_metatype _out_a_preExp = NULL;
modelica_metatype tmpMeta[8] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_metatype tmp4_2;modelica_metatype tmp4_3;modelica_integer tmp4_4;modelica_metatype tmp4_5;modelica_metatype tmp4_6;modelica_metatype tmp4_7;modelica_metatype tmp4_8;modelica_metatype tmp4_9;modelica_metatype tmp4_10;
tmp4_1 = _in_txt;
tmp4_2 = _in_a_rel_optionExpisASUB;
tmp4_3 = _in_a_rel_operator;
tmp4_4 = _in_a_rel_index;
tmp4_5 = _in_a_rel_exp2;
tmp4_6 = _in_a_auxFunction;
tmp4_7 = _in_a_varDecls;
tmp4_8 = _in_a_preExp;
tmp4_9 = _in_a_context;
tmp4_10 = _in_a_rel_exp1;
{
modelica_metatype _txt = NULL;
modelica_metatype _a_rel_operator = NULL;
modelica_integer _a_rel_index;
modelica_metatype _a_rel_exp2 = NULL;
modelica_metatype _a_auxFunction = NULL;
modelica_metatype _a_varDecls = NULL;
modelica_metatype _a_preExp = NULL;
modelica_metatype _a_context = NULL;
modelica_metatype _a_rel_exp1 = NULL;
modelica_integer _i_j;
modelica_integer _i_i;
modelica_metatype _i_exp = NULL;
modelica_boolean _ret_5;
modelica_metatype _l_iterator = NULL;
modelica_boolean _ret_3;
modelica_metatype _l_res = NULL;
modelica_metatype _l_e2 = NULL;
modelica_metatype _l_e1 = NULL;
volatile mmc_switch_type tmp4;
int tmp5;
tmp4 = 0;
for (; tmp4 < 3; tmp4++) {
switch (MMC_SWITCH_CAST(tmp4)) {
case 0: {
if (!optionNone(tmp4_2)) goto tmp3_end;
_txt = tmp4_1;
_a_rel_operator = tmp4_3;
_a_rel_index = tmp4_4;
_a_rel_exp2 = tmp4_5;
_a_auxFunction = tmp4_6;
_a_varDecls = tmp4_7;
_a_preExp = tmp4_8;
_a_context = tmp4_9;
_a_rel_exp1 = tmp4_10;
_l_e1 = omc_CodegenCFunctions_daeExp(threadData, _OMC_LIT20, _a_rel_exp1, _a_context, _a_preExp, _a_varDecls, _a_auxFunction ,&_a_preExp ,&_a_varDecls ,&_a_auxFunction);
_l_e2 = omc_CodegenCFunctions_daeExp(threadData, _OMC_LIT20, _a_rel_exp2, _a_context, _a_preExp, _a_varDecls, _a_auxFunction ,&_a_preExp ,&_a_varDecls ,&_a_auxFunction);
_l_res = omc_CodegenCFunctions_tempDecl(threadData, _OMC_LIT20, _OMC_LIT71, _a_varDecls ,&_a_varDecls);
_ret_3 = (_a_rel_index == ((modelica_integer) -1));
_txt = omc_CodegenCFunctions_fun__861(threadData, _txt, _ret_3, _a_rel_index, _l_e2, _l_e1, _l_res, _a_preExp, _a_rel_operator, _a_rel_exp2, _a_rel_exp1 ,&_a_preExp);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_auxFunction;
tmpMeta[0+2] = _a_varDecls;
tmpMeta[0+3] = _a_preExp;
goto tmp3_done;
}
case 1: {
modelica_integer tmp6;
modelica_integer tmp7;
if (optionNone(tmp4_2)) goto tmp3_end;
tmpMeta[4] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 1));
tmpMeta[5] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[4]), 1));
tmpMeta[6] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[4]), 2));
tmp6 = mmc_unbox_integer(tmpMeta[6]);
tmpMeta[7] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[4]), 3));
tmp7 = mmc_unbox_integer(tmpMeta[7]);
_i_exp = tmpMeta[5];
_i_i = tmp6;
_i_j = tmp7;
_txt = tmp4_1;
_a_rel_operator = tmp4_3;
_a_rel_index = tmp4_4;
_a_rel_exp2 = tmp4_5;
_a_auxFunction = tmp4_6;
_a_varDecls = tmp4_7;
_a_preExp = tmp4_8;
_a_context = tmp4_9;
_a_rel_exp1 = tmp4_10;
_l_e1 = omc_CodegenCFunctions_daeExp(threadData, _OMC_LIT20, _a_rel_exp1, _a_context, _a_preExp, _a_varDecls, _a_auxFunction ,&_a_preExp ,&_a_varDecls ,&_a_auxFunction);
_l_e2 = omc_CodegenCFunctions_daeExp(threadData, _OMC_LIT20, _a_rel_exp2, _a_context, _a_preExp, _a_varDecls, _a_auxFunction ,&_a_preExp ,&_a_varDecls ,&_a_auxFunction);
_l_iterator = omc_CodegenCFunctions_daeExp(threadData, _OMC_LIT20, _i_exp, _a_context, _a_preExp, _a_varDecls, _a_auxFunction ,&_a_preExp ,&_a_varDecls ,&_a_auxFunction);
_l_res = omc_CodegenCFunctions_tempDecl(threadData, _OMC_LIT20, _OMC_LIT71, _a_varDecls ,&_a_varDecls);
_ret_5 = (_a_rel_index == ((modelica_integer) -1));
_txt = omc_CodegenCFunctions_fun__867(threadData, _txt, _ret_5, _i_j, _i_i, _l_iterator, _a_rel_index, _l_e2, _l_e1, _l_res, _a_preExp, _a_rel_operator, _a_rel_exp2, _a_rel_exp1 ,&_a_preExp);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_auxFunction;
tmpMeta[0+2] = _a_varDecls;
tmpMeta[0+3] = _a_preExp;
goto tmp3_done;
}
case 2: {
_txt = tmp4_1;
_a_auxFunction = tmp4_6;
_a_varDecls = tmp4_7;
_a_preExp = tmp4_8;
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_auxFunction;
tmpMeta[0+2] = _a_varDecls;
tmpMeta[0+3] = _a_preExp;
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta[0+0];
_out_a_auxFunction = tmpMeta[0+1];
_out_a_varDecls = tmpMeta[0+2];
_out_a_preExp = tmpMeta[0+3];
_return: OMC_LABEL_UNUSED
if (out_out_a_auxFunction) { *out_out_a_auxFunction = _out_a_auxFunction; }
if (out_out_a_varDecls) { *out_out_a_varDecls = _out_a_varDecls; }
if (out_out_a_preExp) { *out_out_a_preExp = _out_a_preExp; }
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__868(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_rel_optionExpisASUB, modelica_metatype _in_a_rel_operator, modelica_metatype _in_a_rel_index, modelica_metatype _in_a_rel_exp2, modelica_metatype _in_a_auxFunction, modelica_metatype _in_a_varDecls, modelica_metatype _in_a_preExp, modelica_metatype _in_a_context, modelica_metatype _in_a_rel_exp1, modelica_metatype *out_out_a_auxFunction, modelica_metatype *out_out_a_varDecls, modelica_metatype *out_out_a_preExp)
{
modelica_integer tmp1;
modelica_metatype _out_txt = NULL;
tmp1 = mmc_unbox_integer(_in_a_rel_index);
_out_txt = omc_CodegenCFunctions_fun__868(threadData, _in_txt, _in_a_rel_optionExpisASUB, _in_a_rel_operator, tmp1, _in_a_rel_exp2, _in_a_auxFunction, _in_a_varDecls, _in_a_preExp, _in_a_context, _in_a_rel_exp1, out_out_a_auxFunction, out_out_a_varDecls, out_out_a_preExp);
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__867(threadData_t *threadData, modelica_metatype _in_txt, modelica_boolean _in_mArg, modelica_integer _in_a_j, modelica_integer _in_a_i, modelica_metatype _in_a_iterator, modelica_integer _in_a_rel_index, modelica_metatype _in_a_e2, modelica_metatype _in_a_e1, modelica_metatype _in_a_res, modelica_metatype _in_a_preExp, modelica_metatype _in_a_rel_operator, modelica_metatype _in_a_rel_exp2, modelica_metatype _in_a_rel_exp1, modelica_metatype *out_out_a_preExp)
{
modelica_metatype _out_txt = NULL;
modelica_metatype _out_a_preExp = NULL;
modelica_metatype tmpMeta[2] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_boolean tmp4_2;modelica_integer tmp4_3;modelica_integer tmp4_4;modelica_metatype tmp4_5;modelica_integer tmp4_6;modelica_metatype tmp4_7;modelica_metatype tmp4_8;modelica_metatype tmp4_9;modelica_metatype tmp4_10;modelica_metatype tmp4_11;modelica_metatype tmp4_12;modelica_metatype tmp4_13;
tmp4_1 = _in_txt;
tmp4_2 = _in_mArg;
tmp4_3 = _in_a_j;
tmp4_4 = _in_a_i;
tmp4_5 = _in_a_iterator;
tmp4_6 = _in_a_rel_index;
tmp4_7 = _in_a_e2;
tmp4_8 = _in_a_e1;
tmp4_9 = _in_a_res;
tmp4_10 = _in_a_preExp;
tmp4_11 = _in_a_rel_operator;
tmp4_12 = _in_a_rel_exp2;
tmp4_13 = _in_a_rel_exp1;
{
modelica_metatype _txt = NULL;
modelica_integer _a_j;
modelica_integer _a_i;
modelica_metatype _a_iterator = NULL;
modelica_integer _a_rel_index;
modelica_metatype _a_e2 = NULL;
modelica_metatype _a_e1 = NULL;
modelica_metatype _a_res = NULL;
modelica_metatype _a_preExp = NULL;
modelica_metatype _a_rel_operator = NULL;
modelica_metatype _a_rel_exp2 = NULL;
modelica_metatype _a_rel_exp1 = NULL;
modelica_metatype _l_hysteresisfunction = NULL;
modelica_boolean _ret_2;
modelica_metatype _ret_1 = NULL;
modelica_metatype _l_isReal = NULL;
volatile mmc_switch_type tmp4;
int tmp5;
tmp4 = 0;
for (; tmp4 < 2; tmp4++) {
switch (MMC_SWITCH_CAST(tmp4)) {
case 0: {
if (0 != tmp4_2) goto tmp3_end;
_txt = tmp4_1;
_a_j = tmp4_3;
_a_i = tmp4_4;
_a_iterator = tmp4_5;
_a_rel_index = tmp4_6;
_a_e2 = tmp4_7;
_a_e1 = tmp4_8;
_a_res = tmp4_9;
_a_preExp = tmp4_10;
_a_rel_operator = tmp4_11;
_a_rel_exp2 = tmp4_12;
_a_rel_exp1 = tmp4_13;
_ret_1 = omc_Expression_typeof(threadData, _a_rel_exp1);
_ret_2 = omc_Expression_isRealType(threadData, _ret_1);
_l_isReal = omc_CodegenCFunctions_fun__863(threadData, _OMC_LIT20, _ret_2, _a_rel_exp2);
_l_hysteresisfunction = omc_CodegenCFunctions_fun__864(threadData, _OMC_LIT20, _l_isReal);
tmpMeta[0+0] = omc_CodegenCFunctions_fun__865(threadData, _txt, _a_rel_operator, _a_j, _a_i, _a_iterator, _a_rel_index, _a_e2, _a_e1, _a_res, _l_hysteresisfunction, _a_preExp, &tmpMeta[0+1]);
goto tmp3_done;
}
case 1: {
_txt = tmp4_1;
_a_e2 = tmp4_7;
_a_e1 = tmp4_8;
_a_res = tmp4_9;
_a_preExp = tmp4_10;
_a_rel_operator = tmp4_11;
tmpMeta[0+0] = omc_CodegenCFunctions_fun__866(threadData, _txt, _a_rel_operator, _a_e2, _a_e1, _a_res, _a_preExp, &tmpMeta[0+1]);
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta[0+0];
_out_a_preExp = tmpMeta[0+1];
_return: OMC_LABEL_UNUSED
if (out_out_a_preExp) { *out_out_a_preExp = _out_a_preExp; }
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__867(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_mArg, modelica_metatype _in_a_j, modelica_metatype _in_a_i, modelica_metatype _in_a_iterator, modelica_metatype _in_a_rel_index, modelica_metatype _in_a_e2, modelica_metatype _in_a_e1, modelica_metatype _in_a_res, modelica_metatype _in_a_preExp, modelica_metatype _in_a_rel_operator, modelica_metatype _in_a_rel_exp2, modelica_metatype _in_a_rel_exp1, modelica_metatype *out_out_a_preExp)
{
modelica_integer tmp1;
modelica_integer tmp2;
modelica_integer tmp3;
modelica_integer tmp4;
modelica_metatype _out_txt = NULL;
tmp1 = mmc_unbox_integer(_in_mArg);
tmp2 = mmc_unbox_integer(_in_a_j);
tmp3 = mmc_unbox_integer(_in_a_i);
tmp4 = mmc_unbox_integer(_in_a_rel_index);
_out_txt = omc_CodegenCFunctions_fun__867(threadData, _in_txt, tmp1, tmp2, tmp3, _in_a_iterator, tmp4, _in_a_e2, _in_a_e1, _in_a_res, _in_a_preExp, _in_a_rel_operator, _in_a_rel_exp2, _in_a_rel_exp1, out_out_a_preExp);
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__866(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_rel_operator, modelica_metatype _in_a_e2, modelica_metatype _in_a_e1, modelica_metatype _in_a_res, modelica_metatype _in_a_preExp, modelica_metatype *out_out_a_preExp)
{
modelica_metatype _out_txt = NULL;
modelica_metatype _out_a_preExp = NULL;
modelica_metatype tmpMeta[2] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_metatype tmp4_2;modelica_metatype tmp4_3;modelica_metatype tmp4_4;modelica_metatype tmp4_5;modelica_metatype tmp4_6;
tmp4_1 = _in_txt;
tmp4_2 = _in_a_rel_operator;
tmp4_3 = _in_a_e2;
tmp4_4 = _in_a_e1;
tmp4_5 = _in_a_res;
tmp4_6 = _in_a_preExp;
{
modelica_metatype _txt = NULL;
modelica_metatype _a_e2 = NULL;
modelica_metatype _a_e1 = NULL;
modelica_metatype _a_res = NULL;
modelica_metatype _a_preExp = NULL;
int tmp4;
{
switch (MMC_SWITCH_CAST(valueConstructor(tmp4_2))) {
case 28: {
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,25,1) == 0) goto tmp3_end;
_txt = tmp4_1;
_a_e2 = tmp4_3;
_a_e1 = tmp4_4;
_a_res = tmp4_5;
_a_preExp = tmp4_6;
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _a_res);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT1011);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _a_e1);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT226);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _a_e2);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT290);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT89);
_txt = omc_Tpl_writeText(threadData, _txt, _a_res);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_preExp;
goto tmp3_done;
}
case 29: {
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,26,1) == 0) goto tmp3_end;
_txt = tmp4_1;
_a_e2 = tmp4_3;
_a_e1 = tmp4_4;
_a_res = tmp4_5;
_a_preExp = tmp4_6;
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _a_res);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT1013);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _a_e1);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT226);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _a_e2);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT290);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT89);
_txt = omc_Tpl_writeText(threadData, _txt, _a_res);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_preExp;
goto tmp3_done;
}
case 30: {
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,27,1) == 0) goto tmp3_end;
_txt = tmp4_1;
_a_e2 = tmp4_3;
_a_e1 = tmp4_4;
_a_res = tmp4_5;
_a_preExp = tmp4_6;
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _a_res);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT1015);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _a_e1);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT226);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _a_e2);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT290);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT89);
_txt = omc_Tpl_writeText(threadData, _txt, _a_res);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_preExp;
goto tmp3_done;
}
case 31: {
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,28,1) == 0) goto tmp3_end;
_txt = tmp4_1;
_a_e2 = tmp4_3;
_a_e1 = tmp4_4;
_a_res = tmp4_5;
_a_preExp = tmp4_6;
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _a_res);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT1017);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _a_e1);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT226);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _a_e2);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT290);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT89);
_txt = omc_Tpl_writeText(threadData, _txt, _a_res);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_preExp;
goto tmp3_done;
}
default:
tmp3_default: OMC_LABEL_UNUSED; {
_txt = tmp4_1;
_a_preExp = tmp4_6;
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_preExp;
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta[0+0];
_out_a_preExp = tmpMeta[0+1];
_return: OMC_LABEL_UNUSED
if (out_out_a_preExp) { *out_out_a_preExp = _out_a_preExp; }
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__865(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_rel_operator, modelica_integer _in_a_j, modelica_integer _in_a_i, modelica_metatype _in_a_iterator, modelica_integer _in_a_rel_index, modelica_metatype _in_a_e2, modelica_metatype _in_a_e1, modelica_metatype _in_a_res, modelica_metatype _in_a_hysteresisfunction, modelica_metatype _in_a_preExp, modelica_metatype *out_out_a_preExp)
{
modelica_metatype _out_txt = NULL;
modelica_metatype _out_a_preExp = NULL;
modelica_metatype tmpMeta[2] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_metatype tmp4_2;modelica_integer tmp4_3;modelica_integer tmp4_4;modelica_metatype tmp4_5;modelica_integer tmp4_6;modelica_metatype tmp4_7;modelica_metatype tmp4_8;modelica_metatype tmp4_9;modelica_metatype tmp4_10;modelica_metatype tmp4_11;
tmp4_1 = _in_txt;
tmp4_2 = _in_a_rel_operator;
tmp4_3 = _in_a_j;
tmp4_4 = _in_a_i;
tmp4_5 = _in_a_iterator;
tmp4_6 = _in_a_rel_index;
tmp4_7 = _in_a_e2;
tmp4_8 = _in_a_e1;
tmp4_9 = _in_a_res;
tmp4_10 = _in_a_hysteresisfunction;
tmp4_11 = _in_a_preExp;
{
modelica_metatype _txt = NULL;
modelica_integer _a_j;
modelica_integer _a_i;
modelica_metatype _a_iterator = NULL;
modelica_integer _a_rel_index;
modelica_metatype _a_e2 = NULL;
modelica_metatype _a_e1 = NULL;
modelica_metatype _a_res = NULL;
modelica_metatype _a_hysteresisfunction = NULL;
modelica_metatype _a_preExp = NULL;
int tmp4;
{
switch (MMC_SWITCH_CAST(valueConstructor(tmp4_2))) {
case 28: {
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,25,1) == 0) goto tmp3_end;
_txt = tmp4_1;
_a_j = tmp4_3;
_a_i = tmp4_4;
_a_iterator = tmp4_5;
_a_rel_index = tmp4_6;
_a_e2 = tmp4_7;
_a_e1 = tmp4_8;
_a_res = tmp4_9;
_a_hysteresisfunction = tmp4_10;
_a_preExp = tmp4_11;
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _a_hysteresisfunction);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT68);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _a_res);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT292);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _a_e1);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT292);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _a_e2);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT292);
_a_preExp = omc_Tpl_writeStr(threadData, _a_preExp, intString(_a_rel_index));
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT1041);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _a_iterator);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT649);
_a_preExp = omc_Tpl_writeStr(threadData, _a_preExp, intString(_a_i));
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT389);
_a_preExp = omc_Tpl_writeStr(threadData, _a_preExp, intString(_a_j));
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT1043);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT89);
_txt = omc_Tpl_writeText(threadData, _txt, _a_res);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_preExp;
goto tmp3_done;
}
case 29: {
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,26,1) == 0) goto tmp3_end;
_txt = tmp4_1;
_a_j = tmp4_3;
_a_i = tmp4_4;
_a_iterator = tmp4_5;
_a_rel_index = tmp4_6;
_a_e2 = tmp4_7;
_a_e1 = tmp4_8;
_a_res = tmp4_9;
_a_hysteresisfunction = tmp4_10;
_a_preExp = tmp4_11;
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _a_hysteresisfunction);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT68);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _a_res);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT292);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _a_e1);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT292);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _a_e2);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT292);
_a_preExp = omc_Tpl_writeStr(threadData, _a_preExp, intString(_a_rel_index));
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT1041);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _a_iterator);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT649);
_a_preExp = omc_Tpl_writeStr(threadData, _a_preExp, intString(_a_i));
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT389);
_a_preExp = omc_Tpl_writeStr(threadData, _a_preExp, intString(_a_j));
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT1045);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT89);
_txt = omc_Tpl_writeText(threadData, _txt, _a_res);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_preExp;
goto tmp3_done;
}
case 30: {
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,27,1) == 0) goto tmp3_end;
_txt = tmp4_1;
_a_j = tmp4_3;
_a_i = tmp4_4;
_a_iterator = tmp4_5;
_a_rel_index = tmp4_6;
_a_e2 = tmp4_7;
_a_e1 = tmp4_8;
_a_res = tmp4_9;
_a_hysteresisfunction = tmp4_10;
_a_preExp = tmp4_11;
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _a_hysteresisfunction);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT68);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _a_res);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT292);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _a_e1);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT292);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _a_e2);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT292);
_a_preExp = omc_Tpl_writeStr(threadData, _a_preExp, intString(_a_rel_index));
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT1041);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _a_iterator);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT649);
_a_preExp = omc_Tpl_writeStr(threadData, _a_preExp, intString(_a_i));
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT389);
_a_preExp = omc_Tpl_writeStr(threadData, _a_preExp, intString(_a_j));
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT1047);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT89);
_txt = omc_Tpl_writeText(threadData, _txt, _a_res);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_preExp;
goto tmp3_done;
}
case 31: {
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,28,1) == 0) goto tmp3_end;
_txt = tmp4_1;
_a_j = tmp4_3;
_a_i = tmp4_4;
_a_iterator = tmp4_5;
_a_rel_index = tmp4_6;
_a_e2 = tmp4_7;
_a_e1 = tmp4_8;
_a_res = tmp4_9;
_a_hysteresisfunction = tmp4_10;
_a_preExp = tmp4_11;
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _a_hysteresisfunction);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT68);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _a_res);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT292);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _a_e1);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT292);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _a_e2);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT292);
_a_preExp = omc_Tpl_writeStr(threadData, _a_preExp, intString(_a_rel_index));
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT1041);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _a_iterator);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT649);
_a_preExp = omc_Tpl_writeStr(threadData, _a_preExp, intString(_a_i));
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT389);
_a_preExp = omc_Tpl_writeStr(threadData, _a_preExp, intString(_a_j));
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT1049);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT89);
_txt = omc_Tpl_writeText(threadData, _txt, _a_res);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_preExp;
goto tmp3_done;
}
default:
tmp3_default: OMC_LABEL_UNUSED; {
_txt = tmp4_1;
_a_preExp = tmp4_11;
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_preExp;
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta[0+0];
_out_a_preExp = tmpMeta[0+1];
_return: OMC_LABEL_UNUSED
if (out_out_a_preExp) { *out_out_a_preExp = _out_a_preExp; }
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__865(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_rel_operator, modelica_metatype _in_a_j, modelica_metatype _in_a_i, modelica_metatype _in_a_iterator, modelica_metatype _in_a_rel_index, modelica_metatype _in_a_e2, modelica_metatype _in_a_e1, modelica_metatype _in_a_res, modelica_metatype _in_a_hysteresisfunction, modelica_metatype _in_a_preExp, modelica_metatype *out_out_a_preExp)
{
modelica_integer tmp1;
modelica_integer tmp2;
modelica_integer tmp3;
modelica_metatype _out_txt = NULL;
tmp1 = mmc_unbox_integer(_in_a_j);
tmp2 = mmc_unbox_integer(_in_a_i);
tmp3 = mmc_unbox_integer(_in_a_rel_index);
_out_txt = omc_CodegenCFunctions_fun__865(threadData, _in_txt, _in_a_rel_operator, tmp1, tmp2, _in_a_iterator, tmp3, _in_a_e2, _in_a_e1, _in_a_res, _in_a_hysteresisfunction, _in_a_preExp, out_out_a_preExp);
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__864(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_isReal)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta[2] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp3_1;modelica_metatype tmp3_2;
tmp3_1 = _in_txt;
tmp3_2 = _in_a_isReal;
{
modelica_metatype _txt = NULL;
volatile mmc_switch_type tmp3;
int tmp4;
tmp3 = 0;
for (; tmp3 < 2; tmp3++) {
switch (MMC_SWITCH_CAST(tmp3)) {
case 0: {
if (mmc__uniontype__metarecord__typedef__equal(tmp3_2,0,2) == 0) goto tmp2_end;
tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_2), 2));
if (!listEmpty(tmpMeta[1])) goto tmp2_end;
_txt = tmp3_1;
tmpMeta[0] = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1051);
goto tmp2_done;
}
case 1: {
_txt = tmp3_1;
tmpMeta[0] = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1053);
goto tmp2_done;
}
}
goto tmp2_end;
tmp2_end: ;
}
goto goto_1;
goto_1:;
MMC_THROW_INTERNAL();
goto tmp2_done;
tmp2_done:;
}
}
_out_txt = tmpMeta[0];
_return: OMC_LABEL_UNUSED
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__863(threadData_t *threadData, modelica_metatype _in_txt, modelica_boolean _in_mArg, modelica_metatype _in_a_rel_exp2)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta[1] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp3_1;modelica_boolean tmp3_2;modelica_metatype tmp3_3;
tmp3_1 = _in_txt;
tmp3_2 = _in_mArg;
tmp3_3 = _in_a_rel_exp2;
{
modelica_metatype _txt = NULL;
modelica_metatype _a_rel_exp2 = NULL;
modelica_boolean _ret_1;
modelica_metatype _ret_0 = NULL;
volatile mmc_switch_type tmp3;
int tmp4;
tmp3 = 0;
for (; tmp3 < 2; tmp3++) {
switch (MMC_SWITCH_CAST(tmp3)) {
case 0: {
if (0 != tmp3_2) goto tmp2_end;
_txt = tmp3_1;
tmpMeta[0] = _txt;
goto tmp2_done;
}
case 1: {
_txt = tmp3_1;
_a_rel_exp2 = tmp3_3;
_ret_0 = omc_Expression_typeof(threadData, _a_rel_exp2);
_ret_1 = omc_Expression_isRealType(threadData, _ret_0);
tmpMeta[0] = omc_CodegenCFunctions_fun__862(threadData, _txt, _ret_1);
goto tmp2_done;
}
}
goto tmp2_end;
tmp2_end: ;
}
goto goto_1;
goto_1:;
MMC_THROW_INTERNAL();
goto tmp2_done;
tmp2_done:;
}
}
_out_txt = tmpMeta[0];
_return: OMC_LABEL_UNUSED
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__863(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_mArg, modelica_metatype _in_a_rel_exp2)
{
modelica_integer tmp1;
modelica_metatype _out_txt = NULL;
tmp1 = mmc_unbox_integer(_in_mArg);
_out_txt = omc_CodegenCFunctions_fun__863(threadData, _in_txt, tmp1, _in_a_rel_exp2);
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__862(threadData_t *threadData, modelica_metatype _in_txt, modelica_boolean _in_mArg)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta[1] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp3_1;modelica_boolean tmp3_2;
tmp3_1 = _in_txt;
tmp3_2 = _in_mArg;
{
modelica_metatype _txt = NULL;
volatile mmc_switch_type tmp3;
int tmp4;
tmp3 = 0;
for (; tmp3 < 2; tmp3++) {
switch (MMC_SWITCH_CAST(tmp3)) {
case 0: {
if (0 != tmp3_2) goto tmp2_end;
_txt = tmp3_1;
tmpMeta[0] = _txt;
goto tmp2_done;
}
case 1: {
_txt = tmp3_1;
tmpMeta[0] = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1039);
goto tmp2_done;
}
}
goto tmp2_end;
tmp2_end: ;
}
goto goto_1;
goto_1:;
MMC_THROW_INTERNAL();
goto tmp2_done;
tmp2_done:;
}
}
_out_txt = tmpMeta[0];
_return: OMC_LABEL_UNUSED
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__862(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_mArg)
{
modelica_integer tmp1;
modelica_metatype _out_txt = NULL;
tmp1 = mmc_unbox_integer(_in_mArg);
_out_txt = omc_CodegenCFunctions_fun__862(threadData, _in_txt, tmp1);
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__861(threadData_t *threadData, modelica_metatype _in_txt, modelica_boolean _in_mArg, modelica_integer _in_a_rel_index, modelica_metatype _in_a_e2, modelica_metatype _in_a_e1, modelica_metatype _in_a_res, modelica_metatype _in_a_preExp, modelica_metatype _in_a_rel_operator, modelica_metatype _in_a_rel_exp2, modelica_metatype _in_a_rel_exp1, modelica_metatype *out_out_a_preExp)
{
modelica_metatype _out_txt = NULL;
modelica_metatype _out_a_preExp = NULL;
modelica_metatype tmpMeta[2] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_boolean tmp4_2;modelica_integer tmp4_3;modelica_metatype tmp4_4;modelica_metatype tmp4_5;modelica_metatype tmp4_6;modelica_metatype tmp4_7;modelica_metatype tmp4_8;modelica_metatype tmp4_9;modelica_metatype tmp4_10;
tmp4_1 = _in_txt;
tmp4_2 = _in_mArg;
tmp4_3 = _in_a_rel_index;
tmp4_4 = _in_a_e2;
tmp4_5 = _in_a_e1;
tmp4_6 = _in_a_res;
tmp4_7 = _in_a_preExp;
tmp4_8 = _in_a_rel_operator;
tmp4_9 = _in_a_rel_exp2;
tmp4_10 = _in_a_rel_exp1;
{
modelica_metatype _txt = NULL;
modelica_integer _a_rel_index;
modelica_metatype _a_e2 = NULL;
modelica_metatype _a_e1 = NULL;
modelica_metatype _a_res = NULL;
modelica_metatype _a_preExp = NULL;
modelica_metatype _a_rel_operator = NULL;
modelica_metatype _a_rel_exp2 = NULL;
modelica_metatype _a_rel_exp1 = NULL;
modelica_metatype _l_hysteresisfunction = NULL;
modelica_boolean _ret_2;
modelica_metatype _ret_1 = NULL;
modelica_metatype _l_isReal = NULL;
volatile mmc_switch_type tmp4;
int tmp5;
tmp4 = 0;
for (; tmp4 < 2; tmp4++) {
switch (MMC_SWITCH_CAST(tmp4)) {
case 0: {
if (0 != tmp4_2) goto tmp3_end;
_txt = tmp4_1;
_a_rel_index = tmp4_3;
_a_e2 = tmp4_4;
_a_e1 = tmp4_5;
_a_res = tmp4_6;
_a_preExp = tmp4_7;
_a_rel_operator = tmp4_8;
_a_rel_exp2 = tmp4_9;
_a_rel_exp1 = tmp4_10;
_ret_1 = omc_Expression_typeof(threadData, _a_rel_exp1);
_ret_2 = omc_Expression_isRealType(threadData, _ret_1);
_l_isReal = omc_CodegenCFunctions_fun__857(threadData, _OMC_LIT20, _ret_2, _a_rel_exp2);
_l_hysteresisfunction = omc_CodegenCFunctions_fun__858(threadData, _OMC_LIT20, _l_isReal);
tmpMeta[0+0] = omc_CodegenCFunctions_fun__859(threadData, _txt, _a_rel_operator, _a_rel_index, _a_e2, _a_e1, _a_res, _l_hysteresisfunction, _a_preExp, &tmpMeta[0+1]);
goto tmp3_done;
}
case 1: {
_txt = tmp4_1;
_a_e2 = tmp4_4;
_a_e1 = tmp4_5;
_a_res = tmp4_6;
_a_preExp = tmp4_7;
_a_rel_operator = tmp4_8;
tmpMeta[0+0] = omc_CodegenCFunctions_fun__860(threadData, _txt, _a_rel_operator, _a_e2, _a_e1, _a_res, _a_preExp, &tmpMeta[0+1]);
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta[0+0];
_out_a_preExp = tmpMeta[0+1];
_return: OMC_LABEL_UNUSED
if (out_out_a_preExp) { *out_out_a_preExp = _out_a_preExp; }
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__861(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_mArg, modelica_metatype _in_a_rel_index, modelica_metatype _in_a_e2, modelica_metatype _in_a_e1, modelica_metatype _in_a_res, modelica_metatype _in_a_preExp, modelica_metatype _in_a_rel_operator, modelica_metatype _in_a_rel_exp2, modelica_metatype _in_a_rel_exp1, modelica_metatype *out_out_a_preExp)
{
modelica_integer tmp1;
modelica_integer tmp2;
modelica_metatype _out_txt = NULL;
tmp1 = mmc_unbox_integer(_in_mArg);
tmp2 = mmc_unbox_integer(_in_a_rel_index);
_out_txt = omc_CodegenCFunctions_fun__861(threadData, _in_txt, tmp1, tmp2, _in_a_e2, _in_a_e1, _in_a_res, _in_a_preExp, _in_a_rel_operator, _in_a_rel_exp2, _in_a_rel_exp1, out_out_a_preExp);
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__860(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_rel_operator, modelica_metatype _in_a_e2, modelica_metatype _in_a_e1, modelica_metatype _in_a_res, modelica_metatype _in_a_preExp, modelica_metatype *out_out_a_preExp)
{
modelica_metatype _out_txt = NULL;
modelica_metatype _out_a_preExp = NULL;
modelica_metatype tmpMeta[2] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_metatype tmp4_2;modelica_metatype tmp4_3;modelica_metatype tmp4_4;modelica_metatype tmp4_5;modelica_metatype tmp4_6;
tmp4_1 = _in_txt;
tmp4_2 = _in_a_rel_operator;
tmp4_3 = _in_a_e2;
tmp4_4 = _in_a_e1;
tmp4_5 = _in_a_res;
tmp4_6 = _in_a_preExp;
{
modelica_metatype _txt = NULL;
modelica_metatype _a_e2 = NULL;
modelica_metatype _a_e1 = NULL;
modelica_metatype _a_res = NULL;
modelica_metatype _a_preExp = NULL;
int tmp4;
{
switch (MMC_SWITCH_CAST(valueConstructor(tmp4_2))) {
case 28: {
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,25,1) == 0) goto tmp3_end;
_txt = tmp4_1;
_a_e2 = tmp4_3;
_a_e1 = tmp4_4;
_a_res = tmp4_5;
_a_preExp = tmp4_6;
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _a_res);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT1011);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _a_e1);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT226);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _a_e2);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT290);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT89);
_txt = omc_Tpl_writeText(threadData, _txt, _a_res);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_preExp;
goto tmp3_done;
}
case 29: {
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,26,1) == 0) goto tmp3_end;
_txt = tmp4_1;
_a_e2 = tmp4_3;
_a_e1 = tmp4_4;
_a_res = tmp4_5;
_a_preExp = tmp4_6;
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _a_res);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT1013);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _a_e1);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT226);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _a_e2);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT290);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT89);
_txt = omc_Tpl_writeText(threadData, _txt, _a_res);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_preExp;
goto tmp3_done;
}
case 30: {
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,27,1) == 0) goto tmp3_end;
_txt = tmp4_1;
_a_e2 = tmp4_3;
_a_e1 = tmp4_4;
_a_res = tmp4_5;
_a_preExp = tmp4_6;
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _a_res);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT1015);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _a_e1);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT226);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _a_e2);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT290);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT89);
_txt = omc_Tpl_writeText(threadData, _txt, _a_res);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_preExp;
goto tmp3_done;
}
case 31: {
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,28,1) == 0) goto tmp3_end;
_txt = tmp4_1;
_a_e2 = tmp4_3;
_a_e1 = tmp4_4;
_a_res = tmp4_5;
_a_preExp = tmp4_6;
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _a_res);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT1017);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _a_e1);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT226);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _a_e2);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT290);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT89);
_txt = omc_Tpl_writeText(threadData, _txt, _a_res);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_preExp;
goto tmp3_done;
}
default:
tmp3_default: OMC_LABEL_UNUSED; {
_txt = tmp4_1;
_a_preExp = tmp4_6;
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_preExp;
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta[0+0];
_out_a_preExp = tmpMeta[0+1];
_return: OMC_LABEL_UNUSED
if (out_out_a_preExp) { *out_out_a_preExp = _out_a_preExp; }
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__859(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_rel_operator, modelica_integer _in_a_rel_index, modelica_metatype _in_a_e2, modelica_metatype _in_a_e1, modelica_metatype _in_a_res, modelica_metatype _in_a_hysteresisfunction, modelica_metatype _in_a_preExp, modelica_metatype *out_out_a_preExp)
{
modelica_metatype _out_txt = NULL;
modelica_metatype _out_a_preExp = NULL;
modelica_metatype tmpMeta[2] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_metatype tmp4_2;modelica_integer tmp4_3;modelica_metatype tmp4_4;modelica_metatype tmp4_5;modelica_metatype tmp4_6;modelica_metatype tmp4_7;modelica_metatype tmp4_8;
tmp4_1 = _in_txt;
tmp4_2 = _in_a_rel_operator;
tmp4_3 = _in_a_rel_index;
tmp4_4 = _in_a_e2;
tmp4_5 = _in_a_e1;
tmp4_6 = _in_a_res;
tmp4_7 = _in_a_hysteresisfunction;
tmp4_8 = _in_a_preExp;
{
modelica_metatype _txt = NULL;
modelica_integer _a_rel_index;
modelica_metatype _a_e2 = NULL;
modelica_metatype _a_e1 = NULL;
modelica_metatype _a_res = NULL;
modelica_metatype _a_hysteresisfunction = NULL;
modelica_metatype _a_preExp = NULL;
int tmp4;
{
switch (MMC_SWITCH_CAST(valueConstructor(tmp4_2))) {
case 28: {
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,25,1) == 0) goto tmp3_end;
_txt = tmp4_1;
_a_rel_index = tmp4_3;
_a_e2 = tmp4_4;
_a_e1 = tmp4_5;
_a_res = tmp4_6;
_a_hysteresisfunction = tmp4_7;
_a_preExp = tmp4_8;
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _a_hysteresisfunction);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT68);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _a_res);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT292);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _a_e1);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT292);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _a_e2);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT292);
_a_preExp = omc_Tpl_writeStr(threadData, _a_preExp, intString(_a_rel_index));
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT1043);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT89);
_txt = omc_Tpl_writeText(threadData, _txt, _a_res);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_preExp;
goto tmp3_done;
}
case 29: {
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,26,1) == 0) goto tmp3_end;
_txt = tmp4_1;
_a_rel_index = tmp4_3;
_a_e2 = tmp4_4;
_a_e1 = tmp4_5;
_a_res = tmp4_6;
_a_hysteresisfunction = tmp4_7;
_a_preExp = tmp4_8;
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _a_hysteresisfunction);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT68);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _a_res);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT292);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _a_e1);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT292);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _a_e2);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT292);
_a_preExp = omc_Tpl_writeStr(threadData, _a_preExp, intString(_a_rel_index));
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT1045);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT89);
_txt = omc_Tpl_writeText(threadData, _txt, _a_res);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_preExp;
goto tmp3_done;
}
case 30: {
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,27,1) == 0) goto tmp3_end;
_txt = tmp4_1;
_a_rel_index = tmp4_3;
_a_e2 = tmp4_4;
_a_e1 = tmp4_5;
_a_res = tmp4_6;
_a_hysteresisfunction = tmp4_7;
_a_preExp = tmp4_8;
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _a_hysteresisfunction);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT68);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _a_res);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT292);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _a_e1);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT292);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _a_e2);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT292);
_a_preExp = omc_Tpl_writeStr(threadData, _a_preExp, intString(_a_rel_index));
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT1047);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT89);
_txt = omc_Tpl_writeText(threadData, _txt, _a_res);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_preExp;
goto tmp3_done;
}
case 31: {
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,28,1) == 0) goto tmp3_end;
_txt = tmp4_1;
_a_rel_index = tmp4_3;
_a_e2 = tmp4_4;
_a_e1 = tmp4_5;
_a_res = tmp4_6;
_a_hysteresisfunction = tmp4_7;
_a_preExp = tmp4_8;
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _a_hysteresisfunction);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT68);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _a_res);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT292);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _a_e1);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT292);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _a_e2);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT292);
_a_preExp = omc_Tpl_writeStr(threadData, _a_preExp, intString(_a_rel_index));
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT1049);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT89);
_txt = omc_Tpl_writeText(threadData, _txt, _a_res);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_preExp;
goto tmp3_done;
}
default:
tmp3_default: OMC_LABEL_UNUSED; {
_txt = tmp4_1;
_a_preExp = tmp4_8;
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_preExp;
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta[0+0];
_out_a_preExp = tmpMeta[0+1];
_return: OMC_LABEL_UNUSED
if (out_out_a_preExp) { *out_out_a_preExp = _out_a_preExp; }
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__859(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_rel_operator, modelica_metatype _in_a_rel_index, modelica_metatype _in_a_e2, modelica_metatype _in_a_e1, modelica_metatype _in_a_res, modelica_metatype _in_a_hysteresisfunction, modelica_metatype _in_a_preExp, modelica_metatype *out_out_a_preExp)
{
modelica_integer tmp1;
modelica_metatype _out_txt = NULL;
tmp1 = mmc_unbox_integer(_in_a_rel_index);
_out_txt = omc_CodegenCFunctions_fun__859(threadData, _in_txt, _in_a_rel_operator, tmp1, _in_a_e2, _in_a_e1, _in_a_res, _in_a_hysteresisfunction, _in_a_preExp, out_out_a_preExp);
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__858(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_isReal)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta[2] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp3_1;modelica_metatype tmp3_2;
tmp3_1 = _in_txt;
tmp3_2 = _in_a_isReal;
{
modelica_metatype _txt = NULL;
volatile mmc_switch_type tmp3;
int tmp4;
tmp3 = 0;
for (; tmp3 < 2; tmp3++) {
switch (MMC_SWITCH_CAST(tmp3)) {
case 0: {
if (mmc__uniontype__metarecord__typedef__equal(tmp3_2,0,2) == 0) goto tmp2_end;
tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_2), 2));
if (!listEmpty(tmpMeta[1])) goto tmp2_end;
_txt = tmp3_1;
tmpMeta[0] = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1051);
goto tmp2_done;
}
case 1: {
_txt = tmp3_1;
tmpMeta[0] = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1053);
goto tmp2_done;
}
}
goto tmp2_end;
tmp2_end: ;
}
goto goto_1;
goto_1:;
MMC_THROW_INTERNAL();
goto tmp2_done;
tmp2_done:;
}
}
_out_txt = tmpMeta[0];
_return: OMC_LABEL_UNUSED
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__857(threadData_t *threadData, modelica_metatype _in_txt, modelica_boolean _in_mArg, modelica_metatype _in_a_rel_exp2)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta[1] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp3_1;modelica_boolean tmp3_2;modelica_metatype tmp3_3;
tmp3_1 = _in_txt;
tmp3_2 = _in_mArg;
tmp3_3 = _in_a_rel_exp2;
{
modelica_metatype _txt = NULL;
modelica_metatype _a_rel_exp2 = NULL;
modelica_boolean _ret_1;
modelica_metatype _ret_0 = NULL;
volatile mmc_switch_type tmp3;
int tmp4;
tmp3 = 0;
for (; tmp3 < 2; tmp3++) {
switch (MMC_SWITCH_CAST(tmp3)) {
case 0: {
if (0 != tmp3_2) goto tmp2_end;
_txt = tmp3_1;
tmpMeta[0] = _txt;
goto tmp2_done;
}
case 1: {
_txt = tmp3_1;
_a_rel_exp2 = tmp3_3;
_ret_0 = omc_Expression_typeof(threadData, _a_rel_exp2);
_ret_1 = omc_Expression_isRealType(threadData, _ret_0);
tmpMeta[0] = omc_CodegenCFunctions_fun__856(threadData, _txt, _ret_1);
goto tmp2_done;
}
}
goto tmp2_end;
tmp2_end: ;
}
goto goto_1;
goto_1:;
MMC_THROW_INTERNAL();
goto tmp2_done;
tmp2_done:;
}
}
_out_txt = tmpMeta[0];
_return: OMC_LABEL_UNUSED
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__857(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_mArg, modelica_metatype _in_a_rel_exp2)
{
modelica_integer tmp1;
modelica_metatype _out_txt = NULL;
tmp1 = mmc_unbox_integer(_in_mArg);
_out_txt = omc_CodegenCFunctions_fun__857(threadData, _in_txt, tmp1, _in_a_rel_exp2);
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__856(threadData_t *threadData, modelica_metatype _in_txt, modelica_boolean _in_mArg)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta[1] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp3_1;modelica_boolean tmp3_2;
tmp3_1 = _in_txt;
tmp3_2 = _in_mArg;
{
modelica_metatype _txt = NULL;
volatile mmc_switch_type tmp3;
int tmp4;
tmp3 = 0;
for (; tmp3 < 2; tmp3++) {
switch (MMC_SWITCH_CAST(tmp3)) {
case 0: {
if (0 != tmp3_2) goto tmp2_end;
_txt = tmp3_1;
tmpMeta[0] = _txt;
goto tmp2_done;
}
case 1: {
_txt = tmp3_1;
tmpMeta[0] = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1039);
goto tmp2_done;
}
}
goto tmp2_end;
tmp2_end: ;
}
goto goto_1;
goto_1:;
MMC_THROW_INTERNAL();
goto tmp2_done;
tmp2_done:;
}
}
_out_txt = tmpMeta[0];
_return: OMC_LABEL_UNUSED
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__856(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_mArg)
{
modelica_integer tmp1;
modelica_metatype _out_txt = NULL;
tmp1 = mmc_unbox_integer(_in_mArg);
_out_txt = omc_CodegenCFunctions_fun__856(threadData, _in_txt, tmp1);
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__855(threadData_t *threadData, modelica_metatype _in_txt, modelica_boolean _in_mArg, modelica_integer _in_a_rel_index, modelica_metatype _in_a_res)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta[1] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp3_1;modelica_boolean tmp3_2;modelica_integer tmp3_3;modelica_metatype tmp3_4;
tmp3_1 = _in_txt;
tmp3_2 = _in_mArg;
tmp3_3 = _in_a_rel_index;
tmp3_4 = _in_a_res;
{
modelica_metatype _txt = NULL;
modelica_integer _a_rel_index;
modelica_metatype _a_res = NULL;
modelica_string _ret_0 = NULL;
volatile mmc_switch_type tmp3;
int tmp4;
tmp3 = 0;
for (; tmp3 < 2; tmp3++) {
switch (MMC_SWITCH_CAST(tmp3)) {
case 0: {
if (0 != tmp3_2) goto tmp2_end;
_txt = tmp3_1;
_a_rel_index = tmp3_3;
_a_res = tmp3_4;
_ret_0 = omc_Config_simCodeTarget(threadData);
tmpMeta[0] = omc_CodegenCFunctions_fun__854(threadData, _txt, _ret_0, _a_rel_index, _a_res);
goto tmp2_done;
}
case 1: {
_txt = tmp3_1;
_a_res = tmp3_4;
tmpMeta[0] = omc_Tpl_writeText(threadData, _txt, _a_res);
goto tmp2_done;
}
}
goto tmp2_end;
tmp2_end: ;
}
goto goto_1;
goto_1:;
MMC_THROW_INTERNAL();
goto tmp2_done;
tmp2_done:;
}
}
_out_txt = tmpMeta[0];
_return: OMC_LABEL_UNUSED
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__855(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_mArg, modelica_metatype _in_a_rel_index, modelica_metatype _in_a_res)
{
modelica_integer tmp1;
modelica_integer tmp2;
modelica_metatype _out_txt = NULL;
tmp1 = mmc_unbox_integer(_in_mArg);
tmp2 = mmc_unbox_integer(_in_a_rel_index);
_out_txt = omc_CodegenCFunctions_fun__855(threadData, _in_txt, tmp1, tmp2, _in_a_res);
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__854(threadData_t *threadData, modelica_metatype _in_txt, modelica_string _in_mArg, modelica_integer _in_a_rel_index, modelica_metatype _in_a_res)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta[1] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp3_1;modelica_string tmp3_2;modelica_integer tmp3_3;modelica_metatype tmp3_4;
tmp3_1 = _in_txt;
tmp3_2 = _in_mArg;
tmp3_3 = _in_a_rel_index;
tmp3_4 = _in_a_res;
{
modelica_metatype _txt = NULL;
modelica_integer _a_rel_index;
modelica_metatype _a_res = NULL;
volatile mmc_switch_type tmp3;
int tmp4;
tmp3 = 0;
for (; tmp3 < 2; tmp3++) {
switch (MMC_SWITCH_CAST(tmp3)) {
case 0: {
if (5 != MMC_STRLEN(tmp3_2) || strcmp(MMC_STRINGDATA(_OMC_LIT36), MMC_STRINGDATA(tmp3_2)) != 0) goto tmp2_end;
_txt = tmp3_1;
_a_rel_index = tmp3_3;
_a_res = tmp3_4;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1055);
_txt = omc_Tpl_writeText(threadData, _txt, _a_res);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT292);
_txt = omc_Tpl_writeStr(threadData, _txt, intString(_a_rel_index));
tmpMeta[0] = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT907);
goto tmp2_done;
}
case 1: {
_txt = tmp3_1;
tmpMeta[0] = _txt;
goto tmp2_done;
}
}
goto tmp2_end;
tmp2_end: ;
}
goto goto_1;
goto_1:;
MMC_THROW_INTERNAL();
goto tmp2_done;
tmp2_done:;
}
}
_out_txt = tmpMeta[0];
_return: OMC_LABEL_UNUSED
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__854(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_mArg, modelica_metatype _in_a_rel_index, modelica_metatype _in_a_res)
{
modelica_integer tmp1;
modelica_metatype _out_txt = NULL;
tmp1 = mmc_unbox_integer(_in_a_rel_index);
_out_txt = omc_CodegenCFunctions_fun__854(threadData, _in_txt, _in_mArg, tmp1, _in_a_res);
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__853(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_rel_operator, modelica_metatype _in_a_e2, modelica_metatype _in_a_e1, modelica_metatype _in_a_res, modelica_metatype _in_a_preExp, modelica_metatype *out_out_a_preExp)
{
modelica_metatype _out_txt = NULL;
modelica_metatype _out_a_preExp = NULL;
modelica_metatype tmpMeta[2] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_metatype tmp4_2;modelica_metatype tmp4_3;modelica_metatype tmp4_4;modelica_metatype tmp4_5;modelica_metatype tmp4_6;
tmp4_1 = _in_txt;
tmp4_2 = _in_a_rel_operator;
tmp4_3 = _in_a_e2;
tmp4_4 = _in_a_e1;
tmp4_5 = _in_a_res;
tmp4_6 = _in_a_preExp;
{
modelica_metatype _txt = NULL;
modelica_metatype _a_e2 = NULL;
modelica_metatype _a_e1 = NULL;
modelica_metatype _a_res = NULL;
modelica_metatype _a_preExp = NULL;
int tmp4;
{
switch (MMC_SWITCH_CAST(valueConstructor(tmp4_2))) {
case 28: {
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,25,1) == 0) goto tmp3_end;
_txt = tmp4_1;
_a_e2 = tmp4_3;
_a_e1 = tmp4_4;
_a_res = tmp4_5;
_a_preExp = tmp4_6;
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _a_res);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT121);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _a_e1);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT181);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _a_e2);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT105);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT89);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_preExp;
goto tmp3_done;
}
case 29: {
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,26,1) == 0) goto tmp3_end;
_txt = tmp4_1;
_a_e2 = tmp4_3;
_a_e1 = tmp4_4;
_a_res = tmp4_5;
_a_preExp = tmp4_6;
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _a_res);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT121);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _a_e1);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT334);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _a_e2);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT105);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT89);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_preExp;
goto tmp3_done;
}
case 30: {
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,27,1) == 0) goto tmp3_end;
_txt = tmp4_1;
_a_e2 = tmp4_3;
_a_e1 = tmp4_4;
_a_res = tmp4_5;
_a_preExp = tmp4_6;
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _a_res);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT121);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _a_e1);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT486);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _a_e2);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT105);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT89);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_preExp;
goto tmp3_done;
}
case 31: {
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,28,1) == 0) goto tmp3_end;
_txt = tmp4_1;
_a_e2 = tmp4_3;
_a_e1 = tmp4_4;
_a_res = tmp4_5;
_a_preExp = tmp4_6;
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _a_res);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT121);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _a_e1);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT338);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _a_e2);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT105);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT89);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_preExp;
goto tmp3_done;
}
default:
tmp3_default: OMC_LABEL_UNUSED; {
_txt = tmp4_1;
_a_preExp = tmp4_6;
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_preExp;
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta[0+0];
_out_a_preExp = tmpMeta[0+1];
_return: OMC_LABEL_UNUSED
if (out_out_a_preExp) { *out_out_a_preExp = _out_a_preExp; }
return _out_txt;
}
DLLExport
modelica_metatype omc_CodegenCFunctions_daeExpRelation(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_exp, modelica_metatype _in_a_context, modelica_metatype _in_a_preExp, modelica_metatype _in_a_varDecls, modelica_metatype _in_a_auxFunction, modelica_metatype *out_out_a_preExp, modelica_metatype *out_out_a_varDecls, modelica_metatype *out_out_a_auxFunction)
{
modelica_metatype _out_txt = NULL;
modelica_metatype _out_a_preExp = NULL;
modelica_metatype _out_a_varDecls = NULL;
modelica_metatype _out_a_auxFunction = NULL;
modelica_metatype tmpMeta[7] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_metatype tmp4_2;modelica_metatype tmp4_3;modelica_metatype tmp4_4;modelica_metatype tmp4_5;modelica_metatype tmp4_6;
tmp4_1 = _in_txt;
tmp4_2 = _in_a_exp;
tmp4_3 = _in_a_context;
tmp4_4 = _in_a_preExp;
tmp4_5 = _in_a_varDecls;
tmp4_6 = _in_a_auxFunction;
{
modelica_metatype _txt = NULL;
modelica_metatype _a_context = NULL;
modelica_metatype _a_preExp = NULL;
modelica_metatype _a_varDecls = NULL;
modelica_metatype _a_auxFunction = NULL;
modelica_metatype _i_rel_operator = NULL;
modelica_metatype _i_rel_exp2 = NULL;
modelica_metatype _i_rel_exp1 = NULL;
modelica_metatype _i_rel = NULL;
modelica_metatype _l_simRel = NULL;
modelica_metatype _l_preExp2 = NULL;
modelica_metatype _l_varDecls2 = NULL;
volatile mmc_switch_type tmp4;
int tmp5;
tmp4 = 0;
for (; tmp4 < 2; tmp4++) {
switch (MMC_SWITCH_CAST(tmp4)) {
case 0: {
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,11,5) == 0) goto tmp3_end;
tmpMeta[4] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
tmpMeta[5] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 3));
tmpMeta[6] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 4));
_i_rel = tmp4_2;
_i_rel_exp1 = tmpMeta[4];
_i_rel_operator = tmpMeta[5];
_i_rel_exp2 = tmpMeta[6];
_txt = tmp4_1;
_a_context = tmp4_3;
_a_preExp = tmp4_4;
_a_varDecls = tmp4_5;
_a_auxFunction = tmp4_6;
_l_varDecls2 = _OMC_LIT20;
_l_preExp2 = _OMC_LIT20;
_l_simRel = omc_CodegenCFunctions_daeExpRelationSim(threadData, _OMC_LIT20, _i_rel, _a_context, _l_preExp2, _l_varDecls2, _a_auxFunction ,&_l_preExp2 ,&_l_varDecls2 ,&_a_auxFunction);
_txt = omc_CodegenCFunctions_fun__851(threadData, _txt, _l_simRel, _l_preExp2, _l_varDecls2, _i_rel, _i_rel_operator, _i_rel_exp2, _a_auxFunction, _a_varDecls, _a_preExp, _a_context, _i_rel_exp1 ,&_a_auxFunction ,&_a_varDecls ,&_a_preExp);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_preExp;
tmpMeta[0+2] = _a_varDecls;
tmpMeta[0+3] = _a_auxFunction;
goto tmp3_done;
}
case 1: {
_txt = tmp4_1;
_a_preExp = tmp4_4;
_a_varDecls = tmp4_5;
_a_auxFunction = tmp4_6;
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_preExp;
tmpMeta[0+2] = _a_varDecls;
tmpMeta[0+3] = _a_auxFunction;
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta[0+0];
_out_a_preExp = tmpMeta[0+1];
_out_a_varDecls = tmpMeta[0+2];
_out_a_auxFunction = tmpMeta[0+3];
_return: OMC_LABEL_UNUSED
if (out_out_a_preExp) { *out_out_a_preExp = _out_a_preExp; }
if (out_out_a_varDecls) { *out_out_a_varDecls = _out_a_varDecls; }
if (out_out_a_auxFunction) { *out_out_a_auxFunction = _out_a_auxFunction; }
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__851(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_simRel, modelica_metatype _in_a_preExp2, modelica_metatype _in_a_varDecls2, modelica_metatype _in_a_exp, modelica_metatype _in_a_rel_operator, modelica_metatype _in_a_rel_exp2, modelica_metatype _in_a_auxFunction, modelica_metatype _in_a_varDecls, modelica_metatype _in_a_preExp, modelica_metatype _in_a_context, modelica_metatype _in_a_rel_exp1, modelica_metatype *out_out_a_auxFunction, modelica_metatype *out_out_a_varDecls, modelica_metatype *out_out_a_preExp)
{
modelica_metatype _out_txt = NULL;
modelica_metatype _out_a_auxFunction = NULL;
modelica_metatype _out_a_varDecls = NULL;
modelica_metatype _out_a_preExp = NULL;
modelica_metatype tmpMeta[5] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_metatype tmp4_2;modelica_metatype tmp4_3;modelica_metatype tmp4_4;modelica_metatype tmp4_5;modelica_metatype tmp4_6;modelica_metatype tmp4_7;modelica_metatype tmp4_8;modelica_metatype tmp4_9;modelica_metatype tmp4_10;modelica_metatype tmp4_11;modelica_metatype tmp4_12;
tmp4_1 = _in_txt;
tmp4_2 = _in_a_simRel;
tmp4_3 = _in_a_preExp2;
tmp4_4 = _in_a_varDecls2;
tmp4_5 = _in_a_exp;
tmp4_6 = _in_a_rel_operator;
tmp4_7 = _in_a_rel_exp2;
tmp4_8 = _in_a_auxFunction;
tmp4_9 = _in_a_varDecls;
tmp4_10 = _in_a_preExp;
tmp4_11 = _in_a_context;
tmp4_12 = _in_a_rel_exp1;
{
modelica_metatype _txt = NULL;
modelica_metatype _a_preExp2 = NULL;
modelica_metatype _a_varDecls2 = NULL;
modelica_metatype _a_exp = NULL;
modelica_metatype _a_rel_operator = NULL;
modelica_metatype _a_rel_exp2 = NULL;
modelica_metatype _a_auxFunction = NULL;
modelica_metatype _a_varDecls = NULL;
modelica_metatype _a_preExp = NULL;
modelica_metatype _a_context = NULL;
modelica_metatype _a_rel_exp1 = NULL;
modelica_metatype _i_simRel = NULL;
modelica_metatype _l_e2 = NULL;
modelica_metatype _l_e1 = NULL;
volatile mmc_switch_type tmp4;
int tmp5;
tmp4 = 0;
for (; tmp4 < 2; tmp4++) {
switch (MMC_SWITCH_CAST(tmp4)) {
case 0: {
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,0,2) == 0) goto tmp3_end;
tmpMeta[4] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
if (!listEmpty(tmpMeta[4])) goto tmp3_end;
_txt = tmp4_1;
_a_exp = tmp4_5;
_a_rel_operator = tmp4_6;
_a_rel_exp2 = tmp4_7;
_a_auxFunction = tmp4_8;
_a_varDecls = tmp4_9;
_a_preExp = tmp4_10;
_a_context = tmp4_11;
_a_rel_exp1 = tmp4_12;
_l_e1 = omc_CodegenCFunctions_daeExp(threadData, _OMC_LIT20, _a_rel_exp1, _a_context, _a_preExp, _a_varDecls, _a_auxFunction ,&_a_preExp ,&_a_varDecls ,&_a_auxFunction);
_l_e2 = omc_CodegenCFunctions_daeExp(threadData, _OMC_LIT20, _a_rel_exp2, _a_context, _a_preExp, _a_varDecls, _a_auxFunction ,&_a_preExp ,&_a_varDecls ,&_a_auxFunction);
_txt = omc_CodegenCFunctions_fun__850(threadData, _txt, _a_rel_operator, _a_exp, _l_e2, _l_e1);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_auxFunction;
tmpMeta[0+2] = _a_varDecls;
tmpMeta[0+3] = _a_preExp;
goto tmp3_done;
}
case 1: {
_txt = tmp4_1;
_i_simRel = tmp4_2;
_a_preExp2 = tmp4_3;
_a_varDecls2 = tmp4_4;
_a_auxFunction = tmp4_8;
_a_varDecls = tmp4_9;
_a_preExp = tmp4_10;
_a_varDecls = omc_Tpl_writeText(threadData, _a_varDecls, _a_varDecls2);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _a_preExp2);
_txt = omc_Tpl_writeText(threadData, _txt, _i_simRel);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_auxFunction;
tmpMeta[0+2] = _a_varDecls;
tmpMeta[0+3] = _a_preExp;
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta[0+0];
_out_a_auxFunction = tmpMeta[0+1];
_out_a_varDecls = tmpMeta[0+2];
_out_a_preExp = tmpMeta[0+3];
_return: OMC_LABEL_UNUSED
if (out_out_a_auxFunction) { *out_out_a_auxFunction = _out_a_auxFunction; }
if (out_out_a_varDecls) { *out_out_a_varDecls = _out_a_varDecls; }
if (out_out_a_preExp) { *out_out_a_preExp = _out_a_preExp; }
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__850(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_rel_operator, modelica_metatype _in_a_exp, modelica_metatype _in_a_e2, modelica_metatype _in_a_e1)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta[2] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp3_1;modelica_metatype tmp3_2;modelica_metatype tmp3_3;modelica_metatype tmp3_4;modelica_metatype tmp3_5;
tmp3_1 = _in_txt;
tmp3_2 = _in_a_rel_operator;
tmp3_3 = _in_a_exp;
tmp3_4 = _in_a_e2;
tmp3_5 = _in_a_e1;
{
modelica_metatype _txt = NULL;
modelica_metatype _a_exp = NULL;
modelica_metatype _a_e2 = NULL;
modelica_metatype _a_e1 = NULL;
modelica_metatype _txt_0 = NULL;
volatile mmc_switch_type tmp3;
int tmp4;
tmp3 = 0;
for (; tmp3 < 32; tmp3++) {
switch (MMC_SWITCH_CAST(tmp3)) {
case 0: {
if (mmc__uniontype__metarecord__typedef__equal(tmp3_2,25,1) == 0) goto tmp2_end;
tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_2), 2));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[1],3,1) == 0) goto tmp2_end;
_txt = tmp3_1;
_a_e2 = tmp3_4;
_a_e1 = tmp3_5;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT655);
_txt = omc_Tpl_writeText(threadData, _txt, _a_e1);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT657);
_txt = omc_Tpl_writeText(threadData, _txt, _a_e2);
tmpMeta[0] = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT78);
goto tmp2_done;
}
case 1: {
if (mmc__uniontype__metarecord__typedef__equal(tmp3_2,25,1) == 0) goto tmp2_end;
tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_2), 2));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[1],2,1) == 0) goto tmp2_end;
_txt = tmp3_1;
_a_e2 = tmp3_4;
_a_e1 = tmp3_5;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1057);
_txt = omc_Tpl_writeText(threadData, _txt, _a_e1);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT292);
_txt = omc_Tpl_writeText(threadData, _txt, _a_e2);
tmpMeta[0] = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1059);
goto tmp2_done;
}
case 2: {
if (mmc__uniontype__metarecord__typedef__equal(tmp3_2,25,1) == 0) goto tmp2_end;
tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_2), 2));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[1],0,1) == 0) goto tmp2_end;
_txt = tmp3_1;
_a_e2 = tmp3_4;
_a_e1 = tmp3_5;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT68);
_txt = omc_Tpl_writeText(threadData, _txt, _a_e1);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT181);
_txt = omc_Tpl_writeText(threadData, _txt, _a_e2);
tmpMeta[0] = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT78);
goto tmp2_done;
}
case 3: {
if (mmc__uniontype__metarecord__typedef__equal(tmp3_2,25,1) == 0) goto tmp2_end;
tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_2), 2));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[1],1,1) == 0) goto tmp2_end;
_txt = tmp3_1;
_a_e2 = tmp3_4;
_a_e1 = tmp3_5;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT68);
_txt = omc_Tpl_writeText(threadData, _txt, _a_e1);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT181);
_txt = omc_Tpl_writeText(threadData, _txt, _a_e2);
tmpMeta[0] = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT78);
goto tmp2_done;
}
case 4: {
if (mmc__uniontype__metarecord__typedef__equal(tmp3_2,25,1) == 0) goto tmp2_end;
tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_2), 2));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[1],5,5) == 0) goto tmp2_end;
_txt = tmp3_1;
_a_e2 = tmp3_4;
_a_e1 = tmp3_5;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT68);
_txt = omc_Tpl_writeText(threadData, _txt, _a_e1);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT181);
_txt = omc_Tpl_writeText(threadData, _txt, _a_e2);
tmpMeta[0] = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT78);
goto tmp2_done;
}
case 5: {
if (mmc__uniontype__metarecord__typedef__equal(tmp3_2,27,1) == 0) goto tmp2_end;
tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_2), 2));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[1],3,1) == 0) goto tmp2_end;
_txt = tmp3_1;
_a_e2 = tmp3_4;
_a_e1 = tmp3_5;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT68);
_txt = omc_Tpl_writeText(threadData, _txt, _a_e1);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT653);
_txt = omc_Tpl_writeText(threadData, _txt, _a_e2);
tmpMeta[0] = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT78);
goto tmp2_done;
}
case 6: {
if (mmc__uniontype__metarecord__typedef__equal(tmp3_2,27,1) == 0) goto tmp2_end;
tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_2), 2));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[1],2,1) == 0) goto tmp2_end;
_txt = tmp3_1;
_a_e2 = tmp3_4;
_a_e1 = tmp3_5;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1057);
_txt = omc_Tpl_writeText(threadData, _txt, _a_e1);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT292);
_txt = omc_Tpl_writeText(threadData, _txt, _a_e2);
tmpMeta[0] = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1061);
goto tmp2_done;
}
case 7: {
if (mmc__uniontype__metarecord__typedef__equal(tmp3_2,27,1) == 0) goto tmp2_end;
tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_2), 2));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[1],0,1) == 0) goto tmp2_end;
_txt = tmp3_1;
_a_e2 = tmp3_4;
_a_e1 = tmp3_5;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT68);
_txt = omc_Tpl_writeText(threadData, _txt, _a_e1);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT486);
_txt = omc_Tpl_writeText(threadData, _txt, _a_e2);
tmpMeta[0] = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT78);
goto tmp2_done;
}
case 8: {
if (mmc__uniontype__metarecord__typedef__equal(tmp3_2,27,1) == 0) goto tmp2_end;
tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_2), 2));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[1],1,1) == 0) goto tmp2_end;
_txt = tmp3_1;
_a_e2 = tmp3_4;
_a_e1 = tmp3_5;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT68);
_txt = omc_Tpl_writeText(threadData, _txt, _a_e1);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT486);
_txt = omc_Tpl_writeText(threadData, _txt, _a_e2);
tmpMeta[0] = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT78);
goto tmp2_done;
}
case 9: {
if (mmc__uniontype__metarecord__typedef__equal(tmp3_2,27,1) == 0) goto tmp2_end;
tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_2), 2));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[1],5,5) == 0) goto tmp2_end;
_txt = tmp3_1;
_a_e2 = tmp3_4;
_a_e1 = tmp3_5;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT68);
_txt = omc_Tpl_writeText(threadData, _txt, _a_e1);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT486);
_txt = omc_Tpl_writeText(threadData, _txt, _a_e2);
tmpMeta[0] = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT78);
goto tmp2_done;
}
case 10: {
if (mmc__uniontype__metarecord__typedef__equal(tmp3_2,26,1) == 0) goto tmp2_end;
tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_2), 2));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[1],3,1) == 0) goto tmp2_end;
_txt = tmp3_1;
_a_e2 = tmp3_4;
_a_e1 = tmp3_5;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT655);
_txt = omc_Tpl_writeText(threadData, _txt, _a_e1);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1063);
_txt = omc_Tpl_writeText(threadData, _txt, _a_e2);
tmpMeta[0] = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT78);
goto tmp2_done;
}
case 11: {
if (mmc__uniontype__metarecord__typedef__equal(tmp3_2,26,1) == 0) goto tmp2_end;
tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_2), 2));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[1],2,1) == 0) goto tmp2_end;
_txt = tmp3_1;
_a_e2 = tmp3_4;
_a_e1 = tmp3_5;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1057);
_txt = omc_Tpl_writeText(threadData, _txt, _a_e1);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT292);
_txt = omc_Tpl_writeText(threadData, _txt, _a_e2);
tmpMeta[0] = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1065);
goto tmp2_done;
}
case 12: {
if (mmc__uniontype__metarecord__typedef__equal(tmp3_2,26,1) == 0) goto tmp2_end;
tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_2), 2));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[1],0,1) == 0) goto tmp2_end;
_txt = tmp3_1;
_a_e2 = tmp3_4;
_a_e1 = tmp3_5;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT68);
_txt = omc_Tpl_writeText(threadData, _txt, _a_e1);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT334);
_txt = omc_Tpl_writeText(threadData, _txt, _a_e2);
tmpMeta[0] = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT78);
goto tmp2_done;
}
case 13: {
if (mmc__uniontype__metarecord__typedef__equal(tmp3_2,26,1) == 0) goto tmp2_end;
tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_2), 2));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[1],1,1) == 0) goto tmp2_end;
_txt = tmp3_1;
_a_e2 = tmp3_4;
_a_e1 = tmp3_5;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT68);
_txt = omc_Tpl_writeText(threadData, _txt, _a_e1);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT334);
_txt = omc_Tpl_writeText(threadData, _txt, _a_e2);
tmpMeta[0] = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT78);
goto tmp2_done;
}
case 14: {
if (mmc__uniontype__metarecord__typedef__equal(tmp3_2,26,1) == 0) goto tmp2_end;
tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_2), 2));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[1],5,5) == 0) goto tmp2_end;
_txt = tmp3_1;
_a_e2 = tmp3_4;
_a_e1 = tmp3_5;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT68);
_txt = omc_Tpl_writeText(threadData, _txt, _a_e1);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT334);
_txt = omc_Tpl_writeText(threadData, _txt, _a_e2);
tmpMeta[0] = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT78);
goto tmp2_done;
}
case 15: {
if (mmc__uniontype__metarecord__typedef__equal(tmp3_2,28,1) == 0) goto tmp2_end;
tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_2), 2));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[1],3,1) == 0) goto tmp2_end;
_txt = tmp3_1;
_a_e2 = tmp3_4;
_a_e1 = tmp3_5;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT68);
_txt = omc_Tpl_writeText(threadData, _txt, _a_e1);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1067);
_txt = omc_Tpl_writeText(threadData, _txt, _a_e2);
tmpMeta[0] = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT78);
goto tmp2_done;
}
case 16: {
if (mmc__uniontype__metarecord__typedef__equal(tmp3_2,28,1) == 0) goto tmp2_end;
tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_2), 2));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[1],2,1) == 0) goto tmp2_end;
_txt = tmp3_1;
_a_e2 = tmp3_4;
_a_e1 = tmp3_5;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1057);
_txt = omc_Tpl_writeText(threadData, _txt, _a_e1);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT292);
_txt = omc_Tpl_writeText(threadData, _txt, _a_e2);
tmpMeta[0] = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1069);
goto tmp2_done;
}
case 17: {
if (mmc__uniontype__metarecord__typedef__equal(tmp3_2,28,1) == 0) goto tmp2_end;
tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_2), 2));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[1],0,1) == 0) goto tmp2_end;
_txt = tmp3_1;
_a_e2 = tmp3_4;
_a_e1 = tmp3_5;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT68);
_txt = omc_Tpl_writeText(threadData, _txt, _a_e1);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT338);
_txt = omc_Tpl_writeText(threadData, _txt, _a_e2);
tmpMeta[0] = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT78);
goto tmp2_done;
}
case 18: {
if (mmc__uniontype__metarecord__typedef__equal(tmp3_2,28,1) == 0) goto tmp2_end;
tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_2), 2));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[1],1,1) == 0) goto tmp2_end;
_txt = tmp3_1;
_a_e2 = tmp3_4;
_a_e1 = tmp3_5;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT68);
_txt = omc_Tpl_writeText(threadData, _txt, _a_e1);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT338);
_txt = omc_Tpl_writeText(threadData, _txt, _a_e2);
tmpMeta[0] = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT78);
goto tmp2_done;
}
case 19: {
if (mmc__uniontype__metarecord__typedef__equal(tmp3_2,28,1) == 0) goto tmp2_end;
tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_2), 2));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[1],5,5) == 0) goto tmp2_end;
_txt = tmp3_1;
_a_e2 = tmp3_4;
_a_e1 = tmp3_5;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT68);
_txt = omc_Tpl_writeText(threadData, _txt, _a_e1);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT338);
_txt = omc_Tpl_writeText(threadData, _txt, _a_e2);
tmpMeta[0] = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT78);
goto tmp2_done;
}
case 20: {
if (mmc__uniontype__metarecord__typedef__equal(tmp3_2,29,1) == 0) goto tmp2_end;
tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_2), 2));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[1],3,1) == 0) goto tmp2_end;
_txt = tmp3_1;
_a_e2 = tmp3_4;
_a_e1 = tmp3_5;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1071);
_txt = omc_Tpl_writeText(threadData, _txt, _a_e1);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT653);
_txt = omc_Tpl_writeText(threadData, _txt, _a_e2);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1073);
_txt = omc_Tpl_writeText(threadData, _txt, _a_e1);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT657);
_txt = omc_Tpl_writeText(threadData, _txt, _a_e2);
tmpMeta[0] = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT600);
goto tmp2_done;
}
case 21: {
if (mmc__uniontype__metarecord__typedef__equal(tmp3_2,29,1) == 0) goto tmp2_end;
tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_2), 2));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[1],2,1) == 0) goto tmp2_end;
_txt = tmp3_1;
_a_e2 = tmp3_4;
_a_e1 = tmp3_5;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1075);
_txt = omc_Tpl_writeText(threadData, _txt, _a_e1);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT292);
_txt = omc_Tpl_writeText(threadData, _txt, _a_e2);
tmpMeta[0] = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT600);
goto tmp2_done;
}
case 22: {
if (mmc__uniontype__metarecord__typedef__equal(tmp3_2,29,1) == 0) goto tmp2_end;
tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_2), 2));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[1],0,1) == 0) goto tmp2_end;
_txt = tmp3_1;
_a_e2 = tmp3_4;
_a_e1 = tmp3_5;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT68);
_txt = omc_Tpl_writeText(threadData, _txt, _a_e1);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT265);
_txt = omc_Tpl_writeText(threadData, _txt, _a_e2);
tmpMeta[0] = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT78);
goto tmp2_done;
}
case 23: {
if (mmc__uniontype__metarecord__typedef__equal(tmp3_2,29,1) == 0) goto tmp2_end;
tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_2), 2));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[1],1,1) == 0) goto tmp2_end;
_txt = tmp3_1;
_a_e2 = tmp3_4;
_a_e1 = tmp3_5;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT68);
_txt = omc_Tpl_writeText(threadData, _txt, _a_e1);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT265);
_txt = omc_Tpl_writeText(threadData, _txt, _a_e2);
tmpMeta[0] = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT78);
goto tmp2_done;
}
case 24: {
if (mmc__uniontype__metarecord__typedef__equal(tmp3_2,29,1) == 0) goto tmp2_end;
tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_2), 2));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[1],5,5) == 0) goto tmp2_end;
_txt = tmp3_1;
_a_e2 = tmp3_4;
_a_e1 = tmp3_5;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT68);
_txt = omc_Tpl_writeText(threadData, _txt, _a_e1);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT265);
_txt = omc_Tpl_writeText(threadData, _txt, _a_e2);
tmpMeta[0] = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT78);
goto tmp2_done;
}
case 25: {
if (mmc__uniontype__metarecord__typedef__equal(tmp3_2,29,1) == 0) goto tmp2_end;
tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_2), 2));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[1],6,2) == 0) goto tmp2_end;
_txt = tmp3_1;
_a_e2 = tmp3_4;
tmpMeta[0] = omc_Tpl_writeText(threadData, _txt, _a_e2);
goto tmp2_done;
}
case 26: {
if (mmc__uniontype__metarecord__typedef__equal(tmp3_2,30,1) == 0) goto tmp2_end;
tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_2), 2));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[1],3,1) == 0) goto tmp2_end;
_txt = tmp3_1;
_a_e2 = tmp3_4;
_a_e1 = tmp3_5;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1071);
_txt = omc_Tpl_writeText(threadData, _txt, _a_e1);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT657);
_txt = omc_Tpl_writeText(threadData, _txt, _a_e2);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1073);
_txt = omc_Tpl_writeText(threadData, _txt, _a_e1);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT653);
_txt = omc_Tpl_writeText(threadData, _txt, _a_e2);
tmpMeta[0] = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT600);
goto tmp2_done;
}
case 27: {
if (mmc__uniontype__metarecord__typedef__equal(tmp3_2,30,1) == 0) goto tmp2_end;
tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_2), 2));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[1],2,1) == 0) goto tmp2_end;
_txt = tmp3_1;
_a_e2 = tmp3_4;
_a_e1 = tmp3_5;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1077);
_txt = omc_Tpl_writeText(threadData, _txt, _a_e1);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT292);
_txt = omc_Tpl_writeText(threadData, _txt, _a_e2);
tmpMeta[0] = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT600);
goto tmp2_done;
}
case 28: {
if (mmc__uniontype__metarecord__typedef__equal(tmp3_2,30,1) == 0) goto tmp2_end;
tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_2), 2));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[1],0,1) == 0) goto tmp2_end;
_txt = tmp3_1;
_a_e2 = tmp3_4;
_a_e1 = tmp3_5;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT68);
_txt = omc_Tpl_writeText(threadData, _txt, _a_e1);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT661);
_txt = omc_Tpl_writeText(threadData, _txt, _a_e2);
tmpMeta[0] = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT78);
goto tmp2_done;
}
case 29: {
if (mmc__uniontype__metarecord__typedef__equal(tmp3_2,30,1) == 0) goto tmp2_end;
tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_2), 2));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[1],1,1) == 0) goto tmp2_end;
_txt = tmp3_1;
_a_e2 = tmp3_4;
_a_e1 = tmp3_5;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT68);
_txt = omc_Tpl_writeText(threadData, _txt, _a_e1);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT661);
_txt = omc_Tpl_writeText(threadData, _txt, _a_e2);
tmpMeta[0] = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT78);
goto tmp2_done;
}
case 30: {
if (mmc__uniontype__metarecord__typedef__equal(tmp3_2,30,1) == 0) goto tmp2_end;
tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_2), 2));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[1],5,5) == 0) goto tmp2_end;
_txt = tmp3_1;
_a_e2 = tmp3_4;
_a_e1 = tmp3_5;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT68);
_txt = omc_Tpl_writeText(threadData, _txt, _a_e1);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT661);
_txt = omc_Tpl_writeText(threadData, _txt, _a_e2);
tmpMeta[0] = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT78);
goto tmp2_done;
}
case 31: {
_txt = tmp3_1;
_a_exp = tmp3_3;
_txt_0 = omc_Tpl_writeTok(threadData, _OMC_LIT20, _OMC_LIT1079);
_txt_0 = omc_ExpressionDumpTpl_dumpExp(threadData, _txt_0, _a_exp, _OMC_LIT231);
tmpMeta[0] = omc_CodegenUtil_error(threadData, _txt, omc_Tpl_sourceInfo(threadData, _OMC_LIT27, ((modelica_integer) 5784), ((modelica_integer) 16)), omc_Tpl_textString(threadData, _txt_0));
goto tmp2_done;
}
}
goto tmp2_end;
tmp2_end: ;
}
goto goto_1;
goto_1:;
MMC_THROW_INTERNAL();
goto tmp2_done;
tmp2_done:;
}
}
_out_txt = tmpMeta[0];
_return: OMC_LABEL_UNUSED
return _out_txt;
}
DLLExport
modelica_metatype omc_CodegenCFunctions_daeExpLunary(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_exp, modelica_metatype _in_a_context, modelica_metatype _in_a_preExp, modelica_metatype _in_a_varDecls, modelica_metatype _in_a_auxFunction, modelica_metatype *out_out_a_preExp, modelica_metatype *out_out_a_varDecls, modelica_metatype *out_out_a_auxFunction)
{
modelica_metatype _out_txt = NULL;
modelica_metatype _out_a_preExp = NULL;
modelica_metatype _out_a_varDecls = NULL;
modelica_metatype _out_a_auxFunction = NULL;
modelica_metatype tmpMeta[6] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_metatype tmp4_2;modelica_metatype tmp4_3;modelica_metatype tmp4_4;modelica_metatype tmp4_5;modelica_metatype tmp4_6;
tmp4_1 = _in_txt;
tmp4_2 = _in_a_exp;
tmp4_3 = _in_a_context;
tmp4_4 = _in_a_preExp;
tmp4_5 = _in_a_varDecls;
tmp4_6 = _in_a_auxFunction;
{
modelica_metatype _txt = NULL;
modelica_metatype _a_context = NULL;
modelica_metatype _a_preExp = NULL;
modelica_metatype _a_varDecls = NULL;
modelica_metatype _a_auxFunction = NULL;
modelica_metatype _i_operator = NULL;
modelica_metatype _i_exp = NULL;
modelica_metatype _l_e = NULL;
volatile mmc_switch_type tmp4;
int tmp5;
tmp4 = 0;
for (; tmp4 < 2; tmp4++) {
switch (MMC_SWITCH_CAST(tmp4)) {
case 0: {
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,10,2) == 0) goto tmp3_end;
tmpMeta[4] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
tmpMeta[5] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 3));
_i_operator = tmpMeta[4];
_i_exp = tmpMeta[5];
_txt = tmp4_1;
_a_context = tmp4_3;
_a_preExp = tmp4_4;
_a_varDecls = tmp4_5;
_a_auxFunction = tmp4_6;
_l_e = omc_CodegenCFunctions_daeExp(threadData, _OMC_LIT20, _i_exp, _a_context, _a_preExp, _a_varDecls, _a_auxFunction ,&_a_preExp ,&_a_varDecls ,&_a_auxFunction);
_txt = omc_CodegenCFunctions_fun__848(threadData, _txt, _i_operator, _l_e, _a_preExp, _a_varDecls ,&_a_preExp ,&_a_varDecls);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_preExp;
tmpMeta[0+2] = _a_varDecls;
tmpMeta[0+3] = _a_auxFunction;
goto tmp3_done;
}
case 1: {
_txt = tmp4_1;
_a_preExp = tmp4_4;
_a_varDecls = tmp4_5;
_a_auxFunction = tmp4_6;
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_preExp;
tmpMeta[0+2] = _a_varDecls;
tmpMeta[0+3] = _a_auxFunction;
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta[0+0];
_out_a_preExp = tmpMeta[0+1];
_out_a_varDecls = tmpMeta[0+2];
_out_a_auxFunction = tmpMeta[0+3];
_return: OMC_LABEL_UNUSED
if (out_out_a_preExp) { *out_out_a_preExp = _out_a_preExp; }
if (out_out_a_varDecls) { *out_out_a_varDecls = _out_a_varDecls; }
if (out_out_a_auxFunction) { *out_out_a_auxFunction = _out_a_auxFunction; }
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__848(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_operator, modelica_metatype _in_a_e, modelica_metatype _in_a_preExp, modelica_metatype _in_a_varDecls, modelica_metatype *out_out_a_preExp, modelica_metatype *out_out_a_varDecls)
{
modelica_metatype _out_txt = NULL;
modelica_metatype _out_a_preExp = NULL;
modelica_metatype _out_a_varDecls = NULL;
modelica_metatype tmpMeta[4] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_metatype tmp4_2;modelica_metatype tmp4_3;modelica_metatype tmp4_4;modelica_metatype tmp4_5;
tmp4_1 = _in_txt;
tmp4_2 = _in_a_operator;
tmp4_3 = _in_a_e;
tmp4_4 = _in_a_preExp;
tmp4_5 = _in_a_varDecls;
{
modelica_metatype _txt = NULL;
modelica_metatype _a_e = NULL;
modelica_metatype _a_preExp = NULL;
modelica_metatype _a_varDecls = NULL;
modelica_metatype _l_var = NULL;
volatile mmc_switch_type tmp4;
int tmp5;
tmp4 = 0;
for (; tmp4 < 2; tmp4++) {
switch (MMC_SWITCH_CAST(tmp4)) {
case 0: {
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,24,1) == 0) goto tmp3_end;
tmpMeta[3] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[3],6,2) == 0) goto tmp3_end;
_txt = tmp4_1;
_a_e = tmp4_3;
_a_preExp = tmp4_4;
_a_varDecls = tmp4_5;
_l_var = omc_CodegenCFunctions_tempDecl(threadData, _OMC_LIT20, _OMC_LIT1080, _a_varDecls ,&_a_varDecls);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT1082);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _a_e);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT1084);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _l_var);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT290);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT89);
_txt = omc_Tpl_writeText(threadData, _txt, _l_var);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_preExp;
tmpMeta[0+2] = _a_varDecls;
goto tmp3_done;
}
case 1: {
_txt = tmp4_1;
_a_e = tmp4_3;
_a_preExp = tmp4_4;
_a_varDecls = tmp4_5;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT655);
_txt = omc_Tpl_writeText(threadData, _txt, _a_e);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT78);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_preExp;
tmpMeta[0+2] = _a_varDecls;
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta[0+0];
_out_a_preExp = tmpMeta[0+1];
_out_a_varDecls = tmpMeta[0+2];
_return: OMC_LABEL_UNUSED
if (out_out_a_preExp) { *out_out_a_preExp = _out_a_preExp; }
if (out_out_a_varDecls) { *out_out_a_varDecls = _out_a_varDecls; }
return _out_txt;
}
DLLExport
modelica_metatype omc_CodegenCFunctions_daeExpLbinary(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_exp, modelica_metatype _in_a_context, modelica_metatype _in_a_preExp, modelica_metatype _in_a_varDecls, modelica_metatype _in_a_auxFunction, modelica_metatype *out_out_a_preExp, modelica_metatype *out_out_a_varDecls, modelica_metatype *out_out_a_auxFunction)
{
modelica_metatype _out_txt = NULL;
modelica_metatype _out_a_preExp = NULL;
modelica_metatype _out_a_varDecls = NULL;
modelica_metatype _out_a_auxFunction = NULL;
modelica_metatype tmpMeta[7] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_metatype tmp4_2;modelica_metatype tmp4_3;modelica_metatype tmp4_4;modelica_metatype tmp4_5;modelica_metatype tmp4_6;
tmp4_1 = _in_txt;
tmp4_2 = _in_a_exp;
tmp4_3 = _in_a_context;
tmp4_4 = _in_a_preExp;
tmp4_5 = _in_a_varDecls;
tmp4_6 = _in_a_auxFunction;
{
modelica_metatype _txt = NULL;
modelica_metatype _a_context = NULL;
modelica_metatype _a_preExp = NULL;
modelica_metatype _a_varDecls = NULL;
modelica_metatype _a_auxFunction = NULL;
modelica_metatype _i_operator = NULL;
modelica_metatype _i_exp2 = NULL;
modelica_metatype _i_exp1 = NULL;
modelica_metatype _l_e2 = NULL;
modelica_metatype _l_e1 = NULL;
volatile mmc_switch_type tmp4;
int tmp5;
tmp4 = 0;
for (; tmp4 < 2; tmp4++) {
switch (MMC_SWITCH_CAST(tmp4)) {
case 0: {
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,9,3) == 0) goto tmp3_end;
tmpMeta[4] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
tmpMeta[5] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 3));
tmpMeta[6] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 4));
_i_exp1 = tmpMeta[4];
_i_operator = tmpMeta[5];
_i_exp2 = tmpMeta[6];
_txt = tmp4_1;
_a_context = tmp4_3;
_a_preExp = tmp4_4;
_a_varDecls = tmp4_5;
_a_auxFunction = tmp4_6;
_l_e1 = omc_CodegenCFunctions_daeExp(threadData, _OMC_LIT20, _i_exp1, _a_context, _a_preExp, _a_varDecls, _a_auxFunction ,&_a_preExp ,&_a_varDecls ,&_a_auxFunction);
_l_e2 = omc_CodegenCFunctions_daeExp(threadData, _OMC_LIT20, _i_exp2, _a_context, _a_preExp, _a_varDecls, _a_auxFunction ,&_a_preExp ,&_a_varDecls ,&_a_auxFunction);
_txt = omc_CodegenCFunctions_fun__846(threadData, _txt, _i_operator, _l_e2, _l_e1, _a_preExp, _a_varDecls ,&_a_preExp ,&_a_varDecls);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_preExp;
tmpMeta[0+2] = _a_varDecls;
tmpMeta[0+3] = _a_auxFunction;
goto tmp3_done;
}
case 1: {
_txt = tmp4_1;
_a_preExp = tmp4_4;
_a_varDecls = tmp4_5;
_a_auxFunction = tmp4_6;
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_preExp;
tmpMeta[0+2] = _a_varDecls;
tmpMeta[0+3] = _a_auxFunction;
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta[0+0];
_out_a_preExp = tmpMeta[0+1];
_out_a_varDecls = tmpMeta[0+2];
_out_a_auxFunction = tmpMeta[0+3];
_return: OMC_LABEL_UNUSED
if (out_out_a_preExp) { *out_out_a_preExp = _out_a_preExp; }
if (out_out_a_varDecls) { *out_out_a_varDecls = _out_a_varDecls; }
if (out_out_a_auxFunction) { *out_out_a_auxFunction = _out_a_auxFunction; }
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__846(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_operator, modelica_metatype _in_a_e2, modelica_metatype _in_a_e1, modelica_metatype _in_a_preExp, modelica_metatype _in_a_varDecls, modelica_metatype *out_out_a_preExp, modelica_metatype *out_out_a_varDecls)
{
modelica_metatype _out_txt = NULL;
modelica_metatype _out_a_preExp = NULL;
modelica_metatype _out_a_varDecls = NULL;
modelica_metatype tmpMeta[4] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_metatype tmp4_2;modelica_metatype tmp4_3;modelica_metatype tmp4_4;modelica_metatype tmp4_5;modelica_metatype tmp4_6;
tmp4_1 = _in_txt;
tmp4_2 = _in_a_operator;
tmp4_3 = _in_a_e2;
tmp4_4 = _in_a_e1;
tmp4_5 = _in_a_preExp;
tmp4_6 = _in_a_varDecls;
{
modelica_metatype _txt = NULL;
modelica_metatype _a_e2 = NULL;
modelica_metatype _a_e1 = NULL;
modelica_metatype _a_preExp = NULL;
modelica_metatype _a_varDecls = NULL;
modelica_metatype _l_var = NULL;
volatile mmc_switch_type tmp4;
int tmp5;
tmp4 = 0;
for (; tmp4 < 5; tmp4++) {
switch (MMC_SWITCH_CAST(tmp4)) {
case 0: {
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,22,1) == 0) goto tmp3_end;
tmpMeta[3] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[3],6,2) == 0) goto tmp3_end;
_txt = tmp4_1;
_a_e2 = tmp4_3;
_a_e1 = tmp4_4;
_a_preExp = tmp4_5;
_a_varDecls = tmp4_6;
_l_var = omc_CodegenCFunctions_tempDecl(threadData, _OMC_LIT20, _OMC_LIT1080, _a_varDecls ,&_a_varDecls);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT1086);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _a_e1);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT1084);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _a_e2);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT1084);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _l_var);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT290);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT89);
_txt = omc_Tpl_writeText(threadData, _txt, _l_var);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_preExp;
tmpMeta[0+2] = _a_varDecls;
goto tmp3_done;
}
case 1: {
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,22,1) == 0) goto tmp3_end;
_txt = tmp4_1;
_a_e2 = tmp4_3;
_a_e1 = tmp4_4;
_a_preExp = tmp4_5;
_a_varDecls = tmp4_6;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT68);
_txt = omc_Tpl_writeText(threadData, _txt, _a_e1);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT657);
_txt = omc_Tpl_writeText(threadData, _txt, _a_e2);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT78);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_preExp;
tmpMeta[0+2] = _a_varDecls;
goto tmp3_done;
}
case 2: {
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,23,1) == 0) goto tmp3_end;
tmpMeta[3] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[3],6,2) == 0) goto tmp3_end;
_txt = tmp4_1;
_a_e2 = tmp4_3;
_a_e1 = tmp4_4;
_a_preExp = tmp4_5;
_a_varDecls = tmp4_6;
_l_var = omc_CodegenCFunctions_tempDecl(threadData, _OMC_LIT20, _OMC_LIT1080, _a_varDecls ,&_a_varDecls);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT1088);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _a_e1);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT1084);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _a_e2);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT1084);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _l_var);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT290);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT89);
_txt = omc_Tpl_writeText(threadData, _txt, _l_var);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_preExp;
tmpMeta[0+2] = _a_varDecls;
goto tmp3_done;
}
case 3: {
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,23,1) == 0) goto tmp3_end;
_txt = tmp4_1;
_a_e2 = tmp4_3;
_a_e1 = tmp4_4;
_a_preExp = tmp4_5;
_a_varDecls = tmp4_6;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT68);
_txt = omc_Tpl_writeText(threadData, _txt, _a_e1);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1063);
_txt = omc_Tpl_writeText(threadData, _txt, _a_e2);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT78);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_preExp;
tmpMeta[0+2] = _a_varDecls;
goto tmp3_done;
}
case 4: {
_txt = tmp4_1;
_a_preExp = tmp4_5;
_a_varDecls = tmp4_6;
_txt = omc_CodegenUtil_error(threadData, _txt, omc_Tpl_sourceInfo(threadData, _OMC_LIT27, ((modelica_integer) 5707), ((modelica_integer) 14)), _OMC_LIT1089);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_preExp;
tmpMeta[0+2] = _a_varDecls;
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta[0+0];
_out_a_preExp = tmpMeta[0+1];
_out_a_varDecls = tmpMeta[0+2];
_return: OMC_LABEL_UNUSED
if (out_out_a_preExp) { *out_out_a_preExp = _out_a_preExp; }
if (out_out_a_varDecls) { *out_out_a_varDecls = _out_a_varDecls; }
return _out_txt;
}
DLLExport
modelica_metatype omc_CodegenCFunctions_daeExpUnary(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_exp, modelica_metatype _in_a_context, modelica_metatype _in_a_preExp, modelica_metatype _in_a_varDecls, modelica_metatype _in_a_auxFunction, modelica_metatype *out_out_a_preExp, modelica_metatype *out_out_a_varDecls, modelica_metatype *out_out_a_auxFunction)
{
modelica_metatype _out_txt = NULL;
modelica_metatype _out_a_preExp = NULL;
modelica_metatype _out_a_varDecls = NULL;
modelica_metatype _out_a_auxFunction = NULL;
modelica_metatype tmpMeta[6] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_metatype tmp4_2;modelica_metatype tmp4_3;modelica_metatype tmp4_4;modelica_metatype tmp4_5;modelica_metatype tmp4_6;
tmp4_1 = _in_txt;
tmp4_2 = _in_a_exp;
tmp4_3 = _in_a_context;
tmp4_4 = _in_a_preExp;
tmp4_5 = _in_a_varDecls;
tmp4_6 = _in_a_auxFunction;
{
modelica_metatype _txt = NULL;
modelica_metatype _a_context = NULL;
modelica_metatype _a_preExp = NULL;
modelica_metatype _a_varDecls = NULL;
modelica_metatype _a_auxFunction = NULL;
modelica_metatype _i_operator = NULL;
modelica_metatype _i_exp = NULL;
modelica_metatype _l_e = NULL;
volatile mmc_switch_type tmp4;
int tmp5;
tmp4 = 0;
for (; tmp4 < 2; tmp4++) {
switch (MMC_SWITCH_CAST(tmp4)) {
case 0: {
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,8,2) == 0) goto tmp3_end;
tmpMeta[4] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
tmpMeta[5] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 3));
_i_operator = tmpMeta[4];
_i_exp = tmpMeta[5];
_txt = tmp4_1;
_a_context = tmp4_3;
_a_preExp = tmp4_4;
_a_varDecls = tmp4_5;
_a_auxFunction = tmp4_6;
_l_e = omc_CodegenCFunctions_daeExp(threadData, _OMC_LIT20, _i_exp, _a_context, _a_preExp, _a_varDecls, _a_auxFunction ,&_a_preExp ,&_a_varDecls ,&_a_auxFunction);
_txt = omc_CodegenCFunctions_fun__844(threadData, _txt, _i_operator, _a_preExp, _a_varDecls, _l_e, _i_exp ,&_a_preExp ,&_a_varDecls);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_preExp;
tmpMeta[0+2] = _a_varDecls;
tmpMeta[0+3] = _a_auxFunction;
goto tmp3_done;
}
case 1: {
_txt = tmp4_1;
_a_preExp = tmp4_4;
_a_varDecls = tmp4_5;
_a_auxFunction = tmp4_6;
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_preExp;
tmpMeta[0+2] = _a_varDecls;
tmpMeta[0+3] = _a_auxFunction;
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta[0+0];
_out_a_preExp = tmpMeta[0+1];
_out_a_varDecls = tmpMeta[0+2];
_out_a_auxFunction = tmpMeta[0+3];
_return: OMC_LABEL_UNUSED
if (out_out_a_preExp) { *out_out_a_preExp = _out_a_preExp; }
if (out_out_a_varDecls) { *out_out_a_varDecls = _out_a_varDecls; }
if (out_out_a_auxFunction) { *out_out_a_auxFunction = _out_a_auxFunction; }
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__844(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_operator, modelica_metatype _in_a_preExp, modelica_metatype _in_a_varDecls, modelica_metatype _in_a_e, modelica_metatype _in_a_exp, modelica_metatype *out_out_a_preExp, modelica_metatype *out_out_a_varDecls)
{
modelica_metatype _out_txt = NULL;
modelica_metatype _out_a_preExp = NULL;
modelica_metatype _out_a_varDecls = NULL;
modelica_metatype tmpMeta[5] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_metatype tmp4_2;modelica_metatype tmp4_3;modelica_metatype tmp4_4;modelica_metatype tmp4_5;modelica_metatype tmp4_6;
tmp4_1 = _in_txt;
tmp4_2 = _in_a_operator;
tmp4_3 = _in_a_preExp;
tmp4_4 = _in_a_varDecls;
tmp4_5 = _in_a_e;
tmp4_6 = _in_a_exp;
{
modelica_metatype _txt = NULL;
modelica_metatype _a_preExp = NULL;
modelica_metatype _a_varDecls = NULL;
modelica_metatype _a_e = NULL;
modelica_metatype _a_exp = NULL;
modelica_metatype _l_var = NULL;
modelica_boolean _ret_0;
volatile mmc_switch_type tmp4;
int tmp5;
tmp4 = 0;
for (; tmp4 < 5; tmp4++) {
switch (MMC_SWITCH_CAST(tmp4)) {
case 0: {
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,5,1) == 0) goto tmp3_end;
_txt = tmp4_1;
_a_preExp = tmp4_3;
_a_varDecls = tmp4_4;
_a_e = tmp4_5;
_a_exp = tmp4_6;
_ret_0 = omc_Expression_isAtomic(threadData, _a_exp);
_txt = omc_CodegenCFunctions_fun__843(threadData, _txt, _ret_0, _a_e);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_preExp;
tmpMeta[0+2] = _a_varDecls;
goto tmp3_done;
}
case 1: {
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,6,1) == 0) goto tmp3_end;
tmpMeta[3] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[3],6,2) == 0) goto tmp3_end;
tmpMeta[4] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[3]), 2));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[4],1,1) == 0) goto tmp3_end;
_txt = tmp4_1;
_a_preExp = tmp4_3;
_a_varDecls = tmp4_4;
_a_e = tmp4_5;
_l_var = omc_CodegenCFunctions_tempDecl(threadData, _OMC_LIT20, _OMC_LIT1090, _a_varDecls ,&_a_varDecls);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT1092);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _a_e);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT1084);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _l_var);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT290);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT89);
_txt = omc_Tpl_writeText(threadData, _txt, _l_var);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_preExp;
tmpMeta[0+2] = _a_varDecls;
goto tmp3_done;
}
case 2: {
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,6,1) == 0) goto tmp3_end;
tmpMeta[3] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[3],6,2) == 0) goto tmp3_end;
tmpMeta[4] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[3]), 2));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[4],0,1) == 0) goto tmp3_end;
_txt = tmp4_1;
_a_preExp = tmp4_3;
_a_varDecls = tmp4_4;
_a_e = tmp4_5;
_l_var = omc_CodegenCFunctions_tempDecl(threadData, _OMC_LIT20, _OMC_LIT452, _a_varDecls ,&_a_varDecls);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT1094);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _a_e);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT1084);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _l_var);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT290);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT89);
_txt = omc_Tpl_writeText(threadData, _txt, _l_var);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_preExp;
tmpMeta[0+2] = _a_varDecls;
goto tmp3_done;
}
case 3: {
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,6,1) == 0) goto tmp3_end;
_txt = tmp4_1;
_a_preExp = tmp4_3;
_a_varDecls = tmp4_4;
_txt = omc_CodegenUtil_error(threadData, _txt, omc_Tpl_sourceInfo(threadData, _OMC_LIT27, ((modelica_integer) 5681), ((modelica_integer) 34)), _OMC_LIT1095);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_preExp;
tmpMeta[0+2] = _a_varDecls;
goto tmp3_done;
}
case 4: {
_txt = tmp4_1;
_a_preExp = tmp4_3;
_a_varDecls = tmp4_4;
_txt = omc_CodegenUtil_error(threadData, _txt, omc_Tpl_sourceInfo(threadData, _OMC_LIT27, ((modelica_integer) 5682), ((modelica_integer) 14)), _OMC_LIT1096);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_preExp;
tmpMeta[0+2] = _a_varDecls;
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta[0+0];
_out_a_preExp = tmpMeta[0+1];
_out_a_varDecls = tmpMeta[0+2];
_return: OMC_LABEL_UNUSED
if (out_out_a_preExp) { *out_out_a_preExp = _out_a_preExp; }
if (out_out_a_varDecls) { *out_out_a_varDecls = _out_a_varDecls; }
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__843(threadData_t *threadData, modelica_metatype _in_txt, modelica_boolean _in_mArg, modelica_metatype _in_a_e)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta[1] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp3_1;modelica_boolean tmp3_2;modelica_metatype tmp3_3;
tmp3_1 = _in_txt;
tmp3_2 = _in_mArg;
tmp3_3 = _in_a_e;
{
modelica_metatype _txt = NULL;
modelica_metatype _a_e = NULL;
volatile mmc_switch_type tmp3;
int tmp4;
tmp3 = 0;
for (; tmp3 < 2; tmp3++) {
switch (MMC_SWITCH_CAST(tmp3)) {
case 0: {
if (0 != tmp3_2) goto tmp2_end;
_txt = tmp3_1;
_a_e = tmp3_3;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1098);
_txt = omc_Tpl_writeText(threadData, _txt, _a_e);
tmpMeta[0] = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT600);
goto tmp2_done;
}
case 1: {
_txt = tmp3_1;
_a_e = tmp3_3;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1100);
_txt = omc_Tpl_writeText(threadData, _txt, _a_e);
tmpMeta[0] = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT78);
goto tmp2_done;
}
}
goto tmp2_end;
tmp2_end: ;
}
goto goto_1;
goto_1:;
MMC_THROW_INTERNAL();
goto tmp2_done;
tmp2_done:;
}
}
_out_txt = tmpMeta[0];
_return: OMC_LABEL_UNUSED
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__843(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_mArg, modelica_metatype _in_a_e)
{
modelica_integer tmp1;
modelica_metatype _out_txt = NULL;
tmp1 = mmc_unbox_integer(_in_mArg);
_out_txt = omc_CodegenCFunctions_fun__843(threadData, _in_txt, tmp1, _in_a_e);
return _out_txt;
}
DLLExport
modelica_metatype omc_CodegenCFunctions_daeExpBinary(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_exp, modelica_metatype _in_a_context, modelica_metatype _in_a_preExp, modelica_metatype _in_a_varDecls, modelica_metatype _in_a_auxFunction, modelica_metatype *out_out_a_preExp, modelica_metatype *out_out_a_varDecls, modelica_metatype *out_out_a_auxFunction)
{
modelica_metatype _out_txt = NULL;
modelica_metatype _out_a_preExp = NULL;
modelica_metatype _out_a_varDecls = NULL;
modelica_metatype _out_a_auxFunction = NULL;
modelica_metatype tmpMeta[7] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_metatype tmp4_2;modelica_metatype tmp4_3;modelica_metatype tmp4_4;modelica_metatype tmp4_5;modelica_metatype tmp4_6;
tmp4_1 = _in_txt;
tmp4_2 = _in_a_exp;
tmp4_3 = _in_a_context;
tmp4_4 = _in_a_preExp;
tmp4_5 = _in_a_varDecls;
tmp4_6 = _in_a_auxFunction;
{
modelica_metatype _txt = NULL;
modelica_metatype _a_context = NULL;
modelica_metatype _a_preExp = NULL;
modelica_metatype _a_varDecls = NULL;
modelica_metatype _a_auxFunction = NULL;
modelica_metatype _i_exp = NULL;
modelica_metatype _i_operator = NULL;
modelica_metatype _i_exp2 = NULL;
modelica_metatype _i_exp1 = NULL;
modelica_metatype _l_e2 = NULL;
modelica_metatype _l_e1 = NULL;
volatile mmc_switch_type tmp4;
int tmp5;
tmp4 = 0;
for (; tmp4 < 2; tmp4++) {
switch (MMC_SWITCH_CAST(tmp4)) {
case 0: {
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,7,3) == 0) goto tmp3_end;
tmpMeta[4] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
tmpMeta[5] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 3));
tmpMeta[6] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 4));
_i_exp = tmp4_2;
_i_exp1 = tmpMeta[4];
_i_operator = tmpMeta[5];
_i_exp2 = tmpMeta[6];
_txt = tmp4_1;
_a_context = tmp4_3;
_a_preExp = tmp4_4;
_a_varDecls = tmp4_5;
_a_auxFunction = tmp4_6;
_l_e1 = omc_CodegenCFunctions_daeExp(threadData, _OMC_LIT20, _i_exp1, _a_context, _a_preExp, _a_varDecls, _a_auxFunction ,&_a_preExp ,&_a_varDecls ,&_a_auxFunction);
_l_e2 = omc_CodegenCFunctions_daeExp(threadData, _OMC_LIT20, _i_exp2, _a_context, _a_preExp, _a_varDecls, _a_auxFunction ,&_a_preExp ,&_a_varDecls ,&_a_auxFunction);
_txt = omc_CodegenCFunctions_fun__841(threadData, _txt, _i_operator, _a_auxFunction, _i_exp, _i_exp1, _a_context, _i_exp2, _l_e2, _l_e1, _a_preExp, _a_varDecls ,&_a_auxFunction ,&_a_preExp ,&_a_varDecls);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_preExp;
tmpMeta[0+2] = _a_varDecls;
tmpMeta[0+3] = _a_auxFunction;
goto tmp3_done;
}
case 1: {
_txt = tmp4_1;
_a_preExp = tmp4_4;
_a_varDecls = tmp4_5;
_a_auxFunction = tmp4_6;
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_preExp;
tmpMeta[0+2] = _a_varDecls;
tmpMeta[0+3] = _a_auxFunction;
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta[0+0];
_out_a_preExp = tmpMeta[0+1];
_out_a_varDecls = tmpMeta[0+2];
_out_a_auxFunction = tmpMeta[0+3];
_return: OMC_LABEL_UNUSED
if (out_out_a_preExp) { *out_out_a_preExp = _out_a_preExp; }
if (out_out_a_varDecls) { *out_out_a_varDecls = _out_a_varDecls; }
if (out_out_a_auxFunction) { *out_out_a_auxFunction = _out_a_auxFunction; }
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__841(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_operator, modelica_metatype _in_a_auxFunction, modelica_metatype _in_a_exp, modelica_metatype _in_a_exp1, modelica_metatype _in_a_context, modelica_metatype _in_a_exp2, modelica_metatype _in_a_e2, modelica_metatype _in_a_e1, modelica_metatype _in_a_preExp, modelica_metatype _in_a_varDecls, modelica_metatype *out_out_a_auxFunction, modelica_metatype *out_out_a_preExp, modelica_metatype *out_out_a_varDecls)
{
modelica_metatype _out_txt = NULL;
modelica_metatype _out_a_auxFunction = NULL;
modelica_metatype _out_a_preExp = NULL;
modelica_metatype _out_a_varDecls = NULL;
modelica_metatype tmpMeta[5] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_metatype tmp4_2;modelica_metatype tmp4_3;modelica_metatype tmp4_4;modelica_metatype tmp4_5;modelica_metatype tmp4_6;modelica_metatype tmp4_7;modelica_metatype tmp4_8;modelica_metatype tmp4_9;modelica_metatype tmp4_10;modelica_metatype tmp4_11;
tmp4_1 = _in_txt;
tmp4_2 = _in_a_operator;
tmp4_3 = _in_a_auxFunction;
tmp4_4 = _in_a_exp;
tmp4_5 = _in_a_exp1;
tmp4_6 = _in_a_context;
tmp4_7 = _in_a_exp2;
tmp4_8 = _in_a_e2;
tmp4_9 = _in_a_e1;
tmp4_10 = _in_a_preExp;
tmp4_11 = _in_a_varDecls;
{
modelica_metatype _txt = NULL;
modelica_metatype _a_auxFunction = NULL;
modelica_metatype _a_exp = NULL;
modelica_metatype _a_exp1 = NULL;
modelica_metatype _a_context = NULL;
modelica_metatype _a_exp2 = NULL;
modelica_metatype _a_e2 = NULL;
modelica_metatype _a_e1 = NULL;
modelica_metatype _a_preExp = NULL;
modelica_metatype _a_varDecls = NULL;
modelica_metatype _i_ty = NULL;
modelica_string _ret_11 = NULL;
modelica_metatype _txt_10 = NULL;
modelica_metatype _l_e2str = NULL;
modelica_metatype _l_typeShort = NULL;
modelica_boolean _ret_7;
modelica_metatype _ret_6 = NULL;
modelica_boolean _ret_5;
modelica_metatype _ret_4 = NULL;
modelica_metatype _l_type = NULL;
modelica_boolean _ret_2;
modelica_boolean _ret_1;
modelica_metatype _l_tmpStr = NULL;
volatile mmc_switch_type tmp4;
int tmp5;
tmp4 = 0;
for (; tmp4 < 24; tmp4++) {
switch (MMC_SWITCH_CAST(tmp4)) {
case 0: {
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,0,1) == 0) goto tmp3_end;
tmpMeta[4] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[4],2,1) == 0) goto tmp3_end;
_txt = tmp4_1;
_a_auxFunction = tmp4_3;
_a_e2 = tmp4_8;
_a_e1 = tmp4_9;
_a_preExp = tmp4_10;
_a_varDecls = tmp4_11;
_l_tmpStr = omc_CodegenCFunctions_tempDecl(threadData, _OMC_LIT20, _OMC_LIT311, _a_varDecls ,&_a_varDecls);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _l_tmpStr);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT1102);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _a_e1);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT226);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _a_e2);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT290);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT89);
_txt = omc_Tpl_writeText(threadData, _txt, _l_tmpStr);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_auxFunction;
tmpMeta[0+2] = _a_preExp;
tmpMeta[0+3] = _a_varDecls;
goto tmp3_done;
}
case 1: {
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,0,1) == 0) goto tmp3_end;
_txt = tmp4_1;
_a_auxFunction = tmp4_3;
_a_e2 = tmp4_8;
_a_e1 = tmp4_9;
_a_preExp = tmp4_10;
_a_varDecls = tmp4_11;
_txt = omc_Tpl_writeText(threadData, _txt, _a_e1);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT480);
_txt = omc_Tpl_writeText(threadData, _txt, _a_e2);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_auxFunction;
tmpMeta[0+2] = _a_preExp;
tmpMeta[0+3] = _a_varDecls;
goto tmp3_done;
}
case 2: {
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,1,1) == 0) goto tmp3_end;
_txt = tmp4_1;
_a_auxFunction = tmp4_3;
_a_exp2 = tmp4_7;
_a_e2 = tmp4_8;
_a_e1 = tmp4_9;
_a_preExp = tmp4_10;
_a_varDecls = tmp4_11;
_ret_1 = omc_Expression_isAtomic(threadData, _a_exp2);
_txt = omc_CodegenCFunctions_fun__819(threadData, _txt, _ret_1, _a_e2, _a_e1);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_auxFunction;
tmpMeta[0+2] = _a_preExp;
tmpMeta[0+3] = _a_varDecls;
goto tmp3_done;
}
case 3: {
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,2,1) == 0) goto tmp3_end;
_txt = tmp4_1;
_a_auxFunction = tmp4_3;
_a_e2 = tmp4_8;
_a_e1 = tmp4_9;
_a_preExp = tmp4_10;
_a_varDecls = tmp4_11;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT68);
_txt = omc_Tpl_writeText(threadData, _txt, _a_e1);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1104);
_txt = omc_Tpl_writeText(threadData, _txt, _a_e2);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT78);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_auxFunction;
tmpMeta[0+2] = _a_preExp;
tmpMeta[0+3] = _a_varDecls;
goto tmp3_done;
}
case 4: {
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,3,1) == 0) goto tmp3_end;
tmpMeta[4] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
_i_ty = tmpMeta[4];
_txt = tmp4_1;
_a_auxFunction = tmp4_3;
_a_context = tmp4_6;
_a_exp2 = tmp4_7;
_a_e2 = tmp4_8;
_a_e1 = tmp4_9;
_a_preExp = tmp4_10;
_a_varDecls = tmp4_11;
_txt = omc_CodegenCFunctions_fun__821(threadData, _txt, _a_context, _a_exp2, _a_e1, _a_e2, _a_preExp, _a_varDecls, _i_ty ,&_a_preExp ,&_a_varDecls);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_auxFunction;
tmpMeta[0+2] = _a_preExp;
tmpMeta[0+3] = _a_varDecls;
goto tmp3_done;
}
case 5: {
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,4,1) == 0) goto tmp3_end;
_txt = tmp4_1;
_a_auxFunction = tmp4_3;
_a_exp1 = tmp4_5;
_a_context = tmp4_6;
_a_exp2 = tmp4_7;
_a_e2 = tmp4_8;
_a_e1 = tmp4_9;
_a_preExp = tmp4_10;
_a_varDecls = tmp4_11;
_ret_2 = omc_Expression_isHalf(threadData, _a_exp2);
_txt = omc_CodegenCFunctions_fun__825(threadData, _txt, _ret_2, _a_context, _a_exp1, _a_e2, _a_e1, _a_preExp, _a_varDecls, _a_exp2 ,&_a_preExp ,&_a_varDecls);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_auxFunction;
tmpMeta[0+2] = _a_preExp;
tmpMeta[0+3] = _a_varDecls;
goto tmp3_done;
}
case 6: {
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,5,1) == 0) goto tmp3_end;
_txt = tmp4_1;
_a_auxFunction = tmp4_3;
_a_exp = tmp4_4;
_a_context = tmp4_6;
_a_preExp = tmp4_10;
_a_varDecls = tmp4_11;
_txt = omc_CodegenCFunctions_daeExpUnary(threadData, _txt, _a_exp, _a_context, _a_preExp, _a_varDecls, _a_auxFunction ,&_a_preExp ,&_a_varDecls ,&_a_auxFunction);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_auxFunction;
tmpMeta[0+2] = _a_preExp;
tmpMeta[0+3] = _a_varDecls;
goto tmp3_done;
}
case 7: {
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,7,1) == 0) goto tmp3_end;
tmpMeta[4] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
_i_ty = tmpMeta[4];
_txt = tmp4_1;
_a_auxFunction = tmp4_3;
_a_e2 = tmp4_8;
_a_e1 = tmp4_9;
_a_preExp = tmp4_10;
_a_varDecls = tmp4_11;
_l_type = omc_CodegenCFunctions_fun__826(threadData, _OMC_LIT20, _i_ty);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1106);
_txt = omc_Tpl_writeText(threadData, _txt, _l_type);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT68);
_txt = omc_Tpl_writeText(threadData, _txt, _a_e1);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT292);
_txt = omc_Tpl_writeText(threadData, _txt, _a_e2);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT78);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_auxFunction;
tmpMeta[0+2] = _a_preExp;
tmpMeta[0+3] = _a_varDecls;
goto tmp3_done;
}
case 8: {
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,8,1) == 0) goto tmp3_end;
tmpMeta[4] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
_i_ty = tmpMeta[4];
_txt = tmp4_1;
_a_auxFunction = tmp4_3;
_a_e2 = tmp4_8;
_a_e1 = tmp4_9;
_a_preExp = tmp4_10;
_a_varDecls = tmp4_11;
_l_type = omc_CodegenCFunctions_fun__827(threadData, _OMC_LIT20, _i_ty);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1108);
_txt = omc_Tpl_writeText(threadData, _txt, _l_type);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT68);
_txt = omc_Tpl_writeText(threadData, _txt, _a_e1);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT292);
_txt = omc_Tpl_writeText(threadData, _txt, _a_e2);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT78);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_auxFunction;
tmpMeta[0+2] = _a_preExp;
tmpMeta[0+3] = _a_varDecls;
goto tmp3_done;
}
case 9: {
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,9,1) == 0) goto tmp3_end;
tmpMeta[4] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
_i_ty = tmpMeta[4];
_txt = tmp4_1;
_a_auxFunction = tmp4_3;
_a_e2 = tmp4_8;
_a_e1 = tmp4_9;
_a_preExp = tmp4_10;
_a_varDecls = tmp4_11;
_l_type = omc_CodegenCFunctions_fun__828(threadData, _OMC_LIT20, _i_ty);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1110);
_txt = omc_Tpl_writeText(threadData, _txt, _l_type);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT68);
_txt = omc_Tpl_writeText(threadData, _txt, _a_e1);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT292);
_txt = omc_Tpl_writeText(threadData, _txt, _a_e2);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT78);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_auxFunction;
tmpMeta[0+2] = _a_preExp;
tmpMeta[0+3] = _a_varDecls;
goto tmp3_done;
}
case 10: {
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,10,1) == 0) goto tmp3_end;
tmpMeta[4] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
_i_ty = tmpMeta[4];
_txt = tmp4_1;
_a_auxFunction = tmp4_3;
_a_e2 = tmp4_8;
_a_e1 = tmp4_9;
_a_preExp = tmp4_10;
_a_varDecls = tmp4_11;
_l_type = omc_CodegenCFunctions_fun__829(threadData, _OMC_LIT20, _i_ty);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1112);
_txt = omc_Tpl_writeText(threadData, _txt, _l_type);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT68);
_txt = omc_Tpl_writeText(threadData, _txt, _a_e1);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT292);
_txt = omc_Tpl_writeText(threadData, _txt, _a_e2);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT78);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_auxFunction;
tmpMeta[0+2] = _a_preExp;
tmpMeta[0+3] = _a_varDecls;
goto tmp3_done;
}
case 11: {
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,11,1) == 0) goto tmp3_end;
tmpMeta[4] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
_i_ty = tmpMeta[4];
_txt = tmp4_1;
_a_auxFunction = tmp4_3;
_a_exp1 = tmp4_5;
_a_e2 = tmp4_8;
_a_e1 = tmp4_9;
_a_preExp = tmp4_10;
_a_varDecls = tmp4_11;
_l_type = omc_CodegenCFunctions_fun__830(threadData, _OMC_LIT20, _i_ty);
_ret_4 = omc_Expression_typeof(threadData, _a_exp1);
_ret_5 = omc_Expression_isArrayType(threadData, _ret_4);
_txt = omc_CodegenCFunctions_fun__831(threadData, _txt, _ret_5, _a_e1, _a_e2, _l_type);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_auxFunction;
tmpMeta[0+2] = _a_preExp;
tmpMeta[0+3] = _a_varDecls;
goto tmp3_done;
}
case 12: {
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,12,1) == 0) goto tmp3_end;
tmpMeta[4] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
_i_ty = tmpMeta[4];
_txt = tmp4_1;
_a_auxFunction = tmp4_3;
_a_exp1 = tmp4_5;
_a_e2 = tmp4_8;
_a_e1 = tmp4_9;
_a_preExp = tmp4_10;
_a_varDecls = tmp4_11;
_l_type = omc_CodegenCFunctions_fun__832(threadData, _OMC_LIT20, _i_ty);
_ret_6 = omc_Expression_typeof(threadData, _a_exp1);
_ret_7 = omc_Expression_isArrayType(threadData, _ret_6);
_txt = omc_CodegenCFunctions_fun__833(threadData, _txt, _ret_7, _a_e1, _a_e2, _l_type);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_auxFunction;
tmpMeta[0+2] = _a_preExp;
tmpMeta[0+3] = _a_varDecls;
goto tmp3_done;
}
case 13: {
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,13,1) == 0) goto tmp3_end;
tmpMeta[4] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
_i_ty = tmpMeta[4];
_txt = tmp4_1;
_a_auxFunction = tmp4_3;
_a_e2 = tmp4_8;
_a_e1 = tmp4_9;
_a_preExp = tmp4_10;
_a_varDecls = tmp4_11;
_l_type = omc_CodegenCFunctions_fun__834(threadData, _OMC_LIT20, _i_ty);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1114);
_txt = omc_Tpl_writeText(threadData, _txt, _l_type);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT68);
_txt = omc_Tpl_writeText(threadData, _txt, _a_e1);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT292);
_txt = omc_Tpl_writeText(threadData, _txt, _a_e2);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT78);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_auxFunction;
tmpMeta[0+2] = _a_preExp;
tmpMeta[0+3] = _a_varDecls;
goto tmp3_done;
}
case 14: {
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,14,1) == 0) goto tmp3_end;
tmpMeta[4] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
_i_ty = tmpMeta[4];
_txt = tmp4_1;
_a_auxFunction = tmp4_3;
_a_e2 = tmp4_8;
_a_e1 = tmp4_9;
_a_preExp = tmp4_10;
_a_varDecls = tmp4_11;
_l_type = omc_CodegenCFunctions_fun__835(threadData, _OMC_LIT20, _i_ty);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1116);
_txt = omc_Tpl_writeText(threadData, _txt, _l_type);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1118);
_txt = omc_Tpl_writeText(threadData, _txt, _a_e1);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT292);
_txt = omc_Tpl_writeText(threadData, _txt, _a_e2);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT78);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_auxFunction;
tmpMeta[0+2] = _a_preExp;
tmpMeta[0+3] = _a_varDecls;
goto tmp3_done;
}
case 15: {
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,15,1) == 0) goto tmp3_end;
tmpMeta[4] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
_i_ty = tmpMeta[4];
_txt = tmp4_1;
_a_auxFunction = tmp4_3;
_a_e2 = tmp4_8;
_a_e1 = tmp4_9;
_a_preExp = tmp4_10;
_a_varDecls = tmp4_11;
_l_typeShort = omc_CodegenCFunctions_fun__836(threadData, _OMC_LIT20, _i_ty);
_l_type = omc_Tpl_writeText(threadData, _OMC_LIT20, _l_typeShort);
_l_type = omc_Tpl_writeTok(threadData, _l_type, _OMC_LIT1120);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1110);
_txt = omc_Tpl_writeText(threadData, _txt, _l_typeShort);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1122);
_txt = omc_Tpl_writeText(threadData, _txt, _a_e1);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT292);
_txt = omc_Tpl_writeText(threadData, _txt, _a_e2);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT78);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_auxFunction;
tmpMeta[0+2] = _a_preExp;
tmpMeta[0+3] = _a_varDecls;
goto tmp3_done;
}
case 16: {
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,16,1) == 0) goto tmp3_end;
tmpMeta[4] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
_i_ty = tmpMeta[4];
_txt = tmp4_1;
_a_auxFunction = tmp4_3;
_a_context = tmp4_6;
_a_exp2 = tmp4_7;
_a_e2 = tmp4_8;
_a_e1 = tmp4_9;
_a_preExp = tmp4_10;
_a_varDecls = tmp4_11;
_l_type = omc_CodegenCFunctions_fun__837(threadData, _OMC_LIT20, _i_ty);
_txt_10 = omc_ExpressionDumpTpl_dumpExp(threadData, _OMC_LIT20, _a_exp2, _OMC_LIT231);
_ret_11 = omc_Util_escapeModelicaStringToCString(threadData, omc_Tpl_textString(threadData, _txt_10));
_l_e2str = omc_Tpl_writeStr(threadData, _OMC_LIT20, _ret_11);
_txt = omc_CodegenCFunctions_fun__838(threadData, _txt, _a_context, _l_e2str, _a_e2, _a_e1, _l_type);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_auxFunction;
tmpMeta[0+2] = _a_preExp;
tmpMeta[0+3] = _a_varDecls;
goto tmp3_done;
}
case 17: {
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,17,1) == 0) goto tmp3_end;
tmpMeta[4] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
_i_ty = tmpMeta[4];
_txt = tmp4_1;
_a_auxFunction = tmp4_3;
_a_e2 = tmp4_8;
_a_e1 = tmp4_9;
_a_preExp = tmp4_10;
_a_varDecls = tmp4_11;
_l_type = omc_CodegenCFunctions_fun__839(threadData, _OMC_LIT20, _i_ty);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1124);
_txt = omc_Tpl_writeText(threadData, _txt, _l_type);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT68);
_txt = omc_Tpl_writeText(threadData, _txt, _a_e1);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT292);
_txt = omc_Tpl_writeText(threadData, _txt, _a_e2);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT78);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_auxFunction;
tmpMeta[0+2] = _a_preExp;
tmpMeta[0+3] = _a_varDecls;
goto tmp3_done;
}
case 18: {
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,18,1) == 0) goto tmp3_end;
tmpMeta[4] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
_i_ty = tmpMeta[4];
_txt = tmp4_1;
_a_auxFunction = tmp4_3;
_a_e2 = tmp4_8;
_a_e1 = tmp4_9;
_a_preExp = tmp4_10;
_a_varDecls = tmp4_11;
_l_type = omc_CodegenCFunctions_fun__840(threadData, _OMC_LIT20, _i_ty);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1126);
_txt = omc_Tpl_writeText(threadData, _txt, _l_type);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1128);
_txt = omc_Tpl_writeText(threadData, _txt, _a_e1);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT292);
_txt = omc_Tpl_writeText(threadData, _txt, _a_e2);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT78);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_auxFunction;
tmpMeta[0+2] = _a_preExp;
tmpMeta[0+3] = _a_varDecls;
goto tmp3_done;
}
case 19: {
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,18,1) == 0) goto tmp3_end;
_txt = tmp4_1;
_a_auxFunction = tmp4_3;
_a_preExp = tmp4_10;
_a_varDecls = tmp4_11;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1130);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_auxFunction;
tmpMeta[0+2] = _a_preExp;
tmpMeta[0+3] = _a_varDecls;
goto tmp3_done;
}
case 20: {
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,19,1) == 0) goto tmp3_end;
_txt = tmp4_1;
_a_auxFunction = tmp4_3;
_a_preExp = tmp4_10;
_a_varDecls = tmp4_11;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1132);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_auxFunction;
tmpMeta[0+2] = _a_preExp;
tmpMeta[0+3] = _a_varDecls;
goto tmp3_done;
}
case 21: {
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,20,1) == 0) goto tmp3_end;
_txt = tmp4_1;
_a_auxFunction = tmp4_3;
_a_preExp = tmp4_10;
_a_varDecls = tmp4_11;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1134);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_auxFunction;
tmpMeta[0+2] = _a_preExp;
tmpMeta[0+3] = _a_varDecls;
goto tmp3_done;
}
case 22: {
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,21,1) == 0) goto tmp3_end;
_txt = tmp4_1;
_a_auxFunction = tmp4_3;
_a_preExp = tmp4_10;
_a_varDecls = tmp4_11;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1136);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_auxFunction;
tmpMeta[0+2] = _a_preExp;
tmpMeta[0+3] = _a_varDecls;
goto tmp3_done;
}
case 23: {
_txt = tmp4_1;
_a_auxFunction = tmp4_3;
_a_preExp = tmp4_10;
_a_varDecls = tmp4_11;
_txt = omc_CodegenUtil_error(threadData, _txt, omc_Tpl_sourceInfo(threadData, _OMC_LIT27, ((modelica_integer) 5657), ((modelica_integer) 14)), _OMC_LIT1137);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_auxFunction;
tmpMeta[0+2] = _a_preExp;
tmpMeta[0+3] = _a_varDecls;
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta[0+0];
_out_a_auxFunction = tmpMeta[0+1];
_out_a_preExp = tmpMeta[0+2];
_out_a_varDecls = tmpMeta[0+3];
_return: OMC_LABEL_UNUSED
if (out_out_a_auxFunction) { *out_out_a_auxFunction = _out_a_auxFunction; }
if (out_out_a_preExp) { *out_out_a_preExp = _out_a_preExp; }
if (out_out_a_varDecls) { *out_out_a_varDecls = _out_a_varDecls; }
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__840(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_ty)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta[2] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp3_1;modelica_metatype tmp3_2;
tmp3_1 = _in_txt;
tmp3_2 = _in_a_ty;
{
modelica_metatype _txt = NULL;
volatile mmc_switch_type tmp3;
int tmp4;
tmp3 = 0;
for (; tmp3 < 3; tmp3++) {
switch (MMC_SWITCH_CAST(tmp3)) {
case 0: {
if (mmc__uniontype__metarecord__typedef__equal(tmp3_2,6,2) == 0) goto tmp2_end;
tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_2), 2));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[1],0,1) == 0) goto tmp2_end;
_txt = tmp3_1;
tmpMeta[0] = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1138);
goto tmp2_done;
}
case 1: {
if (mmc__uniontype__metarecord__typedef__equal(tmp3_2,6,2) == 0) goto tmp2_end;
tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_2), 2));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[1],5,5) == 0) goto tmp2_end;
_txt = tmp3_1;
tmpMeta[0] = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1138);
goto tmp2_done;
}
case 2: {
_txt = tmp3_1;
tmpMeta[0] = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1139);
goto tmp2_done;
}
}
goto tmp2_end;
tmp2_end: ;
}
goto goto_1;
goto_1:;
MMC_THROW_INTERNAL();
goto tmp2_done;
tmp2_done:;
}
}
_out_txt = tmpMeta[0];
_return: OMC_LABEL_UNUSED
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__839(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_ty)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta[2] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp3_1;modelica_metatype tmp3_2;
tmp3_1 = _in_txt;
tmp3_2 = _in_a_ty;
{
modelica_metatype _txt = NULL;
volatile mmc_switch_type tmp3;
int tmp4;
tmp3 = 0;
for (; tmp3 < 3; tmp3++) {
switch (MMC_SWITCH_CAST(tmp3)) {
case 0: {
if (mmc__uniontype__metarecord__typedef__equal(tmp3_2,6,2) == 0) goto tmp2_end;
tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_2), 2));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[1],0,1) == 0) goto tmp2_end;
_txt = tmp3_1;
tmpMeta[0] = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1138);
goto tmp2_done;
}
case 1: {
if (mmc__uniontype__metarecord__typedef__equal(tmp3_2,6,2) == 0) goto tmp2_end;
tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_2), 2));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[1],5,5) == 0) goto tmp2_end;
_txt = tmp3_1;
tmpMeta[0] = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1138);
goto tmp2_done;
}
case 2: {
_txt = tmp3_1;
tmpMeta[0] = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1139);
goto tmp2_done;
}
}
goto tmp2_end;
tmp2_end: ;
}
goto goto_1;
goto_1:;
MMC_THROW_INTERNAL();
goto tmp2_done;
tmp2_done:;
}
}
_out_txt = tmpMeta[0];
_return: OMC_LABEL_UNUSED
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__838(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_context, modelica_metatype _in_a_e2str, modelica_metatype _in_a_e2, modelica_metatype _in_a_e1, modelica_metatype _in_a_type)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta[1] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp3_1;modelica_metatype tmp3_2;modelica_metatype tmp3_3;modelica_metatype tmp3_4;modelica_metatype tmp3_5;modelica_metatype tmp3_6;
tmp3_1 = _in_txt;
tmp3_2 = _in_a_context;
tmp3_3 = _in_a_e2str;
tmp3_4 = _in_a_e2;
tmp3_5 = _in_a_e1;
tmp3_6 = _in_a_type;
{
modelica_metatype _txt = NULL;
modelica_metatype _a_e2str = NULL;
modelica_metatype _a_e2 = NULL;
modelica_metatype _a_e1 = NULL;
modelica_metatype _a_type = NULL;
volatile mmc_switch_type tmp3;
int tmp4;
tmp3 = 0;
for (; tmp3 < 2; tmp3++) {
switch (MMC_SWITCH_CAST(tmp3)) {
case 0: {
if (mmc__uniontype__metarecord__typedef__equal(tmp3_2,1,2) == 0) goto tmp2_end;
_txt = tmp3_1;
_a_e2 = tmp3_4;
_a_e1 = tmp3_5;
_a_type = tmp3_6;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1112);
_txt = omc_Tpl_writeText(threadData, _txt, _a_type);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1128);
_txt = omc_Tpl_writeText(threadData, _txt, _a_e1);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT292);
_txt = omc_Tpl_writeText(threadData, _txt, _a_e2);
tmpMeta[0] = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT78);
goto tmp2_done;
}
case 1: {
_txt = tmp3_1;
_a_e2str = tmp3_3;
_a_e2 = tmp3_4;
_a_e1 = tmp3_5;
_a_type = tmp3_6;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1141);
_txt = omc_Tpl_writeText(threadData, _txt, _a_type);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1143);
_txt = omc_Tpl_writeText(threadData, _txt, _a_e1);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT226);
_txt = omc_Tpl_writeText(threadData, _txt, _a_e2);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1145);
_txt = omc_Tpl_writeText(threadData, _txt, _a_e2str);
tmpMeta[0] = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1147);
goto tmp2_done;
}
}
goto tmp2_end;
tmp2_end: ;
}
goto goto_1;
goto_1:;
MMC_THROW_INTERNAL();
goto tmp2_done;
tmp2_done:;
}
}
_out_txt = tmpMeta[0];
_return: OMC_LABEL_UNUSED
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__837(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_ty)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta[2] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp3_1;modelica_metatype tmp3_2;
tmp3_1 = _in_txt;
tmp3_2 = _in_a_ty;
{
modelica_metatype _txt = NULL;
volatile mmc_switch_type tmp3;
int tmp4;
tmp3 = 0;
for (; tmp3 < 3; tmp3++) {
switch (MMC_SWITCH_CAST(tmp3)) {
case 0: {
if (mmc__uniontype__metarecord__typedef__equal(tmp3_2,6,2) == 0) goto tmp2_end;
tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_2), 2));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[1],0,1) == 0) goto tmp2_end;
_txt = tmp3_1;
tmpMeta[0] = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1138);
goto tmp2_done;
}
case 1: {
if (mmc__uniontype__metarecord__typedef__equal(tmp3_2,6,2) == 0) goto tmp2_end;
tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_2), 2));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[1],5,5) == 0) goto tmp2_end;
_txt = tmp3_1;
tmpMeta[0] = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1138);
goto tmp2_done;
}
case 2: {
_txt = tmp3_1;
tmpMeta[0] = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1139);
goto tmp2_done;
}
}
goto tmp2_end;
tmp2_end: ;
}
goto goto_1;
goto_1:;
MMC_THROW_INTERNAL();
goto tmp2_done;
tmp2_done:;
}
}
_out_txt = tmpMeta[0];
_return: OMC_LABEL_UNUSED
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__836(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_ty)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta[2] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp3_1;modelica_metatype tmp3_2;
tmp3_1 = _in_txt;
tmp3_2 = _in_a_ty;
{
modelica_metatype _txt = NULL;
volatile mmc_switch_type tmp3;
int tmp4;
tmp3 = 0;
for (; tmp3 < 3; tmp3++) {
switch (MMC_SWITCH_CAST(tmp3)) {
case 0: {
if (mmc__uniontype__metarecord__typedef__equal(tmp3_2,6,2) == 0) goto tmp2_end;
tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_2), 2));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[1],0,1) == 0) goto tmp2_end;
_txt = tmp3_1;
tmpMeta[0] = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1148);
goto tmp2_done;
}
case 1: {
if (mmc__uniontype__metarecord__typedef__equal(tmp3_2,6,2) == 0) goto tmp2_end;
tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_2), 2));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[1],5,5) == 0) goto tmp2_end;
_txt = tmp3_1;
tmpMeta[0] = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1148);
goto tmp2_done;
}
case 2: {
_txt = tmp3_1;
tmpMeta[0] = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1149);
goto tmp2_done;
}
}
goto tmp2_end;
tmp2_end: ;
}
goto goto_1;
goto_1:;
MMC_THROW_INTERNAL();
goto tmp2_done;
tmp2_done:;
}
}
_out_txt = tmpMeta[0];
_return: OMC_LABEL_UNUSED
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__835(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_ty)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta[2] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp3_1;modelica_metatype tmp3_2;
tmp3_1 = _in_txt;
tmp3_2 = _in_a_ty;
{
modelica_metatype _txt = NULL;
volatile mmc_switch_type tmp3;
int tmp4;
tmp3 = 0;
for (; tmp3 < 5; tmp3++) {
switch (MMC_SWITCH_CAST(tmp3)) {
case 0: {
if (mmc__uniontype__metarecord__typedef__equal(tmp3_2,6,2) == 0) goto tmp2_end;
tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_2), 2));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[1],0,1) == 0) goto tmp2_end;
_txt = tmp3_1;
tmpMeta[0] = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1151);
goto tmp2_done;
}
case 1: {
if (mmc__uniontype__metarecord__typedef__equal(tmp3_2,6,2) == 0) goto tmp2_end;
tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_2), 2));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[1],5,5) == 0) goto tmp2_end;
_txt = tmp3_1;
tmpMeta[0] = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1151);
goto tmp2_done;
}
case 2: {
if (mmc__uniontype__metarecord__typedef__equal(tmp3_2,0,1) == 0) goto tmp2_end;
_txt = tmp3_1;
tmpMeta[0] = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1151);
goto tmp2_done;
}
case 3: {
if (mmc__uniontype__metarecord__typedef__equal(tmp3_2,5,5) == 0) goto tmp2_end;
_txt = tmp3_1;
tmpMeta[0] = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1151);
goto tmp2_done;
}
case 4: {
_txt = tmp3_1;
tmpMeta[0] = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1153);
goto tmp2_done;
}
}
goto tmp2_end;
tmp2_end: ;
}
goto goto_1;
goto_1:;
MMC_THROW_INTERNAL();
goto tmp2_done;
tmp2_done:;
}
}
_out_txt = tmpMeta[0];
_return: OMC_LABEL_UNUSED
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__834(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_ty)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta[2] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp3_1;modelica_metatype tmp3_2;
tmp3_1 = _in_txt;
tmp3_2 = _in_a_ty;
{
modelica_metatype _txt = NULL;
volatile mmc_switch_type tmp3;
int tmp4;
tmp3 = 0;
for (; tmp3 < 3; tmp3++) {
switch (MMC_SWITCH_CAST(tmp3)) {
case 0: {
if (mmc__uniontype__metarecord__typedef__equal(tmp3_2,6,2) == 0) goto tmp2_end;
tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_2), 2));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[1],0,1) == 0) goto tmp2_end;
_txt = tmp3_1;
tmpMeta[0] = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1138);
goto tmp2_done;
}
case 1: {
if (mmc__uniontype__metarecord__typedef__equal(tmp3_2,6,2) == 0) goto tmp2_end;
tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_2), 2));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[1],5,5) == 0) goto tmp2_end;
_txt = tmp3_1;
tmpMeta[0] = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1138);
goto tmp2_done;
}
case 2: {
_txt = tmp3_1;
tmpMeta[0] = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1139);
goto tmp2_done;
}
}
goto tmp2_end;
tmp2_end: ;
}
goto goto_1;
goto_1:;
MMC_THROW_INTERNAL();
goto tmp2_done;
tmp2_done:;
}
}
_out_txt = tmpMeta[0];
_return: OMC_LABEL_UNUSED
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__833(threadData_t *threadData, modelica_metatype _in_txt, modelica_boolean _in_mArg, modelica_metatype _in_a_e1, modelica_metatype _in_a_e2, modelica_metatype _in_a_type)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta[1] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp3_1;modelica_boolean tmp3_2;modelica_metatype tmp3_3;modelica_metatype tmp3_4;modelica_metatype tmp3_5;
tmp3_1 = _in_txt;
tmp3_2 = _in_mArg;
tmp3_3 = _in_a_e1;
tmp3_4 = _in_a_e2;
tmp3_5 = _in_a_type;
{
modelica_metatype _txt = NULL;
modelica_metatype _a_e1 = NULL;
modelica_metatype _a_e2 = NULL;
modelica_metatype _a_type = NULL;
volatile mmc_switch_type tmp3;
int tmp4;
tmp3 = 0;
for (; tmp3 < 2; tmp3++) {
switch (MMC_SWITCH_CAST(tmp3)) {
case 0: {
if (0 != tmp3_2) goto tmp2_end;
_txt = tmp3_1;
_a_e1 = tmp3_3;
_a_e2 = tmp3_4;
_a_type = tmp3_5;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1106);
_txt = omc_Tpl_writeText(threadData, _txt, _a_type);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1128);
_txt = omc_Tpl_writeText(threadData, _txt, _a_e2);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT292);
_txt = omc_Tpl_writeText(threadData, _txt, _a_e1);
tmpMeta[0] = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT78);
goto tmp2_done;
}
case 1: {
_txt = tmp3_1;
_a_e1 = tmp3_3;
_a_e2 = tmp3_4;
_a_type = tmp3_5;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1106);
_txt = omc_Tpl_writeText(threadData, _txt, _a_type);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1128);
_txt = omc_Tpl_writeText(threadData, _txt, _a_e1);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT292);
_txt = omc_Tpl_writeText(threadData, _txt, _a_e2);
tmpMeta[0] = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT78);
goto tmp2_done;
}
}
goto tmp2_end;
tmp2_end: ;
}
goto goto_1;
goto_1:;
MMC_THROW_INTERNAL();
goto tmp2_done;
tmp2_done:;
}
}
_out_txt = tmpMeta[0];
_return: OMC_LABEL_UNUSED
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__833(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_mArg, modelica_metatype _in_a_e1, modelica_metatype _in_a_e2, modelica_metatype _in_a_type)
{
modelica_integer tmp1;
modelica_metatype _out_txt = NULL;
tmp1 = mmc_unbox_integer(_in_mArg);
_out_txt = omc_CodegenCFunctions_fun__833(threadData, _in_txt, tmp1, _in_a_e1, _in_a_e2, _in_a_type);
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__832(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_ty)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta[2] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp3_1;modelica_metatype tmp3_2;
tmp3_1 = _in_txt;
tmp3_2 = _in_a_ty;
{
modelica_metatype _txt = NULL;
volatile mmc_switch_type tmp3;
int tmp4;
tmp3 = 0;
for (; tmp3 < 3; tmp3++) {
switch (MMC_SWITCH_CAST(tmp3)) {
case 0: {
if (mmc__uniontype__metarecord__typedef__equal(tmp3_2,6,2) == 0) goto tmp2_end;
tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_2), 2));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[1],0,1) == 0) goto tmp2_end;
_txt = tmp3_1;
tmpMeta[0] = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1138);
goto tmp2_done;
}
case 1: {
if (mmc__uniontype__metarecord__typedef__equal(tmp3_2,6,2) == 0) goto tmp2_end;
tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_2), 2));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[1],5,5) == 0) goto tmp2_end;
_txt = tmp3_1;
tmpMeta[0] = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1138);
goto tmp2_done;
}
case 2: {
_txt = tmp3_1;
tmpMeta[0] = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1139);
goto tmp2_done;
}
}
goto tmp2_end;
tmp2_end: ;
}
goto goto_1;
goto_1:;
MMC_THROW_INTERNAL();
goto tmp2_done;
tmp2_done:;
}
}
_out_txt = tmpMeta[0];
_return: OMC_LABEL_UNUSED
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__831(threadData_t *threadData, modelica_metatype _in_txt, modelica_boolean _in_mArg, modelica_metatype _in_a_e1, modelica_metatype _in_a_e2, modelica_metatype _in_a_type)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta[1] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp3_1;modelica_boolean tmp3_2;modelica_metatype tmp3_3;modelica_metatype tmp3_4;modelica_metatype tmp3_5;
tmp3_1 = _in_txt;
tmp3_2 = _in_mArg;
tmp3_3 = _in_a_e1;
tmp3_4 = _in_a_e2;
tmp3_5 = _in_a_type;
{
modelica_metatype _txt = NULL;
modelica_metatype _a_e1 = NULL;
modelica_metatype _a_e2 = NULL;
modelica_metatype _a_type = NULL;
volatile mmc_switch_type tmp3;
int tmp4;
tmp3 = 0;
for (; tmp3 < 2; tmp3++) {
switch (MMC_SWITCH_CAST(tmp3)) {
case 0: {
if (0 != tmp3_2) goto tmp2_end;
_txt = tmp3_1;
_a_e1 = tmp3_3;
_a_e2 = tmp3_4;
_a_type = tmp3_5;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1110);
_txt = omc_Tpl_writeText(threadData, _txt, _a_type);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1128);
_txt = omc_Tpl_writeText(threadData, _txt, _a_e2);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT292);
_txt = omc_Tpl_writeText(threadData, _txt, _a_e1);
tmpMeta[0] = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT78);
goto tmp2_done;
}
case 1: {
_txt = tmp3_1;
_a_e1 = tmp3_3;
_a_e2 = tmp3_4;
_a_type = tmp3_5;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1110);
_txt = omc_Tpl_writeText(threadData, _txt, _a_type);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1128);
_txt = omc_Tpl_writeText(threadData, _txt, _a_e1);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT292);
_txt = omc_Tpl_writeText(threadData, _txt, _a_e2);
tmpMeta[0] = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT78);
goto tmp2_done;
}
}
goto tmp2_end;
tmp2_end: ;
}
goto goto_1;
goto_1:;
MMC_THROW_INTERNAL();
goto tmp2_done;
tmp2_done:;
}
}
_out_txt = tmpMeta[0];
_return: OMC_LABEL_UNUSED
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__831(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_mArg, modelica_metatype _in_a_e1, modelica_metatype _in_a_e2, modelica_metatype _in_a_type)
{
modelica_integer tmp1;
modelica_metatype _out_txt = NULL;
tmp1 = mmc_unbox_integer(_in_mArg);
_out_txt = omc_CodegenCFunctions_fun__831(threadData, _in_txt, tmp1, _in_a_e1, _in_a_e2, _in_a_type);
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__830(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_ty)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta[2] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp3_1;modelica_metatype tmp3_2;
tmp3_1 = _in_txt;
tmp3_2 = _in_a_ty;
{
modelica_metatype _txt = NULL;
volatile mmc_switch_type tmp3;
int tmp4;
tmp3 = 0;
for (; tmp3 < 3; tmp3++) {
switch (MMC_SWITCH_CAST(tmp3)) {
case 0: {
if (mmc__uniontype__metarecord__typedef__equal(tmp3_2,6,2) == 0) goto tmp2_end;
tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_2), 2));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[1],0,1) == 0) goto tmp2_end;
_txt = tmp3_1;
tmpMeta[0] = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1138);
goto tmp2_done;
}
case 1: {
if (mmc__uniontype__metarecord__typedef__equal(tmp3_2,6,2) == 0) goto tmp2_end;
tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_2), 2));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[1],5,5) == 0) goto tmp2_end;
_txt = tmp3_1;
tmpMeta[0] = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1138);
goto tmp2_done;
}
case 2: {
_txt = tmp3_1;
tmpMeta[0] = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1139);
goto tmp2_done;
}
}
goto tmp2_end;
tmp2_end: ;
}
goto goto_1;
goto_1:;
MMC_THROW_INTERNAL();
goto tmp2_done;
tmp2_done:;
}
}
_out_txt = tmpMeta[0];
_return: OMC_LABEL_UNUSED
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__829(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_ty)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta[2] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp3_1;modelica_metatype tmp3_2;
tmp3_1 = _in_txt;
tmp3_2 = _in_a_ty;
{
modelica_metatype _txt = NULL;
volatile mmc_switch_type tmp3;
int tmp4;
tmp3 = 0;
for (; tmp3 < 3; tmp3++) {
switch (MMC_SWITCH_CAST(tmp3)) {
case 0: {
if (mmc__uniontype__metarecord__typedef__equal(tmp3_2,6,2) == 0) goto tmp2_end;
tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_2), 2));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[1],0,1) == 0) goto tmp2_end;
_txt = tmp3_1;
tmpMeta[0] = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1138);
goto tmp2_done;
}
case 1: {
if (mmc__uniontype__metarecord__typedef__equal(tmp3_2,6,2) == 0) goto tmp2_end;
tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_2), 2));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[1],5,5) == 0) goto tmp2_end;
_txt = tmp3_1;
tmpMeta[0] = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1138);
goto tmp2_done;
}
case 2: {
_txt = tmp3_1;
tmpMeta[0] = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1139);
goto tmp2_done;
}
}
goto tmp2_end;
tmp2_end: ;
}
goto goto_1;
goto_1:;
MMC_THROW_INTERNAL();
goto tmp2_done;
tmp2_done:;
}
}
_out_txt = tmpMeta[0];
_return: OMC_LABEL_UNUSED
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__828(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_ty)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta[2] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp3_1;modelica_metatype tmp3_2;
tmp3_1 = _in_txt;
tmp3_2 = _in_a_ty;
{
modelica_metatype _txt = NULL;
volatile mmc_switch_type tmp3;
int tmp4;
tmp3 = 0;
for (; tmp3 < 3; tmp3++) {
switch (MMC_SWITCH_CAST(tmp3)) {
case 0: {
if (mmc__uniontype__metarecord__typedef__equal(tmp3_2,6,2) == 0) goto tmp2_end;
tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_2), 2));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[1],0,1) == 0) goto tmp2_end;
_txt = tmp3_1;
tmpMeta[0] = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1138);
goto tmp2_done;
}
case 1: {
if (mmc__uniontype__metarecord__typedef__equal(tmp3_2,6,2) == 0) goto tmp2_end;
tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_2), 2));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[1],5,5) == 0) goto tmp2_end;
_txt = tmp3_1;
tmpMeta[0] = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1138);
goto tmp2_done;
}
case 2: {
_txt = tmp3_1;
tmpMeta[0] = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1139);
goto tmp2_done;
}
}
goto tmp2_end;
tmp2_end: ;
}
goto goto_1;
goto_1:;
MMC_THROW_INTERNAL();
goto tmp2_done;
tmp2_done:;
}
}
_out_txt = tmpMeta[0];
_return: OMC_LABEL_UNUSED
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__827(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_ty)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta[2] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp3_1;modelica_metatype tmp3_2;
tmp3_1 = _in_txt;
tmp3_2 = _in_a_ty;
{
modelica_metatype _txt = NULL;
volatile mmc_switch_type tmp3;
int tmp4;
tmp3 = 0;
for (; tmp3 < 3; tmp3++) {
switch (MMC_SWITCH_CAST(tmp3)) {
case 0: {
if (mmc__uniontype__metarecord__typedef__equal(tmp3_2,6,2) == 0) goto tmp2_end;
tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_2), 2));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[1],0,1) == 0) goto tmp2_end;
_txt = tmp3_1;
tmpMeta[0] = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1138);
goto tmp2_done;
}
case 1: {
if (mmc__uniontype__metarecord__typedef__equal(tmp3_2,6,2) == 0) goto tmp2_end;
tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_2), 2));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[1],5,5) == 0) goto tmp2_end;
_txt = tmp3_1;
tmpMeta[0] = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1138);
goto tmp2_done;
}
case 2: {
_txt = tmp3_1;
tmpMeta[0] = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1139);
goto tmp2_done;
}
}
goto tmp2_end;
tmp2_end: ;
}
goto goto_1;
goto_1:;
MMC_THROW_INTERNAL();
goto tmp2_done;
tmp2_done:;
}
}
_out_txt = tmpMeta[0];
_return: OMC_LABEL_UNUSED
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__826(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_ty)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta[2] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp3_1;modelica_metatype tmp3_2;
tmp3_1 = _in_txt;
tmp3_2 = _in_a_ty;
{
modelica_metatype _txt = NULL;
volatile mmc_switch_type tmp3;
int tmp4;
tmp3 = 0;
for (; tmp3 < 3; tmp3++) {
switch (MMC_SWITCH_CAST(tmp3)) {
case 0: {
if (mmc__uniontype__metarecord__typedef__equal(tmp3_2,6,2) == 0) goto tmp2_end;
tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_2), 2));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[1],0,1) == 0) goto tmp2_end;
_txt = tmp3_1;
tmpMeta[0] = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1138);
goto tmp2_done;
}
case 1: {
if (mmc__uniontype__metarecord__typedef__equal(tmp3_2,6,2) == 0) goto tmp2_end;
tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_2), 2));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[1],5,5) == 0) goto tmp2_end;
_txt = tmp3_1;
tmpMeta[0] = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1138);
goto tmp2_done;
}
case 2: {
_txt = tmp3_1;
tmpMeta[0] = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1139);
goto tmp2_done;
}
}
goto tmp2_end;
tmp2_end: ;
}
goto goto_1;
goto_1:;
MMC_THROW_INTERNAL();
goto tmp2_done;
tmp2_done:;
}
}
_out_txt = tmpMeta[0];
_return: OMC_LABEL_UNUSED
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__825(threadData_t *threadData, modelica_metatype _in_txt, modelica_boolean _in_mArg, modelica_metatype _in_a_context, modelica_metatype _in_a_exp1, modelica_metatype _in_a_e2, modelica_metatype _in_a_e1, modelica_metatype _in_a_preExp, modelica_metatype _in_a_varDecls, modelica_metatype _in_a_exp2, modelica_metatype *out_out_a_preExp, modelica_metatype *out_out_a_varDecls)
{
modelica_metatype _out_txt = NULL;
modelica_metatype _out_a_preExp = NULL;
modelica_metatype _out_a_varDecls = NULL;
modelica_metatype tmpMeta[3] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_boolean tmp4_2;modelica_metatype tmp4_3;modelica_metatype tmp4_4;modelica_metatype tmp4_5;modelica_metatype tmp4_6;modelica_metatype tmp4_7;modelica_metatype tmp4_8;modelica_metatype tmp4_9;
tmp4_1 = _in_txt;
tmp4_2 = _in_mArg;
tmp4_3 = _in_a_context;
tmp4_4 = _in_a_exp1;
tmp4_5 = _in_a_e2;
tmp4_6 = _in_a_e1;
tmp4_7 = _in_a_preExp;
tmp4_8 = _in_a_varDecls;
tmp4_9 = _in_a_exp2;
{
modelica_metatype _txt = NULL;
modelica_metatype _a_context = NULL;
modelica_metatype _a_exp1 = NULL;
modelica_metatype _a_e2 = NULL;
modelica_metatype _a_e1 = NULL;
modelica_metatype _a_preExp = NULL;
modelica_metatype _a_varDecls = NULL;
modelica_metatype _a_exp2 = NULL;
modelica_metatype _txt_5 = NULL;
modelica_string _ret_5 = NULL;
modelica_metatype _txt_4 = NULL;
modelica_metatype _l_cstr = NULL;
modelica_metatype _txt_2 = NULL;
modelica_metatype _l_tmp = NULL;
modelica_metatype _ret_0 = NULL;
volatile mmc_switch_type tmp4;
int tmp5;
tmp4 = 0;
for (; tmp4 < 2; tmp4++) {
switch (MMC_SWITCH_CAST(tmp4)) {
case 0: {
if (0 != tmp4_2) goto tmp3_end;
_txt = tmp4_1;
_a_e2 = tmp4_5;
_a_e1 = tmp4_6;
_a_preExp = tmp4_7;
_a_varDecls = tmp4_8;
_a_exp2 = tmp4_9;
_ret_0 = omc_Expression_realExpIntLit(threadData, _a_exp2);
tmpMeta[0+0] = omc_CodegenCFunctions_fun__824(threadData, _txt, _ret_0, _a_e2, _a_e1, _a_preExp, _a_varDecls, &tmpMeta[0+1], &tmpMeta[0+2]);
goto tmp3_done;
}
case 1: {
_txt = tmp4_1;
_a_context = tmp4_3;
_a_exp1 = tmp4_4;
_a_e1 = tmp4_6;
_a_preExp = tmp4_7;
_a_varDecls = tmp4_8;
_txt_2 = omc_CodegenCFunctions_expTypeFromExpModelica(threadData, _OMC_LIT20, _a_exp1);
_l_tmp = omc_CodegenCFunctions_tempDecl(threadData, _OMC_LIT20, omc_Tpl_textString(threadData, _txt_2), _a_varDecls ,&_a_varDecls);
_l_cstr = omc_ExpressionDumpTpl_dumpExp(threadData, _OMC_LIT20, _a_exp1, _OMC_LIT231);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _l_tmp);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT121);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _a_e1);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT161);
_txt_4 = omc_Tpl_writeText(threadData, _OMC_LIT20, _l_tmp);
_txt_4 = omc_Tpl_writeTok(threadData, _txt_4, _OMC_LIT945);
_txt_5 = omc_Tpl_writeTok(threadData, _OMC_LIT20, _OMC_LIT947);
_ret_5 = omc_Util_escapeModelicaStringToCString(threadData, omc_Tpl_textString(threadData, _l_cstr));
_txt_5 = omc_Tpl_writeStr(threadData, _txt_5, _ret_5);
_txt_5 = omc_Tpl_writeTok(threadData, _txt_5, _OMC_LIT949);
_txt_5 = omc_Tpl_writeText(threadData, _txt_5, _l_tmp);
_a_preExp = omc_CodegenCFunctions_assertCommonVar(threadData, _a_preExp, _txt_4, _txt_5, _a_context, _a_varDecls, _OMC_LIT697 ,&_txt_4 ,&_txt_5 ,&_a_varDecls);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT951);
_txt = omc_Tpl_writeText(threadData, _txt, _l_tmp);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT78);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_preExp;
tmpMeta[0+2] = _a_varDecls;
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta[0+0];
_out_a_preExp = tmpMeta[0+1];
_out_a_varDecls = tmpMeta[0+2];
_return: OMC_LABEL_UNUSED
if (out_out_a_preExp) { *out_out_a_preExp = _out_a_preExp; }
if (out_out_a_varDecls) { *out_out_a_varDecls = _out_a_varDecls; }
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__825(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_mArg, modelica_metatype _in_a_context, modelica_metatype _in_a_exp1, modelica_metatype _in_a_e2, modelica_metatype _in_a_e1, modelica_metatype _in_a_preExp, modelica_metatype _in_a_varDecls, modelica_metatype _in_a_exp2, modelica_metatype *out_out_a_preExp, modelica_metatype *out_out_a_varDecls)
{
modelica_integer tmp1;
modelica_metatype _out_txt = NULL;
tmp1 = mmc_unbox_integer(_in_mArg);
_out_txt = omc_CodegenCFunctions_fun__825(threadData, _in_txt, tmp1, _in_a_context, _in_a_exp1, _in_a_e2, _in_a_e1, _in_a_preExp, _in_a_varDecls, _in_a_exp2, out_out_a_preExp, out_out_a_varDecls);
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__824(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_mArg, modelica_metatype _in_a_e2, modelica_metatype _in_a_e1, modelica_metatype _in_a_preExp, modelica_metatype _in_a_varDecls, modelica_metatype *out_out_a_preExp, modelica_metatype *out_out_a_varDecls)
{
modelica_metatype _out_txt = NULL;
modelica_metatype _out_a_preExp = NULL;
modelica_metatype _out_a_varDecls = NULL;
modelica_metatype tmpMeta[4] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_metatype tmp4_2;modelica_metatype tmp4_3;modelica_metatype tmp4_4;modelica_metatype tmp4_5;modelica_metatype tmp4_6;
tmp4_1 = _in_txt;
tmp4_2 = _in_mArg;
tmp4_3 = _in_a_e2;
tmp4_4 = _in_a_e1;
tmp4_5 = _in_a_preExp;
tmp4_6 = _in_a_varDecls;
{
modelica_metatype _txt = NULL;
modelica_metatype _a_e2 = NULL;
modelica_metatype _a_e1 = NULL;
modelica_metatype _a_preExp = NULL;
modelica_metatype _a_varDecls = NULL;
modelica_integer _i_i;
modelica_boolean _ret_9;
modelica_boolean _ret_8;
modelica_metatype _l_tmp7 = NULL;
modelica_metatype _l_tmp6 = NULL;
modelica_metatype _l_tmp5 = NULL;
modelica_metatype _l_tmp4 = NULL;
modelica_metatype _l_tmp3 = NULL;
modelica_metatype _l_tmp2 = NULL;
modelica_metatype _l_tmp1 = NULL;
modelica_metatype _l_tmp = NULL;
volatile mmc_switch_type tmp4;
int tmp5;
tmp4 = 0;
for (; tmp4 < 5; tmp4++) {
switch (MMC_SWITCH_CAST(tmp4)) {
case 0: {
modelica_integer tmp6;
if (optionNone(tmp4_2)) goto tmp3_end;
tmpMeta[3] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 1));
tmp6 = mmc_unbox_integer(tmpMeta[3]);
if (2 != tmp6) goto tmp3_end;
_txt = tmp4_1;
_a_e1 = tmp4_4;
_a_preExp = tmp4_5;
_a_varDecls = tmp4_6;
_l_tmp = omc_CodegenCFunctions_tempDecl(threadData, _OMC_LIT20, _OMC_LIT704, _a_varDecls ,&_a_varDecls);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _l_tmp);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT121);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _a_e1);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT105);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT89);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT68);
_txt = omc_Tpl_writeText(threadData, _txt, _l_tmp);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1155);
_txt = omc_Tpl_writeText(threadData, _txt, _l_tmp);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT78);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_preExp;
tmpMeta[0+2] = _a_varDecls;
goto tmp3_done;
}
case 1: {
modelica_integer tmp7;
if (optionNone(tmp4_2)) goto tmp3_end;
tmpMeta[3] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 1));
tmp7 = mmc_unbox_integer(tmpMeta[3]);
if (3 != tmp7) goto tmp3_end;
_txt = tmp4_1;
_a_e1 = tmp4_4;
_a_preExp = tmp4_5;
_a_varDecls = tmp4_6;
_l_tmp = omc_CodegenCFunctions_tempDecl(threadData, _OMC_LIT20, _OMC_LIT704, _a_varDecls ,&_a_varDecls);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _l_tmp);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT121);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _a_e1);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT105);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT89);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT68);
_txt = omc_Tpl_writeText(threadData, _txt, _l_tmp);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1155);
_txt = omc_Tpl_writeText(threadData, _txt, _l_tmp);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1155);
_txt = omc_Tpl_writeText(threadData, _txt, _l_tmp);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT78);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_preExp;
tmpMeta[0+2] = _a_varDecls;
goto tmp3_done;
}
case 2: {
modelica_integer tmp8;
if (optionNone(tmp4_2)) goto tmp3_end;
tmpMeta[3] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 1));
tmp8 = mmc_unbox_integer(tmpMeta[3]);
if (4 != tmp8) goto tmp3_end;
_txt = tmp4_1;
_a_e1 = tmp4_4;
_a_preExp = tmp4_5;
_a_varDecls = tmp4_6;
_l_tmp = omc_CodegenCFunctions_tempDecl(threadData, _OMC_LIT20, _OMC_LIT704, _a_varDecls ,&_a_varDecls);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _l_tmp);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT121);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _a_e1);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT105);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT89);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _l_tmp);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT1157);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _l_tmp);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT105);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT68);
_txt = omc_Tpl_writeText(threadData, _txt, _l_tmp);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1155);
_txt = omc_Tpl_writeText(threadData, _txt, _l_tmp);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT78);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_preExp;
tmpMeta[0+2] = _a_varDecls;
goto tmp3_done;
}
case 3: {
modelica_integer tmp9;
if (optionNone(tmp4_2)) goto tmp3_end;
tmpMeta[3] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 1));
tmp9 = mmc_unbox_integer(tmpMeta[3]);
_i_i = tmp9;
_txt = tmp4_1;
_a_e1 = tmp4_4;
_a_preExp = tmp4_5;
_a_varDecls = tmp4_6;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1159);
_txt = omc_Tpl_writeText(threadData, _txt, _a_e1);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT292);
_txt = omc_Tpl_writeStr(threadData, _txt, intString(_i_i));
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT78);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_preExp;
tmpMeta[0+2] = _a_varDecls;
goto tmp3_done;
}
case 4: {
_txt = tmp4_1;
_a_e2 = tmp4_3;
_a_e1 = tmp4_4;
_a_preExp = tmp4_5;
_a_varDecls = tmp4_6;
_l_tmp1 = omc_CodegenCFunctions_tempDecl(threadData, _OMC_LIT20, _OMC_LIT704, _a_varDecls ,&_a_varDecls);
_l_tmp2 = omc_CodegenCFunctions_tempDecl(threadData, _OMC_LIT20, _OMC_LIT704, _a_varDecls ,&_a_varDecls);
_l_tmp3 = omc_CodegenCFunctions_tempDecl(threadData, _OMC_LIT20, _OMC_LIT704, _a_varDecls ,&_a_varDecls);
_l_tmp4 = omc_CodegenCFunctions_tempDecl(threadData, _OMC_LIT20, _OMC_LIT704, _a_varDecls ,&_a_varDecls);
_l_tmp5 = omc_CodegenCFunctions_tempDecl(threadData, _OMC_LIT20, _OMC_LIT704, _a_varDecls ,&_a_varDecls);
_l_tmp6 = omc_CodegenCFunctions_tempDecl(threadData, _OMC_LIT20, _OMC_LIT704, _a_varDecls ,&_a_varDecls);
_l_tmp7 = omc_CodegenCFunctions_tempDecl(threadData, _OMC_LIT20, _OMC_LIT704, _a_varDecls ,&_a_varDecls);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _l_tmp1);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT121);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _a_e1);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT161);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _l_tmp2);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT121);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _a_e2);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT1002);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _l_tmp1);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT1161);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _l_tmp2);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT1164);
_a_preExp = omc_Tpl_pushBlock(threadData, _a_preExp, _OMC_LIT97);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _l_tmp4);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT1166);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _l_tmp2);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT123);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _l_tmp5);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT1170);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _l_tmp4);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT1173);
_a_preExp = omc_Tpl_pushBlock(threadData, _a_preExp, _OMC_LIT97);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _l_tmp4);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT1175);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _l_tmp5);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT1177);
_a_preExp = omc_Tpl_popBlock(threadData, _a_preExp);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT1181);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _l_tmp4);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT1184);
_a_preExp = omc_Tpl_pushBlock(threadData, _a_preExp, _OMC_LIT97);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _l_tmp4);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT1177);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _l_tmp5);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT1175);
_a_preExp = omc_Tpl_popBlock(threadData, _a_preExp);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT1189);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _l_tmp4);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT1191);
_a_preExp = omc_Tpl_pushBlock(threadData, _a_preExp, _OMC_LIT97);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _l_tmp3);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT1193);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _l_tmp1);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT292);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _l_tmp5);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT375);
_a_preExp = omc_Tpl_popBlock(threadData, _a_preExp);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT1194);
_a_preExp = omc_Tpl_pushBlock(threadData, _a_preExp, _OMC_LIT97);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _l_tmp7);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT1196);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _l_tmp2);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT123);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _l_tmp6);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT1198);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _l_tmp7);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT1173);
_a_preExp = omc_Tpl_pushBlock(threadData, _a_preExp, _OMC_LIT97);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _l_tmp7);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT1175);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _l_tmp6);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT1177);
_a_preExp = omc_Tpl_popBlock(threadData, _a_preExp);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT1181);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _l_tmp7);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT1184);
_a_preExp = omc_Tpl_pushBlock(threadData, _a_preExp, _OMC_LIT97);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _l_tmp7);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT1177);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _l_tmp6);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT1175);
_a_preExp = omc_Tpl_popBlock(threadData, _a_preExp);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT1200);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _l_tmp7);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT1202);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _l_tmp6);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT1205);
_a_preExp = omc_Tpl_pushBlock(threadData, _a_preExp, _OMC_LIT97);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _l_tmp3);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT1207);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _l_tmp1);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT292);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _l_tmp4);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT1209);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _l_tmp1);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT292);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _l_tmp5);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT375);
_a_preExp = omc_Tpl_popBlock(threadData, _a_preExp);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT432);
_a_preExp = omc_Tpl_pushBlock(threadData, _a_preExp, _OMC_LIT97);
_ret_8 = omc_Config_acceptMetaModelicaGrammar(threadData);
_a_preExp = omc_CodegenCFunctions_fun__822(threadData, _a_preExp, _ret_8, _l_tmp2, _l_tmp1);
_a_preExp = omc_Tpl_softNewLine(threadData, _a_preExp);
_a_preExp = omc_Tpl_popBlock(threadData, _a_preExp);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT159);
_a_preExp = omc_Tpl_popBlock(threadData, _a_preExp);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT159);
_a_preExp = omc_Tpl_popBlock(threadData, _a_preExp);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT432);
_a_preExp = omc_Tpl_pushBlock(threadData, _a_preExp, _OMC_LIT97);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _l_tmp3);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT1193);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _l_tmp1);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT292);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _l_tmp2);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT375);
_a_preExp = omc_Tpl_popBlock(threadData, _a_preExp);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT1213);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _l_tmp3);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT1215);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _l_tmp3);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT1218);
_a_preExp = omc_Tpl_pushBlock(threadData, _a_preExp, _OMC_LIT97);
_ret_9 = omc_Config_acceptMetaModelicaGrammar(threadData);
_a_preExp = omc_CodegenCFunctions_fun__823(threadData, _a_preExp, _ret_9, _l_tmp2, _l_tmp1);
_a_preExp = omc_Tpl_softNewLine(threadData, _a_preExp);
_a_preExp = omc_Tpl_popBlock(threadData, _a_preExp);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT103);
_txt = omc_Tpl_writeText(threadData, _txt, _l_tmp3);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_preExp;
tmpMeta[0+2] = _a_varDecls;
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta[0+0];
_out_a_preExp = tmpMeta[0+1];
_out_a_varDecls = tmpMeta[0+2];
_return: OMC_LABEL_UNUSED
if (out_out_a_preExp) { *out_out_a_preExp = _out_a_preExp; }
if (out_out_a_varDecls) { *out_out_a_varDecls = _out_a_varDecls; }
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__823(threadData_t *threadData, modelica_metatype _in_txt, modelica_boolean _in_mArg, modelica_metatype _in_a_tmp2, modelica_metatype _in_a_tmp1)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta[1] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp3_1;modelica_boolean tmp3_2;modelica_metatype tmp3_3;modelica_metatype tmp3_4;
tmp3_1 = _in_txt;
tmp3_2 = _in_mArg;
tmp3_3 = _in_a_tmp2;
tmp3_4 = _in_a_tmp1;
{
modelica_metatype _txt = NULL;
modelica_metatype _a_tmp2 = NULL;
modelica_metatype _a_tmp1 = NULL;
volatile mmc_switch_type tmp3;
int tmp4;
tmp3 = 0;
for (; tmp3 < 2; tmp3++) {
switch (MMC_SWITCH_CAST(tmp3)) {
case 0: {
if (0 != tmp3_2) goto tmp2_end;
_txt = tmp3_1;
_a_tmp2 = tmp3_3;
_a_tmp1 = tmp3_4;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1220);
_txt = omc_Tpl_writeText(threadData, _txt, _a_tmp1);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT292);
_txt = omc_Tpl_writeText(threadData, _txt, _a_tmp2);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT290);
tmpMeta[0] = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT89);
goto tmp2_done;
}
case 1: {
_txt = tmp3_1;
_txt = omc_CodegenCFunctions_generateThrow(threadData, _txt);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT105);
tmpMeta[0] = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT89);
goto tmp2_done;
}
}
goto tmp2_end;
tmp2_end: ;
}
goto goto_1;
goto_1:;
MMC_THROW_INTERNAL();
goto tmp2_done;
tmp2_done:;
}
}
_out_txt = tmpMeta[0];
_return: OMC_LABEL_UNUSED
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__823(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_mArg, modelica_metatype _in_a_tmp2, modelica_metatype _in_a_tmp1)
{
modelica_integer tmp1;
modelica_metatype _out_txt = NULL;
tmp1 = mmc_unbox_integer(_in_mArg);
_out_txt = omc_CodegenCFunctions_fun__823(threadData, _in_txt, tmp1, _in_a_tmp2, _in_a_tmp1);
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__822(threadData_t *threadData, modelica_metatype _in_txt, modelica_boolean _in_mArg, modelica_metatype _in_a_tmp2, modelica_metatype _in_a_tmp1)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta[1] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp3_1;modelica_boolean tmp3_2;modelica_metatype tmp3_3;modelica_metatype tmp3_4;
tmp3_1 = _in_txt;
tmp3_2 = _in_mArg;
tmp3_3 = _in_a_tmp2;
tmp3_4 = _in_a_tmp1;
{
modelica_metatype _txt = NULL;
modelica_metatype _a_tmp2 = NULL;
modelica_metatype _a_tmp1 = NULL;
volatile mmc_switch_type tmp3;
int tmp4;
tmp3 = 0;
for (; tmp3 < 2; tmp3++) {
switch (MMC_SWITCH_CAST(tmp3)) {
case 0: {
if (0 != tmp3_2) goto tmp2_end;
_txt = tmp3_1;
_a_tmp2 = tmp3_3;
_a_tmp1 = tmp3_4;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1220);
_txt = omc_Tpl_writeText(threadData, _txt, _a_tmp1);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT292);
_txt = omc_Tpl_writeText(threadData, _txt, _a_tmp2);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT290);
tmpMeta[0] = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT89);
goto tmp2_done;
}
case 1: {
_txt = tmp3_1;
_txt = omc_CodegenCFunctions_generateThrow(threadData, _txt);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT105);
tmpMeta[0] = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT89);
goto tmp2_done;
}
}
goto tmp2_end;
tmp2_end: ;
}
goto goto_1;
goto_1:;
MMC_THROW_INTERNAL();
goto tmp2_done;
tmp2_done:;
}
}
_out_txt = tmpMeta[0];
_return: OMC_LABEL_UNUSED
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__822(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_mArg, modelica_metatype _in_a_tmp2, modelica_metatype _in_a_tmp1)
{
modelica_integer tmp1;
modelica_metatype _out_txt = NULL;
tmp1 = mmc_unbox_integer(_in_mArg);
_out_txt = omc_CodegenCFunctions_fun__822(threadData, _in_txt, tmp1, _in_a_tmp2, _in_a_tmp1);
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__821(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_context, modelica_metatype _in_a_exp2, modelica_metatype _in_a_e1, modelica_metatype _in_a_e2, modelica_metatype _in_a_preExp, modelica_metatype _in_a_varDecls, modelica_metatype _in_a_ty, modelica_metatype *out_out_a_preExp, modelica_metatype *out_out_a_varDecls)
{
modelica_metatype _out_txt = NULL;
modelica_metatype _out_a_preExp = NULL;
modelica_metatype _out_a_varDecls = NULL;
modelica_metatype tmpMeta[3] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_metatype tmp4_2;modelica_metatype tmp4_3;modelica_metatype tmp4_4;modelica_metatype tmp4_5;modelica_metatype tmp4_6;modelica_metatype tmp4_7;modelica_metatype tmp4_8;
tmp4_1 = _in_txt;
tmp4_2 = _in_a_context;
tmp4_3 = _in_a_exp2;
tmp4_4 = _in_a_e1;
tmp4_5 = _in_a_e2;
tmp4_6 = _in_a_preExp;
tmp4_7 = _in_a_varDecls;
tmp4_8 = _in_a_ty;
{
modelica_metatype _txt = NULL;
modelica_metatype _a_exp2 = NULL;
modelica_metatype _a_e1 = NULL;
modelica_metatype _a_e2 = NULL;
modelica_metatype _a_preExp = NULL;
modelica_metatype _a_varDecls = NULL;
modelica_metatype _a_ty = NULL;
modelica_string _ret_7 = NULL;
modelica_metatype _txt_6 = NULL;
modelica_string _ret_5 = NULL;
modelica_metatype _txt_4 = NULL;
modelica_metatype _l_e2str = NULL;
modelica_boolean _ret_2;
modelica_metatype _txt_1 = NULL;
modelica_metatype _l_tvar = NULL;
int tmp4;
{
switch (MMC_SWITCH_CAST(valueConstructor(tmp4_2))) {
case 4: {
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,1,2) == 0) goto tmp3_end;
_txt = tmp4_1;
_a_e1 = tmp4_4;
_a_e2 = tmp4_5;
_a_preExp = tmp4_6;
_a_varDecls = tmp4_7;
_a_ty = tmp4_8;
_txt_1 = omc_CodegenCFunctions_expTypeModelica(threadData, _OMC_LIT20, _a_ty);
_l_tvar = omc_CodegenCFunctions_tempDecl(threadData, _OMC_LIT20, omc_Tpl_textString(threadData, _txt_1), _a_varDecls ,&_a_varDecls);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _l_tvar);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT121);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _a_e2);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT105);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT89);
_ret_2 = omc_Config_acceptMetaModelicaGrammar(threadData);
_a_preExp = omc_CodegenCFunctions_fun__820(threadData, _a_preExp, _ret_2, _l_tvar);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT68);
_txt = omc_Tpl_writeText(threadData, _txt, _a_e1);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT939);
_txt = omc_Tpl_writeText(threadData, _txt, _l_tvar);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_preExp;
tmpMeta[0+2] = _a_varDecls;
goto tmp3_done;
}
case 3: {
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,0,1) == 0) goto tmp3_end;
_txt = tmp4_1;
_a_exp2 = tmp4_3;
_a_e1 = tmp4_4;
_a_e2 = tmp4_5;
_a_preExp = tmp4_6;
_a_varDecls = tmp4_7;
_txt_4 = omc_ExpressionDumpTpl_dumpExp(threadData, _OMC_LIT20, _a_exp2, _OMC_LIT231);
_ret_5 = omc_Util_escapeModelicaStringToCString(threadData, omc_Tpl_textString(threadData, _txt_4));
_l_e2str = omc_Tpl_writeStr(threadData, _OMC_LIT20, _ret_5);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1222);
_txt = omc_Tpl_writeText(threadData, _txt, _a_e1);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT226);
_txt = omc_Tpl_writeText(threadData, _txt, _a_e2);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1145);
_txt = omc_Tpl_writeText(threadData, _txt, _l_e2str);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1224);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_preExp;
tmpMeta[0+2] = _a_varDecls;
goto tmp3_done;
}
default:
tmp3_default: OMC_LABEL_UNUSED; {
_txt = tmp4_1;
_a_exp2 = tmp4_3;
_a_e1 = tmp4_4;
_a_e2 = tmp4_5;
_a_preExp = tmp4_6;
_a_varDecls = tmp4_7;
_txt_6 = omc_ExpressionDumpTpl_dumpExp(threadData, _OMC_LIT20, _a_exp2, _OMC_LIT231);
_ret_7 = omc_Util_escapeModelicaStringToCString(threadData, omc_Tpl_textString(threadData, _txt_6));
_l_e2str = omc_Tpl_writeStr(threadData, _OMC_LIT20, _ret_7);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1226);
_txt = omc_Tpl_writeText(threadData, _txt, _a_e1);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT226);
_txt = omc_Tpl_writeText(threadData, _txt, _a_e2);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1145);
_txt = omc_Tpl_writeText(threadData, _txt, _l_e2str);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1147);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_preExp;
tmpMeta[0+2] = _a_varDecls;
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta[0+0];
_out_a_preExp = tmpMeta[0+1];
_out_a_varDecls = tmpMeta[0+2];
_return: OMC_LABEL_UNUSED
if (out_out_a_preExp) { *out_out_a_preExp = _out_a_preExp; }
if (out_out_a_varDecls) { *out_out_a_varDecls = _out_a_varDecls; }
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__820(threadData_t *threadData, modelica_metatype _in_txt, modelica_boolean _in_mArg, modelica_metatype _in_a_tvar)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta[1] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp3_1;modelica_boolean tmp3_2;modelica_metatype tmp3_3;
tmp3_1 = _in_txt;
tmp3_2 = _in_mArg;
tmp3_3 = _in_a_tvar;
{
modelica_metatype _txt = NULL;
modelica_metatype _a_tvar = NULL;
volatile mmc_switch_type tmp3;
int tmp4;
tmp3 = 0;
for (; tmp3 < 2; tmp3++) {
switch (MMC_SWITCH_CAST(tmp3)) {
case 0: {
if (0 != tmp3_2) goto tmp2_end;
_txt = tmp3_1;
tmpMeta[0] = _txt;
goto tmp2_done;
}
case 1: {
_txt = tmp3_1;
_a_tvar = tmp3_3;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT248);
_txt = omc_Tpl_writeText(threadData, _txt, _a_tvar);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT943);
_txt = omc_CodegenCFunctions_generateThrow(threadData, _txt);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT931);
tmpMeta[0] = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT89);
goto tmp2_done;
}
}
goto tmp2_end;
tmp2_end: ;
}
goto goto_1;
goto_1:;
MMC_THROW_INTERNAL();
goto tmp2_done;
tmp2_done:;
}
}
_out_txt = tmpMeta[0];
_return: OMC_LABEL_UNUSED
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__820(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_mArg, modelica_metatype _in_a_tvar)
{
modelica_integer tmp1;
modelica_metatype _out_txt = NULL;
tmp1 = mmc_unbox_integer(_in_mArg);
_out_txt = omc_CodegenCFunctions_fun__820(threadData, _in_txt, tmp1, _in_a_tvar);
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__819(threadData_t *threadData, modelica_metatype _in_txt, modelica_boolean _in_mArg, modelica_metatype _in_a_e2, modelica_metatype _in_a_e1)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta[1] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp3_1;modelica_boolean tmp3_2;modelica_metatype tmp3_3;modelica_metatype tmp3_4;
tmp3_1 = _in_txt;
tmp3_2 = _in_mArg;
tmp3_3 = _in_a_e2;
tmp3_4 = _in_a_e1;
{
modelica_metatype _txt = NULL;
modelica_metatype _a_e2 = NULL;
modelica_metatype _a_e1 = NULL;
volatile mmc_switch_type tmp3;
int tmp4;
tmp3 = 0;
for (; tmp3 < 2; tmp3++) {
switch (MMC_SWITCH_CAST(tmp3)) {
case 0: {
if (0 != tmp3_2) goto tmp2_end;
_txt = tmp3_1;
_a_e2 = tmp3_3;
_a_e1 = tmp3_4;
_txt = omc_Tpl_writeText(threadData, _txt, _a_e1);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1228);
_txt = omc_Tpl_writeText(threadData, _txt, _a_e2);
tmpMeta[0] = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT78);
goto tmp2_done;
}
case 1: {
_txt = tmp3_1;
_a_e2 = tmp3_3;
_a_e1 = tmp3_4;
_txt = omc_Tpl_writeText(threadData, _txt, _a_e1);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT649);
tmpMeta[0] = omc_Tpl_writeText(threadData, _txt, _a_e2);
goto tmp2_done;
}
}
goto tmp2_end;
tmp2_end: ;
}
goto goto_1;
goto_1:;
MMC_THROW_INTERNAL();
goto tmp2_done;
tmp2_done:;
}
}
_out_txt = tmpMeta[0];
_return: OMC_LABEL_UNUSED
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__819(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_mArg, modelica_metatype _in_a_e2, modelica_metatype _in_a_e1)
{
modelica_integer tmp1;
modelica_metatype _out_txt = NULL;
tmp1 = mmc_unbox_integer(_in_mArg);
_out_txt = omc_CodegenCFunctions_fun__819(threadData, _in_txt, tmp1, _in_a_e2, _in_a_e1);
return _out_txt;
}
DLLExport
modelica_metatype omc_CodegenCFunctions_daeExpCrefIndexSpec(threadData_t *threadData, modelica_metatype _txt, modelica_metatype _a_subs, modelica_metatype _a_context, modelica_metatype _a_preExp, modelica_metatype _a_varDecls, modelica_metatype _a_auxFunction, modelica_metatype *out_out_a_preExp, modelica_metatype *out_out_a_varDecls, modelica_metatype *out_out_a_auxFunction)
{
modelica_metatype _out_txt = NULL;
modelica_metatype _out_a_preExp = NULL;
modelica_metatype _out_a_varDecls = NULL;
modelica_metatype _out_a_auxFunction = NULL;
modelica_metatype _l_tmp = NULL;
modelica_metatype _l_idx__str = NULL;
modelica_integer _ret_1;
modelica_metatype _l_nridx__str = NULL;
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
_ret_1 = listLength(_a_subs);
_l_nridx__str = omc_Tpl_writeStr(threadData, _OMC_LIT20, intString(_ret_1));
_l_idx__str = omc_Tpl_pushIter(threadData, _OMC_LIT20, _OMC_LIT294);
_l_idx__str = omc_CodegenCFunctions_lm__817(threadData, _l_idx__str, _a_subs, _a_auxFunction, _a_varDecls, _a_preExp, _a_context ,&_out_a_auxFunction ,&_out_a_varDecls ,&_out_a_preExp);
_l_idx__str = omc_Tpl_popIter(threadData, _l_idx__str);
_l_tmp = omc_CodegenCFunctions_tempDecl(threadData, _OMC_LIT20, _OMC_LIT435, _out_a_varDecls ,&_out_a_varDecls);
_out_a_preExp = omc_Tpl_writeTok(threadData, _out_a_preExp, _OMC_LIT437);
_out_a_preExp = omc_Tpl_writeText(threadData, _out_a_preExp, _l_tmp);
_out_a_preExp = omc_Tpl_writeTok(threadData, _out_a_preExp, _OMC_LIT292);
_out_a_preExp = omc_Tpl_writeText(threadData, _out_a_preExp, _l_nridx__str);
_out_a_preExp = omc_Tpl_writeTok(threadData, _out_a_preExp, _OMC_LIT292);
_out_a_preExp = omc_Tpl_writeText(threadData, _out_a_preExp, _l_idx__str);
_out_a_preExp = omc_Tpl_writeTok(threadData, _out_a_preExp, _OMC_LIT290);
_out_a_preExp = omc_Tpl_writeTok(threadData, _out_a_preExp, _OMC_LIT89);
_out_txt = omc_Tpl_writeText(threadData, _txt, _l_tmp);
_return: OMC_LABEL_UNUSED
if (out_out_a_preExp) { *out_out_a_preExp = _out_a_preExp; }
if (out_out_a_varDecls) { *out_out_a_varDecls = _out_a_varDecls; }
if (out_out_a_auxFunction) { *out_out_a_auxFunction = _out_a_auxFunction; }
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_lm__817(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_items, modelica_metatype _in_a_auxFunction, modelica_metatype _in_a_varDecls, modelica_metatype _in_a_preExp, modelica_metatype _in_a_context, modelica_metatype *out_out_a_auxFunction, modelica_metatype *out_out_a_varDecls, modelica_metatype *out_out_a_preExp)
{
modelica_metatype _out_txt = NULL;
modelica_metatype _out_a_auxFunction = NULL;
modelica_metatype _out_a_varDecls = NULL;
modelica_metatype _out_a_preExp = NULL;
modelica_metatype tmpMeta[6] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_metatype tmp4_2;modelica_metatype tmp4_3;modelica_metatype tmp4_4;modelica_metatype tmp4_5;modelica_metatype tmp4_6;
tmp4_1 = _in_txt;
tmp4_2 = _in_items;
tmp4_3 = _in_a_auxFunction;
tmp4_4 = _in_a_varDecls;
tmp4_5 = _in_a_preExp;
tmp4_6 = _in_a_context;
{
modelica_metatype _txt = NULL;
modelica_metatype _rest = NULL;
modelica_metatype _a_auxFunction = NULL;
modelica_metatype _a_varDecls = NULL;
modelica_metatype _a_preExp = NULL;
modelica_metatype _a_context = NULL;
modelica_metatype _i_sub = NULL;
volatile mmc_switch_type tmp4;
int tmp5;
tmp4 = 0;
for (; tmp4 < 2; tmp4++) {
switch (MMC_SWITCH_CAST(tmp4)) {
case 0: {
if (!listEmpty(tmp4_2)) goto tmp3_end;
_txt = tmp4_1;
_a_auxFunction = tmp4_3;
_a_varDecls = tmp4_4;
_a_preExp = tmp4_5;
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_auxFunction;
tmpMeta[0+2] = _a_varDecls;
tmpMeta[0+3] = _a_preExp;
goto tmp3_done;
}
case 1: {
if (listEmpty(tmp4_2)) goto tmp3_end;
tmpMeta[4] = MMC_CAR(tmp4_2);
tmpMeta[5] = MMC_CDR(tmp4_2);
_i_sub = tmpMeta[4];
_rest = tmpMeta[5];
_txt = tmp4_1;
_a_auxFunction = tmp4_3;
_a_varDecls = tmp4_4;
_a_preExp = tmp4_5;
_a_context = tmp4_6;
_txt = omc_CodegenCFunctions_fun__816(threadData, _txt, _i_sub, _a_auxFunction, _a_varDecls, _a_preExp, _a_context ,&_a_auxFunction ,&_a_varDecls ,&_a_preExp);
_txt = omc_Tpl_nextIter(threadData, _txt);
_in_txt = _txt;
_in_items = _rest;
_in_a_auxFunction = _a_auxFunction;
_in_a_varDecls = _a_varDecls;
_in_a_preExp = _a_preExp;
_in_a_context = _a_context;
goto _tailrecursive;
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta[0+0];
_out_a_auxFunction = tmpMeta[0+1];
_out_a_varDecls = tmpMeta[0+2];
_out_a_preExp = tmpMeta[0+3];
_return: OMC_LABEL_UNUSED
if (out_out_a_auxFunction) { *out_out_a_auxFunction = _out_a_auxFunction; }
if (out_out_a_varDecls) { *out_out_a_varDecls = _out_a_varDecls; }
if (out_out_a_preExp) { *out_out_a_preExp = _out_a_preExp; }
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__816(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_sub, modelica_metatype _in_a_auxFunction, modelica_metatype _in_a_varDecls, modelica_metatype _in_a_preExp, modelica_metatype _in_a_context, modelica_metatype *out_out_a_auxFunction, modelica_metatype *out_out_a_varDecls, modelica_metatype *out_out_a_preExp)
{
modelica_metatype _out_txt = NULL;
modelica_metatype _out_a_auxFunction = NULL;
modelica_metatype _out_a_varDecls = NULL;
modelica_metatype _out_a_preExp = NULL;
modelica_metatype tmpMeta[5] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_metatype tmp4_2;modelica_metatype tmp4_3;modelica_metatype tmp4_4;modelica_metatype tmp4_5;modelica_metatype tmp4_6;
tmp4_1 = _in_txt;
tmp4_2 = _in_a_sub;
tmp4_3 = _in_a_auxFunction;
tmp4_4 = _in_a_varDecls;
tmp4_5 = _in_a_preExp;
tmp4_6 = _in_a_context;
{
modelica_metatype _txt = NULL;
modelica_metatype _a_auxFunction = NULL;
modelica_metatype _a_varDecls = NULL;
modelica_metatype _a_preExp = NULL;
modelica_metatype _a_context = NULL;
modelica_metatype _i_exp = NULL;
modelica_metatype _l_tmp = NULL;
modelica_metatype _l_str = NULL;
modelica_metatype _l_expPart = NULL;
int tmp4;
{
switch (MMC_SWITCH_CAST(valueConstructor(tmp4_2))) {
case 5: {
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,2,1) == 0) goto tmp3_end;
tmpMeta[4] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
_i_exp = tmpMeta[4];
_txt = tmp4_1;
_a_auxFunction = tmp4_3;
_a_varDecls = tmp4_4;
_a_preExp = tmp4_5;
_a_context = tmp4_6;
_l_expPart = omc_CodegenCFunctions_daeExp(threadData, _OMC_LIT20, _i_exp, _a_context, _a_preExp, _a_varDecls, _a_auxFunction ,&_a_preExp ,&_a_varDecls ,&_a_auxFunction);
_l_str = omc_Tpl_writeTok(threadData, _OMC_LIT20, _OMC_LIT1230);
_l_str = omc_Tpl_writeText(threadData, _l_str, _l_expPart);
_l_str = omc_Tpl_writeTok(threadData, _l_str, _OMC_LIT1232);
_txt = omc_Tpl_writeText(threadData, _txt, _l_str);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_auxFunction;
tmpMeta[0+2] = _a_varDecls;
tmpMeta[0+3] = _a_preExp;
goto tmp3_done;
}
case 3: {
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,0,0) == 0) goto tmp3_end;
_txt = tmp4_1;
_a_auxFunction = tmp4_3;
_a_varDecls = tmp4_4;
_a_preExp = tmp4_5;
_l_str = omc_Tpl_writeTok(threadData, _OMC_LIT20, _OMC_LIT1234);
_txt = omc_Tpl_writeText(threadData, _txt, _l_str);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_auxFunction;
tmpMeta[0+2] = _a_varDecls;
tmpMeta[0+3] = _a_preExp;
goto tmp3_done;
}
case 4: {
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,1,1) == 0) goto tmp3_end;
tmpMeta[4] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
_i_exp = tmpMeta[4];
_txt = tmp4_1;
_a_auxFunction = tmp4_3;
_a_varDecls = tmp4_4;
_a_preExp = tmp4_5;
_a_context = tmp4_6;
_l_expPart = omc_CodegenCFunctions_daeExp(threadData, _OMC_LIT20, _i_exp, _a_context, _a_preExp, _a_varDecls, _a_auxFunction ,&_a_preExp ,&_a_varDecls ,&_a_auxFunction);
_l_tmp = omc_CodegenCFunctions_tempDecl(threadData, _OMC_LIT20, _OMC_LIT449, _a_varDecls ,&_a_varDecls);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _l_tmp);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT451);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _l_expPart);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT1236);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT89);
_l_str = omc_Tpl_writeText(threadData, _OMC_LIT20, _l_tmp);
_l_str = omc_Tpl_writeTok(threadData, _l_str, _OMC_LIT1238);
_l_str = omc_Tpl_writeText(threadData, _l_str, _l_expPart);
_l_str = omc_Tpl_writeTok(threadData, _l_str, _OMC_LIT1240);
_txt = omc_Tpl_writeText(threadData, _txt, _l_str);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_auxFunction;
tmpMeta[0+2] = _a_varDecls;
tmpMeta[0+3] = _a_preExp;
goto tmp3_done;
}
default:
tmp3_default: OMC_LABEL_UNUSED; {
_txt = tmp4_1;
_a_auxFunction = tmp4_3;
_a_varDecls = tmp4_4;
_a_preExp = tmp4_5;
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_auxFunction;
tmpMeta[0+2] = _a_varDecls;
tmpMeta[0+3] = _a_preExp;
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta[0+0];
_out_a_auxFunction = tmpMeta[0+1];
_out_a_varDecls = tmpMeta[0+2];
_out_a_preExp = tmpMeta[0+3];
_return: OMC_LABEL_UNUSED
if (out_out_a_auxFunction) { *out_out_a_auxFunction = _out_a_auxFunction; }
if (out_out_a_varDecls) { *out_out_a_varDecls = _out_a_varDecls; }
if (out_out_a_preExp) { *out_out_a_preExp = _out_a_preExp; }
return _out_txt;
}
DLLExport
modelica_metatype omc_CodegenCFunctions_daeExpCrefLhsFunContextParModExpl(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_ecr, modelica_metatype _in_a_context, modelica_metatype _in_a_preExp, modelica_metatype _in_a_varDecls, modelica_metatype _in_a_auxFunction, modelica_metatype *out_out_a_preExp, modelica_metatype *out_out_a_varDecls, modelica_metatype *out_out_a_auxFunction)
{
modelica_metatype _out_txt = NULL;
modelica_metatype _out_a_preExp = NULL;
modelica_metatype _out_a_varDecls = NULL;
modelica_metatype _out_a_auxFunction = NULL;
modelica_metatype tmpMeta[6] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_metatype tmp4_2;modelica_metatype tmp4_3;modelica_metatype tmp4_4;modelica_metatype tmp4_5;modelica_metatype tmp4_6;
tmp4_1 = _in_txt;
tmp4_2 = _in_a_ecr;
tmp4_3 = _in_a_context;
tmp4_4 = _in_a_preExp;
tmp4_5 = _in_a_varDecls;
tmp4_6 = _in_a_auxFunction;
{
modelica_metatype _txt = NULL;
modelica_metatype _a_context = NULL;
modelica_metatype _a_preExp = NULL;
modelica_metatype _a_varDecls = NULL;
modelica_metatype _a_auxFunction = NULL;
modelica_metatype _i_ty = NULL;
modelica_metatype _i_ecr = NULL;
modelica_metatype _i_cr = NULL;
modelica_metatype _txt_1 = NULL;
modelica_boolean _ret_0;
volatile mmc_switch_type tmp4;
int tmp5;
tmp4 = 0;
for (; tmp4 < 2; tmp4++) {
switch (MMC_SWITCH_CAST(tmp4)) {
case 0: {
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,6,2) == 0) goto tmp3_end;
tmpMeta[4] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
tmpMeta[5] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 3));
_i_ecr = tmp4_2;
_i_cr = tmpMeta[4];
_i_ty = tmpMeta[5];
_txt = tmp4_1;
_a_context = tmp4_3;
_a_preExp = tmp4_4;
_a_varDecls = tmp4_5;
_a_auxFunction = tmp4_6;
_ret_0 = omc_SimCodeFunctionUtil_crefIsScalar(threadData, _i_cr, _a_context);
_txt = omc_CodegenCFunctions_fun__814(threadData, _txt, _ret_0, _i_ty, _a_auxFunction, _a_varDecls, _a_preExp, _a_context, _i_ecr, _i_cr ,&_a_auxFunction ,&_a_varDecls ,&_a_preExp);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_preExp;
tmpMeta[0+2] = _a_varDecls;
tmpMeta[0+3] = _a_auxFunction;
goto tmp3_done;
}
case 1: {
_txt = tmp4_1;
_i_ecr = tmp4_2;
_a_preExp = tmp4_4;
_a_varDecls = tmp4_5;
_a_auxFunction = tmp4_6;
_txt_1 = omc_Tpl_writeTok(threadData, _OMC_LIT20, _OMC_LIT1242);
_txt_1 = omc_ExpressionDumpTpl_dumpExp(threadData, _txt_1, _i_ecr, _OMC_LIT231);
_txt = omc_CodegenUtil_error(threadData, _txt, omc_Tpl_sourceInfo(threadData, _OMC_LIT27, ((modelica_integer) 5416), ((modelica_integer) 11)), omc_Tpl_textString(threadData, _txt_1));
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_preExp;
tmpMeta[0+2] = _a_varDecls;
tmpMeta[0+3] = _a_auxFunction;
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta[0+0];
_out_a_preExp = tmpMeta[0+1];
_out_a_varDecls = tmpMeta[0+2];
_out_a_auxFunction = tmpMeta[0+3];
_return: OMC_LABEL_UNUSED
if (out_out_a_preExp) { *out_out_a_preExp = _out_a_preExp; }
if (out_out_a_varDecls) { *out_out_a_varDecls = _out_a_varDecls; }
if (out_out_a_auxFunction) { *out_out_a_auxFunction = _out_a_auxFunction; }
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__814(threadData_t *threadData, modelica_metatype _in_txt, modelica_boolean _in_mArg, modelica_metatype _in_a_ty, modelica_metatype _in_a_auxFunction, modelica_metatype _in_a_varDecls, modelica_metatype _in_a_preExp, modelica_metatype _in_a_context, modelica_metatype _in_a_ecr, modelica_metatype _in_a_cr, modelica_metatype *out_out_a_auxFunction, modelica_metatype *out_out_a_varDecls, modelica_metatype *out_out_a_preExp)
{
modelica_metatype _out_txt = NULL;
modelica_metatype _out_a_auxFunction = NULL;
modelica_metatype _out_a_varDecls = NULL;
modelica_metatype _out_a_preExp = NULL;
modelica_metatype tmpMeta[4] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_boolean tmp4_2;modelica_metatype tmp4_3;modelica_metatype tmp4_4;modelica_metatype tmp4_5;modelica_metatype tmp4_6;modelica_metatype tmp4_7;modelica_metatype tmp4_8;modelica_metatype tmp4_9;
tmp4_1 = _in_txt;
tmp4_2 = _in_mArg;
tmp4_3 = _in_a_ty;
tmp4_4 = _in_a_auxFunction;
tmp4_5 = _in_a_varDecls;
tmp4_6 = _in_a_preExp;
tmp4_7 = _in_a_context;
tmp4_8 = _in_a_ecr;
tmp4_9 = _in_a_cr;
{
modelica_metatype _txt = NULL;
modelica_metatype _a_ty = NULL;
modelica_metatype _a_auxFunction = NULL;
modelica_metatype _a_varDecls = NULL;
modelica_metatype _a_preExp = NULL;
modelica_metatype _a_context = NULL;
modelica_metatype _a_ecr = NULL;
modelica_metatype _a_cr = NULL;
modelica_boolean _ret_0;
volatile mmc_switch_type tmp4;
int tmp5;
tmp4 = 0;
for (; tmp4 < 2; tmp4++) {
switch (MMC_SWITCH_CAST(tmp4)) {
case 0: {
if (0 != tmp4_2) goto tmp3_end;
_txt = tmp4_1;
_a_ty = tmp4_3;
_a_auxFunction = tmp4_4;
_a_varDecls = tmp4_5;
_a_preExp = tmp4_6;
_a_context = tmp4_7;
_a_ecr = tmp4_8;
_a_cr = tmp4_9;
_ret_0 = omc_SimCodeFunctionUtil_crefSubIsScalar(threadData, _a_cr);
tmpMeta[0+0] = omc_CodegenCFunctions_fun__813(threadData, _txt, _ret_0, _a_ty, _a_auxFunction, _a_varDecls, _a_preExp, _a_context, _a_cr, _a_ecr, &tmpMeta[0+1], &tmpMeta[0+2], &tmpMeta[0+3]);
goto tmp3_done;
}
case 1: {
_txt = tmp4_1;
_a_auxFunction = tmp4_4;
_a_varDecls = tmp4_5;
_a_preExp = tmp4_6;
_a_context = tmp4_7;
_a_cr = tmp4_9;
_txt = omc_CodegenCFunctions_contextCref(threadData, _txt, _a_cr, _a_context, _a_preExp, _a_varDecls, _a_auxFunction ,&_a_preExp ,&_a_varDecls ,&_a_auxFunction);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_auxFunction;
tmpMeta[0+2] = _a_varDecls;
tmpMeta[0+3] = _a_preExp;
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta[0+0];
_out_a_auxFunction = tmpMeta[0+1];
_out_a_varDecls = tmpMeta[0+2];
_out_a_preExp = tmpMeta[0+3];
_return: OMC_LABEL_UNUSED
if (out_out_a_auxFunction) { *out_out_a_auxFunction = _out_a_auxFunction; }
if (out_out_a_varDecls) { *out_out_a_varDecls = _out_a_varDecls; }
if (out_out_a_preExp) { *out_out_a_preExp = _out_a_preExp; }
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__814(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_mArg, modelica_metatype _in_a_ty, modelica_metatype _in_a_auxFunction, modelica_metatype _in_a_varDecls, modelica_metatype _in_a_preExp, modelica_metatype _in_a_context, modelica_metatype _in_a_ecr, modelica_metatype _in_a_cr, modelica_metatype *out_out_a_auxFunction, modelica_metatype *out_out_a_varDecls, modelica_metatype *out_out_a_preExp)
{
modelica_integer tmp1;
modelica_metatype _out_txt = NULL;
tmp1 = mmc_unbox_integer(_in_mArg);
_out_txt = omc_CodegenCFunctions_fun__814(threadData, _in_txt, tmp1, _in_a_ty, _in_a_auxFunction, _in_a_varDecls, _in_a_preExp, _in_a_context, _in_a_ecr, _in_a_cr, out_out_a_auxFunction, out_out_a_varDecls, out_out_a_preExp);
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__813(threadData_t *threadData, modelica_metatype _in_txt, modelica_boolean _in_mArg, modelica_metatype _in_a_ty, modelica_metatype _in_a_auxFunction, modelica_metatype _in_a_varDecls, modelica_metatype _in_a_preExp, modelica_metatype _in_a_context, modelica_metatype _in_a_cr, modelica_metatype _in_a_ecr, modelica_metatype *out_out_a_auxFunction, modelica_metatype *out_out_a_varDecls, modelica_metatype *out_out_a_preExp)
{
modelica_metatype _out_txt = NULL;
modelica_metatype _out_a_auxFunction = NULL;
modelica_metatype _out_a_varDecls = NULL;
modelica_metatype _out_a_preExp = NULL;
modelica_metatype tmpMeta[4] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_boolean tmp4_2;modelica_metatype tmp4_3;modelica_metatype tmp4_4;modelica_metatype tmp4_5;modelica_metatype tmp4_6;modelica_metatype tmp4_7;modelica_metatype tmp4_8;modelica_metatype tmp4_9;
tmp4_1 = _in_txt;
tmp4_2 = _in_mArg;
tmp4_3 = _in_a_ty;
tmp4_4 = _in_a_auxFunction;
tmp4_5 = _in_a_varDecls;
tmp4_6 = _in_a_preExp;
tmp4_7 = _in_a_context;
tmp4_8 = _in_a_cr;
tmp4_9 = _in_a_ecr;
{
modelica_metatype _txt = NULL;
modelica_metatype _a_ty = NULL;
modelica_metatype _a_auxFunction = NULL;
modelica_metatype _a_varDecls = NULL;
modelica_metatype _a_preExp = NULL;
modelica_metatype _a_context = NULL;
modelica_metatype _a_cr = NULL;
modelica_metatype _a_ecr = NULL;
modelica_metatype _ret_8 = NULL;
modelica_metatype _l_subsValuesStr = NULL;
modelica_integer _ret_6;
modelica_metatype _ret_5 = NULL;
modelica_metatype _l_subsLenStr = NULL;
modelica_metatype _l_arrayType = NULL;
modelica_metatype _ret_2 = NULL;
modelica_metatype _l_arrName = NULL;
modelica_metatype _txt_0 = NULL;
volatile mmc_switch_type tmp4;
int tmp5;
tmp4 = 0;
for (; tmp4 < 2; tmp4++) {
switch (MMC_SWITCH_CAST(tmp4)) {
case 0: {
if (0 != tmp4_2) goto tmp3_end;
_txt = tmp4_1;
_a_auxFunction = tmp4_4;
_a_varDecls = tmp4_5;
_a_preExp = tmp4_6;
_a_ecr = tmp4_9;
_txt_0 = omc_Tpl_writeTok(threadData, _OMC_LIT20, _OMC_LIT1244);
_txt_0 = omc_ExpressionDumpTpl_dumpExp(threadData, _txt_0, _a_ecr, _OMC_LIT231);
_txt = omc_CodegenUtil_error(threadData, _txt, omc_Tpl_sourceInfo(threadData, _OMC_LIT27, ((modelica_integer) 5413), ((modelica_integer) 15)), omc_Tpl_textString(threadData, _txt_0));
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_auxFunction;
tmpMeta[0+2] = _a_varDecls;
tmpMeta[0+3] = _a_preExp;
goto tmp3_done;
}
case 1: {
_txt = tmp4_1;
_a_ty = tmp4_3;
_a_auxFunction = tmp4_4;
_a_varDecls = tmp4_5;
_a_preExp = tmp4_6;
_a_context = tmp4_7;
_a_cr = tmp4_8;
_ret_2 = omc_ComponentReference_crefStripLastSubs(threadData, _a_cr);
_l_arrName = omc_CodegenCFunctions_contextCref(threadData, _OMC_LIT20, _ret_2, _a_context, _a_preExp, _a_varDecls, _a_auxFunction ,&_a_preExp ,&_a_varDecls ,&_a_auxFunction);
_l_arrayType = omc_CodegenCFunctions_expTypeArray(threadData, _OMC_LIT20, _a_ty);
_ret_5 = omc_ComponentReference_crefSubs(threadData, _a_cr);
_ret_6 = listLength(_ret_5);
_l_subsLenStr = omc_Tpl_writeStr(threadData, _OMC_LIT20, intString(_ret_6));
_ret_8 = omc_ComponentReference_crefSubs(threadData, _a_cr);
_l_subsValuesStr = omc_Tpl_pushIter(threadData, _OMC_LIT20, _OMC_LIT294);
_l_subsValuesStr = omc_CodegenCFunctions_lm__812(threadData, _l_subsValuesStr, _ret_8, _a_auxFunction, _a_varDecls, _a_preExp, _a_context ,&_a_auxFunction ,&_a_varDecls ,&_a_preExp);
_l_subsValuesStr = omc_Tpl_popIter(threadData, _l_subsValuesStr);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1246);
_txt = omc_Tpl_writeText(threadData, _txt, _l_arrayType);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1248);
_txt = omc_Tpl_writeText(threadData, _txt, _l_subsLenStr);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT298);
_txt = omc_Tpl_writeText(threadData, _txt, _l_arrName);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT292);
_txt = omc_Tpl_writeText(threadData, _txt, _l_subsLenStr);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT292);
_txt = omc_Tpl_writeText(threadData, _txt, _l_subsValuesStr);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT600);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_auxFunction;
tmpMeta[0+2] = _a_varDecls;
tmpMeta[0+3] = _a_preExp;
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta[0+0];
_out_a_auxFunction = tmpMeta[0+1];
_out_a_varDecls = tmpMeta[0+2];
_out_a_preExp = tmpMeta[0+3];
_return: OMC_LABEL_UNUSED
if (out_out_a_auxFunction) { *out_out_a_auxFunction = _out_a_auxFunction; }
if (out_out_a_varDecls) { *out_out_a_varDecls = _out_a_varDecls; }
if (out_out_a_preExp) { *out_out_a_preExp = _out_a_preExp; }
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__813(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_mArg, modelica_metatype _in_a_ty, modelica_metatype _in_a_auxFunction, modelica_metatype _in_a_varDecls, modelica_metatype _in_a_preExp, modelica_metatype _in_a_context, modelica_metatype _in_a_cr, modelica_metatype _in_a_ecr, modelica_metatype *out_out_a_auxFunction, modelica_metatype *out_out_a_varDecls, modelica_metatype *out_out_a_preExp)
{
modelica_integer tmp1;
modelica_metatype _out_txt = NULL;
tmp1 = mmc_unbox_integer(_in_mArg);
_out_txt = omc_CodegenCFunctions_fun__813(threadData, _in_txt, tmp1, _in_a_ty, _in_a_auxFunction, _in_a_varDecls, _in_a_preExp, _in_a_context, _in_a_cr, _in_a_ecr, out_out_a_auxFunction, out_out_a_varDecls, out_out_a_preExp);
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_lm__812(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_items, modelica_metatype _in_a_auxFunction, modelica_metatype _in_a_varDecls, modelica_metatype _in_a_preExp, modelica_metatype _in_a_context, modelica_metatype *out_out_a_auxFunction, modelica_metatype *out_out_a_varDecls, modelica_metatype *out_out_a_preExp)
{
modelica_metatype _out_txt = NULL;
modelica_metatype _out_a_auxFunction = NULL;
modelica_metatype _out_a_varDecls = NULL;
modelica_metatype _out_a_preExp = NULL;
modelica_metatype tmpMeta[7] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_metatype tmp4_2;modelica_metatype tmp4_3;modelica_metatype tmp4_4;modelica_metatype tmp4_5;modelica_metatype tmp4_6;
tmp4_1 = _in_txt;
tmp4_2 = _in_items;
tmp4_3 = _in_a_auxFunction;
tmp4_4 = _in_a_varDecls;
tmp4_5 = _in_a_preExp;
tmp4_6 = _in_a_context;
{
modelica_metatype _txt = NULL;
modelica_metatype _rest = NULL;
modelica_metatype _a_auxFunction = NULL;
modelica_metatype _a_varDecls = NULL;
modelica_metatype _a_preExp = NULL;
modelica_metatype _a_context = NULL;
modelica_metatype _i_exp = NULL;
volatile mmc_switch_type tmp4;
int tmp5;
tmp4 = 0;
for (; tmp4 < 3; tmp4++) {
switch (MMC_SWITCH_CAST(tmp4)) {
case 0: {
if (!listEmpty(tmp4_2)) goto tmp3_end;
_txt = tmp4_1;
_a_auxFunction = tmp4_3;
_a_varDecls = tmp4_4;
_a_preExp = tmp4_5;
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_auxFunction;
tmpMeta[0+2] = _a_varDecls;
tmpMeta[0+3] = _a_preExp;
goto tmp3_done;
}
case 1: {
if (listEmpty(tmp4_2)) goto tmp3_end;
tmpMeta[4] = MMC_CAR(tmp4_2);
tmpMeta[5] = MMC_CDR(tmp4_2);
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[4],2,1) == 0) goto tmp3_end;
tmpMeta[6] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[4]), 2));
_i_exp = tmpMeta[6];
_rest = tmpMeta[5];
_txt = tmp4_1;
_a_auxFunction = tmp4_3;
_a_varDecls = tmp4_4;
_a_preExp = tmp4_5;
_a_context = tmp4_6;
_txt = omc_CodegenCFunctions_daeSubscriptExp(threadData, _txt, _i_exp, _a_context, _a_preExp, _a_varDecls, _a_auxFunction ,&_a_preExp ,&_a_varDecls ,&_a_auxFunction);
_txt = omc_Tpl_nextIter(threadData, _txt);
_in_txt = _txt;
_in_items = _rest;
_in_a_auxFunction = _a_auxFunction;
_in_a_varDecls = _a_varDecls;
_in_a_preExp = _a_preExp;
_in_a_context = _a_context;
goto _tailrecursive;
goto tmp3_done;
}
case 2: {
if (listEmpty(tmp4_2)) goto tmp3_end;
tmpMeta[4] = MMC_CAR(tmp4_2);
tmpMeta[5] = MMC_CDR(tmp4_2);
_rest = tmpMeta[5];
_txt = tmp4_1;
_a_auxFunction = tmp4_3;
_a_varDecls = tmp4_4;
_a_preExp = tmp4_5;
_a_context = tmp4_6;
_in_txt = _txt;
_in_items = _rest;
_in_a_auxFunction = _a_auxFunction;
_in_a_varDecls = _a_varDecls;
_in_a_preExp = _a_preExp;
_in_a_context = _a_context;
goto _tailrecursive;
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta[0+0];
_out_a_auxFunction = tmpMeta[0+1];
_out_a_varDecls = tmpMeta[0+2];
_out_a_preExp = tmpMeta[0+3];
_return: OMC_LABEL_UNUSED
if (out_out_a_auxFunction) { *out_out_a_auxFunction = _out_a_auxFunction; }
if (out_out_a_varDecls) { *out_out_a_varDecls = _out_a_varDecls; }
if (out_out_a_preExp) { *out_out_a_preExp = _out_a_preExp; }
return _out_txt;
}
DLLExport
modelica_metatype omc_CodegenCFunctions_daeExpCrefLhsFunContextNormal(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_ecr, modelica_metatype _in_a_context, modelica_metatype _in_a_preExp, modelica_metatype _in_a_varDecls, modelica_metatype _in_a_auxFunction, modelica_metatype *out_out_a_preExp, modelica_metatype *out_out_a_varDecls, modelica_metatype *out_out_a_auxFunction)
{
modelica_metatype _out_txt = NULL;
modelica_metatype _out_a_preExp = NULL;
modelica_metatype _out_a_varDecls = NULL;
modelica_metatype _out_a_auxFunction = NULL;
modelica_metatype tmpMeta[5] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_metatype tmp4_2;modelica_metatype tmp4_3;modelica_metatype tmp4_4;modelica_metatype tmp4_5;modelica_metatype tmp4_6;
tmp4_1 = _in_txt;
tmp4_2 = _in_a_ecr;
tmp4_3 = _in_a_context;
tmp4_4 = _in_a_preExp;
tmp4_5 = _in_a_varDecls;
tmp4_6 = _in_a_auxFunction;
{
modelica_metatype _txt = NULL;
modelica_metatype _a_context = NULL;
modelica_metatype _a_preExp = NULL;
modelica_metatype _a_varDecls = NULL;
modelica_metatype _a_auxFunction = NULL;
modelica_metatype _i_ecr = NULL;
modelica_metatype _i_cr = NULL;
modelica_metatype _txt_1 = NULL;
modelica_boolean _ret_0;
volatile mmc_switch_type tmp4;
int tmp5;
tmp4 = 0;
for (; tmp4 < 2; tmp4++) {
switch (MMC_SWITCH_CAST(tmp4)) {
case 0: {
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,6,2) == 0) goto tmp3_end;
tmpMeta[4] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
_i_ecr = tmp4_2;
_i_cr = tmpMeta[4];
_txt = tmp4_1;
_a_context = tmp4_3;
_a_preExp = tmp4_4;
_a_varDecls = tmp4_5;
_a_auxFunction = tmp4_6;
_ret_0 = omc_SimCodeFunctionUtil_crefIsScalar(threadData, _i_cr, _a_context);
_txt = omc_CodegenCFunctions_fun__810(threadData, _txt, _ret_0, _a_auxFunction, _a_varDecls, _a_preExp, _a_context, _i_ecr, _i_cr ,&_a_auxFunction ,&_a_varDecls ,&_a_preExp);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_preExp;
tmpMeta[0+2] = _a_varDecls;
tmpMeta[0+3] = _a_auxFunction;
goto tmp3_done;
}
case 1: {
_txt = tmp4_1;
_i_ecr = tmp4_2;
_a_preExp = tmp4_4;
_a_varDecls = tmp4_5;
_a_auxFunction = tmp4_6;
_txt_1 = omc_Tpl_writeTok(threadData, _OMC_LIT20, _OMC_LIT1250);
_txt_1 = omc_ExpressionDumpTpl_dumpExp(threadData, _txt_1, _i_ecr, _OMC_LIT231);
_txt = omc_CodegenUtil_error(threadData, _txt, omc_Tpl_sourceInfo(threadData, _OMC_LIT27, ((modelica_integer) 5387), ((modelica_integer) 11)), omc_Tpl_textString(threadData, _txt_1));
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_preExp;
tmpMeta[0+2] = _a_varDecls;
tmpMeta[0+3] = _a_auxFunction;
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta[0+0];
_out_a_preExp = tmpMeta[0+1];
_out_a_varDecls = tmpMeta[0+2];
_out_a_auxFunction = tmpMeta[0+3];
_return: OMC_LABEL_UNUSED
if (out_out_a_preExp) { *out_out_a_preExp = _out_a_preExp; }
if (out_out_a_varDecls) { *out_out_a_varDecls = _out_a_varDecls; }
if (out_out_a_auxFunction) { *out_out_a_auxFunction = _out_a_auxFunction; }
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__810(threadData_t *threadData, modelica_metatype _in_txt, modelica_boolean _in_mArg, modelica_metatype _in_a_auxFunction, modelica_metatype _in_a_varDecls, modelica_metatype _in_a_preExp, modelica_metatype _in_a_context, modelica_metatype _in_a_ecr, modelica_metatype _in_a_cr, modelica_metatype *out_out_a_auxFunction, modelica_metatype *out_out_a_varDecls, modelica_metatype *out_out_a_preExp)
{
modelica_metatype _out_txt = NULL;
modelica_metatype _out_a_auxFunction = NULL;
modelica_metatype _out_a_varDecls = NULL;
modelica_metatype _out_a_preExp = NULL;
modelica_metatype tmpMeta[4] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_boolean tmp4_2;modelica_metatype tmp4_3;modelica_metatype tmp4_4;modelica_metatype tmp4_5;modelica_metatype tmp4_6;modelica_metatype tmp4_7;modelica_metatype tmp4_8;
tmp4_1 = _in_txt;
tmp4_2 = _in_mArg;
tmp4_3 = _in_a_auxFunction;
tmp4_4 = _in_a_varDecls;
tmp4_5 = _in_a_preExp;
tmp4_6 = _in_a_context;
tmp4_7 = _in_a_ecr;
tmp4_8 = _in_a_cr;
{
modelica_metatype _txt = NULL;
modelica_metatype _a_auxFunction = NULL;
modelica_metatype _a_varDecls = NULL;
modelica_metatype _a_preExp = NULL;
modelica_metatype _a_context = NULL;
modelica_metatype _a_ecr = NULL;
modelica_metatype _a_cr = NULL;
modelica_boolean _ret_0;
volatile mmc_switch_type tmp4;
int tmp5;
tmp4 = 0;
for (; tmp4 < 2; tmp4++) {
switch (MMC_SWITCH_CAST(tmp4)) {
case 0: {
if (0 != tmp4_2) goto tmp3_end;
_txt = tmp4_1;
_a_auxFunction = tmp4_3;
_a_varDecls = tmp4_4;
_a_preExp = tmp4_5;
_a_context = tmp4_6;
_a_ecr = tmp4_7;
_a_cr = tmp4_8;
_ret_0 = omc_SimCodeFunctionUtil_crefSubIsScalar(threadData, _a_cr);
tmpMeta[0+0] = omc_CodegenCFunctions_fun__809(threadData, _txt, _ret_0, _a_auxFunction, _a_varDecls, _a_preExp, _a_context, _a_cr, _a_ecr, &tmpMeta[0+1], &tmpMeta[0+2], &tmpMeta[0+3]);
goto tmp3_done;
}
case 1: {
_txt = tmp4_1;
_a_auxFunction = tmp4_3;
_a_varDecls = tmp4_4;
_a_preExp = tmp4_5;
_a_context = tmp4_6;
_a_cr = tmp4_8;
_txt = omc_CodegenCFunctions_contextCref(threadData, _txt, _a_cr, _a_context, _a_preExp, _a_varDecls, _a_auxFunction ,&_a_preExp ,&_a_varDecls ,&_a_auxFunction);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_auxFunction;
tmpMeta[0+2] = _a_varDecls;
tmpMeta[0+3] = _a_preExp;
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta[0+0];
_out_a_auxFunction = tmpMeta[0+1];
_out_a_varDecls = tmpMeta[0+2];
_out_a_preExp = tmpMeta[0+3];
_return: OMC_LABEL_UNUSED
if (out_out_a_auxFunction) { *out_out_a_auxFunction = _out_a_auxFunction; }
if (out_out_a_varDecls) { *out_out_a_varDecls = _out_a_varDecls; }
if (out_out_a_preExp) { *out_out_a_preExp = _out_a_preExp; }
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__810(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_mArg, modelica_metatype _in_a_auxFunction, modelica_metatype _in_a_varDecls, modelica_metatype _in_a_preExp, modelica_metatype _in_a_context, modelica_metatype _in_a_ecr, modelica_metatype _in_a_cr, modelica_metatype *out_out_a_auxFunction, modelica_metatype *out_out_a_varDecls, modelica_metatype *out_out_a_preExp)
{
modelica_integer tmp1;
modelica_metatype _out_txt = NULL;
tmp1 = mmc_unbox_integer(_in_mArg);
_out_txt = omc_CodegenCFunctions_fun__810(threadData, _in_txt, tmp1, _in_a_auxFunction, _in_a_varDecls, _in_a_preExp, _in_a_context, _in_a_ecr, _in_a_cr, out_out_a_auxFunction, out_out_a_varDecls, out_out_a_preExp);
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__809(threadData_t *threadData, modelica_metatype _in_txt, modelica_boolean _in_mArg, modelica_metatype _in_a_auxFunction, modelica_metatype _in_a_varDecls, modelica_metatype _in_a_preExp, modelica_metatype _in_a_context, modelica_metatype _in_a_cr, modelica_metatype _in_a_ecr, modelica_metatype *out_out_a_auxFunction, modelica_metatype *out_out_a_varDecls, modelica_metatype *out_out_a_preExp)
{
modelica_metatype _out_txt = NULL;
modelica_metatype _out_a_auxFunction = NULL;
modelica_metatype _out_a_varDecls = NULL;
modelica_metatype _out_a_preExp = NULL;
modelica_metatype tmpMeta[4] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_boolean tmp4_2;modelica_metatype tmp4_3;modelica_metatype tmp4_4;modelica_metatype tmp4_5;modelica_metatype tmp4_6;modelica_metatype tmp4_7;modelica_metatype tmp4_8;
tmp4_1 = _in_txt;
tmp4_2 = _in_mArg;
tmp4_3 = _in_a_auxFunction;
tmp4_4 = _in_a_varDecls;
tmp4_5 = _in_a_preExp;
tmp4_6 = _in_a_context;
tmp4_7 = _in_a_cr;
tmp4_8 = _in_a_ecr;
{
modelica_metatype _txt = NULL;
modelica_metatype _a_auxFunction = NULL;
modelica_metatype _a_varDecls = NULL;
modelica_metatype _a_preExp = NULL;
modelica_metatype _a_context = NULL;
modelica_metatype _a_cr = NULL;
modelica_metatype _a_ecr = NULL;
modelica_metatype _txt_0 = NULL;
volatile mmc_switch_type tmp4;
int tmp5;
tmp4 = 0;
for (; tmp4 < 2; tmp4++) {
switch (MMC_SWITCH_CAST(tmp4)) {
case 0: {
if (0 != tmp4_2) goto tmp3_end;
_txt = tmp4_1;
_a_auxFunction = tmp4_3;
_a_varDecls = tmp4_4;
_a_preExp = tmp4_5;
_a_ecr = tmp4_8;
_txt_0 = omc_Tpl_writeTok(threadData, _OMC_LIT20, _OMC_LIT1244);
_txt_0 = omc_ExpressionDumpTpl_dumpExp(threadData, _txt_0, _a_ecr, _OMC_LIT231);
_txt = omc_CodegenUtil_error(threadData, _txt, omc_Tpl_sourceInfo(threadData, _OMC_LIT27, ((modelica_integer) 5384), ((modelica_integer) 13)), omc_Tpl_textString(threadData, _txt_0));
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_auxFunction;
tmpMeta[0+2] = _a_varDecls;
tmpMeta[0+3] = _a_preExp;
goto tmp3_done;
}
case 1: {
_txt = tmp4_1;
_a_auxFunction = tmp4_3;
_a_varDecls = tmp4_4;
_a_preExp = tmp4_5;
_a_context = tmp4_6;
_a_cr = tmp4_7;
_txt = omc_CodegenCFunctions_contextCref(threadData, _txt, _a_cr, _a_context, _a_preExp, _a_varDecls, _a_auxFunction ,&_a_preExp ,&_a_varDecls ,&_a_auxFunction);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_auxFunction;
tmpMeta[0+2] = _a_varDecls;
tmpMeta[0+3] = _a_preExp;
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta[0+0];
_out_a_auxFunction = tmpMeta[0+1];
_out_a_varDecls = tmpMeta[0+2];
_out_a_preExp = tmpMeta[0+3];
_return: OMC_LABEL_UNUSED
if (out_out_a_auxFunction) { *out_out_a_auxFunction = _out_a_auxFunction; }
if (out_out_a_varDecls) { *out_out_a_varDecls = _out_a_varDecls; }
if (out_out_a_preExp) { *out_out_a_preExp = _out_a_preExp; }
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__809(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_mArg, modelica_metatype _in_a_auxFunction, modelica_metatype _in_a_varDecls, modelica_metatype _in_a_preExp, modelica_metatype _in_a_context, modelica_metatype _in_a_cr, modelica_metatype _in_a_ecr, modelica_metatype *out_out_a_auxFunction, modelica_metatype *out_out_a_varDecls, modelica_metatype *out_out_a_preExp)
{
modelica_integer tmp1;
modelica_metatype _out_txt = NULL;
tmp1 = mmc_unbox_integer(_in_mArg);
_out_txt = omc_CodegenCFunctions_fun__809(threadData, _in_txt, tmp1, _in_a_auxFunction, _in_a_varDecls, _in_a_preExp, _in_a_context, _in_a_cr, _in_a_ecr, out_out_a_auxFunction, out_out_a_varDecls, out_out_a_preExp);
return _out_txt;
}
DLLExport
modelica_metatype omc_CodegenCFunctions_daeExpCrefLhsFunContext(threadData_t *threadData, modelica_metatype _txt, modelica_metatype _a_ecr, modelica_metatype _a_context, modelica_metatype _a_preExp, modelica_metatype _a_varDecls, modelica_metatype _a_auxFunction, modelica_metatype *out_out_a_preExp, modelica_metatype *out_out_a_varDecls, modelica_metatype *out_out_a_auxFunction)
{
modelica_metatype _out_txt = NULL;
modelica_metatype _out_a_preExp = NULL;
modelica_metatype _out_a_varDecls = NULL;
modelica_metatype _out_a_auxFunction = NULL;
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
_out_txt = omc_CodegenCFunctions_fun__807(threadData, _txt, _a_context, _a_ecr, _a_preExp, _a_varDecls, _a_auxFunction ,&_out_a_preExp ,&_out_a_varDecls ,&_out_a_auxFunction);
_return: OMC_LABEL_UNUSED
if (out_out_a_preExp) { *out_out_a_preExp = _out_a_preExp; }
if (out_out_a_varDecls) { *out_out_a_varDecls = _out_a_varDecls; }
if (out_out_a_auxFunction) { *out_out_a_auxFunction = _out_a_auxFunction; }
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__807(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_context, modelica_metatype _in_a_ecr, modelica_metatype _in_a_preExp, modelica_metatype _in_a_varDecls, modelica_metatype _in_a_auxFunction, modelica_metatype *out_out_a_preExp, modelica_metatype *out_out_a_varDecls, modelica_metatype *out_out_a_auxFunction)
{
modelica_metatype _out_txt = NULL;
modelica_metatype _out_a_preExp = NULL;
modelica_metatype _out_a_varDecls = NULL;
modelica_metatype _out_a_auxFunction = NULL;
modelica_metatype tmpMeta[5] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_metatype tmp4_2;modelica_metatype tmp4_3;modelica_metatype tmp4_4;modelica_metatype tmp4_5;modelica_metatype tmp4_6;
tmp4_1 = _in_txt;
tmp4_2 = _in_a_context;
tmp4_3 = _in_a_ecr;
tmp4_4 = _in_a_preExp;
tmp4_5 = _in_a_varDecls;
tmp4_6 = _in_a_auxFunction;
{
modelica_metatype _txt = NULL;
modelica_metatype _a_ecr = NULL;
modelica_metatype _a_preExp = NULL;
modelica_metatype _a_varDecls = NULL;
modelica_metatype _a_auxFunction = NULL;
modelica_metatype _i_context = NULL;
modelica_metatype _txt_0 = NULL;
volatile mmc_switch_type tmp4;
int tmp5;
tmp4 = 0;
for (; tmp4 < 3; tmp4++) {
switch (MMC_SWITCH_CAST(tmp4)) {
case 0: {
modelica_integer tmp6;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,1,2) == 0) goto tmp3_end;
tmpMeta[4] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 3));
tmp6 = mmc_unbox_integer(tmpMeta[4]);
if (1 != tmp6) goto tmp3_end;
_i_context = tmp4_2;
_txt = tmp4_1;
_a_ecr = tmp4_3;
_a_preExp = tmp4_4;
_a_varDecls = tmp4_5;
_a_auxFunction = tmp4_6;
tmpMeta[0+0] = omc_CodegenCFunctions_daeExpCrefLhsFunContextParModExpl(threadData, _txt, _a_ecr, _i_context, _a_preExp, _a_varDecls, _a_auxFunction, &tmpMeta[0+1], &tmpMeta[0+2], &tmpMeta[0+3]);
goto tmp3_done;
}
case 1: {
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,1,2) == 0) goto tmp3_end;
_i_context = tmp4_2;
_txt = tmp4_1;
_a_ecr = tmp4_3;
_a_preExp = tmp4_4;
_a_varDecls = tmp4_5;
_a_auxFunction = tmp4_6;
tmpMeta[0+0] = omc_CodegenCFunctions_daeExpCrefLhsFunContextNormal(threadData, _txt, _a_ecr, _i_context, _a_preExp, _a_varDecls, _a_auxFunction, &tmpMeta[0+1], &tmpMeta[0+2], &tmpMeta[0+3]);
goto tmp3_done;
}
case 2: {
_txt = tmp4_1;
_a_ecr = tmp4_3;
_a_preExp = tmp4_4;
_a_varDecls = tmp4_5;
_a_auxFunction = tmp4_6;
_txt_0 = omc_Tpl_writeTok(threadData, _OMC_LIT20, _OMC_LIT1252);
_txt_0 = omc_ExpressionDumpTpl_dumpExp(threadData, _txt_0, _a_ecr, _OMC_LIT231);
_txt = omc_CodegenUtil_error(threadData, _txt, omc_Tpl_sourceInfo(threadData, _OMC_LIT27, ((modelica_integer) 5369), ((modelica_integer) 11)), omc_Tpl_textString(threadData, _txt_0));
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_preExp;
tmpMeta[0+2] = _a_varDecls;
tmpMeta[0+3] = _a_auxFunction;
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta[0+0];
_out_a_preExp = tmpMeta[0+1];
_out_a_varDecls = tmpMeta[0+2];
_out_a_auxFunction = tmpMeta[0+3];
_return: OMC_LABEL_UNUSED
if (out_out_a_preExp) { *out_out_a_preExp = _out_a_preExp; }
if (out_out_a_varDecls) { *out_out_a_varDecls = _out_a_varDecls; }
if (out_out_a_auxFunction) { *out_out_a_auxFunction = _out_a_auxFunction; }
return _out_txt;
}
DLLExport
modelica_metatype omc_CodegenCFunctions_indexSubs(threadData_t *threadData, modelica_metatype _txt, modelica_metatype _a_dims, modelica_metatype _a_subs, modelica_metatype _a_context, modelica_metatype _a_preExp, modelica_metatype _a_varDecls, modelica_metatype _a_auxFunction, modelica_metatype *out_out_a_preExp, modelica_metatype *out_out_a_varDecls, modelica_metatype *out_out_a_auxFunction)
{
modelica_metatype _out_txt = NULL;
modelica_metatype _out_a_preExp = NULL;
modelica_metatype _out_a_varDecls = NULL;
modelica_metatype _out_a_auxFunction = NULL;
modelica_boolean _ret_2;
modelica_integer _ret_1;
modelica_integer _ret_0;
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
_ret_0 = listLength(_a_dims);
_ret_1 = listLength(_a_subs);
_ret_2 = (_ret_0 != _ret_1);
_out_txt = omc_CodegenCFunctions_fun__805(threadData, _txt, _ret_2, _a_dims, _a_subs, _a_context, _a_preExp, _a_varDecls, _a_auxFunction ,&_out_a_preExp ,&_out_a_varDecls ,&_out_a_auxFunction);
_return: OMC_LABEL_UNUSED
if (out_out_a_preExp) { *out_out_a_preExp = _out_a_preExp; }
if (out_out_a_varDecls) { *out_out_a_varDecls = _out_a_varDecls; }
if (out_out_a_auxFunction) { *out_out_a_auxFunction = _out_a_auxFunction; }
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__805(threadData_t *threadData, modelica_metatype _in_txt, modelica_boolean _in_mArg, modelica_metatype _in_a_dims, modelica_metatype _in_a_subs, modelica_metatype _in_a_context, modelica_metatype _in_a_preExp, modelica_metatype _in_a_varDecls, modelica_metatype _in_a_auxFunction, modelica_metatype *out_out_a_preExp, modelica_metatype *out_out_a_varDecls, modelica_metatype *out_out_a_auxFunction)
{
modelica_metatype _out_txt = NULL;
modelica_metatype _out_a_preExp = NULL;
modelica_metatype _out_a_varDecls = NULL;
modelica_metatype _out_a_auxFunction = NULL;
modelica_metatype tmpMeta[4] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_boolean tmp4_2;modelica_metatype tmp4_3;modelica_metatype tmp4_4;modelica_metatype tmp4_5;modelica_metatype tmp4_6;modelica_metatype tmp4_7;modelica_metatype tmp4_8;
tmp4_1 = _in_txt;
tmp4_2 = _in_mArg;
tmp4_3 = _in_a_dims;
tmp4_4 = _in_a_subs;
tmp4_5 = _in_a_context;
tmp4_6 = _in_a_preExp;
tmp4_7 = _in_a_varDecls;
tmp4_8 = _in_a_auxFunction;
{
modelica_metatype _txt = NULL;
modelica_metatype _a_dims = NULL;
modelica_metatype _a_subs = NULL;
modelica_metatype _a_context = NULL;
modelica_metatype _a_preExp = NULL;
modelica_metatype _a_varDecls = NULL;
modelica_metatype _a_auxFunction = NULL;
modelica_integer _ret_0;
volatile mmc_switch_type tmp4;
int tmp5;
tmp4 = 0;
for (; tmp4 < 2; tmp4++) {
switch (MMC_SWITCH_CAST(tmp4)) {
case 0: {
if (0 != tmp4_2) goto tmp3_end;
_txt = tmp4_1;
_a_dims = tmp4_3;
_a_subs = tmp4_4;
_a_context = tmp4_5;
_a_preExp = tmp4_6;
_a_varDecls = tmp4_7;
_a_auxFunction = tmp4_8;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1254);
_ret_0 = listLength(_a_dims);
_txt = omc_Tpl_writeStr(threadData, _txt, intString(_ret_0));
_txt = omc_CodegenCFunctions_lm__803(threadData, _txt, _a_dims, _a_auxFunction, _a_varDecls, _a_preExp, _a_context ,&_a_auxFunction ,&_a_varDecls ,&_a_preExp);
_txt = omc_CodegenCFunctions_lm__804(threadData, _txt, _a_subs, _a_auxFunction, _a_varDecls, _a_preExp, _a_context ,&_a_auxFunction ,&_a_varDecls ,&_a_preExp);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1256);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_preExp;
tmpMeta[0+2] = _a_varDecls;
tmpMeta[0+3] = _a_auxFunction;
goto tmp3_done;
}
case 1: {
_txt = tmp4_1;
_a_preExp = tmp4_6;
_a_varDecls = tmp4_7;
_a_auxFunction = tmp4_8;
_txt = omc_CodegenUtil_error(threadData, _txt, omc_Tpl_sourceInfo(threadData, _OMC_LIT27, ((modelica_integer) 5354), ((modelica_integer) 11)), _OMC_LIT1257);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_preExp;
tmpMeta[0+2] = _a_varDecls;
tmpMeta[0+3] = _a_auxFunction;
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta[0+0];
_out_a_preExp = tmpMeta[0+1];
_out_a_varDecls = tmpMeta[0+2];
_out_a_auxFunction = tmpMeta[0+3];
_return: OMC_LABEL_UNUSED
if (out_out_a_preExp) { *out_out_a_preExp = _out_a_preExp; }
if (out_out_a_varDecls) { *out_out_a_varDecls = _out_a_varDecls; }
if (out_out_a_auxFunction) { *out_out_a_auxFunction = _out_a_auxFunction; }
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__805(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_mArg, modelica_metatype _in_a_dims, modelica_metatype _in_a_subs, modelica_metatype _in_a_context, modelica_metatype _in_a_preExp, modelica_metatype _in_a_varDecls, modelica_metatype _in_a_auxFunction, modelica_metatype *out_out_a_preExp, modelica_metatype *out_out_a_varDecls, modelica_metatype *out_out_a_auxFunction)
{
modelica_integer tmp1;
modelica_metatype _out_txt = NULL;
tmp1 = mmc_unbox_integer(_in_mArg);
_out_txt = omc_CodegenCFunctions_fun__805(threadData, _in_txt, tmp1, _in_a_dims, _in_a_subs, _in_a_context, _in_a_preExp, _in_a_varDecls, _in_a_auxFunction, out_out_a_preExp, out_out_a_varDecls, out_out_a_auxFunction);
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_lm__804(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_items, modelica_metatype _in_a_auxFunction, modelica_metatype _in_a_varDecls, modelica_metatype _in_a_preExp, modelica_metatype _in_a_context, modelica_metatype *out_out_a_auxFunction, modelica_metatype *out_out_a_varDecls, modelica_metatype *out_out_a_preExp)
{
modelica_metatype _out_txt = NULL;
modelica_metatype _out_a_auxFunction = NULL;
modelica_metatype _out_a_varDecls = NULL;
modelica_metatype _out_a_preExp = NULL;
modelica_metatype tmpMeta[7] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_metatype tmp4_2;modelica_metatype tmp4_3;modelica_metatype tmp4_4;modelica_metatype tmp4_5;modelica_metatype tmp4_6;
tmp4_1 = _in_txt;
tmp4_2 = _in_items;
tmp4_3 = _in_a_auxFunction;
tmp4_4 = _in_a_varDecls;
tmp4_5 = _in_a_preExp;
tmp4_6 = _in_a_context;
{
modelica_metatype _txt = NULL;
modelica_metatype _rest = NULL;
modelica_metatype _a_auxFunction = NULL;
modelica_metatype _a_varDecls = NULL;
modelica_metatype _a_preExp = NULL;
modelica_metatype _a_context = NULL;
modelica_metatype _i_exp = NULL;
volatile mmc_switch_type tmp4;
int tmp5;
tmp4 = 0;
for (; tmp4 < 3; tmp4++) {
switch (MMC_SWITCH_CAST(tmp4)) {
case 0: {
if (!listEmpty(tmp4_2)) goto tmp3_end;
_txt = tmp4_1;
_a_auxFunction = tmp4_3;
_a_varDecls = tmp4_4;
_a_preExp = tmp4_5;
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_auxFunction;
tmpMeta[0+2] = _a_varDecls;
tmpMeta[0+3] = _a_preExp;
goto tmp3_done;
}
case 1: {
if (listEmpty(tmp4_2)) goto tmp3_end;
tmpMeta[4] = MMC_CAR(tmp4_2);
tmpMeta[5] = MMC_CDR(tmp4_2);
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[4],2,1) == 0) goto tmp3_end;
tmpMeta[6] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[4]), 2));
_i_exp = tmpMeta[6];
_rest = tmpMeta[5];
_txt = tmp4_1;
_a_auxFunction = tmp4_3;
_a_varDecls = tmp4_4;
_a_preExp = tmp4_5;
_a_context = tmp4_6;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT292);
_txt = omc_CodegenCFunctions_daeSubscriptExp(threadData, _txt, _i_exp, _a_context, _a_preExp, _a_varDecls, _a_auxFunction ,&_a_preExp ,&_a_varDecls ,&_a_auxFunction);
_in_txt = _txt;
_in_items = _rest;
_in_a_auxFunction = _a_auxFunction;
_in_a_varDecls = _a_varDecls;
_in_a_preExp = _a_preExp;
_in_a_context = _a_context;
goto _tailrecursive;
goto tmp3_done;
}
case 2: {
if (listEmpty(tmp4_2)) goto tmp3_end;
tmpMeta[4] = MMC_CAR(tmp4_2);
tmpMeta[5] = MMC_CDR(tmp4_2);
_rest = tmpMeta[5];
_txt = tmp4_1;
_a_auxFunction = tmp4_3;
_a_varDecls = tmp4_4;
_a_preExp = tmp4_5;
_a_context = tmp4_6;
_in_txt = _txt;
_in_items = _rest;
_in_a_auxFunction = _a_auxFunction;
_in_a_varDecls = _a_varDecls;
_in_a_preExp = _a_preExp;
_in_a_context = _a_context;
goto _tailrecursive;
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta[0+0];
_out_a_auxFunction = tmpMeta[0+1];
_out_a_varDecls = tmpMeta[0+2];
_out_a_preExp = tmpMeta[0+3];
_return: OMC_LABEL_UNUSED
if (out_out_a_auxFunction) { *out_out_a_auxFunction = _out_a_auxFunction; }
if (out_out_a_varDecls) { *out_out_a_varDecls = _out_a_varDecls; }
if (out_out_a_preExp) { *out_out_a_preExp = _out_a_preExp; }
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_lm__803(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_items, modelica_metatype _in_a_auxFunction, modelica_metatype _in_a_varDecls, modelica_metatype _in_a_preExp, modelica_metatype _in_a_context, modelica_metatype *out_out_a_auxFunction, modelica_metatype *out_out_a_varDecls, modelica_metatype *out_out_a_preExp)
{
modelica_metatype _out_txt = NULL;
modelica_metatype _out_a_auxFunction = NULL;
modelica_metatype _out_a_varDecls = NULL;
modelica_metatype _out_a_preExp = NULL;
modelica_metatype tmpMeta[6] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_metatype tmp4_2;modelica_metatype tmp4_3;modelica_metatype tmp4_4;modelica_metatype tmp4_5;modelica_metatype tmp4_6;
tmp4_1 = _in_txt;
tmp4_2 = _in_items;
tmp4_3 = _in_a_auxFunction;
tmp4_4 = _in_a_varDecls;
tmp4_5 = _in_a_preExp;
tmp4_6 = _in_a_context;
{
modelica_metatype _txt = NULL;
modelica_metatype _rest = NULL;
modelica_metatype _a_auxFunction = NULL;
modelica_metatype _a_varDecls = NULL;
modelica_metatype _a_preExp = NULL;
modelica_metatype _a_context = NULL;
modelica_metatype _i_dim = NULL;
volatile mmc_switch_type tmp4;
int tmp5;
tmp4 = 0;
for (; tmp4 < 2; tmp4++) {
switch (MMC_SWITCH_CAST(tmp4)) {
case 0: {
if (!listEmpty(tmp4_2)) goto tmp3_end;
_txt = tmp4_1;
_a_auxFunction = tmp4_3;
_a_varDecls = tmp4_4;
_a_preExp = tmp4_5;
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_auxFunction;
tmpMeta[0+2] = _a_varDecls;
tmpMeta[0+3] = _a_preExp;
goto tmp3_done;
}
case 1: {
if (listEmpty(tmp4_2)) goto tmp3_end;
tmpMeta[4] = MMC_CAR(tmp4_2);
tmpMeta[5] = MMC_CDR(tmp4_2);
_i_dim = tmpMeta[4];
_rest = tmpMeta[5];
_txt = tmp4_1;
_a_auxFunction = tmp4_3;
_a_varDecls = tmp4_4;
_a_preExp = tmp4_5;
_a_context = tmp4_6;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT292);
_txt = omc_CodegenCFunctions_dimension(threadData, _txt, _i_dim, _a_context, _a_preExp, _a_varDecls, _a_auxFunction ,&_a_preExp ,&_a_varDecls ,&_a_auxFunction);
_in_txt = _txt;
_in_items = _rest;
_in_a_auxFunction = _a_auxFunction;
_in_a_varDecls = _a_varDecls;
_in_a_preExp = _a_preExp;
_in_a_context = _a_context;
goto _tailrecursive;
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta[0+0];
_out_a_auxFunction = tmpMeta[0+1];
_out_a_varDecls = tmpMeta[0+2];
_out_a_preExp = tmpMeta[0+3];
_return: OMC_LABEL_UNUSED
if (out_out_a_auxFunction) { *out_out_a_auxFunction = _out_a_auxFunction; }
if (out_out_a_varDecls) { *out_out_a_varDecls = _out_a_varDecls; }
if (out_out_a_preExp) { *out_out_a_preExp = _out_a_preExp; }
return _out_txt;
}
DLLExport
modelica_metatype omc_CodegenCFunctions_daeExpCrefLhsSimContext(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_ecr, modelica_metatype _in_a_context, modelica_metatype _in_a_preExp, modelica_metatype _in_a_varDecls, modelica_metatype _in_a_auxFunction, modelica_boolean _in_a_isPre, modelica_metatype *out_out_a_preExp, modelica_metatype *out_out_a_varDecls, modelica_metatype *out_out_a_auxFunction)
{
modelica_metatype _out_txt = NULL;
modelica_metatype _out_a_preExp = NULL;
modelica_metatype _out_a_varDecls = NULL;
modelica_metatype _out_a_auxFunction = NULL;
modelica_metatype tmpMeta[8] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_metatype tmp4_2;modelica_metatype tmp4_3;modelica_metatype tmp4_4;modelica_metatype tmp4_5;modelica_metatype tmp4_6;modelica_boolean tmp4_7;
tmp4_1 = _in_txt;
tmp4_2 = _in_a_ecr;
tmp4_3 = _in_a_context;
tmp4_4 = _in_a_preExp;
tmp4_5 = _in_a_varDecls;
tmp4_6 = _in_a_auxFunction;
tmp4_7 = _in_a_isPre;
{
modelica_metatype _txt = NULL;
modelica_metatype _a_context = NULL;
modelica_metatype _a_preExp = NULL;
modelica_metatype _a_varDecls = NULL;
modelica_metatype _a_auxFunction = NULL;
modelica_boolean _a_isPre;
modelica_metatype _i_dims = NULL;
modelica_metatype _i_ecr = NULL;
modelica_metatype _i_aty = NULL;
modelica_metatype _i_cr = NULL;
modelica_boolean _ret_5;
modelica_boolean _ret_4;
modelica_metatype _l_wrapperArray = NULL;
modelica_metatype _l_arrayType = NULL;
modelica_metatype _l_type = NULL;
modelica_metatype _txt_0 = NULL;
volatile mmc_switch_type tmp4;
int tmp5;
tmp4 = 0;
for (; tmp4 < 5; tmp4++) {
switch (MMC_SWITCH_CAST(tmp4)) {
case 0: {
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,6,2) == 0) goto tmp3_end;
tmpMeta[4] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
tmpMeta[5] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 3));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[5],9,3) == 0) goto tmp3_end;
tmpMeta[6] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[5]), 2));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[6],17,1) == 0) goto tmp3_end;
_i_cr = tmpMeta[4];
_txt = tmp4_1;
_a_context = tmp4_3;
_a_preExp = tmp4_4;
_a_varDecls = tmp4_5;
_a_auxFunction = tmp4_6;
_a_isPre = tmp4_7;
_txt = omc_CodegenCFunctions_contextCrefIsPre(threadData, _txt, _i_cr, _a_context, _a_auxFunction, _a_isPre ,&_a_auxFunction);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_preExp;
tmpMeta[0+2] = _a_varDecls;
tmpMeta[0+3] = _a_auxFunction;
goto tmp3_done;
}
case 1: {
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,6,2) == 0) goto tmp3_end;
tmpMeta[4] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
tmpMeta[5] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 3));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[5],9,3) == 0) goto tmp3_end;
_i_cr = tmpMeta[4];
_txt = tmp4_1;
_a_preExp = tmp4_4;
_a_varDecls = tmp4_5;
_a_auxFunction = tmp4_6;
_txt_0 = omc_Tpl_writeTok(threadData, _OMC_LIT20, _OMC_LIT1259);
_txt_0 = omc_CodegenUtil_crefStrNoUnderscore(threadData, _txt_0, _i_cr);
_txt_0 = omc_Tpl_writeTok(threadData, _txt_0, _OMC_LIT1261);
_txt = omc_CodegenUtil_error(threadData, _txt, omc_Tpl_sourceInfo(threadData, _OMC_LIT27, ((modelica_integer) 5325), ((modelica_integer) 11)), omc_Tpl_textString(threadData, _txt_0));
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_preExp;
tmpMeta[0+2] = _a_varDecls;
tmpMeta[0+3] = _a_auxFunction;
goto tmp3_done;
}
case 2: {
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,6,2) == 0) goto tmp3_end;
tmpMeta[4] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
tmpMeta[5] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 3));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[5],6,2) == 0) goto tmp3_end;
tmpMeta[6] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[5]), 2));
tmpMeta[7] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[5]), 3));
_i_ecr = tmp4_2;
_i_cr = tmpMeta[4];
_i_aty = tmpMeta[6];
_i_dims = tmpMeta[7];
_txt = tmp4_1;
_a_context = tmp4_3;
_a_preExp = tmp4_4;
_a_varDecls = tmp4_5;
_a_auxFunction = tmp4_6;
_a_isPre = tmp4_7;
_l_type = omc_CodegenCFunctions_expTypeShort(threadData, _OMC_LIT20, _i_aty);
_l_arrayType = omc_Tpl_writeText(threadData, _OMC_LIT20, _l_type);
_l_arrayType = omc_Tpl_writeTok(threadData, _l_arrayType, _OMC_LIT1120);
_l_wrapperArray = omc_CodegenCFunctions_tempDecl(threadData, _OMC_LIT20, omc_Tpl_textString(threadData, _l_arrayType), _a_varDecls ,&_a_varDecls);
_ret_4 = omc_SimCodeFunctionUtil_crefSubIsScalar(threadData, _i_cr);
_txt = omc_CodegenCFunctions_fun__799(threadData, _txt, _ret_4, _l_wrapperArray, _l_type, _a_isPre, _i_cr, _a_auxFunction, _a_varDecls, _a_preExp, _a_context, _i_dims, _i_ecr ,&_a_auxFunction ,&_a_varDecls ,&_a_preExp);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_preExp;
tmpMeta[0+2] = _a_varDecls;
tmpMeta[0+3] = _a_auxFunction;
goto tmp3_done;
}
case 3: {
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,6,2) == 0) goto tmp3_end;
tmpMeta[4] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
_i_ecr = tmp4_2;
_i_cr = tmpMeta[4];
_txt = tmp4_1;
_a_context = tmp4_3;
_a_preExp = tmp4_4;
_a_varDecls = tmp4_5;
_a_auxFunction = tmp4_6;
_a_isPre = tmp4_7;
_ret_5 = omc_ComponentReference_crefIsScalarWithAllConstSubs(threadData, _i_cr);
_txt = omc_CodegenCFunctions_fun__801(threadData, _txt, _ret_5, _a_varDecls, _a_preExp, _a_isPre, _a_auxFunction, _a_context, _i_ecr, _i_cr ,&_a_varDecls ,&_a_preExp ,&_a_auxFunction);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_preExp;
tmpMeta[0+2] = _a_varDecls;
tmpMeta[0+3] = _a_auxFunction;
goto tmp3_done;
}
case 4: {
_txt = tmp4_1;
_a_preExp = tmp4_4;
_a_varDecls = tmp4_5;
_a_auxFunction = tmp4_6;
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_preExp;
tmpMeta[0+2] = _a_varDecls;
tmpMeta[0+3] = _a_auxFunction;
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta[0+0];
_out_a_preExp = tmpMeta[0+1];
_out_a_varDecls = tmpMeta[0+2];
_out_a_auxFunction = tmpMeta[0+3];
_return: OMC_LABEL_UNUSED
if (out_out_a_preExp) { *out_out_a_preExp = _out_a_preExp; }
if (out_out_a_varDecls) { *out_out_a_varDecls = _out_a_varDecls; }
if (out_out_a_auxFunction) { *out_out_a_auxFunction = _out_a_auxFunction; }
return _out_txt;
}
modelica_metatype boxptr_CodegenCFunctions_daeExpCrefLhsSimContext(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_ecr, modelica_metatype _in_a_context, modelica_metatype _in_a_preExp, modelica_metatype _in_a_varDecls, modelica_metatype _in_a_auxFunction, modelica_metatype _in_a_isPre, modelica_metatype *out_out_a_preExp, modelica_metatype *out_out_a_varDecls, modelica_metatype *out_out_a_auxFunction)
{
modelica_integer tmp1;
modelica_metatype _out_txt = NULL;
tmp1 = mmc_unbox_integer(_in_a_isPre);
_out_txt = omc_CodegenCFunctions_daeExpCrefLhsSimContext(threadData, _in_txt, _in_a_ecr, _in_a_context, _in_a_preExp, _in_a_varDecls, _in_a_auxFunction, tmp1, out_out_a_preExp, out_out_a_varDecls, out_out_a_auxFunction);
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__801(threadData_t *threadData, modelica_metatype _in_txt, modelica_boolean _in_mArg, modelica_metatype _in_a_varDecls, modelica_metatype _in_a_preExp, modelica_boolean _in_a_isPre, modelica_metatype _in_a_auxFunction, modelica_metatype _in_a_context, modelica_metatype _in_a_ecr, modelica_metatype _in_a_cr, modelica_metatype *out_out_a_varDecls, modelica_metatype *out_out_a_preExp, modelica_metatype *out_out_a_auxFunction)
{
modelica_metatype _out_txt = NULL;
modelica_metatype _out_a_varDecls = NULL;
modelica_metatype _out_a_preExp = NULL;
modelica_metatype _out_a_auxFunction = NULL;
modelica_metatype tmpMeta[4] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_boolean tmp4_2;modelica_metatype tmp4_3;modelica_metatype tmp4_4;modelica_boolean tmp4_5;modelica_metatype tmp4_6;modelica_metatype tmp4_7;modelica_metatype tmp4_8;modelica_metatype tmp4_9;
tmp4_1 = _in_txt;
tmp4_2 = _in_mArg;
tmp4_3 = _in_a_varDecls;
tmp4_4 = _in_a_preExp;
tmp4_5 = _in_a_isPre;
tmp4_6 = _in_a_auxFunction;
tmp4_7 = _in_a_context;
tmp4_8 = _in_a_ecr;
tmp4_9 = _in_a_cr;
{
modelica_metatype _txt = NULL;
modelica_metatype _a_varDecls = NULL;
modelica_metatype _a_preExp = NULL;
modelica_boolean _a_isPre;
modelica_metatype _a_auxFunction = NULL;
modelica_metatype _a_context = NULL;
modelica_metatype _a_ecr = NULL;
modelica_metatype _a_cr = NULL;
modelica_boolean _ret_0;
volatile mmc_switch_type tmp4;
int tmp5;
tmp4 = 0;
for (; tmp4 < 2; tmp4++) {
switch (MMC_SWITCH_CAST(tmp4)) {
case 0: {
if (0 != tmp4_2) goto tmp3_end;
_txt = tmp4_1;
_a_varDecls = tmp4_3;
_a_preExp = tmp4_4;
_a_isPre = tmp4_5;
_a_auxFunction = tmp4_6;
_a_context = tmp4_7;
_a_ecr = tmp4_8;
_a_cr = tmp4_9;
_ret_0 = omc_ComponentReference_crefIsScalarWithVariableSubs(threadData, _a_cr);
tmpMeta[0+0] = omc_CodegenCFunctions_fun__800(threadData, _txt, _ret_0, _a_varDecls, _a_preExp, _a_isPre, _a_auxFunction, _a_context, _a_cr, _a_ecr, &tmpMeta[0+1], &tmpMeta[0+2], &tmpMeta[0+3]);
goto tmp3_done;
}
case 1: {
_txt = tmp4_1;
_a_varDecls = tmp4_3;
_a_preExp = tmp4_4;
_a_isPre = tmp4_5;
_a_auxFunction = tmp4_6;
_a_context = tmp4_7;
_a_cr = tmp4_9;
_txt = omc_CodegenCFunctions_contextCrefIsPre(threadData, _txt, _a_cr, _a_context, _a_auxFunction, _a_isPre ,&_a_auxFunction);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_varDecls;
tmpMeta[0+2] = _a_preExp;
tmpMeta[0+3] = _a_auxFunction;
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta[0+0];
_out_a_varDecls = tmpMeta[0+1];
_out_a_preExp = tmpMeta[0+2];
_out_a_auxFunction = tmpMeta[0+3];
_return: OMC_LABEL_UNUSED
if (out_out_a_varDecls) { *out_out_a_varDecls = _out_a_varDecls; }
if (out_out_a_preExp) { *out_out_a_preExp = _out_a_preExp; }
if (out_out_a_auxFunction) { *out_out_a_auxFunction = _out_a_auxFunction; }
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__801(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_mArg, modelica_metatype _in_a_varDecls, modelica_metatype _in_a_preExp, modelica_metatype _in_a_isPre, modelica_metatype _in_a_auxFunction, modelica_metatype _in_a_context, modelica_metatype _in_a_ecr, modelica_metatype _in_a_cr, modelica_metatype *out_out_a_varDecls, modelica_metatype *out_out_a_preExp, modelica_metatype *out_out_a_auxFunction)
{
modelica_integer tmp1;
modelica_integer tmp2;
modelica_metatype _out_txt = NULL;
tmp1 = mmc_unbox_integer(_in_mArg);
tmp2 = mmc_unbox_integer(_in_a_isPre);
_out_txt = omc_CodegenCFunctions_fun__801(threadData, _in_txt, tmp1, _in_a_varDecls, _in_a_preExp, tmp2, _in_a_auxFunction, _in_a_context, _in_a_ecr, _in_a_cr, out_out_a_varDecls, out_out_a_preExp, out_out_a_auxFunction);
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__800(threadData_t *threadData, modelica_metatype _in_txt, modelica_boolean _in_mArg, modelica_metatype _in_a_varDecls, modelica_metatype _in_a_preExp, modelica_boolean _in_a_isPre, modelica_metatype _in_a_auxFunction, modelica_metatype _in_a_context, modelica_metatype _in_a_cr, modelica_metatype _in_a_ecr, modelica_metatype *out_out_a_varDecls, modelica_metatype *out_out_a_preExp, modelica_metatype *out_out_a_auxFunction)
{
modelica_metatype _out_txt = NULL;
modelica_metatype _out_a_varDecls = NULL;
modelica_metatype _out_a_preExp = NULL;
modelica_metatype _out_a_auxFunction = NULL;
modelica_metatype tmpMeta[4] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_boolean tmp4_2;modelica_metatype tmp4_3;modelica_metatype tmp4_4;modelica_boolean tmp4_5;modelica_metatype tmp4_6;modelica_metatype tmp4_7;modelica_metatype tmp4_8;modelica_metatype tmp4_9;
tmp4_1 = _in_txt;
tmp4_2 = _in_mArg;
tmp4_3 = _in_a_varDecls;
tmp4_4 = _in_a_preExp;
tmp4_5 = _in_a_isPre;
tmp4_6 = _in_a_auxFunction;
tmp4_7 = _in_a_context;
tmp4_8 = _in_a_cr;
tmp4_9 = _in_a_ecr;
{
modelica_metatype _txt = NULL;
modelica_metatype _a_varDecls = NULL;
modelica_metatype _a_preExp = NULL;
modelica_boolean _a_isPre;
modelica_metatype _a_auxFunction = NULL;
modelica_metatype _a_context = NULL;
modelica_metatype _a_cr = NULL;
modelica_metatype _a_ecr = NULL;
modelica_metatype _ret_4 = NULL;
modelica_metatype _ret_3 = NULL;
modelica_metatype _ret_2 = NULL;
modelica_metatype _ret_1 = NULL;
modelica_metatype _txt_0 = NULL;
volatile mmc_switch_type tmp4;
int tmp5;
tmp4 = 0;
for (; tmp4 < 2; tmp4++) {
switch (MMC_SWITCH_CAST(tmp4)) {
case 0: {
if (0 != tmp4_2) goto tmp3_end;
_txt = tmp4_1;
_a_varDecls = tmp4_3;
_a_preExp = tmp4_4;
_a_auxFunction = tmp4_6;
_a_ecr = tmp4_9;
_txt_0 = omc_Tpl_writeTok(threadData, _OMC_LIT20, _OMC_LIT1263);
_txt_0 = omc_ExpressionDumpTpl_dumpExp(threadData, _txt_0, _a_ecr, _OMC_LIT231);
_txt = omc_CodegenUtil_error(threadData, _txt, omc_Tpl_sourceInfo(threadData, _OMC_LIT27, ((modelica_integer) 5348), ((modelica_integer) 13)), omc_Tpl_textString(threadData, _txt_0));
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_varDecls;
tmpMeta[0+2] = _a_preExp;
tmpMeta[0+3] = _a_auxFunction;
goto tmp3_done;
}
case 1: {
_txt = tmp4_1;
_a_varDecls = tmp4_3;
_a_preExp = tmp4_4;
_a_isPre = tmp4_5;
_a_auxFunction = tmp4_6;
_a_context = tmp4_7;
_a_cr = tmp4_8;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT298);
_ret_1 = omc_ComponentReference_crefStripSubs(threadData, _a_cr);
_txt = omc_CodegenCFunctions_contextCrefIsPre(threadData, _txt, _ret_1, _a_context, _a_auxFunction, _a_isPre ,&_a_auxFunction);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT78);
_ret_2 = omc_ComponentReference_crefDims(threadData, _a_cr);
_ret_3 = omc_ComponentReference_crefArrayGetFirstCref(threadData, _a_cr);
_ret_4 = omc_ComponentReference_crefSubs(threadData, _ret_3);
_txt = omc_CodegenCFunctions_indexSubs(threadData, _txt, _ret_2, _ret_4, _a_context, _a_preExp, _a_varDecls, _a_auxFunction ,&_a_preExp ,&_a_varDecls ,&_a_auxFunction);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_varDecls;
tmpMeta[0+2] = _a_preExp;
tmpMeta[0+3] = _a_auxFunction;
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta[0+0];
_out_a_varDecls = tmpMeta[0+1];
_out_a_preExp = tmpMeta[0+2];
_out_a_auxFunction = tmpMeta[0+3];
_return: OMC_LABEL_UNUSED
if (out_out_a_varDecls) { *out_out_a_varDecls = _out_a_varDecls; }
if (out_out_a_preExp) { *out_out_a_preExp = _out_a_preExp; }
if (out_out_a_auxFunction) { *out_out_a_auxFunction = _out_a_auxFunction; }
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__800(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_mArg, modelica_metatype _in_a_varDecls, modelica_metatype _in_a_preExp, modelica_metatype _in_a_isPre, modelica_metatype _in_a_auxFunction, modelica_metatype _in_a_context, modelica_metatype _in_a_cr, modelica_metatype _in_a_ecr, modelica_metatype *out_out_a_varDecls, modelica_metatype *out_out_a_preExp, modelica_metatype *out_out_a_auxFunction)
{
modelica_integer tmp1;
modelica_integer tmp2;
modelica_metatype _out_txt = NULL;
tmp1 = mmc_unbox_integer(_in_mArg);
tmp2 = mmc_unbox_integer(_in_a_isPre);
_out_txt = omc_CodegenCFunctions_fun__800(threadData, _in_txt, tmp1, _in_a_varDecls, _in_a_preExp, tmp2, _in_a_auxFunction, _in_a_context, _in_a_cr, _in_a_ecr, out_out_a_varDecls, out_out_a_preExp, out_out_a_auxFunction);
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__799(threadData_t *threadData, modelica_metatype _in_txt, modelica_boolean _in_mArg, modelica_metatype _in_a_wrapperArray, modelica_metatype _in_a_type, modelica_boolean _in_a_isPre, modelica_metatype _in_a_cr, modelica_metatype _in_a_auxFunction, modelica_metatype _in_a_varDecls, modelica_metatype _in_a_preExp, modelica_metatype _in_a_context, modelica_metatype _in_a_dims, modelica_metatype _in_a_ecr, modelica_metatype *out_out_a_auxFunction, modelica_metatype *out_out_a_varDecls, modelica_metatype *out_out_a_preExp)
{
modelica_metatype _out_txt = NULL;
modelica_metatype _out_a_auxFunction = NULL;
modelica_metatype _out_a_varDecls = NULL;
modelica_metatype _out_a_preExp = NULL;
modelica_metatype tmpMeta[4] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_boolean tmp4_2;modelica_metatype tmp4_3;modelica_metatype tmp4_4;modelica_boolean tmp4_5;modelica_metatype tmp4_6;modelica_metatype tmp4_7;modelica_metatype tmp4_8;modelica_metatype tmp4_9;modelica_metatype tmp4_10;modelica_metatype tmp4_11;modelica_metatype tmp4_12;
tmp4_1 = _in_txt;
tmp4_2 = _in_mArg;
tmp4_3 = _in_a_wrapperArray;
tmp4_4 = _in_a_type;
tmp4_5 = _in_a_isPre;
tmp4_6 = _in_a_cr;
tmp4_7 = _in_a_auxFunction;
tmp4_8 = _in_a_varDecls;
tmp4_9 = _in_a_preExp;
tmp4_10 = _in_a_context;
tmp4_11 = _in_a_dims;
tmp4_12 = _in_a_ecr;
{
modelica_metatype _txt = NULL;
modelica_metatype _a_wrapperArray = NULL;
modelica_metatype _a_type = NULL;
modelica_boolean _a_isPre;
modelica_metatype _a_cr = NULL;
modelica_metatype _a_auxFunction = NULL;
modelica_metatype _a_varDecls = NULL;
modelica_metatype _a_preExp = NULL;
modelica_metatype _a_context = NULL;
modelica_metatype _a_dims = NULL;
modelica_metatype _a_ecr = NULL;
modelica_metatype _ret_9 = NULL;
modelica_metatype _ret_8 = NULL;
modelica_metatype _ret_7 = NULL;
modelica_metatype _l_t = NULL;
modelica_metatype _ret_5 = NULL;
modelica_metatype _l_nosubname = NULL;
modelica_metatype _l_dimsValuesStr = NULL;
modelica_integer _ret_2;
modelica_metatype _l_dimsLenStr = NULL;
modelica_metatype _txt_0 = NULL;
volatile mmc_switch_type tmp4;
int tmp5;
tmp4 = 0;
for (; tmp4 < 2; tmp4++) {
switch (MMC_SWITCH_CAST(tmp4)) {
case 0: {
if (0 != tmp4_2) goto tmp3_end;
_txt = tmp4_1;
_a_auxFunction = tmp4_7;
_a_varDecls = tmp4_8;
_a_preExp = tmp4_9;
_a_ecr = tmp4_12;
_txt_0 = omc_Tpl_writeTok(threadData, _OMC_LIT20, _OMC_LIT1265);
_txt_0 = omc_ExpressionDumpTpl_dumpExp(threadData, _txt_0, _a_ecr, _OMC_LIT231);
_txt = omc_CodegenUtil_error(threadData, _txt, omc_Tpl_sourceInfo(threadData, _OMC_LIT27, ((modelica_integer) 5339), ((modelica_integer) 15)), omc_Tpl_textString(threadData, _txt_0));
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_auxFunction;
tmpMeta[0+2] = _a_varDecls;
tmpMeta[0+3] = _a_preExp;
goto tmp3_done;
}
case 1: {
_txt = tmp4_1;
_a_wrapperArray = tmp4_3;
_a_type = tmp4_4;
_a_isPre = tmp4_5;
_a_cr = tmp4_6;
_a_auxFunction = tmp4_7;
_a_varDecls = tmp4_8;
_a_preExp = tmp4_9;
_a_context = tmp4_10;
_a_dims = tmp4_11;
_ret_2 = listLength(_a_dims);
_l_dimsLenStr = omc_Tpl_writeStr(threadData, _OMC_LIT20, intString(_ret_2));
_l_dimsValuesStr = omc_Tpl_pushIter(threadData, _OMC_LIT20, _OMC_LIT294);
_l_dimsValuesStr = omc_CodegenCFunctions_lm__798(threadData, _l_dimsValuesStr, _a_dims, _a_auxFunction, _a_varDecls, _a_preExp, _a_context ,&_a_auxFunction ,&_a_varDecls ,&_a_preExp);
_l_dimsValuesStr = omc_Tpl_popIter(threadData, _l_dimsValuesStr);
_ret_5 = omc_ComponentReference_crefStripSubs(threadData, _a_cr);
_l_nosubname = omc_CodegenCFunctions_contextCrefIsPre(threadData, _OMC_LIT20, _ret_5, _a_context, _a_auxFunction, _a_isPre ,&_a_auxFunction);
_l_t = omc_Tpl_writeText(threadData, _OMC_LIT20, _a_type);
_l_t = omc_Tpl_writeTok(threadData, _l_t, _OMC_LIT1267);
_l_t = omc_Tpl_writeText(threadData, _l_t, _a_wrapperArray);
_l_t = omc_Tpl_writeTok(threadData, _l_t, _OMC_LIT1269);
_l_t = omc_Tpl_writeText(threadData, _l_t, _a_type);
_l_t = omc_Tpl_writeTok(threadData, _l_t, _OMC_LIT1271);
_l_t = omc_Tpl_writeText(threadData, _l_t, _l_nosubname);
_l_t = omc_Tpl_writeTok(threadData, _l_t, _OMC_LIT78);
_ret_7 = omc_ComponentReference_crefDims(threadData, _a_cr);
_ret_8 = omc_ComponentReference_crefArrayGetFirstCref(threadData, _a_cr);
_ret_9 = omc_ComponentReference_crefSubs(threadData, _ret_8);
_l_t = omc_CodegenCFunctions_indexSubs(threadData, _l_t, _ret_7, _ret_9, _a_context, _a_preExp, _a_varDecls, _a_auxFunction ,&_a_preExp ,&_a_varDecls ,&_a_auxFunction);
_l_t = omc_Tpl_writeTok(threadData, _l_t, _OMC_LIT1273);
_l_t = omc_Tpl_writeText(threadData, _l_t, _l_dimsLenStr);
_l_t = omc_Tpl_writeTok(threadData, _l_t, _OMC_LIT292);
_l_t = omc_Tpl_writeText(threadData, _l_t, _l_dimsValuesStr);
_l_t = omc_Tpl_writeTok(threadData, _l_t, _OMC_LIT290);
_l_t = omc_Tpl_writeTok(threadData, _l_t, _OMC_LIT89);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _l_t);
_txt = omc_Tpl_writeText(threadData, _txt, _a_wrapperArray);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_auxFunction;
tmpMeta[0+2] = _a_varDecls;
tmpMeta[0+3] = _a_preExp;
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta[0+0];
_out_a_auxFunction = tmpMeta[0+1];
_out_a_varDecls = tmpMeta[0+2];
_out_a_preExp = tmpMeta[0+3];
_return: OMC_LABEL_UNUSED
if (out_out_a_auxFunction) { *out_out_a_auxFunction = _out_a_auxFunction; }
if (out_out_a_varDecls) { *out_out_a_varDecls = _out_a_varDecls; }
if (out_out_a_preExp) { *out_out_a_preExp = _out_a_preExp; }
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__799(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_mArg, modelica_metatype _in_a_wrapperArray, modelica_metatype _in_a_type, modelica_metatype _in_a_isPre, modelica_metatype _in_a_cr, modelica_metatype _in_a_auxFunction, modelica_metatype _in_a_varDecls, modelica_metatype _in_a_preExp, modelica_metatype _in_a_context, modelica_metatype _in_a_dims, modelica_metatype _in_a_ecr, modelica_metatype *out_out_a_auxFunction, modelica_metatype *out_out_a_varDecls, modelica_metatype *out_out_a_preExp)
{
modelica_integer tmp1;
modelica_integer tmp2;
modelica_metatype _out_txt = NULL;
tmp1 = mmc_unbox_integer(_in_mArg);
tmp2 = mmc_unbox_integer(_in_a_isPre);
_out_txt = omc_CodegenCFunctions_fun__799(threadData, _in_txt, tmp1, _in_a_wrapperArray, _in_a_type, tmp2, _in_a_cr, _in_a_auxFunction, _in_a_varDecls, _in_a_preExp, _in_a_context, _in_a_dims, _in_a_ecr, out_out_a_auxFunction, out_out_a_varDecls, out_out_a_preExp);
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_lm__798(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_items, modelica_metatype _in_a_auxFunction, modelica_metatype _in_a_varDecls, modelica_metatype _in_a_preExp, modelica_metatype _in_a_context, modelica_metatype *out_out_a_auxFunction, modelica_metatype *out_out_a_varDecls, modelica_metatype *out_out_a_preExp)
{
modelica_metatype _out_txt = NULL;
modelica_metatype _out_a_auxFunction = NULL;
modelica_metatype _out_a_varDecls = NULL;
modelica_metatype _out_a_preExp = NULL;
modelica_metatype tmpMeta[6] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_metatype tmp4_2;modelica_metatype tmp4_3;modelica_metatype tmp4_4;modelica_metatype tmp4_5;modelica_metatype tmp4_6;
tmp4_1 = _in_txt;
tmp4_2 = _in_items;
tmp4_3 = _in_a_auxFunction;
tmp4_4 = _in_a_varDecls;
tmp4_5 = _in_a_preExp;
tmp4_6 = _in_a_context;
{
modelica_metatype _txt = NULL;
modelica_metatype _rest = NULL;
modelica_metatype _a_auxFunction = NULL;
modelica_metatype _a_varDecls = NULL;
modelica_metatype _a_preExp = NULL;
modelica_metatype _a_context = NULL;
modelica_metatype _i_dim = NULL;
volatile mmc_switch_type tmp4;
int tmp5;
tmp4 = 0;
for (; tmp4 < 2; tmp4++) {
switch (MMC_SWITCH_CAST(tmp4)) {
case 0: {
if (!listEmpty(tmp4_2)) goto tmp3_end;
_txt = tmp4_1;
_a_auxFunction = tmp4_3;
_a_varDecls = tmp4_4;
_a_preExp = tmp4_5;
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_auxFunction;
tmpMeta[0+2] = _a_varDecls;
tmpMeta[0+3] = _a_preExp;
goto tmp3_done;
}
case 1: {
if (listEmpty(tmp4_2)) goto tmp3_end;
tmpMeta[4] = MMC_CAR(tmp4_2);
tmpMeta[5] = MMC_CDR(tmp4_2);
_i_dim = tmpMeta[4];
_rest = tmpMeta[5];
_txt = tmp4_1;
_a_auxFunction = tmp4_3;
_a_varDecls = tmp4_4;
_a_preExp = tmp4_5;
_a_context = tmp4_6;
_txt = omc_CodegenCFunctions_dimension(threadData, _txt, _i_dim, _a_context, _a_preExp, _a_varDecls, _a_auxFunction ,&_a_preExp ,&_a_varDecls ,&_a_auxFunction);
_txt = omc_Tpl_nextIter(threadData, _txt);
_in_txt = _txt;
_in_items = _rest;
_in_a_auxFunction = _a_auxFunction;
_in_a_varDecls = _a_varDecls;
_in_a_preExp = _a_preExp;
_in_a_context = _a_context;
goto _tailrecursive;
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta[0+0];
_out_a_auxFunction = tmpMeta[0+1];
_out_a_varDecls = tmpMeta[0+2];
_out_a_preExp = tmpMeta[0+3];
_return: OMC_LABEL_UNUSED
if (out_out_a_auxFunction) { *out_out_a_auxFunction = _out_a_auxFunction; }
if (out_out_a_varDecls) { *out_out_a_varDecls = _out_a_varDecls; }
if (out_out_a_preExp) { *out_out_a_preExp = _out_a_preExp; }
return _out_txt;
}
DLLExport
modelica_metatype omc_CodegenCFunctions_daeExpCrefLhs(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_exp, modelica_metatype _in_a_context, modelica_metatype _in_a_preExp, modelica_metatype _in_a_varDecls, modelica_metatype _in_a_auxFunction, modelica_boolean _in_a_isPre, modelica_metatype *out_out_a_preExp, modelica_metatype *out_out_a_varDecls, modelica_metatype *out_out_a_auxFunction)
{
modelica_metatype _out_txt = NULL;
modelica_metatype _out_a_preExp = NULL;
modelica_metatype _out_a_varDecls = NULL;
modelica_metatype _out_a_auxFunction = NULL;
modelica_metatype tmpMeta[6] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_metatype tmp4_2;modelica_metatype tmp4_3;modelica_metatype tmp4_4;modelica_metatype tmp4_5;modelica_metatype tmp4_6;modelica_boolean tmp4_7;
tmp4_1 = _in_txt;
tmp4_2 = _in_a_exp;
tmp4_3 = _in_a_context;
tmp4_4 = _in_a_preExp;
tmp4_5 = _in_a_varDecls;
tmp4_6 = _in_a_auxFunction;
tmp4_7 = _in_a_isPre;
{
modelica_metatype _txt = NULL;
modelica_metatype _a_context = NULL;
modelica_metatype _a_preExp = NULL;
modelica_metatype _a_varDecls = NULL;
modelica_metatype _a_auxFunction = NULL;
modelica_boolean _a_isPre;
modelica_metatype _i_exp = NULL;
modelica_metatype _i_cr = NULL;
volatile mmc_switch_type tmp4;
int tmp5;
tmp4 = 0;
for (; tmp4 < 3; tmp4++) {
switch (MMC_SWITCH_CAST(tmp4)) {
case 0: {
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,6,2) == 0) goto tmp3_end;
tmpMeta[4] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
tmpMeta[5] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 3));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[5],13,2) == 0) goto tmp3_end;
_i_cr = tmpMeta[4];
_txt = tmp4_1;
_a_preExp = tmp4_4;
_a_varDecls = tmp4_5;
_a_auxFunction = tmp4_6;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1275);
_txt = omc_CodegenCFunctions_crefFunctionName(threadData, _txt, _i_cr);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT78);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_preExp;
tmpMeta[0+2] = _a_varDecls;
tmpMeta[0+3] = _a_auxFunction;
goto tmp3_done;
}
case 1: {
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,6,2) == 0) goto tmp3_end;
tmpMeta[4] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
tmpMeta[5] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 3));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[5],12,1) == 0) goto tmp3_end;
_i_cr = tmpMeta[4];
_txt = tmp4_1;
_a_preExp = tmp4_4;
_a_varDecls = tmp4_5;
_a_auxFunction = tmp4_6;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT236);
_txt = omc_CodegenUtil_crefStr(threadData, _txt, _i_cr);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_preExp;
tmpMeta[0+2] = _a_varDecls;
tmpMeta[0+3] = _a_auxFunction;
goto tmp3_done;
}
case 2: {
_txt = tmp4_1;
_i_exp = tmp4_2;
_a_context = tmp4_3;
_a_preExp = tmp4_4;
_a_varDecls = tmp4_5;
_a_auxFunction = tmp4_6;
_a_isPre = tmp4_7;
_txt = omc_CodegenCFunctions_fun__796(threadData, _txt, _a_context, _a_isPre, _a_auxFunction, _a_varDecls, _a_preExp, _i_exp ,&_a_auxFunction ,&_a_varDecls ,&_a_preExp);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_preExp;
tmpMeta[0+2] = _a_varDecls;
tmpMeta[0+3] = _a_auxFunction;
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta[0+0];
_out_a_preExp = tmpMeta[0+1];
_out_a_varDecls = tmpMeta[0+2];
_out_a_auxFunction = tmpMeta[0+3];
_return: OMC_LABEL_UNUSED
if (out_out_a_preExp) { *out_out_a_preExp = _out_a_preExp; }
if (out_out_a_varDecls) { *out_out_a_varDecls = _out_a_varDecls; }
if (out_out_a_auxFunction) { *out_out_a_auxFunction = _out_a_auxFunction; }
return _out_txt;
}
modelica_metatype boxptr_CodegenCFunctions_daeExpCrefLhs(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_exp, modelica_metatype _in_a_context, modelica_metatype _in_a_preExp, modelica_metatype _in_a_varDecls, modelica_metatype _in_a_auxFunction, modelica_metatype _in_a_isPre, modelica_metatype *out_out_a_preExp, modelica_metatype *out_out_a_varDecls, modelica_metatype *out_out_a_auxFunction)
{
modelica_integer tmp1;
modelica_metatype _out_txt = NULL;
tmp1 = mmc_unbox_integer(_in_a_isPre);
_out_txt = omc_CodegenCFunctions_daeExpCrefLhs(threadData, _in_txt, _in_a_exp, _in_a_context, _in_a_preExp, _in_a_varDecls, _in_a_auxFunction, tmp1, out_out_a_preExp, out_out_a_varDecls, out_out_a_auxFunction);
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__796(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_context, modelica_boolean _in_a_isPre, modelica_metatype _in_a_auxFunction, modelica_metatype _in_a_varDecls, modelica_metatype _in_a_preExp, modelica_metatype _in_a_exp, modelica_metatype *out_out_a_auxFunction, modelica_metatype *out_out_a_varDecls, modelica_metatype *out_out_a_preExp)
{
modelica_metatype _out_txt = NULL;
modelica_metatype _out_a_auxFunction = NULL;
modelica_metatype _out_a_varDecls = NULL;
modelica_metatype _out_a_preExp = NULL;
modelica_metatype tmpMeta[4] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_metatype tmp4_2;modelica_boolean tmp4_3;modelica_metatype tmp4_4;modelica_metatype tmp4_5;modelica_metatype tmp4_6;modelica_metatype tmp4_7;
tmp4_1 = _in_txt;
tmp4_2 = _in_a_context;
tmp4_3 = _in_a_isPre;
tmp4_4 = _in_a_auxFunction;
tmp4_5 = _in_a_varDecls;
tmp4_6 = _in_a_preExp;
tmp4_7 = _in_a_exp;
{
modelica_metatype _txt = NULL;
modelica_boolean _a_isPre;
modelica_metatype _a_auxFunction = NULL;
modelica_metatype _a_varDecls = NULL;
modelica_metatype _a_preExp = NULL;
modelica_metatype _a_exp = NULL;
modelica_metatype _i_context = NULL;
volatile mmc_switch_type tmp4;
int tmp5;
tmp4 = 0;
for (; tmp4 < 2; tmp4++) {
switch (MMC_SWITCH_CAST(tmp4)) {
case 0: {
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,1,2) == 0) goto tmp3_end;
_i_context = tmp4_2;
_txt = tmp4_1;
_a_auxFunction = tmp4_4;
_a_varDecls = tmp4_5;
_a_preExp = tmp4_6;
_a_exp = tmp4_7;
_txt = omc_CodegenCFunctions_daeExpCrefLhsFunContext(threadData, _txt, _a_exp, _i_context, _a_preExp, _a_varDecls, _a_auxFunction ,&_a_preExp ,&_a_varDecls ,&_a_auxFunction);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_auxFunction;
tmpMeta[0+2] = _a_varDecls;
tmpMeta[0+3] = _a_preExp;
goto tmp3_done;
}
case 1: {
_txt = tmp4_1;
_i_context = tmp4_2;
_a_isPre = tmp4_3;
_a_auxFunction = tmp4_4;
_a_varDecls = tmp4_5;
_a_preExp = tmp4_6;
_a_exp = tmp4_7;
_txt = omc_CodegenCFunctions_daeExpCrefLhsSimContext(threadData, _txt, _a_exp, _i_context, _a_preExp, _a_varDecls, _a_auxFunction, _a_isPre ,&_a_preExp ,&_a_varDecls ,&_a_auxFunction);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_auxFunction;
tmpMeta[0+2] = _a_varDecls;
tmpMeta[0+3] = _a_preExp;
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta[0+0];
_out_a_auxFunction = tmpMeta[0+1];
_out_a_varDecls = tmpMeta[0+2];
_out_a_preExp = tmpMeta[0+3];
_return: OMC_LABEL_UNUSED
if (out_out_a_auxFunction) { *out_out_a_auxFunction = _out_a_auxFunction; }
if (out_out_a_varDecls) { *out_out_a_varDecls = _out_a_varDecls; }
if (out_out_a_preExp) { *out_out_a_preExp = _out_a_preExp; }
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__796(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_context, modelica_metatype _in_a_isPre, modelica_metatype _in_a_auxFunction, modelica_metatype _in_a_varDecls, modelica_metatype _in_a_preExp, modelica_metatype _in_a_exp, modelica_metatype *out_out_a_auxFunction, modelica_metatype *out_out_a_varDecls, modelica_metatype *out_out_a_preExp)
{
modelica_integer tmp1;
modelica_metatype _out_txt = NULL;
tmp1 = mmc_unbox_integer(_in_a_isPre);
_out_txt = omc_CodegenCFunctions_fun__796(threadData, _in_txt, _in_a_context, tmp1, _in_a_auxFunction, _in_a_varDecls, _in_a_preExp, _in_a_exp, out_out_a_auxFunction, out_out_a_varDecls, out_out_a_preExp);
return _out_txt;
}
DLLExport
modelica_metatype omc_CodegenCFunctions_arrayScalarRhs(threadData_t *threadData, modelica_metatype _txt, modelica_metatype _a_ty, modelica_metatype _a_subs, modelica_string _a_arrName, modelica_metatype _a_context, modelica_metatype _a_preExp, modelica_metatype _a_varDecls, modelica_metatype _a_auxFunction, modelica_metatype *out_out_a_preExp, modelica_metatype *out_out_a_varDecls, modelica_metatype *out_out_a_auxFunction)
{
modelica_metatype _out_txt = NULL;
modelica_metatype _out_a_preExp = NULL;
modelica_metatype _out_a_varDecls = NULL;
modelica_metatype _out_a_auxFunction = NULL;
modelica_string _str_4 = NULL;
modelica_metatype _l_subsValuesStr = NULL;
modelica_integer _ret_2;
modelica_metatype _l_subsLenStr = NULL;
modelica_metatype _l_arrayType = NULL;
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
_l_arrayType = omc_CodegenCFunctions_expTypeArray(threadData, _OMC_LIT20, _a_ty);
_ret_2 = listLength(_a_subs);
_l_subsLenStr = omc_Tpl_writeStr(threadData, _OMC_LIT20, intString(_ret_2));
_l_subsValuesStr = omc_Tpl_pushIter(threadData, _OMC_LIT20, _OMC_LIT294);
_l_subsValuesStr = omc_CodegenCFunctions_lm__791(threadData, _l_subsValuesStr, _a_subs, _a_auxFunction, _a_varDecls, _a_preExp, _a_context ,&_out_a_auxFunction ,&_out_a_varDecls ,&_out_a_preExp);
_l_subsValuesStr = omc_Tpl_popIter(threadData, _l_subsValuesStr);
_str_4 = omc_Tpl_textString(threadData, _l_arrayType);
_out_txt = omc_CodegenCFunctions_fun__794(threadData, _txt, _str_4, _a_subs, _l_subsLenStr, _l_arrayType, _a_context, _l_subsValuesStr, _a_arrName);
_return: OMC_LABEL_UNUSED
if (out_out_a_preExp) { *out_out_a_preExp = _out_a_preExp; }
if (out_out_a_varDecls) { *out_out_a_varDecls = _out_a_varDecls; }
if (out_out_a_auxFunction) { *out_out_a_auxFunction = _out_a_auxFunction; }
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__794(threadData_t *threadData, modelica_metatype _in_txt, modelica_string _in_mArg, modelica_metatype _in_a_subs, modelica_metatype _in_a_subsLenStr, modelica_metatype _in_a_arrayType, modelica_metatype _in_a_context, modelica_metatype _in_a_subsValuesStr, modelica_string _in_a_arrName)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta[1] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp3_1;modelica_string tmp3_2;modelica_metatype tmp3_3;modelica_metatype tmp3_4;modelica_metatype tmp3_5;modelica_metatype tmp3_6;modelica_metatype tmp3_7;modelica_string tmp3_8;
tmp3_1 = _in_txt;
tmp3_2 = _in_mArg;
tmp3_3 = _in_a_subs;
tmp3_4 = _in_a_subsLenStr;
tmp3_5 = _in_a_arrayType;
tmp3_6 = _in_a_context;
tmp3_7 = _in_a_subsValuesStr;
tmp3_8 = _in_a_arrName;
{
modelica_metatype _txt = NULL;
modelica_metatype _a_subs = NULL;
modelica_metatype _a_subsLenStr = NULL;
modelica_metatype _a_arrayType = NULL;
modelica_metatype _a_context = NULL;
modelica_metatype _a_subsValuesStr = NULL;
modelica_string _a_arrName = NULL;
volatile mmc_switch_type tmp3;
int tmp4;
tmp3 = 0;
for (; tmp3 < 2; tmp3++) {
switch (MMC_SWITCH_CAST(tmp3)) {
case 0: {
if (14 != MMC_STRLEN(tmp3_2) || strcmp(MMC_STRINGDATA(_OMC_LIT1278), MMC_STRINGDATA(tmp3_2)) != 0) goto tmp2_end;
_txt = tmp3_1;
_a_subsValuesStr = tmp3_7;
_a_arrName = tmp3_8;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT514);
_txt = omc_Tpl_writeStr(threadData, _txt, _a_arrName);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT226);
_txt = omc_Tpl_writeText(threadData, _txt, _a_subsValuesStr);
tmpMeta[0] = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1277);
goto tmp2_done;
}
case 1: {
_txt = tmp3_1;
_a_subs = tmp3_3;
_a_subsLenStr = tmp3_4;
_a_arrayType = tmp3_5;
_a_context = tmp3_6;
_a_subsValuesStr = tmp3_7;
_a_arrName = tmp3_8;
tmpMeta[0] = omc_CodegenCFunctions_fun__793(threadData, _txt, _a_context, _a_subs, _a_subsValuesStr, _a_arrName, _a_subsLenStr, _a_arrayType);
goto tmp2_done;
}
}
goto tmp2_end;
tmp2_end: ;
}
goto goto_1;
goto_1:;
MMC_THROW_INTERNAL();
goto tmp2_done;
tmp2_done:;
}
}
_out_txt = tmpMeta[0];
_return: OMC_LABEL_UNUSED
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__793(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_context, modelica_metatype _in_a_subs, modelica_metatype _in_a_subsValuesStr, modelica_string _in_a_arrName, modelica_metatype _in_a_subsLenStr, modelica_metatype _in_a_arrayType)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta[2] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp3_1;modelica_metatype tmp3_2;modelica_metatype tmp3_3;modelica_metatype tmp3_4;modelica_string tmp3_5;modelica_metatype tmp3_6;modelica_metatype tmp3_7;
tmp3_1 = _in_txt;
tmp3_2 = _in_a_context;
tmp3_3 = _in_a_subs;
tmp3_4 = _in_a_subsValuesStr;
tmp3_5 = _in_a_arrName;
tmp3_6 = _in_a_subsLenStr;
tmp3_7 = _in_a_arrayType;
{
modelica_metatype _txt = NULL;
modelica_metatype _a_subs = NULL;
modelica_metatype _a_subsValuesStr = NULL;
modelica_string _a_arrName = NULL;
modelica_metatype _a_subsLenStr = NULL;
modelica_metatype _a_arrayType = NULL;
modelica_boolean _ret_1;
modelica_integer _ret_0;
volatile mmc_switch_type tmp3;
int tmp4;
tmp3 = 0;
for (; tmp3 < 2; tmp3++) {
switch (MMC_SWITCH_CAST(tmp3)) {
case 0: {
modelica_integer tmp5;
if (mmc__uniontype__metarecord__typedef__equal(tmp3_2,1,2) == 0) goto tmp2_end;
tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_2), 3));
tmp5 = mmc_unbox_integer(tmpMeta[1]);
if (1 != tmp5) goto tmp2_end;
_txt = tmp3_1;
_a_subsValuesStr = tmp3_4;
_a_arrName = tmp3_5;
_a_subsLenStr = tmp3_6;
_a_arrayType = tmp3_7;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1246);
_txt = omc_Tpl_writeText(threadData, _txt, _a_arrayType);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1248);
_txt = omc_Tpl_writeText(threadData, _txt, _a_subsLenStr);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT298);
_txt = omc_Tpl_writeStr(threadData, _txt, _a_arrName);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT292);
_txt = omc_Tpl_writeText(threadData, _txt, _a_subsLenStr);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT292);
_txt = omc_Tpl_writeText(threadData, _txt, _a_subsValuesStr);
tmpMeta[0] = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT600);
goto tmp2_done;
}
case 1: {
_txt = tmp3_1;
_a_subs = tmp3_3;
_a_subsValuesStr = tmp3_4;
_a_arrName = tmp3_5;
_a_subsLenStr = tmp3_6;
_a_arrayType = tmp3_7;
_txt = omc_Tpl_writeText(threadData, _txt, _a_arrayType);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT506);
_ret_0 = listLength(_a_subs);
_ret_1 = (_ret_0 < ((modelica_integer) 3));
_txt = omc_CodegenCFunctions_fun__792(threadData, _txt, _ret_1, _a_subs);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT68);
_txt = omc_Tpl_writeStr(threadData, _txt, _a_arrName);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT292);
_txt = omc_Tpl_writeText(threadData, _txt, _a_subsLenStr);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT292);
_txt = omc_Tpl_writeText(threadData, _txt, _a_subsValuesStr);
tmpMeta[0] = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT78);
goto tmp2_done;
}
}
goto tmp2_end;
tmp2_end: ;
}
goto goto_1;
goto_1:;
MMC_THROW_INTERNAL();
goto tmp2_done;
tmp2_done:;
}
}
_out_txt = tmpMeta[0];
_return: OMC_LABEL_UNUSED
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__792(threadData_t *threadData, modelica_metatype _in_txt, modelica_boolean _in_mArg, modelica_metatype _in_a_subs)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta[1] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp3_1;modelica_boolean tmp3_2;modelica_metatype tmp3_3;
tmp3_1 = _in_txt;
tmp3_2 = _in_mArg;
tmp3_3 = _in_a_subs;
{
modelica_metatype _txt = NULL;
modelica_metatype _a_subs = NULL;
modelica_integer _ret_0;
volatile mmc_switch_type tmp3;
int tmp4;
tmp3 = 0;
for (; tmp3 < 2; tmp3++) {
switch (MMC_SWITCH_CAST(tmp3)) {
case 0: {
if (0 != tmp3_2) goto tmp2_end;
_txt = tmp3_1;
tmpMeta[0] = _txt;
goto tmp2_done;
}
case 1: {
_txt = tmp3_1;
_a_subs = tmp3_3;
_ret_0 = listLength(_a_subs);
tmpMeta[0] = omc_Tpl_writeStr(threadData, _txt, intString(_ret_0));
goto tmp2_done;
}
}
goto tmp2_end;
tmp2_end: ;
}
goto goto_1;
goto_1:;
MMC_THROW_INTERNAL();
goto tmp2_done;
tmp2_done:;
}
}
_out_txt = tmpMeta[0];
_return: OMC_LABEL_UNUSED
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__792(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_mArg, modelica_metatype _in_a_subs)
{
modelica_integer tmp1;
modelica_metatype _out_txt = NULL;
tmp1 = mmc_unbox_integer(_in_mArg);
_out_txt = omc_CodegenCFunctions_fun__792(threadData, _in_txt, tmp1, _in_a_subs);
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_lm__791(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_items, modelica_metatype _in_a_auxFunction, modelica_metatype _in_a_varDecls, modelica_metatype _in_a_preExp, modelica_metatype _in_a_context, modelica_metatype *out_out_a_auxFunction, modelica_metatype *out_out_a_varDecls, modelica_metatype *out_out_a_preExp)
{
modelica_metatype _out_txt = NULL;
modelica_metatype _out_a_auxFunction = NULL;
modelica_metatype _out_a_varDecls = NULL;
modelica_metatype _out_a_preExp = NULL;
modelica_metatype tmpMeta[6] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_metatype tmp4_2;modelica_metatype tmp4_3;modelica_metatype tmp4_4;modelica_metatype tmp4_5;modelica_metatype tmp4_6;
tmp4_1 = _in_txt;
tmp4_2 = _in_items;
tmp4_3 = _in_a_auxFunction;
tmp4_4 = _in_a_varDecls;
tmp4_5 = _in_a_preExp;
tmp4_6 = _in_a_context;
{
modelica_metatype _txt = NULL;
modelica_metatype _rest = NULL;
modelica_metatype _a_auxFunction = NULL;
modelica_metatype _a_varDecls = NULL;
modelica_metatype _a_preExp = NULL;
modelica_metatype _a_context = NULL;
modelica_metatype _i_exp = NULL;
volatile mmc_switch_type tmp4;
int tmp5;
tmp4 = 0;
for (; tmp4 < 2; tmp4++) {
switch (MMC_SWITCH_CAST(tmp4)) {
case 0: {
if (!listEmpty(tmp4_2)) goto tmp3_end;
_txt = tmp4_1;
_a_auxFunction = tmp4_3;
_a_varDecls = tmp4_4;
_a_preExp = tmp4_5;
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_auxFunction;
tmpMeta[0+2] = _a_varDecls;
tmpMeta[0+3] = _a_preExp;
goto tmp3_done;
}
case 1: {
if (listEmpty(tmp4_2)) goto tmp3_end;
tmpMeta[4] = MMC_CAR(tmp4_2);
tmpMeta[5] = MMC_CDR(tmp4_2);
_i_exp = tmpMeta[4];
_rest = tmpMeta[5];
_txt = tmp4_1;
_a_auxFunction = tmp4_3;
_a_varDecls = tmp4_4;
_a_preExp = tmp4_5;
_a_context = tmp4_6;
_txt = omc_CodegenCFunctions_daeSubscriptExp(threadData, _txt, _i_exp, _a_context, _a_preExp, _a_varDecls, _a_auxFunction ,&_a_preExp ,&_a_varDecls ,&_a_auxFunction);
_txt = omc_Tpl_nextIter(threadData, _txt);
_in_txt = _txt;
_in_items = _rest;
_in_a_auxFunction = _a_auxFunction;
_in_a_varDecls = _a_varDecls;
_in_a_preExp = _a_preExp;
_in_a_context = _a_context;
goto _tailrecursive;
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta[0+0];
_out_a_auxFunction = tmpMeta[0+1];
_out_a_varDecls = tmpMeta[0+2];
_out_a_preExp = tmpMeta[0+3];
_return: OMC_LABEL_UNUSED
if (out_out_a_auxFunction) { *out_out_a_auxFunction = _out_a_auxFunction; }
if (out_out_a_varDecls) { *out_out_a_varDecls = _out_a_varDecls; }
if (out_out_a_preExp) { *out_out_a_preExp = _out_a_preExp; }
return _out_txt;
}
DLLExport
modelica_metatype omc_CodegenCFunctions_daeExpCrefRhsFunContext(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_ecr, modelica_metatype _in_a_context, modelica_metatype _in_a_preExp, modelica_metatype _in_a_varDecls, modelica_metatype _in_a_auxFunction, modelica_metatype *out_out_a_preExp, modelica_metatype *out_out_a_varDecls, modelica_metatype *out_out_a_auxFunction)
{
modelica_metatype _out_txt = NULL;
modelica_metatype _out_a_preExp = NULL;
modelica_metatype _out_a_varDecls = NULL;
modelica_metatype _out_a_auxFunction = NULL;
modelica_metatype tmpMeta[6] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_metatype tmp4_2;modelica_metatype tmp4_3;modelica_metatype tmp4_4;modelica_metatype tmp4_5;modelica_metatype tmp4_6;
tmp4_1 = _in_txt;
tmp4_2 = _in_a_ecr;
tmp4_3 = _in_a_context;
tmp4_4 = _in_a_preExp;
tmp4_5 = _in_a_varDecls;
tmp4_6 = _in_a_auxFunction;
{
modelica_metatype _txt = NULL;
modelica_metatype _a_context = NULL;
modelica_metatype _a_preExp = NULL;
modelica_metatype _a_varDecls = NULL;
modelica_metatype _a_auxFunction = NULL;
modelica_metatype _i_ecr = NULL;
modelica_metatype _i_ty = NULL;
modelica_metatype _i_cr = NULL;
modelica_metatype _txt_1 = NULL;
modelica_boolean _ret_0;
volatile mmc_switch_type tmp4;
int tmp5;
tmp4 = 0;
for (; tmp4 < 2; tmp4++) {
switch (MMC_SWITCH_CAST(tmp4)) {
case 0: {
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,6,2) == 0) goto tmp3_end;
tmpMeta[4] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
tmpMeta[5] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 3));
_i_ecr = tmp4_2;
_i_cr = tmpMeta[4];
_i_ty = tmpMeta[5];
_txt = tmp4_1;
_a_context = tmp4_3;
_a_preExp = tmp4_4;
_a_varDecls = tmp4_5;
_a_auxFunction = tmp4_6;
_ret_0 = omc_SimCodeFunctionUtil_crefIsScalar(threadData, _i_cr, _a_context);
_txt = omc_CodegenCFunctions_fun__789(threadData, _txt, _ret_0, _i_ecr, _a_auxFunction, _a_preExp, _a_varDecls, _i_ty, _a_context, _i_cr ,&_a_auxFunction ,&_a_preExp ,&_a_varDecls);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_preExp;
tmpMeta[0+2] = _a_varDecls;
tmpMeta[0+3] = _a_auxFunction;
goto tmp3_done;
}
case 1: {
_txt = tmp4_1;
_i_ecr = tmp4_2;
_a_preExp = tmp4_4;
_a_varDecls = tmp4_5;
_a_auxFunction = tmp4_6;
_txt_1 = omc_Tpl_writeTok(threadData, _OMC_LIT20, _OMC_LIT1280);
_txt_1 = omc_ExpressionDumpTpl_dumpExp(threadData, _txt_1, _i_ecr, _OMC_LIT231);
_txt = omc_CodegenUtil_error(threadData, _txt, omc_Tpl_sourceInfo(threadData, _OMC_LIT27, ((modelica_integer) 5264), ((modelica_integer) 11)), omc_Tpl_textString(threadData, _txt_1));
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_preExp;
tmpMeta[0+2] = _a_varDecls;
tmpMeta[0+3] = _a_auxFunction;
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta[0+0];
_out_a_preExp = tmpMeta[0+1];
_out_a_varDecls = tmpMeta[0+2];
_out_a_auxFunction = tmpMeta[0+3];
_return: OMC_LABEL_UNUSED
if (out_out_a_preExp) { *out_out_a_preExp = _out_a_preExp; }
if (out_out_a_varDecls) { *out_out_a_varDecls = _out_a_varDecls; }
if (out_out_a_auxFunction) { *out_out_a_auxFunction = _out_a_auxFunction; }
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__789(threadData_t *threadData, modelica_metatype _in_txt, modelica_boolean _in_mArg, modelica_metatype _in_a_ecr, modelica_metatype _in_a_auxFunction, modelica_metatype _in_a_preExp, modelica_metatype _in_a_varDecls, modelica_metatype _in_a_ty, modelica_metatype _in_a_context, modelica_metatype _in_a_cr, modelica_metatype *out_out_a_auxFunction, modelica_metatype *out_out_a_preExp, modelica_metatype *out_out_a_varDecls)
{
modelica_metatype _out_txt = NULL;
modelica_metatype _out_a_auxFunction = NULL;
modelica_metatype _out_a_preExp = NULL;
modelica_metatype _out_a_varDecls = NULL;
modelica_metatype tmpMeta[4] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_boolean tmp4_2;modelica_metatype tmp4_3;modelica_metatype tmp4_4;modelica_metatype tmp4_5;modelica_metatype tmp4_6;modelica_metatype tmp4_7;modelica_metatype tmp4_8;modelica_metatype tmp4_9;
tmp4_1 = _in_txt;
tmp4_2 = _in_mArg;
tmp4_3 = _in_a_ecr;
tmp4_4 = _in_a_auxFunction;
tmp4_5 = _in_a_preExp;
tmp4_6 = _in_a_varDecls;
tmp4_7 = _in_a_ty;
tmp4_8 = _in_a_context;
tmp4_9 = _in_a_cr;
{
modelica_metatype _txt = NULL;
modelica_metatype _a_ecr = NULL;
modelica_metatype _a_auxFunction = NULL;
modelica_metatype _a_preExp = NULL;
modelica_metatype _a_varDecls = NULL;
modelica_metatype _a_ty = NULL;
modelica_metatype _a_context = NULL;
modelica_metatype _a_cr = NULL;
modelica_metatype _l_cast = NULL;
modelica_boolean _ret_0;
volatile mmc_switch_type tmp4;
int tmp5;
tmp4 = 0;
for (; tmp4 < 2; tmp4++) {
switch (MMC_SWITCH_CAST(tmp4)) {
case 0: {
if (0 != tmp4_2) goto tmp3_end;
_txt = tmp4_1;
_a_ecr = tmp4_3;
_a_auxFunction = tmp4_4;
_a_preExp = tmp4_5;
_a_varDecls = tmp4_6;
_a_ty = tmp4_7;
_a_context = tmp4_8;
_a_cr = tmp4_9;
_ret_0 = omc_SimCodeFunctionUtil_crefSubIsScalar(threadData, _a_cr);
tmpMeta[0+0] = omc_CodegenCFunctions_fun__788(threadData, _txt, _ret_0, _a_ecr, _a_auxFunction, _a_preExp, _a_varDecls, _a_ty, _a_cr, _a_context, &tmpMeta[0+1], &tmpMeta[0+2], &tmpMeta[0+3]);
goto tmp3_done;
}
case 1: {
_txt = tmp4_1;
_a_auxFunction = tmp4_4;
_a_preExp = tmp4_5;
_a_varDecls = tmp4_6;
_a_ty = tmp4_7;
_a_context = tmp4_8;
_a_cr = tmp4_9;
_l_cast = omc_CodegenCFunctions_typeCastContextInt(threadData, _OMC_LIT20, _a_context, _a_ty);
_txt = omc_Tpl_writeText(threadData, _txt, _l_cast);
_txt = omc_CodegenCFunctions_contextCref(threadData, _txt, _a_cr, _a_context, _a_preExp, _a_varDecls, _a_auxFunction ,&_a_preExp ,&_a_varDecls ,&_a_auxFunction);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_auxFunction;
tmpMeta[0+2] = _a_preExp;
tmpMeta[0+3] = _a_varDecls;
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta[0+0];
_out_a_auxFunction = tmpMeta[0+1];
_out_a_preExp = tmpMeta[0+2];
_out_a_varDecls = tmpMeta[0+3];
_return: OMC_LABEL_UNUSED
if (out_out_a_auxFunction) { *out_out_a_auxFunction = _out_a_auxFunction; }
if (out_out_a_preExp) { *out_out_a_preExp = _out_a_preExp; }
if (out_out_a_varDecls) { *out_out_a_varDecls = _out_a_varDecls; }
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__789(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_mArg, modelica_metatype _in_a_ecr, modelica_metatype _in_a_auxFunction, modelica_metatype _in_a_preExp, modelica_metatype _in_a_varDecls, modelica_metatype _in_a_ty, modelica_metatype _in_a_context, modelica_metatype _in_a_cr, modelica_metatype *out_out_a_auxFunction, modelica_metatype *out_out_a_preExp, modelica_metatype *out_out_a_varDecls)
{
modelica_integer tmp1;
modelica_metatype _out_txt = NULL;
tmp1 = mmc_unbox_integer(_in_mArg);
_out_txt = omc_CodegenCFunctions_fun__789(threadData, _in_txt, tmp1, _in_a_ecr, _in_a_auxFunction, _in_a_preExp, _in_a_varDecls, _in_a_ty, _in_a_context, _in_a_cr, out_out_a_auxFunction, out_out_a_preExp, out_out_a_varDecls);
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__788(threadData_t *threadData, modelica_metatype _in_txt, modelica_boolean _in_mArg, modelica_metatype _in_a_ecr, modelica_metatype _in_a_auxFunction, modelica_metatype _in_a_preExp, modelica_metatype _in_a_varDecls, modelica_metatype _in_a_ty, modelica_metatype _in_a_cr, modelica_metatype _in_a_context, modelica_metatype *out_out_a_auxFunction, modelica_metatype *out_out_a_preExp, modelica_metatype *out_out_a_varDecls)
{
modelica_metatype _out_txt = NULL;
modelica_metatype _out_a_auxFunction = NULL;
modelica_metatype _out_a_preExp = NULL;
modelica_metatype _out_a_varDecls = NULL;
modelica_metatype tmpMeta[4] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_boolean tmp4_2;modelica_metatype tmp4_3;modelica_metatype tmp4_4;modelica_metatype tmp4_5;modelica_metatype tmp4_6;modelica_metatype tmp4_7;modelica_metatype tmp4_8;modelica_metatype tmp4_9;
tmp4_1 = _in_txt;
tmp4_2 = _in_mArg;
tmp4_3 = _in_a_ecr;
tmp4_4 = _in_a_auxFunction;
tmp4_5 = _in_a_preExp;
tmp4_6 = _in_a_varDecls;
tmp4_7 = _in_a_ty;
tmp4_8 = _in_a_cr;
tmp4_9 = _in_a_context;
{
modelica_metatype _txt = NULL;
modelica_metatype _a_ecr = NULL;
modelica_metatype _a_auxFunction = NULL;
modelica_metatype _a_preExp = NULL;
modelica_metatype _a_varDecls = NULL;
modelica_metatype _a_ty = NULL;
modelica_metatype _a_cr = NULL;
modelica_metatype _a_context = NULL;
modelica_metatype _ret_7 = NULL;
modelica_metatype _l_subsValuesStr = NULL;
modelica_integer _ret_5;
modelica_metatype _ret_4 = NULL;
modelica_metatype _l_subsLenStr = NULL;
modelica_metatype _l_arrayType = NULL;
modelica_metatype _ret_1 = NULL;
modelica_metatype _l_arrName = NULL;
volatile mmc_switch_type tmp4;
int tmp5;
tmp4 = 0;
for (; tmp4 < 2; tmp4++) {
switch (MMC_SWITCH_CAST(tmp4)) {
case 0: {
if (0 != tmp4_2) goto tmp3_end;
_txt = tmp4_1;
_a_ecr = tmp4_3;
_a_auxFunction = tmp4_4;
_a_preExp = tmp4_5;
_a_varDecls = tmp4_6;
_a_ty = tmp4_7;
_a_cr = tmp4_8;
_a_context = tmp4_9;
tmpMeta[0+0] = omc_CodegenCFunctions_fun__782(threadData, _txt, _a_context, _a_ecr, _a_auxFunction, _a_preExp, _a_varDecls, _a_ty, _a_cr, &tmpMeta[0+1], &tmpMeta[0+2], &tmpMeta[0+3]);
goto tmp3_done;
}
case 1: {
_txt = tmp4_1;
_a_ecr = tmp4_3;
_a_auxFunction = tmp4_4;
_a_preExp = tmp4_5;
_a_varDecls = tmp4_6;
_a_ty = tmp4_7;
_a_cr = tmp4_8;
_a_context = tmp4_9;
_ret_1 = omc_ComponentReference_crefStripLastSubs(threadData, _a_cr);
_l_arrName = omc_CodegenCFunctions_contextCref(threadData, _OMC_LIT20, _ret_1, _a_context, _a_preExp, _a_varDecls, _a_auxFunction ,&_a_preExp ,&_a_varDecls ,&_a_auxFunction);
_l_arrayType = omc_CodegenCFunctions_expTypeArray(threadData, _OMC_LIT20, _a_ty);
_ret_4 = omc_ComponentReference_crefSubs(threadData, _a_cr);
_ret_5 = listLength(_ret_4);
_l_subsLenStr = omc_Tpl_writeStr(threadData, _OMC_LIT20, intString(_ret_5));
_ret_7 = omc_ComponentReference_crefSubs(threadData, _a_cr);
_l_subsValuesStr = omc_Tpl_pushIter(threadData, _OMC_LIT20, _OMC_LIT294);
_l_subsValuesStr = omc_CodegenCFunctions_lm__783(threadData, _l_subsValuesStr, _ret_7, _a_auxFunction, _a_varDecls, _a_preExp, _a_context ,&_a_auxFunction ,&_a_varDecls ,&_a_preExp);
_l_subsValuesStr = omc_Tpl_popIter(threadData, _l_subsValuesStr);
_txt = omc_CodegenCFunctions_fun__787(threadData, _txt, _a_cr, _a_ecr, _l_subsLenStr, _l_arrayType, _a_ty, _a_context, _l_subsValuesStr, _l_arrName);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_auxFunction;
tmpMeta[0+2] = _a_preExp;
tmpMeta[0+3] = _a_varDecls;
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta[0+0];
_out_a_auxFunction = tmpMeta[0+1];
_out_a_preExp = tmpMeta[0+2];
_out_a_varDecls = tmpMeta[0+3];
_return: OMC_LABEL_UNUSED
if (out_out_a_auxFunction) { *out_out_a_auxFunction = _out_a_auxFunction; }
if (out_out_a_preExp) { *out_out_a_preExp = _out_a_preExp; }
if (out_out_a_varDecls) { *out_out_a_varDecls = _out_a_varDecls; }
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__788(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_mArg, modelica_metatype _in_a_ecr, modelica_metatype _in_a_auxFunction, modelica_metatype _in_a_preExp, modelica_metatype _in_a_varDecls, modelica_metatype _in_a_ty, modelica_metatype _in_a_cr, modelica_metatype _in_a_context, modelica_metatype *out_out_a_auxFunction, modelica_metatype *out_out_a_preExp, modelica_metatype *out_out_a_varDecls)
{
modelica_integer tmp1;
modelica_metatype _out_txt = NULL;
tmp1 = mmc_unbox_integer(_in_mArg);
_out_txt = omc_CodegenCFunctions_fun__788(threadData, _in_txt, tmp1, _in_a_ecr, _in_a_auxFunction, _in_a_preExp, _in_a_varDecls, _in_a_ty, _in_a_cr, _in_a_context, out_out_a_auxFunction, out_out_a_preExp, out_out_a_varDecls);
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__787(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_cr, modelica_metatype _in_a_ecr, modelica_metatype _in_a_subsLenStr, modelica_metatype _in_a_arrayType, modelica_metatype _in_a_ty, modelica_metatype _in_a_context, modelica_metatype _in_a_subsValuesStr, modelica_metatype _in_a_arrName)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta[3] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp3_1;modelica_metatype tmp3_2;modelica_metatype tmp3_3;modelica_metatype tmp3_4;modelica_metatype tmp3_5;modelica_metatype tmp3_6;modelica_metatype tmp3_7;modelica_metatype tmp3_8;modelica_metatype tmp3_9;
tmp3_1 = _in_txt;
tmp3_2 = _in_a_cr;
tmp3_3 = _in_a_ecr;
tmp3_4 = _in_a_subsLenStr;
tmp3_5 = _in_a_arrayType;
tmp3_6 = _in_a_ty;
tmp3_7 = _in_a_context;
tmp3_8 = _in_a_subsValuesStr;
tmp3_9 = _in_a_arrName;
{
modelica_metatype _txt = NULL;
modelica_metatype _a_ecr = NULL;
modelica_metatype _a_subsLenStr = NULL;
modelica_metatype _a_arrayType = NULL;
modelica_metatype _a_ty = NULL;
modelica_metatype _a_context = NULL;
modelica_metatype _a_subsValuesStr = NULL;
modelica_metatype _a_arrName = NULL;
modelica_metatype _i_cr = NULL;
volatile mmc_switch_type tmp3;
int tmp4;
tmp3 = 0;
for (; tmp3 < 3; tmp3++) {
switch (MMC_SWITCH_CAST(tmp3)) {
case 0: {
if (mmc__uniontype__metarecord__typedef__equal(tmp3_2,1,3) == 0) goto tmp2_end;
tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_2), 3));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[1],25,1) == 0) goto tmp2_end;
tmpMeta[2] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[1]), 2));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[2],22,1) == 0) goto tmp2_end;
_txt = tmp3_1;
_a_subsValuesStr = tmp3_8;
_a_arrName = tmp3_9;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT514);
_txt = omc_Tpl_writeText(threadData, _txt, _a_arrName);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT292);
_txt = omc_Tpl_writeText(threadData, _txt, _a_subsValuesStr);
tmpMeta[0] = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT78);
goto tmp2_done;
}
case 1: {
if (mmc__uniontype__metarecord__typedef__equal(tmp3_2,1,3) == 0) goto tmp2_end;
tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_2), 3));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[1],22,1) == 0) goto tmp2_end;
_txt = tmp3_1;
_a_subsValuesStr = tmp3_8;
_a_arrName = tmp3_9;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT514);
_txt = omc_Tpl_writeText(threadData, _txt, _a_arrName);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT292);
_txt = omc_Tpl_writeText(threadData, _txt, _a_subsValuesStr);
tmpMeta[0] = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT78);
goto tmp2_done;
}
case 2: {
_txt = tmp3_1;
_i_cr = tmp3_2;
_a_ecr = tmp3_3;
_a_subsLenStr = tmp3_4;
_a_arrayType = tmp3_5;
_a_ty = tmp3_6;
_a_context = tmp3_7;
_a_subsValuesStr = tmp3_8;
_a_arrName = tmp3_9;
tmpMeta[0] = omc_CodegenCFunctions_fun__786(threadData, _txt, _a_context, _a_ecr, _i_cr, _a_subsValuesStr, _a_subsLenStr, _a_arrName, _a_arrayType, _a_ty);
goto tmp2_done;
}
}
goto tmp2_end;
tmp2_end: ;
}
goto goto_1;
goto_1:;
MMC_THROW_INTERNAL();
goto tmp2_done;
tmp2_done:;
}
}
_out_txt = tmpMeta[0];
_return: OMC_LABEL_UNUSED
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__786(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_context, modelica_metatype _in_a_ecr, modelica_metatype _in_a_cr, modelica_metatype _in_a_subsValuesStr, modelica_metatype _in_a_subsLenStr, modelica_metatype _in_a_arrName, modelica_metatype _in_a_arrayType, modelica_metatype _in_a_ty)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta[2] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp3_1;modelica_metatype tmp3_2;modelica_metatype tmp3_3;modelica_metatype tmp3_4;modelica_metatype tmp3_5;modelica_metatype tmp3_6;modelica_metatype tmp3_7;modelica_metatype tmp3_8;modelica_metatype tmp3_9;
tmp3_1 = _in_txt;
tmp3_2 = _in_a_context;
tmp3_3 = _in_a_ecr;
tmp3_4 = _in_a_cr;
tmp3_5 = _in_a_subsValuesStr;
tmp3_6 = _in_a_subsLenStr;
tmp3_7 = _in_a_arrName;
tmp3_8 = _in_a_arrayType;
tmp3_9 = _in_a_ty;
{
modelica_metatype _txt = NULL;
modelica_metatype _a_ecr = NULL;
modelica_metatype _a_cr = NULL;
modelica_metatype _a_subsValuesStr = NULL;
modelica_metatype _a_subsLenStr = NULL;
modelica_metatype _a_arrName = NULL;
modelica_metatype _a_arrayType = NULL;
modelica_metatype _a_ty = NULL;
modelica_metatype _txt_0 = NULL;
volatile mmc_switch_type tmp3;
int tmp4;
tmp3 = 0;
for (; tmp3 < 3; tmp3++) {
switch (MMC_SWITCH_CAST(tmp3)) {
case 0: {
modelica_integer tmp5;
if (mmc__uniontype__metarecord__typedef__equal(tmp3_2,1,2) == 0) goto tmp2_end;
tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_2), 3));
tmp5 = mmc_unbox_integer(tmpMeta[1]);
if (0 != tmp5) goto tmp2_end;
_txt = tmp3_1;
_a_cr = tmp3_4;
_a_subsValuesStr = tmp3_5;
_a_subsLenStr = tmp3_6;
_a_arrName = tmp3_7;
_a_arrayType = tmp3_8;
_a_ty = tmp3_9;
tmpMeta[0] = omc_CodegenCFunctions_fun__785(threadData, _txt, _a_ty, _a_cr, _a_subsValuesStr, _a_subsLenStr, _a_arrName, _a_arrayType);
goto tmp2_done;
}
case 1: {
if (mmc__uniontype__metarecord__typedef__equal(tmp3_2,1,2) == 0) goto tmp2_end;
_txt = tmp3_1;
_a_subsValuesStr = tmp3_5;
_a_subsLenStr = tmp3_6;
_a_arrName = tmp3_7;
_a_arrayType = tmp3_8;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1246);
_txt = omc_Tpl_writeText(threadData, _txt, _a_arrayType);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1248);
_txt = omc_Tpl_writeText(threadData, _txt, _a_subsLenStr);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT298);
_txt = omc_Tpl_writeText(threadData, _txt, _a_arrName);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT292);
_txt = omc_Tpl_writeText(threadData, _txt, _a_subsLenStr);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT292);
_txt = omc_Tpl_writeText(threadData, _txt, _a_subsValuesStr);
tmpMeta[0] = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT600);
goto tmp2_done;
}
case 2: {
_txt = tmp3_1;
_a_ecr = tmp3_3;
_txt_0 = omc_Tpl_writeTok(threadData, _OMC_LIT20, _OMC_LIT1282);
_txt_0 = omc_ExpressionDumpTpl_dumpExp(threadData, _txt_0, _a_ecr, _OMC_LIT231);
tmpMeta[0] = omc_CodegenUtil_error(threadData, _txt, omc_Tpl_sourceInfo(threadData, _OMC_LIT27, ((modelica_integer) 5249), ((modelica_integer) 23)), omc_Tpl_textString(threadData, _txt_0));
goto tmp2_done;
}
}
goto tmp2_end;
tmp2_end: ;
}
goto goto_1;
goto_1:;
MMC_THROW_INTERNAL();
goto tmp2_done;
tmp2_done:;
}
}
_out_txt = tmpMeta[0];
_return: OMC_LABEL_UNUSED
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__785(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_ty, modelica_metatype _in_a_cr, modelica_metatype _in_a_subsValuesStr, modelica_metatype _in_a_subsLenStr, modelica_metatype _in_a_arrName, modelica_metatype _in_a_arrayType)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta[2] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp3_1;modelica_metatype tmp3_2;modelica_metatype tmp3_3;modelica_metatype tmp3_4;modelica_metatype tmp3_5;modelica_metatype tmp3_6;modelica_metatype tmp3_7;
tmp3_1 = _in_txt;
tmp3_2 = _in_a_ty;
tmp3_3 = _in_a_cr;
tmp3_4 = _in_a_subsValuesStr;
tmp3_5 = _in_a_subsLenStr;
tmp3_6 = _in_a_arrName;
tmp3_7 = _in_a_arrayType;
{
modelica_metatype _txt = NULL;
modelica_metatype _a_cr = NULL;
modelica_metatype _a_subsValuesStr = NULL;
modelica_metatype _a_subsLenStr = NULL;
modelica_metatype _a_arrName = NULL;
modelica_metatype _a_arrayType = NULL;
modelica_integer _ret_1;
modelica_metatype _ret_0 = NULL;
volatile mmc_switch_type tmp3;
int tmp4;
tmp3 = 0;
for (; tmp3 < 3; tmp3++) {
switch (MMC_SWITCH_CAST(tmp3)) {
case 0: {
if (mmc__uniontype__metarecord__typedef__equal(tmp3_2,6,2) == 0) goto tmp2_end;
tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_2), 2));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[1],9,3) == 0) goto tmp2_end;
_txt = tmp3_1;
_a_subsValuesStr = tmp3_4;
_a_subsLenStr = tmp3_5;
_a_arrName = tmp3_6;
_a_arrayType = tmp3_7;
_txt = omc_Tpl_pushBlock(threadData, _txt, _OMC_LIT1283);
_txt = omc_Tpl_writeText(threadData, _txt, _a_arrayType);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1285);
_txt = omc_Tpl_writeText(threadData, _txt, _a_arrName);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT292);
_txt = omc_Tpl_writeText(threadData, _txt, _a_subsLenStr);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT292);
_txt = omc_Tpl_writeText(threadData, _txt, _a_subsValuesStr);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT78);
tmpMeta[0] = omc_Tpl_popBlock(threadData, _txt);
goto tmp2_done;
}
case 1: {
if (mmc__uniontype__metarecord__typedef__equal(tmp3_2,9,3) == 0) goto tmp2_end;
_txt = tmp3_1;
_a_subsValuesStr = tmp3_4;
_a_subsLenStr = tmp3_5;
_a_arrName = tmp3_6;
_a_arrayType = tmp3_7;
_txt = omc_Tpl_pushBlock(threadData, _txt, _OMC_LIT1283);
_txt = omc_Tpl_writeText(threadData, _txt, _a_arrayType);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1285);
_txt = omc_Tpl_writeText(threadData, _txt, _a_arrName);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT292);
_txt = omc_Tpl_writeText(threadData, _txt, _a_subsLenStr);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT292);
_txt = omc_Tpl_writeText(threadData, _txt, _a_subsValuesStr);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT78);
tmpMeta[0] = omc_Tpl_popBlock(threadData, _txt);
goto tmp2_done;
}
case 2: {
_txt = tmp3_1;
_a_cr = tmp3_3;
_a_subsValuesStr = tmp3_4;
_a_subsLenStr = tmp3_5;
_a_arrName = tmp3_6;
_a_arrayType = tmp3_7;
_txt = omc_Tpl_writeText(threadData, _txt, _a_arrayType);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT506);
_ret_0 = omc_ComponentReference_crefSubs(threadData, _a_cr);
_ret_1 = listLength(_ret_0);
_txt = omc_CodegenCFunctions_fun__784(threadData, _txt, _ret_1, _a_subsLenStr);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT68);
_txt = omc_Tpl_writeText(threadData, _txt, _a_arrName);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT292);
_txt = omc_Tpl_writeText(threadData, _txt, _a_subsLenStr);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT292);
_txt = omc_Tpl_writeText(threadData, _txt, _a_subsValuesStr);
tmpMeta[0] = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT78);
goto tmp2_done;
}
}
goto tmp2_end;
tmp2_end: ;
}
goto goto_1;
goto_1:;
MMC_THROW_INTERNAL();
goto tmp2_done;
tmp2_done:;
}
}
_out_txt = tmpMeta[0];
_return: OMC_LABEL_UNUSED
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__784(threadData_t *threadData, modelica_metatype _in_txt, modelica_integer _in_mArg, modelica_metatype _in_a_subsLenStr)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta[1] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp3_1;modelica_integer tmp3_2;modelica_metatype tmp3_3;
tmp3_1 = _in_txt;
tmp3_2 = _in_mArg;
tmp3_3 = _in_a_subsLenStr;
{
modelica_metatype _txt = NULL;
modelica_metatype _a_subsLenStr = NULL;
int tmp3;
{
switch (MMC_SWITCH_CAST(tmp3_2)) {
case 1: {
if (1 != tmp3_2) goto tmp2_end;
_txt = tmp3_1;
_a_subsLenStr = tmp3_3;
tmpMeta[0] = omc_Tpl_writeText(threadData, _txt, _a_subsLenStr);
goto tmp2_done;
}
case 2: {
if (2 != tmp3_2) goto tmp2_end;
_txt = tmp3_1;
_a_subsLenStr = tmp3_3;
tmpMeta[0] = omc_Tpl_writeText(threadData, _txt, _a_subsLenStr);
goto tmp2_done;
}
default:
tmp2_default: OMC_LABEL_UNUSED; {
_txt = tmp3_1;
tmpMeta[0] = _txt;
goto tmp2_done;
}
}
goto tmp2_end;
tmp2_end: ;
}
goto goto_1;
goto_1:;
MMC_THROW_INTERNAL();
goto tmp2_done;
tmp2_done:;
}
}
_out_txt = tmpMeta[0];
_return: OMC_LABEL_UNUSED
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__784(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_mArg, modelica_metatype _in_a_subsLenStr)
{
modelica_integer tmp1;
modelica_metatype _out_txt = NULL;
tmp1 = mmc_unbox_integer(_in_mArg);
_out_txt = omc_CodegenCFunctions_fun__784(threadData, _in_txt, tmp1, _in_a_subsLenStr);
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_lm__783(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_items, modelica_metatype _in_a_auxFunction, modelica_metatype _in_a_varDecls, modelica_metatype _in_a_preExp, modelica_metatype _in_a_context, modelica_metatype *out_out_a_auxFunction, modelica_metatype *out_out_a_varDecls, modelica_metatype *out_out_a_preExp)
{
modelica_metatype _out_txt = NULL;
modelica_metatype _out_a_auxFunction = NULL;
modelica_metatype _out_a_varDecls = NULL;
modelica_metatype _out_a_preExp = NULL;
modelica_metatype tmpMeta[7] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_metatype tmp4_2;modelica_metatype tmp4_3;modelica_metatype tmp4_4;modelica_metatype tmp4_5;modelica_metatype tmp4_6;
tmp4_1 = _in_txt;
tmp4_2 = _in_items;
tmp4_3 = _in_a_auxFunction;
tmp4_4 = _in_a_varDecls;
tmp4_5 = _in_a_preExp;
tmp4_6 = _in_a_context;
{
modelica_metatype _txt = NULL;
modelica_metatype _rest = NULL;
modelica_metatype _a_auxFunction = NULL;
modelica_metatype _a_varDecls = NULL;
modelica_metatype _a_preExp = NULL;
modelica_metatype _a_context = NULL;
modelica_metatype _i_exp = NULL;
volatile mmc_switch_type tmp4;
int tmp5;
tmp4 = 0;
for (; tmp4 < 3; tmp4++) {
switch (MMC_SWITCH_CAST(tmp4)) {
case 0: {
if (!listEmpty(tmp4_2)) goto tmp3_end;
_txt = tmp4_1;
_a_auxFunction = tmp4_3;
_a_varDecls = tmp4_4;
_a_preExp = tmp4_5;
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_auxFunction;
tmpMeta[0+2] = _a_varDecls;
tmpMeta[0+3] = _a_preExp;
goto tmp3_done;
}
case 1: {
if (listEmpty(tmp4_2)) goto tmp3_end;
tmpMeta[4] = MMC_CAR(tmp4_2);
tmpMeta[5] = MMC_CDR(tmp4_2);
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[4],2,1) == 0) goto tmp3_end;
tmpMeta[6] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[4]), 2));
_i_exp = tmpMeta[6];
_rest = tmpMeta[5];
_txt = tmp4_1;
_a_auxFunction = tmp4_3;
_a_varDecls = tmp4_4;
_a_preExp = tmp4_5;
_a_context = tmp4_6;
_txt = omc_CodegenCFunctions_daeSubscriptExp(threadData, _txt, _i_exp, _a_context, _a_preExp, _a_varDecls, _a_auxFunction ,&_a_preExp ,&_a_varDecls ,&_a_auxFunction);
_txt = omc_Tpl_nextIter(threadData, _txt);
_in_txt = _txt;
_in_items = _rest;
_in_a_auxFunction = _a_auxFunction;
_in_a_varDecls = _a_varDecls;
_in_a_preExp = _a_preExp;
_in_a_context = _a_context;
goto _tailrecursive;
goto tmp3_done;
}
case 2: {
if (listEmpty(tmp4_2)) goto tmp3_end;
tmpMeta[4] = MMC_CAR(tmp4_2);
tmpMeta[5] = MMC_CDR(tmp4_2);
_rest = tmpMeta[5];
_txt = tmp4_1;
_a_auxFunction = tmp4_3;
_a_varDecls = tmp4_4;
_a_preExp = tmp4_5;
_a_context = tmp4_6;
_in_txt = _txt;
_in_items = _rest;
_in_a_auxFunction = _a_auxFunction;
_in_a_varDecls = _a_varDecls;
_in_a_preExp = _a_preExp;
_in_a_context = _a_context;
goto _tailrecursive;
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta[0+0];
_out_a_auxFunction = tmpMeta[0+1];
_out_a_varDecls = tmpMeta[0+2];
_out_a_preExp = tmpMeta[0+3];
_return: OMC_LABEL_UNUSED
if (out_out_a_auxFunction) { *out_out_a_auxFunction = _out_a_auxFunction; }
if (out_out_a_varDecls) { *out_out_a_varDecls = _out_a_varDecls; }
if (out_out_a_preExp) { *out_out_a_preExp = _out_a_preExp; }
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__782(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_context, modelica_metatype _in_a_ecr, modelica_metatype _in_a_auxFunction, modelica_metatype _in_a_preExp, modelica_metatype _in_a_varDecls, modelica_metatype _in_a_ty, modelica_metatype _in_a_cr, modelica_metatype *out_out_a_auxFunction, modelica_metatype *out_out_a_preExp, modelica_metatype *out_out_a_varDecls)
{
modelica_metatype _out_txt = NULL;
modelica_metatype _out_a_auxFunction = NULL;
modelica_metatype _out_a_preExp = NULL;
modelica_metatype _out_a_varDecls = NULL;
modelica_metatype tmpMeta[4] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_metatype tmp4_2;modelica_metatype tmp4_3;modelica_metatype tmp4_4;modelica_metatype tmp4_5;modelica_metatype tmp4_6;modelica_metatype tmp4_7;modelica_metatype tmp4_8;
tmp4_1 = _in_txt;
tmp4_2 = _in_a_context;
tmp4_3 = _in_a_ecr;
tmp4_4 = _in_a_auxFunction;
tmp4_5 = _in_a_preExp;
tmp4_6 = _in_a_varDecls;
tmp4_7 = _in_a_ty;
tmp4_8 = _in_a_cr;
{
modelica_metatype _txt = NULL;
modelica_metatype _a_ecr = NULL;
modelica_metatype _a_auxFunction = NULL;
modelica_metatype _a_preExp = NULL;
modelica_metatype _a_varDecls = NULL;
modelica_metatype _a_ty = NULL;
modelica_metatype _a_cr = NULL;
modelica_metatype _i_context = NULL;
modelica_metatype _txt_5 = NULL;
modelica_metatype _ret_4 = NULL;
modelica_metatype _l_spec1 = NULL;
modelica_metatype _l_tmp = NULL;
modelica_metatype _l_arrayType = NULL;
modelica_metatype _l_arrName = NULL;
volatile mmc_switch_type tmp4;
int tmp5;
tmp4 = 0;
for (; tmp4 < 2; tmp4++) {
switch (MMC_SWITCH_CAST(tmp4)) {
case 0: {
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,1,2) == 0) goto tmp3_end;
_i_context = tmp4_2;
_txt = tmp4_1;
_a_auxFunction = tmp4_4;
_a_preExp = tmp4_5;
_a_varDecls = tmp4_6;
_a_ty = tmp4_7;
_a_cr = tmp4_8;
_l_arrName = omc_CodegenCFunctions_contextArrayCref(threadData, _OMC_LIT20, _a_cr, _i_context);
_l_arrayType = omc_CodegenCFunctions_expTypeArray(threadData, _OMC_LIT20, _a_ty);
_l_tmp = omc_CodegenCFunctions_tempDecl(threadData, _OMC_LIT20, omc_Tpl_textString(threadData, _l_arrayType), _a_varDecls ,&_a_varDecls);
_ret_4 = omc_ComponentReference_crefSubs(threadData, _a_cr);
_l_spec1 = omc_CodegenCFunctions_daeExpCrefIndexSpec(threadData, _OMC_LIT20, _ret_4, _i_context, _a_preExp, _a_varDecls, _a_auxFunction ,&_a_preExp ,&_a_varDecls ,&_a_auxFunction);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT1287);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _l_arrayType);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT298);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _l_arrName);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT123);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _l_spec1);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT123);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _l_tmp);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT290);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT89);
_txt = omc_Tpl_writeText(threadData, _txt, _l_tmp);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_auxFunction;
tmpMeta[0+2] = _a_preExp;
tmpMeta[0+3] = _a_varDecls;
goto tmp3_done;
}
case 1: {
_txt = tmp4_1;
_a_ecr = tmp4_3;
_a_auxFunction = tmp4_4;
_a_preExp = tmp4_5;
_a_varDecls = tmp4_6;
_txt_5 = omc_Tpl_writeTok(threadData, _OMC_LIT20, _OMC_LIT1289);
_txt_5 = omc_ExpressionDumpTpl_dumpExp(threadData, _txt_5, _a_ecr, _OMC_LIT231);
_txt = omc_CodegenUtil_error(threadData, _txt, omc_Tpl_sourceInfo(threadData, _OMC_LIT27, ((modelica_integer) 5262), ((modelica_integer) 17)), omc_Tpl_textString(threadData, _txt_5));
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_auxFunction;
tmpMeta[0+2] = _a_preExp;
tmpMeta[0+3] = _a_varDecls;
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta[0+0];
_out_a_auxFunction = tmpMeta[0+1];
_out_a_preExp = tmpMeta[0+2];
_out_a_varDecls = tmpMeta[0+3];
_return: OMC_LABEL_UNUSED
if (out_out_a_auxFunction) { *out_out_a_auxFunction = _out_a_auxFunction; }
if (out_out_a_preExp) { *out_out_a_preExp = _out_a_preExp; }
if (out_out_a_varDecls) { *out_out_a_varDecls = _out_a_varDecls; }
return _out_txt;
}
DLLExport
modelica_metatype omc_CodegenCFunctions_daeExpCrefRhsSimContext(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_ecr, modelica_metatype _in_a_context, modelica_metatype _in_a_preExp, modelica_metatype _in_a_varDecls, modelica_metatype _in_a_auxFunction, modelica_metatype *out_out_a_preExp, modelica_metatype *out_out_a_varDecls, modelica_metatype *out_out_a_auxFunction)
{
modelica_metatype _out_txt = NULL;
modelica_metatype _out_a_preExp = NULL;
modelica_metatype _out_a_varDecls = NULL;
modelica_metatype _out_a_auxFunction = NULL;
modelica_metatype tmpMeta[8] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_metatype tmp4_2;modelica_metatype tmp4_3;modelica_metatype tmp4_4;modelica_metatype tmp4_5;modelica_metatype tmp4_6;
tmp4_1 = _in_txt;
tmp4_2 = _in_a_ecr;
tmp4_3 = _in_a_context;
tmp4_4 = _in_a_preExp;
tmp4_5 = _in_a_varDecls;
tmp4_6 = _in_a_auxFunction;
{
modelica_metatype _txt = NULL;
modelica_metatype _a_context = NULL;
modelica_metatype _a_preExp = NULL;
modelica_metatype _a_varDecls = NULL;
modelica_metatype _a_auxFunction = NULL;
modelica_metatype _i_ecr = NULL;
modelica_metatype _i_dims = NULL;
modelica_metatype _i_aty = NULL;
modelica_metatype _i_record__state = NULL;
modelica_metatype _i_var__lst = NULL;
modelica_metatype _i_cr = NULL;
modelica_boolean _ret_7;
modelica_boolean _ret_6;
modelica_metatype _l_wrapperArray = NULL;
modelica_metatype _l_arrayType = NULL;
modelica_metatype _l_type = NULL;
modelica_metatype _ret_2 = NULL;
modelica_metatype _l_record__type__name = NULL;
modelica_metatype _l_vars = NULL;
volatile mmc_switch_type tmp4;
int tmp5;
tmp4 = 0;
for (; tmp4 < 5; tmp4++) {
switch (MMC_SWITCH_CAST(tmp4)) {
case 0: {
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,6,2) == 0) goto tmp3_end;
tmpMeta[4] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
tmpMeta[5] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 3));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[5],9,3) == 0) goto tmp3_end;
tmpMeta[6] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[5]), 2));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[6],17,1) == 0) goto tmp3_end;
_i_cr = tmpMeta[4];
_txt = tmp4_1;
_a_context = tmp4_3;
_a_preExp = tmp4_4;
_a_varDecls = tmp4_5;
_a_auxFunction = tmp4_6;
tmpMeta[0+0] = omc_CodegenCFunctions_contextCref(threadData, _txt, _i_cr, _a_context, _a_preExp, _a_varDecls, _a_auxFunction, &tmpMeta[0+1], &tmpMeta[0+2], &tmpMeta[0+3]);
goto tmp3_done;
}
case 1: {
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,6,2) == 0) goto tmp3_end;
tmpMeta[4] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
tmpMeta[5] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 3));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[5],9,3) == 0) goto tmp3_end;
tmpMeta[6] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[5]), 2));
tmpMeta[7] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[5]), 3));
_i_cr = tmpMeta[4];
_i_record__state = tmpMeta[6];
_i_var__lst = tmpMeta[7];
_txt = tmp4_1;
_a_context = tmp4_3;
_a_preExp = tmp4_4;
_a_varDecls = tmp4_5;
_a_auxFunction = tmp4_6;
_l_vars = omc_CodegenCFunctions_lm__775(threadData, _OMC_LIT20, _i_var__lst, _a_auxFunction, _a_varDecls, _a_preExp, _a_context, _i_cr ,&_a_auxFunction ,&_a_varDecls ,&_a_preExp);
_ret_2 = omc_ClassInf_getStateName(threadData, _i_record__state);
_l_record__type__name = omc_CodegenUtil_underscorePath(threadData, _OMC_LIT20, _ret_2);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT627);
_txt = omc_Tpl_writeText(threadData, _txt, _l_record__type__name);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1291);
_txt = omc_Tpl_writeText(threadData, _txt, _l_vars);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT78);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_preExp;
tmpMeta[0+2] = _a_varDecls;
tmpMeta[0+3] = _a_auxFunction;
goto tmp3_done;
}
case 2: {
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,6,2) == 0) goto tmp3_end;
tmpMeta[4] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
tmpMeta[5] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 3));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[5],6,2) == 0) goto tmp3_end;
tmpMeta[6] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[5]), 2));
tmpMeta[7] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[5]), 3));
_i_cr = tmpMeta[4];
_i_aty = tmpMeta[6];
_i_dims = tmpMeta[7];
_txt = tmp4_1;
_a_context = tmp4_3;
_a_preExp = tmp4_4;
_a_varDecls = tmp4_5;
_a_auxFunction = tmp4_6;
_l_type = omc_CodegenCFunctions_expTypeShort(threadData, _OMC_LIT20, _i_aty);
_l_arrayType = omc_Tpl_writeText(threadData, _OMC_LIT20, _l_type);
_l_arrayType = omc_Tpl_writeTok(threadData, _l_arrayType, _OMC_LIT1120);
_l_wrapperArray = omc_CodegenCFunctions_tempDecl(threadData, _OMC_LIT20, omc_Tpl_textString(threadData, _l_arrayType), _a_varDecls ,&_a_varDecls);
_ret_6 = omc_SimCodeFunctionUtil_crefSubIsScalar(threadData, _i_cr);
_txt = omc_CodegenCFunctions_fun__778(threadData, _txt, _ret_6, _i_dims, _l_arrayType, _l_wrapperArray, _l_type, _a_auxFunction, _a_varDecls, _a_preExp, _a_context, _i_cr ,&_a_auxFunction ,&_a_varDecls ,&_a_preExp);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_preExp;
tmpMeta[0+2] = _a_varDecls;
tmpMeta[0+3] = _a_auxFunction;
goto tmp3_done;
}
case 3: {
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,6,2) == 0) goto tmp3_end;
tmpMeta[4] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
_i_ecr = tmp4_2;
_i_cr = tmpMeta[4];
_txt = tmp4_1;
_a_context = tmp4_3;
_a_preExp = tmp4_4;
_a_varDecls = tmp4_5;
_a_auxFunction = tmp4_6;
_ret_7 = omc_ComponentReference_crefIsScalarWithAllConstSubs(threadData, _i_cr);
_txt = omc_CodegenCFunctions_fun__780(threadData, _txt, _ret_7, _a_auxFunction, _a_varDecls, _a_preExp, _a_context, _i_ecr, _i_cr ,&_a_auxFunction ,&_a_varDecls ,&_a_preExp);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_preExp;
tmpMeta[0+2] = _a_varDecls;
tmpMeta[0+3] = _a_auxFunction;
goto tmp3_done;
}
case 4: {
_txt = tmp4_1;
_a_preExp = tmp4_4;
_a_varDecls = tmp4_5;
_a_auxFunction = tmp4_6;
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_preExp;
tmpMeta[0+2] = _a_varDecls;
tmpMeta[0+3] = _a_auxFunction;
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta[0+0];
_out_a_preExp = tmpMeta[0+1];
_out_a_varDecls = tmpMeta[0+2];
_out_a_auxFunction = tmpMeta[0+3];
_return: OMC_LABEL_UNUSED
if (out_out_a_preExp) { *out_out_a_preExp = _out_a_preExp; }
if (out_out_a_varDecls) { *out_out_a_varDecls = _out_a_varDecls; }
if (out_out_a_auxFunction) { *out_out_a_auxFunction = _out_a_auxFunction; }
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__780(threadData_t *threadData, modelica_metatype _in_txt, modelica_boolean _in_mArg, modelica_metatype _in_a_auxFunction, modelica_metatype _in_a_varDecls, modelica_metatype _in_a_preExp, modelica_metatype _in_a_context, modelica_metatype _in_a_ecr, modelica_metatype _in_a_cr, modelica_metatype *out_out_a_auxFunction, modelica_metatype *out_out_a_varDecls, modelica_metatype *out_out_a_preExp)
{
modelica_metatype _out_txt = NULL;
modelica_metatype _out_a_auxFunction = NULL;
modelica_metatype _out_a_varDecls = NULL;
modelica_metatype _out_a_preExp = NULL;
modelica_metatype tmpMeta[4] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_boolean tmp4_2;modelica_metatype tmp4_3;modelica_metatype tmp4_4;modelica_metatype tmp4_5;modelica_metatype tmp4_6;modelica_metatype tmp4_7;modelica_metatype tmp4_8;
tmp4_1 = _in_txt;
tmp4_2 = _in_mArg;
tmp4_3 = _in_a_auxFunction;
tmp4_4 = _in_a_varDecls;
tmp4_5 = _in_a_preExp;
tmp4_6 = _in_a_context;
tmp4_7 = _in_a_ecr;
tmp4_8 = _in_a_cr;
{
modelica_metatype _txt = NULL;
modelica_metatype _a_auxFunction = NULL;
modelica_metatype _a_varDecls = NULL;
modelica_metatype _a_preExp = NULL;
modelica_metatype _a_context = NULL;
modelica_metatype _a_ecr = NULL;
modelica_metatype _a_cr = NULL;
modelica_boolean _ret_0;
volatile mmc_switch_type tmp4;
int tmp5;
tmp4 = 0;
for (; tmp4 < 2; tmp4++) {
switch (MMC_SWITCH_CAST(tmp4)) {
case 0: {
if (0 != tmp4_2) goto tmp3_end;
_txt = tmp4_1;
_a_auxFunction = tmp4_3;
_a_varDecls = tmp4_4;
_a_preExp = tmp4_5;
_a_context = tmp4_6;
_a_ecr = tmp4_7;
_a_cr = tmp4_8;
_ret_0 = omc_ComponentReference_crefIsScalarWithVariableSubs(threadData, _a_cr);
tmpMeta[0+0] = omc_CodegenCFunctions_fun__779(threadData, _txt, _ret_0, _a_auxFunction, _a_varDecls, _a_preExp, _a_context, _a_cr, _a_ecr, &tmpMeta[0+1], &tmpMeta[0+2], &tmpMeta[0+3]);
goto tmp3_done;
}
case 1: {
_txt = tmp4_1;
_a_auxFunction = tmp4_3;
_a_varDecls = tmp4_4;
_a_preExp = tmp4_5;
_a_context = tmp4_6;
_a_cr = tmp4_8;
_txt = omc_CodegenCFunctions_contextCref(threadData, _txt, _a_cr, _a_context, _a_preExp, _a_varDecls, _a_auxFunction ,&_a_preExp ,&_a_varDecls ,&_a_auxFunction);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_auxFunction;
tmpMeta[0+2] = _a_varDecls;
tmpMeta[0+3] = _a_preExp;
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta[0+0];
_out_a_auxFunction = tmpMeta[0+1];
_out_a_varDecls = tmpMeta[0+2];
_out_a_preExp = tmpMeta[0+3];
_return: OMC_LABEL_UNUSED
if (out_out_a_auxFunction) { *out_out_a_auxFunction = _out_a_auxFunction; }
if (out_out_a_varDecls) { *out_out_a_varDecls = _out_a_varDecls; }
if (out_out_a_preExp) { *out_out_a_preExp = _out_a_preExp; }
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__780(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_mArg, modelica_metatype _in_a_auxFunction, modelica_metatype _in_a_varDecls, modelica_metatype _in_a_preExp, modelica_metatype _in_a_context, modelica_metatype _in_a_ecr, modelica_metatype _in_a_cr, modelica_metatype *out_out_a_auxFunction, modelica_metatype *out_out_a_varDecls, modelica_metatype *out_out_a_preExp)
{
modelica_integer tmp1;
modelica_metatype _out_txt = NULL;
tmp1 = mmc_unbox_integer(_in_mArg);
_out_txt = omc_CodegenCFunctions_fun__780(threadData, _in_txt, tmp1, _in_a_auxFunction, _in_a_varDecls, _in_a_preExp, _in_a_context, _in_a_ecr, _in_a_cr, out_out_a_auxFunction, out_out_a_varDecls, out_out_a_preExp);
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__779(threadData_t *threadData, modelica_metatype _in_txt, modelica_boolean _in_mArg, modelica_metatype _in_a_auxFunction, modelica_metatype _in_a_varDecls, modelica_metatype _in_a_preExp, modelica_metatype _in_a_context, modelica_metatype _in_a_cr, modelica_metatype _in_a_ecr, modelica_metatype *out_out_a_auxFunction, modelica_metatype *out_out_a_varDecls, modelica_metatype *out_out_a_preExp)
{
modelica_metatype _out_txt = NULL;
modelica_metatype _out_a_auxFunction = NULL;
modelica_metatype _out_a_varDecls = NULL;
modelica_metatype _out_a_preExp = NULL;
modelica_metatype tmpMeta[4] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_boolean tmp4_2;modelica_metatype tmp4_3;modelica_metatype tmp4_4;modelica_metatype tmp4_5;modelica_metatype tmp4_6;modelica_metatype tmp4_7;modelica_metatype tmp4_8;
tmp4_1 = _in_txt;
tmp4_2 = _in_mArg;
tmp4_3 = _in_a_auxFunction;
tmp4_4 = _in_a_varDecls;
tmp4_5 = _in_a_preExp;
tmp4_6 = _in_a_context;
tmp4_7 = _in_a_cr;
tmp4_8 = _in_a_ecr;
{
modelica_metatype _txt = NULL;
modelica_metatype _a_auxFunction = NULL;
modelica_metatype _a_varDecls = NULL;
modelica_metatype _a_preExp = NULL;
modelica_metatype _a_context = NULL;
modelica_metatype _a_cr = NULL;
modelica_metatype _a_ecr = NULL;
modelica_metatype _ret_5 = NULL;
modelica_metatype _ret_4 = NULL;
modelica_metatype _ret_3 = NULL;
modelica_metatype _ret_2 = NULL;
modelica_metatype _l_nosubname = NULL;
modelica_metatype _txt_0 = NULL;
volatile mmc_switch_type tmp4;
int tmp5;
tmp4 = 0;
for (; tmp4 < 2; tmp4++) {
switch (MMC_SWITCH_CAST(tmp4)) {
case 0: {
if (0 != tmp4_2) goto tmp3_end;
_txt = tmp4_1;
_a_auxFunction = tmp4_3;
_a_varDecls = tmp4_4;
_a_preExp = tmp4_5;
_a_ecr = tmp4_8;
_txt_0 = omc_Tpl_writeTok(threadData, _OMC_LIT20, _OMC_LIT1293);
_txt_0 = omc_ExpressionDumpTpl_dumpExp(threadData, _txt_0, _a_ecr, _OMC_LIT231);
_txt = omc_CodegenUtil_error(threadData, _txt, omc_Tpl_sourceInfo(threadData, _OMC_LIT27, ((modelica_integer) 5206), ((modelica_integer) 13)), omc_Tpl_textString(threadData, _txt_0));
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_auxFunction;
tmpMeta[0+2] = _a_varDecls;
tmpMeta[0+3] = _a_preExp;
goto tmp3_done;
}
case 1: {
_txt = tmp4_1;
_a_auxFunction = tmp4_3;
_a_varDecls = tmp4_4;
_a_preExp = tmp4_5;
_a_context = tmp4_6;
_a_cr = tmp4_7;
_ret_2 = omc_ComponentReference_crefStripSubs(threadData, _a_cr);
_l_nosubname = omc_CodegenCFunctions_contextCref(threadData, _OMC_LIT20, _ret_2, _a_context, _a_preExp, _a_varDecls, _a_auxFunction ,&_a_preExp ,&_a_varDecls ,&_a_auxFunction);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT298);
_txt = omc_Tpl_writeText(threadData, _txt, _l_nosubname);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT78);
_ret_3 = omc_ComponentReference_crefDims(threadData, _a_cr);
_ret_4 = omc_ComponentReference_crefArrayGetFirstCref(threadData, _a_cr);
_ret_5 = omc_ComponentReference_crefSubs(threadData, _ret_4);
_txt = omc_CodegenCFunctions_indexSubs(threadData, _txt, _ret_3, _ret_5, _a_context, _a_preExp, _a_varDecls, _a_auxFunction ,&_a_preExp ,&_a_varDecls ,&_a_auxFunction);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_auxFunction;
tmpMeta[0+2] = _a_varDecls;
tmpMeta[0+3] = _a_preExp;
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta[0+0];
_out_a_auxFunction = tmpMeta[0+1];
_out_a_varDecls = tmpMeta[0+2];
_out_a_preExp = tmpMeta[0+3];
_return: OMC_LABEL_UNUSED
if (out_out_a_auxFunction) { *out_out_a_auxFunction = _out_a_auxFunction; }
if (out_out_a_varDecls) { *out_out_a_varDecls = _out_a_varDecls; }
if (out_out_a_preExp) { *out_out_a_preExp = _out_a_preExp; }
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__779(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_mArg, modelica_metatype _in_a_auxFunction, modelica_metatype _in_a_varDecls, modelica_metatype _in_a_preExp, modelica_metatype _in_a_context, modelica_metatype _in_a_cr, modelica_metatype _in_a_ecr, modelica_metatype *out_out_a_auxFunction, modelica_metatype *out_out_a_varDecls, modelica_metatype *out_out_a_preExp)
{
modelica_integer tmp1;
modelica_metatype _out_txt = NULL;
tmp1 = mmc_unbox_integer(_in_mArg);
_out_txt = omc_CodegenCFunctions_fun__779(threadData, _in_txt, tmp1, _in_a_auxFunction, _in_a_varDecls, _in_a_preExp, _in_a_context, _in_a_cr, _in_a_ecr, out_out_a_auxFunction, out_out_a_varDecls, out_out_a_preExp);
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__778(threadData_t *threadData, modelica_metatype _in_txt, modelica_boolean _in_mArg, modelica_metatype _in_a_dims, modelica_metatype _in_a_arrayType, modelica_metatype _in_a_wrapperArray, modelica_metatype _in_a_type, modelica_metatype _in_a_auxFunction, modelica_metatype _in_a_varDecls, modelica_metatype _in_a_preExp, modelica_metatype _in_a_context, modelica_metatype _in_a_cr, modelica_metatype *out_out_a_auxFunction, modelica_metatype *out_out_a_varDecls, modelica_metatype *out_out_a_preExp)
{
modelica_metatype _out_txt = NULL;
modelica_metatype _out_a_auxFunction = NULL;
modelica_metatype _out_a_varDecls = NULL;
modelica_metatype _out_a_preExp = NULL;
modelica_metatype tmpMeta[4] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_boolean tmp4_2;modelica_metatype tmp4_3;modelica_metatype tmp4_4;modelica_metatype tmp4_5;modelica_metatype tmp4_6;modelica_metatype tmp4_7;modelica_metatype tmp4_8;modelica_metatype tmp4_9;modelica_metatype tmp4_10;modelica_metatype tmp4_11;
tmp4_1 = _in_txt;
tmp4_2 = _in_mArg;
tmp4_3 = _in_a_dims;
tmp4_4 = _in_a_arrayType;
tmp4_5 = _in_a_wrapperArray;
tmp4_6 = _in_a_type;
tmp4_7 = _in_a_auxFunction;
tmp4_8 = _in_a_varDecls;
tmp4_9 = _in_a_preExp;
tmp4_10 = _in_a_context;
tmp4_11 = _in_a_cr;
{
modelica_metatype _txt = NULL;
modelica_metatype _a_dims = NULL;
modelica_metatype _a_arrayType = NULL;
modelica_metatype _a_wrapperArray = NULL;
modelica_metatype _a_type = NULL;
modelica_metatype _a_auxFunction = NULL;
modelica_metatype _a_varDecls = NULL;
modelica_metatype _a_preExp = NULL;
modelica_metatype _a_context = NULL;
modelica_metatype _a_cr = NULL;
modelica_metatype _ret_16 = NULL;
modelica_metatype _ret_15 = NULL;
modelica_metatype _ret_14 = NULL;
modelica_metatype _l_t = NULL;
modelica_metatype _ret_12 = NULL;
modelica_metatype _l_nosubname = NULL;
modelica_integer _ret_10;
modelica_metatype _ret_9 = NULL;
modelica_metatype _l_spec1 = NULL;
modelica_metatype _l_slicedArray = NULL;
modelica_metatype _ret_6 = NULL;
modelica_metatype _l_arrName = NULL;
modelica_metatype _ret_4 = NULL;
modelica_metatype _l_dimsValuesStr = NULL;
modelica_integer _ret_2;
modelica_metatype _ret_1 = NULL;
modelica_metatype _l_dimsLenStr = NULL;
volatile mmc_switch_type tmp4;
int tmp5;
tmp4 = 0;
for (; tmp4 < 2; tmp4++) {
switch (MMC_SWITCH_CAST(tmp4)) {
case 0: {
if (0 != tmp4_2) goto tmp3_end;
_txt = tmp4_1;
_a_arrayType = tmp4_4;
_a_wrapperArray = tmp4_5;
_a_type = tmp4_6;
_a_auxFunction = tmp4_7;
_a_varDecls = tmp4_8;
_a_preExp = tmp4_9;
_a_context = tmp4_10;
_a_cr = tmp4_11;
_ret_1 = omc_ComponentReference_crefDims(threadData, _a_cr);
_ret_2 = listLength(_ret_1);
_l_dimsLenStr = omc_Tpl_writeStr(threadData, _OMC_LIT20, intString(_ret_2));
_ret_4 = omc_ComponentReference_crefDims(threadData, _a_cr);
_l_dimsValuesStr = omc_Tpl_pushIter(threadData, _OMC_LIT20, _OMC_LIT294);
_l_dimsValuesStr = omc_CodegenCFunctions_lm__776(threadData, _l_dimsValuesStr, _ret_4, _a_auxFunction, _a_varDecls, _a_preExp, _a_context ,&_a_auxFunction ,&_a_varDecls ,&_a_preExp);
_l_dimsValuesStr = omc_Tpl_popIter(threadData, _l_dimsValuesStr);
_ret_6 = omc_ComponentReference_crefStripSubs(threadData, _a_cr);
_l_arrName = omc_CodegenCFunctions_contextCref(threadData, _OMC_LIT20, _ret_6, _a_context, _a_preExp, _a_varDecls, _a_auxFunction ,&_a_preExp ,&_a_varDecls ,&_a_auxFunction);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _a_type);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT1267);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _a_wrapperArray);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT1295);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _a_type);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT1297);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _l_arrName);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT292);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _l_dimsLenStr);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT292);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _l_dimsValuesStr);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT290);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT89);
_l_slicedArray = omc_CodegenCFunctions_tempDecl(threadData, _OMC_LIT20, omc_Tpl_textString(threadData, _a_arrayType), _a_varDecls ,&_a_varDecls);
_ret_9 = omc_ComponentReference_crefSubs(threadData, _a_cr);
_l_spec1 = omc_CodegenCFunctions_daeExpCrefIndexSpec(threadData, _OMC_LIT20, _ret_9, _a_context, _a_preExp, _a_varDecls, _a_auxFunction ,&_a_preExp ,&_a_varDecls ,&_a_auxFunction);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT1287);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _a_type);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT556);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _a_wrapperArray);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT123);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _l_spec1);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT123);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _l_slicedArray);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT290);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT89);
_txt = omc_Tpl_writeText(threadData, _txt, _l_slicedArray);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_auxFunction;
tmpMeta[0+2] = _a_varDecls;
tmpMeta[0+3] = _a_preExp;
goto tmp3_done;
}
case 1: {
_txt = tmp4_1;
_a_dims = tmp4_3;
_a_wrapperArray = tmp4_5;
_a_type = tmp4_6;
_a_auxFunction = tmp4_7;
_a_varDecls = tmp4_8;
_a_preExp = tmp4_9;
_a_context = tmp4_10;
_a_cr = tmp4_11;
_ret_10 = listLength(_a_dims);
_l_dimsLenStr = omc_Tpl_writeStr(threadData, _OMC_LIT20, intString(_ret_10));
_l_dimsValuesStr = omc_Tpl_pushIter(threadData, _OMC_LIT20, _OMC_LIT294);
_l_dimsValuesStr = omc_CodegenCFunctions_lm__777(threadData, _l_dimsValuesStr, _a_dims, _a_auxFunction, _a_varDecls, _a_preExp, _a_context ,&_a_auxFunction ,&_a_varDecls ,&_a_preExp);
_l_dimsValuesStr = omc_Tpl_popIter(threadData, _l_dimsValuesStr);
_ret_12 = omc_ComponentReference_crefStripSubs(threadData, _a_cr);
_l_nosubname = omc_CodegenCFunctions_contextCref(threadData, _OMC_LIT20, _ret_12, _a_context, _a_preExp, _a_varDecls, _a_auxFunction ,&_a_preExp ,&_a_varDecls ,&_a_auxFunction);
_l_t = omc_Tpl_writeText(threadData, _OMC_LIT20, _a_type);
_l_t = omc_Tpl_writeTok(threadData, _l_t, _OMC_LIT1267);
_l_t = omc_Tpl_writeText(threadData, _l_t, _a_wrapperArray);
_l_t = omc_Tpl_writeTok(threadData, _l_t, _OMC_LIT1269);
_l_t = omc_Tpl_writeText(threadData, _l_t, _a_type);
_l_t = omc_Tpl_writeTok(threadData, _l_t, _OMC_LIT1271);
_l_t = omc_Tpl_writeText(threadData, _l_t, _l_nosubname);
_l_t = omc_Tpl_writeTok(threadData, _l_t, _OMC_LIT78);
_ret_14 = omc_ComponentReference_crefDims(threadData, _a_cr);
_ret_15 = omc_ComponentReference_crefArrayGetFirstCref(threadData, _a_cr);
_ret_16 = omc_ComponentReference_crefSubs(threadData, _ret_15);
_l_t = omc_CodegenCFunctions_indexSubs(threadData, _l_t, _ret_14, _ret_16, _a_context, _a_preExp, _a_varDecls, _a_auxFunction ,&_a_preExp ,&_a_varDecls ,&_a_auxFunction);
_l_t = omc_Tpl_writeTok(threadData, _l_t, _OMC_LIT1273);
_l_t = omc_Tpl_writeText(threadData, _l_t, _l_dimsLenStr);
_l_t = omc_Tpl_writeTok(threadData, _l_t, _OMC_LIT292);
_l_t = omc_Tpl_writeText(threadData, _l_t, _l_dimsValuesStr);
_l_t = omc_Tpl_writeTok(threadData, _l_t, _OMC_LIT290);
_l_t = omc_Tpl_writeTok(threadData, _l_t, _OMC_LIT89);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _l_t);
_txt = omc_Tpl_writeText(threadData, _txt, _a_wrapperArray);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_auxFunction;
tmpMeta[0+2] = _a_varDecls;
tmpMeta[0+3] = _a_preExp;
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta[0+0];
_out_a_auxFunction = tmpMeta[0+1];
_out_a_varDecls = tmpMeta[0+2];
_out_a_preExp = tmpMeta[0+3];
_return: OMC_LABEL_UNUSED
if (out_out_a_auxFunction) { *out_out_a_auxFunction = _out_a_auxFunction; }
if (out_out_a_varDecls) { *out_out_a_varDecls = _out_a_varDecls; }
if (out_out_a_preExp) { *out_out_a_preExp = _out_a_preExp; }
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__778(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_mArg, modelica_metatype _in_a_dims, modelica_metatype _in_a_arrayType, modelica_metatype _in_a_wrapperArray, modelica_metatype _in_a_type, modelica_metatype _in_a_auxFunction, modelica_metatype _in_a_varDecls, modelica_metatype _in_a_preExp, modelica_metatype _in_a_context, modelica_metatype _in_a_cr, modelica_metatype *out_out_a_auxFunction, modelica_metatype *out_out_a_varDecls, modelica_metatype *out_out_a_preExp)
{
modelica_integer tmp1;
modelica_metatype _out_txt = NULL;
tmp1 = mmc_unbox_integer(_in_mArg);
_out_txt = omc_CodegenCFunctions_fun__778(threadData, _in_txt, tmp1, _in_a_dims, _in_a_arrayType, _in_a_wrapperArray, _in_a_type, _in_a_auxFunction, _in_a_varDecls, _in_a_preExp, _in_a_context, _in_a_cr, out_out_a_auxFunction, out_out_a_varDecls, out_out_a_preExp);
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_lm__777(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_items, modelica_metatype _in_a_auxFunction, modelica_metatype _in_a_varDecls, modelica_metatype _in_a_preExp, modelica_metatype _in_a_context, modelica_metatype *out_out_a_auxFunction, modelica_metatype *out_out_a_varDecls, modelica_metatype *out_out_a_preExp)
{
modelica_metatype _out_txt = NULL;
modelica_metatype _out_a_auxFunction = NULL;
modelica_metatype _out_a_varDecls = NULL;
modelica_metatype _out_a_preExp = NULL;
modelica_metatype tmpMeta[6] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_metatype tmp4_2;modelica_metatype tmp4_3;modelica_metatype tmp4_4;modelica_metatype tmp4_5;modelica_metatype tmp4_6;
tmp4_1 = _in_txt;
tmp4_2 = _in_items;
tmp4_3 = _in_a_auxFunction;
tmp4_4 = _in_a_varDecls;
tmp4_5 = _in_a_preExp;
tmp4_6 = _in_a_context;
{
modelica_metatype _txt = NULL;
modelica_metatype _rest = NULL;
modelica_metatype _a_auxFunction = NULL;
modelica_metatype _a_varDecls = NULL;
modelica_metatype _a_preExp = NULL;
modelica_metatype _a_context = NULL;
modelica_metatype _i_dim = NULL;
volatile mmc_switch_type tmp4;
int tmp5;
tmp4 = 0;
for (; tmp4 < 2; tmp4++) {
switch (MMC_SWITCH_CAST(tmp4)) {
case 0: {
if (!listEmpty(tmp4_2)) goto tmp3_end;
_txt = tmp4_1;
_a_auxFunction = tmp4_3;
_a_varDecls = tmp4_4;
_a_preExp = tmp4_5;
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_auxFunction;
tmpMeta[0+2] = _a_varDecls;
tmpMeta[0+3] = _a_preExp;
goto tmp3_done;
}
case 1: {
if (listEmpty(tmp4_2)) goto tmp3_end;
tmpMeta[4] = MMC_CAR(tmp4_2);
tmpMeta[5] = MMC_CDR(tmp4_2);
_i_dim = tmpMeta[4];
_rest = tmpMeta[5];
_txt = tmp4_1;
_a_auxFunction = tmp4_3;
_a_varDecls = tmp4_4;
_a_preExp = tmp4_5;
_a_context = tmp4_6;
_txt = omc_CodegenCFunctions_dimension(threadData, _txt, _i_dim, _a_context, _a_preExp, _a_varDecls, _a_auxFunction ,&_a_preExp ,&_a_varDecls ,&_a_auxFunction);
_txt = omc_Tpl_nextIter(threadData, _txt);
_in_txt = _txt;
_in_items = _rest;
_in_a_auxFunction = _a_auxFunction;
_in_a_varDecls = _a_varDecls;
_in_a_preExp = _a_preExp;
_in_a_context = _a_context;
goto _tailrecursive;
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta[0+0];
_out_a_auxFunction = tmpMeta[0+1];
_out_a_varDecls = tmpMeta[0+2];
_out_a_preExp = tmpMeta[0+3];
_return: OMC_LABEL_UNUSED
if (out_out_a_auxFunction) { *out_out_a_auxFunction = _out_a_auxFunction; }
if (out_out_a_varDecls) { *out_out_a_varDecls = _out_a_varDecls; }
if (out_out_a_preExp) { *out_out_a_preExp = _out_a_preExp; }
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_lm__776(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_items, modelica_metatype _in_a_auxFunction, modelica_metatype _in_a_varDecls, modelica_metatype _in_a_preExp, modelica_metatype _in_a_context, modelica_metatype *out_out_a_auxFunction, modelica_metatype *out_out_a_varDecls, modelica_metatype *out_out_a_preExp)
{
modelica_metatype _out_txt = NULL;
modelica_metatype _out_a_auxFunction = NULL;
modelica_metatype _out_a_varDecls = NULL;
modelica_metatype _out_a_preExp = NULL;
modelica_metatype tmpMeta[6] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_metatype tmp4_2;modelica_metatype tmp4_3;modelica_metatype tmp4_4;modelica_metatype tmp4_5;modelica_metatype tmp4_6;
tmp4_1 = _in_txt;
tmp4_2 = _in_items;
tmp4_3 = _in_a_auxFunction;
tmp4_4 = _in_a_varDecls;
tmp4_5 = _in_a_preExp;
tmp4_6 = _in_a_context;
{
modelica_metatype _txt = NULL;
modelica_metatype _rest = NULL;
modelica_metatype _a_auxFunction = NULL;
modelica_metatype _a_varDecls = NULL;
modelica_metatype _a_preExp = NULL;
modelica_metatype _a_context = NULL;
modelica_metatype _i_dim = NULL;
volatile mmc_switch_type tmp4;
int tmp5;
tmp4 = 0;
for (; tmp4 < 2; tmp4++) {
switch (MMC_SWITCH_CAST(tmp4)) {
case 0: {
if (!listEmpty(tmp4_2)) goto tmp3_end;
_txt = tmp4_1;
_a_auxFunction = tmp4_3;
_a_varDecls = tmp4_4;
_a_preExp = tmp4_5;
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_auxFunction;
tmpMeta[0+2] = _a_varDecls;
tmpMeta[0+3] = _a_preExp;
goto tmp3_done;
}
case 1: {
if (listEmpty(tmp4_2)) goto tmp3_end;
tmpMeta[4] = MMC_CAR(tmp4_2);
tmpMeta[5] = MMC_CDR(tmp4_2);
_i_dim = tmpMeta[4];
_rest = tmpMeta[5];
_txt = tmp4_1;
_a_auxFunction = tmp4_3;
_a_varDecls = tmp4_4;
_a_preExp = tmp4_5;
_a_context = tmp4_6;
_txt = omc_CodegenCFunctions_dimension(threadData, _txt, _i_dim, _a_context, _a_preExp, _a_varDecls, _a_auxFunction ,&_a_preExp ,&_a_varDecls ,&_a_auxFunction);
_txt = omc_Tpl_nextIter(threadData, _txt);
_in_txt = _txt;
_in_items = _rest;
_in_a_auxFunction = _a_auxFunction;
_in_a_varDecls = _a_varDecls;
_in_a_preExp = _a_preExp;
_in_a_context = _a_context;
goto _tailrecursive;
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta[0+0];
_out_a_auxFunction = tmpMeta[0+1];
_out_a_varDecls = tmpMeta[0+2];
_out_a_preExp = tmpMeta[0+3];
_return: OMC_LABEL_UNUSED
if (out_out_a_auxFunction) { *out_out_a_auxFunction = _out_a_auxFunction; }
if (out_out_a_varDecls) { *out_out_a_varDecls = _out_a_varDecls; }
if (out_out_a_preExp) { *out_out_a_preExp = _out_a_preExp; }
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_lm__775(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_items, modelica_metatype _in_a_auxFunction, modelica_metatype _in_a_varDecls, modelica_metatype _in_a_preExp, modelica_metatype _in_a_context, modelica_metatype _in_a_cr, modelica_metatype *out_out_a_auxFunction, modelica_metatype *out_out_a_varDecls, modelica_metatype *out_out_a_preExp)
{
modelica_metatype _out_txt = NULL;
modelica_metatype _out_a_auxFunction = NULL;
modelica_metatype _out_a_varDecls = NULL;
modelica_metatype _out_a_preExp = NULL;
modelica_metatype tmpMeta[6] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_metatype tmp4_2;modelica_metatype tmp4_3;modelica_metatype tmp4_4;modelica_metatype tmp4_5;modelica_metatype tmp4_6;modelica_metatype tmp4_7;
tmp4_1 = _in_txt;
tmp4_2 = _in_items;
tmp4_3 = _in_a_auxFunction;
tmp4_4 = _in_a_varDecls;
tmp4_5 = _in_a_preExp;
tmp4_6 = _in_a_context;
tmp4_7 = _in_a_cr;
{
modelica_metatype _txt = NULL;
modelica_metatype _rest = NULL;
modelica_metatype _a_auxFunction = NULL;
modelica_metatype _a_varDecls = NULL;
modelica_metatype _a_preExp = NULL;
modelica_metatype _a_context = NULL;
modelica_metatype _a_cr = NULL;
modelica_metatype _i_v = NULL;
modelica_metatype _ret_0 = NULL;
volatile mmc_switch_type tmp4;
int tmp5;
tmp4 = 0;
for (; tmp4 < 2; tmp4++) {
switch (MMC_SWITCH_CAST(tmp4)) {
case 0: {
if (!listEmpty(tmp4_2)) goto tmp3_end;
_txt = tmp4_1;
_a_auxFunction = tmp4_3;
_a_varDecls = tmp4_4;
_a_preExp = tmp4_5;
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_auxFunction;
tmpMeta[0+2] = _a_varDecls;
tmpMeta[0+3] = _a_preExp;
goto tmp3_done;
}
case 1: {
if (listEmpty(tmp4_2)) goto tmp3_end;
tmpMeta[4] = MMC_CAR(tmp4_2);
tmpMeta[5] = MMC_CDR(tmp4_2);
_i_v = tmpMeta[4];
_rest = tmpMeta[5];
_txt = tmp4_1;
_a_auxFunction = tmp4_3;
_a_varDecls = tmp4_4;
_a_preExp = tmp4_5;
_a_context = tmp4_6;
_a_cr = tmp4_7;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT292);
_ret_0 = omc_SimCodeFunctionUtil_makeCrefRecordExp(threadData, _a_cr, _i_v);
_txt = omc_CodegenCFunctions_daeExp(threadData, _txt, _ret_0, _a_context, _a_preExp, _a_varDecls, _a_auxFunction ,&_a_preExp ,&_a_varDecls ,&_a_auxFunction);
_in_txt = _txt;
_in_items = _rest;
_in_a_auxFunction = _a_auxFunction;
_in_a_varDecls = _a_varDecls;
_in_a_preExp = _a_preExp;
_in_a_context = _a_context;
_in_a_cr = _a_cr;
goto _tailrecursive;
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta[0+0];
_out_a_auxFunction = tmpMeta[0+1];
_out_a_varDecls = tmpMeta[0+2];
_out_a_preExp = tmpMeta[0+3];
_return: OMC_LABEL_UNUSED
if (out_out_a_auxFunction) { *out_out_a_auxFunction = _out_a_auxFunction; }
if (out_out_a_varDecls) { *out_out_a_varDecls = _out_a_varDecls; }
if (out_out_a_preExp) { *out_out_a_preExp = _out_a_preExp; }
return _out_txt;
}
DLLExport
modelica_metatype omc_CodegenCFunctions_daeExpCrefRhs(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_exp, modelica_metatype _in_a_context, modelica_metatype _in_a_preExp, modelica_metatype _in_a_varDecls, modelica_metatype _in_a_auxFunction, modelica_metatype *out_out_a_preExp, modelica_metatype *out_out_a_varDecls, modelica_metatype *out_out_a_auxFunction)
{
modelica_metatype _out_txt = NULL;
modelica_metatype _out_a_preExp = NULL;
modelica_metatype _out_a_varDecls = NULL;
modelica_metatype _out_a_auxFunction = NULL;
modelica_metatype tmpMeta[11] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_metatype tmp4_2;modelica_metatype tmp4_3;modelica_metatype tmp4_4;modelica_metatype tmp4_5;modelica_metatype tmp4_6;
tmp4_1 = _in_txt;
tmp4_2 = _in_a_exp;
tmp4_3 = _in_a_context;
tmp4_4 = _in_a_preExp;
tmp4_5 = _in_a_varDecls;
tmp4_6 = _in_a_auxFunction;
{
modelica_metatype _txt = NULL;
modelica_metatype _a_context = NULL;
modelica_metatype _a_preExp = NULL;
modelica_metatype _a_varDecls = NULL;
modelica_metatype _a_auxFunction = NULL;
modelica_metatype _i_exp = NULL;
modelica_string _i_cr_ident = NULL;
modelica_metatype _i_ty = NULL;
modelica_string _i_cri_ident = NULL;
modelica_metatype _i_cr = NULL;
modelica_integer _ret_6;
modelica_integer _ret_5;
modelica_metatype _ret_4 = NULL;
modelica_integer _ret_3;
modelica_integer _ret_2;
modelica_metatype _ret_1 = NULL;
modelica_metatype _l_offset = NULL;
volatile mmc_switch_type tmp4;
int tmp5;
tmp4 = 0;
for (; tmp4 < 5; tmp4++) {
switch (MMC_SWITCH_CAST(tmp4)) {
case 0: {
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,6,2) == 0) goto tmp3_end;
tmpMeta[4] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
tmpMeta[5] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 3));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[5],13,2) == 0) goto tmp3_end;
_i_cr = tmpMeta[4];
_txt = tmp4_1;
_a_preExp = tmp4_4;
_a_varDecls = tmp4_5;
_a_auxFunction = tmp4_6;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1299);
_txt = omc_CodegenCFunctions_crefFunctionName(threadData, _txt, _i_cr);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_preExp;
tmpMeta[0+2] = _a_varDecls;
tmpMeta[0+3] = _a_auxFunction;
goto tmp3_done;
}
case 1: {
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,6,2) == 0) goto tmp3_end;
tmpMeta[4] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
tmpMeta[5] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 3));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[5],12,1) == 0) goto tmp3_end;
_i_cr = tmpMeta[4];
_txt = tmp4_1;
_a_preExp = tmp4_4;
_a_varDecls = tmp4_5;
_a_auxFunction = tmp4_6;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1301);
_txt = omc_CodegenUtil_crefStr(threadData, _txt, _i_cr);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT78);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_preExp;
tmpMeta[0+2] = _a_varDecls;
tmpMeta[0+3] = _a_auxFunction;
goto tmp3_done;
}
case 2: {
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,6,2) == 0) goto tmp3_end;
tmpMeta[4] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[4],0,4) == 0) goto tmp3_end;
tmpMeta[5] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[4]), 2));
tmpMeta[6] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[4]), 3));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[6],25,1) == 0) goto tmp3_end;
tmpMeta[7] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[6]), 2));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[7],20,5) == 0) goto tmp3_end;
tmpMeta[8] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[4]), 4));
if (!listEmpty(tmpMeta[8])) goto tmp3_end;
tmpMeta[9] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[4]), 5));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[9],1,3) == 0) goto tmp3_end;
tmpMeta[10] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[9]), 2));
_i_cr_ident = tmpMeta[5];
_i_ty = tmpMeta[7];
_i_cri_ident = tmpMeta[10];
_txt = tmp4_1;
_a_preExp = tmp4_4;
_a_varDecls = tmp4_5;
_a_auxFunction = tmp4_6;
_ret_1 = omc_Types_getMetaRecordFields(threadData, _i_ty);
_ret_2 = omc_Types_findVarIndex(threadData, _i_cri_ident, _ret_1);
_ret_3 = ((modelica_integer) 2) + _ret_2;
_l_offset = omc_Tpl_writeStr(threadData, _OMC_LIT20, intString(_ret_3));
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1303);
_txt = omc_Tpl_writeStr(threadData, _txt, _i_cr_ident);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT522);
_txt = omc_Tpl_writeText(threadData, _txt, _l_offset);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT524);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_preExp;
tmpMeta[0+2] = _a_varDecls;
tmpMeta[0+3] = _a_auxFunction;
goto tmp3_done;
}
case 3: {
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,6,2) == 0) goto tmp3_end;
tmpMeta[4] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[4],0,4) == 0) goto tmp3_end;
tmpMeta[5] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[4]), 2));
tmpMeta[6] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[4]), 3));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[6],25,1) == 0) goto tmp3_end;
tmpMeta[7] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[6]), 2));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[7],21,6) == 0) goto tmp3_end;
tmpMeta[8] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[4]), 4));
if (!listEmpty(tmpMeta[8])) goto tmp3_end;
tmpMeta[9] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[4]), 5));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[9],1,3) == 0) goto tmp3_end;
tmpMeta[10] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[9]), 2));
_i_cr_ident = tmpMeta[5];
_i_ty = tmpMeta[7];
_i_cri_ident = tmpMeta[10];
_txt = tmp4_1;
_a_preExp = tmp4_4;
_a_varDecls = tmp4_5;
_a_auxFunction = tmp4_6;
_ret_4 = omc_Types_getMetaRecordFields(threadData, _i_ty);
_ret_5 = omc_Types_findVarIndex(threadData, _i_cri_ident, _ret_4);
_ret_6 = ((modelica_integer) 2) + _ret_5;
_l_offset = omc_Tpl_writeStr(threadData, _OMC_LIT20, intString(_ret_6));
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1303);
_txt = omc_Tpl_writeStr(threadData, _txt, _i_cr_ident);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT522);
_txt = omc_Tpl_writeText(threadData, _txt, _l_offset);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT524);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_preExp;
tmpMeta[0+2] = _a_varDecls;
tmpMeta[0+3] = _a_auxFunction;
goto tmp3_done;
}
case 4: {
_txt = tmp4_1;
_i_exp = tmp4_2;
_a_context = tmp4_3;
_a_preExp = tmp4_4;
_a_varDecls = tmp4_5;
_a_auxFunction = tmp4_6;
_txt = omc_CodegenCFunctions_fun__773(threadData, _txt, _a_context, _a_auxFunction, _a_varDecls, _a_preExp, _i_exp ,&_a_auxFunction ,&_a_varDecls ,&_a_preExp);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_preExp;
tmpMeta[0+2] = _a_varDecls;
tmpMeta[0+3] = _a_auxFunction;
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta[0+0];
_out_a_preExp = tmpMeta[0+1];
_out_a_varDecls = tmpMeta[0+2];
_out_a_auxFunction = tmpMeta[0+3];
_return: OMC_LABEL_UNUSED
if (out_out_a_preExp) { *out_out_a_preExp = _out_a_preExp; }
if (out_out_a_varDecls) { *out_out_a_varDecls = _out_a_varDecls; }
if (out_out_a_auxFunction) { *out_out_a_auxFunction = _out_a_auxFunction; }
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__773(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_context, modelica_metatype _in_a_auxFunction, modelica_metatype _in_a_varDecls, modelica_metatype _in_a_preExp, modelica_metatype _in_a_exp, modelica_metatype *out_out_a_auxFunction, modelica_metatype *out_out_a_varDecls, modelica_metatype *out_out_a_preExp)
{
modelica_metatype _out_txt = NULL;
modelica_metatype _out_a_auxFunction = NULL;
modelica_metatype _out_a_varDecls = NULL;
modelica_metatype _out_a_preExp = NULL;
modelica_metatype tmpMeta[4] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_metatype tmp4_2;modelica_metatype tmp4_3;modelica_metatype tmp4_4;modelica_metatype tmp4_5;modelica_metatype tmp4_6;
tmp4_1 = _in_txt;
tmp4_2 = _in_a_context;
tmp4_3 = _in_a_auxFunction;
tmp4_4 = _in_a_varDecls;
tmp4_5 = _in_a_preExp;
tmp4_6 = _in_a_exp;
{
modelica_metatype _txt = NULL;
modelica_metatype _a_auxFunction = NULL;
modelica_metatype _a_varDecls = NULL;
modelica_metatype _a_preExp = NULL;
modelica_metatype _a_exp = NULL;
modelica_metatype _i_context = NULL;
volatile mmc_switch_type tmp4;
int tmp5;
tmp4 = 0;
for (; tmp4 < 2; tmp4++) {
switch (MMC_SWITCH_CAST(tmp4)) {
case 0: {
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,1,2) == 0) goto tmp3_end;
_i_context = tmp4_2;
_txt = tmp4_1;
_a_auxFunction = tmp4_3;
_a_varDecls = tmp4_4;
_a_preExp = tmp4_5;
_a_exp = tmp4_6;
_txt = omc_CodegenCFunctions_daeExpCrefRhsFunContext(threadData, _txt, _a_exp, _i_context, _a_preExp, _a_varDecls, _a_auxFunction ,&_a_preExp ,&_a_varDecls ,&_a_auxFunction);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_auxFunction;
tmpMeta[0+2] = _a_varDecls;
tmpMeta[0+3] = _a_preExp;
goto tmp3_done;
}
case 1: {
_txt = tmp4_1;
_i_context = tmp4_2;
_a_auxFunction = tmp4_3;
_a_varDecls = tmp4_4;
_a_preExp = tmp4_5;
_a_exp = tmp4_6;
_txt = omc_CodegenCFunctions_daeExpCrefRhsSimContext(threadData, _txt, _a_exp, _i_context, _a_preExp, _a_varDecls, _a_auxFunction ,&_a_preExp ,&_a_varDecls ,&_a_auxFunction);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_auxFunction;
tmpMeta[0+2] = _a_varDecls;
tmpMeta[0+3] = _a_preExp;
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta[0+0];
_out_a_auxFunction = tmpMeta[0+1];
_out_a_varDecls = tmpMeta[0+2];
_out_a_preExp = tmpMeta[0+3];
_return: OMC_LABEL_UNUSED
if (out_out_a_auxFunction) { *out_out_a_auxFunction = _out_a_auxFunction; }
if (out_out_a_varDecls) { *out_out_a_varDecls = _out_a_varDecls; }
if (out_out_a_preExp) { *out_out_a_preExp = _out_a_preExp; }
return _out_txt;
}
DLLExport
modelica_metatype omc_CodegenCFunctions_generateThrow(threadData_t *threadData, modelica_metatype _txt)
{
modelica_metatype _out_txt = NULL;
modelica_integer _ret_0;
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
_ret_0 = omc_SimCodeFunctionUtil_codegenPeekTryThrowIndex(threadData);
_out_txt = omc_CodegenCFunctions_fun__771(threadData, _txt, _ret_0);
_return: OMC_LABEL_UNUSED
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__771(threadData_t *threadData, modelica_metatype _in_txt, modelica_integer _in_mArg)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta[1] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp3_1;modelica_integer tmp3_2;
tmp3_1 = _in_txt;
tmp3_2 = _in_mArg;
{
modelica_metatype _txt = NULL;
modelica_integer _i_i;
volatile mmc_switch_type tmp3;
int tmp4;
tmp3 = 0;
for (; tmp3 < 2; tmp3++) {
switch (MMC_SWITCH_CAST(tmp3)) {
case 0: {
if (-1 != tmp3_2) goto tmp2_end;
_txt = tmp3_1;
tmpMeta[0] = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1305);
goto tmp2_done;
}
case 1: {
_txt = tmp3_1;
_i_i = tmp3_2;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1307);
tmpMeta[0] = omc_Tpl_writeStr(threadData, _txt, intString(_i_i));
goto tmp2_done;
}
}
goto tmp2_end;
tmp2_end: ;
}
goto goto_1;
goto_1:;
MMC_THROW_INTERNAL();
goto tmp2_done;
tmp2_done:;
}
}
_out_txt = tmpMeta[0];
_return: OMC_LABEL_UNUSED
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__771(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_mArg)
{
modelica_integer tmp1;
modelica_metatype _out_txt = NULL;
tmp1 = mmc_unbox_integer(_in_mArg);
_out_txt = omc_CodegenCFunctions_fun__771(threadData, _in_txt, tmp1);
return _out_txt;
}
DLLExport
modelica_metatype omc_CodegenCFunctions_subscriptToMStr(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_subscript)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta[3] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp3_1;modelica_metatype tmp3_2;
tmp3_1 = _in_txt;
tmp3_2 = _in_a_subscript;
{
modelica_metatype _txt = NULL;
modelica_metatype _i_exp = NULL;
modelica_integer _i_i;
modelica_metatype _txt_0 = NULL;
volatile mmc_switch_type tmp3;
int tmp4;
tmp3 = 0;
for (; tmp3 < 6; tmp3++) {
switch (MMC_SWITCH_CAST(tmp3)) {
case 0: {
modelica_integer tmp5;
if (mmc__uniontype__metarecord__typedef__equal(tmp3_2,1,1) == 0) goto tmp2_end;
tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_2), 2));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[1],0,1) == 0) goto tmp2_end;
tmpMeta[2] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[1]), 2));
tmp5 = mmc_unbox_integer(tmpMeta[2]);
_i_i = tmp5;
_txt = tmp3_1;
tmpMeta[0] = omc_Tpl_writeStr(threadData, _txt, intString(_i_i));
goto tmp2_done;
}
case 1: {
if (mmc__uniontype__metarecord__typedef__equal(tmp3_2,1,1) == 0) goto tmp2_end;
tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_2), 2));
_i_exp = tmpMeta[1];
_txt = tmp3_1;
_txt_0 = omc_Tpl_writeTok(threadData, _OMC_LIT20, _OMC_LIT1309);
_txt_0 = omc_ExpressionDumpTpl_dumpExp(threadData, _txt_0, _i_exp, _OMC_LIT231);
tmpMeta[0] = omc_CodegenUtil_error(threadData, _txt, omc_Tpl_sourceInfo(threadData, _OMC_LIT27, ((modelica_integer) 5120), ((modelica_integer) 29)), omc_Tpl_textString(threadData, _txt_0));
goto tmp2_done;
}
case 2: {
if (mmc__uniontype__metarecord__typedef__equal(tmp3_2,0,0) == 0) goto tmp2_end;
_txt = tmp3_1;
tmpMeta[0] = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1311);
goto tmp2_done;
}
case 3: {
if (mmc__uniontype__metarecord__typedef__equal(tmp3_2,3,1) == 0) goto tmp2_end;
_txt = tmp3_1;
tmpMeta[0] = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1313);
goto tmp2_done;
}
case 4: {
if (mmc__uniontype__metarecord__typedef__equal(tmp3_2,2,1) == 0) goto tmp2_end;
tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_2), 2));
_i_exp = tmpMeta[1];
_txt = tmp3_1;
tmpMeta[0] = omc_CodegenCFunctions_fun__769(threadData, _txt, _i_exp);
goto tmp2_done;
}
case 5: {
_txt = tmp3_1;
tmpMeta[0] = omc_CodegenUtil_error(threadData, _txt, omc_Tpl_sourceInfo(threadData, _OMC_LIT27, ((modelica_integer) 5133), ((modelica_integer) 14)), _OMC_LIT1314);
goto tmp2_done;
}
}
goto tmp2_end;
tmp2_end: ;
}
goto goto_1;
goto_1:;
MMC_THROW_INTERNAL();
goto tmp2_done;
tmp2_done:;
}
}
_out_txt = tmpMeta[0];
_return: OMC_LABEL_UNUSED
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__769(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_exp)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta[2] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp3_1;modelica_metatype tmp3_2;
tmp3_1 = _in_txt;
tmp3_2 = _in_a_exp;
{
modelica_metatype _txt = NULL;
modelica_metatype _i_exp = NULL;
modelica_integer _i_i;
modelica_metatype _l_auxFunction = NULL;
modelica_metatype _l_preExp = NULL;
modelica_metatype _l_varDecls = NULL;
int tmp3;
{
switch (MMC_SWITCH_CAST(valueConstructor(tmp3_2))) {
case 3: {
modelica_integer tmp4;
if (mmc__uniontype__metarecord__typedef__equal(tmp3_2,0,1) == 0) goto tmp2_end;
tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_2), 2));
tmp4 = mmc_unbox_integer(tmpMeta[1]);
_i_i = tmp4;
_txt = tmp3_1;
tmpMeta[0] = omc_Tpl_writeStr(threadData, _txt, intString(_i_i));
goto tmp2_done;
}
case 8: {
modelica_integer tmp5;
if (mmc__uniontype__metarecord__typedef__equal(tmp3_2,5,2) == 0) goto tmp2_end;
tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_2), 3));
tmp5 = mmc_unbox_integer(tmpMeta[1]);
_i_i = tmp5;
_txt = tmp3_1;
tmpMeta[0] = omc_Tpl_writeStr(threadData, _txt, intString(_i_i));
goto tmp2_done;
}
default:
tmp2_default: OMC_LABEL_UNUSED; {
_txt = tmp3_1;
_i_exp = tmp3_2;
_l_varDecls = _OMC_LIT20;
_l_preExp = _OMC_LIT20;
_l_auxFunction = _OMC_LIT20;
_txt = omc_CodegenCFunctions_daeExp(threadData, _txt, _i_exp, _OMC_LIT1315, _l_preExp, _l_varDecls, _l_auxFunction ,&_l_preExp ,&_l_varDecls ,&_l_auxFunction);
tmpMeta[0] = _txt;
goto tmp2_done;
}
}
goto tmp2_end;
tmp2_end: ;
}
goto goto_1;
goto_1:;
MMC_THROW_INTERNAL();
goto tmp2_done;
tmp2_done:;
}
}
_out_txt = tmpMeta[0];
_return: OMC_LABEL_UNUSED
return _out_txt;
}
DLLExport
modelica_metatype omc_CodegenCFunctions_subscriptsToMStr(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_subscripts)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta[1] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp3_1;modelica_metatype tmp3_2;
tmp3_1 = _in_txt;
tmp3_2 = _in_a_subscripts;
{
modelica_metatype _txt = NULL;
modelica_metatype _i_subscripts = NULL;
volatile mmc_switch_type tmp3;
int tmp4;
tmp3 = 0;
for (; tmp3 < 2; tmp3++) {
switch (MMC_SWITCH_CAST(tmp3)) {
case 0: {
if (!listEmpty(tmp3_2)) goto tmp2_end;
_txt = tmp3_1;
tmpMeta[0] = _txt;
goto tmp2_done;
}
case 1: {
_txt = tmp3_1;
_i_subscripts = tmp3_2;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1317);
_txt = omc_Tpl_pushIter(threadData, _txt, _OMC_LIT1321);
_txt = omc_CodegenCFunctions_lm__767(threadData, _txt, _i_subscripts);
_txt = omc_Tpl_popIter(threadData, _txt);
tmpMeta[0] = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1323);
goto tmp2_done;
}
}
goto tmp2_end;
tmp2_end: ;
}
goto goto_1;
goto_1:;
MMC_THROW_INTERNAL();
goto tmp2_done;
tmp2_done:;
}
}
_out_txt = tmpMeta[0];
_return: OMC_LABEL_UNUSED
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_lm__767(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_items)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta[3] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp3_1;modelica_metatype tmp3_2;
tmp3_1 = _in_txt;
tmp3_2 = _in_items;
{
modelica_metatype _txt = NULL;
modelica_metatype _rest = NULL;
modelica_metatype _i_s = NULL;
volatile mmc_switch_type tmp3;
int tmp4;
tmp3 = 0;
for (; tmp3 < 2; tmp3++) {
switch (MMC_SWITCH_CAST(tmp3)) {
case 0: {
if (!listEmpty(tmp3_2)) goto tmp2_end;
_txt = tmp3_1;
tmpMeta[0] = _txt;
goto tmp2_done;
}
case 1: {
if (listEmpty(tmp3_2)) goto tmp2_end;
tmpMeta[1] = MMC_CAR(tmp3_2);
tmpMeta[2] = MMC_CDR(tmp3_2);
_i_s = tmpMeta[1];
_rest = tmpMeta[2];
_txt = tmp3_1;
_txt = omc_CodegenCFunctions_subscriptToMStr(threadData, _txt, _i_s);
_txt = omc_Tpl_nextIter(threadData, _txt);
_in_txt = _txt;
_in_items = _rest;
goto _tailrecursive;
goto tmp2_done;
}
}
goto tmp2_end;
tmp2_end: ;
}
goto goto_1;
goto_1:;
MMC_THROW_INTERNAL();
goto tmp2_done;
tmp2_done:;
}
}
_out_txt = tmpMeta[0];
_return: OMC_LABEL_UNUSED
return _out_txt;
}
DLLExport
modelica_metatype omc_CodegenCFunctions_crefToMStr(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_cr)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta[4] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp3_1;modelica_metatype tmp3_2;
tmp3_1 = _in_txt;
tmp3_2 = _in_a_cr;
{
modelica_metatype _txt = NULL;
modelica_metatype _i_componentRef = NULL;
modelica_metatype _i_subscriptLst = NULL;
modelica_string _i_ident = NULL;
modelica_string _ret_1 = NULL;
modelica_string _ret_0 = NULL;
int tmp3;
{
switch (MMC_SWITCH_CAST(valueConstructor(tmp3_2))) {
case 4: {
if (mmc__uniontype__metarecord__typedef__equal(tmp3_2,1,3) == 0) goto tmp2_end;
tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_2), 2));
tmpMeta[2] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_2), 4));
_i_ident = tmpMeta[1];
_i_subscriptLst = tmpMeta[2];
_txt = tmp3_1;
_ret_0 = omc_System_unquoteIdentifier(threadData, _i_ident);
_txt = omc_Tpl_writeStr(threadData, _txt, _ret_0);
tmpMeta[0] = omc_CodegenCFunctions_subscriptsToMStr(threadData, _txt, _i_subscriptLst);
goto tmp2_done;
}
case 3: {
if (mmc__uniontype__metarecord__typedef__equal(tmp3_2,0,4) == 0) goto tmp2_end;
tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_2), 2));
tmpMeta[2] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_2), 4));
tmpMeta[3] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_2), 5));
_i_ident = tmpMeta[1];
_i_subscriptLst = tmpMeta[2];
_i_componentRef = tmpMeta[3];
_txt = tmp3_1;
_ret_1 = omc_System_unquoteIdentifier(threadData, _i_ident);
_txt = omc_Tpl_writeStr(threadData, _txt, _ret_1);
_txt = omc_CodegenCFunctions_subscriptsToMStr(threadData, _txt, _i_subscriptLst);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1325);
_in_txt = _txt;
_in_a_cr = _i_componentRef;
goto _tailrecursive;
goto tmp2_done;
}
default:
tmp2_default: OMC_LABEL_UNUSED; {
_txt = tmp3_1;
tmpMeta[0] = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1327);
goto tmp2_done;
}
}
goto tmp2_end;
tmp2_end: ;
}
goto goto_1;
goto_1:;
MMC_THROW_INTERNAL();
goto tmp2_done;
tmp2_done:;
}
}
_out_txt = tmpMeta[0];
_return: OMC_LABEL_UNUSED
return _out_txt;
}
DLLExport
modelica_metatype omc_CodegenCFunctions_daeExpMetaHelperBoxStart(threadData_t *threadData, modelica_metatype _txt, modelica_integer _a_numVariables)
{
modelica_metatype _out_txt = NULL;
modelica_boolean _ret_0;
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
_ret_0 = (_a_numVariables > ((modelica_integer) 20));
_out_txt = omc_CodegenCFunctions_fun__764(threadData, _txt, _ret_0, _a_numVariables);
_return: OMC_LABEL_UNUSED
return _out_txt;
}
modelica_metatype boxptr_CodegenCFunctions_daeExpMetaHelperBoxStart(threadData_t *threadData, modelica_metatype _txt, modelica_metatype _a_numVariables)
{
modelica_integer tmp1;
modelica_metatype _out_txt = NULL;
tmp1 = mmc_unbox_integer(_a_numVariables);
_out_txt = omc_CodegenCFunctions_daeExpMetaHelperBoxStart(threadData, _txt, tmp1);
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__764(threadData_t *threadData, modelica_metatype _in_txt, modelica_boolean _in_mArg, modelica_integer _in_a_numVariables)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta[1] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp3_1;modelica_boolean tmp3_2;modelica_integer tmp3_3;
tmp3_1 = _in_txt;
tmp3_2 = _in_mArg;
tmp3_3 = _in_a_numVariables;
{
modelica_metatype _txt = NULL;
modelica_integer _a_numVariables;
volatile mmc_switch_type tmp3;
int tmp4;
tmp3 = 0;
for (; tmp3 < 2; tmp3++) {
switch (MMC_SWITCH_CAST(tmp3)) {
case 0: {
if (0 != tmp3_2) goto tmp2_end;
_txt = tmp3_1;
_a_numVariables = tmp3_3;
_txt = omc_Tpl_writeStr(threadData, _txt, intString(_a_numVariables));
tmpMeta[0] = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT68);
goto tmp2_done;
}
case 1: {
_txt = tmp3_1;
_a_numVariables = tmp3_3;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT68);
_txt = omc_Tpl_writeStr(threadData, _txt, intString(_a_numVariables));
tmpMeta[0] = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT292);
goto tmp2_done;
}
}
goto tmp2_end;
tmp2_end: ;
}
goto goto_1;
goto_1:;
MMC_THROW_INTERNAL();
goto tmp2_done;
tmp2_done:;
}
}
_out_txt = tmpMeta[0];
_return: OMC_LABEL_UNUSED
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__764(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_mArg, modelica_metatype _in_a_numVariables)
{
modelica_integer tmp1;
modelica_integer tmp2;
modelica_metatype _out_txt = NULL;
tmp1 = mmc_unbox_integer(_in_mArg);
tmp2 = mmc_unbox_integer(_in_a_numVariables);
_out_txt = omc_CodegenCFunctions_fun__764(threadData, _in_txt, tmp1, tmp2);
return _out_txt;
}
DLLExport
modelica_metatype omc_CodegenCFunctions_daeExpMetarecordcall(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_exp, modelica_metatype _in_a_context, modelica_metatype _in_a_preExp, modelica_metatype _in_a_varDecls, modelica_metatype _in_a_auxFunction, modelica_metatype *out_out_a_preExp, modelica_metatype *out_out_a_varDecls, modelica_metatype *out_out_a_auxFunction)
{
modelica_metatype _out_txt = NULL;
modelica_metatype _out_a_preExp = NULL;
modelica_metatype _out_a_varDecls = NULL;
modelica_metatype _out_a_auxFunction = NULL;
modelica_metatype tmpMeta[7] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_metatype tmp4_2;modelica_metatype tmp4_3;modelica_metatype tmp4_4;modelica_metatype tmp4_5;modelica_metatype tmp4_6;
tmp4_1 = _in_txt;
tmp4_2 = _in_a_exp;
tmp4_3 = _in_a_context;
tmp4_4 = _in_a_preExp;
tmp4_5 = _in_a_varDecls;
tmp4_6 = _in_a_auxFunction;
{
modelica_metatype _txt = NULL;
modelica_metatype _a_context = NULL;
modelica_metatype _a_preExp = NULL;
modelica_metatype _a_varDecls = NULL;
modelica_metatype _a_auxFunction = NULL;
modelica_metatype _i_path = NULL;
modelica_metatype _i_args = NULL;
modelica_integer _i_index;
modelica_metatype _l_tmp = NULL;
modelica_integer _ret_5;
modelica_integer _ret_4;
modelica_metatype _l_box = NULL;
modelica_metatype _l_argsStr = NULL;
modelica_integer _ret_1;
modelica_metatype _l_newIndex = NULL;
volatile mmc_switch_type tmp4;
int tmp5;
tmp4 = 0;
for (; tmp4 < 2; tmp4++) {
switch (MMC_SWITCH_CAST(tmp4)) {
case 0: {
modelica_integer tmp6;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,32,5) == 0) goto tmp3_end;
tmpMeta[4] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
tmpMeta[5] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 3));
tmpMeta[6] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 5));
tmp6 = mmc_unbox_integer(tmpMeta[6]);
_i_path = tmpMeta[4];
_i_args = tmpMeta[5];
_i_index = tmp6;
_txt = tmp4_1;
_a_context = tmp4_3;
_a_preExp = tmp4_4;
_a_varDecls = tmp4_5;
_a_auxFunction = tmp4_6;
_ret_1 = omc_Patternm_getValueCtor(threadData, _i_index);
_l_newIndex = omc_Tpl_writeStr(threadData, _OMC_LIT20, intString(_ret_1));
_l_argsStr = omc_CodegenCFunctions_fun__762(threadData, _OMC_LIT20, _i_args, _a_auxFunction, _a_varDecls, _a_preExp, _a_context ,&_a_auxFunction ,&_a_varDecls ,&_a_preExp);
_l_box = omc_Tpl_writeTok(threadData, _OMC_LIT20, _OMC_LIT1329);
_ret_4 = listLength(_i_args);
_ret_5 = omc_SimCodeFunctionUtil_incrementInt(threadData, _ret_4, ((modelica_integer) 1));
_l_box = omc_CodegenCFunctions_daeExpMetaHelperBoxStart(threadData, _l_box, _ret_5);
_l_box = omc_Tpl_writeText(threadData, _l_box, _l_newIndex);
_l_box = omc_Tpl_writeTok(threadData, _l_box, _OMC_LIT123);
_l_box = omc_CodegenUtil_underscorePath(threadData, _l_box, _i_path);
_l_box = omc_Tpl_writeTok(threadData, _l_box, _OMC_LIT1331);
_l_box = omc_Tpl_writeText(threadData, _l_box, _l_argsStr);
_l_box = omc_Tpl_writeTok(threadData, _l_box, _OMC_LIT78);
_l_tmp = omc_CodegenCFunctions_tempDecl(threadData, _OMC_LIT20, _OMC_LIT311, _a_varDecls ,&_a_varDecls);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _l_tmp);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT121);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _l_box);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT105);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT89);
_txt = omc_Tpl_writeText(threadData, _txt, _l_tmp);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_preExp;
tmpMeta[0+2] = _a_varDecls;
tmpMeta[0+3] = _a_auxFunction;
goto tmp3_done;
}
case 1: {
_txt = tmp4_1;
_a_preExp = tmp4_4;
_a_varDecls = tmp4_5;
_a_auxFunction = tmp4_6;
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_preExp;
tmpMeta[0+2] = _a_varDecls;
tmpMeta[0+3] = _a_auxFunction;
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta[0+0];
_out_a_preExp = tmpMeta[0+1];
_out_a_varDecls = tmpMeta[0+2];
_out_a_auxFunction = tmpMeta[0+3];
_return: OMC_LABEL_UNUSED
if (out_out_a_preExp) { *out_out_a_preExp = _out_a_preExp; }
if (out_out_a_varDecls) { *out_out_a_varDecls = _out_a_varDecls; }
if (out_out_a_auxFunction) { *out_out_a_auxFunction = _out_a_auxFunction; }
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__762(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_args, modelica_metatype _in_a_auxFunction, modelica_metatype _in_a_varDecls, modelica_metatype _in_a_preExp, modelica_metatype _in_a_context, modelica_metatype *out_out_a_auxFunction, modelica_metatype *out_out_a_varDecls, modelica_metatype *out_out_a_preExp)
{
modelica_metatype _out_txt = NULL;
modelica_metatype _out_a_auxFunction = NULL;
modelica_metatype _out_a_varDecls = NULL;
modelica_metatype _out_a_preExp = NULL;
modelica_metatype tmpMeta[4] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_metatype tmp4_2;modelica_metatype tmp4_3;modelica_metatype tmp4_4;modelica_metatype tmp4_5;modelica_metatype tmp4_6;
tmp4_1 = _in_txt;
tmp4_2 = _in_a_args;
tmp4_3 = _in_a_auxFunction;
tmp4_4 = _in_a_varDecls;
tmp4_5 = _in_a_preExp;
tmp4_6 = _in_a_context;
{
modelica_metatype _txt = NULL;
modelica_metatype _a_auxFunction = NULL;
modelica_metatype _a_varDecls = NULL;
modelica_metatype _a_preExp = NULL;
modelica_metatype _a_context = NULL;
modelica_metatype _i_args = NULL;
volatile mmc_switch_type tmp4;
int tmp5;
tmp4 = 0;
for (; tmp4 < 2; tmp4++) {
switch (MMC_SWITCH_CAST(tmp4)) {
case 0: {
if (!listEmpty(tmp4_2)) goto tmp3_end;
_txt = tmp4_1;
_a_auxFunction = tmp4_3;
_a_varDecls = tmp4_4;
_a_preExp = tmp4_5;
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_auxFunction;
tmpMeta[0+2] = _a_varDecls;
tmpMeta[0+3] = _a_preExp;
goto tmp3_done;
}
case 1: {
_txt = tmp4_1;
_i_args = tmp4_2;
_a_auxFunction = tmp4_3;
_a_varDecls = tmp4_4;
_a_preExp = tmp4_5;
_a_context = tmp4_6;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT292);
_txt = omc_Tpl_pushIter(threadData, _txt, _OMC_LIT294);
_txt = omc_CodegenCFunctions_lm__761(threadData, _txt, _i_args, _a_auxFunction, _a_varDecls, _a_preExp, _a_context ,&_a_auxFunction ,&_a_varDecls ,&_a_preExp);
_txt = omc_Tpl_popIter(threadData, _txt);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_auxFunction;
tmpMeta[0+2] = _a_varDecls;
tmpMeta[0+3] = _a_preExp;
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta[0+0];
_out_a_auxFunction = tmpMeta[0+1];
_out_a_varDecls = tmpMeta[0+2];
_out_a_preExp = tmpMeta[0+3];
_return: OMC_LABEL_UNUSED
if (out_out_a_auxFunction) { *out_out_a_auxFunction = _out_a_auxFunction; }
if (out_out_a_varDecls) { *out_out_a_varDecls = _out_a_varDecls; }
if (out_out_a_preExp) { *out_out_a_preExp = _out_a_preExp; }
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_lm__761(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_items, modelica_metatype _in_a_auxFunction, modelica_metatype _in_a_varDecls, modelica_metatype _in_a_preExp, modelica_metatype _in_a_context, modelica_metatype *out_out_a_auxFunction, modelica_metatype *out_out_a_varDecls, modelica_metatype *out_out_a_preExp)
{
modelica_metatype _out_txt = NULL;
modelica_metatype _out_a_auxFunction = NULL;
modelica_metatype _out_a_varDecls = NULL;
modelica_metatype _out_a_preExp = NULL;
modelica_metatype tmpMeta[6] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_metatype tmp4_2;modelica_metatype tmp4_3;modelica_metatype tmp4_4;modelica_metatype tmp4_5;modelica_metatype tmp4_6;
tmp4_1 = _in_txt;
tmp4_2 = _in_items;
tmp4_3 = _in_a_auxFunction;
tmp4_4 = _in_a_varDecls;
tmp4_5 = _in_a_preExp;
tmp4_6 = _in_a_context;
{
modelica_metatype _txt = NULL;
modelica_metatype _rest = NULL;
modelica_metatype _a_auxFunction = NULL;
modelica_metatype _a_varDecls = NULL;
modelica_metatype _a_preExp = NULL;
modelica_metatype _a_context = NULL;
modelica_metatype _i_exp = NULL;
volatile mmc_switch_type tmp4;
int tmp5;
tmp4 = 0;
for (; tmp4 < 2; tmp4++) {
switch (MMC_SWITCH_CAST(tmp4)) {
case 0: {
if (!listEmpty(tmp4_2)) goto tmp3_end;
_txt = tmp4_1;
_a_auxFunction = tmp4_3;
_a_varDecls = tmp4_4;
_a_preExp = tmp4_5;
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_auxFunction;
tmpMeta[0+2] = _a_varDecls;
tmpMeta[0+3] = _a_preExp;
goto tmp3_done;
}
case 1: {
if (listEmpty(tmp4_2)) goto tmp3_end;
tmpMeta[4] = MMC_CAR(tmp4_2);
tmpMeta[5] = MMC_CDR(tmp4_2);
_i_exp = tmpMeta[4];
_rest = tmpMeta[5];
_txt = tmp4_1;
_a_auxFunction = tmp4_3;
_a_varDecls = tmp4_4;
_a_preExp = tmp4_5;
_a_context = tmp4_6;
_txt = omc_CodegenCFunctions_daeExp(threadData, _txt, _i_exp, _a_context, _a_preExp, _a_varDecls, _a_auxFunction ,&_a_preExp ,&_a_varDecls ,&_a_auxFunction);
_txt = omc_Tpl_nextIter(threadData, _txt);
_in_txt = _txt;
_in_items = _rest;
_in_a_auxFunction = _a_auxFunction;
_in_a_varDecls = _a_varDecls;
_in_a_preExp = _a_preExp;
_in_a_context = _a_context;
goto _tailrecursive;
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta[0+0];
_out_a_auxFunction = tmpMeta[0+1];
_out_a_varDecls = tmpMeta[0+2];
_out_a_preExp = tmpMeta[0+3];
_return: OMC_LABEL_UNUSED
if (out_out_a_auxFunction) { *out_out_a_auxFunction = _out_a_auxFunction; }
if (out_out_a_varDecls) { *out_out_a_varDecls = _out_a_varDecls; }
if (out_out_a_preExp) { *out_out_a_preExp = _out_a_preExp; }
return _out_txt;
}
DLLExport
modelica_metatype omc_CodegenCFunctions_daeExpMetaOption(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_exp, modelica_metatype _in_a_context, modelica_metatype _in_a_preExp, modelica_metatype _in_a_varDecls, modelica_metatype _in_a_auxFunction, modelica_metatype *out_out_a_preExp, modelica_metatype *out_out_a_varDecls, modelica_metatype *out_out_a_auxFunction)
{
modelica_metatype _out_txt = NULL;
modelica_metatype _out_a_preExp = NULL;
modelica_metatype _out_a_varDecls = NULL;
modelica_metatype _out_a_auxFunction = NULL;
modelica_metatype tmpMeta[6] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_metatype tmp4_2;modelica_metatype tmp4_3;modelica_metatype tmp4_4;modelica_metatype tmp4_5;modelica_metatype tmp4_6;
tmp4_1 = _in_txt;
tmp4_2 = _in_a_exp;
tmp4_3 = _in_a_context;
tmp4_4 = _in_a_preExp;
tmp4_5 = _in_a_varDecls;
tmp4_6 = _in_a_auxFunction;
{
modelica_metatype _txt = NULL;
modelica_metatype _a_context = NULL;
modelica_metatype _a_preExp = NULL;
modelica_metatype _a_varDecls = NULL;
modelica_metatype _a_auxFunction = NULL;
modelica_metatype _i_e = NULL;
modelica_metatype _l_expPart = NULL;
volatile mmc_switch_type tmp4;
int tmp5;
tmp4 = 0;
for (; tmp4 < 3; tmp4++) {
switch (MMC_SWITCH_CAST(tmp4)) {
case 0: {
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,31,1) == 0) goto tmp3_end;
tmpMeta[4] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
if (!optionNone(tmpMeta[4])) goto tmp3_end;
_txt = tmp4_1;
_a_preExp = tmp4_4;
_a_varDecls = tmp4_5;
_a_auxFunction = tmp4_6;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1333);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_preExp;
tmpMeta[0+2] = _a_varDecls;
tmpMeta[0+3] = _a_auxFunction;
goto tmp3_done;
}
case 1: {
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,31,1) == 0) goto tmp3_end;
tmpMeta[4] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
if (optionNone(tmpMeta[4])) goto tmp3_end;
tmpMeta[5] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[4]), 1));
_i_e = tmpMeta[5];
_txt = tmp4_1;
_a_context = tmp4_3;
_a_preExp = tmp4_4;
_a_varDecls = tmp4_5;
_a_auxFunction = tmp4_6;
_l_expPart = omc_CodegenCFunctions_daeExp(threadData, _OMC_LIT20, _i_e, _a_context, _a_preExp, _a_varDecls, _a_auxFunction ,&_a_preExp ,&_a_varDecls ,&_a_auxFunction);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1335);
_txt = omc_Tpl_writeText(threadData, _txt, _l_expPart);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT78);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_preExp;
tmpMeta[0+2] = _a_varDecls;
tmpMeta[0+3] = _a_auxFunction;
goto tmp3_done;
}
case 2: {
_txt = tmp4_1;
_a_preExp = tmp4_4;
_a_varDecls = tmp4_5;
_a_auxFunction = tmp4_6;
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_preExp;
tmpMeta[0+2] = _a_varDecls;
tmpMeta[0+3] = _a_auxFunction;
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta[0+0];
_out_a_preExp = tmpMeta[0+1];
_out_a_varDecls = tmpMeta[0+2];
_out_a_auxFunction = tmpMeta[0+3];
_return: OMC_LABEL_UNUSED
if (out_out_a_preExp) { *out_out_a_preExp = _out_a_preExp; }
if (out_out_a_varDecls) { *out_out_a_varDecls = _out_a_varDecls; }
if (out_out_a_auxFunction) { *out_out_a_auxFunction = _out_a_auxFunction; }
return _out_txt;
}
DLLExport
modelica_metatype omc_CodegenCFunctions_daeExpMetaTuple(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_exp, modelica_metatype _in_a_context, modelica_metatype _in_a_preExp, modelica_metatype _in_a_varDecls, modelica_metatype _in_a_auxFunction, modelica_metatype *out_out_a_preExp, modelica_metatype *out_out_a_varDecls, modelica_metatype *out_out_a_auxFunction)
{
modelica_metatype _out_txt = NULL;
modelica_metatype _out_a_preExp = NULL;
modelica_metatype _out_a_varDecls = NULL;
modelica_metatype _out_a_auxFunction = NULL;
modelica_metatype tmpMeta[5] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_metatype tmp4_2;modelica_metatype tmp4_3;modelica_metatype tmp4_4;modelica_metatype tmp4_5;modelica_metatype tmp4_6;
tmp4_1 = _in_txt;
tmp4_2 = _in_a_exp;
tmp4_3 = _in_a_context;
tmp4_4 = _in_a_preExp;
tmp4_5 = _in_a_varDecls;
tmp4_6 = _in_a_auxFunction;
{
modelica_metatype _txt = NULL;
modelica_metatype _a_context = NULL;
modelica_metatype _a_preExp = NULL;
modelica_metatype _a_varDecls = NULL;
modelica_metatype _a_auxFunction = NULL;
modelica_metatype _i_listExp = NULL;
modelica_metatype _l_tmp = NULL;
modelica_metatype _l_args = NULL;
modelica_integer _ret_1;
modelica_metatype _l_start = NULL;
volatile mmc_switch_type tmp4;
int tmp5;
tmp4 = 0;
for (; tmp4 < 2; tmp4++) {
switch (MMC_SWITCH_CAST(tmp4)) {
case 0: {
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,30,1) == 0) goto tmp3_end;
tmpMeta[4] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
_i_listExp = tmpMeta[4];
_txt = tmp4_1;
_a_context = tmp4_3;
_a_preExp = tmp4_4;
_a_varDecls = tmp4_5;
_a_auxFunction = tmp4_6;
_ret_1 = listLength(_i_listExp);
_l_start = omc_CodegenCFunctions_daeExpMetaHelperBoxStart(threadData, _OMC_LIT20, _ret_1);
_l_args = omc_Tpl_pushIter(threadData, _OMC_LIT20, _OMC_LIT294);
_l_args = omc_CodegenCFunctions_lm__757(threadData, _l_args, _i_listExp, _a_auxFunction, _a_varDecls, _a_preExp, _a_context ,&_a_auxFunction ,&_a_varDecls ,&_a_preExp);
_l_args = omc_Tpl_popIter(threadData, _l_args);
_l_tmp = omc_CodegenCFunctions_tempDecl(threadData, _OMC_LIT20, _OMC_LIT311, _a_varDecls ,&_a_varDecls);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _l_tmp);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT955);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _l_start);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT957);
_a_preExp = omc_CodegenCFunctions_fun__758(threadData, _a_preExp, _l_args);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _l_args);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT290);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT89);
_txt = omc_Tpl_writeText(threadData, _txt, _l_tmp);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_preExp;
tmpMeta[0+2] = _a_varDecls;
tmpMeta[0+3] = _a_auxFunction;
goto tmp3_done;
}
case 1: {
_txt = tmp4_1;
_a_preExp = tmp4_4;
_a_varDecls = tmp4_5;
_a_auxFunction = tmp4_6;
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_preExp;
tmpMeta[0+2] = _a_varDecls;
tmpMeta[0+3] = _a_auxFunction;
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta[0+0];
_out_a_preExp = tmpMeta[0+1];
_out_a_varDecls = tmpMeta[0+2];
_out_a_auxFunction = tmpMeta[0+3];
_return: OMC_LABEL_UNUSED
if (out_out_a_preExp) { *out_out_a_preExp = _out_a_preExp; }
if (out_out_a_varDecls) { *out_out_a_varDecls = _out_a_varDecls; }
if (out_out_a_auxFunction) { *out_out_a_auxFunction = _out_a_auxFunction; }
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__758(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_args)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta[2] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp3_1;modelica_metatype tmp3_2;
tmp3_1 = _in_txt;
tmp3_2 = _in_a_args;
{
modelica_metatype _txt = NULL;
volatile mmc_switch_type tmp3;
int tmp4;
tmp3 = 0;
for (; tmp3 < 2; tmp3++) {
switch (MMC_SWITCH_CAST(tmp3)) {
case 0: {
if (mmc__uniontype__metarecord__typedef__equal(tmp3_2,0,2) == 0) goto tmp2_end;
tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_2), 2));
if (!listEmpty(tmpMeta[1])) goto tmp2_end;
_txt = tmp3_1;
tmpMeta[0] = _txt;
goto tmp2_done;
}
case 1: {
_txt = tmp3_1;
tmpMeta[0] = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT292);
goto tmp2_done;
}
}
goto tmp2_end;
tmp2_end: ;
}
goto goto_1;
goto_1:;
MMC_THROW_INTERNAL();
goto tmp2_done;
tmp2_done:;
}
}
_out_txt = tmpMeta[0];
_return: OMC_LABEL_UNUSED
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_lm__757(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_items, modelica_metatype _in_a_auxFunction, modelica_metatype _in_a_varDecls, modelica_metatype _in_a_preExp, modelica_metatype _in_a_context, modelica_metatype *out_out_a_auxFunction, modelica_metatype *out_out_a_varDecls, modelica_metatype *out_out_a_preExp)
{
modelica_metatype _out_txt = NULL;
modelica_metatype _out_a_auxFunction = NULL;
modelica_metatype _out_a_varDecls = NULL;
modelica_metatype _out_a_preExp = NULL;
modelica_metatype tmpMeta[6] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_metatype tmp4_2;modelica_metatype tmp4_3;modelica_metatype tmp4_4;modelica_metatype tmp4_5;modelica_metatype tmp4_6;
tmp4_1 = _in_txt;
tmp4_2 = _in_items;
tmp4_3 = _in_a_auxFunction;
tmp4_4 = _in_a_varDecls;
tmp4_5 = _in_a_preExp;
tmp4_6 = _in_a_context;
{
modelica_metatype _txt = NULL;
modelica_metatype _rest = NULL;
modelica_metatype _a_auxFunction = NULL;
modelica_metatype _a_varDecls = NULL;
modelica_metatype _a_preExp = NULL;
modelica_metatype _a_context = NULL;
modelica_metatype _i_e = NULL;
volatile mmc_switch_type tmp4;
int tmp5;
tmp4 = 0;
for (; tmp4 < 2; tmp4++) {
switch (MMC_SWITCH_CAST(tmp4)) {
case 0: {
if (!listEmpty(tmp4_2)) goto tmp3_end;
_txt = tmp4_1;
_a_auxFunction = tmp4_3;
_a_varDecls = tmp4_4;
_a_preExp = tmp4_5;
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_auxFunction;
tmpMeta[0+2] = _a_varDecls;
tmpMeta[0+3] = _a_preExp;
goto tmp3_done;
}
case 1: {
if (listEmpty(tmp4_2)) goto tmp3_end;
tmpMeta[4] = MMC_CAR(tmp4_2);
tmpMeta[5] = MMC_CDR(tmp4_2);
_i_e = tmpMeta[4];
_rest = tmpMeta[5];
_txt = tmp4_1;
_a_auxFunction = tmp4_3;
_a_varDecls = tmp4_4;
_a_preExp = tmp4_5;
_a_context = tmp4_6;
_txt = omc_CodegenCFunctions_daeExp(threadData, _txt, _i_e, _a_context, _a_preExp, _a_varDecls, _a_auxFunction ,&_a_preExp ,&_a_varDecls ,&_a_auxFunction);
_txt = omc_Tpl_nextIter(threadData, _txt);
_in_txt = _txt;
_in_items = _rest;
_in_a_auxFunction = _a_auxFunction;
_in_a_varDecls = _a_varDecls;
_in_a_preExp = _a_preExp;
_in_a_context = _a_context;
goto _tailrecursive;
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta[0+0];
_out_a_auxFunction = tmpMeta[0+1];
_out_a_varDecls = tmpMeta[0+2];
_out_a_preExp = tmpMeta[0+3];
_return: OMC_LABEL_UNUSED
if (out_out_a_auxFunction) { *out_out_a_auxFunction = _out_a_auxFunction; }
if (out_out_a_varDecls) { *out_out_a_varDecls = _out_a_varDecls; }
if (out_out_a_preExp) { *out_out_a_preExp = _out_a_preExp; }
return _out_txt;
}
DLLExport
modelica_metatype omc_CodegenCFunctions_daeExpTuple(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_exp, modelica_metatype _in_a_context, modelica_metatype _in_a_preExp, modelica_metatype _in_a_varDecls, modelica_metatype _in_a_auxFunction, modelica_metatype *out_out_a_preExp, modelica_metatype *out_out_a_varDecls, modelica_metatype *out_out_a_auxFunction)
{
modelica_metatype _out_txt = NULL;
modelica_metatype _out_a_preExp = NULL;
modelica_metatype _out_a_varDecls = NULL;
modelica_metatype _out_a_auxFunction = NULL;
modelica_metatype tmpMeta[5] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_metatype tmp4_2;modelica_metatype tmp4_3;modelica_metatype tmp4_4;modelica_metatype tmp4_5;modelica_metatype tmp4_6;
tmp4_1 = _in_txt;
tmp4_2 = _in_a_exp;
tmp4_3 = _in_a_context;
tmp4_4 = _in_a_preExp;
tmp4_5 = _in_a_varDecls;
tmp4_6 = _in_a_auxFunction;
{
modelica_metatype _txt = NULL;
modelica_metatype _a_context = NULL;
modelica_metatype _a_preExp = NULL;
modelica_metatype _a_varDecls = NULL;
modelica_metatype _a_auxFunction = NULL;
modelica_metatype _i_PR = NULL;
modelica_metatype _i_exp = NULL;
modelica_metatype _l_tmp = NULL;
modelica_metatype _ret_1 = NULL;
modelica_metatype _l_tmpVar = NULL;
volatile mmc_switch_type tmp4;
int tmp5;
tmp4 = 0;
for (; tmp4 < 2; tmp4++) {
switch (MMC_SWITCH_CAST(tmp4)) {
case 0: {
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,19,1) == 0) goto tmp3_end;
tmpMeta[4] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
_i_exp = tmp4_2;
_i_PR = tmpMeta[4];
_txt = tmp4_1;
_a_context = tmp4_3;
_a_preExp = tmp4_4;
_a_varDecls = tmp4_5;
_a_auxFunction = tmp4_6;
_ret_1 = omc_Expression_typeof(threadData, _i_exp);
_l_tmpVar = omc_CodegenCFunctions_tempDeclTuple(threadData, _OMC_LIT20, _ret_1, _a_varDecls ,&_a_varDecls);
_l_tmp = omc_Tpl_pushIter(threadData, _OMC_LIT20, _OMC_LIT118);
_l_tmp = omc_CodegenCFunctions_lm__755(threadData, _l_tmp, _i_PR, _a_auxFunction, _a_varDecls, _a_preExp, _a_context, _l_tmpVar ,&_a_auxFunction ,&_a_varDecls ,&_a_preExp);
_l_tmp = omc_Tpl_popIter(threadData, _l_tmp);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _l_tmp);
_txt = omc_Tpl_writeText(threadData, _txt, _l_tmpVar);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_preExp;
tmpMeta[0+2] = _a_varDecls;
tmpMeta[0+3] = _a_auxFunction;
goto tmp3_done;
}
case 1: {
_txt = tmp4_1;
_a_preExp = tmp4_4;
_a_varDecls = tmp4_5;
_a_auxFunction = tmp4_6;
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_preExp;
tmpMeta[0+2] = _a_varDecls;
tmpMeta[0+3] = _a_auxFunction;
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta[0+0];
_out_a_preExp = tmpMeta[0+1];
_out_a_varDecls = tmpMeta[0+2];
_out_a_auxFunction = tmpMeta[0+3];
_return: OMC_LABEL_UNUSED
if (out_out_a_preExp) { *out_out_a_preExp = _out_a_preExp; }
if (out_out_a_varDecls) { *out_out_a_varDecls = _out_a_varDecls; }
if (out_out_a_auxFunction) { *out_out_a_auxFunction = _out_a_auxFunction; }
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_lm__755(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_items, modelica_metatype _in_a_auxFunction, modelica_metatype _in_a_varDecls, modelica_metatype _in_a_preExp, modelica_metatype _in_a_context, modelica_metatype _in_a_tmpVar, modelica_metatype *out_out_a_auxFunction, modelica_metatype *out_out_a_varDecls, modelica_metatype *out_out_a_preExp)
{
modelica_metatype _out_txt = NULL;
modelica_metatype _out_a_auxFunction = NULL;
modelica_metatype _out_a_varDecls = NULL;
modelica_metatype _out_a_preExp = NULL;
modelica_metatype tmpMeta[6] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_metatype tmp4_2;modelica_metatype tmp4_3;modelica_metatype tmp4_4;modelica_metatype tmp4_5;modelica_metatype tmp4_6;modelica_metatype tmp4_7;
tmp4_1 = _in_txt;
tmp4_2 = _in_items;
tmp4_3 = _in_a_auxFunction;
tmp4_4 = _in_a_varDecls;
tmp4_5 = _in_a_preExp;
tmp4_6 = _in_a_context;
tmp4_7 = _in_a_tmpVar;
{
modelica_metatype _txt = NULL;
modelica_metatype _rest = NULL;
modelica_metatype _a_auxFunction = NULL;
modelica_metatype _a_varDecls = NULL;
modelica_metatype _a_preExp = NULL;
modelica_metatype _a_context = NULL;
modelica_metatype _a_tmpVar = NULL;
modelica_integer _x_i1;
modelica_metatype _i_e = NULL;
volatile mmc_switch_type tmp4;
int tmp5;
tmp4 = 0;
for (; tmp4 < 2; tmp4++) {
switch (MMC_SWITCH_CAST(tmp4)) {
case 0: {
if (!listEmpty(tmp4_2)) goto tmp3_end;
_txt = tmp4_1;
_a_auxFunction = tmp4_3;
_a_varDecls = tmp4_4;
_a_preExp = tmp4_5;
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_auxFunction;
tmpMeta[0+2] = _a_varDecls;
tmpMeta[0+3] = _a_preExp;
goto tmp3_done;
}
case 1: {
if (listEmpty(tmp4_2)) goto tmp3_end;
tmpMeta[4] = MMC_CAR(tmp4_2);
tmpMeta[5] = MMC_CDR(tmp4_2);
_i_e = tmpMeta[4];
_rest = tmpMeta[5];
_txt = tmp4_1;
_a_auxFunction = tmp4_3;
_a_varDecls = tmp4_4;
_a_preExp = tmp4_5;
_a_context = tmp4_6;
_a_tmpVar = tmp4_7;
_x_i1 = omc_Tpl_getIteri__i0(threadData, _txt);
_txt = omc_Tpl_writeText(threadData, _txt, _a_tmpVar);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT997);
_txt = omc_Tpl_writeStr(threadData, _txt, intString(_x_i1));
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT121);
_txt = omc_CodegenCFunctions_daeExp(threadData, _txt, _i_e, _a_context, _a_preExp, _a_varDecls, _a_auxFunction ,&_a_preExp ,&_a_varDecls ,&_a_auxFunction);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT105);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT89);
_txt = omc_Tpl_nextIter(threadData, _txt);
_in_txt = _txt;
_in_items = _rest;
_in_a_auxFunction = _a_auxFunction;
_in_a_varDecls = _a_varDecls;
_in_a_preExp = _a_preExp;
_in_a_context = _a_context;
_in_a_tmpVar = _a_tmpVar;
goto _tailrecursive;
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta[0+0];
_out_a_auxFunction = tmpMeta[0+1];
_out_a_varDecls = tmpMeta[0+2];
_out_a_preExp = tmpMeta[0+3];
_return: OMC_LABEL_UNUSED
if (out_out_a_auxFunction) { *out_out_a_auxFunction = _out_a_auxFunction; }
if (out_out_a_varDecls) { *out_out_a_varDecls = _out_a_varDecls; }
if (out_out_a_preExp) { *out_out_a_preExp = _out_a_preExp; }
return _out_txt;
}
DLLExport
modelica_metatype omc_CodegenCFunctions_tempDeclTuple(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_inType, modelica_metatype _in_a_varDecls, modelica_metatype *out_out_a_varDecls)
{
modelica_metatype _out_txt = NULL;
modelica_metatype _out_a_varDecls = NULL;
modelica_metatype tmpMeta[3] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_metatype tmp4_2;modelica_metatype tmp4_3;
tmp4_1 = _in_txt;
tmp4_2 = _in_a_inType;
tmp4_3 = _in_a_varDecls;
{
modelica_metatype _txt = NULL;
modelica_metatype _a_varDecls = NULL;
modelica_metatype _i_inType = NULL;
modelica_metatype _i_types = NULL;
modelica_metatype _txt_2 = NULL;
modelica_integer _ret_1;
modelica_metatype _l_tmpVar = NULL;
volatile mmc_switch_type tmp4;
int tmp5;
tmp4 = 0;
for (; tmp4 < 2; tmp4++) {
switch (MMC_SWITCH_CAST(tmp4)) {
case 0: {
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,14,2) == 0) goto tmp3_end;
tmpMeta[2] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
_i_types = tmpMeta[2];
_txt = tmp4_1;
_a_varDecls = tmp4_3;
_l_tmpVar = omc_Tpl_writeTok(threadData, _OMC_LIT20, _OMC_LIT138);
_ret_1 = omc_System_tmpTick(threadData);
_l_tmpVar = omc_Tpl_writeStr(threadData, _l_tmpVar, intString(_ret_1));
_a_varDecls = omc_Tpl_writeTok(threadData, _a_varDecls, _OMC_LIT1337);
_a_varDecls = omc_Tpl_pushBlock(threadData, _a_varDecls, _OMC_LIT97);
_a_varDecls = omc_Tpl_pushIter(threadData, _a_varDecls, _OMC_LIT118);
_a_varDecls = omc_CodegenCFunctions_lm__753(threadData, _a_varDecls, _i_types);
_a_varDecls = omc_Tpl_popIter(threadData, _a_varDecls);
_a_varDecls = omc_Tpl_softNewLine(threadData, _a_varDecls);
_a_varDecls = omc_Tpl_popBlock(threadData, _a_varDecls);
_a_varDecls = omc_Tpl_writeTok(threadData, _a_varDecls, _OMC_LIT252);
_a_varDecls = omc_Tpl_writeText(threadData, _a_varDecls, _l_tmpVar);
_a_varDecls = omc_Tpl_writeTok(threadData, _a_varDecls, _OMC_LIT105);
_txt = omc_Tpl_writeText(threadData, _txt, _l_tmpVar);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_varDecls;
goto tmp3_done;
}
case 1: {
_txt = tmp4_1;
_i_inType = tmp4_2;
_a_varDecls = tmp4_3;
_txt_2 = omc_CodegenCFunctions_expTypeArrayIf(threadData, _OMC_LIT20, _i_inType);
tmpMeta[0+0] = omc_CodegenCFunctions_tempDecl(threadData, _txt, omc_Tpl_textString(threadData, _txt_2), _a_varDecls, &tmpMeta[0+1]);
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta[0+0];
_out_a_varDecls = tmpMeta[0+1];
_return: OMC_LABEL_UNUSED
if (out_out_a_varDecls) { *out_out_a_varDecls = _out_a_varDecls; }
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_lm__753(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_items)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta[3] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp3_1;modelica_metatype tmp3_2;
tmp3_1 = _in_txt;
tmp3_2 = _in_items;
{
modelica_metatype _txt = NULL;
modelica_metatype _rest = NULL;
modelica_integer _x_i1;
modelica_metatype _i_ty = NULL;
volatile mmc_switch_type tmp3;
int tmp4;
tmp3 = 0;
for (; tmp3 < 2; tmp3++) {
switch (MMC_SWITCH_CAST(tmp3)) {
case 0: {
if (!listEmpty(tmp3_2)) goto tmp2_end;
_txt = tmp3_1;
tmpMeta[0] = _txt;
goto tmp2_done;
}
case 1: {
if (listEmpty(tmp3_2)) goto tmp2_end;
tmpMeta[1] = MMC_CAR(tmp3_2);
tmpMeta[2] = MMC_CDR(tmp3_2);
_i_ty = tmpMeta[1];
_rest = tmpMeta[2];
_txt = tmp3_1;
_x_i1 = omc_Tpl_getIteri__i0(threadData, _txt);
_txt = omc_CodegenCFunctions_expTypeModelica(threadData, _txt, _i_ty);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1339);
_txt = omc_Tpl_writeStr(threadData, _txt, intString(_x_i1));
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT105);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT89);
_txt = omc_Tpl_nextIter(threadData, _txt);
_in_txt = _txt;
_in_items = _rest;
goto _tailrecursive;
goto tmp2_done;
}
}
goto tmp2_end;
tmp2_end: ;
}
goto goto_1;
goto_1:;
MMC_THROW_INTERNAL();
goto tmp2_done;
tmp2_done:;
}
}
_out_txt = tmpMeta[0];
_return: OMC_LABEL_UNUSED
return _out_txt;
}
DLLExport
modelica_metatype omc_CodegenCFunctions_daeExpCons(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_exp, modelica_metatype _in_a_context, modelica_metatype _in_a_preExp, modelica_metatype _in_a_varDecls, modelica_metatype _in_a_auxFunction, modelica_metatype *out_out_a_preExp, modelica_metatype *out_out_a_varDecls, modelica_metatype *out_out_a_auxFunction)
{
modelica_metatype _out_txt = NULL;
modelica_metatype _out_a_preExp = NULL;
modelica_metatype _out_a_varDecls = NULL;
modelica_metatype _out_a_auxFunction = NULL;
modelica_metatype tmpMeta[6] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_metatype tmp4_2;modelica_metatype tmp4_3;modelica_metatype tmp4_4;modelica_metatype tmp4_5;modelica_metatype tmp4_6;
tmp4_1 = _in_txt;
tmp4_2 = _in_a_exp;
tmp4_3 = _in_a_context;
tmp4_4 = _in_a_preExp;
tmp4_5 = _in_a_varDecls;
tmp4_6 = _in_a_auxFunction;
{
modelica_metatype _txt = NULL;
modelica_metatype _a_context = NULL;
modelica_metatype _a_preExp = NULL;
modelica_metatype _a_varDecls = NULL;
modelica_metatype _a_auxFunction = NULL;
modelica_metatype _i_cdr = NULL;
modelica_metatype _i_car = NULL;
modelica_metatype _l_cdrExp = NULL;
modelica_metatype _l_carExp = NULL;
modelica_metatype _l_tmp = NULL;
volatile mmc_switch_type tmp4;
int tmp5;
tmp4 = 0;
for (; tmp4 < 2; tmp4++) {
switch (MMC_SWITCH_CAST(tmp4)) {
case 0: {
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,29,2) == 0) goto tmp3_end;
tmpMeta[4] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
tmpMeta[5] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 3));
_i_car = tmpMeta[4];
_i_cdr = tmpMeta[5];
_txt = tmp4_1;
_a_context = tmp4_3;
_a_preExp = tmp4_4;
_a_varDecls = tmp4_5;
_a_auxFunction = tmp4_6;
_l_tmp = omc_CodegenCFunctions_tempDecl(threadData, _OMC_LIT20, _OMC_LIT311, _a_varDecls ,&_a_varDecls);
_l_carExp = omc_CodegenCFunctions_daeExp(threadData, _OMC_LIT20, _i_car, _a_context, _a_preExp, _a_varDecls, _a_auxFunction ,&_a_preExp ,&_a_varDecls ,&_a_auxFunction);
_l_cdrExp = omc_CodegenCFunctions_daeExp(threadData, _OMC_LIT20, _i_cdr, _a_context, _a_preExp, _a_varDecls, _a_auxFunction ,&_a_preExp ,&_a_varDecls ,&_a_auxFunction);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _l_tmp);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT418);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _l_carExp);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT292);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _l_cdrExp);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT290);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT89);
_txt = omc_Tpl_writeText(threadData, _txt, _l_tmp);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_preExp;
tmpMeta[0+2] = _a_varDecls;
tmpMeta[0+3] = _a_auxFunction;
goto tmp3_done;
}
case 1: {
_txt = tmp4_1;
_a_preExp = tmp4_4;
_a_varDecls = tmp4_5;
_a_auxFunction = tmp4_6;
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_preExp;
tmpMeta[0+2] = _a_varDecls;
tmpMeta[0+3] = _a_auxFunction;
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta[0+0];
_out_a_preExp = tmpMeta[0+1];
_out_a_varDecls = tmpMeta[0+2];
_out_a_auxFunction = tmpMeta[0+3];
_return: OMC_LABEL_UNUSED
if (out_out_a_preExp) { *out_out_a_preExp = _out_a_preExp; }
if (out_out_a_varDecls) { *out_out_a_varDecls = _out_a_varDecls; }
if (out_out_a_auxFunction) { *out_out_a_auxFunction = _out_a_auxFunction; }
return _out_txt;
}
DLLExport
modelica_metatype omc_CodegenCFunctions_daeExpListToCons(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_listItems, modelica_metatype _in_a_context, modelica_metatype _in_a_preExp, modelica_metatype _in_a_varDecls, modelica_metatype _in_a_auxFunction, modelica_metatype *out_out_a_preExp, modelica_metatype *out_out_a_varDecls, modelica_metatype *out_out_a_auxFunction)
{
modelica_metatype _out_txt = NULL;
modelica_metatype _out_a_preExp = NULL;
modelica_metatype _out_a_varDecls = NULL;
modelica_metatype _out_a_auxFunction = NULL;
modelica_metatype tmpMeta[6] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_metatype tmp4_2;modelica_metatype tmp4_3;modelica_metatype tmp4_4;modelica_metatype tmp4_5;modelica_metatype tmp4_6;
tmp4_1 = _in_txt;
tmp4_2 = _in_a_listItems;
tmp4_3 = _in_a_context;
tmp4_4 = _in_a_preExp;
tmp4_5 = _in_a_varDecls;
tmp4_6 = _in_a_auxFunction;
{
modelica_metatype _txt = NULL;
modelica_metatype _a_context = NULL;
modelica_metatype _a_preExp = NULL;
modelica_metatype _a_varDecls = NULL;
modelica_metatype _a_auxFunction = NULL;
modelica_metatype _i_rest = NULL;
modelica_metatype _i_e = NULL;
modelica_metatype _l_restList = NULL;
modelica_metatype _l_expPart = NULL;
volatile mmc_switch_type tmp4;
int tmp5;
tmp4 = 0;
for (; tmp4 < 2; tmp4++) {
switch (MMC_SWITCH_CAST(tmp4)) {
case 0: {
if (listEmpty(tmp4_2)) goto tmp3_end;
tmpMeta[4] = MMC_CAR(tmp4_2);
tmpMeta[5] = MMC_CDR(tmp4_2);
_i_e = tmpMeta[4];
_i_rest = tmpMeta[5];
_txt = tmp4_1;
_a_context = tmp4_3;
_a_preExp = tmp4_4;
_a_varDecls = tmp4_5;
_a_auxFunction = tmp4_6;
_l_expPart = omc_CodegenCFunctions_daeExp(threadData, _OMC_LIT20, _i_e, _a_context, _a_preExp, _a_varDecls, _a_auxFunction ,&_a_preExp ,&_a_varDecls ,&_a_auxFunction);
_l_restList = omc_CodegenCFunctions_daeExpListToCons(threadData, _OMC_LIT20, _i_rest, _a_context, _a_preExp, _a_varDecls, _a_auxFunction ,&_a_preExp ,&_a_varDecls ,&_a_auxFunction);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1341);
_txt = omc_Tpl_writeText(threadData, _txt, _l_expPart);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT292);
_txt = omc_Tpl_writeText(threadData, _txt, _l_restList);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT78);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_preExp;
tmpMeta[0+2] = _a_varDecls;
tmpMeta[0+3] = _a_auxFunction;
goto tmp3_done;
}
case 1: {
_txt = tmp4_1;
_a_preExp = tmp4_4;
_a_varDecls = tmp4_5;
_a_auxFunction = tmp4_6;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1343);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_preExp;
tmpMeta[0+2] = _a_varDecls;
tmpMeta[0+3] = _a_auxFunction;
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta[0+0];
_out_a_preExp = tmpMeta[0+1];
_out_a_varDecls = tmpMeta[0+2];
_out_a_auxFunction = tmpMeta[0+3];
_return: OMC_LABEL_UNUSED
if (out_out_a_preExp) { *out_out_a_preExp = _out_a_preExp; }
if (out_out_a_varDecls) { *out_out_a_varDecls = _out_a_varDecls; }
if (out_out_a_auxFunction) { *out_out_a_auxFunction = _out_a_auxFunction; }
return _out_txt;
}
DLLExport
modelica_metatype omc_CodegenCFunctions_daeExpList(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_exp, modelica_metatype _in_a_context, modelica_metatype _in_a_preExp, modelica_metatype _in_a_varDecls, modelica_metatype _in_a_auxFunction, modelica_metatype *out_out_a_preExp, modelica_metatype *out_out_a_varDecls, modelica_metatype *out_out_a_auxFunction)
{
modelica_metatype _out_txt = NULL;
modelica_metatype _out_a_preExp = NULL;
modelica_metatype _out_a_varDecls = NULL;
modelica_metatype _out_a_auxFunction = NULL;
modelica_metatype tmpMeta[5] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_metatype tmp4_2;modelica_metatype tmp4_3;modelica_metatype tmp4_4;modelica_metatype tmp4_5;modelica_metatype tmp4_6;
tmp4_1 = _in_txt;
tmp4_2 = _in_a_exp;
tmp4_3 = _in_a_context;
tmp4_4 = _in_a_preExp;
tmp4_5 = _in_a_varDecls;
tmp4_6 = _in_a_auxFunction;
{
modelica_metatype _txt = NULL;
modelica_metatype _a_context = NULL;
modelica_metatype _a_preExp = NULL;
modelica_metatype _a_varDecls = NULL;
modelica_metatype _a_auxFunction = NULL;
modelica_metatype _i_valList = NULL;
modelica_metatype _l_expPart = NULL;
modelica_metatype _l_tmp = NULL;
volatile mmc_switch_type tmp4;
int tmp5;
tmp4 = 0;
for (; tmp4 < 2; tmp4++) {
switch (MMC_SWITCH_CAST(tmp4)) {
case 0: {
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,28,1) == 0) goto tmp3_end;
tmpMeta[4] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
_i_valList = tmpMeta[4];
_txt = tmp4_1;
_a_context = tmp4_3;
_a_preExp = tmp4_4;
_a_varDecls = tmp4_5;
_a_auxFunction = tmp4_6;
_l_tmp = omc_CodegenCFunctions_tempDecl(threadData, _OMC_LIT20, _OMC_LIT311, _a_varDecls ,&_a_varDecls);
_l_expPart = omc_CodegenCFunctions_daeExpListToCons(threadData, _OMC_LIT20, _i_valList, _a_context, _a_preExp, _a_varDecls, _a_auxFunction ,&_a_preExp ,&_a_varDecls ,&_a_auxFunction);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _l_tmp);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT121);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _l_expPart);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT105);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT89);
_txt = omc_Tpl_writeText(threadData, _txt, _l_tmp);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_preExp;
tmpMeta[0+2] = _a_varDecls;
tmpMeta[0+3] = _a_auxFunction;
goto tmp3_done;
}
case 1: {
_txt = tmp4_1;
_a_preExp = tmp4_4;
_a_varDecls = tmp4_5;
_a_auxFunction = tmp4_6;
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_preExp;
tmpMeta[0+2] = _a_varDecls;
tmpMeta[0+3] = _a_auxFunction;
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta[0+0];
_out_a_preExp = tmpMeta[0+1];
_out_a_varDecls = tmpMeta[0+2];
_out_a_auxFunction = tmpMeta[0+3];
_return: OMC_LABEL_UNUSED
if (out_out_a_preExp) { *out_out_a_preExp = _out_a_preExp; }
if (out_out_a_varDecls) { *out_out_a_varDecls = _out_a_varDecls; }
if (out_out_a_auxFunction) { *out_out_a_auxFunction = _out_a_auxFunction; }
return _out_txt;
}
DLLExport
modelica_metatype omc_CodegenCFunctions_daeExpSconst(threadData_t *threadData, modelica_metatype _txt, modelica_string _a_string, modelica_metatype _a_preExp, modelica_metatype _a_varDecls, modelica_metatype *out_out_a_preExp, modelica_metatype *out_out_a_varDecls)
{
modelica_metatype _out_txt = NULL;
modelica_metatype _out_a_preExp = NULL;
modelica_metatype _out_a_varDecls = NULL;
modelica_integer _ret_2;
modelica_string _ret_1 = NULL;
modelica_metatype _l_escstr = NULL;
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
_ret_1 = omc_Util_escapeModelicaStringToCString(threadData, _a_string);
_l_escstr = omc_Tpl_writeStr(threadData, _OMC_LIT20, _ret_1);
_ret_2 = stringLength(_a_string);
_out_txt = omc_CodegenCFunctions_fun__748(threadData, _txt, _ret_2, _l_escstr, _a_varDecls, _a_string ,&_out_a_varDecls);
_out_a_preExp = _a_preExp;
_return: OMC_LABEL_UNUSED
if (out_out_a_preExp) { *out_out_a_preExp = _out_a_preExp; }
if (out_out_a_varDecls) { *out_out_a_varDecls = _out_a_varDecls; }
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__748(threadData_t *threadData, modelica_metatype _in_txt, modelica_integer _in_mArg, modelica_metatype _in_a_escstr, modelica_metatype _in_a_varDecls, modelica_string _in_a_string, modelica_metatype *out_out_a_varDecls)
{
modelica_metatype _out_txt = NULL;
modelica_metatype _out_a_varDecls = NULL;
modelica_metatype tmpMeta[2] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_integer tmp4_2;modelica_metatype tmp4_3;modelica_metatype tmp4_4;modelica_string tmp4_5;
tmp4_1 = _in_txt;
tmp4_2 = _in_mArg;
tmp4_3 = _in_a_escstr;
tmp4_4 = _in_a_varDecls;
tmp4_5 = _in_a_string;
{
modelica_metatype _txt = NULL;
modelica_metatype _a_escstr = NULL;
modelica_metatype _a_varDecls = NULL;
modelica_string _a_string = NULL;
modelica_integer _ret_3;
modelica_integer _ret_2;
modelica_metatype _l_tmp = NULL;
modelica_integer _ret_0;
int tmp4;
{
switch (MMC_SWITCH_CAST(tmp4_2)) {
case 0: {
if (0 != tmp4_2) goto tmp3_end;
_txt = tmp4_1;
_a_varDecls = tmp4_4;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1345);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_varDecls;
goto tmp3_done;
}
case 1: {
if (1 != tmp4_2) goto tmp3_end;
_txt = tmp4_1;
_a_varDecls = tmp4_4;
_a_string = tmp4_5;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1347);
_ret_0 = stringGet(_a_string, ((modelica_integer) 1));
_txt = omc_Tpl_writeStr(threadData, _txt, intString(_ret_0));
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT46);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_varDecls;
goto tmp3_done;
}
default:
tmp3_default: OMC_LABEL_UNUSED; {
_txt = tmp4_1;
_a_escstr = tmp4_3;
_a_varDecls = tmp4_4;
_l_tmp = omc_Tpl_writeTok(threadData, _OMC_LIT20, _OMC_LIT138);
_ret_2 = omc_System_tmpTick(threadData);
_l_tmp = omc_Tpl_writeStr(threadData, _l_tmp, intString(_ret_2));
_a_varDecls = omc_Tpl_writeTok(threadData, _a_varDecls, _OMC_LIT1349);
_a_varDecls = omc_Tpl_writeText(threadData, _a_varDecls, _l_tmp);
_a_varDecls = omc_Tpl_writeTok(threadData, _a_varDecls, _OMC_LIT226);
_ret_3 = omc_System_unescapedStringLength(threadData, omc_Tpl_textString(threadData, _a_escstr));
_a_varDecls = omc_Tpl_writeStr(threadData, _a_varDecls, intString(_ret_3));
_a_varDecls = omc_Tpl_writeTok(threadData, _a_varDecls, _OMC_LIT1145);
_a_varDecls = omc_Tpl_writeText(threadData, _a_varDecls, _a_escstr);
_a_varDecls = omc_Tpl_writeTok(threadData, _a_varDecls, _OMC_LIT1351);
_a_varDecls = omc_Tpl_writeTok(threadData, _a_varDecls, _OMC_LIT89);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1353);
_txt = omc_Tpl_writeText(threadData, _txt, _l_tmp);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT78);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_varDecls;
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta[0+0];
_out_a_varDecls = tmpMeta[0+1];
_return: OMC_LABEL_UNUSED
if (out_out_a_varDecls) { *out_out_a_varDecls = _out_a_varDecls; }
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__748(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_mArg, modelica_metatype _in_a_escstr, modelica_metatype _in_a_varDecls, modelica_metatype _in_a_string, modelica_metatype *out_out_a_varDecls)
{
modelica_integer tmp1;
modelica_metatype _out_txt = NULL;
tmp1 = mmc_unbox_integer(_in_mArg);
_out_txt = omc_CodegenCFunctions_fun__748(threadData, _in_txt, tmp1, _in_a_escstr, _in_a_varDecls, _in_a_string, out_out_a_varDecls);
return _out_txt;
}
DLLExport
modelica_metatype omc_CodegenCFunctions_daeExternalF77Exp(threadData_t *threadData, modelica_metatype _txt, modelica_metatype _a_exp, modelica_metatype _a_context, modelica_metatype _a_preExp, modelica_metatype _a_varDecls, modelica_metatype _a_auxFunction, modelica_metatype *out_out_a_preExp, modelica_metatype *out_out_a_varDecls, modelica_metatype *out_out_a_auxFunction)
{
modelica_metatype _out_txt = NULL;
modelica_metatype _out_a_preExp = NULL;
modelica_metatype _out_a_varDecls = NULL;
modelica_metatype _out_a_auxFunction = NULL;
modelica_metatype _ret_0 = NULL;
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
_ret_0 = omc_Expression_typeof(threadData, _a_exp);
_out_txt = omc_CodegenCFunctions_fun__746(threadData, _txt, _ret_0, _a_exp, _a_context, _a_preExp, _a_varDecls, _a_auxFunction ,&_out_a_preExp ,&_out_a_varDecls ,&_out_a_auxFunction);
_return: OMC_LABEL_UNUSED
if (out_out_a_preExp) { *out_out_a_preExp = _out_a_preExp; }
if (out_out_a_varDecls) { *out_out_a_varDecls = _out_a_varDecls; }
if (out_out_a_auxFunction) { *out_out_a_auxFunction = _out_a_auxFunction; }
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__746(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_mArg, modelica_metatype _in_a_exp, modelica_metatype _in_a_context, modelica_metatype _in_a_preExp, modelica_metatype _in_a_varDecls, modelica_metatype _in_a_auxFunction, modelica_metatype *out_out_a_preExp, modelica_metatype *out_out_a_varDecls, modelica_metatype *out_out_a_auxFunction)
{
modelica_metatype _out_txt = NULL;
modelica_metatype _out_a_preExp = NULL;
modelica_metatype _out_a_varDecls = NULL;
modelica_metatype _out_a_auxFunction = NULL;
modelica_metatype tmpMeta[4] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_metatype tmp4_2;modelica_metatype tmp4_3;modelica_metatype tmp4_4;modelica_metatype tmp4_5;modelica_metatype tmp4_6;modelica_metatype tmp4_7;
tmp4_1 = _in_txt;
tmp4_2 = _in_mArg;
tmp4_3 = _in_a_exp;
tmp4_4 = _in_a_context;
tmp4_5 = _in_a_preExp;
tmp4_6 = _in_a_varDecls;
tmp4_7 = _in_a_auxFunction;
{
modelica_metatype _txt = NULL;
modelica_metatype _a_exp = NULL;
modelica_metatype _a_context = NULL;
modelica_metatype _a_preExp = NULL;
modelica_metatype _a_varDecls = NULL;
modelica_metatype _a_auxFunction = NULL;
modelica_metatype _txt_6 = NULL;
modelica_metatype _txt_5 = NULL;
modelica_metatype _l_tvar = NULL;
modelica_metatype _l_texp = NULL;
modelica_metatype _ret_2 = NULL;
modelica_metatype _ret_1 = NULL;
modelica_metatype _l_shortTypeStr = NULL;
int tmp4;
{
switch (MMC_SWITCH_CAST(valueConstructor(tmp4_2))) {
case 9: {
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,6,2) == 0) goto tmp3_end;
_txt = tmp4_1;
_a_exp = tmp4_3;
_a_context = tmp4_4;
_a_preExp = tmp4_5;
_a_varDecls = tmp4_6;
_a_auxFunction = tmp4_7;
_ret_1 = omc_Expression_typeof(threadData, _a_exp);
_l_shortTypeStr = omc_CodegenCFunctions_expTypeShort(threadData, _OMC_LIT20, _ret_1);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT68);
_ret_2 = omc_Expression_typeof(threadData, _a_exp);
_txt = omc_CodegenCFunctions_extType(threadData, _txt, _ret_2, 1, 1, 0);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1355);
_txt = omc_Tpl_writeText(threadData, _txt, _l_shortTypeStr);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT556);
_txt = omc_CodegenCFunctions_daeExp(threadData, _txt, _a_exp, _a_context, _a_preExp, _a_varDecls, _a_auxFunction ,&_a_preExp ,&_a_varDecls ,&_a_auxFunction);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT78);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_preExp;
tmpMeta[0+2] = _a_varDecls;
tmpMeta[0+3] = _a_auxFunction;
goto tmp3_done;
}
case 5: {
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,2,1) == 0) goto tmp3_end;
_txt = tmp4_1;
_a_exp = tmp4_3;
_a_preExp = tmp4_5;
_a_varDecls = tmp4_6;
_a_auxFunction = tmp4_7;
_l_texp = omc_CodegenCFunctions_daeExp(threadData, _OMC_LIT20, _a_exp, _OMC_LIT1356, _a_preExp, _a_varDecls, _a_auxFunction ,&_a_preExp ,&_a_varDecls ,&_a_auxFunction);
_txt_5 = omc_CodegenCFunctions_expTypeFromExpFlag(threadData, _OMC_LIT20, _a_exp, ((modelica_integer) 8));
_l_tvar = omc_CodegenCFunctions_tempDecl(threadData, _OMC_LIT20, omc_Tpl_textString(threadData, _txt_5), _a_varDecls ,&_a_varDecls);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _l_tvar);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT1358);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _l_texp);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT290);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT89);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT582);
_txt = omc_Tpl_writeText(threadData, _txt, _l_tvar);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_preExp;
tmpMeta[0+2] = _a_varDecls;
tmpMeta[0+3] = _a_auxFunction;
goto tmp3_done;
}
default:
tmp3_default: OMC_LABEL_UNUSED; {
_txt = tmp4_1;
_a_exp = tmp4_3;
_a_preExp = tmp4_5;
_a_varDecls = tmp4_6;
_a_auxFunction = tmp4_7;
_l_texp = omc_CodegenCFunctions_daeExp(threadData, _OMC_LIT20, _a_exp, _OMC_LIT1356, _a_preExp, _a_varDecls, _a_auxFunction ,&_a_preExp ,&_a_varDecls ,&_a_auxFunction);
_txt_6 = omc_CodegenCFunctions_expTypeFromExpFlag(threadData, _OMC_LIT20, _a_exp, ((modelica_integer) 8));
_l_tvar = omc_CodegenCFunctions_tempDecl(threadData, _OMC_LIT20, omc_Tpl_textString(threadData, _txt_6), _a_varDecls ,&_a_varDecls);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _l_tvar);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT121);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _l_texp);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT105);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT89);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT582);
_txt = omc_Tpl_writeText(threadData, _txt, _l_tvar);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_preExp;
tmpMeta[0+2] = _a_varDecls;
tmpMeta[0+3] = _a_auxFunction;
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta[0+0];
_out_a_preExp = tmpMeta[0+1];
_out_a_varDecls = tmpMeta[0+2];
_out_a_auxFunction = tmpMeta[0+3];
_return: OMC_LABEL_UNUSED
if (out_out_a_preExp) { *out_out_a_preExp = _out_a_preExp; }
if (out_out_a_varDecls) { *out_out_a_varDecls = _out_a_varDecls; }
if (out_out_a_auxFunction) { *out_out_a_auxFunction = _out_a_auxFunction; }
return _out_txt;
}
DLLExport
modelica_metatype omc_CodegenCFunctions_daeExternalCExp(threadData_t *threadData, modelica_metatype _txt, modelica_metatype _a_exp, modelica_metatype _a_context, modelica_metatype _a_preExp, modelica_metatype _a_varDecls, modelica_metatype _a_auxFunction, modelica_metatype *out_out_a_preExp, modelica_metatype *out_out_a_varDecls, modelica_metatype *out_out_a_auxFunction)
{
modelica_metatype _out_txt = NULL;
modelica_metatype _out_a_preExp = NULL;
modelica_metatype _out_a_varDecls = NULL;
modelica_metatype _out_a_auxFunction = NULL;
modelica_metatype _ret_0 = NULL;
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
_ret_0 = omc_Expression_typeof(threadData, _a_exp);
_out_txt = omc_CodegenCFunctions_fun__744(threadData, _txt, _ret_0, _a_exp, _a_context, _a_preExp, _a_varDecls, _a_auxFunction ,&_out_a_preExp ,&_out_a_varDecls ,&_out_a_auxFunction);
_return: OMC_LABEL_UNUSED
if (out_out_a_preExp) { *out_out_a_preExp = _out_a_preExp; }
if (out_out_a_varDecls) { *out_out_a_varDecls = _out_a_varDecls; }
if (out_out_a_auxFunction) { *out_out_a_auxFunction = _out_a_auxFunction; }
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__744(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_mArg, modelica_metatype _in_a_exp, modelica_metatype _in_a_context, modelica_metatype _in_a_preExp, modelica_metatype _in_a_varDecls, modelica_metatype _in_a_auxFunction, modelica_metatype *out_out_a_preExp, modelica_metatype *out_out_a_varDecls, modelica_metatype *out_out_a_auxFunction)
{
modelica_metatype _out_txt = NULL;
modelica_metatype _out_a_preExp = NULL;
modelica_metatype _out_a_varDecls = NULL;
modelica_metatype _out_a_auxFunction = NULL;
modelica_metatype tmpMeta[4] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_metatype tmp4_2;modelica_metatype tmp4_3;modelica_metatype tmp4_4;modelica_metatype tmp4_5;modelica_metatype tmp4_6;modelica_metatype tmp4_7;
tmp4_1 = _in_txt;
tmp4_2 = _in_mArg;
tmp4_3 = _in_a_exp;
tmp4_4 = _in_a_context;
tmp4_5 = _in_a_preExp;
tmp4_6 = _in_a_varDecls;
tmp4_7 = _in_a_auxFunction;
{
modelica_metatype _txt = NULL;
modelica_metatype _a_exp = NULL;
modelica_metatype _a_context = NULL;
modelica_metatype _a_preExp = NULL;
modelica_metatype _a_varDecls = NULL;
modelica_metatype _a_auxFunction = NULL;
modelica_metatype _l_mstr = NULL;
modelica_metatype _ret_2 = NULL;
modelica_metatype _ret_1 = NULL;
modelica_metatype _l_shortTypeStr = NULL;
int tmp4;
{
switch (MMC_SWITCH_CAST(valueConstructor(tmp4_2))) {
case 9: {
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,6,2) == 0) goto tmp3_end;
_txt = tmp4_1;
_a_exp = tmp4_3;
_a_context = tmp4_4;
_a_preExp = tmp4_5;
_a_varDecls = tmp4_6;
_a_auxFunction = tmp4_7;
_ret_1 = omc_Expression_typeof(threadData, _a_exp);
_l_shortTypeStr = omc_CodegenCFunctions_expTypeShort(threadData, _OMC_LIT20, _ret_1);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT68);
_ret_2 = omc_Expression_typeof(threadData, _a_exp);
_txt = omc_CodegenCFunctions_extType(threadData, _txt, _ret_2, 1, 1, 0);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1355);
_txt = omc_Tpl_writeText(threadData, _txt, _l_shortTypeStr);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT556);
_txt = omc_CodegenCFunctions_daeExp(threadData, _txt, _a_exp, _a_context, _a_preExp, _a_varDecls, _a_auxFunction ,&_a_preExp ,&_a_varDecls ,&_a_auxFunction);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT78);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_preExp;
tmpMeta[0+2] = _a_varDecls;
tmpMeta[0+3] = _a_auxFunction;
goto tmp3_done;
}
case 5: {
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,2,1) == 0) goto tmp3_end;
_txt = tmp4_1;
_a_exp = tmp4_3;
_a_context = tmp4_4;
_a_preExp = tmp4_5;
_a_varDecls = tmp4_6;
_a_auxFunction = tmp4_7;
_l_mstr = omc_CodegenCFunctions_daeExp(threadData, _OMC_LIT20, _a_exp, _a_context, _a_preExp, _a_varDecls, _a_auxFunction ,&_a_preExp ,&_a_varDecls ,&_a_auxFunction);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1360);
_txt = omc_Tpl_writeText(threadData, _txt, _l_mstr);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT78);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_preExp;
tmpMeta[0+2] = _a_varDecls;
tmpMeta[0+3] = _a_auxFunction;
goto tmp3_done;
}
default:
tmp3_default: OMC_LABEL_UNUSED; {
_txt = tmp4_1;
_a_exp = tmp4_3;
_a_context = tmp4_4;
_a_preExp = tmp4_5;
_a_varDecls = tmp4_6;
_a_auxFunction = tmp4_7;
tmpMeta[0+0] = omc_CodegenCFunctions_daeExp(threadData, _txt, _a_exp, _a_context, _a_preExp, _a_varDecls, _a_auxFunction, &tmpMeta[0+1], &tmpMeta[0+2], &tmpMeta[0+3]);
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta[0+0];
_out_a_preExp = tmpMeta[0+1];
_out_a_varDecls = tmpMeta[0+2];
_out_a_auxFunction = tmpMeta[0+3];
_return: OMC_LABEL_UNUSED
if (out_out_a_preExp) { *out_out_a_preExp = _out_a_preExp; }
if (out_out_a_varDecls) { *out_out_a_varDecls = _out_a_varDecls; }
if (out_out_a_auxFunction) { *out_out_a_auxFunction = _out_a_auxFunction; }
return _out_txt;
}
DLLExport
modelica_metatype omc_CodegenCFunctions_daeExpAsLValue(threadData_t *threadData, modelica_metatype _txt, modelica_metatype _a_exp, modelica_metatype _a_context, modelica_metatype _a_preExp, modelica_metatype _a_varDecls, modelica_metatype _a_auxFunction, modelica_metatype *out_out_a_preExp, modelica_metatype *out_out_a_varDecls, modelica_metatype *out_out_a_auxFunction)
{
modelica_metatype _out_txt = NULL;
modelica_metatype _out_a_preExp = NULL;
modelica_metatype _out_a_varDecls = NULL;
modelica_metatype _out_a_auxFunction = NULL;
modelica_boolean _ret_1;
modelica_metatype _l_res1 = NULL;
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
_l_res1 = omc_CodegenCFunctions_daeExp(threadData, _OMC_LIT20, _a_exp, _a_context, _a_preExp, _a_varDecls, _a_auxFunction ,&_out_a_preExp ,&_out_a_varDecls ,&_out_a_auxFunction);
_ret_1 = omc_Util_isCIdentifier(threadData, omc_Tpl_textString(threadData, _l_res1));
_out_txt = omc_CodegenCFunctions_fun__742(threadData, _txt, _ret_1, _l_res1, _out_a_preExp, _out_a_varDecls, _a_exp ,&_out_a_preExp ,&_out_a_varDecls);
_return: OMC_LABEL_UNUSED
if (out_out_a_preExp) { *out_out_a_preExp = _out_a_preExp; }
if (out_out_a_varDecls) { *out_out_a_varDecls = _out_a_varDecls; }
if (out_out_a_auxFunction) { *out_out_a_auxFunction = _out_a_auxFunction; }
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__742(threadData_t *threadData, modelica_metatype _in_txt, modelica_boolean _in_mArg, modelica_metatype _in_a_res1, modelica_metatype _in_a_preExp, modelica_metatype _in_a_varDecls, modelica_metatype _in_a_exp, modelica_metatype *out_out_a_preExp, modelica_metatype *out_out_a_varDecls)
{
modelica_metatype _out_txt = NULL;
modelica_metatype _out_a_preExp = NULL;
modelica_metatype _out_a_varDecls = NULL;
modelica_metatype tmpMeta[3] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_boolean tmp4_2;modelica_metatype tmp4_3;modelica_metatype tmp4_4;modelica_metatype tmp4_5;modelica_metatype tmp4_6;
tmp4_1 = _in_txt;
tmp4_2 = _in_mArg;
tmp4_3 = _in_a_res1;
tmp4_4 = _in_a_preExp;
tmp4_5 = _in_a_varDecls;
tmp4_6 = _in_a_exp;
{
modelica_metatype _txt = NULL;
modelica_metatype _a_res1 = NULL;
modelica_metatype _a_preExp = NULL;
modelica_metatype _a_varDecls = NULL;
modelica_metatype _a_exp = NULL;
modelica_metatype _txt_1 = NULL;
modelica_metatype _l_tmp = NULL;
volatile mmc_switch_type tmp4;
int tmp5;
tmp4 = 0;
for (; tmp4 < 2; tmp4++) {
switch (MMC_SWITCH_CAST(tmp4)) {
case 0: {
if (0 != tmp4_2) goto tmp3_end;
_txt = tmp4_1;
_a_res1 = tmp4_3;
_a_preExp = tmp4_4;
_a_varDecls = tmp4_5;
_a_exp = tmp4_6;
_txt_1 = omc_CodegenCFunctions_expTypeFromExpArrayIf(threadData, _OMC_LIT20, _a_exp);
_l_tmp = omc_CodegenCFunctions_tempDecl(threadData, _OMC_LIT20, omc_Tpl_textString(threadData, _txt_1), _a_varDecls ,&_a_varDecls);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _l_tmp);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT121);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _a_res1);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT105);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT89);
_txt = omc_Tpl_writeText(threadData, _txt, _l_tmp);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_preExp;
tmpMeta[0+2] = _a_varDecls;
goto tmp3_done;
}
case 1: {
_txt = tmp4_1;
_a_res1 = tmp4_3;
_a_preExp = tmp4_4;
_a_varDecls = tmp4_5;
_txt = omc_Tpl_writeText(threadData, _txt, _a_res1);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_preExp;
tmpMeta[0+2] = _a_varDecls;
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta[0+0];
_out_a_preExp = tmpMeta[0+1];
_out_a_varDecls = tmpMeta[0+2];
_return: OMC_LABEL_UNUSED
if (out_out_a_preExp) { *out_out_a_preExp = _out_a_preExp; }
if (out_out_a_varDecls) { *out_out_a_varDecls = _out_a_varDecls; }
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__742(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_mArg, modelica_metatype _in_a_res1, modelica_metatype _in_a_preExp, modelica_metatype _in_a_varDecls, modelica_metatype _in_a_exp, modelica_metatype *out_out_a_preExp, modelica_metatype *out_out_a_varDecls)
{
modelica_integer tmp1;
modelica_metatype _out_txt = NULL;
tmp1 = mmc_unbox_integer(_in_mArg);
_out_txt = omc_CodegenCFunctions_fun__742(threadData, _in_txt, tmp1, _in_a_res1, _in_a_preExp, _in_a_varDecls, _in_a_exp, out_out_a_preExp, out_out_a_varDecls);
return _out_txt;
}
DLLExport
modelica_metatype omc_CodegenCFunctions_daeExpSimpleLiteral(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_exp)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta[2] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp3_1;modelica_metatype tmp3_2;
tmp3_1 = _in_txt;
tmp3_2 = _in_a_exp;
{
modelica_metatype _txt = NULL;
modelica_metatype _i_exp = NULL;
modelica_integer _i_index;
modelica_boolean _i_bool;
modelica_real _i_real;
modelica_integer _i_integer;
modelica_metatype _txt_2 = NULL;
modelica_string _ret_1 = NULL;
modelica_metatype _l_int__type = NULL;
int tmp3;
{
switch (MMC_SWITCH_CAST(valueConstructor(tmp3_2))) {
case 3: {
modelica_integer tmp4;
if (mmc__uniontype__metarecord__typedef__equal(tmp3_2,0,1) == 0) goto tmp2_end;
tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_2), 2));
tmp4 = mmc_unbox_integer(tmpMeta[1]);
_i_integer = tmp4;
_txt = tmp3_1;
_ret_1 = omc_Config_simCodeTarget(threadData);
_l_int__type = omc_CodegenCFunctions_fun__740(threadData, _OMC_LIT20, _ret_1);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT738);
_txt = omc_Tpl_writeText(threadData, _txt, _l_int__type);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT130);
_txt = omc_Tpl_writeStr(threadData, _txt, intString(_i_integer));
tmpMeta[0] = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT78);
goto tmp2_done;
}
case 4: {
modelica_real tmp5;
if (mmc__uniontype__metarecord__typedef__equal(tmp3_2,1,1) == 0) goto tmp2_end;
tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_2), 2));
tmp5 = mmc_unbox_real(tmpMeta[1]);
_i_real = tmp5;
_txt = tmp3_1;
tmpMeta[0] = omc_Tpl_writeStr(threadData, _txt, realString(_i_real));
goto tmp2_done;
}
case 6: {
modelica_integer tmp6;
if (mmc__uniontype__metarecord__typedef__equal(tmp3_2,3,1) == 0) goto tmp2_end;
tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_2), 2));
tmp6 = mmc_unbox_integer(tmpMeta[1]);
_i_bool = tmp6;
_txt = tmp3_1;
tmpMeta[0] = omc_CodegenCFunctions_boolStrC(threadData, _txt, _i_bool);
goto tmp2_done;
}
case 8: {
modelica_integer tmp7;
if (mmc__uniontype__metarecord__typedef__equal(tmp3_2,5,2) == 0) goto tmp2_end;
tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_2), 3));
tmp7 = mmc_unbox_integer(tmpMeta[1]);
_i_index = tmp7;
_txt = tmp3_1;
tmpMeta[0] = omc_Tpl_writeStr(threadData, _txt, intString(_i_index));
goto tmp2_done;
}
default:
tmp2_default: OMC_LABEL_UNUSED; {
_txt = tmp3_1;
_i_exp = tmp3_2;
_txt_2 = omc_Tpl_writeTok(threadData, _OMC_LIT20, _OMC_LIT1362);
_txt_2 = omc_ExpressionDumpTpl_dumpExp(threadData, _txt_2, _i_exp, _OMC_LIT231);
tmpMeta[0] = omc_CodegenUtil_error(threadData, _txt, omc_Tpl_sourceInfo(threadData, _OMC_LIT27, ((modelica_integer) 4921), ((modelica_integer) 14)), omc_Tpl_textString(threadData, _txt_2));
goto tmp2_done;
}
}
goto tmp2_end;
tmp2_end: ;
}
goto goto_1;
goto_1:;
MMC_THROW_INTERNAL();
goto tmp2_done;
tmp2_done:;
}
}
_out_txt = tmpMeta[0];
_return: OMC_LABEL_UNUSED
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__740(threadData_t *threadData, modelica_metatype _in_txt, modelica_string _in_mArg)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta[1] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp3_1;modelica_string tmp3_2;
tmp3_1 = _in_txt;
tmp3_2 = _in_mArg;
{
modelica_metatype _txt = NULL;
volatile mmc_switch_type tmp3;
int tmp4;
tmp3 = 0;
for (; tmp3 < 2; tmp3++) {
switch (MMC_SWITCH_CAST(tmp3)) {
case 0: {
if (5 != MMC_STRLEN(tmp3_2) || strcmp(MMC_STRINGDATA(_OMC_LIT36), MMC_STRINGDATA(tmp3_2)) != 0) goto tmp2_end;
_txt = tmp3_1;
tmpMeta[0] = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1364);
goto tmp2_done;
}
case 1: {
_txt = tmp3_1;
tmpMeta[0] = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1365);
goto tmp2_done;
}
}
goto tmp2_end;
tmp2_end: ;
}
goto goto_1;
goto_1:;
MMC_THROW_INTERNAL();
goto tmp2_done;
tmp2_done:;
}
}
_out_txt = tmpMeta[0];
_return: OMC_LABEL_UNUSED
return _out_txt;
}
DLLExport
modelica_metatype omc_CodegenCFunctions_daeExp(threadData_t *threadData, modelica_metatype _txt, modelica_metatype _a_exp, modelica_metatype _a_context, modelica_metatype _a_preExp, modelica_metatype _a_varDecls, modelica_metatype _a_auxFunction, modelica_metatype *out_out_a_preExp, modelica_metatype *out_out_a_varDecls, modelica_metatype *out_out_a_auxFunction)
{
modelica_metatype _out_txt = NULL;
modelica_metatype _out_a_preExp = NULL;
modelica_metatype _out_a_varDecls = NULL;
modelica_metatype _out_a_auxFunction = NULL;
modelica_metatype _ret_0 = NULL;
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
_ret_0 = omc_SimCodeUtil_codegenExpSanityCheck(threadData, _a_exp, _a_context);
_out_txt = omc_CodegenCFunctions_fun__738(threadData, _txt, _ret_0, _a_exp, _a_context, _a_preExp, _a_varDecls, _a_auxFunction ,&_out_a_preExp ,&_out_a_varDecls ,&_out_a_auxFunction);
_return: OMC_LABEL_UNUSED
if (out_out_a_preExp) { *out_out_a_preExp = _out_a_preExp; }
if (out_out_a_varDecls) { *out_out_a_varDecls = _out_a_varDecls; }
if (out_out_a_auxFunction) { *out_out_a_auxFunction = _out_a_auxFunction; }
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__738(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_mArg, modelica_metatype _in_a_exp, modelica_metatype _in_a_context, modelica_metatype _in_a_preExp, modelica_metatype _in_a_varDecls, modelica_metatype _in_a_auxFunction, modelica_metatype *out_out_a_preExp, modelica_metatype *out_out_a_varDecls, modelica_metatype *out_out_a_auxFunction)
{
modelica_metatype _out_txt = NULL;
modelica_metatype _out_a_preExp = NULL;
modelica_metatype _out_a_varDecls = NULL;
modelica_metatype _out_a_auxFunction = NULL;
modelica_metatype tmpMeta[5] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_metatype tmp4_2;modelica_metatype tmp4_3;modelica_metatype tmp4_4;modelica_metatype tmp4_5;modelica_metatype tmp4_6;modelica_metatype tmp4_7;
tmp4_1 = _in_txt;
tmp4_2 = _in_mArg;
tmp4_3 = _in_a_exp;
tmp4_4 = _in_a_context;
tmp4_5 = _in_a_preExp;
tmp4_6 = _in_a_varDecls;
tmp4_7 = _in_a_auxFunction;
{
modelica_metatype _txt = NULL;
modelica_metatype _a_exp = NULL;
modelica_metatype _a_context = NULL;
modelica_metatype _a_preExp = NULL;
modelica_metatype _a_varDecls = NULL;
modelica_metatype _a_auxFunction = NULL;
modelica_metatype _i_e = NULL;
modelica_string _i_string = NULL;
modelica_metatype _txt_0 = NULL;
volatile mmc_switch_type tmp4;
int tmp5;
tmp4 = 0;
for (; tmp4 < 36; tmp4++) {
switch (MMC_SWITCH_CAST(tmp4)) {
case 0: {
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,0,1) == 0) goto tmp3_end;
_txt = tmp4_1;
_a_exp = tmp4_3;
_a_preExp = tmp4_5;
_a_varDecls = tmp4_6;
_a_auxFunction = tmp4_7;
_txt = omc_CodegenCFunctions_daeExpSimpleLiteral(threadData, _txt, _a_exp);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_preExp;
tmpMeta[0+2] = _a_varDecls;
tmpMeta[0+3] = _a_auxFunction;
goto tmp3_done;
}
case 1: {
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,1,1) == 0) goto tmp3_end;
_txt = tmp4_1;
_a_exp = tmp4_3;
_a_preExp = tmp4_5;
_a_varDecls = tmp4_6;
_a_auxFunction = tmp4_7;
_txt = omc_CodegenCFunctions_daeExpSimpleLiteral(threadData, _txt, _a_exp);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_preExp;
tmpMeta[0+2] = _a_varDecls;
tmpMeta[0+3] = _a_auxFunction;
goto tmp3_done;
}
case 2: {
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,3,1) == 0) goto tmp3_end;
_txt = tmp4_1;
_a_exp = tmp4_3;
_a_preExp = tmp4_5;
_a_varDecls = tmp4_6;
_a_auxFunction = tmp4_7;
_txt = omc_CodegenCFunctions_daeExpSimpleLiteral(threadData, _txt, _a_exp);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_preExp;
tmpMeta[0+2] = _a_varDecls;
tmpMeta[0+3] = _a_auxFunction;
goto tmp3_done;
}
case 3: {
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,5,2) == 0) goto tmp3_end;
_txt = tmp4_1;
_a_exp = tmp4_3;
_a_preExp = tmp4_5;
_a_varDecls = tmp4_6;
_a_auxFunction = tmp4_7;
_txt = omc_CodegenCFunctions_daeExpSimpleLiteral(threadData, _txt, _a_exp);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_preExp;
tmpMeta[0+2] = _a_varDecls;
tmpMeta[0+3] = _a_auxFunction;
goto tmp3_done;
}
case 4: {
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,2,1) == 0) goto tmp3_end;
tmpMeta[4] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
_i_string = tmpMeta[4];
_txt = tmp4_1;
_a_preExp = tmp4_5;
_a_varDecls = tmp4_6;
_a_auxFunction = tmp4_7;
_txt = omc_CodegenCFunctions_daeExpSconst(threadData, _txt, _i_string, _a_preExp, _a_varDecls ,&_a_preExp ,&_a_varDecls);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_preExp;
tmpMeta[0+2] = _a_varDecls;
tmpMeta[0+3] = _a_auxFunction;
goto tmp3_done;
}
case 5: {
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,6,2) == 0) goto tmp3_end;
_i_e = tmp4_2;
_txt = tmp4_1;
_a_context = tmp4_4;
_a_preExp = tmp4_5;
_a_varDecls = tmp4_6;
_a_auxFunction = tmp4_7;
tmpMeta[0+0] = omc_CodegenCFunctions_daeExpCrefRhs(threadData, _txt, _i_e, _a_context, _a_preExp, _a_varDecls, _a_auxFunction, &tmpMeta[0+1], &tmpMeta[0+2], &tmpMeta[0+3]);
goto tmp3_done;
}
case 6: {
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,7,3) == 0) goto tmp3_end;
_i_e = tmp4_2;
_txt = tmp4_1;
_a_context = tmp4_4;
_a_preExp = tmp4_5;
_a_varDecls = tmp4_6;
_a_auxFunction = tmp4_7;
tmpMeta[0+0] = omc_CodegenCFunctions_daeExpBinary(threadData, _txt, _i_e, _a_context, _a_preExp, _a_varDecls, _a_auxFunction, &tmpMeta[0+1], &tmpMeta[0+2], &tmpMeta[0+3]);
goto tmp3_done;
}
case 7: {
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,8,2) == 0) goto tmp3_end;
_i_e = tmp4_2;
_txt = tmp4_1;
_a_context = tmp4_4;
_a_preExp = tmp4_5;
_a_varDecls = tmp4_6;
_a_auxFunction = tmp4_7;
tmpMeta[0+0] = omc_CodegenCFunctions_daeExpUnary(threadData, _txt, _i_e, _a_context, _a_preExp, _a_varDecls, _a_auxFunction, &tmpMeta[0+1], &tmpMeta[0+2], &tmpMeta[0+3]);
goto tmp3_done;
}
case 8: {
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,9,3) == 0) goto tmp3_end;
_i_e = tmp4_2;
_txt = tmp4_1;
_a_context = tmp4_4;
_a_preExp = tmp4_5;
_a_varDecls = tmp4_6;
_a_auxFunction = tmp4_7;
tmpMeta[0+0] = omc_CodegenCFunctions_daeExpLbinary(threadData, _txt, _i_e, _a_context, _a_preExp, _a_varDecls, _a_auxFunction, &tmpMeta[0+1], &tmpMeta[0+2], &tmpMeta[0+3]);
goto tmp3_done;
}
case 9: {
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,10,2) == 0) goto tmp3_end;
_i_e = tmp4_2;
_txt = tmp4_1;
_a_context = tmp4_4;
_a_preExp = tmp4_5;
_a_varDecls = tmp4_6;
_a_auxFunction = tmp4_7;
tmpMeta[0+0] = omc_CodegenCFunctions_daeExpLunary(threadData, _txt, _i_e, _a_context, _a_preExp, _a_varDecls, _a_auxFunction, &tmpMeta[0+1], &tmpMeta[0+2], &tmpMeta[0+3]);
goto tmp3_done;
}
case 10: {
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,11,5) == 0) goto tmp3_end;
_i_e = tmp4_2;
_txt = tmp4_1;
_a_context = tmp4_4;
_a_preExp = tmp4_5;
_a_varDecls = tmp4_6;
_a_auxFunction = tmp4_7;
tmpMeta[0+0] = omc_CodegenCFunctions_daeExpRelation(threadData, _txt, _i_e, _a_context, _a_preExp, _a_varDecls, _a_auxFunction, &tmpMeta[0+1], &tmpMeta[0+2], &tmpMeta[0+3]);
goto tmp3_done;
}
case 11: {
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,12,3) == 0) goto tmp3_end;
_i_e = tmp4_2;
_txt = tmp4_1;
_a_context = tmp4_4;
_a_preExp = tmp4_5;
_a_varDecls = tmp4_6;
_a_auxFunction = tmp4_7;
tmpMeta[0+0] = omc_CodegenCFunctions_daeExpIf(threadData, _txt, _i_e, _a_context, _a_preExp, _a_varDecls, _a_auxFunction, &tmpMeta[0+1], &tmpMeta[0+2], &tmpMeta[0+3]);
goto tmp3_done;
}
case 12: {
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,13,3) == 0) goto tmp3_end;
_i_e = tmp4_2;
_txt = tmp4_1;
_a_context = tmp4_4;
_a_preExp = tmp4_5;
_a_varDecls = tmp4_6;
_a_auxFunction = tmp4_7;
tmpMeta[0+0] = omc_CodegenCFunctions_daeExpCall(threadData, _txt, _i_e, _a_context, _a_preExp, _a_varDecls, _a_auxFunction, &tmpMeta[0+1], &tmpMeta[0+2], &tmpMeta[0+3]);
goto tmp3_done;
}
case 13: {
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,14,4) == 0) goto tmp3_end;
_i_e = tmp4_2;
_txt = tmp4_1;
_a_context = tmp4_4;
_a_preExp = tmp4_5;
_a_varDecls = tmp4_6;
_a_auxFunction = tmp4_7;
tmpMeta[0+0] = omc_CodegenCFunctions_daeExpRecord(threadData, _txt, _i_e, _a_context, _a_preExp, _a_varDecls, _a_auxFunction, &tmpMeta[0+1], &tmpMeta[0+2], &tmpMeta[0+3]);
goto tmp3_done;
}
case 14: {
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,15,4) == 0) goto tmp3_end;
_i_e = tmp4_2;
_txt = tmp4_1;
_a_context = tmp4_4;
_a_preExp = tmp4_5;
_a_varDecls = tmp4_6;
_a_auxFunction = tmp4_7;
tmpMeta[0+0] = omc_CodegenCFunctions_daeExpPartEvalFunction(threadData, _txt, _i_e, _a_context, _a_preExp, _a_varDecls, _a_auxFunction, &tmpMeta[0+1], &tmpMeta[0+2], &tmpMeta[0+3]);
goto tmp3_done;
}
case 15: {
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,16,3) == 0) goto tmp3_end;
_i_e = tmp4_2;
_txt = tmp4_1;
_a_context = tmp4_4;
_a_preExp = tmp4_5;
_a_varDecls = tmp4_6;
_a_auxFunction = tmp4_7;
tmpMeta[0+0] = omc_CodegenCFunctions_daeExpArray(threadData, _txt, _i_e, _a_context, _a_preExp, _a_varDecls, _a_auxFunction, &tmpMeta[0+1], &tmpMeta[0+2], &tmpMeta[0+3]);
goto tmp3_done;
}
case 16: {
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,17,3) == 0) goto tmp3_end;
_i_e = tmp4_2;
_txt = tmp4_1;
_a_context = tmp4_4;
_a_preExp = tmp4_5;
_a_varDecls = tmp4_6;
_a_auxFunction = tmp4_7;
tmpMeta[0+0] = omc_CodegenCFunctions_daeExpMatrix(threadData, _txt, _i_e, _a_context, _a_preExp, _a_varDecls, _a_auxFunction, &tmpMeta[0+1], &tmpMeta[0+2], &tmpMeta[0+3]);
goto tmp3_done;
}
case 17: {
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,18,4) == 0) goto tmp3_end;
_i_e = tmp4_2;
_txt = tmp4_1;
_a_context = tmp4_4;
_a_preExp = tmp4_5;
_a_varDecls = tmp4_6;
_a_auxFunction = tmp4_7;
tmpMeta[0+0] = omc_CodegenCFunctions_daeExpRange(threadData, _txt, _i_e, _a_context, _a_preExp, _a_varDecls, _a_auxFunction, &tmpMeta[0+1], &tmpMeta[0+2], &tmpMeta[0+3]);
goto tmp3_done;
}
case 18: {
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,20,2) == 0) goto tmp3_end;
_i_e = tmp4_2;
_txt = tmp4_1;
_a_context = tmp4_4;
_a_preExp = tmp4_5;
_a_varDecls = tmp4_6;
_a_auxFunction = tmp4_7;
tmpMeta[0+0] = omc_CodegenCFunctions_daeExpCast(threadData, _txt, _i_e, _a_context, _a_preExp, _a_varDecls, _a_auxFunction, &tmpMeta[0+1], &tmpMeta[0+2], &tmpMeta[0+3]);
goto tmp3_done;
}
case 19: {
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,21,2) == 0) goto tmp3_end;
_i_e = tmp4_2;
_txt = tmp4_1;
_a_context = tmp4_4;
_a_preExp = tmp4_5;
_a_varDecls = tmp4_6;
_a_auxFunction = tmp4_7;
tmpMeta[0+0] = omc_CodegenCFunctions_daeExpAsub(threadData, _txt, _i_e, _a_context, _a_preExp, _a_varDecls, _a_auxFunction, &tmpMeta[0+1], &tmpMeta[0+2], &tmpMeta[0+3]);
goto tmp3_done;
}
case 20: {
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,22,3) == 0) goto tmp3_end;
_i_e = tmp4_2;
_txt = tmp4_1;
_a_context = tmp4_4;
_a_preExp = tmp4_5;
_a_varDecls = tmp4_6;
_a_auxFunction = tmp4_7;
tmpMeta[0+0] = omc_CodegenCFunctions_daeExpTsub(threadData, _txt, _i_e, _a_context, _a_preExp, _a_varDecls, _a_auxFunction, &tmpMeta[0+1], &tmpMeta[0+2], &tmpMeta[0+3]);
goto tmp3_done;
}
case 21: {
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,23,4) == 0) goto tmp3_end;
_i_e = tmp4_2;
_txt = tmp4_1;
_a_context = tmp4_4;
_a_preExp = tmp4_5;
_a_varDecls = tmp4_6;
_a_auxFunction = tmp4_7;
tmpMeta[0+0] = omc_CodegenCFunctions_daeExpRsub(threadData, _txt, _i_e, _a_context, _a_preExp, _a_varDecls, _a_auxFunction, &tmpMeta[0+1], &tmpMeta[0+2], &tmpMeta[0+3]);
goto tmp3_done;
}
case 22: {
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,24,2) == 0) goto tmp3_end;
_i_e = tmp4_2;
_txt = tmp4_1;
_a_context = tmp4_4;
_a_preExp = tmp4_5;
_a_varDecls = tmp4_6;
_a_auxFunction = tmp4_7;
tmpMeta[0+0] = omc_CodegenCFunctions_daeExpSize(threadData, _txt, _i_e, _a_context, _a_preExp, _a_varDecls, _a_auxFunction, &tmpMeta[0+1], &tmpMeta[0+2], &tmpMeta[0+3]);
goto tmp3_done;
}
case 23: {
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,27,3) == 0) goto tmp3_end;
_i_e = tmp4_2;
_txt = tmp4_1;
_a_context = tmp4_4;
_a_preExp = tmp4_5;
_a_varDecls = tmp4_6;
_a_auxFunction = tmp4_7;
tmpMeta[0+0] = omc_CodegenCFunctions_daeExpReduction(threadData, _txt, _i_e, _a_context, _a_preExp, _a_varDecls, _a_auxFunction, &tmpMeta[0+1], &tmpMeta[0+2], &tmpMeta[0+3]);
goto tmp3_done;
}
case 24: {
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,19,1) == 0) goto tmp3_end;
_i_e = tmp4_2;
_txt = tmp4_1;
_a_context = tmp4_4;
_a_preExp = tmp4_5;
_a_varDecls = tmp4_6;
_a_auxFunction = tmp4_7;
tmpMeta[0+0] = omc_CodegenCFunctions_daeExpTuple(threadData, _txt, _i_e, _a_context, _a_preExp, _a_varDecls, _a_auxFunction, &tmpMeta[0+1], &tmpMeta[0+2], &tmpMeta[0+3]);
goto tmp3_done;
}
case 25: {
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,28,1) == 0) goto tmp3_end;
_i_e = tmp4_2;
_txt = tmp4_1;
_a_context = tmp4_4;
_a_preExp = tmp4_5;
_a_varDecls = tmp4_6;
_a_auxFunction = tmp4_7;
tmpMeta[0+0] = omc_CodegenCFunctions_daeExpList(threadData, _txt, _i_e, _a_context, _a_preExp, _a_varDecls, _a_auxFunction, &tmpMeta[0+1], &tmpMeta[0+2], &tmpMeta[0+3]);
goto tmp3_done;
}
case 26: {
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,29,2) == 0) goto tmp3_end;
_i_e = tmp4_2;
_txt = tmp4_1;
_a_context = tmp4_4;
_a_preExp = tmp4_5;
_a_varDecls = tmp4_6;
_a_auxFunction = tmp4_7;
tmpMeta[0+0] = omc_CodegenCFunctions_daeExpCons(threadData, _txt, _i_e, _a_context, _a_preExp, _a_varDecls, _a_auxFunction, &tmpMeta[0+1], &tmpMeta[0+2], &tmpMeta[0+3]);
goto tmp3_done;
}
case 27: {
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,30,1) == 0) goto tmp3_end;
_i_e = tmp4_2;
_txt = tmp4_1;
_a_context = tmp4_4;
_a_preExp = tmp4_5;
_a_varDecls = tmp4_6;
_a_auxFunction = tmp4_7;
tmpMeta[0+0] = omc_CodegenCFunctions_daeExpMetaTuple(threadData, _txt, _i_e, _a_context, _a_preExp, _a_varDecls, _a_auxFunction, &tmpMeta[0+1], &tmpMeta[0+2], &tmpMeta[0+3]);
goto tmp3_done;
}
case 28: {
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,31,1) == 0) goto tmp3_end;
_i_e = tmp4_2;
_txt = tmp4_1;
_a_context = tmp4_4;
_a_preExp = tmp4_5;
_a_varDecls = tmp4_6;
_a_auxFunction = tmp4_7;
tmpMeta[0+0] = omc_CodegenCFunctions_daeExpMetaOption(threadData, _txt, _i_e, _a_context, _a_preExp, _a_varDecls, _a_auxFunction, &tmpMeta[0+1], &tmpMeta[0+2], &tmpMeta[0+3]);
goto tmp3_done;
}
case 29: {
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,32,5) == 0) goto tmp3_end;
_i_e = tmp4_2;
_txt = tmp4_1;
_a_context = tmp4_4;
_a_preExp = tmp4_5;
_a_varDecls = tmp4_6;
_a_auxFunction = tmp4_7;
tmpMeta[0+0] = omc_CodegenCFunctions_daeExpMetarecordcall(threadData, _txt, _i_e, _a_context, _a_preExp, _a_varDecls, _a_auxFunction, &tmpMeta[0+1], &tmpMeta[0+2], &tmpMeta[0+3]);
goto tmp3_done;
}
case 30: {
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,33,6) == 0) goto tmp3_end;
_i_e = tmp4_2;
_txt = tmp4_1;
_a_context = tmp4_4;
_a_preExp = tmp4_5;
_a_varDecls = tmp4_6;
_a_auxFunction = tmp4_7;
tmpMeta[0+0] = omc_CodegenCFunctions_daeExpMatch(threadData, _txt, _i_e, _a_context, _a_preExp, _a_varDecls, _a_auxFunction, &tmpMeta[0+1], &tmpMeta[0+2], &tmpMeta[0+3]);
goto tmp3_done;
}
case 31: {
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,34,1) == 0) goto tmp3_end;
_i_e = tmp4_2;
_txt = tmp4_1;
_a_context = tmp4_4;
_a_preExp = tmp4_5;
_a_varDecls = tmp4_6;
_a_auxFunction = tmp4_7;
tmpMeta[0+0] = omc_CodegenCFunctions_daeExpBox(threadData, _txt, _i_e, _a_context, _a_preExp, _a_varDecls, _a_auxFunction, &tmpMeta[0+1], &tmpMeta[0+2], &tmpMeta[0+3]);
goto tmp3_done;
}
case 32: {
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,35,2) == 0) goto tmp3_end;
_i_e = tmp4_2;
_txt = tmp4_1;
_a_context = tmp4_4;
_a_preExp = tmp4_5;
_a_varDecls = tmp4_6;
_a_auxFunction = tmp4_7;
tmpMeta[0+0] = omc_CodegenCFunctions_daeExpUnbox(threadData, _txt, _i_e, _a_context, _a_preExp, _a_varDecls, _a_auxFunction, &tmpMeta[0+1], &tmpMeta[0+2], &tmpMeta[0+3]);
goto tmp3_done;
}
case 33: {
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,36,2) == 0) goto tmp3_end;
_i_e = tmp4_2;
_txt = tmp4_1;
_a_preExp = tmp4_5;
_a_varDecls = tmp4_6;
_a_auxFunction = tmp4_7;
_txt = omc_CodegenCFunctions_daeExpSharedLiteral(threadData, _txt, _i_e);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_preExp;
tmpMeta[0+2] = _a_varDecls;
tmpMeta[0+3] = _a_auxFunction;
goto tmp3_done;
}
case 34: {
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,4,1) == 0) goto tmp3_end;
_i_e = tmp4_2;
_txt = tmp4_1;
_a_preExp = tmp4_5;
_a_varDecls = tmp4_6;
_a_auxFunction = tmp4_7;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1367);
_txt = omc_ExpressionDumpTpl_dumpExp(threadData, _txt, _i_e, _OMC_LIT231);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT917);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_preExp;
tmpMeta[0+2] = _a_varDecls;
tmpMeta[0+3] = _a_auxFunction;
goto tmp3_done;
}
case 35: {
_txt = tmp4_1;
_a_exp = tmp4_3;
_a_preExp = tmp4_5;
_a_varDecls = tmp4_6;
_a_auxFunction = tmp4_7;
_txt_0 = omc_Tpl_writeTok(threadData, _OMC_LIT20, _OMC_LIT1369);
_txt_0 = omc_ExpressionDumpTpl_dumpExp(threadData, _txt_0, _a_exp, _OMC_LIT231);
_txt = omc_CodegenUtil_error(threadData, _txt, omc_Tpl_sourceInfo(threadData, _OMC_LIT27, ((modelica_integer) 4904), ((modelica_integer) 14)), omc_Tpl_textString(threadData, _txt_0));
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_preExp;
tmpMeta[0+2] = _a_varDecls;
tmpMeta[0+3] = _a_auxFunction;
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta[0+0];
_out_a_preExp = tmpMeta[0+1];
_out_a_varDecls = tmpMeta[0+2];
_out_a_auxFunction = tmpMeta[0+3];
_return: OMC_LABEL_UNUSED
if (out_out_a_preExp) { *out_out_a_preExp = _out_a_preExp; }
if (out_out_a_varDecls) { *out_out_a_varDecls = _out_a_varDecls; }
if (out_out_a_auxFunction) { *out_out_a_auxFunction = _out_a_auxFunction; }
return _out_txt;
}
DLLExport
modelica_metatype omc_CodegenCFunctions_getTempDeclMatchOutputName(threadData_t *threadData, modelica_metatype _txt, modelica_metatype _a_outputs, modelica_string _a_prefix, modelica_string _a_startIndex, modelica_integer _a_index)
{
modelica_metatype _out_txt = NULL;
modelica_string _str_3 = NULL;
modelica_metatype _l_newVar = NULL;
modelica_metatype _ret_1 = NULL;
modelica_metatype _l_typ = NULL;
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
_ret_1 = listGet(_a_outputs, _a_index);
_l_typ = omc_CodegenCFunctions_expTypeFromExpModelica(threadData, _OMC_LIT20, _ret_1);
_str_3 = omc_Tpl_textString(threadData, _l_typ);
_l_newVar = omc_CodegenCFunctions_fun__736(threadData, _OMC_LIT20, _str_3, _a_prefix, _a_index, _a_startIndex);
_out_txt = omc_Tpl_writeText(threadData, _txt, _l_newVar);
_return: OMC_LABEL_UNUSED
return _out_txt;
}
modelica_metatype boxptr_CodegenCFunctions_getTempDeclMatchOutputName(threadData_t *threadData, modelica_metatype _txt, modelica_metatype _a_outputs, modelica_metatype _a_prefix, modelica_metatype _a_startIndex, modelica_metatype _a_index)
{
modelica_integer tmp1;
modelica_metatype _out_txt = NULL;
tmp1 = mmc_unbox_integer(_a_index);
_out_txt = omc_CodegenCFunctions_getTempDeclMatchOutputName(threadData, _txt, _a_outputs, _a_prefix, _a_startIndex, tmp1);
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__736(threadData_t *threadData, modelica_metatype _in_txt, modelica_string _in_mArg, modelica_string _in_a_prefix, modelica_integer _in_a_index, modelica_string _in_a_startIndex)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta[1] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp3_1;modelica_string tmp3_2;modelica_string tmp3_3;modelica_integer tmp3_4;modelica_string tmp3_5;
tmp3_1 = _in_txt;
tmp3_2 = _in_mArg;
tmp3_3 = _in_a_prefix;
tmp3_4 = _in_a_index;
tmp3_5 = _in_a_startIndex;
{
modelica_metatype _txt = NULL;
modelica_string _a_prefix = NULL;
modelica_integer _a_index;
modelica_string _a_startIndex = NULL;
modelica_integer _ret_4;
modelica_metatype _l_newVarIx = NULL;
modelica_integer _ret_2;
modelica_integer _ret_1;
modelica_integer _ret_0;
volatile mmc_switch_type tmp3;
int tmp4;
tmp3 = 0;
for (; tmp3 < 4; tmp3++) {
switch (MMC_SWITCH_CAST(tmp3)) {
case 0: {
if (17 != MMC_STRLEN(tmp3_2) || strcmp(MMC_STRINGDATA(_OMC_LIT311), MMC_STRINGDATA(tmp3_2)) != 0) goto tmp2_end;
_txt = tmp3_1;
_a_index = tmp3_4;
_a_startIndex = tmp3_5;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1371);
_txt = omc_Tpl_writeStr(threadData, _txt, _a_startIndex);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT332);
_ret_0 = ((modelica_integer) -1) + _a_index;
_txt = omc_Tpl_writeStr(threadData, _txt, intString(_ret_0));
tmpMeta[0] = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT46);
goto tmp2_done;
}
case 1: {
if (19 != MMC_STRLEN(tmp3_2) || strcmp(MMC_STRINGDATA(_OMC_LIT1374), MMC_STRINGDATA(tmp3_2)) != 0) goto tmp2_end;
_txt = tmp3_1;
_a_index = tmp3_4;
_a_startIndex = tmp3_5;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1371);
_txt = omc_Tpl_writeStr(threadData, _txt, _a_startIndex);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT332);
_ret_1 = ((modelica_integer) -1) + _a_index;
_txt = omc_Tpl_writeStr(threadData, _txt, intString(_ret_1));
tmpMeta[0] = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT46);
goto tmp2_done;
}
case 2: {
if (25 != MMC_STRLEN(tmp3_2) || strcmp(MMC_STRINGDATA(_OMC_LIT1375), MMC_STRINGDATA(tmp3_2)) != 0) goto tmp2_end;
_txt = tmp3_1;
_a_index = tmp3_4;
_a_startIndex = tmp3_5;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1371);
_txt = omc_Tpl_writeStr(threadData, _txt, _a_startIndex);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT332);
_ret_2 = ((modelica_integer) -1) + _a_index;
_txt = omc_Tpl_writeStr(threadData, _txt, intString(_ret_2));
tmpMeta[0] = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT46);
goto tmp2_done;
}
case 3: {
_txt = tmp3_1;
_a_prefix = tmp3_3;
_a_index = tmp3_4;
_l_newVarIx = omc_Tpl_writeStr(threadData, _OMC_LIT20, _a_prefix);
_l_newVarIx = omc_Tpl_writeTok(threadData, _l_newVarIx, _OMC_LIT1373);
_ret_4 = ((modelica_integer) -1) + _a_index;
_l_newVarIx = omc_Tpl_writeStr(threadData, _l_newVarIx, intString(_ret_4));
tmpMeta[0] = omc_Tpl_writeText(threadData, _txt, _l_newVarIx);
goto tmp2_done;
}
}
goto tmp2_end;
tmp2_end: ;
}
goto goto_1;
goto_1:;
MMC_THROW_INTERNAL();
goto tmp2_done;
tmp2_done:;
}
}
_out_txt = tmpMeta[0];
_return: OMC_LABEL_UNUSED
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__736(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_mArg, modelica_metatype _in_a_prefix, modelica_metatype _in_a_index, modelica_metatype _in_a_startIndex)
{
modelica_integer tmp1;
modelica_metatype _out_txt = NULL;
tmp1 = mmc_unbox_integer(_in_a_index);
_out_txt = omc_CodegenCFunctions_fun__736(threadData, _in_txt, _in_mArg, _in_a_prefix, tmp1, _in_a_startIndex);
return _out_txt;
}
DLLExport
modelica_metatype omc_CodegenCFunctions_tempDeclMatchOutput(threadData_t *threadData, modelica_metatype _txt, modelica_string _a_ty, modelica_string _a_prefix, modelica_string _a_startIndex, modelica_string _a_index, modelica_metatype _a_varDecls, modelica_metatype *out_out_a_varDecls)
{
modelica_metatype _out_txt = NULL;
modelica_metatype _out_a_varDecls = NULL;
modelica_metatype _l_newVar = NULL;
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
_l_newVar = omc_CodegenCFunctions_fun__734(threadData, _OMC_LIT20, _a_ty, _a_varDecls, _a_prefix, _a_index, _a_startIndex ,&_out_a_varDecls);
_out_txt = omc_Tpl_writeText(threadData, _txt, _l_newVar);
_return: OMC_LABEL_UNUSED
if (out_out_a_varDecls) { *out_out_a_varDecls = _out_a_varDecls; }
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__734(threadData_t *threadData, modelica_metatype _in_txt, modelica_string _in_a_ty, modelica_metatype _in_a_varDecls, modelica_string _in_a_prefix, modelica_string _in_a_index, modelica_string _in_a_startIndex, modelica_metatype *out_out_a_varDecls)
{
modelica_metatype _out_txt = NULL;
modelica_metatype _out_a_varDecls = NULL;
modelica_metatype tmpMeta[2] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_string tmp4_2;modelica_metatype tmp4_3;modelica_string tmp4_4;modelica_string tmp4_5;modelica_string tmp4_6;
tmp4_1 = _in_txt;
tmp4_2 = _in_a_ty;
tmp4_3 = _in_a_varDecls;
tmp4_4 = _in_a_prefix;
tmp4_5 = _in_a_index;
tmp4_6 = _in_a_startIndex;
{
modelica_metatype _txt = NULL;
modelica_metatype _a_varDecls = NULL;
modelica_string _a_prefix = NULL;
modelica_string _a_index = NULL;
modelica_string _a_startIndex = NULL;
modelica_string _i_ty = NULL;
modelica_metatype _l_newVarIx = NULL;
volatile mmc_switch_type tmp4;
int tmp5;
tmp4 = 0;
for (; tmp4 < 4; tmp4++) {
switch (MMC_SWITCH_CAST(tmp4)) {
case 0: {
if (17 != MMC_STRLEN(tmp4_2) || strcmp(MMC_STRINGDATA(_OMC_LIT311), MMC_STRINGDATA(tmp4_2)) != 0) goto tmp3_end;
_txt = tmp4_1;
_a_varDecls = tmp4_3;
_a_index = tmp4_5;
_a_startIndex = tmp4_6;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1371);
_txt = omc_Tpl_writeStr(threadData, _txt, _a_startIndex);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT332);
_txt = omc_Tpl_writeStr(threadData, _txt, _a_index);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT46);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_varDecls;
goto tmp3_done;
}
case 1: {
if (19 != MMC_STRLEN(tmp4_2) || strcmp(MMC_STRINGDATA(_OMC_LIT1374), MMC_STRINGDATA(tmp4_2)) != 0) goto tmp3_end;
_txt = tmp4_1;
_a_varDecls = tmp4_3;
_a_index = tmp4_5;
_a_startIndex = tmp4_6;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1371);
_txt = omc_Tpl_writeStr(threadData, _txt, _a_startIndex);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT332);
_txt = omc_Tpl_writeStr(threadData, _txt, _a_index);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT46);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_varDecls;
goto tmp3_done;
}
case 2: {
if (25 != MMC_STRLEN(tmp4_2) || strcmp(MMC_STRINGDATA(_OMC_LIT1375), MMC_STRINGDATA(tmp4_2)) != 0) goto tmp3_end;
_txt = tmp4_1;
_a_varDecls = tmp4_3;
_a_index = tmp4_5;
_a_startIndex = tmp4_6;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1371);
_txt = omc_Tpl_writeStr(threadData, _txt, _a_startIndex);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT332);
_txt = omc_Tpl_writeStr(threadData, _txt, _a_index);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT46);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_varDecls;
goto tmp3_done;
}
case 3: {
_txt = tmp4_1;
_i_ty = tmp4_2;
_a_varDecls = tmp4_3;
_a_prefix = tmp4_4;
_a_index = tmp4_5;
_l_newVarIx = omc_Tpl_writeStr(threadData, _OMC_LIT20, _a_prefix);
_l_newVarIx = omc_Tpl_writeTok(threadData, _l_newVarIx, _OMC_LIT1373);
_l_newVarIx = omc_Tpl_writeStr(threadData, _l_newVarIx, _a_index);
_a_varDecls = omc_Tpl_writeStr(threadData, _a_varDecls, _i_ty);
_a_varDecls = omc_Tpl_writeTok(threadData, _a_varDecls, _OMC_LIT29);
_a_varDecls = omc_Tpl_writeText(threadData, _a_varDecls, _l_newVarIx);
_a_varDecls = omc_Tpl_writeTok(threadData, _a_varDecls, _OMC_LIT1377);
_a_varDecls = omc_Tpl_writeTok(threadData, _a_varDecls, _OMC_LIT89);
_txt = omc_Tpl_writeText(threadData, _txt, _l_newVarIx);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_varDecls;
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta[0+0];
_out_a_varDecls = tmpMeta[0+1];
_return: OMC_LABEL_UNUSED
if (out_out_a_varDecls) { *out_out_a_varDecls = _out_a_varDecls; }
return _out_txt;
}
DLLExport
modelica_metatype omc_CodegenCFunctions_getTempDeclMatchInputName(threadData_t *threadData, modelica_metatype _txt, modelica_string _a_startIndex, modelica_integer _a_index)
{
modelica_metatype _out_txt = NULL;
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
_out_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT138);
_out_txt = omc_Tpl_writeStr(threadData, _out_txt, _a_startIndex);
_out_txt = omc_Tpl_writeTok(threadData, _out_txt, _OMC_LIT236);
_out_txt = omc_Tpl_writeStr(threadData, _out_txt, intString(_a_index));
_return: OMC_LABEL_UNUSED
return _out_txt;
}
modelica_metatype boxptr_CodegenCFunctions_getTempDeclMatchInputName(threadData_t *threadData, modelica_metatype _txt, modelica_metatype _a_startIndex, modelica_metatype _a_index)
{
modelica_integer tmp1;
modelica_metatype _out_txt = NULL;
tmp1 = mmc_unbox_integer(_a_index);
_out_txt = omc_CodegenCFunctions_getTempDeclMatchInputName(threadData, _txt, _a_startIndex, tmp1);
return _out_txt;
}
DLLExport
modelica_metatype omc_CodegenCFunctions_tempDeclMatchInput(threadData_t *threadData, modelica_metatype _txt, modelica_metatype _a_matchTy, modelica_string _a_ty, modelica_string _a_startIndex, modelica_string _a_index, modelica_metatype _a_varDecls, modelica_metatype *out_out_a_varDecls)
{
modelica_metatype _out_txt = NULL;
modelica_metatype _out_a_varDecls = NULL;
modelica_metatype _l_ix = NULL;
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
_l_ix = omc_Tpl_writeTok(threadData, _OMC_LIT20, _OMC_LIT138);
_l_ix = omc_Tpl_writeStr(threadData, _l_ix, _a_startIndex);
_l_ix = omc_Tpl_writeTok(threadData, _l_ix, _OMC_LIT236);
_l_ix = omc_Tpl_writeStr(threadData, _l_ix, _a_index);
_out_a_varDecls = omc_CodegenCFunctions_fun__731(threadData, _a_varDecls, _a_matchTy);
_out_a_varDecls = omc_Tpl_writeStr(threadData, _out_a_varDecls, _a_ty);
_out_a_varDecls = omc_Tpl_writeTok(threadData, _out_a_varDecls, _OMC_LIT29);
_out_a_varDecls = omc_Tpl_writeText(threadData, _out_a_varDecls, _l_ix);
_out_a_varDecls = omc_Tpl_writeTok(threadData, _out_a_varDecls, _OMC_LIT105);
_out_txt = omc_Tpl_writeText(threadData, _txt, _l_ix);
_return: OMC_LABEL_UNUSED
if (out_out_a_varDecls) { *out_out_a_varDecls = _out_a_varDecls; }
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__731(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_matchTy)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta[1] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp3_1;modelica_metatype tmp3_2;
tmp3_1 = _in_txt;
tmp3_2 = _in_a_matchTy;
{
modelica_metatype _txt = NULL;
volatile mmc_switch_type tmp3;
int tmp4;
tmp3 = 0;
for (; tmp3 < 2; tmp3++) {
switch (MMC_SWITCH_CAST(tmp3)) {
case 0: {
if (mmc__uniontype__metarecord__typedef__equal(tmp3_2,0,0) == 0) goto tmp2_end;
_txt = tmp3_1;
tmpMeta[0] = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1379);
goto tmp2_done;
}
case 1: {
_txt = tmp3_1;
tmpMeta[0] = _txt;
goto tmp2_done;
}
}
goto tmp2_end;
tmp2_end: ;
}
goto goto_1;
goto_1:;
MMC_THROW_INTERNAL();
goto tmp2_done;
tmp2_done:;
}
}
_out_txt = tmpMeta[0];
_return: OMC_LABEL_UNUSED
return _out_txt;
}
DLLExport
modelica_metatype omc_CodegenCFunctions_tempDeclZero(threadData_t *threadData, modelica_metatype _txt, modelica_string _a_ty, modelica_metatype _a_varDecls, modelica_metatype *out_out_a_varDecls)
{
modelica_metatype _out_txt = NULL;
modelica_metatype _out_a_varDecls = NULL;
modelica_metatype _l_newVar = NULL;
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
_l_newVar = omc_CodegenCFunctions_fun__729(threadData, _OMC_LIT20, _a_ty, _a_varDecls ,&_out_a_varDecls);
_out_txt = omc_Tpl_writeText(threadData, _txt, _l_newVar);
_return: OMC_LABEL_UNUSED
if (out_out_a_varDecls) { *out_out_a_varDecls = _out_a_varDecls; }
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__729(threadData_t *threadData, modelica_metatype _in_txt, modelica_string _in_a_ty, modelica_metatype _in_a_varDecls, modelica_metatype *out_out_a_varDecls)
{
modelica_metatype _out_txt = NULL;
modelica_metatype _out_a_varDecls = NULL;
modelica_metatype tmpMeta[2] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_string tmp4_2;modelica_metatype tmp4_3;
tmp4_1 = _in_txt;
tmp4_2 = _in_a_ty;
tmp4_3 = _in_a_varDecls;
{
modelica_metatype _txt = NULL;
modelica_metatype _a_varDecls = NULL;
modelica_string _i_ty = NULL;
modelica_integer _ret_4;
modelica_metatype _l_newVarIx = NULL;
modelica_integer _ret_2;
modelica_integer _ret_1;
modelica_integer _ret_0;
volatile mmc_switch_type tmp4;
int tmp5;
tmp4 = 0;
for (; tmp4 < 4; tmp4++) {
switch (MMC_SWITCH_CAST(tmp4)) {
case 0: {
if (17 != MMC_STRLEN(tmp4_2) || strcmp(MMC_STRINGDATA(_OMC_LIT311), MMC_STRINGDATA(tmp4_2)) != 0) goto tmp3_end;
_txt = tmp4_1;
_a_varDecls = tmp4_3;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1371);
_ret_0 = omc_System_tmpTickIndex(threadData, ((modelica_integer) 1));
_txt = omc_Tpl_writeStr(threadData, _txt, intString(_ret_0));
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT46);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_varDecls;
goto tmp3_done;
}
case 1: {
if (19 != MMC_STRLEN(tmp4_2) || strcmp(MMC_STRINGDATA(_OMC_LIT1374), MMC_STRINGDATA(tmp4_2)) != 0) goto tmp3_end;
_txt = tmp4_1;
_a_varDecls = tmp4_3;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1371);
_ret_1 = omc_System_tmpTickIndex(threadData, ((modelica_integer) 1));
_txt = omc_Tpl_writeStr(threadData, _txt, intString(_ret_1));
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT46);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_varDecls;
goto tmp3_done;
}
case 2: {
if (25 != MMC_STRLEN(tmp4_2) || strcmp(MMC_STRINGDATA(_OMC_LIT1375), MMC_STRINGDATA(tmp4_2)) != 0) goto tmp3_end;
_txt = tmp4_1;
_a_varDecls = tmp4_3;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1371);
_ret_2 = omc_System_tmpTickIndex(threadData, ((modelica_integer) 1));
_txt = omc_Tpl_writeStr(threadData, _txt, intString(_ret_2));
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT46);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_varDecls;
goto tmp3_done;
}
case 3: {
_txt = tmp4_1;
_i_ty = tmp4_2;
_a_varDecls = tmp4_3;
_l_newVarIx = omc_Tpl_writeTok(threadData, _OMC_LIT20, _OMC_LIT138);
_ret_4 = omc_System_tmpTick(threadData);
_l_newVarIx = omc_Tpl_writeStr(threadData, _l_newVarIx, intString(_ret_4));
_a_varDecls = omc_Tpl_writeStr(threadData, _a_varDecls, _i_ty);
_a_varDecls = omc_Tpl_writeTok(threadData, _a_varDecls, _OMC_LIT29);
_a_varDecls = omc_Tpl_writeText(threadData, _a_varDecls, _l_newVarIx);
_a_varDecls = omc_Tpl_writeTok(threadData, _a_varDecls, _OMC_LIT273);
_a_varDecls = omc_Tpl_writeTok(threadData, _a_varDecls, _OMC_LIT89);
_txt = omc_Tpl_writeText(threadData, _txt, _l_newVarIx);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_varDecls;
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta[0+0];
_out_a_varDecls = tmpMeta[0+1];
_return: OMC_LABEL_UNUSED
if (out_out_a_varDecls) { *out_out_a_varDecls = _out_a_varDecls; }
return _out_txt;
}
DLLExport
modelica_metatype omc_CodegenCFunctions_tempDeclArray(threadData_t *threadData, modelica_metatype _txt, modelica_string _a_ty, modelica_metatype _a_len, modelica_metatype _a_elts, modelica_metatype _a_varDecls, modelica_metatype *out_out_a_len, modelica_metatype *out_out_a_elts, modelica_metatype *out_out_a_varDecls)
{
modelica_metatype _out_txt = NULL;
modelica_metatype _out_a_len = NULL;
modelica_metatype _out_a_elts = NULL;
modelica_metatype _out_a_varDecls = NULL;
modelica_integer _ret_1;
modelica_metatype _l_newVarIx = NULL;
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
_l_newVarIx = omc_Tpl_writeTok(threadData, _OMC_LIT20, _OMC_LIT138);
_ret_1 = omc_System_tmpTick(threadData);
_l_newVarIx = omc_Tpl_writeStr(threadData, _l_newVarIx, intString(_ret_1));
_out_a_varDecls = omc_Tpl_writeStr(threadData, _a_varDecls, _a_ty);
_out_a_varDecls = omc_Tpl_writeTok(threadData, _out_a_varDecls, _OMC_LIT29);
_out_a_varDecls = omc_Tpl_writeText(threadData, _out_a_varDecls, _l_newVarIx);
_out_a_varDecls = omc_Tpl_writeTok(threadData, _out_a_varDecls, _OMC_LIT62);
_out_a_varDecls = omc_Tpl_writeText(threadData, _out_a_varDecls, _a_len);
_out_a_varDecls = omc_Tpl_writeTok(threadData, _out_a_varDecls, _OMC_LIT1381);
_out_a_varDecls = omc_Tpl_writeText(threadData, _out_a_varDecls, _a_elts);
_out_a_varDecls = omc_Tpl_writeTok(threadData, _out_a_varDecls, _OMC_LIT1383);
_out_a_varDecls = omc_Tpl_writeTok(threadData, _out_a_varDecls, _OMC_LIT89);
_out_txt = omc_Tpl_writeText(threadData, _txt, _l_newVarIx);
_out_a_len = _a_len;
_out_a_elts = _a_elts;
_return: OMC_LABEL_UNUSED
if (out_out_a_len) { *out_out_a_len = _out_a_len; }
if (out_out_a_elts) { *out_out_a_elts = _out_a_elts; }
if (out_out_a_varDecls) { *out_out_a_varDecls = _out_a_varDecls; }
return _out_txt;
}
DLLExport
modelica_metatype omc_CodegenCFunctions_tempDecl(threadData_t *threadData, modelica_metatype _txt, modelica_string _a_ty, modelica_metatype _a_varDecls, modelica_metatype *out_out_a_varDecls)
{
modelica_metatype _out_txt = NULL;
modelica_metatype _out_a_varDecls = NULL;
modelica_metatype _l_newVar = NULL;
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
_l_newVar = omc_CodegenCFunctions_fun__726(threadData, _OMC_LIT20, _a_ty, _a_varDecls ,&_out_a_varDecls);
_out_txt = omc_Tpl_writeText(threadData, _txt, _l_newVar);
_return: OMC_LABEL_UNUSED
if (out_out_a_varDecls) { *out_out_a_varDecls = _out_a_varDecls; }
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__726(threadData_t *threadData, modelica_metatype _in_txt, modelica_string _in_a_ty, modelica_metatype _in_a_varDecls, modelica_metatype *out_out_a_varDecls)
{
modelica_metatype _out_txt = NULL;
modelica_metatype _out_a_varDecls = NULL;
modelica_metatype tmpMeta[2] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_string tmp4_2;modelica_metatype tmp4_3;
tmp4_1 = _in_txt;
tmp4_2 = _in_a_ty;
tmp4_3 = _in_a_varDecls;
{
modelica_metatype _txt = NULL;
modelica_metatype _a_varDecls = NULL;
modelica_string _i_ty = NULL;
modelica_integer _ret_4;
modelica_metatype _l_newVarIx = NULL;
modelica_integer _ret_2;
modelica_integer _ret_1;
modelica_integer _ret_0;
volatile mmc_switch_type tmp4;
int tmp5;
tmp4 = 0;
for (; tmp4 < 4; tmp4++) {
switch (MMC_SWITCH_CAST(tmp4)) {
case 0: {
if (17 != MMC_STRLEN(tmp4_2) || strcmp(MMC_STRINGDATA(_OMC_LIT311), MMC_STRINGDATA(tmp4_2)) != 0) goto tmp3_end;
_txt = tmp4_1;
_a_varDecls = tmp4_3;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1371);
_ret_0 = omc_System_tmpTickIndex(threadData, ((modelica_integer) 1));
_txt = omc_Tpl_writeStr(threadData, _txt, intString(_ret_0));
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT46);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_varDecls;
goto tmp3_done;
}
case 1: {
if (19 != MMC_STRLEN(tmp4_2) || strcmp(MMC_STRINGDATA(_OMC_LIT1374), MMC_STRINGDATA(tmp4_2)) != 0) goto tmp3_end;
_txt = tmp4_1;
_a_varDecls = tmp4_3;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1371);
_ret_1 = omc_System_tmpTickIndex(threadData, ((modelica_integer) 1));
_txt = omc_Tpl_writeStr(threadData, _txt, intString(_ret_1));
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT46);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_varDecls;
goto tmp3_done;
}
case 2: {
if (25 != MMC_STRLEN(tmp4_2) || strcmp(MMC_STRINGDATA(_OMC_LIT1375), MMC_STRINGDATA(tmp4_2)) != 0) goto tmp3_end;
_txt = tmp4_1;
_a_varDecls = tmp4_3;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1371);
_ret_2 = omc_System_tmpTickIndex(threadData, ((modelica_integer) 1));
_txt = omc_Tpl_writeStr(threadData, _txt, intString(_ret_2));
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT46);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_varDecls;
goto tmp3_done;
}
case 3: {
_txt = tmp4_1;
_i_ty = tmp4_2;
_a_varDecls = tmp4_3;
_l_newVarIx = omc_Tpl_writeTok(threadData, _OMC_LIT20, _OMC_LIT138);
_ret_4 = omc_System_tmpTick(threadData);
_l_newVarIx = omc_Tpl_writeStr(threadData, _l_newVarIx, intString(_ret_4));
_a_varDecls = omc_Tpl_writeStr(threadData, _a_varDecls, _i_ty);
_a_varDecls = omc_Tpl_writeTok(threadData, _a_varDecls, _OMC_LIT29);
_a_varDecls = omc_Tpl_writeText(threadData, _a_varDecls, _l_newVarIx);
_a_varDecls = omc_Tpl_writeTok(threadData, _a_varDecls, _OMC_LIT105);
_a_varDecls = omc_Tpl_writeTok(threadData, _a_varDecls, _OMC_LIT89);
_txt = omc_Tpl_writeText(threadData, _txt, _l_newVarIx);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_varDecls;
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta[0+0];
_out_a_varDecls = tmpMeta[0+1];
_return: OMC_LABEL_UNUSED
if (out_out_a_varDecls) { *out_out_a_varDecls = _out_a_varDecls; }
return _out_txt;
}
DLLExport
modelica_metatype omc_CodegenCFunctions_endModelicaLine(threadData_t *threadData, modelica_metatype _txt)
{
modelica_metatype _out_txt = NULL;
modelica_boolean _ret_2;
modelica_boolean _ret_1;
modelica_boolean _ret_0;
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
_ret_0 = omc_Config_acceptMetaModelicaGrammar(threadData);
_ret_1 = omc_Flags_isSet(threadData, _OMC_LIT1387);
_ret_2 = (_ret_0 || _ret_1);
_out_txt = omc_CodegenCFunctions_fun__724(threadData, _txt, _ret_2);
_return: OMC_LABEL_UNUSED
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__724(threadData_t *threadData, modelica_metatype _in_txt, modelica_boolean _in_mArg)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta[1] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp3_1;modelica_boolean tmp3_2;
tmp3_1 = _in_txt;
tmp3_2 = _in_mArg;
{
modelica_metatype _txt = NULL;
volatile mmc_switch_type tmp3;
int tmp4;
tmp3 = 0;
for (; tmp3 < 2; tmp3++) {
switch (MMC_SWITCH_CAST(tmp3)) {
case 0: {
if (0 != tmp3_2) goto tmp2_end;
_txt = tmp3_1;
tmpMeta[0] = _txt;
goto tmp2_done;
}
case 1: {
_txt = tmp3_1;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1389);
tmpMeta[0] = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT89);
goto tmp2_done;
}
}
goto tmp2_end;
tmp2_end: ;
}
goto goto_1;
goto_1:;
MMC_THROW_INTERNAL();
goto tmp2_done;
tmp2_done:;
}
}
_out_txt = tmpMeta[0];
_return: OMC_LABEL_UNUSED
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__724(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_mArg)
{
modelica_integer tmp1;
modelica_metatype _out_txt = NULL;
tmp1 = mmc_unbox_integer(_in_mArg);
_out_txt = omc_CodegenCFunctions_fun__724(threadData, _in_txt, tmp1);
return _out_txt;
}
DLLExport
modelica_metatype omc_CodegenCFunctions_modelicaLine(threadData_t *threadData, modelica_metatype _txt, modelica_metatype _a_info)
{
modelica_metatype _out_txt = NULL;
modelica_boolean _ret_2;
modelica_boolean _ret_1;
modelica_boolean _ret_0;
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
_ret_0 = omc_Config_acceptMetaModelicaGrammar(threadData);
_ret_1 = omc_Flags_isSet(threadData, _OMC_LIT1387);
_ret_2 = (_ret_0 || _ret_1);
_out_txt = omc_CodegenCFunctions_fun__722(threadData, _txt, _ret_2, _a_info);
_return: OMC_LABEL_UNUSED
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__722(threadData_t *threadData, modelica_metatype _in_txt, modelica_boolean _in_mArg, modelica_metatype _in_a_info)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta[1] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp3_1;modelica_boolean tmp3_2;modelica_metatype tmp3_3;
tmp3_1 = _in_txt;
tmp3_2 = _in_mArg;
tmp3_3 = _in_a_info;
{
modelica_metatype _txt = NULL;
modelica_metatype _a_info = NULL;
modelica_boolean _ret_0;
volatile mmc_switch_type tmp3;
int tmp4;
tmp3 = 0;
for (; tmp3 < 2; tmp3++) {
switch (MMC_SWITCH_CAST(tmp3)) {
case 0: {
if (0 != tmp3_2) goto tmp2_end;
_txt = tmp3_1;
tmpMeta[0] = _txt;
goto tmp2_done;
}
case 1: {
_txt = tmp3_1;
_a_info = tmp3_3;
_ret_0 = omc_Flags_isSet(threadData, _OMC_LIT1393);
tmpMeta[0] = omc_CodegenCFunctions_fun__721(threadData, _txt, _ret_0, _a_info);
goto tmp2_done;
}
}
goto tmp2_end;
tmp2_end: ;
}
goto goto_1;
goto_1:;
MMC_THROW_INTERNAL();
goto tmp2_done;
tmp2_done:;
}
}
_out_txt = tmpMeta[0];
_return: OMC_LABEL_UNUSED
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__722(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_mArg, modelica_metatype _in_a_info)
{
modelica_integer tmp1;
modelica_metatype _out_txt = NULL;
tmp1 = mmc_unbox_integer(_in_mArg);
_out_txt = omc_CodegenCFunctions_fun__722(threadData, _in_txt, tmp1, _in_a_info);
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__721(threadData_t *threadData, modelica_metatype _in_txt, modelica_boolean _in_mArg, modelica_metatype _in_a_info)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta[1] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp3_1;modelica_boolean tmp3_2;modelica_metatype tmp3_3;
tmp3_1 = _in_txt;
tmp3_2 = _in_mArg;
tmp3_3 = _in_a_info;
{
modelica_metatype _txt = NULL;
modelica_metatype _a_info = NULL;
modelica_string _ret_1 = NULL;
modelica_string _ret_0 = NULL;
volatile mmc_switch_type tmp3;
int tmp4;
tmp3 = 0;
for (; tmp3 < 2; tmp3++) {
switch (MMC_SWITCH_CAST(tmp3)) {
case 0: {
if (0 != tmp3_2) goto tmp2_end;
_txt = tmp3_1;
_a_info = tmp3_3;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1395);
_ret_0 = omc_Error_infoStr(threadData, _a_info);
_txt = omc_Tpl_writeStr(threadData, _txt, _ret_0);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1397);
tmpMeta[0] = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT89);
goto tmp2_done;
}
case 1: {
_txt = tmp3_1;
_a_info = tmp3_3;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1395);
_ret_1 = omc_Error_infoStr(threadData, _a_info);
_txt = omc_Tpl_writeStr(threadData, _txt, _ret_1);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1397);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT89);
tmpMeta[0] = omc_CodegenCFunctions_fun__720(threadData, _txt, _a_info);
goto tmp2_done;
}
}
goto tmp2_end;
tmp2_end: ;
}
goto goto_1;
goto_1:;
MMC_THROW_INTERNAL();
goto tmp2_done;
tmp2_done:;
}
}
_out_txt = tmpMeta[0];
_return: OMC_LABEL_UNUSED
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__721(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_mArg, modelica_metatype _in_a_info)
{
modelica_integer tmp1;
modelica_metatype _out_txt = NULL;
tmp1 = mmc_unbox_integer(_in_mArg);
_out_txt = omc_CodegenCFunctions_fun__721(threadData, _in_txt, tmp1, _in_a_info);
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__720(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_info)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta[2] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp3_1;modelica_metatype tmp3_2;
tmp3_1 = _in_txt;
tmp3_2 = _in_a_info;
{
modelica_metatype _txt = NULL;
modelica_metatype _i_info = NULL;
modelica_string _i_fileName = NULL;
modelica_boolean _ret_1;
modelica_integer _ret_0;
volatile mmc_switch_type tmp3;
int tmp4;
tmp3 = 0;
for (; tmp3 < 2; tmp3++) {
switch (MMC_SWITCH_CAST(tmp3)) {
case 0: {
tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_2), 2));
_txt = tmp3_1;
_i_info = tmp3_2;
_i_fileName = tmpMeta[1];
_ret_0 = omc_System_stringFind(threadData, _i_fileName, _OMC_LIT1398);
_ret_1 = (((modelica_integer) -1) == _ret_0);
tmpMeta[0] = omc_CodegenCFunctions_fun__719(threadData, _txt, _ret_1, _i_info);
goto tmp2_done;
}
case 1: {
_txt = tmp3_1;
tmpMeta[0] = _txt;
goto tmp2_done;
}
}
goto tmp2_end;
tmp2_end: ;
}
goto goto_1;
goto_1:;
MMC_THROW_INTERNAL();
goto tmp2_done;
tmp2_done:;
}
}
_out_txt = tmpMeta[0];
_return: OMC_LABEL_UNUSED
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__719(threadData_t *threadData, modelica_metatype _in_txt, modelica_boolean _in_mArg, modelica_metatype _in_a_info)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta[1] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp3_1;modelica_boolean tmp3_2;modelica_metatype tmp3_3;
tmp3_1 = _in_txt;
tmp3_2 = _in_mArg;
tmp3_3 = _in_a_info;
{
modelica_metatype _txt = NULL;
modelica_metatype _a_info = NULL;
modelica_string _ret_0 = NULL;
volatile mmc_switch_type tmp3;
int tmp4;
tmp3 = 0;
for (; tmp3 < 2; tmp3++) {
switch (MMC_SWITCH_CAST(tmp3)) {
case 0: {
if (0 != tmp3_2) goto tmp2_end;
_txt = tmp3_1;
tmpMeta[0] = _txt;
goto tmp2_done;
}
case 1: {
_txt = tmp3_1;
_a_info = tmp3_3;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1400);
_ret_0 = omc_Error_infoStr(threadData, _a_info);
_txt = omc_Tpl_writeStr(threadData, _txt, _ret_0);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1351);
tmpMeta[0] = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT89);
goto tmp2_done;
}
}
goto tmp2_end;
tmp2_end: ;
}
goto goto_1;
goto_1:;
MMC_THROW_INTERNAL();
goto tmp2_done;
tmp2_done:;
}
}
_out_txt = tmpMeta[0];
_return: OMC_LABEL_UNUSED
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__719(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_mArg, modelica_metatype _in_a_info)
{
modelica_integer tmp1;
modelica_metatype _out_txt = NULL;
tmp1 = mmc_unbox_integer(_in_mArg);
_out_txt = omc_CodegenCFunctions_fun__719(threadData, _in_txt, tmp1, _in_a_info);
return _out_txt;
}
DLLExport
modelica_metatype omc_CodegenCFunctions_addRootsTempArray(threadData_t *threadData, modelica_metatype _txt)
{
modelica_metatype _out_txt = NULL;
modelica_integer _ret_0;
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
_ret_0 = omc_System_tmpTickMaximum(threadData, ((modelica_integer) 1));
_out_txt = omc_CodegenCFunctions_fun__717(threadData, _txt, _ret_0);
_return: OMC_LABEL_UNUSED
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__717(threadData_t *threadData, modelica_metatype _in_txt, modelica_integer _in_mArg)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta[1] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp3_1;modelica_integer tmp3_2;
tmp3_1 = _in_txt;
tmp3_2 = _in_mArg;
{
modelica_metatype _txt = NULL;
modelica_integer _i_i;
volatile mmc_switch_type tmp3;
int tmp4;
tmp3 = 0;
for (; tmp3 < 2; tmp3++) {
switch (MMC_SWITCH_CAST(tmp3)) {
case 0: {
if (0 != tmp3_2) goto tmp2_end;
_txt = tmp3_1;
tmpMeta[0] = _txt;
goto tmp2_done;
}
case 1: {
_txt = tmp3_1;
_i_i = tmp3_2;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1402);
_txt = omc_Tpl_writeStr(threadData, _txt, intString(_i_i));
tmpMeta[0] = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1404);
goto tmp2_done;
}
}
goto tmp2_end;
tmp2_end: ;
}
goto goto_1;
goto_1:;
MMC_THROW_INTERNAL();
goto tmp2_done;
tmp2_done:;
}
}
_out_txt = tmpMeta[0];
_return: OMC_LABEL_UNUSED
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__717(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_mArg)
{
modelica_integer tmp1;
modelica_metatype _out_txt = NULL;
tmp1 = mmc_unbox_integer(_in_mArg);
_out_txt = omc_CodegenCFunctions_fun__717(threadData, _in_txt, tmp1);
return _out_txt;
}
DLLExport
modelica_metatype omc_CodegenCFunctions_crefFunctionName(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_cr)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta[3] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp3_1;modelica_metatype tmp3_2;
tmp3_1 = _in_txt;
tmp3_2 = _in_a_cr;
{
modelica_metatype _txt = NULL;
modelica_metatype _i_componentRef = NULL;
modelica_string _i_ident = NULL;
modelica_string _ret_3 = NULL;
modelica_string _ret_2 = NULL;
modelica_string _ret_1 = NULL;
modelica_string _ret_0 = NULL;
int tmp3;
{
switch (MMC_SWITCH_CAST(valueConstructor(tmp3_2))) {
case 4: {
if (mmc__uniontype__metarecord__typedef__equal(tmp3_2,1,3) == 0) goto tmp2_end;
tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_2), 2));
_i_ident = tmpMeta[1];
_txt = tmp3_1;
_ret_0 = omc_System_unquoteIdentifier(threadData, _i_ident);
_ret_1 = omc_System_stringReplace(threadData, _ret_0, _OMC_LIT235, _OMC_LIT1405);
tmpMeta[0] = omc_Tpl_writeStr(threadData, _txt, _ret_1);
goto tmp2_done;
}
case 3: {
if (mmc__uniontype__metarecord__typedef__equal(tmp3_2,0,4) == 0) goto tmp2_end;
tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_2), 2));
tmpMeta[2] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_2), 5));
_i_ident = tmpMeta[1];
_i_componentRef = tmpMeta[2];
_txt = tmp3_1;
_ret_2 = omc_System_unquoteIdentifier(threadData, _i_ident);
_ret_3 = omc_System_stringReplace(threadData, _ret_2, _OMC_LIT235, _OMC_LIT1405);
_txt = omc_Tpl_writeStr(threadData, _txt, _ret_3);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT236);
_in_txt = _txt;
_in_a_cr = _i_componentRef;
goto _tailrecursive;
goto tmp2_done;
}
default:
tmp2_default: OMC_LABEL_UNUSED; {
_txt = tmp3_1;
tmpMeta[0] = _txt;
goto tmp2_done;
}
}
goto tmp2_end;
tmp2_end: ;
}
goto goto_1;
goto_1:;
MMC_THROW_INTERNAL();
goto tmp2_done;
tmp2_done:;
}
}
_out_txt = tmpMeta[0];
_return: OMC_LABEL_UNUSED
return _out_txt;
}
DLLExport
modelica_metatype omc_CodegenCFunctions_arrayCrefStr(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_cr)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta[3] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp3_1;modelica_metatype tmp3_2;
tmp3_1 = _in_txt;
tmp3_2 = _in_a_cr;
{
modelica_metatype _txt = NULL;
modelica_metatype _i_componentRef = NULL;
modelica_string _i_ident = NULL;
modelica_string _ret_1 = NULL;
modelica_string _ret_0 = NULL;
int tmp3;
{
switch (MMC_SWITCH_CAST(valueConstructor(tmp3_2))) {
case 4: {
if (mmc__uniontype__metarecord__typedef__equal(tmp3_2,1,3) == 0) goto tmp2_end;
tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_2), 2));
_i_ident = tmpMeta[1];
_txt = tmp3_1;
_ret_0 = omc_System_unquoteIdentifier(threadData, _i_ident);
tmpMeta[0] = omc_Tpl_writeStr(threadData, _txt, _ret_0);
goto tmp2_done;
}
case 3: {
if (mmc__uniontype__metarecord__typedef__equal(tmp3_2,0,4) == 0) goto tmp2_end;
tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_2), 2));
tmpMeta[2] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_2), 5));
_i_ident = tmpMeta[1];
_i_componentRef = tmpMeta[2];
_txt = tmp3_1;
_ret_1 = omc_System_unquoteIdentifier(threadData, _i_ident);
_txt = omc_Tpl_writeStr(threadData, _txt, _ret_1);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT518);
_in_txt = _txt;
_in_a_cr = _i_componentRef;
goto _tailrecursive;
goto tmp2_done;
}
default:
tmp2_default: OMC_LABEL_UNUSED; {
_txt = tmp3_1;
tmpMeta[0] = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1327);
goto tmp2_done;
}
}
goto tmp2_end;
tmp2_end: ;
}
goto goto_1;
goto_1:;
MMC_THROW_INTERNAL();
goto tmp2_done;
tmp2_done:;
}
}
_out_txt = tmpMeta[0];
_return: OMC_LABEL_UNUSED
return _out_txt;
}
DLLExport
modelica_metatype omc_CodegenCFunctions_contextArrayCref(threadData_t *threadData, modelica_metatype _txt, modelica_metatype _a_cr, modelica_metatype _a_context)
{
modelica_metatype _out_txt = NULL;
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
_out_txt = omc_CodegenCFunctions_fun__713(threadData, _txt, _a_context, _a_cr);
_return: OMC_LABEL_UNUSED
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__713(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_context, modelica_metatype _in_a_cr)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta[1] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp3_1;modelica_metatype tmp3_2;modelica_metatype tmp3_3;
tmp3_1 = _in_txt;
tmp3_2 = _in_a_context;
tmp3_3 = _in_a_cr;
{
modelica_metatype _txt = NULL;
modelica_metatype _a_cr = NULL;
volatile mmc_switch_type tmp3;
int tmp4;
tmp3 = 0;
for (; tmp3 < 2; tmp3++) {
switch (MMC_SWITCH_CAST(tmp3)) {
case 0: {
if (mmc__uniontype__metarecord__typedef__equal(tmp3_2,1,2) == 0) goto tmp2_end;
_txt = tmp3_1;
_a_cr = tmp3_3;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT236);
tmpMeta[0] = omc_CodegenCFunctions_arrayCrefStr(threadData, _txt, _a_cr);
goto tmp2_done;
}
case 1: {
_txt = tmp3_1;
_a_cr = tmp3_3;
tmpMeta[0] = omc_CodegenCFunctions_crefToCStr(threadData, _txt, _a_cr, ((modelica_integer) 0), 0, 0);
goto tmp2_done;
}
}
goto tmp2_end;
tmp2_end: ;
}
goto goto_1;
goto_1:;
MMC_THROW_INTERNAL();
goto tmp2_done;
tmp2_done:;
}
}
_out_txt = tmpMeta[0];
_return: OMC_LABEL_UNUSED
return _out_txt;
}
DLLExport
modelica_metatype omc_CodegenCFunctions_crefTypeNameOMSIC(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_type)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta[2] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp3_1;modelica_metatype tmp3_2;
tmp3_1 = _in_txt;
tmp3_2 = _in_a_type;
{
modelica_metatype _txt = NULL;
modelica_metatype _i_type = NULL;
modelica_metatype _i_complexClassType = NULL;
modelica_metatype _i_ty = NULL;
modelica_metatype _i_complexType = NULL;
modelica_metatype _txt_1 = NULL;
modelica_string _ret_1 = NULL;
modelica_metatype _ret_0 = NULL;
volatile mmc_switch_type tmp3;
int tmp4;
tmp3 = 0;
for (; tmp3 < 10; tmp3++) {
switch (MMC_SWITCH_CAST(tmp3)) {
case 0: {
if (mmc__uniontype__metarecord__typedef__equal(tmp3_2,0,1) == 0) goto tmp2_end;
_txt = tmp3_1;
tmpMeta[0] = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1407);
goto tmp2_done;
}
case 1: {
if (mmc__uniontype__metarecord__typedef__equal(tmp3_2,1,1) == 0) goto tmp2_end;
_txt = tmp3_1;
tmpMeta[0] = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1409);
goto tmp2_done;
}
case 2: {
if (mmc__uniontype__metarecord__typedef__equal(tmp3_2,2,1) == 0) goto tmp2_end;
_txt = tmp3_1;
tmpMeta[0] = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1411);
goto tmp2_done;
}
case 3: {
if (mmc__uniontype__metarecord__typedef__equal(tmp3_2,3,1) == 0) goto tmp2_end;
_txt = tmp3_1;
tmpMeta[0] = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1413);
goto tmp2_done;
}
case 4: {
if (mmc__uniontype__metarecord__typedef__equal(tmp3_2,5,5) == 0) goto tmp2_end;
_txt = tmp3_1;
tmpMeta[0] = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1407);
goto tmp2_done;
}
case 5: {
if (mmc__uniontype__metarecord__typedef__equal(tmp3_2,10,4) == 0) goto tmp2_end;
tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_2), 4));
_i_complexType = tmpMeta[1];
_txt = tmp3_1;
_in_txt = _txt;
_in_a_type = _i_complexType;
goto _tailrecursive;
goto tmp2_done;
}
case 6: {
if (mmc__uniontype__metarecord__typedef__equal(tmp3_2,6,2) == 0) goto tmp2_end;
tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_2), 2));
_i_ty = tmpMeta[1];
_txt = tmp3_1;
_in_txt = _txt;
_in_a_type = _i_ty;
goto _tailrecursive;
goto tmp2_done;
}
case 7: {
if (mmc__uniontype__metarecord__typedef__equal(tmp3_2,9,3) == 0) goto tmp2_end;
tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_2), 2));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[1],17,1) == 0) goto tmp2_end;
_txt = tmp3_1;
tmpMeta[0] = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1415);
goto tmp2_done;
}
case 8: {
if (mmc__uniontype__metarecord__typedef__equal(tmp3_2,9,3) == 0) goto tmp2_end;
tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_2), 2));
_i_complexClassType = tmpMeta[1];
_txt = tmp3_1;
_ret_0 = omc_ClassInf_getStateName(threadData, _i_complexClassType);
tmpMeta[0] = omc_CodegenUtil_underscorePath(threadData, _txt, _ret_0);
goto tmp2_done;
}
case 9: {
_txt = tmp3_1;
_i_type = tmp3_2;
_txt_1 = omc_Tpl_writeTok(threadData, _OMC_LIT20, _OMC_LIT1417);
_ret_1 = omc_Types_unparseType(threadData, _i_type);
_txt_1 = omc_Tpl_writeStr(threadData, _txt_1, _ret_1);
tmpMeta[0] = omc_CodegenUtil_error(threadData, _txt, omc_Tpl_sourceInfo(threadData, _OMC_LIT27, ((modelica_integer) 4722), ((modelica_integer) 26)), omc_Tpl_textString(threadData, _txt_1));
goto tmp2_done;
}
}
goto tmp2_end;
tmp2_end: ;
}
goto goto_1;
goto_1:;
MMC_THROW_INTERNAL();
goto tmp2_done;
tmp2_done:;
}
}
_out_txt = tmpMeta[0];
_return: OMC_LABEL_UNUSED
return _out_txt;
}
DLLExport
modelica_metatype omc_CodegenCFunctions_crefTypeOMSIC(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_cr)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta[2] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp3_1;modelica_metatype tmp3_2;
tmp3_1 = _in_txt;
tmp3_2 = _in_a_cr;
{
modelica_metatype _txt = NULL;
modelica_metatype _i_componentRef = NULL;
modelica_metatype _i_identType = NULL;
int tmp3;
{
switch (MMC_SWITCH_CAST(valueConstructor(tmp3_2))) {
case 4: {
if (mmc__uniontype__metarecord__typedef__equal(tmp3_2,1,3) == 0) goto tmp2_end;
tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_2), 3));
_i_identType = tmpMeta[1];
_txt = tmp3_1;
tmpMeta[0] = omc_CodegenCFunctions_crefTypeNameOMSIC(threadData, _txt, _i_identType);
goto tmp2_done;
}
case 3: {
if (mmc__uniontype__metarecord__typedef__equal(tmp3_2,0,4) == 0) goto tmp2_end;
tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_2), 5));
_i_componentRef = tmpMeta[1];
_txt = tmp3_1;
_in_txt = _txt;
_in_a_cr = _i_componentRef;
goto _tailrecursive;
goto tmp2_done;
}
default:
tmp2_default: OMC_LABEL_UNUSED; {
_txt = tmp3_1;
tmpMeta[0] = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT66);
goto tmp2_done;
}
}
goto tmp2_end;
tmp2_end: ;
}
goto goto_1;
goto_1:;
MMC_THROW_INTERNAL();
goto tmp2_done;
tmp2_done:;
}
}
_out_txt = tmpMeta[0];
_return: OMC_LABEL_UNUSED
return _out_txt;
}
DLLExport
modelica_metatype omc_CodegenCFunctions_crefToIndex(threadData_t *threadData, modelica_metatype _txt, modelica_metatype _a_cr)
{
modelica_metatype _out_txt = NULL;
modelica_metatype _ret_1 = NULL;
modelica_integer _ret_0;
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
_ret_0 = omc_SimCodeUtil_getSimCode(threadData);
_ret_1 = omc_SimCodeUtil_cref2simvar(threadData, _a_cr, mmc_mk_integer(_ret_0));
_out_txt = omc_CodegenCFunctions_fun__709(threadData, _txt, _ret_1);
_return: OMC_LABEL_UNUSED
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__709(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_mArg)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta[2] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp3_1;modelica_metatype tmp3_2;
tmp3_1 = _in_txt;
tmp3_2 = _in_mArg;
{
modelica_metatype _txt = NULL;
modelica_integer _i_index;
volatile mmc_switch_type tmp3;
int tmp4;
tmp3 = 0;
for (; tmp3 < 2; tmp3++) {
switch (MMC_SWITCH_CAST(tmp3)) {
case 0: {
modelica_integer tmp5;
tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_2), 7));
tmp5 = mmc_unbox_integer(tmpMeta[1]);
_txt = tmp3_1;
_i_index = tmp5;
tmpMeta[0] = omc_Tpl_writeStr(threadData, _txt, intString(_i_index));
goto tmp2_done;
}
case 1: {
_txt = tmp3_1;
tmpMeta[0] = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1419);
goto tmp2_done;
}
}
goto tmp2_end;
tmp2_end: ;
}
goto goto_1;
goto_1:;
MMC_THROW_INTERNAL();
goto tmp2_done;
tmp2_done:;
}
}
_out_txt = tmpMeta[0];
_return: OMC_LABEL_UNUSED
return _out_txt;
}
DLLExport
modelica_metatype omc_CodegenCFunctions_crefToCStr(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_cr, modelica_integer _in_a_ix, modelica_boolean _in_a_isPre, modelica_boolean _in_a_isStart)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta[4] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp3_1;modelica_metatype tmp3_2;modelica_integer tmp3_3;modelica_boolean tmp3_4;modelica_boolean tmp3_5;
tmp3_1 = _in_txt;
tmp3_2 = _in_a_cr;
tmp3_3 = _in_a_ix;
tmp3_4 = _in_a_isPre;
tmp3_5 = _in_a_isStart;
{
modelica_metatype _txt = NULL;
modelica_integer _a_ix;
modelica_boolean _a_isPre;
modelica_boolean _a_isStart;
modelica_metatype _i_cr = NULL;
modelica_metatype _i_componentRef = NULL;
modelica_metatype _ret_1 = NULL;
modelica_integer _ret_0;
volatile mmc_switch_type tmp3;
int tmp4;
tmp3 = 0;
for (; tmp3 < 4; tmp3++) {
switch (MMC_SWITCH_CAST(tmp3)) {
case 0: {
if (mmc__uniontype__metarecord__typedef__equal(tmp3_2,1,3) == 0) goto tmp2_end;
tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_2), 2));
if (4 != MMC_STRLEN(tmpMeta[1]) || strcmp(MMC_STRINGDATA(_OMC_LIT1422), MMC_STRINGDATA(tmpMeta[1])) != 0) goto tmp2_end;
_txt = tmp3_1;
tmpMeta[0] = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1421);
goto tmp2_done;
}
case 1: {
if (mmc__uniontype__metarecord__typedef__equal(tmp3_2,0,4) == 0) goto tmp2_end;
tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_2), 2));
if (4 != MMC_STRLEN(tmpMeta[1]) || strcmp(MMC_STRINGDATA(_OMC_LIT1423), MMC_STRINGDATA(tmpMeta[1])) != 0) goto tmp2_end;
tmpMeta[2] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_2), 4));
if (!listEmpty(tmpMeta[2])) goto tmp2_end;
tmpMeta[3] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_2), 5));
_i_cr = tmp3_2;
_i_componentRef = tmpMeta[3];
_txt = tmp3_1;
_a_ix = tmp3_3;
_a_isPre = tmp3_4;
_a_isStart = tmp3_5;
tmpMeta[0] = omc_CodegenCFunctions_fun__704(threadData, _txt, _a_isPre, _i_cr, _a_isStart, _a_ix, _i_componentRef);
goto tmp2_done;
}
case 2: {
if (mmc__uniontype__metarecord__typedef__equal(tmp3_2,0,4) == 0) goto tmp2_end;
tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_2), 2));
if (6 != MMC_STRLEN(tmpMeta[1]) || strcmp(MMC_STRINGDATA(_OMC_LIT1424), MMC_STRINGDATA(tmpMeta[1])) != 0) goto tmp2_end;
tmpMeta[2] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_2), 5));
_i_componentRef = tmpMeta[2];
_txt = tmp3_1;
_a_ix = tmp3_3;
_a_isPre = tmp3_4;
_in_txt = _txt;
_in_a_cr = _i_componentRef;
_in_a_ix = _a_ix;
_in_a_isPre = _a_isPre;
_in_a_isStart = 1;
goto _tailrecursive;
goto tmp2_done;
}
case 3: {
_txt = tmp3_1;
_i_cr = tmp3_2;
_a_ix = tmp3_3;
_a_isPre = tmp3_4;
_a_isStart = tmp3_5;
_ret_0 = omc_SimCodeUtil_getSimCode(threadData);
_ret_1 = omc_SimCodeUtil_cref2simvar(threadData, _i_cr, mmc_mk_integer(_ret_0));
tmpMeta[0] = omc_CodegenCFunctions_fun__707(threadData, _txt, _ret_1, _i_cr, _a_isStart, _a_isPre, _a_ix);
goto tmp2_done;
}
}
goto tmp2_end;
tmp2_end: ;
}
goto goto_1;
goto_1:;
MMC_THROW_INTERNAL();
goto tmp2_done;
tmp2_done:;
}
}
_out_txt = tmpMeta[0];
_return: OMC_LABEL_UNUSED
return _out_txt;
}
modelica_metatype boxptr_CodegenCFunctions_crefToCStr(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_cr, modelica_metatype _in_a_ix, modelica_metatype _in_a_isPre, modelica_metatype _in_a_isStart)
{
modelica_integer tmp1;
modelica_integer tmp2;
modelica_integer tmp3;
modelica_metatype _out_txt = NULL;
tmp1 = mmc_unbox_integer(_in_a_ix);
tmp2 = mmc_unbox_integer(_in_a_isPre);
tmp3 = mmc_unbox_integer(_in_a_isStart);
_out_txt = omc_CodegenCFunctions_crefToCStr(threadData, _in_txt, _in_a_cr, tmp1, tmp2, tmp3);
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__707(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_mArg, modelica_metatype _in_a_cr, modelica_boolean _in_a_isStart, modelica_boolean _in_a_isPre, modelica_integer _in_a_ix)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta[4] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp3_1;modelica_metatype tmp3_2;modelica_metatype tmp3_3;modelica_boolean tmp3_4;modelica_boolean tmp3_5;modelica_integer tmp3_6;
tmp3_1 = _in_txt;
tmp3_2 = _in_mArg;
tmp3_3 = _in_a_cr;
tmp3_4 = _in_a_isStart;
tmp3_5 = _in_a_isPre;
tmp3_6 = _in_a_ix;
{
modelica_metatype _txt = NULL;
modelica_metatype _a_cr = NULL;
modelica_boolean _a_isStart;
modelica_boolean _a_isPre;
modelica_integer _a_ix;
modelica_metatype _i_var = NULL;
modelica_metatype _i_varKind = NULL;
modelica_metatype _i_name = NULL;
modelica_metatype _i_varName = NULL;
modelica_integer _i_index;
modelica_metatype _txt_7 = NULL;
modelica_boolean _ret_6;
modelica_metatype _l_s = NULL;
modelica_metatype _txt_4 = NULL;
modelica_metatype _txt_3 = NULL;
modelica_metatype _txt_2 = NULL;
modelica_metatype _txt_1 = NULL;
modelica_metatype _txt_0 = NULL;
volatile mmc_switch_type tmp3;
int tmp4;
tmp3 = 0;
for (; tmp3 < 13; tmp3++) {
switch (MMC_SWITCH_CAST(tmp3)) {
case 0: {
modelica_integer tmp5;
tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_2), 3));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[1],20,0) == 0) goto tmp2_end;
tmpMeta[2] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_2), 7));
tmp5 = mmc_unbox_integer(tmpMeta[2]);
_i_index = tmp5;
_txt = tmp3_1;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1426);
_txt = omc_Tpl_writeStr(threadData, _txt, intString(_i_index));
tmpMeta[0] = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT46);
goto tmp2_done;
}
case 1: {
tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_2), 16));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[1],1,1) == 0) goto tmp2_end;
tmpMeta[2] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[1]), 2));
_i_varName = tmpMeta[2];
_txt = tmp3_1;
_a_isStart = tmp3_4;
_a_isPre = tmp3_5;
_a_ix = tmp3_6;
tmpMeta[0] = omc_CodegenCFunctions_crefToCStr(threadData, _txt, _i_varName, _a_ix, _a_isPre, _a_isStart);
goto tmp2_done;
}
case 2: {
tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_2), 13));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[1],3,1) == 0) goto tmp2_end;
tmpMeta[2] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_2), 16));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[2],2,1) == 0) goto tmp2_end;
tmpMeta[3] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[2]), 2));
_i_varName = tmpMeta[3];
_txt = tmp3_1;
_a_isStart = tmp3_4;
_a_isPre = tmp3_5;
_a_ix = tmp3_6;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1428);
_txt = omc_CodegenCFunctions_crefToCStr(threadData, _txt, _i_varName, _a_ix, _a_isPre, _a_isStart);
tmpMeta[0] = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT78);
goto tmp2_done;
}
case 3: {
tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_2), 16));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[1],2,1) == 0) goto tmp2_end;
tmpMeta[2] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[1]), 2));
_i_varName = tmpMeta[2];
_txt = tmp3_1;
_a_isStart = tmp3_4;
_a_isPre = tmp3_5;
_a_ix = tmp3_6;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1430);
_txt = omc_CodegenCFunctions_crefToCStr(threadData, _txt, _i_varName, _a_ix, _a_isPre, _a_isStart);
tmpMeta[0] = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT78);
goto tmp2_done;
}
case 4: {
modelica_integer tmp6;
tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_2), 2));
tmpMeta[2] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_2), 3));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[2],10,0) == 0) goto tmp2_end;
tmpMeta[3] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_2), 7));
tmp6 = mmc_unbox_integer(tmpMeta[3]);
_i_name = tmpMeta[1];
_i_varKind = tmpMeta[2];
_i_index = tmp6;
_txt = tmp3_1;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1432);
_txt = omc_Tpl_writeStr(threadData, _txt, intString(_i_index));
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT42);
_txt_0 = omc_CodegenUtil_crefStrNoUnderscore(threadData, _OMC_LIT20, _i_name);
_txt = omc_CodegenUtil_escapeCComments(threadData, _txt, omc_Tpl_textString(threadData, _txt_0));
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT29);
_txt = omc_CodegenUtil_variabilityString(threadData, _txt, _i_varKind);
tmpMeta[0] = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT22);
goto tmp2_done;
}
case 5: {
modelica_integer tmp7;
tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_2), 2));
tmpMeta[2] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_2), 3));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[2],11,0) == 0) goto tmp2_end;
tmpMeta[3] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_2), 7));
tmp7 = mmc_unbox_integer(tmpMeta[3]);
_i_name = tmpMeta[1];
_i_varKind = tmpMeta[2];
_i_index = tmp7;
_txt = tmp3_1;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1434);
_txt = omc_Tpl_writeStr(threadData, _txt, intString(_i_index));
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT42);
_txt_1 = omc_CodegenUtil_crefStrNoUnderscore(threadData, _OMC_LIT20, _i_name);
_txt = omc_CodegenUtil_escapeCComments(threadData, _txt, omc_Tpl_textString(threadData, _txt_1));
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT29);
_txt = omc_CodegenUtil_variabilityString(threadData, _txt, _i_varKind);
tmpMeta[0] = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT22);
goto tmp2_done;
}
case 6: {
modelica_integer tmp8;
tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_2), 2));
tmpMeta[2] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_2), 3));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[2],12,0) == 0) goto tmp2_end;
tmpMeta[3] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_2), 7));
tmp8 = mmc_unbox_integer(tmpMeta[3]);
_i_name = tmpMeta[1];
_i_varKind = tmpMeta[2];
_i_index = tmp8;
_txt = tmp3_1;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1436);
_txt = omc_Tpl_writeStr(threadData, _txt, intString(_i_index));
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT42);
_txt_2 = omc_CodegenUtil_crefStrNoUnderscore(threadData, _OMC_LIT20, _i_name);
_txt = omc_CodegenUtil_escapeCComments(threadData, _txt, omc_Tpl_textString(threadData, _txt_2));
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT29);
_txt = omc_CodegenUtil_variabilityString(threadData, _txt, _i_varKind);
tmpMeta[0] = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT22);
goto tmp2_done;
}
case 7: {
modelica_integer tmp9;
tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_2), 2));
tmpMeta[2] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_2), 3));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[2],21,0) == 0) goto tmp2_end;
tmpMeta[3] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_2), 7));
tmp9 = mmc_unbox_integer(tmpMeta[3]);
_i_name = tmpMeta[1];
_i_varKind = tmpMeta[2];
_i_index = tmp9;
_txt = tmp3_1;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1438);
_txt = omc_Tpl_writeStr(threadData, _txt, intString(_i_index));
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT42);
_txt_3 = omc_CodegenUtil_crefStrNoUnderscore(threadData, _OMC_LIT20, _i_name);
_txt = omc_CodegenUtil_escapeCComments(threadData, _txt, omc_Tpl_textString(threadData, _txt_3));
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT29);
_txt = omc_CodegenUtil_variabilityString(threadData, _txt, _i_varKind);
tmpMeta[0] = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT22);
goto tmp2_done;
}
case 8: {
modelica_integer tmp10;
tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_2), 2));
tmpMeta[2] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_2), 3));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[2],22,0) == 0) goto tmp2_end;
tmpMeta[3] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_2), 7));
tmp10 = mmc_unbox_integer(tmpMeta[3]);
_i_name = tmpMeta[1];
_i_varKind = tmpMeta[2];
_i_index = tmp10;
_txt = tmp3_1;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1440);
_txt = omc_Tpl_writeStr(threadData, _txt, intString(_i_index));
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT42);
_txt_4 = omc_CodegenUtil_crefStrNoUnderscore(threadData, _OMC_LIT20, _i_name);
_txt = omc_CodegenUtil_escapeCComments(threadData, _txt, omc_Tpl_textString(threadData, _txt_4));
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT29);
_txt = omc_CodegenUtil_variabilityString(threadData, _txt, _i_varKind);
tmpMeta[0] = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT22);
goto tmp2_done;
}
case 9: {
modelica_integer tmp11;
tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_2), 7));
tmp11 = mmc_unbox_integer(tmpMeta[1]);
if (-2 != tmp11) goto tmp2_end;
_txt = tmp3_1;
_a_cr = tmp3_3;
_a_isPre = tmp3_5;
_a_ix = tmp3_6;
_l_s = omc_CodegenCFunctions_fun__705(threadData, _OMC_LIT20, _a_isPre, _a_cr);
_ret_6 = (_a_ix == ((modelica_integer) 0));
tmpMeta[0] = omc_CodegenCFunctions_fun__706(threadData, _txt, _ret_6, _a_ix, _l_s);
goto tmp2_done;
}
case 10: {
modelica_integer tmp12;
tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_2), 2));
tmpMeta[2] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_2), 3));
tmpMeta[3] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_2), 7));
tmp12 = mmc_unbox_integer(tmpMeta[3]);
if (-1 != tmp12) goto tmp2_end;
_i_name = tmpMeta[1];
_i_varKind = tmpMeta[2];
_txt = tmp3_1;
_txt_7 = omc_Tpl_writeTok(threadData, _OMC_LIT20, _OMC_LIT1442);
_txt_7 = omc_CodegenUtil_variabilityString(threadData, _txt_7, _i_varKind);
_txt_7 = omc_Tpl_writeTok(threadData, _txt_7, _OMC_LIT29);
_txt_7 = omc_CodegenUtil_crefStrNoUnderscore(threadData, _txt_7, _i_name);
tmpMeta[0] = omc_CodegenUtil_error(threadData, _txt, omc_Tpl_sourceInfo(threadData, _OMC_LIT27, ((modelica_integer) 4683), ((modelica_integer) 45)), omc_Tpl_textString(threadData, _txt_7));
goto tmp2_done;
}
case 11: {
_txt = tmp3_1;
_i_var = tmp3_2;
_a_isStart = tmp3_4;
_a_isPre = tmp3_5;
_a_ix = tmp3_6;
tmpMeta[0] = omc_CodegenCFunctions_varArrayNameValues(threadData, _txt, _i_var, _a_ix, _a_isPre, _a_isStart);
goto tmp2_done;
}
case 12: {
_txt = tmp3_1;
tmpMeta[0] = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1327);
goto tmp2_done;
}
}
goto tmp2_end;
tmp2_end: ;
}
goto goto_1;
goto_1:;
MMC_THROW_INTERNAL();
goto tmp2_done;
tmp2_done:;
}
}
_out_txt = tmpMeta[0];
_return: OMC_LABEL_UNUSED
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__707(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_mArg, modelica_metatype _in_a_cr, modelica_metatype _in_a_isStart, modelica_metatype _in_a_isPre, modelica_metatype _in_a_ix)
{
modelica_integer tmp1;
modelica_integer tmp2;
modelica_integer tmp3;
modelica_metatype _out_txt = NULL;
tmp1 = mmc_unbox_integer(_in_a_isStart);
tmp2 = mmc_unbox_integer(_in_a_isPre);
tmp3 = mmc_unbox_integer(_in_a_ix);
_out_txt = omc_CodegenCFunctions_fun__707(threadData, _in_txt, _in_mArg, _in_a_cr, tmp1, tmp2, tmp3);
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__706(threadData_t *threadData, modelica_metatype _in_txt, modelica_boolean _in_mArg, modelica_integer _in_a_ix, modelica_metatype _in_a_s)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta[1] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp3_1;modelica_boolean tmp3_2;modelica_integer tmp3_3;modelica_metatype tmp3_4;
tmp3_1 = _in_txt;
tmp3_2 = _in_mArg;
tmp3_3 = _in_a_ix;
tmp3_4 = _in_a_s;
{
modelica_metatype _txt = NULL;
modelica_integer _a_ix;
modelica_metatype _a_s = NULL;
volatile mmc_switch_type tmp3;
int tmp4;
tmp3 = 0;
for (; tmp3 < 2; tmp3++) {
switch (MMC_SWITCH_CAST(tmp3)) {
case 0: {
if (0 != tmp3_2) goto tmp2_end;
_txt = tmp3_1;
_a_ix = tmp3_3;
_a_s = tmp3_4;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT236);
_txt = omc_Tpl_writeText(threadData, _txt, _a_s);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT68);
_txt = omc_Tpl_writeStr(threadData, _txt, intString(_a_ix));
tmpMeta[0] = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT78);
goto tmp2_done;
}
case 1: {
_txt = tmp3_1;
_a_s = tmp3_4;
tmpMeta[0] = omc_Tpl_writeText(threadData, _txt, _a_s);
goto tmp2_done;
}
}
goto tmp2_end;
tmp2_end: ;
}
goto goto_1;
goto_1:;
MMC_THROW_INTERNAL();
goto tmp2_done;
tmp2_done:;
}
}
_out_txt = tmpMeta[0];
_return: OMC_LABEL_UNUSED
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__706(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_mArg, modelica_metatype _in_a_ix, modelica_metatype _in_a_s)
{
modelica_integer tmp1;
modelica_integer tmp2;
modelica_metatype _out_txt = NULL;
tmp1 = mmc_unbox_integer(_in_mArg);
tmp2 = mmc_unbox_integer(_in_a_ix);
_out_txt = omc_CodegenCFunctions_fun__706(threadData, _in_txt, tmp1, tmp2, _in_a_s);
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__705(threadData_t *threadData, modelica_metatype _in_txt, modelica_boolean _in_a_isPre, modelica_metatype _in_a_cr)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta[1] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp3_1;modelica_boolean tmp3_2;modelica_metatype tmp3_3;
tmp3_1 = _in_txt;
tmp3_2 = _in_a_isPre;
tmp3_3 = _in_a_cr;
{
modelica_metatype _txt = NULL;
modelica_metatype _a_cr = NULL;
modelica_metatype _ret_0 = NULL;
volatile mmc_switch_type tmp3;
int tmp4;
tmp3 = 0;
for (; tmp3 < 2; tmp3++) {
switch (MMC_SWITCH_CAST(tmp3)) {
case 0: {
if (0 != tmp3_2) goto tmp2_end;
_txt = tmp3_1;
_a_cr = tmp3_3;
tmpMeta[0] = omc_CodegenCFunctions_crefNonSimVar(threadData, _txt, _a_cr);
goto tmp2_done;
}
case 1: {
_txt = tmp3_1;
_a_cr = tmp3_3;
_ret_0 = omc_ComponentReference_crefPrefixPre(threadData, _a_cr);
tmpMeta[0] = omc_CodegenCFunctions_crefNonSimVar(threadData, _txt, _ret_0);
goto tmp2_done;
}
}
goto tmp2_end;
tmp2_end: ;
}
goto goto_1;
goto_1:;
MMC_THROW_INTERNAL();
goto tmp2_done;
tmp2_done:;
}
}
_out_txt = tmpMeta[0];
_return: OMC_LABEL_UNUSED
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__705(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_isPre, modelica_metatype _in_a_cr)
{
modelica_integer tmp1;
modelica_metatype _out_txt = NULL;
tmp1 = mmc_unbox_integer(_in_a_isPre);
_out_txt = omc_CodegenCFunctions_fun__705(threadData, _in_txt, tmp1, _in_a_cr);
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__704(threadData_t *threadData, modelica_metatype _in_txt, modelica_boolean _in_a_isPre, modelica_metatype _in_a_cr, modelica_boolean _in_a_isStart, modelica_integer _in_a_ix, modelica_metatype _in_a_componentRef)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta[1] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp3_1;modelica_boolean tmp3_2;modelica_metatype tmp3_3;modelica_boolean tmp3_4;modelica_integer tmp3_5;modelica_metatype tmp3_6;
tmp3_1 = _in_txt;
tmp3_2 = _in_a_isPre;
tmp3_3 = _in_a_cr;
tmp3_4 = _in_a_isStart;
tmp3_5 = _in_a_ix;
tmp3_6 = _in_a_componentRef;
{
modelica_metatype _txt = NULL;
modelica_metatype _a_cr = NULL;
modelica_boolean _a_isStart;
modelica_integer _a_ix;
modelica_metatype _a_componentRef = NULL;
modelica_metatype _txt_0 = NULL;
volatile mmc_switch_type tmp3;
int tmp4;
tmp3 = 0;
for (; tmp3 < 2; tmp3++) {
switch (MMC_SWITCH_CAST(tmp3)) {
case 0: {
if (0 != tmp3_2) goto tmp2_end;
_txt = tmp3_1;
_a_isStart = tmp3_4;
_a_ix = tmp3_5;
_a_componentRef = tmp3_6;
tmpMeta[0] = omc_CodegenCFunctions_crefToCStr(threadData, _txt, _a_componentRef, _a_ix, 1, _a_isStart);
goto tmp2_done;
}
case 1: {
_txt = tmp3_1;
_a_cr = tmp3_3;
_txt_0 = omc_Tpl_writeTok(threadData, _OMC_LIT20, _OMC_LIT1444);
_txt_0 = omc_CodegenUtil_crefStrNoUnderscore(threadData, _txt_0, _a_cr);
tmpMeta[0] = omc_CodegenUtil_error(threadData, _txt, omc_Tpl_sourceInfo(threadData, _OMC_LIT27, ((modelica_integer) 4665), ((modelica_integer) 26)), omc_Tpl_textString(threadData, _txt_0));
goto tmp2_done;
}
}
goto tmp2_end;
tmp2_end: ;
}
goto goto_1;
goto_1:;
MMC_THROW_INTERNAL();
goto tmp2_done;
tmp2_done:;
}
}
_out_txt = tmpMeta[0];
_return: OMC_LABEL_UNUSED
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__704(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_isPre, modelica_metatype _in_a_cr, modelica_metatype _in_a_isStart, modelica_metatype _in_a_ix, modelica_metatype _in_a_componentRef)
{
modelica_integer tmp1;
modelica_integer tmp2;
modelica_integer tmp3;
modelica_metatype _out_txt = NULL;
tmp1 = mmc_unbox_integer(_in_a_isPre);
tmp2 = mmc_unbox_integer(_in_a_isStart);
tmp3 = mmc_unbox_integer(_in_a_ix);
_out_txt = omc_CodegenCFunctions_fun__704(threadData, _in_txt, tmp1, _in_a_cr, tmp2, tmp3, _in_a_componentRef);
return _out_txt;
}
DLLExport
modelica_metatype omc_CodegenCFunctions_crefNonSimVar(threadData_t *threadData, modelica_metatype _txt, modelica_metatype _a_cr)
{
modelica_metatype _out_txt = NULL;
modelica_metatype _l_auxFunction = NULL;
modelica_metatype _l_varDecls = NULL;
modelica_metatype _l_preExp = NULL;
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
_l_preExp = _OMC_LIT20;
_l_varDecls = _OMC_LIT20;
_l_auxFunction = _OMC_LIT20;
_out_txt = omc_CodegenCFunctions_functionContextCrefFirstIdentNoUnderscore(threadData, _txt, _a_cr, _OMC_LIT1356, omc_Tpl_strTokText(threadData, _OMC_LIT92), _l_preExp, _l_varDecls, _l_auxFunction ,NULL ,&_l_preExp ,&_l_varDecls ,&_l_auxFunction);
_return: OMC_LABEL_UNUSED
return _out_txt;
}
DLLExport
modelica_metatype omc_CodegenCFunctions_crefDefine(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_cr)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta[2] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp3_1;modelica_metatype tmp3_2;
tmp3_1 = _in_txt;
tmp3_2 = _in_a_cr;
{
modelica_metatype _txt = NULL;
modelica_metatype _i_cr = NULL;
modelica_string _ret_1 = NULL;
modelica_metatype _txt_0 = NULL;
volatile mmc_switch_type tmp3;
int tmp4;
tmp3 = 0;
for (; tmp3 < 4; tmp3++) {
switch (MMC_SWITCH_CAST(tmp3)) {
case 0: {
if (mmc__uniontype__metarecord__typedef__equal(tmp3_2,1,3) == 0) goto tmp2_end;
tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_2), 2));
if (4 != MMC_STRLEN(tmpMeta[1]) || strcmp(MMC_STRINGDATA(_OMC_LIT1445), MMC_STRINGDATA(tmpMeta[1])) != 0) goto tmp2_end;
_i_cr = tmp3_2;
_txt = tmp3_1;
tmpMeta[0] = omc_CodegenUtil_crefStr(threadData, _txt, _i_cr);
goto tmp2_done;
}
case 1: {
if (mmc__uniontype__metarecord__typedef__equal(tmp3_2,1,3) == 0) goto tmp2_end;
tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_2), 2));
if (4 != MMC_STRLEN(tmpMeta[1]) || strcmp(MMC_STRINGDATA(_OMC_LIT1422), MMC_STRINGDATA(tmpMeta[1])) != 0) goto tmp2_end;
_txt = tmp3_1;
tmpMeta[0] = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1421);
goto tmp2_done;
}
case 2: {
if (mmc__uniontype__metarecord__typedef__equal(tmp3_2,4,0) == 0) goto tmp2_end;
_txt = tmp3_1;
tmpMeta[0] = _txt;
goto tmp2_done;
}
case 3: {
_txt = tmp3_1;
_i_cr = tmp3_2;
_txt_0 = omc_CodegenUtil_crefStrNoUnderscore(threadData, _OMC_LIT20, _i_cr);
_ret_1 = omc_System_unquoteIdentifier(threadData, omc_Tpl_textString(threadData, _txt_0));
tmpMeta[0] = omc_Tpl_writeStr(threadData, _txt, _ret_1);
goto tmp2_done;
}
}
goto tmp2_end;
tmp2_end: ;
}
goto goto_1;
goto_1:;
MMC_THROW_INTERNAL();
goto tmp2_done;
tmp2_done:;
}
}
_out_txt = tmpMeta[0];
_return: OMC_LABEL_UNUSED
return _out_txt;
}
DLLExport
modelica_metatype omc_CodegenCFunctions_crefPre(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_cr)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta[2] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp3_1;modelica_metatype tmp3_2;
tmp3_1 = _in_txt;
tmp3_2 = _in_a_cr;
{
modelica_metatype _txt = NULL;
modelica_metatype _i_cr = NULL;
volatile mmc_switch_type tmp3;
int tmp4;
tmp3 = 0;
for (; tmp3 < 2; tmp3++) {
switch (MMC_SWITCH_CAST(tmp3)) {
case 0: {
if (mmc__uniontype__metarecord__typedef__equal(tmp3_2,1,3) == 0) goto tmp2_end;
tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_2), 2));
if (4 != MMC_STRLEN(tmpMeta[1]) || strcmp(MMC_STRINGDATA(_OMC_LIT1422), MMC_STRINGDATA(tmpMeta[1])) != 0) goto tmp2_end;
_txt = tmp3_1;
tmpMeta[0] = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1447);
goto tmp2_done;
}
case 1: {
_txt = tmp3_1;
_i_cr = tmp3_2;
tmpMeta[0] = omc_CodegenCFunctions_crefToCStr(threadData, _txt, _i_cr, ((modelica_integer) 0), 1, 0);
goto tmp2_done;
}
}
goto tmp2_end;
tmp2_end: ;
}
goto goto_1;
goto_1:;
MMC_THROW_INTERNAL();
goto tmp2_done;
tmp2_done:;
}
}
_out_txt = tmpMeta[0];
_return: OMC_LABEL_UNUSED
return _out_txt;
}
DLLExport
modelica_metatype omc_CodegenCFunctions_crefOld(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_cr, modelica_integer _in_a_ix)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta[2] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp3_1;modelica_metatype tmp3_2;modelica_integer tmp3_3;
tmp3_1 = _in_txt;
tmp3_2 = _in_a_cr;
tmp3_3 = _in_a_ix;
{
modelica_metatype _txt = NULL;
modelica_integer _a_ix;
modelica_metatype _i_cr = NULL;
volatile mmc_switch_type tmp3;
int tmp4;
tmp3 = 0;
for (; tmp3 < 6; tmp3++) {
switch (MMC_SWITCH_CAST(tmp3)) {
case 0: {
if (mmc__uniontype__metarecord__typedef__equal(tmp3_2,1,3) == 0) goto tmp2_end;
tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_2), 2));
if (4 != MMC_STRLEN(tmpMeta[1]) || strcmp(MMC_STRINGDATA(_OMC_LIT1445), MMC_STRINGDATA(tmpMeta[1])) != 0) goto tmp2_end;
_i_cr = tmp3_2;
_txt = tmp3_1;
tmpMeta[0] = omc_CodegenUtil_crefStr(threadData, _txt, _i_cr);
goto tmp2_done;
}
case 1: {
if (mmc__uniontype__metarecord__typedef__equal(tmp3_2,1,3) == 0) goto tmp2_end;
tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_2), 2));
if (4 != MMC_STRLEN(tmpMeta[1]) || strcmp(MMC_STRINGDATA(_OMC_LIT1422), MMC_STRINGDATA(tmpMeta[1])) != 0) goto tmp2_end;
_txt = tmp3_1;
_a_ix = tmp3_3;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT50);
_txt = omc_Tpl_writeStr(threadData, _txt, intString(_a_ix));
tmpMeta[0] = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1449);
goto tmp2_done;
}
case 2: {
if (mmc__uniontype__metarecord__typedef__equal(tmp3_2,1,3) == 0) goto tmp2_end;
tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_2), 2));
if (8 != MMC_STRLEN(tmpMeta[1]) || strcmp(MMC_STRINGDATA(_OMC_LIT1452), MMC_STRINGDATA(tmpMeta[1])) != 0) goto tmp2_end;
_txt = tmp3_1;
tmpMeta[0] = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT643);
goto tmp2_done;
}
case 3: {
if (mmc__uniontype__metarecord__typedef__equal(tmp3_2,1,3) == 0) goto tmp2_end;
tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_2), 2));
if (12 != MMC_STRLEN(tmpMeta[1]) || strcmp(MMC_STRINGDATA(_OMC_LIT1453), MMC_STRINGDATA(tmpMeta[1])) != 0) goto tmp2_end;
_txt = tmp3_1;
tmpMeta[0] = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1451);
goto tmp2_done;
}
case 4: {
if (mmc__uniontype__metarecord__typedef__equal(tmp3_2,4,0) == 0) goto tmp2_end;
_txt = tmp3_1;
tmpMeta[0] = _txt;
goto tmp2_done;
}
case 5: {
_txt = tmp3_1;
_i_cr = tmp3_2;
_a_ix = tmp3_3;
tmpMeta[0] = omc_CodegenCFunctions_crefToCStr(threadData, _txt, _i_cr, _a_ix, 0, 0);
goto tmp2_done;
}
}
goto tmp2_end;
tmp2_end: ;
}
goto goto_1;
goto_1:;
MMC_THROW_INTERNAL();
goto tmp2_done;
tmp2_done:;
}
}
_out_txt = tmpMeta[0];
_return: OMC_LABEL_UNUSED
return _out_txt;
}
modelica_metatype boxptr_CodegenCFunctions_crefOld(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_cr, modelica_metatype _in_a_ix)
{
modelica_integer tmp1;
modelica_metatype _out_txt = NULL;
tmp1 = mmc_unbox_integer(_in_a_ix);
_out_txt = omc_CodegenCFunctions_crefOld(threadData, _in_txt, _in_a_cr, tmp1);
return _out_txt;
}
DLLExport
modelica_metatype omc_CodegenCFunctions_crefOrStartCref(threadData_t *threadData, modelica_metatype _txt, modelica_metatype _a_cr, modelica_metatype _a_context, modelica_metatype _a_preExp, modelica_metatype _a_varDecls, modelica_metatype _a_auxFunction, modelica_metatype *out_out_a_preExp, modelica_metatype *out_out_a_varDecls, modelica_metatype *out_out_a_auxFunction)
{
modelica_metatype _out_txt = NULL;
modelica_metatype _out_a_preExp = NULL;
modelica_metatype _out_a_varDecls = NULL;
modelica_metatype _out_a_auxFunction = NULL;
modelica_metatype _ret_1 = NULL;
modelica_integer _ret_0;
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
_ret_0 = omc_SimCodeUtil_getSimCode(threadData);
_ret_1 = omc_SimCodeUtil_cref2simvar(threadData, _a_cr, mmc_mk_integer(_ret_0));
_out_txt = omc_CodegenCFunctions_fun__698(threadData, _txt, _ret_1, _a_cr, _a_context, _a_preExp, _a_varDecls, _a_auxFunction ,&_out_a_preExp ,&_out_a_varDecls ,&_out_a_auxFunction);
_return: OMC_LABEL_UNUSED
if (out_out_a_preExp) { *out_out_a_preExp = _out_a_preExp; }
if (out_out_a_varDecls) { *out_out_a_varDecls = _out_a_varDecls; }
if (out_out_a_auxFunction) { *out_out_a_auxFunction = _out_a_auxFunction; }
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__698(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_mArg, modelica_metatype _in_a_cr, modelica_metatype _in_a_context, modelica_metatype _in_a_preExp, modelica_metatype _in_a_varDecls, modelica_metatype _in_a_auxFunction, modelica_metatype *out_out_a_preExp, modelica_metatype *out_out_a_varDecls, modelica_metatype *out_out_a_auxFunction)
{
modelica_metatype _out_txt = NULL;
modelica_metatype _out_a_preExp = NULL;
modelica_metatype _out_a_varDecls = NULL;
modelica_metatype _out_a_auxFunction = NULL;
modelica_metatype tmpMeta[6] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_metatype tmp4_2;modelica_metatype tmp4_3;modelica_metatype tmp4_4;modelica_metatype tmp4_5;modelica_metatype tmp4_6;modelica_metatype tmp4_7;
tmp4_1 = _in_txt;
tmp4_2 = _in_mArg;
tmp4_3 = _in_a_cr;
tmp4_4 = _in_a_context;
tmp4_5 = _in_a_preExp;
tmp4_6 = _in_a_varDecls;
tmp4_7 = _in_a_auxFunction;
{
modelica_metatype _txt = NULL;
modelica_metatype _a_cr = NULL;
modelica_metatype _a_context = NULL;
modelica_metatype _a_preExp = NULL;
modelica_metatype _a_varDecls = NULL;
modelica_metatype _a_auxFunction = NULL;
modelica_metatype _i_startExp = NULL;
modelica_boolean _ret_1;
modelica_boolean _ret_0;
volatile mmc_switch_type tmp4;
int tmp5;
tmp4 = 0;
for (; tmp4 < 2; tmp4++) {
switch (MMC_SWITCH_CAST(tmp4)) {
case 0: {
tmpMeta[4] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 10));
if (optionNone(tmpMeta[4])) goto tmp3_end;
tmpMeta[5] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[4]), 1));
_i_startExp = tmpMeta[5];
_txt = tmp4_1;
_a_cr = tmp4_3;
_a_context = tmp4_4;
_a_preExp = tmp4_5;
_a_varDecls = tmp4_6;
_a_auxFunction = tmp4_7;
_ret_0 = omc_Expression_isConst(threadData, _i_startExp);
_ret_1 = (!_ret_0);
_txt = omc_CodegenCFunctions_fun__697(threadData, _txt, _ret_1, _a_auxFunction, _a_varDecls, _a_preExp, _a_context, _i_startExp, _a_cr ,&_a_auxFunction ,&_a_varDecls ,&_a_preExp);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_preExp;
tmpMeta[0+2] = _a_varDecls;
tmpMeta[0+3] = _a_auxFunction;
goto tmp3_done;
}
case 1: {
_txt = tmp4_1;
_a_cr = tmp4_3;
_a_preExp = tmp4_5;
_a_varDecls = tmp4_6;
_a_auxFunction = tmp4_7;
_txt = omc_CodegenCFunctions_cref(threadData, _txt, _a_cr);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_preExp;
tmpMeta[0+2] = _a_varDecls;
tmpMeta[0+3] = _a_auxFunction;
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta[0+0];
_out_a_preExp = tmpMeta[0+1];
_out_a_varDecls = tmpMeta[0+2];
_out_a_auxFunction = tmpMeta[0+3];
_return: OMC_LABEL_UNUSED
if (out_out_a_preExp) { *out_out_a_preExp = _out_a_preExp; }
if (out_out_a_varDecls) { *out_out_a_varDecls = _out_a_varDecls; }
if (out_out_a_auxFunction) { *out_out_a_auxFunction = _out_a_auxFunction; }
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__697(threadData_t *threadData, modelica_metatype _in_txt, modelica_boolean _in_mArg, modelica_metatype _in_a_auxFunction, modelica_metatype _in_a_varDecls, modelica_metatype _in_a_preExp, modelica_metatype _in_a_context, modelica_metatype _in_a_startExp, modelica_metatype _in_a_cr, modelica_metatype *out_out_a_auxFunction, modelica_metatype *out_out_a_varDecls, modelica_metatype *out_out_a_preExp)
{
modelica_metatype _out_txt = NULL;
modelica_metatype _out_a_auxFunction = NULL;
modelica_metatype _out_a_varDecls = NULL;
modelica_metatype _out_a_preExp = NULL;
modelica_metatype tmpMeta[4] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_boolean tmp4_2;modelica_metatype tmp4_3;modelica_metatype tmp4_4;modelica_metatype tmp4_5;modelica_metatype tmp4_6;modelica_metatype tmp4_7;modelica_metatype tmp4_8;
tmp4_1 = _in_txt;
tmp4_2 = _in_mArg;
tmp4_3 = _in_a_auxFunction;
tmp4_4 = _in_a_varDecls;
tmp4_5 = _in_a_preExp;
tmp4_6 = _in_a_context;
tmp4_7 = _in_a_startExp;
tmp4_8 = _in_a_cr;
{
modelica_metatype _txt = NULL;
modelica_metatype _a_auxFunction = NULL;
modelica_metatype _a_varDecls = NULL;
modelica_metatype _a_preExp = NULL;
modelica_metatype _a_context = NULL;
modelica_metatype _a_startExp = NULL;
modelica_metatype _a_cr = NULL;
volatile mmc_switch_type tmp4;
int tmp5;
tmp4 = 0;
for (; tmp4 < 2; tmp4++) {
switch (MMC_SWITCH_CAST(tmp4)) {
case 0: {
if (0 != tmp4_2) goto tmp3_end;
_txt = tmp4_1;
_a_auxFunction = tmp4_3;
_a_varDecls = tmp4_4;
_a_preExp = tmp4_5;
_a_cr = tmp4_8;
_txt = omc_CodegenCFunctions_cref(threadData, _txt, _a_cr);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_auxFunction;
tmpMeta[0+2] = _a_varDecls;
tmpMeta[0+3] = _a_preExp;
goto tmp3_done;
}
case 1: {
_txt = tmp4_1;
_a_auxFunction = tmp4_3;
_a_varDecls = tmp4_4;
_a_preExp = tmp4_5;
_a_context = tmp4_6;
_a_startExp = tmp4_7;
_txt = omc_CodegenCFunctions_daeExp(threadData, _txt, _a_startExp, _a_context, _a_preExp, _a_varDecls, _a_auxFunction ,&_a_preExp ,&_a_varDecls ,&_a_auxFunction);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_auxFunction;
tmpMeta[0+2] = _a_varDecls;
tmpMeta[0+3] = _a_preExp;
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta[0+0];
_out_a_auxFunction = tmpMeta[0+1];
_out_a_varDecls = tmpMeta[0+2];
_out_a_preExp = tmpMeta[0+3];
_return: OMC_LABEL_UNUSED
if (out_out_a_auxFunction) { *out_out_a_auxFunction = _out_a_auxFunction; }
if (out_out_a_varDecls) { *out_out_a_varDecls = _out_a_varDecls; }
if (out_out_a_preExp) { *out_out_a_preExp = _out_a_preExp; }
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__697(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_mArg, modelica_metatype _in_a_auxFunction, modelica_metatype _in_a_varDecls, modelica_metatype _in_a_preExp, modelica_metatype _in_a_context, modelica_metatype _in_a_startExp, modelica_metatype _in_a_cr, modelica_metatype *out_out_a_auxFunction, modelica_metatype *out_out_a_varDecls, modelica_metatype *out_out_a_preExp)
{
modelica_integer tmp1;
modelica_metatype _out_txt = NULL;
tmp1 = mmc_unbox_integer(_in_mArg);
_out_txt = omc_CodegenCFunctions_fun__697(threadData, _in_txt, tmp1, _in_a_auxFunction, _in_a_varDecls, _in_a_preExp, _in_a_context, _in_a_startExp, _in_a_cr, out_out_a_auxFunction, out_out_a_varDecls, out_out_a_preExp);
return _out_txt;
}
DLLExport
modelica_metatype omc_CodegenCFunctions_cref(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_cr)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta[2] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp3_1;modelica_metatype tmp3_2;
tmp3_1 = _in_txt;
tmp3_2 = _in_a_cr;
{
modelica_metatype _txt = NULL;
modelica_metatype _i_cr = NULL;
volatile mmc_switch_type tmp3;
int tmp4;
tmp3 = 0;
for (; tmp3 < 6; tmp3++) {
switch (MMC_SWITCH_CAST(tmp3)) {
case 0: {
if (mmc__uniontype__metarecord__typedef__equal(tmp3_2,1,3) == 0) goto tmp2_end;
tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_2), 2));
if (4 != MMC_STRLEN(tmpMeta[1]) || strcmp(MMC_STRINGDATA(_OMC_LIT1445), MMC_STRINGDATA(tmpMeta[1])) != 0) goto tmp2_end;
_i_cr = tmp3_2;
_txt = tmp3_1;
tmpMeta[0] = omc_CodegenUtil_crefStr(threadData, _txt, _i_cr);
goto tmp2_done;
}
case 1: {
if (mmc__uniontype__metarecord__typedef__equal(tmp3_2,1,3) == 0) goto tmp2_end;
tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_2), 2));
if (4 != MMC_STRLEN(tmpMeta[1]) || strcmp(MMC_STRINGDATA(_OMC_LIT1422), MMC_STRINGDATA(tmpMeta[1])) != 0) goto tmp2_end;
_txt = tmp3_1;
tmpMeta[0] = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1421);
goto tmp2_done;
}
case 2: {
if (mmc__uniontype__metarecord__typedef__equal(tmp3_2,1,3) == 0) goto tmp2_end;
tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_2), 2));
if (8 != MMC_STRLEN(tmpMeta[1]) || strcmp(MMC_STRINGDATA(_OMC_LIT1452), MMC_STRINGDATA(tmpMeta[1])) != 0) goto tmp2_end;
_txt = tmp3_1;
tmpMeta[0] = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT643);
goto tmp2_done;
}
case 3: {
if (mmc__uniontype__metarecord__typedef__equal(tmp3_2,1,3) == 0) goto tmp2_end;
tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_2), 2));
if (12 != MMC_STRLEN(tmpMeta[1]) || strcmp(MMC_STRINGDATA(_OMC_LIT1453), MMC_STRINGDATA(tmpMeta[1])) != 0) goto tmp2_end;
_txt = tmp3_1;
tmpMeta[0] = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1451);
goto tmp2_done;
}
case 4: {
if (mmc__uniontype__metarecord__typedef__equal(tmp3_2,4,0) == 0) goto tmp2_end;
_txt = tmp3_1;
tmpMeta[0] = _txt;
goto tmp2_done;
}
case 5: {
_txt = tmp3_1;
_i_cr = tmp3_2;
tmpMeta[0] = omc_CodegenCFunctions_crefToCStr(threadData, _txt, _i_cr, ((modelica_integer) 0), 0, 0);
goto tmp2_done;
}
}
goto tmp2_end;
tmp2_end: ;
}
goto goto_1;
goto_1:;
MMC_THROW_INTERNAL();
goto tmp2_done;
tmp2_done:;
}
}
_out_txt = tmpMeta[0];
_return: OMC_LABEL_UNUSED
return _out_txt;
}
DLLExport
modelica_metatype omc_CodegenCFunctions_contextIteratorName(threadData_t *threadData, modelica_metatype _txt, modelica_string _a_name, modelica_metatype _a_context)
{
modelica_metatype _out_txt = NULL;
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
_out_txt = omc_CodegenCFunctions_fun__694(threadData, _txt, _a_context, _a_name);
_return: OMC_LABEL_UNUSED
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__694(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_context, modelica_string _in_a_name)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta[1] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp3_1;modelica_metatype tmp3_2;modelica_string tmp3_3;
tmp3_1 = _in_txt;
tmp3_2 = _in_a_context;
tmp3_3 = _in_a_name;
{
modelica_metatype _txt = NULL;
modelica_string _a_name = NULL;
modelica_string _ret_1 = NULL;
modelica_string _ret_0 = NULL;
volatile mmc_switch_type tmp3;
int tmp4;
tmp3 = 0;
for (; tmp3 < 2; tmp3++) {
switch (MMC_SWITCH_CAST(tmp3)) {
case 0: {
if (mmc__uniontype__metarecord__typedef__equal(tmp3_2,1,2) == 0) goto tmp2_end;
_txt = tmp3_1;
_a_name = tmp3_3;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT236);
_ret_0 = omc_System_unquoteIdentifier(threadData, _a_name);
tmpMeta[0] = omc_Tpl_writeStr(threadData, _txt, _ret_0);
goto tmp2_done;
}
case 1: {
_txt = tmp3_1;
_a_name = tmp3_3;
_ret_1 = omc_System_unquoteIdentifier(threadData, _a_name);
tmpMeta[0] = omc_Tpl_writeStr(threadData, _txt, _ret_1);
goto tmp2_done;
}
}
goto tmp2_end;
tmp2_end: ;
}
goto goto_1;
goto_1:;
MMC_THROW_INTERNAL();
goto tmp2_done;
tmp2_done:;
}
}
_out_txt = tmpMeta[0];
_return: OMC_LABEL_UNUSED
return _out_txt;
}
DLLExport
modelica_metatype omc_CodegenCFunctions_contextCrefIsPre(threadData_t *threadData, modelica_metatype _txt, modelica_metatype _a_cr, modelica_metatype _a_context, modelica_metatype _a_auxFunction, modelica_boolean _a_isPre, modelica_metatype *out_out_a_auxFunction)
{
modelica_metatype _out_txt = NULL;
modelica_metatype _out_a_auxFunction = NULL;
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
_out_txt = omc_CodegenCFunctions_fun__692(threadData, _txt, _a_isPre, _a_cr, _a_context, _a_auxFunction ,&_out_a_auxFunction);
_return: OMC_LABEL_UNUSED
if (out_out_a_auxFunction) { *out_out_a_auxFunction = _out_a_auxFunction; }
return _out_txt;
}
modelica_metatype boxptr_CodegenCFunctions_contextCrefIsPre(threadData_t *threadData, modelica_metatype _txt, modelica_metatype _a_cr, modelica_metatype _a_context, modelica_metatype _a_auxFunction, modelica_metatype _a_isPre, modelica_metatype *out_out_a_auxFunction)
{
modelica_integer tmp1;
modelica_metatype _out_txt = NULL;
tmp1 = mmc_unbox_integer(_a_isPre);
_out_txt = omc_CodegenCFunctions_contextCrefIsPre(threadData, _txt, _a_cr, _a_context, _a_auxFunction, tmp1, out_out_a_auxFunction);
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__692(threadData_t *threadData, modelica_metatype _in_txt, modelica_boolean _in_a_isPre, modelica_metatype _in_a_cr, modelica_metatype _in_a_context, modelica_metatype _in_a_auxFunction, modelica_metatype *out_out_a_auxFunction)
{
modelica_metatype _out_txt = NULL;
modelica_metatype _out_a_auxFunction = NULL;
modelica_metatype tmpMeta[2] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_boolean tmp4_2;modelica_metatype tmp4_3;modelica_metatype tmp4_4;modelica_metatype tmp4_5;
tmp4_1 = _in_txt;
tmp4_2 = _in_a_isPre;
tmp4_3 = _in_a_cr;
tmp4_4 = _in_a_context;
tmp4_5 = _in_a_auxFunction;
{
modelica_metatype _txt = NULL;
modelica_metatype _a_cr = NULL;
modelica_metatype _a_context = NULL;
modelica_metatype _a_auxFunction = NULL;
volatile mmc_switch_type tmp4;
int tmp5;
tmp4 = 0;
for (; tmp4 < 2; tmp4++) {
switch (MMC_SWITCH_CAST(tmp4)) {
case 0: {
if (0 != tmp4_2) goto tmp3_end;
_txt = tmp4_1;
_a_cr = tmp4_3;
_a_context = tmp4_4;
_a_auxFunction = tmp4_5;
tmpMeta[0+0] = omc_CodegenCFunctions_contextCrefNoPrevExp(threadData, _txt, _a_cr, _a_context, _a_auxFunction, &tmpMeta[0+1]);
goto tmp3_done;
}
case 1: {
_txt = tmp4_1;
_a_cr = tmp4_3;
_a_auxFunction = tmp4_5;
_txt = omc_CodegenCFunctions_crefPre(threadData, _txt, _a_cr);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_auxFunction;
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta[0+0];
_out_a_auxFunction = tmpMeta[0+1];
_return: OMC_LABEL_UNUSED
if (out_out_a_auxFunction) { *out_out_a_auxFunction = _out_a_auxFunction; }
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__692(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_isPre, modelica_metatype _in_a_cr, modelica_metatype _in_a_context, modelica_metatype _in_a_auxFunction, modelica_metatype *out_out_a_auxFunction)
{
modelica_integer tmp1;
modelica_metatype _out_txt = NULL;
tmp1 = mmc_unbox_integer(_in_a_isPre);
_out_txt = omc_CodegenCFunctions_fun__692(threadData, _in_txt, tmp1, _in_a_cr, _in_a_context, _in_a_auxFunction, out_out_a_auxFunction);
return _out_txt;
}
DLLExport
modelica_metatype omc_CodegenCFunctions_jacCrefs(threadData_t *threadData, modelica_metatype _txt, modelica_metatype _a_cr, modelica_metatype _a_context, modelica_integer _a_ix)
{
modelica_metatype _out_txt = NULL;
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
_out_txt = omc_CodegenCFunctions_fun__690(threadData, _txt, _a_context, _a_cr, _a_ix);
_return: OMC_LABEL_UNUSED
return _out_txt;
}
modelica_metatype boxptr_CodegenCFunctions_jacCrefs(threadData_t *threadData, modelica_metatype _txt, modelica_metatype _a_cr, modelica_metatype _a_context, modelica_metatype _a_ix)
{
modelica_integer tmp1;
modelica_metatype _out_txt = NULL;
tmp1 = mmc_unbox_integer(_a_ix);
_out_txt = omc_CodegenCFunctions_jacCrefs(threadData, _txt, _a_cr, _a_context, tmp1);
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__690(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_context, modelica_metatype _in_a_cr, modelica_integer _in_a_ix)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta[3] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp3_1;modelica_metatype tmp3_2;modelica_metatype tmp3_3;modelica_integer tmp3_4;
tmp3_1 = _in_txt;
tmp3_2 = _in_a_context;
tmp3_3 = _in_a_cr;
tmp3_4 = _in_a_ix;
{
modelica_metatype _txt = NULL;
modelica_metatype _a_cr = NULL;
modelica_integer _a_ix;
modelica_metatype _i_jacHT = NULL;
modelica_metatype _ret_0 = NULL;
volatile mmc_switch_type tmp3;
int tmp4;
tmp3 = 0;
for (; tmp3 < 2; tmp3++) {
switch (MMC_SWITCH_CAST(tmp3)) {
case 0: {
if (mmc__uniontype__metarecord__typedef__equal(tmp3_2,3,1) == 0) goto tmp2_end;
tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_2), 2));
if (optionNone(tmpMeta[1])) goto tmp2_end;
tmpMeta[2] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[1]), 1));
_i_jacHT = tmpMeta[2];
_txt = tmp3_1;
_a_cr = tmp3_3;
_a_ix = tmp3_4;
_ret_0 = omc_SimCodeUtil_simVarFromHT(threadData, _a_cr, _i_jacHT);
tmpMeta[0] = omc_CodegenCFunctions_fun__689(threadData, _txt, _ret_0, _a_ix, _a_cr);
goto tmp2_done;
}
case 1: {
_txt = tmp3_1;
tmpMeta[0] = _txt;
goto tmp2_done;
}
}
goto tmp2_end;
tmp2_end: ;
}
goto goto_1;
goto_1:;
MMC_THROW_INTERNAL();
goto tmp2_done;
tmp2_done:;
}
}
_out_txt = tmpMeta[0];
_return: OMC_LABEL_UNUSED
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__690(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_context, modelica_metatype _in_a_cr, modelica_metatype _in_a_ix)
{
modelica_integer tmp1;
modelica_metatype _out_txt = NULL;
tmp1 = mmc_unbox_integer(_in_a_ix);
_out_txt = omc_CodegenCFunctions_fun__690(threadData, _in_txt, _in_a_context, _in_a_cr, tmp1);
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__689(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_mArg, modelica_integer _in_a_ix, modelica_metatype _in_a_cr)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta[4] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp3_1;modelica_metatype tmp3_2;modelica_integer tmp3_3;modelica_metatype tmp3_4;
tmp3_1 = _in_txt;
tmp3_2 = _in_mArg;
tmp3_3 = _in_a_ix;
tmp3_4 = _in_a_cr;
{
modelica_metatype _txt = NULL;
modelica_integer _a_ix;
modelica_metatype _a_cr = NULL;
modelica_metatype _i_varKind = NULL;
modelica_metatype _i_name = NULL;
modelica_integer _i_index;
modelica_metatype _txt_2 = NULL;
modelica_metatype _txt_1 = NULL;
modelica_metatype _txt_0 = NULL;
volatile mmc_switch_type tmp3;
int tmp4;
tmp3 = 0;
for (; tmp3 < 5; tmp3++) {
switch (MMC_SWITCH_CAST(tmp3)) {
case 0: {
modelica_integer tmp5;
tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_2), 2));
tmpMeta[2] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_2), 3));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[2],10,0) == 0) goto tmp2_end;
tmpMeta[3] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_2), 7));
tmp5 = mmc_unbox_integer(tmpMeta[3]);
_i_name = tmpMeta[1];
_i_varKind = tmpMeta[2];
_i_index = tmp5;
_txt = tmp3_1;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1455);
_txt = omc_Tpl_writeStr(threadData, _txt, intString(_i_index));
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT42);
_txt_0 = omc_CodegenUtil_crefStrNoUnderscore(threadData, _OMC_LIT20, _i_name);
_txt = omc_CodegenUtil_escapeCComments(threadData, _txt, omc_Tpl_textString(threadData, _txt_0));
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT29);
_txt = omc_CodegenUtil_variabilityString(threadData, _txt, _i_varKind);
tmpMeta[0] = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT22);
goto tmp2_done;
}
case 1: {
modelica_integer tmp6;
tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_2), 2));
tmpMeta[2] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_2), 3));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[2],11,0) == 0) goto tmp2_end;
tmpMeta[3] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_2), 7));
tmp6 = mmc_unbox_integer(tmpMeta[3]);
_i_name = tmpMeta[1];
_i_varKind = tmpMeta[2];
_i_index = tmp6;
_txt = tmp3_1;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1457);
_txt = omc_Tpl_writeStr(threadData, _txt, intString(_i_index));
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT42);
_txt_1 = omc_CodegenUtil_crefStrNoUnderscore(threadData, _OMC_LIT20, _i_name);
_txt = omc_CodegenUtil_escapeCComments(threadData, _txt, omc_Tpl_textString(threadData, _txt_1));
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT29);
_txt = omc_CodegenUtil_variabilityString(threadData, _txt, _i_varKind);
tmpMeta[0] = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT22);
goto tmp2_done;
}
case 2: {
modelica_integer tmp7;
tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_2), 2));
tmpMeta[2] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_2), 3));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[2],12,0) == 0) goto tmp2_end;
tmpMeta[3] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_2), 7));
tmp7 = mmc_unbox_integer(tmpMeta[3]);
_i_name = tmpMeta[1];
_i_varKind = tmpMeta[2];
_i_index = tmp7;
_txt = tmp3_1;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1459);
_txt = omc_Tpl_writeStr(threadData, _txt, intString(_i_index));
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT42);
_txt_2 = omc_CodegenUtil_crefStrNoUnderscore(threadData, _OMC_LIT20, _i_name);
_txt = omc_CodegenUtil_escapeCComments(threadData, _txt, omc_Tpl_textString(threadData, _txt_2));
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT29);
_txt = omc_CodegenUtil_variabilityString(threadData, _txt, _i_varKind);
tmpMeta[0] = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT22);
goto tmp2_done;
}
case 3: {
modelica_integer tmp8;
tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_2), 7));
tmp8 = mmc_unbox_integer(tmpMeta[1]);
if (-2 != tmp8) goto tmp2_end;
_txt = tmp3_1;
_a_ix = tmp3_3;
_a_cr = tmp3_4;
tmpMeta[0] = omc_CodegenCFunctions_crefOld(threadData, _txt, _a_cr, _a_ix);
goto tmp2_done;
}
case 4: {
_txt = tmp3_1;
tmpMeta[0] = _txt;
goto tmp2_done;
}
}
goto tmp2_end;
tmp2_end: ;
}
goto goto_1;
goto_1:;
MMC_THROW_INTERNAL();
goto tmp2_done;
tmp2_done:;
}
}
_out_txt = tmpMeta[0];
_return: OMC_LABEL_UNUSED
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__689(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_mArg, modelica_metatype _in_a_ix, modelica_metatype _in_a_cr)
{
modelica_integer tmp1;
modelica_metatype _out_txt = NULL;
tmp1 = mmc_unbox_integer(_in_a_ix);
_out_txt = omc_CodegenCFunctions_fun__689(threadData, _in_txt, _in_mArg, tmp1, _in_a_cr);
return _out_txt;
}
DLLExport
modelica_metatype omc_CodegenCFunctions_contextCrefOld(threadData_t *threadData, modelica_metatype _txt, modelica_metatype _a_cr, modelica_metatype _a_context, modelica_metatype _a_auxFunction, modelica_integer _a_ix, modelica_metatype *out_out_a_auxFunction)
{
modelica_metatype _out_txt = NULL;
modelica_metatype _out_a_auxFunction = NULL;
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
_out_txt = omc_CodegenCFunctions_fun__687(threadData, _txt, _a_context, _a_cr, _a_auxFunction, _a_ix ,&_out_a_auxFunction);
_return: OMC_LABEL_UNUSED
if (out_out_a_auxFunction) { *out_out_a_auxFunction = _out_a_auxFunction; }
return _out_txt;
}
modelica_metatype boxptr_CodegenCFunctions_contextCrefOld(threadData_t *threadData, modelica_metatype _txt, modelica_metatype _a_cr, modelica_metatype _a_context, modelica_metatype _a_auxFunction, modelica_metatype _a_ix, modelica_metatype *out_out_a_auxFunction)
{
modelica_integer tmp1;
modelica_metatype _out_txt = NULL;
tmp1 = mmc_unbox_integer(_a_ix);
_out_txt = omc_CodegenCFunctions_contextCrefOld(threadData, _txt, _a_cr, _a_context, _a_auxFunction, tmp1, out_out_a_auxFunction);
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__687(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_context, modelica_metatype _in_a_cr, modelica_metatype _in_a_auxFunction, modelica_integer _in_a_ix, modelica_metatype *out_out_a_auxFunction)
{
modelica_metatype _out_txt = NULL;
modelica_metatype _out_a_auxFunction = NULL;
modelica_metatype tmpMeta[4] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_metatype tmp4_2;modelica_metatype tmp4_3;modelica_metatype tmp4_4;modelica_integer tmp4_5;
tmp4_1 = _in_txt;
tmp4_2 = _in_a_context;
tmp4_3 = _in_a_cr;
tmp4_4 = _in_a_auxFunction;
tmp4_5 = _in_a_ix;
{
modelica_metatype _txt = NULL;
modelica_metatype _a_cr = NULL;
modelica_metatype _a_auxFunction = NULL;
modelica_integer _a_ix;
modelica_metatype _i_context = NULL;
volatile mmc_switch_type tmp4;
int tmp5;
tmp4 = 0;
for (; tmp4 < 3; tmp4++) {
switch (MMC_SWITCH_CAST(tmp4)) {
case 0: {
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,1,2) == 0) goto tmp3_end;
_i_context = tmp4_2;
_txt = tmp4_1;
_a_cr = tmp4_3;
_a_auxFunction = tmp4_4;
tmpMeta[0+0] = omc_CodegenCFunctions_fun__686(threadData, _txt, _a_cr, _a_auxFunction, _i_context, &tmpMeta[0+1]);
goto tmp3_done;
}
case 1: {
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,3,1) == 0) goto tmp3_end;
tmpMeta[2] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
if (optionNone(tmpMeta[2])) goto tmp3_end;
tmpMeta[3] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[2]), 1));
_i_context = tmp4_2;
_txt = tmp4_1;
_a_cr = tmp4_3;
_a_auxFunction = tmp4_4;
_a_ix = tmp4_5;
_txt = omc_CodegenCFunctions_jacCrefs(threadData, _txt, _a_cr, _i_context, _a_ix);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_auxFunction;
goto tmp3_done;
}
case 2: {
_txt = tmp4_1;
_a_cr = tmp4_3;
_a_auxFunction = tmp4_4;
_a_ix = tmp4_5;
_txt = omc_CodegenCFunctions_crefOld(threadData, _txt, _a_cr, _a_ix);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_auxFunction;
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta[0+0];
_out_a_auxFunction = tmpMeta[0+1];
_return: OMC_LABEL_UNUSED
if (out_out_a_auxFunction) { *out_out_a_auxFunction = _out_a_auxFunction; }
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__687(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_context, modelica_metatype _in_a_cr, modelica_metatype _in_a_auxFunction, modelica_metatype _in_a_ix, modelica_metatype *out_out_a_auxFunction)
{
modelica_integer tmp1;
modelica_metatype _out_txt = NULL;
tmp1 = mmc_unbox_integer(_in_a_ix);
_out_txt = omc_CodegenCFunctions_fun__687(threadData, _in_txt, _in_a_context, _in_a_cr, _in_a_auxFunction, tmp1, out_out_a_auxFunction);
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__686(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_cr, modelica_metatype _in_a_auxFunction, modelica_metatype _in_a_context, modelica_metatype *out_out_a_auxFunction)
{
modelica_metatype _out_txt = NULL;
modelica_metatype _out_a_auxFunction = NULL;
modelica_metatype tmpMeta[7] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_metatype tmp4_2;modelica_metatype tmp4_3;modelica_metatype tmp4_4;
tmp4_1 = _in_txt;
tmp4_2 = _in_a_cr;
tmp4_3 = _in_a_auxFunction;
tmp4_4 = _in_a_context;
{
modelica_metatype _txt = NULL;
modelica_metatype _a_auxFunction = NULL;
modelica_metatype _a_context = NULL;
modelica_metatype _i_componentRef = NULL;
modelica_string _i_ident = NULL;
modelica_metatype _i_cr = NULL;
modelica_metatype _i_record__state = NULL;
modelica_string _ret_12 = NULL;
modelica_metatype _txt_11 = NULL;
modelica_metatype _ret_10 = NULL;
modelica_metatype _l_dimsValuesStr = NULL;
modelica_integer _ret_8;
modelica_metatype _ret_7 = NULL;
modelica_metatype _l_dimsLenStr = NULL;
modelica_metatype _txt_5 = NULL;
modelica_metatype _ret_3 = NULL;
modelica_metatype _l_rec__name = NULL;
modelica_metatype _l_varDecls = NULL;
modelica_metatype _l_preExp = NULL;
volatile mmc_switch_type tmp4;
int tmp5;
tmp4 = 0;
for (; tmp4 < 2; tmp4++) {
switch (MMC_SWITCH_CAST(tmp4)) {
case 0: {
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,0,4) == 0) goto tmp3_end;
tmpMeta[2] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
tmpMeta[3] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 3));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[3],6,2) == 0) goto tmp3_end;
tmpMeta[4] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[3]), 2));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[4],9,3) == 0) goto tmp3_end;
tmpMeta[5] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[4]), 2));
tmpMeta[6] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 5));
_i_cr = tmp4_2;
_i_ident = tmpMeta[2];
_i_record__state = tmpMeta[5];
_i_componentRef = tmpMeta[6];
_txt = tmp4_1;
_a_auxFunction = tmp4_3;
_a_context = tmp4_4;
_l_preExp = _OMC_LIT20;
_l_varDecls = _OMC_LIT20;
_ret_3 = omc_ClassInf_getStateName(threadData, _i_record__state);
_l_rec__name = omc_CodegenUtil_underscorePath(threadData, _OMC_LIT20, _ret_3);
_txt_5 = omc_Tpl_writeText(threadData, _OMC_LIT20, _l_rec__name);
_txt_5 = omc_Tpl_writeTok(threadData, _txt_5, _OMC_LIT256);
omc_CodegenCFunctions_tempDecl(threadData, _OMC_LIT20, omc_Tpl_textString(threadData, _txt_5), _l_varDecls ,&_l_varDecls);
_ret_7 = omc_ComponentReference_crefSubs(threadData, _i_cr);
_ret_8 = listLength(_ret_7);
_l_dimsLenStr = omc_Tpl_writeStr(threadData, _OMC_LIT20, intString(_ret_8));
_ret_10 = omc_ComponentReference_crefSubs(threadData, _i_cr);
_l_dimsValuesStr = omc_Tpl_pushIter(threadData, _OMC_LIT20, _OMC_LIT294);
_l_dimsValuesStr = omc_CodegenCFunctions_lm__685(threadData, _l_dimsValuesStr, _ret_10, _a_auxFunction, _l_varDecls, _l_preExp, _a_context ,&_a_auxFunction ,&_l_varDecls ,&_l_preExp);
_l_dimsValuesStr = omc_Tpl_popIter(threadData, _l_dimsValuesStr);
_txt = omc_Tpl_writeText(threadData, _txt, _l_rec__name);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1461);
_txt = omc_Tpl_writeStr(threadData, _txt, _i_ident);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT292);
_txt = omc_Tpl_writeText(threadData, _txt, _l_dimsLenStr);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT292);
_txt = omc_Tpl_writeText(threadData, _txt, _l_dimsValuesStr);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1463);
tmpMeta[0+0] = omc_CodegenCFunctions_contextCrefNoPrevExp(threadData, _txt, _i_componentRef, _a_context, _a_auxFunction, &tmpMeta[0+1]);
goto tmp3_done;
}
case 1: {
_txt = tmp4_1;
_i_cr = tmp4_2;
_a_auxFunction = tmp4_3;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT236);
_txt_11 = omc_CodegenUtil_crefStr(threadData, _OMC_LIT20, _i_cr);
_ret_12 = omc_System_unquoteIdentifier(threadData, omc_Tpl_textString(threadData, _txt_11));
_txt = omc_Tpl_writeStr(threadData, _txt, _ret_12);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_auxFunction;
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta[0+0];
_out_a_auxFunction = tmpMeta[0+1];
_return: OMC_LABEL_UNUSED
if (out_out_a_auxFunction) { *out_out_a_auxFunction = _out_a_auxFunction; }
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_lm__685(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_items, modelica_metatype _in_a_auxFunction, modelica_metatype _in_a_varDecls, modelica_metatype _in_a_preExp, modelica_metatype _in_a_context, modelica_metatype *out_out_a_auxFunction, modelica_metatype *out_out_a_varDecls, modelica_metatype *out_out_a_preExp)
{
modelica_metatype _out_txt = NULL;
modelica_metatype _out_a_auxFunction = NULL;
modelica_metatype _out_a_varDecls = NULL;
modelica_metatype _out_a_preExp = NULL;
modelica_metatype tmpMeta[7] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_metatype tmp4_2;modelica_metatype tmp4_3;modelica_metatype tmp4_4;modelica_metatype tmp4_5;modelica_metatype tmp4_6;
tmp4_1 = _in_txt;
tmp4_2 = _in_items;
tmp4_3 = _in_a_auxFunction;
tmp4_4 = _in_a_varDecls;
tmp4_5 = _in_a_preExp;
tmp4_6 = _in_a_context;
{
modelica_metatype _txt = NULL;
modelica_metatype _rest = NULL;
modelica_metatype _a_auxFunction = NULL;
modelica_metatype _a_varDecls = NULL;
modelica_metatype _a_preExp = NULL;
modelica_metatype _a_context = NULL;
modelica_metatype _i_exp = NULL;
volatile mmc_switch_type tmp4;
int tmp5;
tmp4 = 0;
for (; tmp4 < 3; tmp4++) {
switch (MMC_SWITCH_CAST(tmp4)) {
case 0: {
if (!listEmpty(tmp4_2)) goto tmp3_end;
_txt = tmp4_1;
_a_auxFunction = tmp4_3;
_a_varDecls = tmp4_4;
_a_preExp = tmp4_5;
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_auxFunction;
tmpMeta[0+2] = _a_varDecls;
tmpMeta[0+3] = _a_preExp;
goto tmp3_done;
}
case 1: {
if (listEmpty(tmp4_2)) goto tmp3_end;
tmpMeta[4] = MMC_CAR(tmp4_2);
tmpMeta[5] = MMC_CDR(tmp4_2);
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[4],2,1) == 0) goto tmp3_end;
tmpMeta[6] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[4]), 2));
_i_exp = tmpMeta[6];
_rest = tmpMeta[5];
_txt = tmp4_1;
_a_auxFunction = tmp4_3;
_a_varDecls = tmp4_4;
_a_preExp = tmp4_5;
_a_context = tmp4_6;
_txt = omc_CodegenCFunctions_daeSubscriptExp(threadData, _txt, _i_exp, _a_context, _a_preExp, _a_varDecls, _a_auxFunction ,&_a_preExp ,&_a_varDecls ,&_a_auxFunction);
_txt = omc_Tpl_nextIter(threadData, _txt);
_in_txt = _txt;
_in_items = _rest;
_in_a_auxFunction = _a_auxFunction;
_in_a_varDecls = _a_varDecls;
_in_a_preExp = _a_preExp;
_in_a_context = _a_context;
goto _tailrecursive;
goto tmp3_done;
}
case 2: {
if (listEmpty(tmp4_2)) goto tmp3_end;
tmpMeta[4] = MMC_CAR(tmp4_2);
tmpMeta[5] = MMC_CDR(tmp4_2);
_rest = tmpMeta[5];
_txt = tmp4_1;
_a_auxFunction = tmp4_3;
_a_varDecls = tmp4_4;
_a_preExp = tmp4_5;
_a_context = tmp4_6;
_in_txt = _txt;
_in_items = _rest;
_in_a_auxFunction = _a_auxFunction;
_in_a_varDecls = _a_varDecls;
_in_a_preExp = _a_preExp;
_in_a_context = _a_context;
goto _tailrecursive;
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta[0+0];
_out_a_auxFunction = tmpMeta[0+1];
_out_a_varDecls = tmpMeta[0+2];
_out_a_preExp = tmpMeta[0+3];
_return: OMC_LABEL_UNUSED
if (out_out_a_auxFunction) { *out_out_a_auxFunction = _out_a_auxFunction; }
if (out_out_a_varDecls) { *out_out_a_varDecls = _out_a_varDecls; }
if (out_out_a_preExp) { *out_out_a_preExp = _out_a_preExp; }
return _out_txt;
}
DLLExport
modelica_metatype omc_CodegenCFunctions_functionContextCrefFirstIdentNoUnderscore(threadData_t *threadData, modelica_metatype _txt, modelica_metatype _a_cr, modelica_metatype _a_context, modelica_metatype _a_pref, modelica_metatype _a_preExp, modelica_metatype _a_varDecls, modelica_metatype _a_auxFunction, modelica_metatype *out_out_a_pref, modelica_metatype *out_out_a_preExp, modelica_metatype *out_out_a_varDecls, modelica_metatype *out_out_a_auxFunction)
{
modelica_metatype _out_txt = NULL;
modelica_metatype _out_a_pref = NULL;
modelica_metatype _out_a_preExp = NULL;
modelica_metatype _out_a_varDecls = NULL;
modelica_metatype _out_a_auxFunction = NULL;
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
_out_txt = omc_CodegenCFunctions_fun__683(threadData, _txt, _a_cr, _a_context, _a_pref, _a_preExp, _a_varDecls, _a_auxFunction ,&_out_a_preExp ,&_out_a_varDecls ,&_out_a_auxFunction);
_out_a_pref = _a_pref;
_return: OMC_LABEL_UNUSED
if (out_out_a_pref) { *out_out_a_pref = _out_a_pref; }
if (out_out_a_preExp) { *out_out_a_preExp = _out_a_preExp; }
if (out_out_a_varDecls) { *out_out_a_varDecls = _out_a_varDecls; }
if (out_out_a_auxFunction) { *out_out_a_auxFunction = _out_a_auxFunction; }
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__683(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_cr, modelica_metatype _in_a_context, modelica_metatype _in_a_pref, modelica_metatype _in_a_preExp, modelica_metatype _in_a_varDecls, modelica_metatype _in_a_auxFunction, modelica_metatype *out_out_a_preExp, modelica_metatype *out_out_a_varDecls, modelica_metatype *out_out_a_auxFunction)
{
modelica_metatype _out_txt = NULL;
modelica_metatype _out_a_preExp = NULL;
modelica_metatype _out_a_varDecls = NULL;
modelica_metatype _out_a_auxFunction = NULL;
modelica_metatype tmpMeta[10] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_metatype tmp4_2;modelica_metatype tmp4_3;modelica_metatype tmp4_4;modelica_metatype tmp4_5;modelica_metatype tmp4_6;modelica_metatype tmp4_7;
tmp4_1 = _in_txt;
tmp4_2 = _in_a_cr;
tmp4_3 = _in_a_context;
tmp4_4 = _in_a_pref;
tmp4_5 = _in_a_preExp;
tmp4_6 = _in_a_varDecls;
tmp4_7 = _in_a_auxFunction;
{
modelica_metatype _txt = NULL;
modelica_metatype _a_context = NULL;
modelica_metatype _a_pref = NULL;
modelica_metatype _a_preExp = NULL;
modelica_metatype _a_varDecls = NULL;
modelica_metatype _a_auxFunction = NULL;
modelica_metatype _i_cr = NULL;
modelica_metatype _i_cr_componentRef = NULL;
modelica_string _i_cr_ident = NULL;
modelica_metatype _i_cr_subscriptLst = NULL;
modelica_metatype _i_identType = NULL;
modelica_metatype _txt_12 = NULL;
modelica_string _ret_11 = NULL;
modelica_string _ret_10 = NULL;
modelica_integer _ret_9;
modelica_string _ret_8 = NULL;
modelica_metatype _l_newpref = NULL;
modelica_metatype _l_fullname__i = NULL;
modelica_string _ret_5 = NULL;
modelica_metatype _l_fullname = NULL;
modelica_metatype _l_dimsValuesStr = NULL;
modelica_integer _ret_2;
modelica_metatype _l_dimsLenStr = NULL;
modelica_metatype _l_typeName = NULL;
volatile mmc_switch_type tmp4;
int tmp5;
tmp4 = 0;
for (; tmp4 < 5; tmp4++) {
switch (MMC_SWITCH_CAST(tmp4)) {
case 0: {
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,0,4) == 0) goto tmp3_end;
tmpMeta[4] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
tmpMeta[5] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 3));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[5],6,2) == 0) goto tmp3_end;
tmpMeta[6] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 4));
if (listEmpty(tmpMeta[6])) goto tmp3_end;
tmpMeta[7] = MMC_CAR(tmpMeta[6]);
tmpMeta[8] = MMC_CDR(tmpMeta[6]);
tmpMeta[9] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 5));
_i_cr_ident = tmpMeta[4];
_i_identType = tmpMeta[5];
_i_cr_subscriptLst = tmpMeta[6];
_i_cr_componentRef = tmpMeta[9];
_txt = tmp4_1;
_a_context = tmp4_3;
_a_pref = tmp4_4;
_a_preExp = tmp4_5;
_a_varDecls = tmp4_6;
_a_auxFunction = tmp4_7;
_l_typeName = omc_CodegenCFunctions_expTypeShort(threadData, _OMC_LIT20, _i_identType);
_ret_2 = listLength(_i_cr_subscriptLst);
_l_dimsLenStr = omc_Tpl_writeStr(threadData, _OMC_LIT20, intString(_ret_2));
_l_dimsValuesStr = omc_Tpl_pushIter(threadData, _OMC_LIT20, _OMC_LIT294);
_l_dimsValuesStr = omc_CodegenCFunctions_lm__681(threadData, _l_dimsValuesStr, _i_cr_subscriptLst, _a_auxFunction, _a_varDecls, _a_preExp, _a_context ,&_a_auxFunction ,&_a_varDecls ,&_a_preExp);
_l_dimsValuesStr = omc_Tpl_popIter(threadData, _l_dimsValuesStr);
_l_fullname = omc_Tpl_writeText(threadData, _OMC_LIT20, _a_pref);
_ret_5 = omc_System_unquoteIdentifier(threadData, _i_cr_ident);
_l_fullname = omc_Tpl_writeStr(threadData, _l_fullname, _ret_5);
_l_fullname__i = omc_Tpl_writeText(threadData, _OMC_LIT20, _l_typeName);
_l_fullname__i = omc_Tpl_writeTok(threadData, _l_fullname__i, _OMC_LIT349);
_l_fullname__i = omc_Tpl_writeText(threadData, _l_fullname__i, _l_fullname);
_l_fullname__i = omc_Tpl_writeTok(threadData, _l_fullname__i, _OMC_LIT292);
_l_fullname__i = omc_Tpl_writeText(threadData, _l_fullname__i, _l_dimsLenStr);
_l_fullname__i = omc_Tpl_writeTok(threadData, _l_fullname__i, _OMC_LIT292);
_l_fullname__i = omc_Tpl_writeText(threadData, _l_fullname__i, _l_dimsValuesStr);
_l_fullname__i = omc_Tpl_writeTok(threadData, _l_fullname__i, _OMC_LIT78);
_l_newpref = omc_Tpl_writeText(threadData, _OMC_LIT20, _l_fullname__i);
_l_newpref = omc_Tpl_writeTok(threadData, _l_newpref, _OMC_LIT504);
_txt = omc_CodegenCFunctions_functionContextCref(threadData, _txt, _i_cr_componentRef, _a_context, _l_newpref, _a_preExp, _a_varDecls, _a_auxFunction ,&_l_newpref ,&_a_preExp ,&_a_varDecls ,&_a_auxFunction);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_preExp;
tmpMeta[0+2] = _a_varDecls;
tmpMeta[0+3] = _a_auxFunction;
goto tmp3_done;
}
case 1: {
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,0,4) == 0) goto tmp3_end;
tmpMeta[4] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
tmpMeta[5] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 5));
_i_cr_ident = tmpMeta[4];
_i_cr_componentRef = tmpMeta[5];
_txt = tmp4_1;
_a_context = tmp4_3;
_a_pref = tmp4_4;
_a_preExp = tmp4_5;
_a_varDecls = tmp4_6;
_a_auxFunction = tmp4_7;
_l_fullname = omc_Tpl_writeText(threadData, _OMC_LIT20, _a_pref);
_ret_8 = omc_System_unquoteIdentifier(threadData, _i_cr_ident);
_l_fullname = omc_Tpl_writeStr(threadData, _l_fullname, _ret_8);
_l_newpref = omc_Tpl_writeText(threadData, _OMC_LIT20, _l_fullname);
_l_newpref = omc_Tpl_writeTok(threadData, _l_newpref, _OMC_LIT504);
_txt = omc_CodegenCFunctions_functionContextCref(threadData, _txt, _i_cr_componentRef, _a_context, _l_newpref, _a_preExp, _a_varDecls, _a_auxFunction ,&_l_newpref ,&_a_preExp ,&_a_varDecls ,&_a_auxFunction);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_preExp;
tmpMeta[0+2] = _a_varDecls;
tmpMeta[0+3] = _a_auxFunction;
goto tmp3_done;
}
case 2: {
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,1,3) == 0) goto tmp3_end;
tmpMeta[4] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
tmpMeta[5] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 3));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[5],6,2) == 0) goto tmp3_end;
tmpMeta[6] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 4));
if (listEmpty(tmpMeta[6])) goto tmp3_end;
tmpMeta[7] = MMC_CAR(tmpMeta[6]);
tmpMeta[8] = MMC_CDR(tmpMeta[6]);
_i_cr_ident = tmpMeta[4];
_i_identType = tmpMeta[5];
_i_cr_subscriptLst = tmpMeta[6];
_txt = tmp4_1;
_a_context = tmp4_3;
_a_pref = tmp4_4;
_a_preExp = tmp4_5;
_a_varDecls = tmp4_6;
_a_auxFunction = tmp4_7;
_l_typeName = omc_CodegenCFunctions_expTypeShort(threadData, _OMC_LIT20, _i_identType);
_ret_9 = listLength(_i_cr_subscriptLst);
_l_dimsLenStr = omc_Tpl_writeStr(threadData, _OMC_LIT20, intString(_ret_9));
_l_dimsValuesStr = omc_Tpl_pushIter(threadData, _OMC_LIT20, _OMC_LIT294);
_l_dimsValuesStr = omc_CodegenCFunctions_lm__682(threadData, _l_dimsValuesStr, _i_cr_subscriptLst, _a_auxFunction, _a_varDecls, _a_preExp, _a_context ,&_a_auxFunction ,&_a_varDecls ,&_a_preExp);
_l_dimsValuesStr = omc_Tpl_popIter(threadData, _l_dimsValuesStr);
_l_fullname = omc_Tpl_writeText(threadData, _OMC_LIT20, _a_pref);
_ret_10 = omc_System_unquoteIdentifier(threadData, _i_cr_ident);
_l_fullname = omc_Tpl_writeStr(threadData, _l_fullname, _ret_10);
_l_fullname__i = omc_Tpl_writeText(threadData, _OMC_LIT20, _l_typeName);
_l_fullname__i = omc_Tpl_writeTok(threadData, _l_fullname__i, _OMC_LIT349);
_l_fullname__i = omc_Tpl_writeText(threadData, _l_fullname__i, _l_fullname);
_l_fullname__i = omc_Tpl_writeTok(threadData, _l_fullname__i, _OMC_LIT292);
_l_fullname__i = omc_Tpl_writeText(threadData, _l_fullname__i, _l_dimsLenStr);
_l_fullname__i = omc_Tpl_writeTok(threadData, _l_fullname__i, _OMC_LIT292);
_l_fullname__i = omc_Tpl_writeText(threadData, _l_fullname__i, _l_dimsValuesStr);
_l_fullname__i = omc_Tpl_writeTok(threadData, _l_fullname__i, _OMC_LIT78);
_txt = omc_Tpl_writeText(threadData, _txt, _l_fullname__i);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_preExp;
tmpMeta[0+2] = _a_varDecls;
tmpMeta[0+3] = _a_auxFunction;
goto tmp3_done;
}
case 3: {
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,1,3) == 0) goto tmp3_end;
tmpMeta[4] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
_i_cr_ident = tmpMeta[4];
_txt = tmp4_1;
_a_pref = tmp4_4;
_a_preExp = tmp4_5;
_a_varDecls = tmp4_6;
_a_auxFunction = tmp4_7;
_l_fullname = omc_Tpl_writeText(threadData, _OMC_LIT20, _a_pref);
_ret_11 = omc_System_unquoteIdentifier(threadData, _i_cr_ident);
_l_fullname = omc_Tpl_writeStr(threadData, _l_fullname, _ret_11);
_txt = omc_Tpl_writeText(threadData, _txt, _l_fullname);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_preExp;
tmpMeta[0+2] = _a_varDecls;
tmpMeta[0+3] = _a_auxFunction;
goto tmp3_done;
}
case 4: {
_txt = tmp4_1;
_i_cr = tmp4_2;
_a_preExp = tmp4_5;
_a_varDecls = tmp4_6;
_a_auxFunction = tmp4_7;
_txt_12 = omc_Tpl_writeTok(threadData, _OMC_LIT20, _OMC_LIT1465);
_txt_12 = omc_CodegenUtil_crefStrNoUnderscore(threadData, _txt_12, _i_cr);
_txt = omc_CodegenUtil_error(threadData, _txt, omc_Tpl_sourceInfo(threadData, _OMC_LIT27, ((modelica_integer) 4529), ((modelica_integer) 11)), omc_Tpl_textString(threadData, _txt_12));
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_preExp;
tmpMeta[0+2] = _a_varDecls;
tmpMeta[0+3] = _a_auxFunction;
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta[0+0];
_out_a_preExp = tmpMeta[0+1];
_out_a_varDecls = tmpMeta[0+2];
_out_a_auxFunction = tmpMeta[0+3];
_return: OMC_LABEL_UNUSED
if (out_out_a_preExp) { *out_out_a_preExp = _out_a_preExp; }
if (out_out_a_varDecls) { *out_out_a_varDecls = _out_a_varDecls; }
if (out_out_a_auxFunction) { *out_out_a_auxFunction = _out_a_auxFunction; }
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_lm__682(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_items, modelica_metatype _in_a_auxFunction, modelica_metatype _in_a_varDecls, modelica_metatype _in_a_preExp, modelica_metatype _in_a_context, modelica_metatype *out_out_a_auxFunction, modelica_metatype *out_out_a_varDecls, modelica_metatype *out_out_a_preExp)
{
modelica_metatype _out_txt = NULL;
modelica_metatype _out_a_auxFunction = NULL;
modelica_metatype _out_a_varDecls = NULL;
modelica_metatype _out_a_preExp = NULL;
modelica_metatype tmpMeta[6] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_metatype tmp4_2;modelica_metatype tmp4_3;modelica_metatype tmp4_4;modelica_metatype tmp4_5;modelica_metatype tmp4_6;
tmp4_1 = _in_txt;
tmp4_2 = _in_items;
tmp4_3 = _in_a_auxFunction;
tmp4_4 = _in_a_varDecls;
tmp4_5 = _in_a_preExp;
tmp4_6 = _in_a_context;
{
modelica_metatype _txt = NULL;
modelica_metatype _rest = NULL;
modelica_metatype _a_auxFunction = NULL;
modelica_metatype _a_varDecls = NULL;
modelica_metatype _a_preExp = NULL;
modelica_metatype _a_context = NULL;
modelica_metatype _i_sub = NULL;
volatile mmc_switch_type tmp4;
int tmp5;
tmp4 = 0;
for (; tmp4 < 2; tmp4++) {
switch (MMC_SWITCH_CAST(tmp4)) {
case 0: {
if (!listEmpty(tmp4_2)) goto tmp3_end;
_txt = tmp4_1;
_a_auxFunction = tmp4_3;
_a_varDecls = tmp4_4;
_a_preExp = tmp4_5;
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_auxFunction;
tmpMeta[0+2] = _a_varDecls;
tmpMeta[0+3] = _a_preExp;
goto tmp3_done;
}
case 1: {
if (listEmpty(tmp4_2)) goto tmp3_end;
tmpMeta[4] = MMC_CAR(tmp4_2);
tmpMeta[5] = MMC_CDR(tmp4_2);
_i_sub = tmpMeta[4];
_rest = tmpMeta[5];
_txt = tmp4_1;
_a_auxFunction = tmp4_3;
_a_varDecls = tmp4_4;
_a_preExp = tmp4_5;
_a_context = tmp4_6;
_txt = omc_CodegenCFunctions_daeSubscript(threadData, _txt, _i_sub, _a_context, _a_preExp, _a_varDecls, _a_auxFunction ,&_a_preExp ,&_a_varDecls ,&_a_auxFunction);
_txt = omc_Tpl_nextIter(threadData, _txt);
_in_txt = _txt;
_in_items = _rest;
_in_a_auxFunction = _a_auxFunction;
_in_a_varDecls = _a_varDecls;
_in_a_preExp = _a_preExp;
_in_a_context = _a_context;
goto _tailrecursive;
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta[0+0];
_out_a_auxFunction = tmpMeta[0+1];
_out_a_varDecls = tmpMeta[0+2];
_out_a_preExp = tmpMeta[0+3];
_return: OMC_LABEL_UNUSED
if (out_out_a_auxFunction) { *out_out_a_auxFunction = _out_a_auxFunction; }
if (out_out_a_varDecls) { *out_out_a_varDecls = _out_a_varDecls; }
if (out_out_a_preExp) { *out_out_a_preExp = _out_a_preExp; }
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_lm__681(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_items, modelica_metatype _in_a_auxFunction, modelica_metatype _in_a_varDecls, modelica_metatype _in_a_preExp, modelica_metatype _in_a_context, modelica_metatype *out_out_a_auxFunction, modelica_metatype *out_out_a_varDecls, modelica_metatype *out_out_a_preExp)
{
modelica_metatype _out_txt = NULL;
modelica_metatype _out_a_auxFunction = NULL;
modelica_metatype _out_a_varDecls = NULL;
modelica_metatype _out_a_preExp = NULL;
modelica_metatype tmpMeta[6] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_metatype tmp4_2;modelica_metatype tmp4_3;modelica_metatype tmp4_4;modelica_metatype tmp4_5;modelica_metatype tmp4_6;
tmp4_1 = _in_txt;
tmp4_2 = _in_items;
tmp4_3 = _in_a_auxFunction;
tmp4_4 = _in_a_varDecls;
tmp4_5 = _in_a_preExp;
tmp4_6 = _in_a_context;
{
modelica_metatype _txt = NULL;
modelica_metatype _rest = NULL;
modelica_metatype _a_auxFunction = NULL;
modelica_metatype _a_varDecls = NULL;
modelica_metatype _a_preExp = NULL;
modelica_metatype _a_context = NULL;
modelica_metatype _i_sub = NULL;
volatile mmc_switch_type tmp4;
int tmp5;
tmp4 = 0;
for (; tmp4 < 2; tmp4++) {
switch (MMC_SWITCH_CAST(tmp4)) {
case 0: {
if (!listEmpty(tmp4_2)) goto tmp3_end;
_txt = tmp4_1;
_a_auxFunction = tmp4_3;
_a_varDecls = tmp4_4;
_a_preExp = tmp4_5;
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_auxFunction;
tmpMeta[0+2] = _a_varDecls;
tmpMeta[0+3] = _a_preExp;
goto tmp3_done;
}
case 1: {
if (listEmpty(tmp4_2)) goto tmp3_end;
tmpMeta[4] = MMC_CAR(tmp4_2);
tmpMeta[5] = MMC_CDR(tmp4_2);
_i_sub = tmpMeta[4];
_rest = tmpMeta[5];
_txt = tmp4_1;
_a_auxFunction = tmp4_3;
_a_varDecls = tmp4_4;
_a_preExp = tmp4_5;
_a_context = tmp4_6;
_txt = omc_CodegenCFunctions_daeSubscript(threadData, _txt, _i_sub, _a_context, _a_preExp, _a_varDecls, _a_auxFunction ,&_a_preExp ,&_a_varDecls ,&_a_auxFunction);
_txt = omc_Tpl_nextIter(threadData, _txt);
_in_txt = _txt;
_in_items = _rest;
_in_a_auxFunction = _a_auxFunction;
_in_a_varDecls = _a_varDecls;
_in_a_preExp = _a_preExp;
_in_a_context = _a_context;
goto _tailrecursive;
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta[0+0];
_out_a_auxFunction = tmpMeta[0+1];
_out_a_varDecls = tmpMeta[0+2];
_out_a_preExp = tmpMeta[0+3];
_return: OMC_LABEL_UNUSED
if (out_out_a_auxFunction) { *out_out_a_auxFunction = _out_a_auxFunction; }
if (out_out_a_varDecls) { *out_out_a_varDecls = _out_a_varDecls; }
if (out_out_a_preExp) { *out_out_a_preExp = _out_a_preExp; }
return _out_txt;
}
DLLExport
modelica_metatype omc_CodegenCFunctions_functionContextCref(threadData_t *threadData, modelica_metatype _txt, modelica_metatype _a_cr, modelica_metatype _a_context, modelica_metatype _a_pref, modelica_metatype _a_preExp, modelica_metatype _a_varDecls, modelica_metatype _a_auxFunction, modelica_metatype *out_out_a_pref, modelica_metatype *out_out_a_preExp, modelica_metatype *out_out_a_varDecls, modelica_metatype *out_out_a_auxFunction)
{
modelica_metatype _out_txt = NULL;
modelica_metatype _out_a_pref = NULL;
modelica_metatype _out_a_preExp = NULL;
modelica_metatype _out_a_varDecls = NULL;
modelica_metatype _out_a_auxFunction = NULL;
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
_out_txt = omc_CodegenCFunctions_fun__679(threadData, _txt, _a_cr, _a_context, _a_pref, _a_preExp, _a_varDecls, _a_auxFunction ,&_out_a_preExp ,&_out_a_varDecls ,&_out_a_auxFunction);
_out_a_pref = _a_pref;
_return: OMC_LABEL_UNUSED
if (out_out_a_pref) { *out_out_a_pref = _out_a_pref; }
if (out_out_a_preExp) { *out_out_a_preExp = _out_a_preExp; }
if (out_out_a_varDecls) { *out_out_a_varDecls = _out_a_varDecls; }
if (out_out_a_auxFunction) { *out_out_a_auxFunction = _out_a_auxFunction; }
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__679(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_cr, modelica_metatype _in_a_context, modelica_metatype _in_a_pref, modelica_metatype _in_a_preExp, modelica_metatype _in_a_varDecls, modelica_metatype _in_a_auxFunction, modelica_metatype *out_out_a_preExp, modelica_metatype *out_out_a_varDecls, modelica_metatype *out_out_a_auxFunction)
{
modelica_metatype _out_txt = NULL;
modelica_metatype _out_a_preExp = NULL;
modelica_metatype _out_a_varDecls = NULL;
modelica_metatype _out_a_auxFunction = NULL;
modelica_metatype tmpMeta[10] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_metatype tmp4_2;modelica_metatype tmp4_3;modelica_metatype tmp4_4;modelica_metatype tmp4_5;modelica_metatype tmp4_6;modelica_metatype tmp4_7;
tmp4_1 = _in_txt;
tmp4_2 = _in_a_cr;
tmp4_3 = _in_a_context;
tmp4_4 = _in_a_pref;
tmp4_5 = _in_a_preExp;
tmp4_6 = _in_a_varDecls;
tmp4_7 = _in_a_auxFunction;
{
modelica_metatype _txt = NULL;
modelica_metatype _a_context = NULL;
modelica_metatype _a_pref = NULL;
modelica_metatype _a_preExp = NULL;
modelica_metatype _a_varDecls = NULL;
modelica_metatype _a_auxFunction = NULL;
modelica_metatype _i_cr = NULL;
modelica_metatype _i_cr_componentRef = NULL;
modelica_string _i_cr_ident = NULL;
modelica_metatype _i_cr_subscriptLst = NULL;
modelica_metatype _i_identType = NULL;
modelica_metatype _txt_12 = NULL;
modelica_string _ret_11 = NULL;
modelica_string _ret_10 = NULL;
modelica_integer _ret_9;
modelica_string _ret_8 = NULL;
modelica_metatype _l_newpref = NULL;
modelica_metatype _l_fullname__i = NULL;
modelica_string _ret_5 = NULL;
modelica_metatype _l_fullname = NULL;
modelica_metatype _l_dimsValuesStr = NULL;
modelica_integer _ret_2;
modelica_metatype _l_dimsLenStr = NULL;
modelica_metatype _l_typeName = NULL;
volatile mmc_switch_type tmp4;
int tmp5;
tmp4 = 0;
for (; tmp4 < 5; tmp4++) {
switch (MMC_SWITCH_CAST(tmp4)) {
case 0: {
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,0,4) == 0) goto tmp3_end;
tmpMeta[4] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
tmpMeta[5] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 3));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[5],6,2) == 0) goto tmp3_end;
tmpMeta[6] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 4));
if (listEmpty(tmpMeta[6])) goto tmp3_end;
tmpMeta[7] = MMC_CAR(tmpMeta[6]);
tmpMeta[8] = MMC_CDR(tmpMeta[6]);
tmpMeta[9] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 5));
_i_cr_ident = tmpMeta[4];
_i_identType = tmpMeta[5];
_i_cr_subscriptLst = tmpMeta[6];
_i_cr_componentRef = tmpMeta[9];
_txt = tmp4_1;
_a_context = tmp4_3;
_a_pref = tmp4_4;
_a_preExp = tmp4_5;
_a_varDecls = tmp4_6;
_a_auxFunction = tmp4_7;
_l_typeName = omc_CodegenCFunctions_expTypeShort(threadData, _OMC_LIT20, _i_identType);
_ret_2 = listLength(_i_cr_subscriptLst);
_l_dimsLenStr = omc_Tpl_writeStr(threadData, _OMC_LIT20, intString(_ret_2));
_l_dimsValuesStr = omc_Tpl_pushIter(threadData, _OMC_LIT20, _OMC_LIT294);
_l_dimsValuesStr = omc_CodegenCFunctions_lm__677(threadData, _l_dimsValuesStr, _i_cr_subscriptLst, _a_auxFunction, _a_varDecls, _a_preExp, _a_context ,&_a_auxFunction ,&_a_varDecls ,&_a_preExp);
_l_dimsValuesStr = omc_Tpl_popIter(threadData, _l_dimsValuesStr);
_l_fullname = omc_Tpl_writeText(threadData, _OMC_LIT20, _a_pref);
_l_fullname = omc_Tpl_writeTok(threadData, _l_fullname, _OMC_LIT236);
_ret_5 = omc_System_unquoteIdentifier(threadData, _i_cr_ident);
_l_fullname = omc_Tpl_writeStr(threadData, _l_fullname, _ret_5);
_l_fullname__i = omc_Tpl_writeText(threadData, _OMC_LIT20, _l_typeName);
_l_fullname__i = omc_Tpl_writeTok(threadData, _l_fullname__i, _OMC_LIT349);
_l_fullname__i = omc_Tpl_writeText(threadData, _l_fullname__i, _l_fullname);
_l_fullname__i = omc_Tpl_writeTok(threadData, _l_fullname__i, _OMC_LIT292);
_l_fullname__i = omc_Tpl_writeText(threadData, _l_fullname__i, _l_dimsLenStr);
_l_fullname__i = omc_Tpl_writeTok(threadData, _l_fullname__i, _OMC_LIT292);
_l_fullname__i = omc_Tpl_writeText(threadData, _l_fullname__i, _l_dimsValuesStr);
_l_fullname__i = omc_Tpl_writeTok(threadData, _l_fullname__i, _OMC_LIT78);
_l_newpref = omc_Tpl_writeText(threadData, _OMC_LIT20, _l_fullname__i);
_l_newpref = omc_Tpl_writeTok(threadData, _l_newpref, _OMC_LIT504);
_txt = omc_CodegenCFunctions_functionContextCref(threadData, _txt, _i_cr_componentRef, _a_context, _l_newpref, _a_preExp, _a_varDecls, _a_auxFunction ,&_l_newpref ,&_a_preExp ,&_a_varDecls ,&_a_auxFunction);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_preExp;
tmpMeta[0+2] = _a_varDecls;
tmpMeta[0+3] = _a_auxFunction;
goto tmp3_done;
}
case 1: {
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,0,4) == 0) goto tmp3_end;
tmpMeta[4] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
tmpMeta[5] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 5));
_i_cr_ident = tmpMeta[4];
_i_cr_componentRef = tmpMeta[5];
_txt = tmp4_1;
_a_context = tmp4_3;
_a_pref = tmp4_4;
_a_preExp = tmp4_5;
_a_varDecls = tmp4_6;
_a_auxFunction = tmp4_7;
_l_fullname = omc_Tpl_writeText(threadData, _OMC_LIT20, _a_pref);
_l_fullname = omc_Tpl_writeTok(threadData, _l_fullname, _OMC_LIT236);
_ret_8 = omc_System_unquoteIdentifier(threadData, _i_cr_ident);
_l_fullname = omc_Tpl_writeStr(threadData, _l_fullname, _ret_8);
_l_newpref = omc_Tpl_writeText(threadData, _OMC_LIT20, _l_fullname);
_l_newpref = omc_Tpl_writeTok(threadData, _l_newpref, _OMC_LIT504);
_txt = omc_CodegenCFunctions_functionContextCref(threadData, _txt, _i_cr_componentRef, _a_context, _l_newpref, _a_preExp, _a_varDecls, _a_auxFunction ,&_l_newpref ,&_a_preExp ,&_a_varDecls ,&_a_auxFunction);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_preExp;
tmpMeta[0+2] = _a_varDecls;
tmpMeta[0+3] = _a_auxFunction;
goto tmp3_done;
}
case 2: {
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,1,3) == 0) goto tmp3_end;
tmpMeta[4] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
tmpMeta[5] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 3));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[5],6,2) == 0) goto tmp3_end;
tmpMeta[6] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 4));
if (listEmpty(tmpMeta[6])) goto tmp3_end;
tmpMeta[7] = MMC_CAR(tmpMeta[6]);
tmpMeta[8] = MMC_CDR(tmpMeta[6]);
_i_cr_ident = tmpMeta[4];
_i_identType = tmpMeta[5];
_i_cr_subscriptLst = tmpMeta[6];
_txt = tmp4_1;
_a_context = tmp4_3;
_a_pref = tmp4_4;
_a_preExp = tmp4_5;
_a_varDecls = tmp4_6;
_a_auxFunction = tmp4_7;
_l_typeName = omc_CodegenCFunctions_expTypeShort(threadData, _OMC_LIT20, _i_identType);
_ret_9 = listLength(_i_cr_subscriptLst);
_l_dimsLenStr = omc_Tpl_writeStr(threadData, _OMC_LIT20, intString(_ret_9));
_l_dimsValuesStr = omc_Tpl_pushIter(threadData, _OMC_LIT20, _OMC_LIT294);
_l_dimsValuesStr = omc_CodegenCFunctions_lm__678(threadData, _l_dimsValuesStr, _i_cr_subscriptLst, _a_auxFunction, _a_varDecls, _a_preExp, _a_context ,&_a_auxFunction ,&_a_varDecls ,&_a_preExp);
_l_dimsValuesStr = omc_Tpl_popIter(threadData, _l_dimsValuesStr);
_l_fullname = omc_Tpl_writeText(threadData, _OMC_LIT20, _a_pref);
_l_fullname = omc_Tpl_writeTok(threadData, _l_fullname, _OMC_LIT236);
_ret_10 = omc_System_unquoteIdentifier(threadData, _i_cr_ident);
_l_fullname = omc_Tpl_writeStr(threadData, _l_fullname, _ret_10);
_l_fullname__i = omc_Tpl_writeText(threadData, _OMC_LIT20, _l_typeName);
_l_fullname__i = omc_Tpl_writeTok(threadData, _l_fullname__i, _OMC_LIT349);
_l_fullname__i = omc_Tpl_writeText(threadData, _l_fullname__i, _l_fullname);
_l_fullname__i = omc_Tpl_writeTok(threadData, _l_fullname__i, _OMC_LIT292);
_l_fullname__i = omc_Tpl_writeText(threadData, _l_fullname__i, _l_dimsLenStr);
_l_fullname__i = omc_Tpl_writeTok(threadData, _l_fullname__i, _OMC_LIT292);
_l_fullname__i = omc_Tpl_writeText(threadData, _l_fullname__i, _l_dimsValuesStr);
_l_fullname__i = omc_Tpl_writeTok(threadData, _l_fullname__i, _OMC_LIT78);
_txt = omc_Tpl_writeText(threadData, _txt, _l_fullname__i);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_preExp;
tmpMeta[0+2] = _a_varDecls;
tmpMeta[0+3] = _a_auxFunction;
goto tmp3_done;
}
case 3: {
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,1,3) == 0) goto tmp3_end;
tmpMeta[4] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
_i_cr_ident = tmpMeta[4];
_txt = tmp4_1;
_a_pref = tmp4_4;
_a_preExp = tmp4_5;
_a_varDecls = tmp4_6;
_a_auxFunction = tmp4_7;
_l_fullname = omc_Tpl_writeText(threadData, _OMC_LIT20, _a_pref);
_l_fullname = omc_Tpl_writeTok(threadData, _l_fullname, _OMC_LIT236);
_ret_11 = omc_System_unquoteIdentifier(threadData, _i_cr_ident);
_l_fullname = omc_Tpl_writeStr(threadData, _l_fullname, _ret_11);
_txt = omc_Tpl_writeText(threadData, _txt, _l_fullname);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_preExp;
tmpMeta[0+2] = _a_varDecls;
tmpMeta[0+3] = _a_auxFunction;
goto tmp3_done;
}
case 4: {
_txt = tmp4_1;
_i_cr = tmp4_2;
_a_preExp = tmp4_5;
_a_varDecls = tmp4_6;
_a_auxFunction = tmp4_7;
_txt_12 = omc_Tpl_writeTok(threadData, _OMC_LIT20, _OMC_LIT1465);
_txt_12 = omc_CodegenUtil_crefStrNoUnderscore(threadData, _txt_12, _i_cr);
_txt = omc_CodegenUtil_error(threadData, _txt, omc_Tpl_sourceInfo(threadData, _OMC_LIT27, ((modelica_integer) 4489), ((modelica_integer) 11)), omc_Tpl_textString(threadData, _txt_12));
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_preExp;
tmpMeta[0+2] = _a_varDecls;
tmpMeta[0+3] = _a_auxFunction;
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta[0+0];
_out_a_preExp = tmpMeta[0+1];
_out_a_varDecls = tmpMeta[0+2];
_out_a_auxFunction = tmpMeta[0+3];
_return: OMC_LABEL_UNUSED
if (out_out_a_preExp) { *out_out_a_preExp = _out_a_preExp; }
if (out_out_a_varDecls) { *out_out_a_varDecls = _out_a_varDecls; }
if (out_out_a_auxFunction) { *out_out_a_auxFunction = _out_a_auxFunction; }
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_lm__678(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_items, modelica_metatype _in_a_auxFunction, modelica_metatype _in_a_varDecls, modelica_metatype _in_a_preExp, modelica_metatype _in_a_context, modelica_metatype *out_out_a_auxFunction, modelica_metatype *out_out_a_varDecls, modelica_metatype *out_out_a_preExp)
{
modelica_metatype _out_txt = NULL;
modelica_metatype _out_a_auxFunction = NULL;
modelica_metatype _out_a_varDecls = NULL;
modelica_metatype _out_a_preExp = NULL;
modelica_metatype tmpMeta[6] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_metatype tmp4_2;modelica_metatype tmp4_3;modelica_metatype tmp4_4;modelica_metatype tmp4_5;modelica_metatype tmp4_6;
tmp4_1 = _in_txt;
tmp4_2 = _in_items;
tmp4_3 = _in_a_auxFunction;
tmp4_4 = _in_a_varDecls;
tmp4_5 = _in_a_preExp;
tmp4_6 = _in_a_context;
{
modelica_metatype _txt = NULL;
modelica_metatype _rest = NULL;
modelica_metatype _a_auxFunction = NULL;
modelica_metatype _a_varDecls = NULL;
modelica_metatype _a_preExp = NULL;
modelica_metatype _a_context = NULL;
modelica_metatype _i_sub = NULL;
volatile mmc_switch_type tmp4;
int tmp5;
tmp4 = 0;
for (; tmp4 < 2; tmp4++) {
switch (MMC_SWITCH_CAST(tmp4)) {
case 0: {
if (!listEmpty(tmp4_2)) goto tmp3_end;
_txt = tmp4_1;
_a_auxFunction = tmp4_3;
_a_varDecls = tmp4_4;
_a_preExp = tmp4_5;
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_auxFunction;
tmpMeta[0+2] = _a_varDecls;
tmpMeta[0+3] = _a_preExp;
goto tmp3_done;
}
case 1: {
if (listEmpty(tmp4_2)) goto tmp3_end;
tmpMeta[4] = MMC_CAR(tmp4_2);
tmpMeta[5] = MMC_CDR(tmp4_2);
_i_sub = tmpMeta[4];
_rest = tmpMeta[5];
_txt = tmp4_1;
_a_auxFunction = tmp4_3;
_a_varDecls = tmp4_4;
_a_preExp = tmp4_5;
_a_context = tmp4_6;
_txt = omc_CodegenCFunctions_daeSubscript(threadData, _txt, _i_sub, _a_context, _a_preExp, _a_varDecls, _a_auxFunction ,&_a_preExp ,&_a_varDecls ,&_a_auxFunction);
_txt = omc_Tpl_nextIter(threadData, _txt);
_in_txt = _txt;
_in_items = _rest;
_in_a_auxFunction = _a_auxFunction;
_in_a_varDecls = _a_varDecls;
_in_a_preExp = _a_preExp;
_in_a_context = _a_context;
goto _tailrecursive;
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta[0+0];
_out_a_auxFunction = tmpMeta[0+1];
_out_a_varDecls = tmpMeta[0+2];
_out_a_preExp = tmpMeta[0+3];
_return: OMC_LABEL_UNUSED
if (out_out_a_auxFunction) { *out_out_a_auxFunction = _out_a_auxFunction; }
if (out_out_a_varDecls) { *out_out_a_varDecls = _out_a_varDecls; }
if (out_out_a_preExp) { *out_out_a_preExp = _out_a_preExp; }
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_lm__677(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_items, modelica_metatype _in_a_auxFunction, modelica_metatype _in_a_varDecls, modelica_metatype _in_a_preExp, modelica_metatype _in_a_context, modelica_metatype *out_out_a_auxFunction, modelica_metatype *out_out_a_varDecls, modelica_metatype *out_out_a_preExp)
{
modelica_metatype _out_txt = NULL;
modelica_metatype _out_a_auxFunction = NULL;
modelica_metatype _out_a_varDecls = NULL;
modelica_metatype _out_a_preExp = NULL;
modelica_metatype tmpMeta[6] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_metatype tmp4_2;modelica_metatype tmp4_3;modelica_metatype tmp4_4;modelica_metatype tmp4_5;modelica_metatype tmp4_6;
tmp4_1 = _in_txt;
tmp4_2 = _in_items;
tmp4_3 = _in_a_auxFunction;
tmp4_4 = _in_a_varDecls;
tmp4_5 = _in_a_preExp;
tmp4_6 = _in_a_context;
{
modelica_metatype _txt = NULL;
modelica_metatype _rest = NULL;
modelica_metatype _a_auxFunction = NULL;
modelica_metatype _a_varDecls = NULL;
modelica_metatype _a_preExp = NULL;
modelica_metatype _a_context = NULL;
modelica_metatype _i_sub = NULL;
volatile mmc_switch_type tmp4;
int tmp5;
tmp4 = 0;
for (; tmp4 < 2; tmp4++) {
switch (MMC_SWITCH_CAST(tmp4)) {
case 0: {
if (!listEmpty(tmp4_2)) goto tmp3_end;
_txt = tmp4_1;
_a_auxFunction = tmp4_3;
_a_varDecls = tmp4_4;
_a_preExp = tmp4_5;
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_auxFunction;
tmpMeta[0+2] = _a_varDecls;
tmpMeta[0+3] = _a_preExp;
goto tmp3_done;
}
case 1: {
if (listEmpty(tmp4_2)) goto tmp3_end;
tmpMeta[4] = MMC_CAR(tmp4_2);
tmpMeta[5] = MMC_CDR(tmp4_2);
_i_sub = tmpMeta[4];
_rest = tmpMeta[5];
_txt = tmp4_1;
_a_auxFunction = tmp4_3;
_a_varDecls = tmp4_4;
_a_preExp = tmp4_5;
_a_context = tmp4_6;
_txt = omc_CodegenCFunctions_daeSubscript(threadData, _txt, _i_sub, _a_context, _a_preExp, _a_varDecls, _a_auxFunction ,&_a_preExp ,&_a_varDecls ,&_a_auxFunction);
_txt = omc_Tpl_nextIter(threadData, _txt);
_in_txt = _txt;
_in_items = _rest;
_in_a_auxFunction = _a_auxFunction;
_in_a_varDecls = _a_varDecls;
_in_a_preExp = _a_preExp;
_in_a_context = _a_context;
goto _tailrecursive;
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta[0+0];
_out_a_auxFunction = tmpMeta[0+1];
_out_a_varDecls = tmpMeta[0+2];
_out_a_preExp = tmpMeta[0+3];
_return: OMC_LABEL_UNUSED
if (out_out_a_auxFunction) { *out_out_a_auxFunction = _out_a_auxFunction; }
if (out_out_a_varDecls) { *out_out_a_varDecls = _out_a_varDecls; }
if (out_out_a_preExp) { *out_out_a_preExp = _out_a_preExp; }
return _out_txt;
}
DLLExport
modelica_metatype omc_CodegenCFunctions_contextCref(threadData_t *threadData, modelica_metatype _txt, modelica_metatype _a_cr, modelica_metatype _a_context, modelica_metatype _a_preExp, modelica_metatype _a_varDecls, modelica_metatype _a_auxFunction, modelica_metatype *out_out_a_preExp, modelica_metatype *out_out_a_varDecls, modelica_metatype *out_out_a_auxFunction)
{
modelica_metatype _out_txt = NULL;
modelica_metatype _out_a_preExp = NULL;
modelica_metatype _out_a_varDecls = NULL;
modelica_metatype _out_a_auxFunction = NULL;
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
_out_txt = omc_CodegenCFunctions_fun__675(threadData, _txt, _a_context, _a_cr, _a_preExp, _a_varDecls, _a_auxFunction ,&_out_a_preExp ,&_out_a_varDecls ,&_out_a_auxFunction);
_return: OMC_LABEL_UNUSED
if (out_out_a_preExp) { *out_out_a_preExp = _out_a_preExp; }
if (out_out_a_varDecls) { *out_out_a_varDecls = _out_a_varDecls; }
if (out_out_a_auxFunction) { *out_out_a_auxFunction = _out_a_auxFunction; }
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__675(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_context, modelica_metatype _in_a_cr, modelica_metatype _in_a_preExp, modelica_metatype _in_a_varDecls, modelica_metatype _in_a_auxFunction, modelica_metatype *out_out_a_preExp, modelica_metatype *out_out_a_varDecls, modelica_metatype *out_out_a_auxFunction)
{
modelica_metatype _out_txt = NULL;
modelica_metatype _out_a_preExp = NULL;
modelica_metatype _out_a_varDecls = NULL;
modelica_metatype _out_a_auxFunction = NULL;
modelica_metatype tmpMeta[6] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_metatype tmp4_2;modelica_metatype tmp4_3;modelica_metatype tmp4_4;modelica_metatype tmp4_5;modelica_metatype tmp4_6;
tmp4_1 = _in_txt;
tmp4_2 = _in_a_context;
tmp4_3 = _in_a_cr;
tmp4_4 = _in_a_preExp;
tmp4_5 = _in_a_varDecls;
tmp4_6 = _in_a_auxFunction;
{
modelica_metatype _txt = NULL;
modelica_metatype _a_cr = NULL;
modelica_metatype _a_preExp = NULL;
modelica_metatype _a_varDecls = NULL;
modelica_metatype _a_auxFunction = NULL;
modelica_metatype _i_context = NULL;
modelica_string _ret_2 = NULL;
modelica_string _ret_1 = NULL;
modelica_metatype _l_cur__pref = NULL;
volatile mmc_switch_type tmp4;
int tmp5;
tmp4 = 0;
for (; tmp4 < 4; tmp4++) {
switch (MMC_SWITCH_CAST(tmp4)) {
case 0: {
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,1,2) == 0) goto tmp3_end;
_i_context = tmp4_2;
_txt = tmp4_1;
_a_cr = tmp4_3;
_a_preExp = tmp4_4;
_a_varDecls = tmp4_5;
_a_auxFunction = tmp4_6;
_ret_1 = omc_SimCodeFunctionUtil_getCurrentCrefPrefix(threadData, _i_context);
_l_cur__pref = omc_Tpl_writeStr(threadData, _OMC_LIT20, _ret_1);
_txt = omc_CodegenCFunctions_functionContextCref(threadData, _txt, _a_cr, _i_context, _l_cur__pref, _a_preExp, _a_varDecls, _a_auxFunction ,&_l_cur__pref ,&_a_preExp ,&_a_varDecls ,&_a_auxFunction);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_preExp;
tmpMeta[0+2] = _a_varDecls;
tmpMeta[0+3] = _a_auxFunction;
goto tmp3_done;
}
case 1: {
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,3,1) == 0) goto tmp3_end;
tmpMeta[4] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
if (optionNone(tmpMeta[4])) goto tmp3_end;
tmpMeta[5] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[4]), 1));
_i_context = tmp4_2;
_txt = tmp4_1;
_a_cr = tmp4_3;
_a_preExp = tmp4_4;
_a_varDecls = tmp4_5;
_a_auxFunction = tmp4_6;
_ret_2 = omc_Config_simCodeTarget(threadData);
_txt = omc_CodegenCFunctions_fun__674(threadData, _txt, _ret_2, _i_context, _a_cr);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_preExp;
tmpMeta[0+2] = _a_varDecls;
tmpMeta[0+3] = _a_auxFunction;
goto tmp3_done;
}
case 2: {
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,9,1) == 0) goto tmp3_end;
_i_context = tmp4_2;
_txt = tmp4_1;
_a_cr = tmp4_3;
_a_preExp = tmp4_4;
_a_varDecls = tmp4_5;
_a_auxFunction = tmp4_6;
_txt = omc_CodegenCFunctions_crefOMSI(threadData, _txt, _a_cr, _i_context);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_preExp;
tmpMeta[0+2] = _a_varDecls;
tmpMeta[0+3] = _a_auxFunction;
goto tmp3_done;
}
case 3: {
_txt = tmp4_1;
_a_cr = tmp4_3;
_a_preExp = tmp4_4;
_a_varDecls = tmp4_5;
_a_auxFunction = tmp4_6;
_txt = omc_CodegenCFunctions_cref(threadData, _txt, _a_cr);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_preExp;
tmpMeta[0+2] = _a_varDecls;
tmpMeta[0+3] = _a_auxFunction;
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta[0+0];
_out_a_preExp = tmpMeta[0+1];
_out_a_varDecls = tmpMeta[0+2];
_out_a_auxFunction = tmpMeta[0+3];
_return: OMC_LABEL_UNUSED
if (out_out_a_preExp) { *out_out_a_preExp = _out_a_preExp; }
if (out_out_a_varDecls) { *out_out_a_varDecls = _out_a_varDecls; }
if (out_out_a_auxFunction) { *out_out_a_auxFunction = _out_a_auxFunction; }
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__674(threadData_t *threadData, modelica_metatype _in_txt, modelica_string _in_mArg, modelica_metatype _in_a_context, modelica_metatype _in_a_cr)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta[1] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp3_1;modelica_string tmp3_2;modelica_metatype tmp3_3;modelica_metatype tmp3_4;
tmp3_1 = _in_txt;
tmp3_2 = _in_mArg;
tmp3_3 = _in_a_context;
tmp3_4 = _in_a_cr;
{
modelica_metatype _txt = NULL;
modelica_metatype _a_context = NULL;
modelica_metatype _a_cr = NULL;
volatile mmc_switch_type tmp3;
int tmp4;
tmp3 = 0;
for (; tmp3 < 2; tmp3++) {
switch (MMC_SWITCH_CAST(tmp3)) {
case 0: {
if (5 != MMC_STRLEN(tmp3_2) || strcmp(MMC_STRINGDATA(_OMC_LIT36), MMC_STRINGDATA(tmp3_2)) != 0) goto tmp2_end;
_txt = tmp3_1;
_a_context = tmp3_3;
_a_cr = tmp3_4;
tmpMeta[0] = omc_CodegenCFunctions_crefOMSI(threadData, _txt, _a_cr, _a_context);
goto tmp2_done;
}
case 1: {
_txt = tmp3_1;
_a_context = tmp3_3;
_a_cr = tmp3_4;
tmpMeta[0] = omc_CodegenCFunctions_jacCrefs(threadData, _txt, _a_cr, _a_context, ((modelica_integer) 0));
goto tmp2_done;
}
}
goto tmp2_end;
tmp2_end: ;
}
goto goto_1;
goto_1:;
MMC_THROW_INTERNAL();
goto tmp2_done;
tmp2_done:;
}
}
_out_txt = tmpMeta[0];
_return: OMC_LABEL_UNUSED
return _out_txt;
}
DLLExport
modelica_metatype omc_CodegenCFunctions_contextCrefNoPrevExp(threadData_t *threadData, modelica_metatype _txt, modelica_metatype _a_cr, modelica_metatype _a_context, modelica_metatype _a_auxFunction, modelica_metatype *out_out_a_auxFunction)
{
modelica_metatype _out_txt = NULL;
modelica_metatype _out_a_auxFunction = NULL;
modelica_metatype _l_varDecls = NULL;
modelica_metatype _l_preExp = NULL;
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
_l_preExp = _OMC_LIT20;
_l_varDecls = _OMC_LIT20;
_out_txt = omc_CodegenCFunctions_contextCref(threadData, _txt, _a_cr, _a_context, _l_preExp, _l_varDecls, _a_auxFunction ,&_l_preExp ,&_l_varDecls ,&_out_a_auxFunction);
_return: OMC_LABEL_UNUSED
if (out_out_a_auxFunction) { *out_out_a_auxFunction = _out_a_auxFunction; }
return _out_txt;
}
DLLExport
modelica_metatype omc_CodegenCFunctions_assertCommonVar(threadData_t *threadData, modelica_metatype _txt, modelica_metatype _a_condVar, modelica_metatype _a_msgVar, modelica_metatype _a_context, modelica_metatype _a_varDecls, modelica_metatype _a_info, modelica_metatype *out_out_a_condVar, modelica_metatype *out_out_a_msgVar, modelica_metatype *out_out_a_varDecls)
{
modelica_metatype _out_txt = NULL;
modelica_metatype _out_a_condVar = NULL;
modelica_metatype _out_a_msgVar = NULL;
modelica_metatype _out_a_varDecls = NULL;
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
_out_txt = omc_CodegenCFunctions_fun__671(threadData, _txt, _a_context, _a_condVar, _a_msgVar, _a_info);
_out_a_condVar = _a_condVar;
_out_a_msgVar = _a_msgVar;
_out_a_varDecls = _a_varDecls;
_return: OMC_LABEL_UNUSED
if (out_out_a_condVar) { *out_out_a_condVar = _out_a_condVar; }
if (out_out_a_msgVar) { *out_out_a_msgVar = _out_a_msgVar; }
if (out_out_a_varDecls) { *out_out_a_varDecls = _out_a_varDecls; }
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__671(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_context, modelica_metatype _in_a_condVar, modelica_metatype _in_a_msgVar, modelica_metatype _in_a_info)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta[2] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp3_1;modelica_metatype tmp3_2;modelica_metatype tmp3_3;modelica_metatype tmp3_4;modelica_metatype tmp3_5;
tmp3_1 = _in_txt;
tmp3_2 = _in_a_context;
tmp3_3 = _in_a_condVar;
tmp3_4 = _in_a_msgVar;
tmp3_5 = _in_a_info;
{
modelica_metatype _txt = NULL;
modelica_metatype _a_condVar = NULL;
modelica_metatype _a_msgVar = NULL;
modelica_metatype _a_info = NULL;
volatile mmc_switch_type tmp3;
int tmp4;
tmp3 = 0;
for (; tmp3 < 4; tmp3++) {
switch (MMC_SWITCH_CAST(tmp3)) {
case 0: {
modelica_integer tmp5;
if (mmc__uniontype__metarecord__typedef__equal(tmp3_2,1,2) == 0) goto tmp2_end;
tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_2), 3));
tmp5 = mmc_unbox_integer(tmpMeta[1]);
if (1 != tmp5) goto tmp2_end;
_txt = tmp3_1;
_a_condVar = tmp3_3;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1467);
_txt = omc_Tpl_writeText(threadData, _txt, _a_condVar);
tmpMeta[0] = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1473);
goto tmp2_done;
}
case 1: {
if (mmc__uniontype__metarecord__typedef__equal(tmp3_2,1,2) == 0) goto tmp2_end;
_txt = tmp3_1;
_a_condVar = tmp3_3;
_a_msgVar = tmp3_4;
_a_info = tmp3_5;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1467);
_txt = omc_Tpl_writeText(threadData, _txt, _a_condVar);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1218);
_txt = omc_Tpl_pushBlock(threadData, _txt, _OMC_LIT97);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1475);
_txt = omc_CodegenCFunctions_infoArgs(threadData, _txt, _a_info);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1480);
_txt = omc_Tpl_writeText(threadData, _txt, _a_msgVar);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT375);
_txt = omc_Tpl_popBlock(threadData, _txt);
tmpMeta[0] = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT103);
goto tmp2_done;
}
case 2: {
if (mmc__uniontype__metarecord__typedef__equal(tmp3_2,9,1) == 0) goto tmp2_end;
_txt = tmp3_1;
_a_condVar = tmp3_3;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1467);
_txt = omc_Tpl_writeText(threadData, _txt, _a_condVar);
tmpMeta[0] = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1485);
goto tmp2_done;
}
case 3: {
_txt = tmp3_1;
_a_condVar = tmp3_3;
_a_msgVar = tmp3_4;
_a_info = tmp3_5;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1467);
_txt = omc_Tpl_writeText(threadData, _txt, _a_condVar);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1218);
_txt = omc_Tpl_pushBlock(threadData, _txt, _OMC_LIT97);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1475);
_txt = omc_CodegenCFunctions_infoArgs(threadData, _txt, _a_info);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1491);
_txt = omc_Tpl_writeText(threadData, _txt, _a_msgVar);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT375);
_txt = omc_Tpl_popBlock(threadData, _txt);
tmpMeta[0] = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT103);
goto tmp2_done;
}
}
goto tmp2_end;
tmp2_end: ;
}
goto goto_1;
goto_1:;
MMC_THROW_INTERNAL();
goto tmp2_done;
tmp2_done:;
}
}
_out_txt = tmpMeta[0];
_return: OMC_LABEL_UNUSED
return _out_txt;
}
DLLExport
modelica_metatype omc_CodegenCFunctions_expToFormatString(threadData_t *threadData, modelica_metatype _txt, modelica_metatype _a_exp, modelica_metatype _a_context, modelica_metatype _a_preExp, modelica_metatype _a_varDecls, modelica_metatype _a_auxFunction, modelica_metatype *out_out_a_preExp, modelica_metatype *out_out_a_varDecls, modelica_metatype *out_out_a_auxFunction)
{
modelica_metatype _out_txt = NULL;
modelica_metatype _out_a_preExp = NULL;
modelica_metatype _out_a_varDecls = NULL;
modelica_metatype _out_a_auxFunction = NULL;
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
_out_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1360);
_out_txt = omc_CodegenCFunctions_daeExp(threadData, _out_txt, _a_exp, _a_context, _a_preExp, _a_varDecls, _a_auxFunction ,&_out_a_preExp ,&_out_a_varDecls ,&_out_a_auxFunction);
_out_txt = omc_Tpl_writeTok(threadData, _out_txt, _OMC_LIT78);
_return: OMC_LABEL_UNUSED
if (out_out_a_preExp) { *out_out_a_preExp = _out_a_preExp; }
if (out_out_a_varDecls) { *out_out_a_varDecls = _out_a_varDecls; }
if (out_out_a_auxFunction) { *out_out_a_auxFunction = _out_a_auxFunction; }
return _out_txt;
}
DLLExport
modelica_metatype omc_CodegenCFunctions_assertCommon(threadData_t *threadData, modelica_metatype _txt, modelica_metatype _a_condition, modelica_metatype _a_messages, modelica_metatype _a_level, modelica_metatype _a_context, modelica_metatype _a_varDecls, modelica_metatype _a_auxFunction, modelica_metatype _a_info, modelica_metatype *out_out_a_varDecls, modelica_metatype *out_out_a_auxFunction)
{
modelica_metatype _out_txt = NULL;
modelica_metatype _out_a_varDecls = NULL;
modelica_metatype _out_a_auxFunction = NULL;
modelica_metatype _l_TriggerVarSet = NULL;
modelica_metatype _l_TriggerIf = NULL;
modelica_metatype _l_warningTriggered = NULL;
modelica_metatype _l_omcAssertFunc = NULL;
modelica_metatype _l_addInfoTextContext = NULL;
modelica_metatype _l_AddionalFuncName = NULL;
modelica_metatype _l_eqnsindx = NULL;
modelica_metatype _l_msgVar = NULL;
modelica_metatype _l_preExpMsg = NULL;
modelica_metatype _l_condVar = NULL;
modelica_metatype _l_preExpCond = NULL;
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
_l_preExpCond = _OMC_LIT20;
_l_condVar = omc_CodegenCFunctions_daeExp(threadData, _OMC_LIT20, _a_condition, _a_context, _l_preExpCond, _a_varDecls, _a_auxFunction ,&_l_preExpCond ,&_out_a_varDecls ,&_out_a_auxFunction);
_l_preExpMsg = _OMC_LIT20;
_l_msgVar = omc_Tpl_pushIter(threadData, _OMC_LIT20, _OMC_LIT294);
_l_msgVar = omc_CodegenCFunctions_lm__662(threadData, _l_msgVar, _a_messages, _out_a_auxFunction, _out_a_varDecls, _l_preExpMsg, _a_context ,&_out_a_auxFunction ,&_out_a_varDecls ,&_l_preExpMsg);
_l_msgVar = omc_Tpl_popIter(threadData, _l_msgVar);
_l_eqnsindx = omc_CodegenCFunctions_fun__663(threadData, _OMC_LIT20, _a_context);
_l_AddionalFuncName = omc_CodegenCFunctions_fun__664(threadData, _OMC_LIT20, _a_context);
_l_addInfoTextContext = omc_CodegenCFunctions_fun__665(threadData, _OMC_LIT20, _a_context, _a_condition);
_l_omcAssertFunc = omc_CodegenCFunctions_fun__666(threadData, _OMC_LIT20, _a_level, _l_AddionalFuncName);
_l_warningTriggered = omc_CodegenCFunctions_tempDeclZero(threadData, _OMC_LIT20, _OMC_LIT1492, _out_a_varDecls ,&_out_a_varDecls);
_l_TriggerIf = omc_CodegenCFunctions_fun__667(threadData, _OMC_LIT20, _a_level, _l_warningTriggered);
_l_TriggerVarSet = omc_CodegenCFunctions_fun__668(threadData, _OMC_LIT20, _a_level, _l_warningTriggered);
_out_txt = omc_Tpl_writeText(threadData, _txt, _l_TriggerIf);
_out_txt = omc_Tpl_softNewLine(threadData, _out_txt);
_out_txt = omc_Tpl_writeTok(threadData, _out_txt, _OMC_LIT146);
_out_txt = omc_Tpl_pushBlock(threadData, _out_txt, _OMC_LIT97);
_out_txt = omc_Tpl_writeText(threadData, _out_txt, _l_preExpCond);
_out_txt = omc_Tpl_softNewLine(threadData, _out_txt);
_out_txt = omc_Tpl_writeTok(threadData, _out_txt, _OMC_LIT1494);
_out_txt = omc_Tpl_writeText(threadData, _out_txt, _l_condVar);
_out_txt = omc_Tpl_writeTok(threadData, _out_txt, _OMC_LIT428);
_out_txt = omc_Tpl_pushBlock(threadData, _out_txt, _OMC_LIT97);
_out_txt = omc_Tpl_writeText(threadData, _out_txt, _l_preExpMsg);
_out_txt = omc_Tpl_softNewLine(threadData, _out_txt);
_out_txt = omc_Tpl_writeTok(threadData, _out_txt, _OMC_LIT146);
_out_txt = omc_Tpl_pushBlock(threadData, _out_txt, _OMC_LIT97);
_out_txt = omc_Tpl_writeTok(threadData, _out_txt, _OMC_LIT1475);
_out_txt = omc_CodegenCFunctions_infoArgs(threadData, _out_txt, _a_info);
_out_txt = omc_Tpl_writeTok(threadData, _out_txt, _OMC_LIT1383);
_out_txt = omc_Tpl_writeText(threadData, _out_txt, _l_addInfoTextContext);
_out_txt = omc_Tpl_softNewLine(threadData, _out_txt);
_out_txt = omc_Tpl_writeText(threadData, _out_txt, _l_omcAssertFunc);
_out_txt = omc_Tpl_writeTok(threadData, _out_txt, _OMC_LIT1496);
_out_txt = omc_Tpl_writeText(threadData, _out_txt, _l_eqnsindx);
_out_txt = omc_Tpl_writeText(threadData, _out_txt, _l_msgVar);
_out_txt = omc_Tpl_writeTok(threadData, _out_txt, _OMC_LIT375);
_out_txt = omc_Tpl_popBlock(threadData, _out_txt);
_out_txt = omc_Tpl_writeTok(threadData, _out_txt, _OMC_LIT159);
_out_txt = omc_Tpl_writeText(threadData, _out_txt, _l_TriggerVarSet);
_out_txt = omc_Tpl_softNewLine(threadData, _out_txt);
_out_txt = omc_Tpl_popBlock(threadData, _out_txt);
_out_txt = omc_Tpl_writeTok(threadData, _out_txt, _OMC_LIT159);
_out_txt = omc_Tpl_popBlock(threadData, _out_txt);
_out_txt = omc_Tpl_writeTok(threadData, _out_txt, _OMC_LIT103);
_out_txt = omc_Tpl_writeTok(threadData, _out_txt, _OMC_LIT89);
_return: OMC_LABEL_UNUSED
if (out_out_a_varDecls) { *out_out_a_varDecls = _out_a_varDecls; }
if (out_out_a_auxFunction) { *out_out_a_auxFunction = _out_a_auxFunction; }
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__668(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_level, modelica_metatype _in_a_warningTriggered)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta[2] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp3_1;modelica_metatype tmp3_2;modelica_metatype tmp3_3;
tmp3_1 = _in_txt;
tmp3_2 = _in_a_level;
tmp3_3 = _in_a_warningTriggered;
{
modelica_metatype _txt = NULL;
modelica_metatype _a_warningTriggered = NULL;
volatile mmc_switch_type tmp3;
int tmp4;
tmp3 = 0;
for (; tmp3 < 2; tmp3++) {
switch (MMC_SWITCH_CAST(tmp3)) {
case 0: {
modelica_integer tmp5;
if (mmc__uniontype__metarecord__typedef__equal(tmp3_2,5,2) == 0) goto tmp2_end;
tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_2), 3));
tmp5 = mmc_unbox_integer(tmpMeta[1]);
if (2 != tmp5) goto tmp2_end;
_txt = tmp3_1;
_a_warningTriggered = tmp3_3;
_txt = omc_Tpl_writeText(threadData, _txt, _a_warningTriggered);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT393);
tmpMeta[0] = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT89);
goto tmp2_done;
}
case 1: {
_txt = tmp3_1;
tmpMeta[0] = _txt;
goto tmp2_done;
}
}
goto tmp2_end;
tmp2_end: ;
}
goto goto_1;
goto_1:;
MMC_THROW_INTERNAL();
goto tmp2_done;
tmp2_done:;
}
}
_out_txt = tmpMeta[0];
_return: OMC_LABEL_UNUSED
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__667(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_level, modelica_metatype _in_a_warningTriggered)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta[2] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp3_1;modelica_metatype tmp3_2;modelica_metatype tmp3_3;
tmp3_1 = _in_txt;
tmp3_2 = _in_a_level;
tmp3_3 = _in_a_warningTriggered;
{
modelica_metatype _txt = NULL;
modelica_metatype _a_warningTriggered = NULL;
volatile mmc_switch_type tmp3;
int tmp4;
tmp3 = 0;
for (; tmp3 < 2; tmp3++) {
switch (MMC_SWITCH_CAST(tmp3)) {
case 0: {
modelica_integer tmp5;
if (mmc__uniontype__metarecord__typedef__equal(tmp3_2,5,2) == 0) goto tmp2_end;
tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_2), 3));
tmp5 = mmc_unbox_integer(tmpMeta[1]);
if (2 != tmp5) goto tmp2_end;
_txt = tmp3_1;
_a_warningTriggered = tmp3_3;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1494);
_txt = omc_Tpl_writeText(threadData, _txt, _a_warningTriggered);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT78);
tmpMeta[0] = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT89);
goto tmp2_done;
}
case 1: {
_txt = tmp3_1;
tmpMeta[0] = _txt;
goto tmp2_done;
}
}
goto tmp2_end;
tmp2_end: ;
}
goto goto_1;
goto_1:;
MMC_THROW_INTERNAL();
goto tmp2_done;
tmp2_done:;
}
}
_out_txt = tmpMeta[0];
_return: OMC_LABEL_UNUSED
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__666(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_level, modelica_metatype _in_a_AddionalFuncName)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta[2] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp3_1;modelica_metatype tmp3_2;modelica_metatype tmp3_3;
tmp3_1 = _in_txt;
tmp3_2 = _in_a_level;
tmp3_3 = _in_a_AddionalFuncName;
{
modelica_metatype _txt = NULL;
modelica_metatype _a_AddionalFuncName = NULL;
volatile mmc_switch_type tmp3;
int tmp4;
tmp3 = 0;
for (; tmp3 < 2; tmp3++) {
switch (MMC_SWITCH_CAST(tmp3)) {
case 0: {
modelica_integer tmp5;
if (mmc__uniontype__metarecord__typedef__equal(tmp3_2,5,2) == 0) goto tmp2_end;
tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_2), 3));
tmp5 = mmc_unbox_integer(tmpMeta[1]);
if (2 != tmp5) goto tmp2_end;
_txt = tmp3_1;
_a_AddionalFuncName = tmp3_3;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1498);
_txt = omc_Tpl_writeText(threadData, _txt, _a_AddionalFuncName);
tmpMeta[0] = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT68);
goto tmp2_done;
}
case 1: {
_txt = tmp3_1;
_a_AddionalFuncName = tmp3_3;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1500);
_txt = omc_Tpl_writeText(threadData, _txt, _a_AddionalFuncName);
tmpMeta[0] = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1502);
goto tmp2_done;
}
}
goto tmp2_end;
tmp2_end: ;
}
goto goto_1;
goto_1:;
MMC_THROW_INTERNAL();
goto tmp2_done;
tmp2_done:;
}
}
_out_txt = tmpMeta[0];
_return: OMC_LABEL_UNUSED
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__665(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_context, modelica_metatype _in_a_condition)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta[1] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp3_1;modelica_metatype tmp3_2;modelica_metatype tmp3_3;
tmp3_1 = _in_txt;
tmp3_2 = _in_a_context;
tmp3_3 = _in_a_condition;
{
modelica_metatype _txt = NULL;
modelica_metatype _a_condition = NULL;
modelica_string _ret_1 = NULL;
modelica_metatype _txt_0 = NULL;
volatile mmc_switch_type tmp3;
int tmp4;
tmp3 = 0;
for (; tmp3 < 2; tmp3++) {
switch (MMC_SWITCH_CAST(tmp3)) {
case 0: {
if (mmc__uniontype__metarecord__typedef__equal(tmp3_2,1,2) == 0) goto tmp2_end;
_txt = tmp3_1;
tmpMeta[0] = _txt;
goto tmp2_done;
}
case 1: {
_txt = tmp3_1;
_a_condition = tmp3_3;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT89);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1504);
_txt_0 = omc_ExpressionDumpTpl_dumpExp(threadData, _OMC_LIT20, _a_condition, _OMC_LIT231);
_ret_1 = omc_Util_escapeModelicaStringToCString(threadData, omc_Tpl_textString(threadData, _txt_0));
_txt = omc_Tpl_writeStr(threadData, _txt, _ret_1);
tmpMeta[0] = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1506);
goto tmp2_done;
}
}
goto tmp2_end;
tmp2_end: ;
}
goto goto_1;
goto_1:;
MMC_THROW_INTERNAL();
goto tmp2_done;
tmp2_done:;
}
}
_out_txt = tmpMeta[0];
_return: OMC_LABEL_UNUSED
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__664(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_context)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta[1] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp3_1;modelica_metatype tmp3_2;
tmp3_1 = _in_txt;
tmp3_2 = _in_a_context;
{
modelica_metatype _txt = NULL;
volatile mmc_switch_type tmp3;
int tmp4;
tmp3 = 0;
for (; tmp3 < 2; tmp3++) {
switch (MMC_SWITCH_CAST(tmp3)) {
case 0: {
if (mmc__uniontype__metarecord__typedef__equal(tmp3_2,1,2) == 0) goto tmp2_end;
_txt = tmp3_1;
tmpMeta[0] = _txt;
goto tmp2_done;
}
case 1: {
_txt = tmp3_1;
tmpMeta[0] = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1508);
goto tmp2_done;
}
}
goto tmp2_end;
tmp2_end: ;
}
goto goto_1;
goto_1:;
MMC_THROW_INTERNAL();
goto tmp2_done;
tmp2_done:;
}
}
_out_txt = tmpMeta[0];
_return: OMC_LABEL_UNUSED
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__663(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_context)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta[1] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp3_1;modelica_metatype tmp3_2;
tmp3_1 = _in_txt;
tmp3_2 = _in_a_context;
{
modelica_metatype _txt = NULL;
volatile mmc_switch_type tmp3;
int tmp4;
tmp3 = 0;
for (; tmp3 < 2; tmp3++) {
switch (MMC_SWITCH_CAST(tmp3)) {
case 0: {
if (mmc__uniontype__metarecord__typedef__equal(tmp3_2,1,2) == 0) goto tmp2_end;
_txt = tmp3_1;
tmpMeta[0] = _txt;
goto tmp2_done;
}
case 1: {
_txt = tmp3_1;
tmpMeta[0] = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1510);
goto tmp2_done;
}
}
goto tmp2_end;
tmp2_end: ;
}
goto goto_1;
goto_1:;
MMC_THROW_INTERNAL();
goto tmp2_done;
tmp2_done:;
}
}
_out_txt = tmpMeta[0];
_return: OMC_LABEL_UNUSED
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_lm__662(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_items, modelica_metatype _in_a_auxFunction, modelica_metatype _in_a_varDecls, modelica_metatype _in_a_preExpMsg, modelica_metatype _in_a_context, modelica_metatype *out_out_a_auxFunction, modelica_metatype *out_out_a_varDecls, modelica_metatype *out_out_a_preExpMsg)
{
modelica_metatype _out_txt = NULL;
modelica_metatype _out_a_auxFunction = NULL;
modelica_metatype _out_a_varDecls = NULL;
modelica_metatype _out_a_preExpMsg = NULL;
modelica_metatype tmpMeta[6] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_metatype tmp4_2;modelica_metatype tmp4_3;modelica_metatype tmp4_4;modelica_metatype tmp4_5;modelica_metatype tmp4_6;
tmp4_1 = _in_txt;
tmp4_2 = _in_items;
tmp4_3 = _in_a_auxFunction;
tmp4_4 = _in_a_varDecls;
tmp4_5 = _in_a_preExpMsg;
tmp4_6 = _in_a_context;
{
modelica_metatype _txt = NULL;
modelica_metatype _rest = NULL;
modelica_metatype _a_auxFunction = NULL;
modelica_metatype _a_varDecls = NULL;
modelica_metatype _a_preExpMsg = NULL;
modelica_metatype _a_context = NULL;
modelica_metatype _i_message = NULL;
volatile mmc_switch_type tmp4;
int tmp5;
tmp4 = 0;
for (; tmp4 < 2; tmp4++) {
switch (MMC_SWITCH_CAST(tmp4)) {
case 0: {
if (!listEmpty(tmp4_2)) goto tmp3_end;
_txt = tmp4_1;
_a_auxFunction = tmp4_3;
_a_varDecls = tmp4_4;
_a_preExpMsg = tmp4_5;
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_auxFunction;
tmpMeta[0+2] = _a_varDecls;
tmpMeta[0+3] = _a_preExpMsg;
goto tmp3_done;
}
case 1: {
if (listEmpty(tmp4_2)) goto tmp3_end;
tmpMeta[4] = MMC_CAR(tmp4_2);
tmpMeta[5] = MMC_CDR(tmp4_2);
_i_message = tmpMeta[4];
_rest = tmpMeta[5];
_txt = tmp4_1;
_a_auxFunction = tmp4_3;
_a_varDecls = tmp4_4;
_a_preExpMsg = tmp4_5;
_a_context = tmp4_6;
_txt = omc_CodegenCFunctions_expToFormatString(threadData, _txt, _i_message, _a_context, _a_preExpMsg, _a_varDecls, _a_auxFunction ,&_a_preExpMsg ,&_a_varDecls ,&_a_auxFunction);
_txt = omc_Tpl_nextIter(threadData, _txt);
_in_txt = _txt;
_in_items = _rest;
_in_a_auxFunction = _a_auxFunction;
_in_a_varDecls = _a_varDecls;
_in_a_preExpMsg = _a_preExpMsg;
_in_a_context = _a_context;
goto _tailrecursive;
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta[0+0];
_out_a_auxFunction = tmpMeta[0+1];
_out_a_varDecls = tmpMeta[0+2];
_out_a_preExpMsg = tmpMeta[0+3];
_return: OMC_LABEL_UNUSED
if (out_out_a_auxFunction) { *out_out_a_auxFunction = _out_a_auxFunction; }
if (out_out_a_varDecls) { *out_out_a_varDecls = _out_a_varDecls; }
if (out_out_a_preExpMsg) { *out_out_a_preExpMsg = _out_a_preExpMsg; }
return _out_txt;
}
DLLExport
modelica_metatype omc_CodegenCFunctions_infoArgs(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_info)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta[7] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp3_1;modelica_metatype tmp3_2;
tmp3_1 = _in_txt;
tmp3_2 = _in_a_info;
{
modelica_metatype _txt = NULL;
modelica_boolean _i_isReadOnly;
modelica_integer _i_columnNumberEnd;
modelica_integer _i_lineNumberEnd;
modelica_integer _i_columnNumberStart;
modelica_integer _i_lineNumberStart;
modelica_string _i_fileName = NULL;
modelica_string _ret_1 = NULL;
modelica_string _ret_0 = NULL;
volatile mmc_switch_type tmp3;
int tmp4;
tmp3 = 0;
for (; tmp3 < 2; tmp3++) {
switch (MMC_SWITCH_CAST(tmp3)) {
case 0: {
modelica_integer tmp5;
modelica_integer tmp6;
modelica_integer tmp7;
modelica_integer tmp8;
modelica_integer tmp9;
tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_2), 2));
tmpMeta[2] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_2), 3));
tmp5 = mmc_unbox_integer(tmpMeta[2]);
tmpMeta[3] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_2), 4));
tmp6 = mmc_unbox_integer(tmpMeta[3]);
tmpMeta[4] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_2), 5));
tmp7 = mmc_unbox_integer(tmpMeta[4]);
tmpMeta[5] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_2), 6));
tmp8 = mmc_unbox_integer(tmpMeta[5]);
tmpMeta[6] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_2), 7));
tmp9 = mmc_unbox_integer(tmpMeta[6]);
_txt = tmp3_1;
_i_fileName = tmpMeta[1];
_i_isReadOnly = tmp5;
_i_lineNumberStart = tmp6;
_i_columnNumberStart = tmp7;
_i_lineNumberEnd = tmp8;
_i_columnNumberEnd = tmp9;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT917);
_ret_0 = omc_Testsuite_friendly(threadData, _i_fileName);
_ret_1 = omc_Util_escapeModelicaStringToCString(threadData, _ret_0);
_txt = omc_Tpl_writeStr(threadData, _txt, _ret_1);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1512);
_txt = omc_Tpl_writeStr(threadData, _txt, intString(_i_lineNumberStart));
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT226);
_txt = omc_Tpl_writeStr(threadData, _txt, intString(_i_columnNumberStart));
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT226);
_txt = omc_Tpl_writeStr(threadData, _txt, intString(_i_lineNumberEnd));
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT226);
_txt = omc_Tpl_writeStr(threadData, _txt, intString(_i_columnNumberEnd));
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT226);
tmpMeta[0] = omc_CodegenCFunctions_fun__660(threadData, _txt, _i_isReadOnly);
goto tmp2_done;
}
case 1: {
_txt = tmp3_1;
tmpMeta[0] = _txt;
goto tmp2_done;
}
}
goto tmp2_end;
tmp2_end: ;
}
goto goto_1;
goto_1:;
MMC_THROW_INTERNAL();
goto tmp2_done;
tmp2_done:;
}
}
_out_txt = tmpMeta[0];
_return: OMC_LABEL_UNUSED
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__660(threadData_t *threadData, modelica_metatype _in_txt, modelica_boolean _in_a_isReadOnly)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta[1] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp3_1;modelica_boolean tmp3_2;
tmp3_1 = _in_txt;
tmp3_2 = _in_a_isReadOnly;
{
modelica_metatype _txt = NULL;
volatile mmc_switch_type tmp3;
int tmp4;
tmp3 = 0;
for (; tmp3 < 2; tmp3++) {
switch (MMC_SWITCH_CAST(tmp3)) {
case 0: {
if (0 != tmp3_2) goto tmp2_end;
_txt = tmp3_1;
tmpMeta[0] = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT957);
goto tmp2_done;
}
case 1: {
_txt = tmp3_1;
tmpMeta[0] = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT399);
goto tmp2_done;
}
}
goto tmp2_end;
tmp2_end: ;
}
goto goto_1;
goto_1:;
MMC_THROW_INTERNAL();
goto tmp2_done;
tmp2_done:;
}
}
_out_txt = tmpMeta[0];
_return: OMC_LABEL_UNUSED
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__660(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_isReadOnly)
{
modelica_integer tmp1;
modelica_metatype _out_txt = NULL;
tmp1 = mmc_unbox_integer(_in_a_isReadOnly);
_out_txt = omc_CodegenCFunctions_fun__660(threadData, _in_txt, tmp1);
return _out_txt;
}
DLLExport
modelica_metatype omc_CodegenCFunctions_patternMatch(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_pat, modelica_metatype _in_a_rhs, modelica_metatype _in_a_onPatternFail, modelica_metatype _in_a_varDecls, modelica_metatype _in_a_assignments, modelica_metatype *out_out_a_rhs, modelica_metatype *out_out_a_onPatternFail, modelica_metatype *out_out_a_varDecls, modelica_metatype *out_out_a_assignments)
{
modelica_metatype _out_txt = NULL;
modelica_metatype _out_a_rhs = NULL;
modelica_metatype _out_a_onPatternFail = NULL;
modelica_metatype _out_a_varDecls = NULL;
modelica_metatype _out_a_assignments = NULL;
modelica_metatype tmpMeta[9] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_metatype tmp4_2;modelica_metatype tmp4_3;modelica_metatype tmp4_4;modelica_metatype tmp4_5;modelica_metatype tmp4_6;
tmp4_1 = _in_txt;
tmp4_2 = _in_a_pat;
tmp4_3 = _in_a_rhs;
tmp4_4 = _in_a_onPatternFail;
tmp4_5 = _in_a_varDecls;
tmp4_6 = _in_a_assignments;
{
modelica_metatype _txt = NULL;
modelica_metatype _a_rhs = NULL;
modelica_metatype _a_onPatternFail = NULL;
modelica_metatype _a_varDecls = NULL;
modelica_metatype _a_assignments = NULL;
modelica_metatype _i_et = NULL;
modelica_string _i_p_id = NULL;
modelica_integer _i_index;
modelica_boolean _i_knownSingleton;
modelica_metatype _i_patterns_1 = NULL;
modelica_metatype _i_patterns = NULL;
modelica_metatype _i_tail = NULL;
modelica_metatype _i_head = NULL;
modelica_metatype _i_p_pat = NULL;
modelica_metatype _i_p_exp = NULL;
modelica_metatype _i_p_ty = NULL;
modelica_metatype _txt_6 = NULL;
modelica_string _ret_5 = NULL;
modelica_metatype _l_tvarTail = NULL;
modelica_metatype _l_tvarHead = NULL;
modelica_metatype _l_tvar = NULL;
modelica_metatype _l_urhs = NULL;
modelica_metatype _l_unboxBuf = NULL;
volatile mmc_switch_type tmp4;
int tmp5;
tmp4 = 0;
for (; tmp4 < 12; tmp4++) {
switch (MMC_SWITCH_CAST(tmp4)) {
case 0: {
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,0,0) == 0) goto tmp3_end;
_txt = tmp4_1;
_a_rhs = tmp4_3;
_a_onPatternFail = tmp4_4;
_a_varDecls = tmp4_5;
_a_assignments = tmp4_6;
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_rhs;
tmpMeta[0+2] = _a_onPatternFail;
tmpMeta[0+3] = _a_varDecls;
tmpMeta[0+4] = _a_assignments;
goto tmp3_done;
}
case 1: {
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,1,2) == 0) goto tmp3_end;
tmpMeta[5] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
tmpMeta[6] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 3));
_i_p_ty = tmpMeta[5];
_i_p_exp = tmpMeta[6];
_txt = tmp4_1;
_a_rhs = tmp4_3;
_a_onPatternFail = tmp4_4;
_a_varDecls = tmp4_5;
_a_assignments = tmp4_6;
_l_unboxBuf = _OMC_LIT20;
_l_urhs = omc_CodegenCFunctions_fun__648(threadData, _OMC_LIT20, _i_p_ty, _a_varDecls, _l_unboxBuf, _a_rhs ,&_a_varDecls ,&_l_unboxBuf);
_txt = omc_Tpl_writeText(threadData, _txt, _l_unboxBuf);
_txt = omc_CodegenCFunctions_fun__649(threadData, _txt, _i_p_exp, _a_onPatternFail, _l_urhs);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_rhs;
tmpMeta[0+2] = _a_onPatternFail;
tmpMeta[0+3] = _a_varDecls;
tmpMeta[0+4] = _a_assignments;
goto tmp3_done;
}
case 2: {
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,9,1) == 0) goto tmp3_end;
tmpMeta[5] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
_i_p_pat = tmpMeta[5];
_txt = tmp4_1;
_a_rhs = tmp4_3;
_a_onPatternFail = tmp4_4;
_a_varDecls = tmp4_5;
_a_assignments = tmp4_6;
_l_tvar = omc_CodegenCFunctions_tempDecl(threadData, _OMC_LIT20, _OMC_LIT311, _a_varDecls ,&_a_varDecls);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1514);
_txt = omc_Tpl_writeText(threadData, _txt, _a_rhs);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1516);
_txt = omc_Tpl_writeText(threadData, _txt, _a_onPatternFail);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT161);
_txt = omc_Tpl_writeText(threadData, _txt, _l_tvar);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT821);
_txt = omc_Tpl_writeText(threadData, _txt, _a_rhs);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1518);
_txt = omc_CodegenCFunctions_patternMatch(threadData, _txt, _i_p_pat, _l_tvar, _a_onPatternFail, _a_varDecls, _a_assignments ,&_l_tvar ,&_a_onPatternFail ,&_a_varDecls ,&_a_assignments);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_rhs;
tmpMeta[0+2] = _a_onPatternFail;
tmpMeta[0+3] = _a_varDecls;
tmpMeta[0+4] = _a_assignments;
goto tmp3_done;
}
case 3: {
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,6,2) == 0) goto tmp3_end;
tmpMeta[5] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
tmpMeta[6] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 3));
_i_head = tmpMeta[5];
_i_tail = tmpMeta[6];
_txt = tmp4_1;
_a_rhs = tmp4_3;
_a_onPatternFail = tmp4_4;
_a_varDecls = tmp4_5;
_a_assignments = tmp4_6;
_l_tvarHead = omc_CodegenCFunctions_tempDecl(threadData, _OMC_LIT20, _OMC_LIT311, _a_varDecls ,&_a_varDecls);
_l_tvarTail = omc_CodegenCFunctions_tempDecl(threadData, _OMC_LIT20, _OMC_LIT311, _a_varDecls ,&_a_varDecls);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1520);
_txt = omc_Tpl_writeText(threadData, _txt, _a_rhs);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1516);
_txt = omc_Tpl_writeText(threadData, _txt, _a_onPatternFail);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT161);
_txt = omc_Tpl_writeText(threadData, _txt, _l_tvarHead);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT373);
_txt = omc_Tpl_writeText(threadData, _txt, _a_rhs);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT375);
_txt = omc_Tpl_writeText(threadData, _txt, _l_tvarTail);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT377);
_txt = omc_Tpl_writeText(threadData, _txt, _a_rhs);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT375);
_txt = omc_CodegenCFunctions_patternMatch(threadData, _txt, _i_head, _l_tvarHead, _a_onPatternFail, _a_varDecls, _a_assignments ,&_l_tvarHead ,&_a_onPatternFail ,&_a_varDecls ,&_a_assignments);
_txt = omc_CodegenCFunctions_patternMatch(threadData, _txt, _i_tail, _l_tvarTail, _a_onPatternFail, _a_varDecls, _a_assignments ,&_l_tvarTail ,&_a_onPatternFail ,&_a_varDecls ,&_a_assignments);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_rhs;
tmpMeta[0+2] = _a_onPatternFail;
tmpMeta[0+3] = _a_varDecls;
tmpMeta[0+4] = _a_assignments;
goto tmp3_done;
}
case 4: {
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,4,1) == 0) goto tmp3_end;
tmpMeta[5] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
_i_patterns = tmpMeta[5];
_txt = tmp4_1;
_a_rhs = tmp4_3;
_a_onPatternFail = tmp4_4;
_a_varDecls = tmp4_5;
_a_assignments = tmp4_6;
_txt = omc_Tpl_pushIter(threadData, _txt, _OMC_LIT139);
_txt = omc_CodegenCFunctions_lm__651(threadData, _txt, _i_patterns, _a_assignments, _a_onPatternFail, _a_rhs, _a_varDecls ,&_a_assignments ,&_a_onPatternFail ,&_a_varDecls);
_txt = omc_Tpl_popIter(threadData, _txt);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_rhs;
tmpMeta[0+2] = _a_onPatternFail;
tmpMeta[0+3] = _a_varDecls;
tmpMeta[0+4] = _a_assignments;
goto tmp3_done;
}
case 5: {
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,5,1) == 0) goto tmp3_end;
tmpMeta[5] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
_i_patterns = tmpMeta[5];
_txt = tmp4_1;
_a_rhs = tmp4_3;
_a_onPatternFail = tmp4_4;
_a_varDecls = tmp4_5;
_a_assignments = tmp4_6;
_txt = omc_Tpl_pushIter(threadData, _txt, _OMC_LIT139);
_txt = omc_CodegenCFunctions_lm__653(threadData, _txt, _i_patterns, _a_assignments, _a_varDecls, _a_onPatternFail, _a_rhs ,&_a_assignments ,&_a_varDecls ,&_a_onPatternFail);
_txt = omc_Tpl_popIter(threadData, _txt);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_rhs;
tmpMeta[0+2] = _a_onPatternFail;
tmpMeta[0+3] = _a_varDecls;
tmpMeta[0+4] = _a_assignments;
goto tmp3_done;
}
case 6: {
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,8,2) == 0) goto tmp3_end;
tmpMeta[5] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 3));
_i_patterns_1 = tmpMeta[5];
_txt = tmp4_1;
_a_rhs = tmp4_3;
_a_onPatternFail = tmp4_4;
_a_varDecls = tmp4_5;
_a_assignments = tmp4_6;
_txt = omc_CodegenCFunctions_lm__655(threadData, _txt, _i_patterns_1, _a_assignments, _a_onPatternFail, _a_rhs, _a_varDecls ,&_a_assignments ,&_a_onPatternFail ,&_a_varDecls);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_rhs;
tmpMeta[0+2] = _a_onPatternFail;
tmpMeta[0+3] = _a_varDecls;
tmpMeta[0+4] = _a_assignments;
goto tmp3_done;
}
case 7: {
modelica_integer tmp6;
modelica_integer tmp7;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,7,6) == 0) goto tmp3_end;
tmpMeta[5] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 3));
tmp6 = mmc_unbox_integer(tmpMeta[5]);
tmpMeta[6] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 4));
tmpMeta[7] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 7));
tmp7 = mmc_unbox_integer(tmpMeta[7]);
_i_index = tmp6;
_i_patterns = tmpMeta[6];
_i_knownSingleton = tmp7;
_txt = tmp4_1;
_a_rhs = tmp4_3;
_a_onPatternFail = tmp4_4;
_a_varDecls = tmp4_5;
_a_assignments = tmp4_6;
_txt = omc_CodegenCFunctions_fun__656(threadData, _txt, _i_knownSingleton, _a_onPatternFail, _i_patterns, _i_index, _a_rhs);
_txt = omc_Tpl_pushIter(threadData, _txt, _OMC_LIT1521);
_txt = omc_CodegenCFunctions_lm__658(threadData, _txt, _i_patterns, _a_assignments, _a_onPatternFail, _a_rhs, _a_varDecls ,&_a_assignments ,&_a_onPatternFail ,&_a_varDecls);
_txt = omc_Tpl_popIter(threadData, _txt);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_rhs;
tmpMeta[0+2] = _a_onPatternFail;
tmpMeta[0+3] = _a_varDecls;
tmpMeta[0+4] = _a_assignments;
goto tmp3_done;
}
case 8: {
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,3,2) == 0) goto tmp3_end;
tmpMeta[5] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
tmpMeta[6] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 3));
_i_p_id = tmpMeta[5];
_i_p_pat = tmpMeta[6];
_txt = tmp4_1;
_a_rhs = tmp4_3;
_a_onPatternFail = tmp4_4;
_a_varDecls = tmp4_5;
_a_assignments = tmp4_6;
_a_assignments = omc_Tpl_writeTok(threadData, _a_assignments, _OMC_LIT236);
_a_assignments = omc_Tpl_writeStr(threadData, _a_assignments, _i_p_id);
_a_assignments = omc_Tpl_writeTok(threadData, _a_assignments, _OMC_LIT121);
_a_assignments = omc_Tpl_writeText(threadData, _a_assignments, _a_rhs);
_a_assignments = omc_Tpl_writeTok(threadData, _a_assignments, _OMC_LIT105);
_a_assignments = omc_Tpl_writeTok(threadData, _a_assignments, _OMC_LIT89);
_in_txt = _txt;
_in_a_pat = _i_p_pat;
_in_a_rhs = _a_rhs;
_in_a_onPatternFail = _a_onPatternFail;
_in_a_varDecls = _a_varDecls;
_in_a_assignments = _a_assignments;
goto _tailrecursive;
goto tmp3_done;
}
case 9: {
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,2,4) == 0) goto tmp3_end;
tmpMeta[5] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
tmpMeta[6] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 3));
if (!optionNone(tmpMeta[6])) goto tmp3_end;
tmpMeta[7] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 5));
_i_p_id = tmpMeta[5];
_i_p_pat = tmpMeta[7];
_txt = tmp4_1;
_a_rhs = tmp4_3;
_a_onPatternFail = tmp4_4;
_a_varDecls = tmp4_5;
_a_assignments = tmp4_6;
_a_assignments = omc_Tpl_writeTok(threadData, _a_assignments, _OMC_LIT236);
_a_assignments = omc_Tpl_writeStr(threadData, _a_assignments, _i_p_id);
_a_assignments = omc_Tpl_writeTok(threadData, _a_assignments, _OMC_LIT121);
_a_assignments = omc_Tpl_writeText(threadData, _a_assignments, _a_rhs);
_a_assignments = omc_Tpl_writeTok(threadData, _a_assignments, _OMC_LIT105);
_a_assignments = omc_Tpl_writeTok(threadData, _a_assignments, _OMC_LIT89);
_in_txt = _txt;
_in_a_pat = _i_p_pat;
_in_a_rhs = _a_rhs;
_in_a_onPatternFail = _a_onPatternFail;
_in_a_varDecls = _a_varDecls;
_in_a_assignments = _a_assignments;
goto _tailrecursive;
goto tmp3_done;
}
case 10: {
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,2,4) == 0) goto tmp3_end;
tmpMeta[5] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
tmpMeta[6] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 3));
if (optionNone(tmpMeta[6])) goto tmp3_end;
tmpMeta[7] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[6]), 1));
tmpMeta[8] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 5));
_i_p_id = tmpMeta[5];
_i_et = tmpMeta[7];
_i_p_pat = tmpMeta[8];
_txt = tmp4_1;
_a_rhs = tmp4_3;
_a_onPatternFail = tmp4_4;
_a_varDecls = tmp4_5;
_a_assignments = tmp4_6;
_l_unboxBuf = _OMC_LIT20;
_a_assignments = omc_Tpl_writeTok(threadData, _a_assignments, _OMC_LIT236);
_a_assignments = omc_Tpl_writeStr(threadData, _a_assignments, _i_p_id);
_a_assignments = omc_Tpl_writeTok(threadData, _a_assignments, _OMC_LIT121);
_a_assignments = omc_CodegenCFunctions_unboxVariable(threadData, _a_assignments, omc_Tpl_textString(threadData, _a_rhs), _i_et, _l_unboxBuf, _a_varDecls ,&_l_unboxBuf ,&_a_varDecls);
_a_assignments = omc_Tpl_writeTok(threadData, _a_assignments, _OMC_LIT1523);
_ret_5 = omc_Types_unparseType(threadData, _i_et);
_a_assignments = omc_Tpl_writeStr(threadData, _a_assignments, _ret_5);
_a_assignments = omc_Tpl_writeTok(threadData, _a_assignments, _OMC_LIT1525);
_a_assignments = omc_Tpl_writeTok(threadData, _a_assignments, _OMC_LIT89);
_txt = omc_Tpl_writeText(threadData, _txt, _l_unboxBuf);
_txt = omc_Tpl_softNewLine(threadData, _txt);
_in_txt = _txt;
_in_a_pat = _i_p_pat;
_in_a_rhs = _a_rhs;
_in_a_onPatternFail = _a_onPatternFail;
_in_a_varDecls = _a_varDecls;
_in_a_assignments = _a_assignments;
goto _tailrecursive;
goto tmp3_done;
}
case 11: {
_txt = tmp4_1;
_a_rhs = tmp4_3;
_a_onPatternFail = tmp4_4;
_a_varDecls = tmp4_5;
_a_assignments = tmp4_6;
_txt_6 = omc_Tpl_writeTok(threadData, _OMC_LIT20, _OMC_LIT1527);
_txt_6 = omc_Tpl_writeText(threadData, _txt_6, _a_rhs);
_txt_6 = omc_Tpl_writeTok(threadData, _txt_6, _OMC_LIT22);
_txt_6 = omc_Tpl_writeTok(threadData, _txt_6, _OMC_LIT89);
_txt = omc_CodegenUtil_error(threadData, _txt, omc_Tpl_sourceInfo(threadData, _OMC_LIT27, ((modelica_integer) 4338), ((modelica_integer) 14)), omc_Tpl_textString(threadData, _txt_6));
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_rhs;
tmpMeta[0+2] = _a_onPatternFail;
tmpMeta[0+3] = _a_varDecls;
tmpMeta[0+4] = _a_assignments;
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta[0+0];
_out_a_rhs = tmpMeta[0+1];
_out_a_onPatternFail = tmpMeta[0+2];
_out_a_varDecls = tmpMeta[0+3];
_out_a_assignments = tmpMeta[0+4];
_return: OMC_LABEL_UNUSED
if (out_out_a_rhs) { *out_out_a_rhs = _out_a_rhs; }
if (out_out_a_onPatternFail) { *out_out_a_onPatternFail = _out_a_onPatternFail; }
if (out_out_a_varDecls) { *out_out_a_varDecls = _out_a_varDecls; }
if (out_out_a_assignments) { *out_out_a_assignments = _out_a_assignments; }
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_lm__658(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_items, modelica_metatype _in_a_assignments, modelica_metatype _in_a_onPatternFail, modelica_metatype _in_a_rhs, modelica_metatype _in_a_varDecls, modelica_metatype *out_out_a_assignments, modelica_metatype *out_out_a_onPatternFail, modelica_metatype *out_out_a_varDecls)
{
modelica_metatype _out_txt = NULL;
modelica_metatype _out_a_assignments = NULL;
modelica_metatype _out_a_onPatternFail = NULL;
modelica_metatype _out_a_varDecls = NULL;
modelica_metatype tmpMeta[6] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_metatype tmp4_2;modelica_metatype tmp4_3;modelica_metatype tmp4_4;modelica_metatype tmp4_5;modelica_metatype tmp4_6;
tmp4_1 = _in_txt;
tmp4_2 = _in_items;
tmp4_3 = _in_a_assignments;
tmp4_4 = _in_a_onPatternFail;
tmp4_5 = _in_a_rhs;
tmp4_6 = _in_a_varDecls;
{
modelica_metatype _txt = NULL;
modelica_metatype _rest = NULL;
modelica_metatype _a_assignments = NULL;
modelica_metatype _a_onPatternFail = NULL;
modelica_metatype _a_rhs = NULL;
modelica_metatype _a_varDecls = NULL;
modelica_integer _x_i2;
modelica_metatype _i_p = NULL;
volatile mmc_switch_type tmp4;
int tmp5;
tmp4 = 0;
for (; tmp4 < 2; tmp4++) {
switch (MMC_SWITCH_CAST(tmp4)) {
case 0: {
if (!listEmpty(tmp4_2)) goto tmp3_end;
_txt = tmp4_1;
_a_assignments = tmp4_3;
_a_onPatternFail = tmp4_4;
_a_varDecls = tmp4_6;
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_assignments;
tmpMeta[0+2] = _a_onPatternFail;
tmpMeta[0+3] = _a_varDecls;
goto tmp3_done;
}
case 1: {
if (listEmpty(tmp4_2)) goto tmp3_end;
tmpMeta[4] = MMC_CAR(tmp4_2);
tmpMeta[5] = MMC_CDR(tmp4_2);
_i_p = tmpMeta[4];
_rest = tmpMeta[5];
_txt = tmp4_1;
_a_assignments = tmp4_3;
_a_onPatternFail = tmp4_4;
_a_rhs = tmp4_5;
_a_varDecls = tmp4_6;
_x_i2 = omc_Tpl_getIteri__i0(threadData, _txt);
_txt = omc_CodegenCFunctions_fun__657(threadData, _txt, _i_p, _a_assignments, _a_onPatternFail, _x_i2, _a_rhs, _a_varDecls ,&_a_assignments ,&_a_onPatternFail ,&_a_varDecls);
_txt = omc_Tpl_nextIter(threadData, _txt);
_in_txt = _txt;
_in_items = _rest;
_in_a_assignments = _a_assignments;
_in_a_onPatternFail = _a_onPatternFail;
_in_a_rhs = _a_rhs;
_in_a_varDecls = _a_varDecls;
goto _tailrecursive;
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta[0+0];
_out_a_assignments = tmpMeta[0+1];
_out_a_onPatternFail = tmpMeta[0+2];
_out_a_varDecls = tmpMeta[0+3];
_return: OMC_LABEL_UNUSED
if (out_out_a_assignments) { *out_out_a_assignments = _out_a_assignments; }
if (out_out_a_onPatternFail) { *out_out_a_onPatternFail = _out_a_onPatternFail; }
if (out_out_a_varDecls) { *out_out_a_varDecls = _out_a_varDecls; }
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__657(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_p, modelica_metatype _in_a_assignments, modelica_metatype _in_a_onPatternFail, modelica_integer _in_a_i2, modelica_metatype _in_a_rhs, modelica_metatype _in_a_varDecls, modelica_metatype *out_out_a_assignments, modelica_metatype *out_out_a_onPatternFail, modelica_metatype *out_out_a_varDecls)
{
modelica_metatype _out_txt = NULL;
modelica_metatype _out_a_assignments = NULL;
modelica_metatype _out_a_onPatternFail = NULL;
modelica_metatype _out_a_varDecls = NULL;
modelica_metatype tmpMeta[4] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_metatype tmp4_2;modelica_metatype tmp4_3;modelica_metatype tmp4_4;modelica_integer tmp4_5;modelica_metatype tmp4_6;modelica_metatype tmp4_7;
tmp4_1 = _in_txt;
tmp4_2 = _in_a_p;
tmp4_3 = _in_a_assignments;
tmp4_4 = _in_a_onPatternFail;
tmp4_5 = _in_a_i2;
tmp4_6 = _in_a_rhs;
tmp4_7 = _in_a_varDecls;
{
modelica_metatype _txt = NULL;
modelica_metatype _a_assignments = NULL;
modelica_metatype _a_onPatternFail = NULL;
modelica_integer _a_i2;
modelica_metatype _a_rhs = NULL;
modelica_metatype _a_varDecls = NULL;
modelica_metatype _i_p = NULL;
modelica_metatype _l_tvar = NULL;
volatile mmc_switch_type tmp4;
int tmp5;
tmp4 = 0;
for (; tmp4 < 2; tmp4++) {
switch (MMC_SWITCH_CAST(tmp4)) {
case 0: {
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,0,0) == 0) goto tmp3_end;
_txt = tmp4_1;
_a_assignments = tmp4_3;
_a_onPatternFail = tmp4_4;
_a_varDecls = tmp4_7;
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_assignments;
tmpMeta[0+2] = _a_onPatternFail;
tmpMeta[0+3] = _a_varDecls;
goto tmp3_done;
}
case 1: {
_txt = tmp4_1;
_i_p = tmp4_2;
_a_assignments = tmp4_3;
_a_onPatternFail = tmp4_4;
_a_i2 = tmp4_5;
_a_rhs = tmp4_6;
_a_varDecls = tmp4_7;
_l_tvar = omc_CodegenCFunctions_tempDecl(threadData, _OMC_LIT20, _OMC_LIT311, _a_varDecls ,&_a_varDecls);
_txt = omc_Tpl_writeText(threadData, _txt, _l_tvar);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT821);
_txt = omc_Tpl_writeText(threadData, _txt, _a_rhs);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT522);
_txt = omc_Tpl_writeStr(threadData, _txt, intString(_a_i2));
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT593);
_txt = omc_CodegenCFunctions_patternMatch(threadData, _txt, _i_p, _l_tvar, _a_onPatternFail, _a_varDecls, _a_assignments ,&_l_tvar ,&_a_onPatternFail ,&_a_varDecls ,&_a_assignments);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_assignments;
tmpMeta[0+2] = _a_onPatternFail;
tmpMeta[0+3] = _a_varDecls;
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta[0+0];
_out_a_assignments = tmpMeta[0+1];
_out_a_onPatternFail = tmpMeta[0+2];
_out_a_varDecls = tmpMeta[0+3];
_return: OMC_LABEL_UNUSED
if (out_out_a_assignments) { *out_out_a_assignments = _out_a_assignments; }
if (out_out_a_onPatternFail) { *out_out_a_onPatternFail = _out_a_onPatternFail; }
if (out_out_a_varDecls) { *out_out_a_varDecls = _out_a_varDecls; }
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__657(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_p, modelica_metatype _in_a_assignments, modelica_metatype _in_a_onPatternFail, modelica_metatype _in_a_i2, modelica_metatype _in_a_rhs, modelica_metatype _in_a_varDecls, modelica_metatype *out_out_a_assignments, modelica_metatype *out_out_a_onPatternFail, modelica_metatype *out_out_a_varDecls)
{
modelica_integer tmp1;
modelica_metatype _out_txt = NULL;
tmp1 = mmc_unbox_integer(_in_a_i2);
_out_txt = omc_CodegenCFunctions_fun__657(threadData, _in_txt, _in_a_p, _in_a_assignments, _in_a_onPatternFail, tmp1, _in_a_rhs, _in_a_varDecls, out_out_a_assignments, out_out_a_onPatternFail, out_out_a_varDecls);
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__656(threadData_t *threadData, modelica_metatype _in_txt, modelica_boolean _in_a_knownSingleton, modelica_metatype _in_a_onPatternFail, modelica_metatype _in_a_patterns, modelica_integer _in_a_index, modelica_metatype _in_a_rhs)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta[1] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp3_1;modelica_boolean tmp3_2;modelica_metatype tmp3_3;modelica_metatype tmp3_4;modelica_integer tmp3_5;modelica_metatype tmp3_6;
tmp3_1 = _in_txt;
tmp3_2 = _in_a_knownSingleton;
tmp3_3 = _in_a_onPatternFail;
tmp3_4 = _in_a_patterns;
tmp3_5 = _in_a_index;
tmp3_6 = _in_a_rhs;
{
modelica_metatype _txt = NULL;
modelica_metatype _a_onPatternFail = NULL;
modelica_metatype _a_patterns = NULL;
modelica_integer _a_index;
modelica_metatype _a_rhs = NULL;
modelica_integer _ret_0;
volatile mmc_switch_type tmp3;
int tmp4;
tmp3 = 0;
for (; tmp3 < 2; tmp3++) {
switch (MMC_SWITCH_CAST(tmp3)) {
case 0: {
if (0 != tmp3_2) goto tmp2_end;
_txt = tmp3_1;
_a_onPatternFail = tmp3_3;
_a_patterns = tmp3_4;
_a_index = tmp3_5;
_a_rhs = tmp3_6;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1529);
_txt = omc_Tpl_writeText(threadData, _txt, _a_rhs);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT226);
_txt = omc_Tpl_writeStr(threadData, _txt, intString(_a_index));
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT226);
_ret_0 = listLength(_a_patterns);
_txt = omc_Tpl_writeStr(threadData, _txt, intString(_ret_0));
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1531);
_txt = omc_Tpl_writeText(threadData, _txt, _a_onPatternFail);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT105);
tmpMeta[0] = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT89);
goto tmp2_done;
}
case 1: {
_txt = tmp3_1;
tmpMeta[0] = _txt;
goto tmp2_done;
}
}
goto tmp2_end;
tmp2_end: ;
}
goto goto_1;
goto_1:;
MMC_THROW_INTERNAL();
goto tmp2_done;
tmp2_done:;
}
}
_out_txt = tmpMeta[0];
_return: OMC_LABEL_UNUSED
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__656(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_knownSingleton, modelica_metatype _in_a_onPatternFail, modelica_metatype _in_a_patterns, modelica_metatype _in_a_index, modelica_metatype _in_a_rhs)
{
modelica_integer tmp1;
modelica_integer tmp2;
modelica_metatype _out_txt = NULL;
tmp1 = mmc_unbox_integer(_in_a_knownSingleton);
tmp2 = mmc_unbox_integer(_in_a_index);
_out_txt = omc_CodegenCFunctions_fun__656(threadData, _in_txt, tmp1, _in_a_onPatternFail, _in_a_patterns, tmp2, _in_a_rhs);
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_lm__655(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_items, modelica_metatype _in_a_assignments, modelica_metatype _in_a_onPatternFail, modelica_metatype _in_a_rhs, modelica_metatype _in_a_varDecls, modelica_metatype *out_out_a_assignments, modelica_metatype *out_out_a_onPatternFail, modelica_metatype *out_out_a_varDecls)
{
modelica_metatype _out_txt = NULL;
modelica_metatype _out_a_assignments = NULL;
modelica_metatype _out_a_onPatternFail = NULL;
modelica_metatype _out_a_varDecls = NULL;
modelica_metatype tmpMeta[9] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_metatype tmp4_2;modelica_metatype tmp4_3;modelica_metatype tmp4_4;modelica_metatype tmp4_5;modelica_metatype tmp4_6;
tmp4_1 = _in_txt;
tmp4_2 = _in_items;
tmp4_3 = _in_a_assignments;
tmp4_4 = _in_a_onPatternFail;
tmp4_5 = _in_a_rhs;
tmp4_6 = _in_a_varDecls;
{
modelica_metatype _txt = NULL;
modelica_metatype _rest = NULL;
modelica_metatype _a_assignments = NULL;
modelica_metatype _a_onPatternFail = NULL;
modelica_metatype _a_rhs = NULL;
modelica_metatype _a_varDecls = NULL;
modelica_string _i_n = NULL;
modelica_metatype _i_t = NULL;
modelica_metatype _i_p = NULL;
volatile mmc_switch_type tmp4;
int tmp5;
tmp4 = 0;
for (; tmp4 < 2; tmp4++) {
switch (MMC_SWITCH_CAST(tmp4)) {
case 0: {
if (!listEmpty(tmp4_2)) goto tmp3_end;
_txt = tmp4_1;
_a_assignments = tmp4_3;
_a_onPatternFail = tmp4_4;
_a_varDecls = tmp4_6;
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_assignments;
tmpMeta[0+2] = _a_onPatternFail;
tmpMeta[0+3] = _a_varDecls;
goto tmp3_done;
}
case 1: {
if (listEmpty(tmp4_2)) goto tmp3_end;
tmpMeta[4] = MMC_CAR(tmp4_2);
tmpMeta[5] = MMC_CDR(tmp4_2);
tmpMeta[6] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[4]), 1));
tmpMeta[7] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[4]), 2));
tmpMeta[8] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[4]), 3));
_i_p = tmpMeta[6];
_i_n = tmpMeta[7];
_i_t = tmpMeta[8];
_rest = tmpMeta[5];
_txt = tmp4_1;
_a_assignments = tmp4_3;
_a_onPatternFail = tmp4_4;
_a_rhs = tmp4_5;
_a_varDecls = tmp4_6;
_txt = omc_CodegenCFunctions_fun__654(threadData, _txt, _i_p, _a_assignments, _a_onPatternFail, _i_n, _a_rhs, _a_varDecls, _i_t ,&_a_assignments ,&_a_onPatternFail ,&_a_varDecls);
_in_txt = _txt;
_in_items = _rest;
_in_a_assignments = _a_assignments;
_in_a_onPatternFail = _a_onPatternFail;
_in_a_rhs = _a_rhs;
_in_a_varDecls = _a_varDecls;
goto _tailrecursive;
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta[0+0];
_out_a_assignments = tmpMeta[0+1];
_out_a_onPatternFail = tmpMeta[0+2];
_out_a_varDecls = tmpMeta[0+3];
_return: OMC_LABEL_UNUSED
if (out_out_a_assignments) { *out_out_a_assignments = _out_a_assignments; }
if (out_out_a_onPatternFail) { *out_out_a_onPatternFail = _out_a_onPatternFail; }
if (out_out_a_varDecls) { *out_out_a_varDecls = _out_a_varDecls; }
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__654(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_p, modelica_metatype _in_a_assignments, modelica_metatype _in_a_onPatternFail, modelica_string _in_a_n, modelica_metatype _in_a_rhs, modelica_metatype _in_a_varDecls, modelica_metatype _in_a_t, modelica_metatype *out_out_a_assignments, modelica_metatype *out_out_a_onPatternFail, modelica_metatype *out_out_a_varDecls)
{
modelica_metatype _out_txt = NULL;
modelica_metatype _out_a_assignments = NULL;
modelica_metatype _out_a_onPatternFail = NULL;
modelica_metatype _out_a_varDecls = NULL;
modelica_metatype tmpMeta[4] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_metatype tmp4_2;modelica_metatype tmp4_3;modelica_metatype tmp4_4;modelica_string tmp4_5;modelica_metatype tmp4_6;modelica_metatype tmp4_7;modelica_metatype tmp4_8;
tmp4_1 = _in_txt;
tmp4_2 = _in_a_p;
tmp4_3 = _in_a_assignments;
tmp4_4 = _in_a_onPatternFail;
tmp4_5 = _in_a_n;
tmp4_6 = _in_a_rhs;
tmp4_7 = _in_a_varDecls;
tmp4_8 = _in_a_t;
{
modelica_metatype _txt = NULL;
modelica_metatype _a_assignments = NULL;
modelica_metatype _a_onPatternFail = NULL;
modelica_string _a_n = NULL;
modelica_metatype _a_rhs = NULL;
modelica_metatype _a_varDecls = NULL;
modelica_metatype _a_t = NULL;
modelica_metatype _i_p = NULL;
modelica_metatype _txt_1 = NULL;
modelica_metatype _l_tvar = NULL;
volatile mmc_switch_type tmp4;
int tmp5;
tmp4 = 0;
for (; tmp4 < 2; tmp4++) {
switch (MMC_SWITCH_CAST(tmp4)) {
case 0: {
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,0,0) == 0) goto tmp3_end;
_txt = tmp4_1;
_a_assignments = tmp4_3;
_a_onPatternFail = tmp4_4;
_a_varDecls = tmp4_7;
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_assignments;
tmpMeta[0+2] = _a_onPatternFail;
tmpMeta[0+3] = _a_varDecls;
goto tmp3_done;
}
case 1: {
_txt = tmp4_1;
_i_p = tmp4_2;
_a_assignments = tmp4_3;
_a_onPatternFail = tmp4_4;
_a_n = tmp4_5;
_a_rhs = tmp4_6;
_a_varDecls = tmp4_7;
_a_t = tmp4_8;
_txt_1 = omc_CodegenCFunctions_expTypeArrayIf(threadData, _OMC_LIT20, _a_t);
_l_tvar = omc_CodegenCFunctions_tempDecl(threadData, _OMC_LIT20, omc_Tpl_textString(threadData, _txt_1), _a_varDecls ,&_a_varDecls);
_txt = omc_Tpl_writeText(threadData, _txt, _l_tvar);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT121);
_txt = omc_Tpl_writeText(threadData, _txt, _a_rhs);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT518);
_txt = omc_Tpl_writeStr(threadData, _txt, _a_n);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT161);
_txt = omc_CodegenCFunctions_patternMatch(threadData, _txt, _i_p, _l_tvar, _a_onPatternFail, _a_varDecls, _a_assignments ,&_l_tvar ,&_a_onPatternFail ,&_a_varDecls ,&_a_assignments);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_assignments;
tmpMeta[0+2] = _a_onPatternFail;
tmpMeta[0+3] = _a_varDecls;
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta[0+0];
_out_a_assignments = tmpMeta[0+1];
_out_a_onPatternFail = tmpMeta[0+2];
_out_a_varDecls = tmpMeta[0+3];
_return: OMC_LABEL_UNUSED
if (out_out_a_assignments) { *out_out_a_assignments = _out_a_assignments; }
if (out_out_a_onPatternFail) { *out_out_a_onPatternFail = _out_a_onPatternFail; }
if (out_out_a_varDecls) { *out_out_a_varDecls = _out_a_varDecls; }
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_lm__653(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_items, modelica_metatype _in_a_assignments, modelica_metatype _in_a_varDecls, modelica_metatype _in_a_onPatternFail, modelica_metatype _in_a_rhs, modelica_metatype *out_out_a_assignments, modelica_metatype *out_out_a_varDecls, modelica_metatype *out_out_a_onPatternFail)
{
modelica_metatype _out_txt = NULL;
modelica_metatype _out_a_assignments = NULL;
modelica_metatype _out_a_varDecls = NULL;
modelica_metatype _out_a_onPatternFail = NULL;
modelica_metatype tmpMeta[6] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_metatype tmp4_2;modelica_metatype tmp4_3;modelica_metatype tmp4_4;modelica_metatype tmp4_5;modelica_metatype tmp4_6;
tmp4_1 = _in_txt;
tmp4_2 = _in_items;
tmp4_3 = _in_a_assignments;
tmp4_4 = _in_a_varDecls;
tmp4_5 = _in_a_onPatternFail;
tmp4_6 = _in_a_rhs;
{
modelica_metatype _txt = NULL;
modelica_metatype _rest = NULL;
modelica_metatype _a_assignments = NULL;
modelica_metatype _a_varDecls = NULL;
modelica_metatype _a_onPatternFail = NULL;
modelica_metatype _a_rhs = NULL;
modelica_integer _x_i1;
modelica_metatype _i_p = NULL;
volatile mmc_switch_type tmp4;
int tmp5;
tmp4 = 0;
for (; tmp4 < 2; tmp4++) {
switch (MMC_SWITCH_CAST(tmp4)) {
case 0: {
if (!listEmpty(tmp4_2)) goto tmp3_end;
_txt = tmp4_1;
_a_assignments = tmp4_3;
_a_varDecls = tmp4_4;
_a_onPatternFail = tmp4_5;
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_assignments;
tmpMeta[0+2] = _a_varDecls;
tmpMeta[0+3] = _a_onPatternFail;
goto tmp3_done;
}
case 1: {
if (listEmpty(tmp4_2)) goto tmp3_end;
tmpMeta[4] = MMC_CAR(tmp4_2);
tmpMeta[5] = MMC_CDR(tmp4_2);
_i_p = tmpMeta[4];
_rest = tmpMeta[5];
_txt = tmp4_1;
_a_assignments = tmp4_3;
_a_varDecls = tmp4_4;
_a_onPatternFail = tmp4_5;
_a_rhs = tmp4_6;
_x_i1 = omc_Tpl_getIteri__i0(threadData, _txt);
_txt = omc_CodegenCFunctions_fun__652(threadData, _txt, _i_p, _a_assignments, _a_varDecls, _a_onPatternFail, _x_i1, _a_rhs ,&_a_assignments ,&_a_varDecls ,&_a_onPatternFail);
_txt = omc_Tpl_nextIter(threadData, _txt);
_in_txt = _txt;
_in_items = _rest;
_in_a_assignments = _a_assignments;
_in_a_varDecls = _a_varDecls;
_in_a_onPatternFail = _a_onPatternFail;
_in_a_rhs = _a_rhs;
goto _tailrecursive;
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta[0+0];
_out_a_assignments = tmpMeta[0+1];
_out_a_varDecls = tmpMeta[0+2];
_out_a_onPatternFail = tmpMeta[0+3];
_return: OMC_LABEL_UNUSED
if (out_out_a_assignments) { *out_out_a_assignments = _out_a_assignments; }
if (out_out_a_varDecls) { *out_out_a_varDecls = _out_a_varDecls; }
if (out_out_a_onPatternFail) { *out_out_a_onPatternFail = _out_a_onPatternFail; }
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__652(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_p, modelica_metatype _in_a_assignments, modelica_metatype _in_a_varDecls, modelica_metatype _in_a_onPatternFail, modelica_integer _in_a_i1, modelica_metatype _in_a_rhs, modelica_metatype *out_out_a_assignments, modelica_metatype *out_out_a_varDecls, modelica_metatype *out_out_a_onPatternFail)
{
modelica_metatype _out_txt = NULL;
modelica_metatype _out_a_assignments = NULL;
modelica_metatype _out_a_varDecls = NULL;
modelica_metatype _out_a_onPatternFail = NULL;
modelica_metatype tmpMeta[4] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_metatype tmp4_2;modelica_metatype tmp4_3;modelica_metatype tmp4_4;modelica_metatype tmp4_5;modelica_integer tmp4_6;modelica_metatype tmp4_7;
tmp4_1 = _in_txt;
tmp4_2 = _in_a_p;
tmp4_3 = _in_a_assignments;
tmp4_4 = _in_a_varDecls;
tmp4_5 = _in_a_onPatternFail;
tmp4_6 = _in_a_i1;
tmp4_7 = _in_a_rhs;
{
modelica_metatype _txt = NULL;
modelica_metatype _a_assignments = NULL;
modelica_metatype _a_varDecls = NULL;
modelica_metatype _a_onPatternFail = NULL;
modelica_integer _a_i1;
modelica_metatype _a_rhs = NULL;
modelica_metatype _i_p = NULL;
modelica_metatype _l_nrhs = NULL;
volatile mmc_switch_type tmp4;
int tmp5;
tmp4 = 0;
for (; tmp4 < 2; tmp4++) {
switch (MMC_SWITCH_CAST(tmp4)) {
case 0: {
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,0,0) == 0) goto tmp3_end;
_txt = tmp4_1;
_a_assignments = tmp4_3;
_a_varDecls = tmp4_4;
_a_onPatternFail = tmp4_5;
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_assignments;
tmpMeta[0+2] = _a_varDecls;
tmpMeta[0+3] = _a_onPatternFail;
goto tmp3_done;
}
case 1: {
_txt = tmp4_1;
_i_p = tmp4_2;
_a_assignments = tmp4_3;
_a_varDecls = tmp4_4;
_a_onPatternFail = tmp4_5;
_a_i1 = tmp4_6;
_a_rhs = tmp4_7;
_l_nrhs = omc_Tpl_writeText(threadData, _OMC_LIT20, _a_rhs);
_l_nrhs = omc_Tpl_writeTok(threadData, _l_nrhs, _OMC_LIT997);
_l_nrhs = omc_Tpl_writeStr(threadData, _l_nrhs, intString(_a_i1));
_txt = omc_CodegenCFunctions_patternMatch(threadData, _txt, _i_p, _l_nrhs, _a_onPatternFail, _a_varDecls, _a_assignments ,&_l_nrhs ,&_a_onPatternFail ,&_a_varDecls ,&_a_assignments);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_assignments;
tmpMeta[0+2] = _a_varDecls;
tmpMeta[0+3] = _a_onPatternFail;
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta[0+0];
_out_a_assignments = tmpMeta[0+1];
_out_a_varDecls = tmpMeta[0+2];
_out_a_onPatternFail = tmpMeta[0+3];
_return: OMC_LABEL_UNUSED
if (out_out_a_assignments) { *out_out_a_assignments = _out_a_assignments; }
if (out_out_a_varDecls) { *out_out_a_varDecls = _out_a_varDecls; }
if (out_out_a_onPatternFail) { *out_out_a_onPatternFail = _out_a_onPatternFail; }
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__652(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_p, modelica_metatype _in_a_assignments, modelica_metatype _in_a_varDecls, modelica_metatype _in_a_onPatternFail, modelica_metatype _in_a_i1, modelica_metatype _in_a_rhs, modelica_metatype *out_out_a_assignments, modelica_metatype *out_out_a_varDecls, modelica_metatype *out_out_a_onPatternFail)
{
modelica_integer tmp1;
modelica_metatype _out_txt = NULL;
tmp1 = mmc_unbox_integer(_in_a_i1);
_out_txt = omc_CodegenCFunctions_fun__652(threadData, _in_txt, _in_a_p, _in_a_assignments, _in_a_varDecls, _in_a_onPatternFail, tmp1, _in_a_rhs, out_out_a_assignments, out_out_a_varDecls, out_out_a_onPatternFail);
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_lm__651(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_items, modelica_metatype _in_a_assignments, modelica_metatype _in_a_onPatternFail, modelica_metatype _in_a_rhs, modelica_metatype _in_a_varDecls, modelica_metatype *out_out_a_assignments, modelica_metatype *out_out_a_onPatternFail, modelica_metatype *out_out_a_varDecls)
{
modelica_metatype _out_txt = NULL;
modelica_metatype _out_a_assignments = NULL;
modelica_metatype _out_a_onPatternFail = NULL;
modelica_metatype _out_a_varDecls = NULL;
modelica_metatype tmpMeta[6] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_metatype tmp4_2;modelica_metatype tmp4_3;modelica_metatype tmp4_4;modelica_metatype tmp4_5;modelica_metatype tmp4_6;
tmp4_1 = _in_txt;
tmp4_2 = _in_items;
tmp4_3 = _in_a_assignments;
tmp4_4 = _in_a_onPatternFail;
tmp4_5 = _in_a_rhs;
tmp4_6 = _in_a_varDecls;
{
modelica_metatype _txt = NULL;
modelica_metatype _rest = NULL;
modelica_metatype _a_assignments = NULL;
modelica_metatype _a_onPatternFail = NULL;
modelica_metatype _a_rhs = NULL;
modelica_metatype _a_varDecls = NULL;
modelica_integer _x_i1;
modelica_metatype _i_p = NULL;
volatile mmc_switch_type tmp4;
int tmp5;
tmp4 = 0;
for (; tmp4 < 2; tmp4++) {
switch (MMC_SWITCH_CAST(tmp4)) {
case 0: {
if (!listEmpty(tmp4_2)) goto tmp3_end;
_txt = tmp4_1;
_a_assignments = tmp4_3;
_a_onPatternFail = tmp4_4;
_a_varDecls = tmp4_6;
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_assignments;
tmpMeta[0+2] = _a_onPatternFail;
tmpMeta[0+3] = _a_varDecls;
goto tmp3_done;
}
case 1: {
if (listEmpty(tmp4_2)) goto tmp3_end;
tmpMeta[4] = MMC_CAR(tmp4_2);
tmpMeta[5] = MMC_CDR(tmp4_2);
_i_p = tmpMeta[4];
_rest = tmpMeta[5];
_txt = tmp4_1;
_a_assignments = tmp4_3;
_a_onPatternFail = tmp4_4;
_a_rhs = tmp4_5;
_a_varDecls = tmp4_6;
_x_i1 = omc_Tpl_getIteri__i0(threadData, _txt);
_txt = omc_CodegenCFunctions_fun__650(threadData, _txt, _i_p, _a_assignments, _a_onPatternFail, _x_i1, _a_rhs, _a_varDecls ,&_a_assignments ,&_a_onPatternFail ,&_a_varDecls);
_txt = omc_Tpl_nextIter(threadData, _txt);
_in_txt = _txt;
_in_items = _rest;
_in_a_assignments = _a_assignments;
_in_a_onPatternFail = _a_onPatternFail;
_in_a_rhs = _a_rhs;
_in_a_varDecls = _a_varDecls;
goto _tailrecursive;
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta[0+0];
_out_a_assignments = tmpMeta[0+1];
_out_a_onPatternFail = tmpMeta[0+2];
_out_a_varDecls = tmpMeta[0+3];
_return: OMC_LABEL_UNUSED
if (out_out_a_assignments) { *out_out_a_assignments = _out_a_assignments; }
if (out_out_a_onPatternFail) { *out_out_a_onPatternFail = _out_a_onPatternFail; }
if (out_out_a_varDecls) { *out_out_a_varDecls = _out_a_varDecls; }
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__650(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_p, modelica_metatype _in_a_assignments, modelica_metatype _in_a_onPatternFail, modelica_integer _in_a_i1, modelica_metatype _in_a_rhs, modelica_metatype _in_a_varDecls, modelica_metatype *out_out_a_assignments, modelica_metatype *out_out_a_onPatternFail, modelica_metatype *out_out_a_varDecls)
{
modelica_metatype _out_txt = NULL;
modelica_metatype _out_a_assignments = NULL;
modelica_metatype _out_a_onPatternFail = NULL;
modelica_metatype _out_a_varDecls = NULL;
modelica_metatype tmpMeta[4] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_metatype tmp4_2;modelica_metatype tmp4_3;modelica_metatype tmp4_4;modelica_integer tmp4_5;modelica_metatype tmp4_6;modelica_metatype tmp4_7;
tmp4_1 = _in_txt;
tmp4_2 = _in_a_p;
tmp4_3 = _in_a_assignments;
tmp4_4 = _in_a_onPatternFail;
tmp4_5 = _in_a_i1;
tmp4_6 = _in_a_rhs;
tmp4_7 = _in_a_varDecls;
{
modelica_metatype _txt = NULL;
modelica_metatype _a_assignments = NULL;
modelica_metatype _a_onPatternFail = NULL;
modelica_integer _a_i1;
modelica_metatype _a_rhs = NULL;
modelica_metatype _a_varDecls = NULL;
modelica_metatype _i_p = NULL;
modelica_metatype _l_tvar = NULL;
volatile mmc_switch_type tmp4;
int tmp5;
tmp4 = 0;
for (; tmp4 < 2; tmp4++) {
switch (MMC_SWITCH_CAST(tmp4)) {
case 0: {
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,0,0) == 0) goto tmp3_end;
_txt = tmp4_1;
_a_assignments = tmp4_3;
_a_onPatternFail = tmp4_4;
_a_varDecls = tmp4_7;
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_assignments;
tmpMeta[0+2] = _a_onPatternFail;
tmpMeta[0+3] = _a_varDecls;
goto tmp3_done;
}
case 1: {
_txt = tmp4_1;
_i_p = tmp4_2;
_a_assignments = tmp4_3;
_a_onPatternFail = tmp4_4;
_a_i1 = tmp4_5;
_a_rhs = tmp4_6;
_a_varDecls = tmp4_7;
_l_tvar = omc_CodegenCFunctions_tempDecl(threadData, _OMC_LIT20, _OMC_LIT311, _a_varDecls ,&_a_varDecls);
_txt = omc_Tpl_writeText(threadData, _txt, _l_tvar);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT821);
_txt = omc_Tpl_writeText(threadData, _txt, _a_rhs);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT522);
_txt = omc_Tpl_writeStr(threadData, _txt, intString(_a_i1));
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT593);
_txt = omc_CodegenCFunctions_patternMatch(threadData, _txt, _i_p, _l_tvar, _a_onPatternFail, _a_varDecls, _a_assignments ,&_l_tvar ,&_a_onPatternFail ,&_a_varDecls ,&_a_assignments);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_assignments;
tmpMeta[0+2] = _a_onPatternFail;
tmpMeta[0+3] = _a_varDecls;
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta[0+0];
_out_a_assignments = tmpMeta[0+1];
_out_a_onPatternFail = tmpMeta[0+2];
_out_a_varDecls = tmpMeta[0+3];
_return: OMC_LABEL_UNUSED
if (out_out_a_assignments) { *out_out_a_assignments = _out_a_assignments; }
if (out_out_a_onPatternFail) { *out_out_a_onPatternFail = _out_a_onPatternFail; }
if (out_out_a_varDecls) { *out_out_a_varDecls = _out_a_varDecls; }
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__650(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_p, modelica_metatype _in_a_assignments, modelica_metatype _in_a_onPatternFail, modelica_metatype _in_a_i1, modelica_metatype _in_a_rhs, modelica_metatype _in_a_varDecls, modelica_metatype *out_out_a_assignments, modelica_metatype *out_out_a_onPatternFail, modelica_metatype *out_out_a_varDecls)
{
modelica_integer tmp1;
modelica_metatype _out_txt = NULL;
tmp1 = mmc_unbox_integer(_in_a_i1);
_out_txt = omc_CodegenCFunctions_fun__650(threadData, _in_txt, _in_a_p, _in_a_assignments, _in_a_onPatternFail, tmp1, _in_a_rhs, _in_a_varDecls, out_out_a_assignments, out_out_a_onPatternFail, out_out_a_varDecls);
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__649(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_p_exp, modelica_metatype _in_a_onPatternFail, modelica_metatype _in_a_urhs)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta[4] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp3_1;modelica_metatype tmp3_2;modelica_metatype tmp3_3;modelica_metatype tmp3_4;
tmp3_1 = _in_txt;
tmp3_2 = _in_a_p_exp;
tmp3_3 = _in_a_onPatternFail;
tmp3_4 = _in_a_urhs;
{
modelica_metatype _txt = NULL;
modelica_metatype _a_onPatternFail = NULL;
modelica_metatype _a_urhs = NULL;
modelica_metatype _i_p_exp = NULL;
modelica_boolean _i_c_bool;
modelica_integer _i_c_index;
modelica_string _i_d_string = NULL;
modelica_string _i_c_string = NULL;
modelica_real _i_c_real;
modelica_integer _i_c_integer;
modelica_metatype _txt_5 = NULL;
modelica_integer _ret_4;
modelica_string _ret_3 = NULL;
modelica_integer _ret_2;
modelica_string _ret_1 = NULL;
modelica_metatype _l_escstr = NULL;
volatile mmc_switch_type tmp3;
int tmp4;
tmp3 = 0;
for (; tmp3 < 10; tmp3++) {
switch (MMC_SWITCH_CAST(tmp3)) {
case 0: {
modelica_integer tmp5;
if (mmc__uniontype__metarecord__typedef__equal(tmp3_2,0,1) == 0) goto tmp2_end;
tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_2), 2));
tmp5 = mmc_unbox_integer(tmpMeta[1]);
_i_c_integer = tmp5;
_txt = tmp3_1;
_a_onPatternFail = tmp3_3;
_a_urhs = tmp3_4;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT248);
_txt = omc_Tpl_writeStr(threadData, _txt, intString(_i_c_integer));
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT661);
_txt = omc_Tpl_writeText(threadData, _txt, _a_urhs);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT130);
_txt = omc_Tpl_writeText(threadData, _txt, _a_onPatternFail);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT105);
tmpMeta[0] = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT89);
goto tmp2_done;
}
case 1: {
modelica_real tmp6;
if (mmc__uniontype__metarecord__typedef__equal(tmp3_2,1,1) == 0) goto tmp2_end;
tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_2), 2));
tmp6 = mmc_unbox_real(tmpMeta[1]);
_i_c_real = tmp6;
_txt = tmp3_1;
_a_onPatternFail = tmp3_3;
_a_urhs = tmp3_4;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT248);
_txt = omc_Tpl_writeStr(threadData, _txt, realString(_i_c_real));
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT661);
_txt = omc_Tpl_writeText(threadData, _txt, _a_urhs);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT130);
_txt = omc_Tpl_writeText(threadData, _txt, _a_onPatternFail);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT105);
tmpMeta[0] = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT89);
goto tmp2_done;
}
case 2: {
if (mmc__uniontype__metarecord__typedef__equal(tmp3_2,2,1) == 0) goto tmp2_end;
tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_2), 2));
_i_c_string = tmpMeta[1];
_txt = tmp3_1;
_a_onPatternFail = tmp3_3;
_a_urhs = tmp3_4;
_ret_1 = omc_Util_escapeModelicaStringToCString(threadData, _i_c_string);
_l_escstr = omc_Tpl_writeStr(threadData, _OMC_LIT20, _ret_1);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT248);
_ret_2 = omc_System_unescapedStringLength(threadData, omc_Tpl_textString(threadData, _l_escstr));
_txt = omc_Tpl_writeStr(threadData, _txt, intString(_ret_2));
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1533);
_txt = omc_Tpl_writeText(threadData, _txt, _a_urhs);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1535);
_txt = omc_Tpl_writeText(threadData, _txt, _l_escstr);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1537);
_txt = omc_Tpl_writeText(threadData, _txt, _a_urhs);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1539);
_txt = omc_Tpl_writeText(threadData, _txt, _a_onPatternFail);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT105);
tmpMeta[0] = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT89);
goto tmp2_done;
}
case 3: {
modelica_integer tmp7;
if (mmc__uniontype__metarecord__typedef__equal(tmp3_2,36,2) == 0) goto tmp2_end;
tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_2), 2));
tmp7 = mmc_unbox_integer(tmpMeta[1]);
tmpMeta[2] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_2), 3));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[2],2,1) == 0) goto tmp2_end;
tmpMeta[3] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[2]), 2));
_i_c_index = tmp7;
_i_d_string = tmpMeta[3];
_txt = tmp3_1;
_a_onPatternFail = tmp3_3;
_a_urhs = tmp3_4;
_ret_3 = omc_Util_escapeModelicaStringToCString(threadData, _i_d_string);
_l_escstr = omc_Tpl_writeStr(threadData, _OMC_LIT20, _ret_3);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT248);
_ret_4 = omc_System_unescapedStringLength(threadData, omc_Tpl_textString(threadData, _l_escstr));
_txt = omc_Tpl_writeStr(threadData, _txt, intString(_ret_4));
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1533);
_txt = omc_Tpl_writeText(threadData, _txt, _a_urhs);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1541);
_txt = omc_Tpl_writeStr(threadData, _txt, intString(_i_c_index));
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1543);
_txt = omc_Tpl_writeText(threadData, _txt, _a_urhs);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1539);
_txt = omc_Tpl_writeText(threadData, _txt, _a_onPatternFail);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT105);
tmpMeta[0] = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT89);
goto tmp2_done;
}
case 4: {
modelica_integer tmp8;
if (mmc__uniontype__metarecord__typedef__equal(tmp3_2,3,1) == 0) goto tmp2_end;
tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_2), 2));
tmp8 = mmc_unbox_integer(tmpMeta[1]);
_i_c_bool = tmp8;
_txt = tmp3_1;
_a_onPatternFail = tmp3_3;
_a_urhs = tmp3_4;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT248);
_txt = omc_CodegenCFunctions_boolStrC(threadData, _txt, _i_c_bool);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT661);
_txt = omc_Tpl_writeText(threadData, _txt, _a_urhs);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT130);
_txt = omc_Tpl_writeText(threadData, _txt, _a_onPatternFail);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT105);
tmpMeta[0] = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT89);
goto tmp2_done;
}
case 5: {
if (mmc__uniontype__metarecord__typedef__equal(tmp3_2,28,1) == 0) goto tmp2_end;
tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_2), 2));
if (!listEmpty(tmpMeta[1])) goto tmp2_end;
_txt = tmp3_1;
_a_onPatternFail = tmp3_3;
_a_urhs = tmp3_4;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT379);
_txt = omc_Tpl_writeText(threadData, _txt, _a_urhs);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1516);
_txt = omc_Tpl_writeText(threadData, _txt, _a_onPatternFail);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT105);
tmpMeta[0] = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT89);
goto tmp2_done;
}
case 6: {
if (mmc__uniontype__metarecord__typedef__equal(tmp3_2,31,1) == 0) goto tmp2_end;
tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_2), 2));
if (!optionNone(tmpMeta[1])) goto tmp2_end;
_txt = tmp3_1;
_a_onPatternFail = tmp3_3;
_a_urhs = tmp3_4;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1545);
_txt = omc_Tpl_writeText(threadData, _txt, _a_urhs);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1516);
_txt = omc_Tpl_writeText(threadData, _txt, _a_onPatternFail);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT105);
tmpMeta[0] = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT89);
goto tmp2_done;
}
case 7: {
modelica_integer tmp9;
if (mmc__uniontype__metarecord__typedef__equal(tmp3_2,5,2) == 0) goto tmp2_end;
tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_2), 3));
tmp9 = mmc_unbox_integer(tmpMeta[1]);
_i_c_index = tmp9;
_txt = tmp3_1;
_a_onPatternFail = tmp3_3;
_a_urhs = tmp3_4;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT248);
_txt = omc_Tpl_writeStr(threadData, _txt, intString(_i_c_index));
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT661);
_txt = omc_Tpl_writeText(threadData, _txt, _a_urhs);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT130);
_txt = omc_Tpl_writeText(threadData, _txt, _a_onPatternFail);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT105);
tmpMeta[0] = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT89);
goto tmp2_done;
}
case 8: {
modelica_integer tmp10;
if (mmc__uniontype__metarecord__typedef__equal(tmp3_2,36,2) == 0) goto tmp2_end;
tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_2), 2));
tmp10 = mmc_unbox_integer(tmpMeta[1]);
_i_c_index = tmp10;
_txt = tmp3_1;
_a_onPatternFail = tmp3_3;
_a_urhs = tmp3_4;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1547);
_txt = omc_Tpl_writeStr(threadData, _txt, intString(_i_c_index));
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT292);
_txt = omc_Tpl_writeText(threadData, _txt, _a_urhs);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1516);
_txt = omc_Tpl_writeText(threadData, _txt, _a_onPatternFail);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT105);
tmpMeta[0] = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT89);
goto tmp2_done;
}
case 9: {
_txt = tmp3_1;
_i_p_exp = tmp3_2;
_txt_5 = omc_Tpl_writeTok(threadData, _OMC_LIT20, _OMC_LIT1549);
_txt_5 = omc_ExpressionDumpTpl_dumpExp(threadData, _txt_5, _i_p_exp, _OMC_LIT231);
tmpMeta[0] = omc_CodegenUtil_error(threadData, _txt, omc_Tpl_sourceInfo(threadData, _OMC_LIT27, ((modelica_integer) 4265), ((modelica_integer) 20)), omc_Tpl_textString(threadData, _txt_5));
goto tmp2_done;
}
}
goto tmp2_end;
tmp2_end: ;
}
goto goto_1;
goto_1:;
MMC_THROW_INTERNAL();
goto tmp2_done;
tmp2_done:;
}
}
_out_txt = tmpMeta[0];
_return: OMC_LABEL_UNUSED
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__648(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_p_ty, modelica_metatype _in_a_varDecls, modelica_metatype _in_a_unboxBuf, modelica_metatype _in_a_rhs, modelica_metatype *out_out_a_varDecls, modelica_metatype *out_out_a_unboxBuf)
{
modelica_metatype _out_txt = NULL;
modelica_metatype _out_a_varDecls = NULL;
modelica_metatype _out_a_unboxBuf = NULL;
modelica_metatype tmpMeta[4] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_metatype tmp4_2;modelica_metatype tmp4_3;modelica_metatype tmp4_4;modelica_metatype tmp4_5;
tmp4_1 = _in_txt;
tmp4_2 = _in_a_p_ty;
tmp4_3 = _in_a_varDecls;
tmp4_4 = _in_a_unboxBuf;
tmp4_5 = _in_a_rhs;
{
modelica_metatype _txt = NULL;
modelica_metatype _a_varDecls = NULL;
modelica_metatype _a_unboxBuf = NULL;
modelica_metatype _a_rhs = NULL;
modelica_metatype _i_et = NULL;
volatile mmc_switch_type tmp4;
int tmp5;
tmp4 = 0;
for (; tmp4 < 2; tmp4++) {
switch (MMC_SWITCH_CAST(tmp4)) {
case 0: {
if (optionNone(tmp4_2)) goto tmp3_end;
tmpMeta[3] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 1));
_i_et = tmpMeta[3];
_txt = tmp4_1;
_a_varDecls = tmp4_3;
_a_unboxBuf = tmp4_4;
_a_rhs = tmp4_5;
_txt = omc_CodegenCFunctions_unboxVariable(threadData, _txt, omc_Tpl_textString(threadData, _a_rhs), _i_et, _a_unboxBuf, _a_varDecls ,&_a_unboxBuf ,&_a_varDecls);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_varDecls;
tmpMeta[0+2] = _a_unboxBuf;
goto tmp3_done;
}
case 1: {
_txt = tmp4_1;
_a_varDecls = tmp4_3;
_a_unboxBuf = tmp4_4;
_a_rhs = tmp4_5;
_txt = omc_Tpl_writeText(threadData, _txt, _a_rhs);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_varDecls;
tmpMeta[0+2] = _a_unboxBuf;
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta[0+0];
_out_a_varDecls = tmpMeta[0+1];
_out_a_unboxBuf = tmpMeta[0+2];
_return: OMC_LABEL_UNUSED
if (out_out_a_varDecls) { *out_out_a_varDecls = _out_a_varDecls; }
if (out_out_a_unboxBuf) { *out_out_a_unboxBuf = _out_a_unboxBuf; }
return _out_txt;
}
DLLExport
modelica_metatype omc_CodegenCFunctions_algStmtAssignPattern(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_stmt, modelica_metatype _in_a_context, modelica_metatype _in_a_varDecls, modelica_metatype _in_a_auxFunction, modelica_metatype *out_out_a_varDecls, modelica_metatype *out_out_a_auxFunction)
{
modelica_metatype _out_txt = NULL;
modelica_metatype _out_a_varDecls = NULL;
modelica_metatype _out_a_auxFunction = NULL;
modelica_metatype tmpMeta[14] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_metatype tmp4_2;modelica_metatype tmp4_3;modelica_metatype tmp4_4;modelica_metatype tmp4_5;
tmp4_1 = _in_txt;
tmp4_2 = _in_a_stmt;
tmp4_3 = _in_a_context;
tmp4_4 = _in_a_varDecls;
tmp4_5 = _in_a_auxFunction;
{
modelica_metatype _txt = NULL;
modelica_metatype _a_context = NULL;
modelica_metatype _a_varDecls = NULL;
modelica_metatype _a_auxFunction = NULL;
modelica_metatype _i_lhs_pattern = NULL;
modelica_metatype _i_exp = NULL;
modelica_metatype _i_ty = NULL;
modelica_metatype _i_pat = NULL;
modelica_metatype _i_s_exp = NULL;
modelica_metatype _i_tys = NULL;
modelica_metatype _i_patterns = NULL;
modelica_metatype _txt_11 = NULL;
modelica_metatype _txt_10 = NULL;
modelica_metatype _l_v = NULL;
modelica_metatype _txt_8 = NULL;
modelica_metatype _l_expPart = NULL;
modelica_metatype _ret_6 = NULL;
modelica_metatype _l_matchPhase = NULL;
modelica_metatype _l_additionalOutputs = NULL;
modelica_metatype _l_assignments = NULL;
modelica_metatype _l_assignments1 = NULL;
modelica_metatype _l_preExp = NULL;
volatile mmc_switch_type tmp4;
int tmp5;
tmp4 = 0;
for (; tmp4 < 4; tmp4++) {
switch (MMC_SWITCH_CAST(tmp4)) {
case 0: {
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,0,4) == 0) goto tmp3_end;
tmpMeta[3] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 3));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[3],37,1) == 0) goto tmp3_end;
tmpMeta[4] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[3]), 2));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[4],5,1) == 0) goto tmp3_end;
tmpMeta[5] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[4]), 2));
if (listEmpty(tmpMeta[5])) goto tmp3_end;
tmpMeta[6] = MMC_CAR(tmpMeta[5]);
tmpMeta[7] = MMC_CDR(tmpMeta[5]);
tmpMeta[8] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 4));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[8],13,3) == 0) goto tmp3_end;
tmpMeta[9] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[8]), 4));
tmpMeta[10] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[9]), 2));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[10],14,2) == 0) goto tmp3_end;
tmpMeta[11] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[10]), 2));
if (listEmpty(tmpMeta[11])) goto tmp3_end;
tmpMeta[12] = MMC_CAR(tmpMeta[11]);
tmpMeta[13] = MMC_CDR(tmpMeta[11]);
_i_pat = tmpMeta[6];
_i_patterns = tmpMeta[7];
_i_s_exp = tmpMeta[8];
_i_ty = tmpMeta[12];
_i_tys = tmpMeta[13];
_txt = tmp4_1;
_a_context = tmp4_3;
_a_varDecls = tmp4_4;
_a_auxFunction = tmp4_5;
_l_preExp = _OMC_LIT20;
_l_assignments1 = _OMC_LIT20;
_l_assignments = _OMC_LIT20;
_l_additionalOutputs = _OMC_LIT20;
_l_matchPhase = _OMC_LIT20;
_ret_6 = omc_List_zip(threadData, _i_patterns, _i_tys);
omc_CodegenCFunctions_lm__645(threadData, _OMC_LIT20, _ret_6, _l_assignments, _l_matchPhase, _a_varDecls, _l_additionalOutputs ,&_l_assignments ,&_l_matchPhase ,&_a_varDecls ,&_l_additionalOutputs);
_l_expPart = omc_CodegenCFunctions_daeExpCallTuple(threadData, _OMC_LIT20, _i_s_exp, _l_additionalOutputs, _a_context, _l_preExp, _a_varDecls, _a_auxFunction ,&_l_additionalOutputs ,&_l_preExp ,&_a_varDecls ,&_a_auxFunction);
_txt = omc_CodegenCFunctions_fun__646(threadData, _txt, _i_pat, _l_assignments1, _a_varDecls, _i_ty, _l_assignments, _l_matchPhase, _l_expPart, _l_preExp ,&_l_assignments1 ,&_a_varDecls);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_varDecls;
tmpMeta[0+2] = _a_auxFunction;
goto tmp3_done;
}
case 1: {
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,0,4) == 0) goto tmp3_end;
tmpMeta[3] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 3));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[3],37,1) == 0) goto tmp3_end;
tmpMeta[4] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[3]), 2));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[4],0,0) == 0) goto tmp3_end;
tmpMeta[5] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 4));
_i_exp = tmpMeta[5];
_txt = tmp4_1;
_a_varDecls = tmp4_4;
_a_auxFunction = tmp4_5;
_txt_8 = omc_Tpl_writeTok(threadData, _OMC_LIT20, _OMC_LIT1551);
_txt_8 = omc_ExpressionDumpTpl_dumpExp(threadData, _txt_8, _i_exp, _OMC_LIT231);
_txt_8 = omc_Tpl_writeTok(threadData, _txt_8, _OMC_LIT1553);
_txt = omc_CodegenUtil_error(threadData, _txt, omc_Tpl_sourceInfo(threadData, _OMC_LIT27, ((modelica_integer) 4226), ((modelica_integer) 11)), omc_Tpl_textString(threadData, _txt_8));
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_varDecls;
tmpMeta[0+2] = _a_auxFunction;
goto tmp3_done;
}
case 2: {
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,0,4) == 0) goto tmp3_end;
tmpMeta[3] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 3));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[3],37,1) == 0) goto tmp3_end;
tmpMeta[4] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[3]), 2));
tmpMeta[5] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 4));
_i_lhs_pattern = tmpMeta[4];
_i_s_exp = tmpMeta[5];
_txt = tmp4_1;
_a_context = tmp4_3;
_a_varDecls = tmp4_4;
_a_auxFunction = tmp4_5;
_l_preExp = _OMC_LIT20;
_l_assignments = _OMC_LIT20;
_l_expPart = omc_CodegenCFunctions_daeExp(threadData, _OMC_LIT20, _i_s_exp, _a_context, _l_preExp, _a_varDecls, _a_auxFunction ,&_l_preExp ,&_a_varDecls ,&_a_auxFunction);
_txt_10 = omc_CodegenCFunctions_expTypeFromExpModelica(threadData, _OMC_LIT20, _i_s_exp);
_l_v = omc_CodegenCFunctions_tempDecl(threadData, _OMC_LIT20, omc_Tpl_textString(threadData, _txt_10), _a_varDecls ,&_a_varDecls);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1555);
_txt = omc_Tpl_writeText(threadData, _txt, _l_preExp);
_txt = omc_Tpl_softNewLine(threadData, _txt);
_txt = omc_Tpl_writeText(threadData, _txt, _l_v);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT121);
_txt = omc_Tpl_writeText(threadData, _txt, _l_expPart);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT161);
_txt_11 = omc_CodegenCFunctions_generateThrow(threadData, _OMC_LIT20);
_txt = omc_CodegenCFunctions_patternMatch(threadData, _txt, _i_lhs_pattern, _l_v, _txt_11, _a_varDecls, _l_assignments ,&_l_v ,&_txt_11 ,&_a_varDecls ,&_l_assignments);
_txt = omc_Tpl_writeText(threadData, _txt, _l_assignments);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_varDecls;
tmpMeta[0+2] = _a_auxFunction;
goto tmp3_done;
}
case 3: {
_txt = tmp4_1;
_a_varDecls = tmp4_4;
_a_auxFunction = tmp4_5;
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_varDecls;
tmpMeta[0+2] = _a_auxFunction;
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta[0+0];
_out_a_varDecls = tmpMeta[0+1];
_out_a_auxFunction = tmpMeta[0+2];
_return: OMC_LABEL_UNUSED
if (out_out_a_varDecls) { *out_out_a_varDecls = _out_a_varDecls; }
if (out_out_a_auxFunction) { *out_out_a_auxFunction = _out_a_auxFunction; }
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__646(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_pat, modelica_metatype _in_a_assignments1, modelica_metatype _in_a_varDecls, modelica_metatype _in_a_ty, modelica_metatype _in_a_assignments, modelica_metatype _in_a_matchPhase, modelica_metatype _in_a_expPart, modelica_metatype _in_a_preExp, modelica_metatype *out_out_a_assignments1, modelica_metatype *out_out_a_varDecls)
{
modelica_metatype _out_txt = NULL;
modelica_metatype _out_a_assignments1 = NULL;
modelica_metatype _out_a_varDecls = NULL;
modelica_metatype tmpMeta[3] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_metatype tmp4_2;modelica_metatype tmp4_3;modelica_metatype tmp4_4;modelica_metatype tmp4_5;modelica_metatype tmp4_6;modelica_metatype tmp4_7;modelica_metatype tmp4_8;modelica_metatype tmp4_9;
tmp4_1 = _in_txt;
tmp4_2 = _in_a_pat;
tmp4_3 = _in_a_assignments1;
tmp4_4 = _in_a_varDecls;
tmp4_5 = _in_a_ty;
tmp4_6 = _in_a_assignments;
tmp4_7 = _in_a_matchPhase;
tmp4_8 = _in_a_expPart;
tmp4_9 = _in_a_preExp;
{
modelica_metatype _txt = NULL;
modelica_metatype _a_assignments1 = NULL;
modelica_metatype _a_varDecls = NULL;
modelica_metatype _a_ty = NULL;
modelica_metatype _a_assignments = NULL;
modelica_metatype _a_matchPhase = NULL;
modelica_metatype _a_expPart = NULL;
modelica_metatype _a_preExp = NULL;
modelica_metatype _i_pat = NULL;
modelica_metatype _txt_3 = NULL;
modelica_metatype _l_res = NULL;
modelica_metatype _txt_1 = NULL;
modelica_metatype _l_v = NULL;
volatile mmc_switch_type tmp4;
int tmp5;
tmp4 = 0;
for (; tmp4 < 2; tmp4++) {
switch (MMC_SWITCH_CAST(tmp4)) {
case 0: {
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,0,0) == 0) goto tmp3_end;
_txt = tmp4_1;
_a_assignments1 = tmp4_3;
_a_varDecls = tmp4_4;
_a_assignments = tmp4_6;
_a_matchPhase = tmp4_7;
_a_expPart = tmp4_8;
_a_preExp = tmp4_9;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1557);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT89);
_txt = omc_Tpl_writeText(threadData, _txt, _a_preExp);
_txt = omc_Tpl_writeText(threadData, _txt, _a_expPart);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT105);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT89);
_txt = omc_Tpl_writeText(threadData, _txt, _a_matchPhase);
_txt = omc_Tpl_writeText(threadData, _txt, _a_assignments);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_assignments1;
tmpMeta[0+2] = _a_varDecls;
goto tmp3_done;
}
case 1: {
_txt = tmp4_1;
_i_pat = tmp4_2;
_a_assignments1 = tmp4_3;
_a_varDecls = tmp4_4;
_a_ty = tmp4_5;
_a_assignments = tmp4_6;
_a_matchPhase = tmp4_7;
_a_expPart = tmp4_8;
_a_preExp = tmp4_9;
_txt_1 = omc_CodegenCFunctions_expTypeArrayIf(threadData, _OMC_LIT20, _a_ty);
_l_v = omc_CodegenCFunctions_tempDecl(threadData, _OMC_LIT20, omc_Tpl_textString(threadData, _txt_1), _a_varDecls ,&_a_varDecls);
_txt_3 = omc_CodegenCFunctions_generateThrow(threadData, _OMC_LIT20);
_l_res = omc_CodegenCFunctions_patternMatch(threadData, _OMC_LIT20, _i_pat, _l_v, _txt_3, _a_varDecls, _a_assignments1 ,&_l_v ,&_txt_3 ,&_a_varDecls ,&_a_assignments1);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1559);
_txt = omc_Tpl_writeText(threadData, _txt, _a_preExp);
_txt = omc_Tpl_softNewLine(threadData, _txt);
_txt = omc_Tpl_writeText(threadData, _txt, _l_v);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT121);
_txt = omc_Tpl_writeText(threadData, _txt, _a_expPart);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT161);
_txt = omc_Tpl_writeText(threadData, _txt, _l_res);
_txt = omc_Tpl_writeText(threadData, _txt, _a_assignments1);
_txt = omc_Tpl_writeText(threadData, _txt, _a_matchPhase);
_txt = omc_Tpl_writeText(threadData, _txt, _a_assignments);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_assignments1;
tmpMeta[0+2] = _a_varDecls;
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta[0+0];
_out_a_assignments1 = tmpMeta[0+1];
_out_a_varDecls = tmpMeta[0+2];
_return: OMC_LABEL_UNUSED
if (out_out_a_assignments1) { *out_out_a_assignments1 = _out_a_assignments1; }
if (out_out_a_varDecls) { *out_out_a_varDecls = _out_a_varDecls; }
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_lm__645(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_items, modelica_metatype _in_a_assignments, modelica_metatype _in_a_matchPhase, modelica_metatype _in_a_varDecls, modelica_metatype _in_a_additionalOutputs, modelica_metatype *out_out_a_assignments, modelica_metatype *out_out_a_matchPhase, modelica_metatype *out_out_a_varDecls, modelica_metatype *out_out_a_additionalOutputs)
{
modelica_metatype _out_txt = NULL;
modelica_metatype _out_a_assignments = NULL;
modelica_metatype _out_a_matchPhase = NULL;
modelica_metatype _out_a_varDecls = NULL;
modelica_metatype _out_a_additionalOutputs = NULL;
modelica_metatype tmpMeta[9] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_metatype tmp4_2;modelica_metatype tmp4_3;modelica_metatype tmp4_4;modelica_metatype tmp4_5;modelica_metatype tmp4_6;
tmp4_1 = _in_txt;
tmp4_2 = _in_items;
tmp4_3 = _in_a_assignments;
tmp4_4 = _in_a_matchPhase;
tmp4_5 = _in_a_varDecls;
tmp4_6 = _in_a_additionalOutputs;
{
modelica_metatype _txt = NULL;
modelica_metatype _rest = NULL;
modelica_metatype _a_assignments = NULL;
modelica_metatype _a_matchPhase = NULL;
modelica_metatype _a_varDecls = NULL;
modelica_metatype _a_additionalOutputs = NULL;
modelica_metatype _i_ty = NULL;
modelica_metatype _i_pat = NULL;
volatile mmc_switch_type tmp4;
int tmp5;
tmp4 = 0;
for (; tmp4 < 2; tmp4++) {
switch (MMC_SWITCH_CAST(tmp4)) {
case 0: {
if (!listEmpty(tmp4_2)) goto tmp3_end;
_txt = tmp4_1;
_a_assignments = tmp4_3;
_a_matchPhase = tmp4_4;
_a_varDecls = tmp4_5;
_a_additionalOutputs = tmp4_6;
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_assignments;
tmpMeta[0+2] = _a_matchPhase;
tmpMeta[0+3] = _a_varDecls;
tmpMeta[0+4] = _a_additionalOutputs;
goto tmp3_done;
}
case 1: {
if (listEmpty(tmp4_2)) goto tmp3_end;
tmpMeta[5] = MMC_CAR(tmp4_2);
tmpMeta[6] = MMC_CDR(tmp4_2);
tmpMeta[7] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[5]), 1));
tmpMeta[8] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[5]), 2));
_i_pat = tmpMeta[7];
_i_ty = tmpMeta[8];
_rest = tmpMeta[6];
_txt = tmp4_1;
_a_assignments = tmp4_3;
_a_matchPhase = tmp4_4;
_a_varDecls = tmp4_5;
_a_additionalOutputs = tmp4_6;
_txt = omc_CodegenCFunctions_fun__644(threadData, _txt, _i_pat, _a_assignments, _a_matchPhase, _a_varDecls, _i_ty, _a_additionalOutputs ,&_a_assignments ,&_a_matchPhase ,&_a_varDecls ,&_a_additionalOutputs);
_in_txt = _txt;
_in_items = _rest;
_in_a_assignments = _a_assignments;
_in_a_matchPhase = _a_matchPhase;
_in_a_varDecls = _a_varDecls;
_in_a_additionalOutputs = _a_additionalOutputs;
goto _tailrecursive;
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta[0+0];
_out_a_assignments = tmpMeta[0+1];
_out_a_matchPhase = tmpMeta[0+2];
_out_a_varDecls = tmpMeta[0+3];
_out_a_additionalOutputs = tmpMeta[0+4];
_return: OMC_LABEL_UNUSED
if (out_out_a_assignments) { *out_out_a_assignments = _out_a_assignments; }
if (out_out_a_matchPhase) { *out_out_a_matchPhase = _out_a_matchPhase; }
if (out_out_a_varDecls) { *out_out_a_varDecls = _out_a_varDecls; }
if (out_out_a_additionalOutputs) { *out_out_a_additionalOutputs = _out_a_additionalOutputs; }
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__644(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_pat, modelica_metatype _in_a_assignments, modelica_metatype _in_a_matchPhase, modelica_metatype _in_a_varDecls, modelica_metatype _in_a_ty, modelica_metatype _in_a_additionalOutputs, modelica_metatype *out_out_a_assignments, modelica_metatype *out_out_a_matchPhase, modelica_metatype *out_out_a_varDecls, modelica_metatype *out_out_a_additionalOutputs)
{
modelica_metatype _out_txt = NULL;
modelica_metatype _out_a_assignments = NULL;
modelica_metatype _out_a_matchPhase = NULL;
modelica_metatype _out_a_varDecls = NULL;
modelica_metatype _out_a_additionalOutputs = NULL;
modelica_metatype tmpMeta[5] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_metatype tmp4_2;modelica_metatype tmp4_3;modelica_metatype tmp4_4;modelica_metatype tmp4_5;modelica_metatype tmp4_6;modelica_metatype tmp4_7;
tmp4_1 = _in_txt;
tmp4_2 = _in_a_pat;
tmp4_3 = _in_a_assignments;
tmp4_4 = _in_a_matchPhase;
tmp4_5 = _in_a_varDecls;
tmp4_6 = _in_a_ty;
tmp4_7 = _in_a_additionalOutputs;
{
modelica_metatype _txt = NULL;
modelica_metatype _a_assignments = NULL;
modelica_metatype _a_matchPhase = NULL;
modelica_metatype _a_varDecls = NULL;
modelica_metatype _a_ty = NULL;
modelica_metatype _a_additionalOutputs = NULL;
modelica_metatype _i_pat = NULL;
modelica_metatype _txt_2 = NULL;
modelica_metatype _txt_1 = NULL;
modelica_metatype _l_v = NULL;
volatile mmc_switch_type tmp4;
int tmp5;
tmp4 = 0;
for (; tmp4 < 2; tmp4++) {
switch (MMC_SWITCH_CAST(tmp4)) {
case 0: {
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,0,0) == 0) goto tmp3_end;
_txt = tmp4_1;
_a_assignments = tmp4_3;
_a_matchPhase = tmp4_4;
_a_varDecls = tmp4_5;
_a_additionalOutputs = tmp4_7;
_a_additionalOutputs = omc_Tpl_writeTok(threadData, _a_additionalOutputs, _OMC_LIT532);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_assignments;
tmpMeta[0+2] = _a_matchPhase;
tmpMeta[0+3] = _a_varDecls;
tmpMeta[0+4] = _a_additionalOutputs;
goto tmp3_done;
}
case 1: {
_txt = tmp4_1;
_i_pat = tmp4_2;
_a_assignments = tmp4_3;
_a_matchPhase = tmp4_4;
_a_varDecls = tmp4_5;
_a_ty = tmp4_6;
_a_additionalOutputs = tmp4_7;
_txt_1 = omc_CodegenCFunctions_expTypeArrayIf(threadData, _OMC_LIT20, _a_ty);
_l_v = omc_CodegenCFunctions_tempDecl(threadData, _OMC_LIT20, omc_Tpl_textString(threadData, _txt_1), _a_varDecls ,&_a_varDecls);
_a_additionalOutputs = omc_Tpl_writeTok(threadData, _a_additionalOutputs, _OMC_LIT123);
_a_additionalOutputs = omc_Tpl_writeText(threadData, _a_additionalOutputs, _l_v);
_txt_2 = omc_CodegenCFunctions_generateThrow(threadData, _OMC_LIT20);
_a_matchPhase = omc_CodegenCFunctions_patternMatch(threadData, _a_matchPhase, _i_pat, _l_v, _txt_2, _a_varDecls, _a_assignments ,&_l_v ,&_txt_2 ,&_a_varDecls ,&_a_assignments);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_assignments;
tmpMeta[0+2] = _a_matchPhase;
tmpMeta[0+3] = _a_varDecls;
tmpMeta[0+4] = _a_additionalOutputs;
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta[0+0];
_out_a_assignments = tmpMeta[0+1];
_out_a_matchPhase = tmpMeta[0+2];
_out_a_varDecls = tmpMeta[0+3];
_out_a_additionalOutputs = tmpMeta[0+4];
_return: OMC_LABEL_UNUSED
if (out_out_a_assignments) { *out_out_a_assignments = _out_a_assignments; }
if (out_out_a_matchPhase) { *out_out_a_matchPhase = _out_a_matchPhase; }
if (out_out_a_varDecls) { *out_out_a_varDecls = _out_a_varDecls; }
if (out_out_a_additionalOutputs) { *out_out_a_additionalOutputs = _out_a_additionalOutputs; }
return _out_txt;
}
DLLExport
modelica_metatype omc_CodegenCFunctions_dimension(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_d, modelica_metatype _in_a_context, modelica_metatype _in_a_preExp, modelica_metatype _in_a_varDecls, modelica_metatype _in_a_auxFunction, modelica_metatype *out_out_a_preExp, modelica_metatype *out_out_a_varDecls, modelica_metatype *out_out_a_auxFunction)
{
modelica_metatype _out_txt = NULL;
modelica_metatype _out_a_preExp = NULL;
modelica_metatype _out_a_varDecls = NULL;
modelica_metatype _out_a_auxFunction = NULL;
modelica_metatype tmpMeta[5] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_metatype tmp4_2;modelica_metatype tmp4_3;modelica_metatype tmp4_4;modelica_metatype tmp4_5;modelica_metatype tmp4_6;
tmp4_1 = _in_txt;
tmp4_2 = _in_a_d;
tmp4_3 = _in_a_context;
tmp4_4 = _in_a_preExp;
tmp4_5 = _in_a_varDecls;
tmp4_6 = _in_a_auxFunction;
{
modelica_metatype _txt = NULL;
modelica_metatype _a_context = NULL;
modelica_metatype _a_preExp = NULL;
modelica_metatype _a_varDecls = NULL;
modelica_metatype _a_auxFunction = NULL;
modelica_integer _i_integer;
modelica_metatype _i_e = NULL;
modelica_integer _i_size;
modelica_boolean _ret_0;
int tmp4;
{
switch (MMC_SWITCH_CAST(valueConstructor(tmp4_2))) {
case 4: {
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,1,0) == 0) goto tmp3_end;
_txt = tmp4_1;
_a_preExp = tmp4_4;
_a_varDecls = tmp4_5;
_a_auxFunction = tmp4_6;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1561);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_preExp;
tmpMeta[0+2] = _a_varDecls;
tmpMeta[0+3] = _a_auxFunction;
goto tmp3_done;
}
case 5: {
modelica_integer tmp5;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,2,3) == 0) goto tmp3_end;
tmpMeta[4] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 4));
tmp5 = mmc_unbox_integer(tmpMeta[4]);
_i_size = tmp5;
_txt = tmp4_1;
_a_preExp = tmp4_4;
_a_varDecls = tmp4_5;
_a_auxFunction = tmp4_6;
_txt = omc_Tpl_writeStr(threadData, _txt, intString(_i_size));
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_preExp;
tmpMeta[0+2] = _a_varDecls;
tmpMeta[0+3] = _a_auxFunction;
goto tmp3_done;
}
case 6: {
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,3,1) == 0) goto tmp3_end;
tmpMeta[4] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
_i_e = tmpMeta[4];
_txt = tmp4_1;
_a_context = tmp4_3;
_a_preExp = tmp4_4;
_a_varDecls = tmp4_5;
_a_auxFunction = tmp4_6;
tmpMeta[0+0] = omc_CodegenCFunctions_daeExp(threadData, _txt, _i_e, _a_context, _a_preExp, _a_varDecls, _a_auxFunction, &tmpMeta[0+1], &tmpMeta[0+2], &tmpMeta[0+3]);
goto tmp3_done;
}
case 3: {
modelica_integer tmp6;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,0,1) == 0) goto tmp3_end;
tmpMeta[4] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
tmp6 = mmc_unbox_integer(tmpMeta[4]);
_i_integer = tmp6;
_txt = tmp4_1;
_a_preExp = tmp4_4;
_a_varDecls = tmp4_5;
_a_auxFunction = tmp4_6;
_ret_0 = (_i_integer == ((modelica_integer) -1));
_txt = omc_CodegenCFunctions_fun__642(threadData, _txt, _ret_0, _i_integer);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_preExp;
tmpMeta[0+2] = _a_varDecls;
tmpMeta[0+3] = _a_auxFunction;
goto tmp3_done;
}
case 7: {
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,4,0) == 0) goto tmp3_end;
_txt = tmp4_1;
_a_preExp = tmp4_4;
_a_varDecls = tmp4_5;
_a_auxFunction = tmp4_6;
_txt = omc_CodegenUtil_error(threadData, _txt, omc_Tpl_sourceInfo(threadData, _OMC_LIT27, ((modelica_integer) 4190), ((modelica_integer) 39)), _OMC_LIT1562);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_preExp;
tmpMeta[0+2] = _a_varDecls;
tmpMeta[0+3] = _a_auxFunction;
goto tmp3_done;
}
default:
tmp3_default: OMC_LABEL_UNUSED; {
_txt = tmp4_1;
_a_preExp = tmp4_4;
_a_varDecls = tmp4_5;
_a_auxFunction = tmp4_6;
_txt = omc_CodegenUtil_error(threadData, _txt, omc_Tpl_sourceInfo(threadData, _OMC_LIT27, ((modelica_integer) 4191), ((modelica_integer) 14)), _OMC_LIT1563);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_preExp;
tmpMeta[0+2] = _a_varDecls;
tmpMeta[0+3] = _a_auxFunction;
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta[0+0];
_out_a_preExp = tmpMeta[0+1];
_out_a_varDecls = tmpMeta[0+2];
_out_a_auxFunction = tmpMeta[0+3];
_return: OMC_LABEL_UNUSED
if (out_out_a_preExp) { *out_out_a_preExp = _out_a_preExp; }
if (out_out_a_varDecls) { *out_out_a_varDecls = _out_a_varDecls; }
if (out_out_a_auxFunction) { *out_out_a_auxFunction = _out_a_auxFunction; }
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__642(threadData_t *threadData, modelica_metatype _in_txt, modelica_boolean _in_mArg, modelica_integer _in_a_integer)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta[1] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp3_1;modelica_boolean tmp3_2;modelica_integer tmp3_3;
tmp3_1 = _in_txt;
tmp3_2 = _in_mArg;
tmp3_3 = _in_a_integer;
{
modelica_metatype _txt = NULL;
modelica_integer _a_integer;
volatile mmc_switch_type tmp3;
int tmp4;
tmp3 = 0;
for (; tmp3 < 2; tmp3++) {
switch (MMC_SWITCH_CAST(tmp3)) {
case 0: {
if (0 != tmp3_2) goto tmp2_end;
_txt = tmp3_1;
_a_integer = tmp3_3;
tmpMeta[0] = omc_Tpl_writeStr(threadData, _txt, intString(_a_integer));
goto tmp2_done;
}
case 1: {
_txt = tmp3_1;
tmpMeta[0] = omc_CodegenUtil_error(threadData, _txt, omc_Tpl_sourceInfo(threadData, _OMC_LIT27, ((modelica_integer) 4187), ((modelica_integer) 13)), _OMC_LIT1564);
goto tmp2_done;
}
}
goto tmp2_end;
tmp2_end: ;
}
goto goto_1;
goto_1:;
MMC_THROW_INTERNAL();
goto tmp2_done;
tmp2_done:;
}
}
_out_txt = tmpMeta[0];
_return: OMC_LABEL_UNUSED
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__642(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_mArg, modelica_metatype _in_a_integer)
{
modelica_integer tmp1;
modelica_integer tmp2;
modelica_metatype _out_txt = NULL;
tmp1 = mmc_unbox_integer(_in_mArg);
tmp2 = mmc_unbox_integer(_in_a_integer);
_out_txt = omc_CodegenCFunctions_fun__642(threadData, _in_txt, tmp1, tmp2);
return _out_txt;
}
DLLExport
modelica_metatype omc_CodegenCFunctions_expTypeFromOpFlag(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_op, modelica_integer _in_a_flag)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta[2] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp3_1;modelica_metatype tmp3_2;modelica_integer tmp3_3;
tmp3_1 = _in_txt;
tmp3_2 = _in_a_op;
tmp3_3 = _in_a_flag;
{
modelica_metatype _txt = NULL;
modelica_integer _a_flag;
modelica_metatype _i_o_ty = NULL;
int tmp3;
{
switch (MMC_SWITCH_CAST(valueConstructor(tmp3_2))) {
case 3: {
if (mmc__uniontype__metarecord__typedef__equal(tmp3_2,0,1) == 0) goto tmp2_end;
tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_2), 2));
_i_o_ty = tmpMeta[1];
_txt = tmp3_1;
_a_flag = tmp3_3;
tmpMeta[0] = omc_CodegenCFunctions_expTypeFlag(threadData, _txt, _i_o_ty, _a_flag);
goto tmp2_done;
}
case 4: {
if (mmc__uniontype__metarecord__typedef__equal(tmp3_2,1,1) == 0) goto tmp2_end;
tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_2), 2));
_i_o_ty = tmpMeta[1];
_txt = tmp3_1;
_a_flag = tmp3_3;
tmpMeta[0] = omc_CodegenCFunctions_expTypeFlag(threadData, _txt, _i_o_ty, _a_flag);
goto tmp2_done;
}
case 5: {
if (mmc__uniontype__metarecord__typedef__equal(tmp3_2,2,1) == 0) goto tmp2_end;
tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_2), 2));
_i_o_ty = tmpMeta[1];
_txt = tmp3_1;
_a_flag = tmp3_3;
tmpMeta[0] = omc_CodegenCFunctions_expTypeFlag(threadData, _txt, _i_o_ty, _a_flag);
goto tmp2_done;
}
case 6: {
if (mmc__uniontype__metarecord__typedef__equal(tmp3_2,3,1) == 0) goto tmp2_end;
tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_2), 2));
_i_o_ty = tmpMeta[1];
_txt = tmp3_1;
_a_flag = tmp3_3;
tmpMeta[0] = omc_CodegenCFunctions_expTypeFlag(threadData, _txt, _i_o_ty, _a_flag);
goto tmp2_done;
}
case 7: {
if (mmc__uniontype__metarecord__typedef__equal(tmp3_2,4,1) == 0) goto tmp2_end;
tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_2), 2));
_i_o_ty = tmpMeta[1];
_txt = tmp3_1;
_a_flag = tmp3_3;
tmpMeta[0] = omc_CodegenCFunctions_expTypeFlag(threadData, _txt, _i_o_ty, _a_flag);
goto tmp2_done;
}
case 8: {
if (mmc__uniontype__metarecord__typedef__equal(tmp3_2,5,1) == 0) goto tmp2_end;
tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_2), 2));
_i_o_ty = tmpMeta[1];
_txt = tmp3_1;
_a_flag = tmp3_3;
tmpMeta[0] = omc_CodegenCFunctions_expTypeFlag(threadData, _txt, _i_o_ty, _a_flag);
goto tmp2_done;
}
case 9: {
if (mmc__uniontype__metarecord__typedef__equal(tmp3_2,6,1) == 0) goto tmp2_end;
tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_2), 2));
_i_o_ty = tmpMeta[1];
_txt = tmp3_1;
_a_flag = tmp3_3;
tmpMeta[0] = omc_CodegenCFunctions_expTypeFlag(threadData, _txt, _i_o_ty, _a_flag);
goto tmp2_done;
}
case 10: {
if (mmc__uniontype__metarecord__typedef__equal(tmp3_2,7,1) == 0) goto tmp2_end;
tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_2), 2));
_i_o_ty = tmpMeta[1];
_txt = tmp3_1;
_a_flag = tmp3_3;
tmpMeta[0] = omc_CodegenCFunctions_expTypeFlag(threadData, _txt, _i_o_ty, _a_flag);
goto tmp2_done;
}
case 11: {
if (mmc__uniontype__metarecord__typedef__equal(tmp3_2,8,1) == 0) goto tmp2_end;
tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_2), 2));
_i_o_ty = tmpMeta[1];
_txt = tmp3_1;
_a_flag = tmp3_3;
tmpMeta[0] = omc_CodegenCFunctions_expTypeFlag(threadData, _txt, _i_o_ty, _a_flag);
goto tmp2_done;
}
case 12: {
if (mmc__uniontype__metarecord__typedef__equal(tmp3_2,9,1) == 0) goto tmp2_end;
tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_2), 2));
_i_o_ty = tmpMeta[1];
_txt = tmp3_1;
_a_flag = tmp3_3;
tmpMeta[0] = omc_CodegenCFunctions_expTypeFlag(threadData, _txt, _i_o_ty, _a_flag);
goto tmp2_done;
}
case 13: {
if (mmc__uniontype__metarecord__typedef__equal(tmp3_2,10,1) == 0) goto tmp2_end;
tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_2), 2));
_i_o_ty = tmpMeta[1];
_txt = tmp3_1;
_a_flag = tmp3_3;
tmpMeta[0] = omc_CodegenCFunctions_expTypeFlag(threadData, _txt, _i_o_ty, _a_flag);
goto tmp2_done;
}
case 14: {
if (mmc__uniontype__metarecord__typedef__equal(tmp3_2,11,1) == 0) goto tmp2_end;
tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_2), 2));
_i_o_ty = tmpMeta[1];
_txt = tmp3_1;
_a_flag = tmp3_3;
tmpMeta[0] = omc_CodegenCFunctions_expTypeFlag(threadData, _txt, _i_o_ty, _a_flag);
goto tmp2_done;
}
case 15: {
if (mmc__uniontype__metarecord__typedef__equal(tmp3_2,12,1) == 0) goto tmp2_end;
tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_2), 2));
_i_o_ty = tmpMeta[1];
_txt = tmp3_1;
_a_flag = tmp3_3;
tmpMeta[0] = omc_CodegenCFunctions_expTypeFlag(threadData, _txt, _i_o_ty, _a_flag);
goto tmp2_done;
}
case 16: {
if (mmc__uniontype__metarecord__typedef__equal(tmp3_2,13,1) == 0) goto tmp2_end;
tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_2), 2));
_i_o_ty = tmpMeta[1];
_txt = tmp3_1;
_a_flag = tmp3_3;
tmpMeta[0] = omc_CodegenCFunctions_expTypeFlag(threadData, _txt, _i_o_ty, _a_flag);
goto tmp2_done;
}
case 17: {
if (mmc__uniontype__metarecord__typedef__equal(tmp3_2,14,1) == 0) goto tmp2_end;
tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_2), 2));
_i_o_ty = tmpMeta[1];
_txt = tmp3_1;
_a_flag = tmp3_3;
tmpMeta[0] = omc_CodegenCFunctions_expTypeFlag(threadData, _txt, _i_o_ty, _a_flag);
goto tmp2_done;
}
case 18: {
if (mmc__uniontype__metarecord__typedef__equal(tmp3_2,15,1) == 0) goto tmp2_end;
tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_2), 2));
_i_o_ty = tmpMeta[1];
_txt = tmp3_1;
_a_flag = tmp3_3;
tmpMeta[0] = omc_CodegenCFunctions_expTypeFlag(threadData, _txt, _i_o_ty, _a_flag);
goto tmp2_done;
}
case 19: {
if (mmc__uniontype__metarecord__typedef__equal(tmp3_2,16,1) == 0) goto tmp2_end;
tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_2), 2));
_i_o_ty = tmpMeta[1];
_txt = tmp3_1;
_a_flag = tmp3_3;
tmpMeta[0] = omc_CodegenCFunctions_expTypeFlag(threadData, _txt, _i_o_ty, _a_flag);
goto tmp2_done;
}
case 20: {
if (mmc__uniontype__metarecord__typedef__equal(tmp3_2,17,1) == 0) goto tmp2_end;
tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_2), 2));
_i_o_ty = tmpMeta[1];
_txt = tmp3_1;
_a_flag = tmp3_3;
tmpMeta[0] = omc_CodegenCFunctions_expTypeFlag(threadData, _txt, _i_o_ty, _a_flag);
goto tmp2_done;
}
case 21: {
if (mmc__uniontype__metarecord__typedef__equal(tmp3_2,18,1) == 0) goto tmp2_end;
tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_2), 2));
_i_o_ty = tmpMeta[1];
_txt = tmp3_1;
_a_flag = tmp3_3;
tmpMeta[0] = omc_CodegenCFunctions_expTypeFlag(threadData, _txt, _i_o_ty, _a_flag);
goto tmp2_done;
}
case 22: {
if (mmc__uniontype__metarecord__typedef__equal(tmp3_2,19,1) == 0) goto tmp2_end;
tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_2), 2));
_i_o_ty = tmpMeta[1];
_txt = tmp3_1;
_a_flag = tmp3_3;
tmpMeta[0] = omc_CodegenCFunctions_expTypeFlag(threadData, _txt, _i_o_ty, _a_flag);
goto tmp2_done;
}
case 23: {
if (mmc__uniontype__metarecord__typedef__equal(tmp3_2,20,1) == 0) goto tmp2_end;
tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_2), 2));
_i_o_ty = tmpMeta[1];
_txt = tmp3_1;
_a_flag = tmp3_3;
tmpMeta[0] = omc_CodegenCFunctions_expTypeFlag(threadData, _txt, _i_o_ty, _a_flag);
goto tmp2_done;
}
case 24: {
if (mmc__uniontype__metarecord__typedef__equal(tmp3_2,21,1) == 0) goto tmp2_end;
tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_2), 2));
_i_o_ty = tmpMeta[1];
_txt = tmp3_1;
_a_flag = tmp3_3;
tmpMeta[0] = omc_CodegenCFunctions_expTypeFlag(threadData, _txt, _i_o_ty, _a_flag);
goto tmp2_done;
}
case 28: {
if (mmc__uniontype__metarecord__typedef__equal(tmp3_2,25,1) == 0) goto tmp2_end;
tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_2), 2));
_i_o_ty = tmpMeta[1];
_txt = tmp3_1;
_a_flag = tmp3_3;
tmpMeta[0] = omc_CodegenCFunctions_expTypeFlag(threadData, _txt, _i_o_ty, _a_flag);
goto tmp2_done;
}
case 29: {
if (mmc__uniontype__metarecord__typedef__equal(tmp3_2,26,1) == 0) goto tmp2_end;
tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_2), 2));
_i_o_ty = tmpMeta[1];
_txt = tmp3_1;
_a_flag = tmp3_3;
tmpMeta[0] = omc_CodegenCFunctions_expTypeFlag(threadData, _txt, _i_o_ty, _a_flag);
goto tmp2_done;
}
case 30: {
if (mmc__uniontype__metarecord__typedef__equal(tmp3_2,27,1) == 0) goto tmp2_end;
tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_2), 2));
_i_o_ty = tmpMeta[1];
_txt = tmp3_1;
_a_flag = tmp3_3;
tmpMeta[0] = omc_CodegenCFunctions_expTypeFlag(threadData, _txt, _i_o_ty, _a_flag);
goto tmp2_done;
}
case 31: {
if (mmc__uniontype__metarecord__typedef__equal(tmp3_2,28,1) == 0) goto tmp2_end;
tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_2), 2));
_i_o_ty = tmpMeta[1];
_txt = tmp3_1;
_a_flag = tmp3_3;
tmpMeta[0] = omc_CodegenCFunctions_expTypeFlag(threadData, _txt, _i_o_ty, _a_flag);
goto tmp2_done;
}
case 32: {
if (mmc__uniontype__metarecord__typedef__equal(tmp3_2,29,1) == 0) goto tmp2_end;
tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_2), 2));
_i_o_ty = tmpMeta[1];
_txt = tmp3_1;
_a_flag = tmp3_3;
tmpMeta[0] = omc_CodegenCFunctions_expTypeFlag(threadData, _txt, _i_o_ty, _a_flag);
goto tmp2_done;
}
case 33: {
if (mmc__uniontype__metarecord__typedef__equal(tmp3_2,30,1) == 0) goto tmp2_end;
tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_2), 2));
_i_o_ty = tmpMeta[1];
_txt = tmp3_1;
_a_flag = tmp3_3;
tmpMeta[0] = omc_CodegenCFunctions_expTypeFlag(threadData, _txt, _i_o_ty, _a_flag);
goto tmp2_done;
}
case 25: {
if (mmc__uniontype__metarecord__typedef__equal(tmp3_2,22,1) == 0) goto tmp2_end;
_txt = tmp3_1;
_a_flag = tmp3_3;
tmpMeta[0] = omc_CodegenCFunctions_fun__638(threadData, _txt, _a_flag);
goto tmp2_done;
}
case 26: {
if (mmc__uniontype__metarecord__typedef__equal(tmp3_2,23,1) == 0) goto tmp2_end;
_txt = tmp3_1;
_a_flag = tmp3_3;
tmpMeta[0] = omc_CodegenCFunctions_fun__639(threadData, _txt, _a_flag);
goto tmp2_done;
}
case 27: {
if (mmc__uniontype__metarecord__typedef__equal(tmp3_2,24,1) == 0) goto tmp2_end;
_txt = tmp3_1;
_a_flag = tmp3_3;
tmpMeta[0] = omc_CodegenCFunctions_fun__640(threadData, _txt, _a_flag);
goto tmp2_done;
}
default:
tmp2_default: OMC_LABEL_UNUSED; {
_txt = tmp3_1;
tmpMeta[0] = omc_CodegenUtil_error(threadData, _txt, omc_Tpl_sourceInfo(threadData, _OMC_LIT27, ((modelica_integer) 4176), ((modelica_integer) 14)), _OMC_LIT1565);
goto tmp2_done;
}
}
goto tmp2_end;
tmp2_end: ;
}
goto goto_1;
goto_1:;
MMC_THROW_INTERNAL();
goto tmp2_done;
tmp2_done:;
}
}
_out_txt = tmpMeta[0];
_return: OMC_LABEL_UNUSED
return _out_txt;
}
modelica_metatype boxptr_CodegenCFunctions_expTypeFromOpFlag(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_op, modelica_metatype _in_a_flag)
{
modelica_integer tmp1;
modelica_metatype _out_txt = NULL;
tmp1 = mmc_unbox_integer(_in_a_flag);
_out_txt = omc_CodegenCFunctions_expTypeFromOpFlag(threadData, _in_txt, _in_a_op, tmp1);
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__640(threadData_t *threadData, modelica_metatype _in_txt, modelica_integer _in_a_flag)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta[1] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp3_1;modelica_integer tmp3_2;
tmp3_1 = _in_txt;
tmp3_2 = _in_a_flag;
{
modelica_metatype _txt = NULL;
volatile mmc_switch_type tmp3;
int tmp4;
tmp3 = 0;
for (; tmp3 < 2; tmp3++) {
switch (MMC_SWITCH_CAST(tmp3)) {
case 0: {
if (1 != tmp3_2) goto tmp2_end;
_txt = tmp3_1;
tmpMeta[0] = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1566);
goto tmp2_done;
}
case 1: {
_txt = tmp3_1;
tmpMeta[0] = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1567);
goto tmp2_done;
}
}
goto tmp2_end;
tmp2_end: ;
}
goto goto_1;
goto_1:;
MMC_THROW_INTERNAL();
goto tmp2_done;
tmp2_done:;
}
}
_out_txt = tmpMeta[0];
_return: OMC_LABEL_UNUSED
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__640(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_flag)
{
modelica_integer tmp1;
modelica_metatype _out_txt = NULL;
tmp1 = mmc_unbox_integer(_in_a_flag);
_out_txt = omc_CodegenCFunctions_fun__640(threadData, _in_txt, tmp1);
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__639(threadData_t *threadData, modelica_metatype _in_txt, modelica_integer _in_a_flag)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta[1] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp3_1;modelica_integer tmp3_2;
tmp3_1 = _in_txt;
tmp3_2 = _in_a_flag;
{
modelica_metatype _txt = NULL;
volatile mmc_switch_type tmp3;
int tmp4;
tmp3 = 0;
for (; tmp3 < 2; tmp3++) {
switch (MMC_SWITCH_CAST(tmp3)) {
case 0: {
if (1 != tmp3_2) goto tmp2_end;
_txt = tmp3_1;
tmpMeta[0] = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1566);
goto tmp2_done;
}
case 1: {
_txt = tmp3_1;
tmpMeta[0] = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1567);
goto tmp2_done;
}
}
goto tmp2_end;
tmp2_end: ;
}
goto goto_1;
goto_1:;
MMC_THROW_INTERNAL();
goto tmp2_done;
tmp2_done:;
}
}
_out_txt = tmpMeta[0];
_return: OMC_LABEL_UNUSED
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__639(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_flag)
{
modelica_integer tmp1;
modelica_metatype _out_txt = NULL;
tmp1 = mmc_unbox_integer(_in_a_flag);
_out_txt = omc_CodegenCFunctions_fun__639(threadData, _in_txt, tmp1);
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__638(threadData_t *threadData, modelica_metatype _in_txt, modelica_integer _in_a_flag)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta[1] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp3_1;modelica_integer tmp3_2;
tmp3_1 = _in_txt;
tmp3_2 = _in_a_flag;
{
modelica_metatype _txt = NULL;
volatile mmc_switch_type tmp3;
int tmp4;
tmp3 = 0;
for (; tmp3 < 2; tmp3++) {
switch (MMC_SWITCH_CAST(tmp3)) {
case 0: {
if (1 != tmp3_2) goto tmp2_end;
_txt = tmp3_1;
tmpMeta[0] = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1566);
goto tmp2_done;
}
case 1: {
_txt = tmp3_1;
tmpMeta[0] = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1567);
goto tmp2_done;
}
}
goto tmp2_end;
tmp2_end: ;
}
goto goto_1;
goto_1:;
MMC_THROW_INTERNAL();
goto tmp2_done;
tmp2_done:;
}
}
_out_txt = tmpMeta[0];
_return: OMC_LABEL_UNUSED
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__638(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_flag)
{
modelica_integer tmp1;
modelica_metatype _out_txt = NULL;
tmp1 = mmc_unbox_integer(_in_a_flag);
_out_txt = omc_CodegenCFunctions_fun__638(threadData, _in_txt, tmp1);
return _out_txt;
}
DLLExport
modelica_metatype omc_CodegenCFunctions_expTypeFromExpFlag(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_exp, modelica_integer _in_a_flag)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta[3] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp3_1;modelica_metatype tmp3_2;modelica_integer tmp3_3;
tmp3_1 = _in_txt;
tmp3_2 = _in_a_exp;
tmp3_3 = _in_a_flag;
{
modelica_metatype _txt = NULL;
modelica_integer _a_flag;
modelica_metatype _i_c_exp = NULL;
modelica_metatype _i_e = NULL;
modelica_metatype _i_exp = NULL;
modelica_metatype _i_c = NULL;
modelica_metatype _i_c_ty = NULL;
modelica_metatype _i_attr_ty = NULL;
modelica_metatype _i_expThen = NULL;
modelica_metatype _i_e_operator = NULL;
modelica_metatype _txt_5 = NULL;
modelica_metatype _ret_4 = NULL;
modelica_metatype _ret_3 = NULL;
modelica_metatype _ret_2 = NULL;
modelica_metatype _ret_1 = NULL;
modelica_metatype _ret_0 = NULL;
volatile mmc_switch_type tmp3;
int tmp4;
tmp3 = 0;
for (; tmp3 < 35; tmp3++) {
switch (MMC_SWITCH_CAST(tmp3)) {
case 0: {
if (mmc__uniontype__metarecord__typedef__equal(tmp3_2,0,1) == 0) goto tmp2_end;
_txt = tmp3_1;
_a_flag = tmp3_3;
tmpMeta[0] = omc_CodegenCFunctions_fun__625(threadData, _txt, _a_flag);
goto tmp2_done;
}
case 1: {
if (mmc__uniontype__metarecord__typedef__equal(tmp3_2,1,1) == 0) goto tmp2_end;
_txt = tmp3_1;
_a_flag = tmp3_3;
tmpMeta[0] = omc_CodegenCFunctions_fun__626(threadData, _txt, _a_flag);
goto tmp2_done;
}
case 2: {
if (mmc__uniontype__metarecord__typedef__equal(tmp3_2,2,1) == 0) goto tmp2_end;
_txt = tmp3_1;
_a_flag = tmp3_3;
tmpMeta[0] = omc_CodegenCFunctions_fun__627(threadData, _txt, _a_flag);
goto tmp2_done;
}
case 3: {
if (mmc__uniontype__metarecord__typedef__equal(tmp3_2,3,1) == 0) goto tmp2_end;
_txt = tmp3_1;
_a_flag = tmp3_3;
tmpMeta[0] = omc_CodegenCFunctions_fun__628(threadData, _txt, _a_flag);
goto tmp2_done;
}
case 4: {
if (mmc__uniontype__metarecord__typedef__equal(tmp3_2,5,2) == 0) goto tmp2_end;
_txt = tmp3_1;
_a_flag = tmp3_3;
tmpMeta[0] = omc_CodegenCFunctions_fun__629(threadData, _txt, _a_flag);
goto tmp2_done;
}
case 5: {
if (mmc__uniontype__metarecord__typedef__equal(tmp3_2,7,3) == 0) goto tmp2_end;
tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_2), 3));
_i_e_operator = tmpMeta[1];
_txt = tmp3_1;
_a_flag = tmp3_3;
tmpMeta[0] = omc_CodegenCFunctions_expTypeFromOpFlag(threadData, _txt, _i_e_operator, _a_flag);
goto tmp2_done;
}
case 6: {
if (mmc__uniontype__metarecord__typedef__equal(tmp3_2,8,2) == 0) goto tmp2_end;
tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_2), 2));
_i_e_operator = tmpMeta[1];
_txt = tmp3_1;
_a_flag = tmp3_3;
tmpMeta[0] = omc_CodegenCFunctions_expTypeFromOpFlag(threadData, _txt, _i_e_operator, _a_flag);
goto tmp2_done;
}
case 7: {
if (mmc__uniontype__metarecord__typedef__equal(tmp3_2,9,3) == 0) goto tmp2_end;
tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_2), 3));
_i_e_operator = tmpMeta[1];
_txt = tmp3_1;
_a_flag = tmp3_3;
tmpMeta[0] = omc_CodegenCFunctions_expTypeFromOpFlag(threadData, _txt, _i_e_operator, _a_flag);
goto tmp2_done;
}
case 8: {
if (mmc__uniontype__metarecord__typedef__equal(tmp3_2,10,2) == 0) goto tmp2_end;
tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_2), 2));
_i_e_operator = tmpMeta[1];
_txt = tmp3_1;
_a_flag = tmp3_3;
tmpMeta[0] = omc_CodegenCFunctions_expTypeFromOpFlag(threadData, _txt, _i_e_operator, _a_flag);
goto tmp2_done;
}
case 9: {
if (mmc__uniontype__metarecord__typedef__equal(tmp3_2,11,5) == 0) goto tmp2_end;
_txt = tmp3_1;
_a_flag = tmp3_3;
tmpMeta[0] = omc_CodegenCFunctions_fun__630(threadData, _txt, _a_flag);
goto tmp2_done;
}
case 10: {
if (mmc__uniontype__metarecord__typedef__equal(tmp3_2,12,3) == 0) goto tmp2_end;
tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_2), 3));
_i_expThen = tmpMeta[1];
_txt = tmp3_1;
_a_flag = tmp3_3;
_in_txt = _txt;
_in_a_exp = _i_expThen;
_in_a_flag = _a_flag;
goto _tailrecursive;
goto tmp2_done;
}
case 11: {
if (mmc__uniontype__metarecord__typedef__equal(tmp3_2,13,3) == 0) goto tmp2_end;
tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_2), 4));
tmpMeta[2] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[1]), 2));
_i_attr_ty = tmpMeta[2];
_txt = tmp3_1;
_a_flag = tmp3_3;
tmpMeta[0] = omc_CodegenCFunctions_expTypeFlag(threadData, _txt, _i_attr_ty, _a_flag);
goto tmp2_done;
}
case 12: {
if (mmc__uniontype__metarecord__typedef__equal(tmp3_2,14,4) == 0) goto tmp2_end;
tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_2), 5));
_i_c_ty = tmpMeta[1];
_txt = tmp3_1;
_a_flag = tmp3_3;
tmpMeta[0] = omc_CodegenCFunctions_expTypeFlag(threadData, _txt, _i_c_ty, _a_flag);
goto tmp2_done;
}
case 13: {
if (mmc__uniontype__metarecord__typedef__equal(tmp3_2,16,3) == 0) goto tmp2_end;
tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_2), 2));
_i_c_ty = tmpMeta[1];
_txt = tmp3_1;
_a_flag = tmp3_3;
tmpMeta[0] = omc_CodegenCFunctions_expTypeFlag(threadData, _txt, _i_c_ty, _a_flag);
goto tmp2_done;
}
case 14: {
if (mmc__uniontype__metarecord__typedef__equal(tmp3_2,17,3) == 0) goto tmp2_end;
tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_2), 2));
_i_c_ty = tmpMeta[1];
_txt = tmp3_1;
_a_flag = tmp3_3;
tmpMeta[0] = omc_CodegenCFunctions_expTypeFlag(threadData, _txt, _i_c_ty, _a_flag);
goto tmp2_done;
}
case 15: {
if (mmc__uniontype__metarecord__typedef__equal(tmp3_2,18,4) == 0) goto tmp2_end;
tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_2), 2));
_i_c_ty = tmpMeta[1];
_txt = tmp3_1;
_a_flag = tmp3_3;
tmpMeta[0] = omc_CodegenCFunctions_expTypeFlag(threadData, _txt, _i_c_ty, _a_flag);
goto tmp2_done;
}
case 16: {
if (mmc__uniontype__metarecord__typedef__equal(tmp3_2,20,2) == 0) goto tmp2_end;
tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_2), 2));
_i_c_ty = tmpMeta[1];
_txt = tmp3_1;
_a_flag = tmp3_3;
tmpMeta[0] = omc_CodegenCFunctions_expTypeFlag(threadData, _txt, _i_c_ty, _a_flag);
goto tmp2_done;
}
case 17: {
if (mmc__uniontype__metarecord__typedef__equal(tmp3_2,22,3) == 0) goto tmp2_end;
tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_2), 4));
_i_c_ty = tmpMeta[1];
_txt = tmp3_1;
_a_flag = tmp3_3;
tmpMeta[0] = omc_CodegenCFunctions_expTypeFlag(threadData, _txt, _i_c_ty, _a_flag);
goto tmp2_done;
}
case 18: {
if (mmc__uniontype__metarecord__typedef__equal(tmp3_2,6,2) == 0) goto tmp2_end;
tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_2), 3));
_i_c_ty = tmpMeta[1];
_txt = tmp3_1;
_a_flag = tmp3_3;
tmpMeta[0] = omc_CodegenCFunctions_expTypeFlag(threadData, _txt, _i_c_ty, _a_flag);
goto tmp2_done;
}
case 19: {
if (mmc__uniontype__metarecord__typedef__equal(tmp3_2,25,2) == 0) goto tmp2_end;
tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_2), 3));
_i_c_ty = tmpMeta[1];
_txt = tmp3_1;
_a_flag = tmp3_3;
tmpMeta[0] = omc_CodegenCFunctions_expTypeFlag(threadData, _txt, _i_c_ty, _a_flag);
goto tmp2_done;
}
case 20: {
if (mmc__uniontype__metarecord__typedef__equal(tmp3_2,21,2) == 0) goto tmp2_end;
_i_c = tmp3_2;
_txt = tmp3_1;
_a_flag = tmp3_3;
_ret_0 = omc_Expression_typeof(threadData, _i_c);
tmpMeta[0] = omc_CodegenCFunctions_expTypeFlag(threadData, _txt, _ret_0, _a_flag);
goto tmp2_done;
}
case 21: {
if (mmc__uniontype__metarecord__typedef__equal(tmp3_2,27,3) == 0) goto tmp2_end;
_i_exp = tmp3_2;
_txt = tmp3_1;
_a_flag = tmp3_3;
_ret_1 = omc_Expression_typeof(threadData, _i_exp);
tmpMeta[0] = omc_CodegenCFunctions_expTypeFlag(threadData, _txt, _ret_1, _a_flag);
goto tmp2_done;
}
case 22: {
if (mmc__uniontype__metarecord__typedef__equal(tmp3_2,29,2) == 0) goto tmp2_end;
_i_e = tmp3_2;
_txt = tmp3_1;
_a_flag = tmp3_3;
_ret_2 = omc_Expression_typeof(threadData, _i_e);
tmpMeta[0] = omc_CodegenCFunctions_expTypeFlag(threadData, _txt, _ret_2, _a_flag);
goto tmp2_done;
}
case 23: {
if (mmc__uniontype__metarecord__typedef__equal(tmp3_2,28,1) == 0) goto tmp2_end;
_i_e = tmp3_2;
_txt = tmp3_1;
_a_flag = tmp3_3;
_ret_3 = omc_Expression_typeof(threadData, _i_e);
tmpMeta[0] = omc_CodegenCFunctions_expTypeFlag(threadData, _txt, _ret_3, _a_flag);
goto tmp2_done;
}
case 24: {
if (mmc__uniontype__metarecord__typedef__equal(tmp3_2,24,2) == 0) goto tmp2_end;
_i_e = tmp3_2;
_txt = tmp3_1;
_a_flag = tmp3_3;
_ret_4 = omc_Expression_typeof(threadData, _i_e);
tmpMeta[0] = omc_CodegenCFunctions_expTypeFlag(threadData, _txt, _ret_4, _a_flag);
goto tmp2_done;
}
case 25: {
modelica_integer tmp5;
if (mmc__uniontype__metarecord__typedef__equal(tmp3_2,23,4) == 0) goto tmp2_end;
tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_2), 3));
tmp5 = mmc_unbox_integer(tmpMeta[1]);
if (-1 != tmp5) goto tmp2_end;
tmpMeta[2] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_2), 5));
_i_c_ty = tmpMeta[2];
_txt = tmp3_1;
_a_flag = tmp3_3;
tmpMeta[0] = omc_CodegenCFunctions_expTypeFlag(threadData, _txt, _i_c_ty, _a_flag);
goto tmp2_done;
}
case 26: {
if (mmc__uniontype__metarecord__typedef__equal(tmp3_2,30,1) == 0) goto tmp2_end;
_txt = tmp3_1;
_a_flag = tmp3_3;
tmpMeta[0] = omc_CodegenCFunctions_fun__631(threadData, _txt, _a_flag);
goto tmp2_done;
}
case 27: {
if (mmc__uniontype__metarecord__typedef__equal(tmp3_2,31,1) == 0) goto tmp2_end;
_txt = tmp3_1;
_a_flag = tmp3_3;
tmpMeta[0] = omc_CodegenCFunctions_fun__632(threadData, _txt, _a_flag);
goto tmp2_done;
}
case 28: {
if (mmc__uniontype__metarecord__typedef__equal(tmp3_2,33,6) == 0) goto tmp2_end;
_txt = tmp3_1;
_a_flag = tmp3_3;
tmpMeta[0] = omc_CodegenCFunctions_fun__633(threadData, _txt, _a_flag);
goto tmp2_done;
}
case 29: {
if (mmc__uniontype__metarecord__typedef__equal(tmp3_2,32,5) == 0) goto tmp2_end;
_txt = tmp3_1;
_a_flag = tmp3_3;
tmpMeta[0] = omc_CodegenCFunctions_fun__634(threadData, _txt, _a_flag);
goto tmp2_done;
}
case 30: {
if (mmc__uniontype__metarecord__typedef__equal(tmp3_2,23,4) == 0) goto tmp2_end;
_txt = tmp3_1;
_a_flag = tmp3_3;
tmpMeta[0] = omc_CodegenCFunctions_fun__635(threadData, _txt, _a_flag);
goto tmp2_done;
}
case 31: {
if (mmc__uniontype__metarecord__typedef__equal(tmp3_2,34,1) == 0) goto tmp2_end;
_txt = tmp3_1;
_a_flag = tmp3_3;
tmpMeta[0] = omc_CodegenCFunctions_fun__636(threadData, _txt, _a_flag);
goto tmp2_done;
}
case 32: {
if (mmc__uniontype__metarecord__typedef__equal(tmp3_2,35,2) == 0) goto tmp2_end;
tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_2), 3));
_i_c_ty = tmpMeta[1];
_txt = tmp3_1;
_a_flag = tmp3_3;
tmpMeta[0] = omc_CodegenCFunctions_expTypeFlag(threadData, _txt, _i_c_ty, _a_flag);
goto tmp2_done;
}
case 33: {
if (mmc__uniontype__metarecord__typedef__equal(tmp3_2,36,2) == 0) goto tmp2_end;
tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_2), 3));
_i_c_exp = tmpMeta[1];
_txt = tmp3_1;
_a_flag = tmp3_3;
_in_txt = _txt;
_in_a_exp = _i_c_exp;
_in_a_flag = _a_flag;
goto _tailrecursive;
goto tmp2_done;
}
case 34: {
_txt = tmp3_1;
_i_exp = tmp3_2;
_a_flag = tmp3_3;
_txt_5 = omc_Tpl_writeTok(threadData, _OMC_LIT20, _OMC_LIT1569);
_txt_5 = omc_Tpl_writeStr(threadData, _txt_5, intString(_a_flag));
_txt_5 = omc_Tpl_writeTok(threadData, _txt_5, _OMC_LIT1571);
_txt_5 = omc_ExpressionDumpTpl_dumpExp(threadData, _txt_5, _i_exp, _OMC_LIT231);
tmpMeta[0] = omc_CodegenUtil_error(threadData, _txt, omc_Tpl_sourceInfo(threadData, _OMC_LIT27, ((modelica_integer) 4134), ((modelica_integer) 14)), omc_Tpl_textString(threadData, _txt_5));
goto tmp2_done;
}
}
goto tmp2_end;
tmp2_end: ;
}
goto goto_1;
goto_1:;
MMC_THROW_INTERNAL();
goto tmp2_done;
tmp2_done:;
}
}
_out_txt = tmpMeta[0];
_return: OMC_LABEL_UNUSED
return _out_txt;
}
modelica_metatype boxptr_CodegenCFunctions_expTypeFromExpFlag(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_exp, modelica_metatype _in_a_flag)
{
modelica_integer tmp1;
modelica_metatype _out_txt = NULL;
tmp1 = mmc_unbox_integer(_in_a_flag);
_out_txt = omc_CodegenCFunctions_expTypeFromExpFlag(threadData, _in_txt, _in_a_exp, tmp1);
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__636(threadData_t *threadData, modelica_metatype _in_txt, modelica_integer _in_a_flag)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta[1] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp3_1;modelica_integer tmp3_2;
tmp3_1 = _in_txt;
tmp3_2 = _in_a_flag;
{
modelica_metatype _txt = NULL;
volatile mmc_switch_type tmp3;
int tmp4;
tmp3 = 0;
for (; tmp3 < 2; tmp3++) {
switch (MMC_SWITCH_CAST(tmp3)) {
case 0: {
if (1 != tmp3_2) goto tmp2_end;
_txt = tmp3_1;
tmpMeta[0] = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1572);
goto tmp2_done;
}
case 1: {
_txt = tmp3_1;
tmpMeta[0] = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT611);
goto tmp2_done;
}
}
goto tmp2_end;
tmp2_end: ;
}
goto goto_1;
goto_1:;
MMC_THROW_INTERNAL();
goto tmp2_done;
tmp2_done:;
}
}
_out_txt = tmpMeta[0];
_return: OMC_LABEL_UNUSED
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__636(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_flag)
{
modelica_integer tmp1;
modelica_metatype _out_txt = NULL;
tmp1 = mmc_unbox_integer(_in_a_flag);
_out_txt = omc_CodegenCFunctions_fun__636(threadData, _in_txt, tmp1);
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__635(threadData_t *threadData, modelica_metatype _in_txt, modelica_integer _in_a_flag)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta[1] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp3_1;modelica_integer tmp3_2;
tmp3_1 = _in_txt;
tmp3_2 = _in_a_flag;
{
modelica_metatype _txt = NULL;
volatile mmc_switch_type tmp3;
int tmp4;
tmp3 = 0;
for (; tmp3 < 2; tmp3++) {
switch (MMC_SWITCH_CAST(tmp3)) {
case 0: {
if (1 != tmp3_2) goto tmp2_end;
_txt = tmp3_1;
tmpMeta[0] = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1572);
goto tmp2_done;
}
case 1: {
_txt = tmp3_1;
tmpMeta[0] = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT611);
goto tmp2_done;
}
}
goto tmp2_end;
tmp2_end: ;
}
goto goto_1;
goto_1:;
MMC_THROW_INTERNAL();
goto tmp2_done;
tmp2_done:;
}
}
_out_txt = tmpMeta[0];
_return: OMC_LABEL_UNUSED
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__635(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_flag)
{
modelica_integer tmp1;
modelica_metatype _out_txt = NULL;
tmp1 = mmc_unbox_integer(_in_a_flag);
_out_txt = omc_CodegenCFunctions_fun__635(threadData, _in_txt, tmp1);
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__634(threadData_t *threadData, modelica_metatype _in_txt, modelica_integer _in_a_flag)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta[1] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp3_1;modelica_integer tmp3_2;
tmp3_1 = _in_txt;
tmp3_2 = _in_a_flag;
{
modelica_metatype _txt = NULL;
volatile mmc_switch_type tmp3;
int tmp4;
tmp3 = 0;
for (; tmp3 < 2; tmp3++) {
switch (MMC_SWITCH_CAST(tmp3)) {
case 0: {
if (1 != tmp3_2) goto tmp2_end;
_txt = tmp3_1;
tmpMeta[0] = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1572);
goto tmp2_done;
}
case 1: {
_txt = tmp3_1;
tmpMeta[0] = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT611);
goto tmp2_done;
}
}
goto tmp2_end;
tmp2_end: ;
}
goto goto_1;
goto_1:;
MMC_THROW_INTERNAL();
goto tmp2_done;
tmp2_done:;
}
}
_out_txt = tmpMeta[0];
_return: OMC_LABEL_UNUSED
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__634(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_flag)
{
modelica_integer tmp1;
modelica_metatype _out_txt = NULL;
tmp1 = mmc_unbox_integer(_in_a_flag);
_out_txt = omc_CodegenCFunctions_fun__634(threadData, _in_txt, tmp1);
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__633(threadData_t *threadData, modelica_metatype _in_txt, modelica_integer _in_a_flag)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta[1] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp3_1;modelica_integer tmp3_2;
tmp3_1 = _in_txt;
tmp3_2 = _in_a_flag;
{
modelica_metatype _txt = NULL;
volatile mmc_switch_type tmp3;
int tmp4;
tmp3 = 0;
for (; tmp3 < 2; tmp3++) {
switch (MMC_SWITCH_CAST(tmp3)) {
case 0: {
if (1 != tmp3_2) goto tmp2_end;
_txt = tmp3_1;
tmpMeta[0] = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1572);
goto tmp2_done;
}
case 1: {
_txt = tmp3_1;
tmpMeta[0] = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT611);
goto tmp2_done;
}
}
goto tmp2_end;
tmp2_end: ;
}
goto goto_1;
goto_1:;
MMC_THROW_INTERNAL();
goto tmp2_done;
tmp2_done:;
}
}
_out_txt = tmpMeta[0];
_return: OMC_LABEL_UNUSED
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__633(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_flag)
{
modelica_integer tmp1;
modelica_metatype _out_txt = NULL;
tmp1 = mmc_unbox_integer(_in_a_flag);
_out_txt = omc_CodegenCFunctions_fun__633(threadData, _in_txt, tmp1);
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__632(threadData_t *threadData, modelica_metatype _in_txt, modelica_integer _in_a_flag)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta[1] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp3_1;modelica_integer tmp3_2;
tmp3_1 = _in_txt;
tmp3_2 = _in_a_flag;
{
modelica_metatype _txt = NULL;
volatile mmc_switch_type tmp3;
int tmp4;
tmp3 = 0;
for (; tmp3 < 2; tmp3++) {
switch (MMC_SWITCH_CAST(tmp3)) {
case 0: {
if (1 != tmp3_2) goto tmp2_end;
_txt = tmp3_1;
tmpMeta[0] = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1572);
goto tmp2_done;
}
case 1: {
_txt = tmp3_1;
tmpMeta[0] = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT611);
goto tmp2_done;
}
}
goto tmp2_end;
tmp2_end: ;
}
goto goto_1;
goto_1:;
MMC_THROW_INTERNAL();
goto tmp2_done;
tmp2_done:;
}
}
_out_txt = tmpMeta[0];
_return: OMC_LABEL_UNUSED
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__632(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_flag)
{
modelica_integer tmp1;
modelica_metatype _out_txt = NULL;
tmp1 = mmc_unbox_integer(_in_a_flag);
_out_txt = omc_CodegenCFunctions_fun__632(threadData, _in_txt, tmp1);
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__631(threadData_t *threadData, modelica_metatype _in_txt, modelica_integer _in_a_flag)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta[1] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp3_1;modelica_integer tmp3_2;
tmp3_1 = _in_txt;
tmp3_2 = _in_a_flag;
{
modelica_metatype _txt = NULL;
volatile mmc_switch_type tmp3;
int tmp4;
tmp3 = 0;
for (; tmp3 < 2; tmp3++) {
switch (MMC_SWITCH_CAST(tmp3)) {
case 0: {
if (1 != tmp3_2) goto tmp2_end;
_txt = tmp3_1;
tmpMeta[0] = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1572);
goto tmp2_done;
}
case 1: {
_txt = tmp3_1;
tmpMeta[0] = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT611);
goto tmp2_done;
}
}
goto tmp2_end;
tmp2_end: ;
}
goto goto_1;
goto_1:;
MMC_THROW_INTERNAL();
goto tmp2_done;
tmp2_done:;
}
}
_out_txt = tmpMeta[0];
_return: OMC_LABEL_UNUSED
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__631(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_flag)
{
modelica_integer tmp1;
modelica_metatype _out_txt = NULL;
tmp1 = mmc_unbox_integer(_in_a_flag);
_out_txt = omc_CodegenCFunctions_fun__631(threadData, _in_txt, tmp1);
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__630(threadData_t *threadData, modelica_metatype _in_txt, modelica_integer _in_a_flag)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta[1] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp3_1;modelica_integer tmp3_2;
tmp3_1 = _in_txt;
tmp3_2 = _in_a_flag;
{
modelica_metatype _txt = NULL;
volatile mmc_switch_type tmp3;
int tmp4;
tmp3 = 0;
for (; tmp3 < 2; tmp3++) {
switch (MMC_SWITCH_CAST(tmp3)) {
case 0: {
if (1 != tmp3_2) goto tmp2_end;
_txt = tmp3_1;
tmpMeta[0] = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1566);
goto tmp2_done;
}
case 1: {
_txt = tmp3_1;
tmpMeta[0] = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1567);
goto tmp2_done;
}
}
goto tmp2_end;
tmp2_end: ;
}
goto goto_1;
goto_1:;
MMC_THROW_INTERNAL();
goto tmp2_done;
tmp2_done:;
}
}
_out_txt = tmpMeta[0];
_return: OMC_LABEL_UNUSED
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__630(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_flag)
{
modelica_integer tmp1;
modelica_metatype _out_txt = NULL;
tmp1 = mmc_unbox_integer(_in_a_flag);
_out_txt = omc_CodegenCFunctions_fun__630(threadData, _in_txt, tmp1);
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__629(threadData_t *threadData, modelica_metatype _in_txt, modelica_integer _in_a_flag)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta[1] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp3_1;modelica_integer tmp3_2;
tmp3_1 = _in_txt;
tmp3_2 = _in_a_flag;
{
modelica_metatype _txt = NULL;
int tmp3;
{
switch (MMC_SWITCH_CAST(tmp3_2)) {
case 8: {
if (8 != tmp3_2) goto tmp2_end;
_txt = tmp3_1;
tmpMeta[0] = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1573);
goto tmp2_done;
}
case 1: {
if (1 != tmp3_2) goto tmp2_end;
_txt = tmp3_1;
tmpMeta[0] = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1148);
goto tmp2_done;
}
default:
tmp2_default: OMC_LABEL_UNUSED; {
_txt = tmp3_1;
tmpMeta[0] = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1365);
goto tmp2_done;
}
}
goto tmp2_end;
tmp2_end: ;
}
goto goto_1;
goto_1:;
MMC_THROW_INTERNAL();
goto tmp2_done;
tmp2_done:;
}
}
_out_txt = tmpMeta[0];
_return: OMC_LABEL_UNUSED
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__629(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_flag)
{
modelica_integer tmp1;
modelica_metatype _out_txt = NULL;
tmp1 = mmc_unbox_integer(_in_a_flag);
_out_txt = omc_CodegenCFunctions_fun__629(threadData, _in_txt, tmp1);
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__628(threadData_t *threadData, modelica_metatype _in_txt, modelica_integer _in_a_flag)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta[1] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp3_1;modelica_integer tmp3_2;
tmp3_1 = _in_txt;
tmp3_2 = _in_a_flag;
{
modelica_metatype _txt = NULL;
volatile mmc_switch_type tmp3;
int tmp4;
tmp3 = 0;
for (; tmp3 < 2; tmp3++) {
switch (MMC_SWITCH_CAST(tmp3)) {
case 0: {
if (1 != tmp3_2) goto tmp2_end;
_txt = tmp3_1;
tmpMeta[0] = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1566);
goto tmp2_done;
}
case 1: {
_txt = tmp3_1;
tmpMeta[0] = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1567);
goto tmp2_done;
}
}
goto tmp2_end;
tmp2_end: ;
}
goto goto_1;
goto_1:;
MMC_THROW_INTERNAL();
goto tmp2_done;
tmp2_done:;
}
}
_out_txt = tmpMeta[0];
_return: OMC_LABEL_UNUSED
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__628(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_flag)
{
modelica_integer tmp1;
modelica_metatype _out_txt = NULL;
tmp1 = mmc_unbox_integer(_in_a_flag);
_out_txt = omc_CodegenCFunctions_fun__628(threadData, _in_txt, tmp1);
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__627(threadData_t *threadData, modelica_metatype _in_txt, modelica_integer _in_a_flag)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta[1] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp3_1;modelica_integer tmp3_2;
tmp3_1 = _in_txt;
tmp3_2 = _in_a_flag;
{
modelica_metatype _txt = NULL;
volatile mmc_switch_type tmp3;
int tmp4;
tmp3 = 0;
for (; tmp3 < 2; tmp3++) {
switch (MMC_SWITCH_CAST(tmp3)) {
case 0: {
if (1 != tmp3_2) goto tmp2_end;
_txt = tmp3_1;
tmpMeta[0] = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1575);
goto tmp2_done;
}
case 1: {
_txt = tmp3_1;
tmpMeta[0] = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1576);
goto tmp2_done;
}
}
goto tmp2_end;
tmp2_end: ;
}
goto goto_1;
goto_1:;
MMC_THROW_INTERNAL();
goto tmp2_done;
tmp2_done:;
}
}
_out_txt = tmpMeta[0];
_return: OMC_LABEL_UNUSED
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__627(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_flag)
{
modelica_integer tmp1;
modelica_metatype _out_txt = NULL;
tmp1 = mmc_unbox_integer(_in_a_flag);
_out_txt = omc_CodegenCFunctions_fun__627(threadData, _in_txt, tmp1);
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__626(threadData_t *threadData, modelica_metatype _in_txt, modelica_integer _in_a_flag)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta[1] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp3_1;modelica_integer tmp3_2;
tmp3_1 = _in_txt;
tmp3_2 = _in_a_flag;
{
modelica_metatype _txt = NULL;
volatile mmc_switch_type tmp3;
int tmp4;
tmp3 = 0;
for (; tmp3 < 2; tmp3++) {
switch (MMC_SWITCH_CAST(tmp3)) {
case 0: {
if (1 != tmp3_2) goto tmp2_end;
_txt = tmp3_1;
tmpMeta[0] = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1149);
goto tmp2_done;
}
case 1: {
_txt = tmp3_1;
tmpMeta[0] = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1577);
goto tmp2_done;
}
}
goto tmp2_end;
tmp2_end: ;
}
goto goto_1;
goto_1:;
MMC_THROW_INTERNAL();
goto tmp2_done;
tmp2_done:;
}
}
_out_txt = tmpMeta[0];
_return: OMC_LABEL_UNUSED
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__626(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_flag)
{
modelica_integer tmp1;
modelica_metatype _out_txt = NULL;
tmp1 = mmc_unbox_integer(_in_a_flag);
_out_txt = omc_CodegenCFunctions_fun__626(threadData, _in_txt, tmp1);
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__625(threadData_t *threadData, modelica_metatype _in_txt, modelica_integer _in_a_flag)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta[1] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp3_1;modelica_integer tmp3_2;
tmp3_1 = _in_txt;
tmp3_2 = _in_a_flag;
{
modelica_metatype _txt = NULL;
int tmp3;
{
switch (MMC_SWITCH_CAST(tmp3_2)) {
case 8: {
if (8 != tmp3_2) goto tmp2_end;
_txt = tmp3_1;
tmpMeta[0] = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1573);
goto tmp2_done;
}
case 1: {
if (1 != tmp3_2) goto tmp2_end;
_txt = tmp3_1;
tmpMeta[0] = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1148);
goto tmp2_done;
}
default:
tmp2_default: OMC_LABEL_UNUSED; {
_txt = tmp3_1;
tmpMeta[0] = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1365);
goto tmp2_done;
}
}
goto tmp2_end;
tmp2_end: ;
}
goto goto_1;
goto_1:;
MMC_THROW_INTERNAL();
goto tmp2_done;
tmp2_done:;
}
}
_out_txt = tmpMeta[0];
_return: OMC_LABEL_UNUSED
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__625(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_flag)
{
modelica_integer tmp1;
modelica_metatype _out_txt = NULL;
tmp1 = mmc_unbox_integer(_in_a_flag);
_out_txt = omc_CodegenCFunctions_fun__625(threadData, _in_txt, tmp1);
return _out_txt;
}
DLLExport
modelica_metatype omc_CodegenCFunctions_expTypeFlag(threadData_t *threadData, modelica_metatype _txt, modelica_metatype _a_ty, modelica_integer _a_flag)
{
modelica_metatype _out_txt = NULL;
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
_out_txt = omc_CodegenCFunctions_fun__623(threadData, _txt, _a_flag, _a_ty);
_return: OMC_LABEL_UNUSED
return _out_txt;
}
modelica_metatype boxptr_CodegenCFunctions_expTypeFlag(threadData_t *threadData, modelica_metatype _txt, modelica_metatype _a_ty, modelica_metatype _a_flag)
{
modelica_integer tmp1;
modelica_metatype _out_txt = NULL;
tmp1 = mmc_unbox_integer(_a_flag);
_out_txt = omc_CodegenCFunctions_expTypeFlag(threadData, _txt, _a_ty, tmp1);
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__623(threadData_t *threadData, modelica_metatype _in_txt, modelica_integer _in_a_flag, modelica_metatype _in_a_ty)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta[1] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp3_1;modelica_integer tmp3_2;modelica_metatype tmp3_3;
tmp3_1 = _in_txt;
tmp3_2 = _in_a_flag;
tmp3_3 = _in_a_ty;
{
modelica_metatype _txt = NULL;
modelica_metatype _a_ty = NULL;
int tmp3;
{
switch (MMC_SWITCH_CAST(tmp3_2)) {
case 1: {
if (1 != tmp3_2) goto tmp2_end;
_txt = tmp3_1;
_a_ty = tmp3_3;
tmpMeta[0] = omc_CodegenCFunctions_expTypeShort(threadData, _txt, _a_ty);
goto tmp2_done;
}
case 2: {
if (2 != tmp3_2) goto tmp2_end;
_txt = tmp3_1;
_a_ty = tmp3_3;
tmpMeta[0] = omc_CodegenCFunctions_fun__620(threadData, _txt, _a_ty);
goto tmp2_done;
}
case 3: {
if (3 != tmp3_2) goto tmp2_end;
_txt = tmp3_1;
_a_ty = tmp3_3;
_txt = omc_CodegenCFunctions_expTypeShort(threadData, _txt, _a_ty);
tmpMeta[0] = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1120);
goto tmp2_done;
}
case 4: {
if (4 != tmp3_2) goto tmp2_end;
_txt = tmp3_1;
_a_ty = tmp3_3;
tmpMeta[0] = omc_CodegenCFunctions_fun__621(threadData, _txt, _a_ty);
goto tmp2_done;
}
case 8: {
if (8 != tmp3_2) goto tmp2_end;
_txt = tmp3_1;
_a_ty = tmp3_3;
tmpMeta[0] = omc_CodegenCFunctions_fun__622(threadData, _txt, _a_ty);
goto tmp2_done;
}
default:
tmp2_default: OMC_LABEL_UNUSED; {
_txt = tmp3_1;
tmpMeta[0] = _txt;
goto tmp2_done;
}
}
goto tmp2_end;
tmp2_end: ;
}
goto goto_1;
goto_1:;
MMC_THROW_INTERNAL();
goto tmp2_done;
tmp2_done:;
}
}
_out_txt = tmpMeta[0];
_return: OMC_LABEL_UNUSED
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__623(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_flag, modelica_metatype _in_a_ty)
{
modelica_integer tmp1;
modelica_metatype _out_txt = NULL;
tmp1 = mmc_unbox_integer(_in_a_flag);
_out_txt = omc_CodegenCFunctions_fun__623(threadData, _in_txt, tmp1, _in_a_ty);
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__622(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_ty)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta[2] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp3_1;modelica_metatype tmp3_2;
tmp3_1 = _in_txt;
tmp3_2 = _in_a_ty;
{
modelica_metatype _txt = NULL;
modelica_metatype _i_complexType = NULL;
modelica_metatype _i_ty = NULL;
modelica_metatype _txt_0 = NULL;
modelica_string _ret_0 = NULL;
int tmp3;
{
switch (MMC_SWITCH_CAST(valueConstructor(tmp3_2))) {
case 9: {
if (mmc__uniontype__metarecord__typedef__equal(tmp3_2,6,2) == 0) goto tmp2_end;
tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_2), 2));
_i_ty = tmpMeta[1];
_txt = tmp3_1;
_txt = omc_CodegenCFunctions_expTypeFlag(threadData, _txt, _i_ty, ((modelica_integer) 8));
tmpMeta[0] = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT256);
goto tmp2_done;
}
case 3: {
if (mmc__uniontype__metarecord__typedef__equal(tmp3_2,0,1) == 0) goto tmp2_end;
_txt = tmp3_1;
tmpMeta[0] = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1573);
goto tmp2_done;
}
case 6: {
if (mmc__uniontype__metarecord__typedef__equal(tmp3_2,3,1) == 0) goto tmp2_end;
_txt = tmp3_1;
tmpMeta[0] = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1573);
goto tmp2_done;
}
case 4: {
if (mmc__uniontype__metarecord__typedef__equal(tmp3_2,1,1) == 0) goto tmp2_end;
_txt = tmp3_1;
tmpMeta[0] = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1579);
goto tmp2_done;
}
case 5: {
if (mmc__uniontype__metarecord__typedef__equal(tmp3_2,2,1) == 0) goto tmp2_end;
_txt = tmp3_1;
tmpMeta[0] = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1580);
goto tmp2_done;
}
case 13: {
if (mmc__uniontype__metarecord__typedef__equal(tmp3_2,10,4) == 0) goto tmp2_end;
tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_2), 4));
_i_complexType = tmpMeta[1];
_txt = tmp3_1;
_txt = omc_CodegenCFunctions_expTypeFlag(threadData, _txt, _i_complexType, ((modelica_integer) 8));
tmpMeta[0] = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT256);
goto tmp2_done;
}
default:
tmp2_default: OMC_LABEL_UNUSED; {
_txt = tmp3_1;
_i_ty = tmp3_2;
_txt_0 = omc_Tpl_writeTok(threadData, _OMC_LIT20, _OMC_LIT1582);
_ret_0 = omc_Types_unparseType(threadData, _i_ty);
_txt_0 = omc_Tpl_writeStr(threadData, _txt_0, _ret_0);
tmpMeta[0] = omc_CodegenUtil_error(threadData, _txt, omc_Tpl_sourceInfo(threadData, _OMC_LIT27, ((modelica_integer) 4092), ((modelica_integer) 16)), omc_Tpl_textString(threadData, _txt_0));
goto tmp2_done;
}
}
goto tmp2_end;
tmp2_end: ;
}
goto goto_1;
goto_1:;
MMC_THROW_INTERNAL();
goto tmp2_done;
tmp2_done:;
}
}
_out_txt = tmpMeta[0];
_return: OMC_LABEL_UNUSED
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__621(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_ty)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta[2] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp3_1;modelica_metatype tmp3_2;
tmp3_1 = _in_txt;
tmp3_2 = _in_a_ty;
{
modelica_metatype _txt = NULL;
modelica_metatype _i_ty = NULL;
volatile mmc_switch_type tmp3;
int tmp4;
tmp3 = 0;
for (; tmp3 < 2; tmp3++) {
switch (MMC_SWITCH_CAST(tmp3)) {
case 0: {
if (mmc__uniontype__metarecord__typedef__equal(tmp3_2,6,2) == 0) goto tmp2_end;
tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_2), 2));
_i_ty = tmpMeta[1];
_txt = tmp3_1;
_txt = omc_CodegenCFunctions_expTypeShort(threadData, _txt, _i_ty);
tmpMeta[0] = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1120);
goto tmp2_done;
}
case 1: {
_txt = tmp3_1;
_i_ty = tmp3_2;
tmpMeta[0] = omc_CodegenCFunctions_expTypeFlag(threadData, _txt, _i_ty, ((modelica_integer) 2));
goto tmp2_done;
}
}
goto tmp2_end;
tmp2_end: ;
}
goto goto_1;
goto_1:;
MMC_THROW_INTERNAL();
goto tmp2_done;
tmp2_done:;
}
}
_out_txt = tmpMeta[0];
_return: OMC_LABEL_UNUSED
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__620(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_ty)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta[2] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp3_1;modelica_metatype tmp3_2;
tmp3_1 = _in_txt;
tmp3_2 = _in_a_ty;
{
modelica_metatype _txt = NULL;
modelica_metatype _i_ty = NULL;
volatile mmc_switch_type tmp3;
int tmp4;
tmp3 = 0;
for (; tmp3 < 2; tmp3++) {
switch (MMC_SWITCH_CAST(tmp3)) {
case 0: {
if (mmc__uniontype__metarecord__typedef__equal(tmp3_2,9,3) == 0) goto tmp2_end;
tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_2), 2));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[1],17,1) == 0) goto tmp2_end;
_i_ty = tmp3_2;
_txt = tmp3_1;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1584);
tmpMeta[0] = omc_CodegenCFunctions_expTypeShort(threadData, _txt, _i_ty);
goto tmp2_done;
}
case 1: {
_txt = tmp3_1;
_i_ty = tmp3_2;
tmpMeta[0] = omc_CodegenCFunctions_fun__619(threadData, _txt, _i_ty);
goto tmp2_done;
}
}
goto tmp2_end;
tmp2_end: ;
}
goto goto_1;
goto_1:;
MMC_THROW_INTERNAL();
goto tmp2_done;
tmp2_done:;
}
}
_out_txt = tmpMeta[0];
_return: OMC_LABEL_UNUSED
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__619(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_ty)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta[2] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp3_1;modelica_metatype tmp3_2;
tmp3_1 = _in_txt;
tmp3_2 = _in_a_ty;
{
modelica_metatype _txt = NULL;
modelica_metatype _i_ty = NULL;
modelica_metatype _i_complexClassType = NULL;
modelica_metatype _ret_0 = NULL;
volatile mmc_switch_type tmp3;
int tmp4;
tmp3 = 0;
for (; tmp3 < 2; tmp3++) {
switch (MMC_SWITCH_CAST(tmp3)) {
case 0: {
if (mmc__uniontype__metarecord__typedef__equal(tmp3_2,9,3) == 0) goto tmp2_end;
tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_2), 2));
_i_complexClassType = tmpMeta[1];
_txt = tmp3_1;
_ret_0 = omc_ClassInf_getStateName(threadData, _i_complexClassType);
tmpMeta[0] = omc_CodegenUtil_underscorePath(threadData, _txt, _ret_0);
goto tmp2_done;
}
case 1: {
_txt = tmp3_1;
_i_ty = tmp3_2;
tmpMeta[0] = omc_CodegenCFunctions_fun__618(threadData, _txt, _i_ty);
goto tmp2_done;
}
}
goto tmp2_end;
tmp2_end: ;
}
goto goto_1;
goto_1:;
MMC_THROW_INTERNAL();
goto tmp2_done;
tmp2_done:;
}
}
_out_txt = tmpMeta[0];
_return: OMC_LABEL_UNUSED
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__618(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_ty)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta[2] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp3_1;modelica_metatype tmp3_2;
tmp3_1 = _in_txt;
tmp3_2 = _in_a_ty;
{
modelica_metatype _txt = NULL;
modelica_metatype _i_ty = NULL;
modelica_metatype _i_t = NULL;
volatile mmc_switch_type tmp3;
int tmp4;
tmp3 = 0;
for (; tmp3 < 2; tmp3++) {
switch (MMC_SWITCH_CAST(tmp3)) {
case 0: {
if (mmc__uniontype__metarecord__typedef__equal(tmp3_2,6,2) == 0) goto tmp2_end;
tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_2), 2));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[1],9,3) == 0) goto tmp2_end;
_i_t = tmpMeta[1];
_txt = tmp3_1;
tmpMeta[0] = omc_CodegenCFunctions_expTypeShort(threadData, _txt, _i_t);
goto tmp2_done;
}
case 1: {
_txt = tmp3_1;
_i_ty = tmp3_2;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1584);
tmpMeta[0] = omc_CodegenCFunctions_expTypeShort(threadData, _txt, _i_ty);
goto tmp2_done;
}
}
goto tmp2_end;
tmp2_end: ;
}
goto goto_1;
goto_1:;
MMC_THROW_INTERNAL();
goto tmp2_done;
tmp2_done:;
}
}
_out_txt = tmpMeta[0];
_return: OMC_LABEL_UNUSED
return _out_txt;
}
DLLExport
modelica_metatype omc_CodegenCFunctions_expTypeFromExpArrayIf(threadData_t *threadData, modelica_metatype _txt, modelica_metatype _a_exp)
{
modelica_metatype _out_txt = NULL;
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
_out_txt = omc_CodegenCFunctions_expTypeFromExpFlag(threadData, _txt, _a_exp, ((modelica_integer) 4));
_return: OMC_LABEL_UNUSED
return _out_txt;
}
DLLExport
modelica_metatype omc_CodegenCFunctions_expTypeFromExpArray(threadData_t *threadData, modelica_metatype _txt, modelica_metatype _a_exp)
{
modelica_metatype _out_txt = NULL;
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
_out_txt = omc_CodegenCFunctions_expTypeFromExpFlag(threadData, _txt, _a_exp, ((modelica_integer) 3));
_return: OMC_LABEL_UNUSED
return _out_txt;
}
DLLExport
modelica_metatype omc_CodegenCFunctions_expTypeFromExpModelica(threadData_t *threadData, modelica_metatype _txt, modelica_metatype _a_exp)
{
modelica_metatype _out_txt = NULL;
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
_out_txt = omc_CodegenCFunctions_expTypeFromExpFlag(threadData, _txt, _a_exp, ((modelica_integer) 2));
_return: OMC_LABEL_UNUSED
return _out_txt;
}
DLLExport
modelica_metatype omc_CodegenCFunctions_expTypeFromExpShort(threadData_t *threadData, modelica_metatype _txt, modelica_metatype _a_exp)
{
modelica_metatype _out_txt = NULL;
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
_out_txt = omc_CodegenCFunctions_expTypeFromExpFlag(threadData, _txt, _a_exp, ((modelica_integer) 1));
_return: OMC_LABEL_UNUSED
return _out_txt;
}
DLLExport
modelica_metatype omc_CodegenCFunctions_expTypeArrayIf(threadData_t *threadData, modelica_metatype _txt, modelica_metatype _a_ty)
{
modelica_metatype _out_txt = NULL;
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
_out_txt = omc_CodegenCFunctions_expTypeFlag(threadData, _txt, _a_ty, ((modelica_integer) 4));
_return: OMC_LABEL_UNUSED
return _out_txt;
}
DLLExport
modelica_metatype omc_CodegenCFunctions_expTypeArray(threadData_t *threadData, modelica_metatype _txt, modelica_metatype _a_ty)
{
modelica_metatype _out_txt = NULL;
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
_out_txt = omc_CodegenCFunctions_expTypeFlag(threadData, _txt, _a_ty, ((modelica_integer) 3));
_return: OMC_LABEL_UNUSED
return _out_txt;
}
DLLExport
modelica_metatype omc_CodegenCFunctions_expTypeModelica(threadData_t *threadData, modelica_metatype _txt, modelica_metatype _a_ty)
{
modelica_metatype _out_txt = NULL;
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
_out_txt = omc_CodegenCFunctions_expTypeFlag(threadData, _txt, _a_ty, ((modelica_integer) 2));
_return: OMC_LABEL_UNUSED
return _out_txt;
}
DLLExport
modelica_metatype omc_CodegenCFunctions_expType(threadData_t *threadData, modelica_metatype _txt, modelica_metatype _a_ty, modelica_boolean _a_array)
{
modelica_metatype _out_txt = NULL;
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
_out_txt = omc_CodegenCFunctions_fun__609(threadData, _txt, _a_array, _a_ty);
_return: OMC_LABEL_UNUSED
return _out_txt;
}
modelica_metatype boxptr_CodegenCFunctions_expType(threadData_t *threadData, modelica_metatype _txt, modelica_metatype _a_ty, modelica_metatype _a_array)
{
modelica_integer tmp1;
modelica_metatype _out_txt = NULL;
tmp1 = mmc_unbox_integer(_a_array);
_out_txt = omc_CodegenCFunctions_expType(threadData, _txt, _a_ty, tmp1);
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__609(threadData_t *threadData, modelica_metatype _in_txt, modelica_boolean _in_a_array, modelica_metatype _in_a_ty)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta[1] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp3_1;modelica_boolean tmp3_2;modelica_metatype tmp3_3;
tmp3_1 = _in_txt;
tmp3_2 = _in_a_array;
tmp3_3 = _in_a_ty;
{
modelica_metatype _txt = NULL;
modelica_metatype _a_ty = NULL;
volatile mmc_switch_type tmp3;
int tmp4;
tmp3 = 0;
for (; tmp3 < 3; tmp3++) {
switch (MMC_SWITCH_CAST(tmp3)) {
case 0: {
if (1 != tmp3_2) goto tmp2_end;
_txt = tmp3_1;
_a_ty = tmp3_3;
tmpMeta[0] = omc_CodegenCFunctions_expTypeArray(threadData, _txt, _a_ty);
goto tmp2_done;
}
case 1: {
if (0 != tmp3_2) goto tmp2_end;
_txt = tmp3_1;
_a_ty = tmp3_3;
tmpMeta[0] = omc_CodegenCFunctions_expTypeModelica(threadData, _txt, _a_ty);
goto tmp2_done;
}
case 2: {
_txt = tmp3_1;
tmpMeta[0] = _txt;
goto tmp2_done;
}
}
goto tmp2_end;
tmp2_end: ;
}
goto goto_1;
goto_1:;
MMC_THROW_INTERNAL();
goto tmp2_done;
tmp2_done:;
}
}
_out_txt = tmpMeta[0];
_return: OMC_LABEL_UNUSED
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__609(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_array, modelica_metatype _in_a_ty)
{
modelica_integer tmp1;
modelica_metatype _out_txt = NULL;
tmp1 = mmc_unbox_integer(_in_a_array);
_out_txt = omc_CodegenCFunctions_fun__609(threadData, _in_txt, tmp1, _in_a_ty);
return _out_txt;
}
DLLExport
modelica_metatype omc_CodegenCFunctions_mmcTypeShort(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_type)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta[1] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp3_1;modelica_metatype tmp3_2;
tmp3_1 = _in_txt;
tmp3_2 = _in_a_type;
{
modelica_metatype _txt = NULL;
modelica_metatype _i_type = NULL;
modelica_metatype _txt_0 = NULL;
modelica_string _ret_0 = NULL;
int tmp3;
{
switch (MMC_SWITCH_CAST(valueConstructor(tmp3_2))) {
case 3: {
if (mmc__uniontype__metarecord__typedef__equal(tmp3_2,0,1) == 0) goto tmp2_end;
_txt = tmp3_1;
tmpMeta[0] = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1148);
goto tmp2_done;
}
case 4: {
if (mmc__uniontype__metarecord__typedef__equal(tmp3_2,1,1) == 0) goto tmp2_end;
_txt = tmp3_1;
tmpMeta[0] = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1149);
goto tmp2_done;
}
case 5: {
if (mmc__uniontype__metarecord__typedef__equal(tmp3_2,2,1) == 0) goto tmp2_end;
_txt = tmp3_1;
tmpMeta[0] = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1575);
goto tmp2_done;
}
case 6: {
if (mmc__uniontype__metarecord__typedef__equal(tmp3_2,3,1) == 0) goto tmp2_end;
_txt = tmp3_1;
tmpMeta[0] = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1148);
goto tmp2_done;
}
case 8: {
if (mmc__uniontype__metarecord__typedef__equal(tmp3_2,5,5) == 0) goto tmp2_end;
_txt = tmp3_1;
tmpMeta[0] = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1148);
goto tmp2_done;
}
case 9: {
if (mmc__uniontype__metarecord__typedef__equal(tmp3_2,6,2) == 0) goto tmp2_end;
_txt = tmp3_1;
tmpMeta[0] = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1585);
goto tmp2_done;
}
case 23: {
if (mmc__uniontype__metarecord__typedef__equal(tmp3_2,20,5) == 0) goto tmp2_end;
_txt = tmp3_1;
tmpMeta[0] = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1572);
goto tmp2_done;
}
case 28: {
if (mmc__uniontype__metarecord__typedef__equal(tmp3_2,25,1) == 0) goto tmp2_end;
_txt = tmp3_1;
tmpMeta[0] = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1572);
goto tmp2_done;
}
case 20: {
if (mmc__uniontype__metarecord__typedef__equal(tmp3_2,17,1) == 0) goto tmp2_end;
_txt = tmp3_1;
tmpMeta[0] = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1572);
goto tmp2_done;
}
case 25: {
if (mmc__uniontype__metarecord__typedef__equal(tmp3_2,22,1) == 0) goto tmp2_end;
_txt = tmp3_1;
tmpMeta[0] = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1572);
goto tmp2_done;
}
case 27: {
if (mmc__uniontype__metarecord__typedef__equal(tmp3_2,24,1) == 0) goto tmp2_end;
_txt = tmp3_1;
tmpMeta[0] = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1572);
goto tmp2_done;
}
case 22: {
if (mmc__uniontype__metarecord__typedef__equal(tmp3_2,19,1) == 0) goto tmp2_end;
_txt = tmp3_1;
tmpMeta[0] = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1572);
goto tmp2_done;
}
case 21: {
if (mmc__uniontype__metarecord__typedef__equal(tmp3_2,18,1) == 0) goto tmp2_end;
_txt = tmp3_1;
tmpMeta[0] = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1572);
goto tmp2_done;
}
case 26: {
if (mmc__uniontype__metarecord__typedef__equal(tmp3_2,23,1) == 0) goto tmp2_end;
_txt = tmp3_1;
tmpMeta[0] = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1572);
goto tmp2_done;
}
case 15: {
if (mmc__uniontype__metarecord__typedef__equal(tmp3_2,12,1) == 0) goto tmp2_end;
_txt = tmp3_1;
tmpMeta[0] = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1587);
goto tmp2_done;
}
case 12: {
if (mmc__uniontype__metarecord__typedef__equal(tmp3_2,9,3) == 0) goto tmp2_end;
_txt = tmp3_1;
tmpMeta[0] = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1572);
goto tmp2_done;
}
default:
tmp2_default: OMC_LABEL_UNUSED; {
_txt = tmp3_1;
_i_type = tmp3_2;
_txt_0 = omc_Tpl_writeTok(threadData, _OMC_LIT20, _OMC_LIT1589);
_ret_0 = omc_Types_unparseType(threadData, _i_type);
_txt_0 = omc_Tpl_writeStr(threadData, _txt_0, _ret_0);
tmpMeta[0] = omc_CodegenUtil_error(threadData, _txt, omc_Tpl_sourceInfo(threadData, _OMC_LIT27, ((modelica_integer) 3999), ((modelica_integer) 14)), omc_Tpl_textString(threadData, _txt_0));
goto tmp2_done;
}
}
goto tmp2_end;
tmp2_end: ;
}
goto goto_1;
goto_1:;
MMC_THROW_INTERNAL();
goto tmp2_done;
tmp2_done:;
}
}
_out_txt = tmpMeta[0];
_return: OMC_LABEL_UNUSED
return _out_txt;
}
DLLExport
modelica_metatype omc_CodegenCFunctions_expTypeShort(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_type)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta[2] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp3_1;modelica_metatype tmp3_2;
tmp3_1 = _in_txt;
tmp3_2 = _in_a_type;
{
modelica_metatype _txt = NULL;
modelica_metatype _i_type = NULL;
modelica_metatype _i_complexClassType = NULL;
modelica_metatype _i_ty = NULL;
modelica_metatype _i_complexType = NULL;
modelica_metatype _txt_2 = NULL;
modelica_string _ret_2 = NULL;
modelica_boolean _ret_1;
modelica_metatype _ret_0 = NULL;
volatile mmc_switch_type tmp3;
int tmp4;
tmp3 = 0;
for (; tmp3 < 23; tmp3++) {
switch (MMC_SWITCH_CAST(tmp3)) {
case 0: {
if (mmc__uniontype__metarecord__typedef__equal(tmp3_2,0,1) == 0) goto tmp2_end;
_txt = tmp3_1;
tmpMeta[0] = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1148);
goto tmp2_done;
}
case 1: {
if (mmc__uniontype__metarecord__typedef__equal(tmp3_2,1,1) == 0) goto tmp2_end;
_txt = tmp3_1;
tmpMeta[0] = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1149);
goto tmp2_done;
}
case 2: {
if (mmc__uniontype__metarecord__typedef__equal(tmp3_2,2,1) == 0) goto tmp2_end;
_txt = tmp3_1;
tmpMeta[0] = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1575);
goto tmp2_done;
}
case 3: {
if (mmc__uniontype__metarecord__typedef__equal(tmp3_2,3,1) == 0) goto tmp2_end;
_txt = tmp3_1;
tmpMeta[0] = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1566);
goto tmp2_done;
}
case 4: {
if (mmc__uniontype__metarecord__typedef__equal(tmp3_2,5,5) == 0) goto tmp2_end;
_txt = tmp3_1;
tmpMeta[0] = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1148);
goto tmp2_done;
}
case 5: {
if (mmc__uniontype__metarecord__typedef__equal(tmp3_2,10,4) == 0) goto tmp2_end;
tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_2), 4));
_i_complexType = tmpMeta[1];
_txt = tmp3_1;
_in_txt = _txt;
_in_a_type = _i_complexType;
goto _tailrecursive;
goto tmp2_done;
}
case 6: {
if (mmc__uniontype__metarecord__typedef__equal(tmp3_2,6,2) == 0) goto tmp2_end;
tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_2), 2));
_i_ty = tmpMeta[1];
_txt = tmp3_1;
_in_txt = _txt;
_in_a_type = _i_ty;
goto _tailrecursive;
goto tmp2_done;
}
case 7: {
if (mmc__uniontype__metarecord__typedef__equal(tmp3_2,9,3) == 0) goto tmp2_end;
tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_2), 2));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[1],17,1) == 0) goto tmp2_end;
_txt = tmp3_1;
tmpMeta[0] = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1415);
goto tmp2_done;
}
case 8: {
if (mmc__uniontype__metarecord__typedef__equal(tmp3_2,9,3) == 0) goto tmp2_end;
tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_2), 2));
_i_complexClassType = tmpMeta[1];
_txt = tmp3_1;
_ret_0 = omc_ClassInf_getStateName(threadData, _i_complexClassType);
tmpMeta[0] = omc_CodegenUtil_underscorePath(threadData, _txt, _ret_0);
goto tmp2_done;
}
case 9: {
if (mmc__uniontype__metarecord__typedef__equal(tmp3_2,20,5) == 0) goto tmp2_end;
_txt = tmp3_1;
tmpMeta[0] = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1572);
goto tmp2_done;
}
case 10: {
if (mmc__uniontype__metarecord__typedef__equal(tmp3_2,22,1) == 0) goto tmp2_end;
_txt = tmp3_1;
tmpMeta[0] = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1572);
goto tmp2_done;
}
case 11: {
if (mmc__uniontype__metarecord__typedef__equal(tmp3_2,17,1) == 0) goto tmp2_end;
_txt = tmp3_1;
tmpMeta[0] = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1572);
goto tmp2_done;
}
case 12: {
if (mmc__uniontype__metarecord__typedef__equal(tmp3_2,18,1) == 0) goto tmp2_end;
_txt = tmp3_1;
tmpMeta[0] = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1572);
goto tmp2_done;
}
case 13: {
if (mmc__uniontype__metarecord__typedef__equal(tmp3_2,19,1) == 0) goto tmp2_end;
_txt = tmp3_1;
tmpMeta[0] = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1572);
goto tmp2_done;
}
case 14: {
if (mmc__uniontype__metarecord__typedef__equal(tmp3_2,24,1) == 0) goto tmp2_end;
_txt = tmp3_1;
tmpMeta[0] = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1572);
goto tmp2_done;
}
case 15: {
if (mmc__uniontype__metarecord__typedef__equal(tmp3_2,25,1) == 0) goto tmp2_end;
_txt = tmp3_1;
tmpMeta[0] = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1572);
goto tmp2_done;
}
case 16: {
if (mmc__uniontype__metarecord__typedef__equal(tmp3_2,23,1) == 0) goto tmp2_end;
_txt = tmp3_1;
tmpMeta[0] = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1572);
goto tmp2_done;
}
case 17: {
if (mmc__uniontype__metarecord__typedef__equal(tmp3_2,11,4) == 0) goto tmp2_end;
_txt = tmp3_1;
tmpMeta[0] = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1587);
goto tmp2_done;
}
case 18: {
if (mmc__uniontype__metarecord__typedef__equal(tmp3_2,13,2) == 0) goto tmp2_end;
_txt = tmp3_1;
tmpMeta[0] = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1587);
goto tmp2_done;
}
case 19: {
if (mmc__uniontype__metarecord__typedef__equal(tmp3_2,12,1) == 0) goto tmp2_end;
_txt = tmp3_1;
tmpMeta[0] = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1587);
goto tmp2_done;
}
case 20: {
if (mmc__uniontype__metarecord__typedef__equal(tmp3_2,8,0) == 0) goto tmp2_end;
_txt = tmp3_1;
_ret_1 = omc_Config_acceptMetaModelicaGrammar(threadData);
tmpMeta[0] = omc_CodegenCFunctions_fun__606(threadData, _txt, _ret_1);
goto tmp2_done;
}
case 21: {
if (mmc__uniontype__metarecord__typedef__equal(tmp3_2,16,1) == 0) goto tmp2_end;
_txt = tmp3_1;
tmpMeta[0] = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1415);
goto tmp2_done;
}
case 22: {
_txt = tmp3_1;
_i_type = tmp3_2;
_txt_2 = omc_Tpl_writeTok(threadData, _OMC_LIT20, _OMC_LIT1591);
_ret_2 = omc_Types_unparseType(threadData, _i_type);
_txt_2 = omc_Tpl_writeStr(threadData, _txt_2, _ret_2);
tmpMeta[0] = omc_CodegenUtil_error(threadData, _txt, omc_Tpl_sourceInfo(threadData, _OMC_LIT27, ((modelica_integer) 3976), ((modelica_integer) 14)), omc_Tpl_textString(threadData, _txt_2));
goto tmp2_done;
}
}
goto tmp2_end;
tmp2_end: ;
}
goto goto_1;
goto_1:;
MMC_THROW_INTERNAL();
goto tmp2_done;
tmp2_done:;
}
}
_out_txt = tmpMeta[0];
_return: OMC_LABEL_UNUSED
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__606(threadData_t *threadData, modelica_metatype _in_txt, modelica_boolean _in_mArg)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta[1] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp3_1;modelica_boolean tmp3_2;
tmp3_1 = _in_txt;
tmp3_2 = _in_mArg;
{
modelica_metatype _txt = NULL;
volatile mmc_switch_type tmp3;
int tmp4;
tmp3 = 0;
for (; tmp3 < 2; tmp3++) {
switch (MMC_SWITCH_CAST(tmp3)) {
case 0: {
if (0 != tmp3_2) goto tmp2_end;
_txt = tmp3_1;
tmpMeta[0] = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1593);
goto tmp2_done;
}
case 1: {
_txt = tmp3_1;
tmpMeta[0] = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1595);
goto tmp2_done;
}
}
goto tmp2_end;
tmp2_end: ;
}
goto goto_1;
goto_1:;
MMC_THROW_INTERNAL();
goto tmp2_done;
tmp2_done:;
}
}
_out_txt = tmpMeta[0];
_return: OMC_LABEL_UNUSED
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__606(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_mArg)
{
modelica_integer tmp1;
modelica_metatype _out_txt = NULL;
tmp1 = mmc_unbox_integer(_in_mArg);
_out_txt = omc_CodegenCFunctions_fun__606(threadData, _in_txt, tmp1);
return _out_txt;
}
DLLExport
modelica_metatype omc_CodegenCFunctions_expTypeRW(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_type)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta[2] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp3_1;modelica_metatype tmp3_2;
tmp3_1 = _in_txt;
tmp3_2 = _in_a_type;
{
modelica_metatype _txt = NULL;
modelica_metatype _i_ty = NULL;
volatile mmc_switch_type tmp3;
int tmp4;
tmp3 = 0;
for (; tmp3 < 10; tmp3++) {
switch (MMC_SWITCH_CAST(tmp3)) {
case 0: {
if (mmc__uniontype__metarecord__typedef__equal(tmp3_2,0,1) == 0) goto tmp2_end;
_txt = tmp3_1;
tmpMeta[0] = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1597);
goto tmp2_done;
}
case 1: {
if (mmc__uniontype__metarecord__typedef__equal(tmp3_2,1,1) == 0) goto tmp2_end;
_txt = tmp3_1;
tmpMeta[0] = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1599);
goto tmp2_done;
}
case 2: {
if (mmc__uniontype__metarecord__typedef__equal(tmp3_2,2,1) == 0) goto tmp2_end;
_txt = tmp3_1;
tmpMeta[0] = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1601);
goto tmp2_done;
}
case 3: {
if (mmc__uniontype__metarecord__typedef__equal(tmp3_2,3,1) == 0) goto tmp2_end;
_txt = tmp3_1;
tmpMeta[0] = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1603);
goto tmp2_done;
}
case 4: {
if (mmc__uniontype__metarecord__typedef__equal(tmp3_2,5,5) == 0) goto tmp2_end;
_txt = tmp3_1;
tmpMeta[0] = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1597);
goto tmp2_done;
}
case 5: {
if (mmc__uniontype__metarecord__typedef__equal(tmp3_2,6,2) == 0) goto tmp2_end;
tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_2), 2));
_i_ty = tmpMeta[1];
_txt = tmp3_1;
_txt = omc_CodegenCFunctions_expTypeRW(threadData, _txt, _i_ty);
tmpMeta[0] = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1605);
goto tmp2_done;
}
case 6: {
if (mmc__uniontype__metarecord__typedef__equal(tmp3_2,9,3) == 0) goto tmp2_end;
tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_2), 2));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[1],3,1) == 0) goto tmp2_end;
_txt = tmp3_1;
tmpMeta[0] = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1607);
goto tmp2_done;
}
case 7: {
if (mmc__uniontype__metarecord__typedef__equal(tmp3_2,25,1) == 0) goto tmp2_end;
_txt = tmp3_1;
tmpMeta[0] = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1609);
goto tmp2_done;
}
case 8: {
if (mmc__uniontype__metarecord__typedef__equal(tmp3_2,23,1) == 0) goto tmp2_end;
_txt = tmp3_1;
tmpMeta[0] = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1609);
goto tmp2_done;
}
case 9: {
_txt = tmp3_1;
tmpMeta[0] = _txt;
goto tmp2_done;
}
}
goto tmp2_end;
tmp2_end: ;
}
goto goto_1;
goto_1:;
MMC_THROW_INTERNAL();
goto tmp2_done;
tmp2_done:;
}
}
_out_txt = tmpMeta[0];
_return: OMC_LABEL_UNUSED
return _out_txt;
}
DLLExport
modelica_metatype omc_CodegenCFunctions_crefToOMSICStr(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_cref, modelica_metatype _in_a_hashTable)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta[3] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp3_1;modelica_metatype tmp3_2;modelica_metatype tmp3_3;
tmp3_1 = _in_txt;
tmp3_2 = _in_a_cref;
tmp3_3 = _in_a_hashTable;
{
modelica_metatype _txt = NULL;
modelica_metatype _a_hashTable = NULL;
modelica_metatype _i_cref = NULL;
modelica_metatype _i_componentRef = NULL;
modelica_metatype _ret_1 = NULL;
modelica_metatype _ret_0 = NULL;
volatile mmc_switch_type tmp3;
int tmp4;
tmp3 = 0;
for (; tmp3 < 3; tmp3++) {
switch (MMC_SWITCH_CAST(tmp3)) {
case 0: {
if (mmc__uniontype__metarecord__typedef__equal(tmp3_2,0,4) == 0) goto tmp2_end;
tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_2), 2));
if (6 != MMC_STRLEN(tmpMeta[1]) || strcmp(MMC_STRINGDATA(_OMC_LIT1424), MMC_STRINGDATA(tmpMeta[1])) != 0) goto tmp2_end;
tmpMeta[2] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_2), 5));
_i_componentRef = tmpMeta[2];
_txt = tmp3_1;
_a_hashTable = tmp3_3;
_in_txt = _txt;
_in_a_cref = _i_componentRef;
_in_a_hashTable = _a_hashTable;
goto _tailrecursive;
goto tmp2_done;
}
case 1: {
if (mmc__uniontype__metarecord__typedef__equal(tmp3_2,0,4) == 0) goto tmp2_end;
tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_2), 2));
if (4 != MMC_STRLEN(tmpMeta[1]) || strcmp(MMC_STRINGDATA(_OMC_LIT1423), MMC_STRINGDATA(tmpMeta[1])) != 0) goto tmp2_end;
tmpMeta[2] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_2), 5));
_i_componentRef = tmpMeta[2];
_txt = tmp3_1;
_a_hashTable = tmp3_3;
_ret_0 = omc_SimCodeUtil_localCref2SimVar(threadData, _i_componentRef, _a_hashTable);
tmpMeta[0] = omc_CodegenCFunctions_fun__601(threadData, _txt, _ret_0, _i_componentRef);
goto tmp2_done;
}
case 2: {
_txt = tmp3_1;
_i_cref = tmp3_2;
_a_hashTable = tmp3_3;
_ret_1 = omc_SimCodeUtil_localCref2SimVar(threadData, _i_cref, _a_hashTable);
tmpMeta[0] = omc_CodegenCFunctions_fun__603(threadData, _txt, _ret_1, _i_cref);
goto tmp2_done;
}
}
goto tmp2_end;
tmp2_end: ;
}
goto goto_1;
goto_1:;
MMC_THROW_INTERNAL();
goto tmp2_done;
tmp2_done:;
}
}
_out_txt = tmpMeta[0];
_return: OMC_LABEL_UNUSED
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__603(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_mArg, modelica_metatype _in_a_cref)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta[4] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp3_1;modelica_metatype tmp3_2;modelica_metatype tmp3_3;
tmp3_1 = _in_txt;
tmp3_2 = _in_mArg;
tmp3_3 = _in_a_cref;
{
modelica_metatype _txt = NULL;
modelica_metatype _a_cref = NULL;
modelica_metatype _i_v = NULL;
modelica_integer _i_v_index;
modelica_metatype _i_name = NULL;
modelica_metatype _i_v_varKind = NULL;
modelica_metatype _i_v_name = NULL;
modelica_string _ret_9 = NULL;
modelica_integer _ret_8;
modelica_metatype _l_index = NULL;
modelica_metatype _txt_6 = NULL;
modelica_metatype _txt_5 = NULL;
modelica_metatype _txt_4 = NULL;
modelica_metatype _txt_3 = NULL;
modelica_metatype _l_c__comment = NULL;
modelica_metatype _ret_1 = NULL;
modelica_integer _ret_0;
volatile mmc_switch_type tmp3;
int tmp4;
tmp3 = 0;
for (; tmp3 < 6; tmp3++) {
switch (MMC_SWITCH_CAST(tmp3)) {
case 0: {
modelica_integer tmp5;
tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_2), 7));
tmp5 = mmc_unbox_integer(tmpMeta[1]);
if (-2 != tmp5) goto tmp2_end;
_txt = tmp3_1;
_a_cref = tmp3_3;
_ret_0 = omc_SimCodeUtil_getSimCode(threadData);
_ret_1 = omc_SimCodeUtil_cref2simvar(threadData, _a_cref, mmc_mk_integer(_ret_0));
tmpMeta[0] = omc_CodegenCFunctions_fun__602(threadData, _txt, _ret_1);
goto tmp2_done;
}
case 1: {
modelica_integer tmp6;
tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_2), 2));
tmpMeta[2] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_2), 3));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[2],10,0) == 0) goto tmp2_end;
tmpMeta[3] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_2), 7));
tmp6 = mmc_unbox_integer(tmpMeta[3]);
_i_name = tmpMeta[1];
_i_v_name = tmpMeta[1];
_i_v_varKind = tmpMeta[2];
_i_v_index = tmp6;
_txt = tmp3_1;
_l_c__comment = omc_Tpl_writeTok(threadData, _OMC_LIT20, _OMC_LIT1611);
_txt_3 = omc_CodegenUtil_crefStrNoUnderscore(threadData, _OMC_LIT20, _i_v_name);
_l_c__comment = omc_CodegenUtil_escapeCComments(threadData, _l_c__comment, omc_Tpl_textString(threadData, _txt_3));
_l_c__comment = omc_Tpl_writeTok(threadData, _l_c__comment, _OMC_LIT29);
_l_c__comment = omc_CodegenUtil_variabilityString(threadData, _l_c__comment, _i_v_varKind);
_l_c__comment = omc_Tpl_writeTok(threadData, _l_c__comment, _OMC_LIT22);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1613);
_txt = omc_CodegenCFunctions_crefTypeOMSIC(threadData, _txt, _i_name);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT62);
_txt = omc_Tpl_writeStr(threadData, _txt, intString(_i_v_index));
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1615);
tmpMeta[0] = omc_Tpl_writeText(threadData, _txt, _l_c__comment);
goto tmp2_done;
}
case 2: {
modelica_integer tmp7;
tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_2), 2));
tmpMeta[2] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_2), 3));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[2],11,0) == 0) goto tmp2_end;
tmpMeta[3] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_2), 7));
tmp7 = mmc_unbox_integer(tmpMeta[3]);
_i_name = tmpMeta[1];
_i_v_name = tmpMeta[1];
_i_v_varKind = tmpMeta[2];
_i_v_index = tmp7;
_txt = tmp3_1;
_l_c__comment = omc_Tpl_writeTok(threadData, _OMC_LIT20, _OMC_LIT1611);
_txt_4 = omc_CodegenUtil_crefStrNoUnderscore(threadData, _OMC_LIT20, _i_v_name);
_l_c__comment = omc_CodegenUtil_escapeCComments(threadData, _l_c__comment, omc_Tpl_textString(threadData, _txt_4));
_l_c__comment = omc_Tpl_writeTok(threadData, _l_c__comment, _OMC_LIT29);
_l_c__comment = omc_CodegenUtil_variabilityString(threadData, _l_c__comment, _i_v_varKind);
_l_c__comment = omc_Tpl_writeTok(threadData, _l_c__comment, _OMC_LIT22);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1613);
_txt = omc_CodegenCFunctions_crefTypeOMSIC(threadData, _txt, _i_name);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT62);
_txt = omc_Tpl_writeStr(threadData, _txt, intString(_i_v_index));
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1615);
tmpMeta[0] = omc_Tpl_writeText(threadData, _txt, _l_c__comment);
goto tmp2_done;
}
case 3: {
modelica_integer tmp8;
tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_2), 2));
tmpMeta[2] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_2), 3));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[2],12,0) == 0) goto tmp2_end;
tmpMeta[3] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_2), 7));
tmp8 = mmc_unbox_integer(tmpMeta[3]);
_i_name = tmpMeta[1];
_i_v_name = tmpMeta[1];
_i_v_varKind = tmpMeta[2];
_i_v_index = tmp8;
_txt = tmp3_1;
_l_c__comment = omc_Tpl_writeTok(threadData, _OMC_LIT20, _OMC_LIT1611);
_txt_5 = omc_CodegenUtil_crefStrNoUnderscore(threadData, _OMC_LIT20, _i_v_name);
_l_c__comment = omc_CodegenUtil_escapeCComments(threadData, _l_c__comment, omc_Tpl_textString(threadData, _txt_5));
_l_c__comment = omc_Tpl_writeTok(threadData, _l_c__comment, _OMC_LIT29);
_l_c__comment = omc_CodegenUtil_variabilityString(threadData, _l_c__comment, _i_v_varKind);
_l_c__comment = omc_Tpl_writeTok(threadData, _l_c__comment, _OMC_LIT22);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1613);
_txt = omc_CodegenCFunctions_crefTypeOMSIC(threadData, _txt, _i_name);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT62);
_txt = omc_Tpl_writeStr(threadData, _txt, intString(_i_v_index));
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1615);
tmpMeta[0] = omc_Tpl_writeText(threadData, _txt, _l_c__comment);
goto tmp2_done;
}
case 4: {
tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_2), 2));
tmpMeta[2] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_2), 3));
_txt = tmp3_1;
_i_v = tmp3_2;
_i_name = tmpMeta[1];
_i_v_name = tmpMeta[1];
_i_v_varKind = tmpMeta[2];
_l_c__comment = omc_Tpl_writeTok(threadData, _OMC_LIT20, _OMC_LIT1611);
_txt_6 = omc_CodegenUtil_crefStrNoUnderscore(threadData, _OMC_LIT20, _i_v_name);
_l_c__comment = omc_CodegenUtil_escapeCComments(threadData, _l_c__comment, omc_Tpl_textString(threadData, _txt_6));
_l_c__comment = omc_Tpl_writeTok(threadData, _l_c__comment, _OMC_LIT29);
_l_c__comment = omc_CodegenUtil_variabilityString(threadData, _l_c__comment, _i_v_varKind);
_l_c__comment = omc_Tpl_writeTok(threadData, _l_c__comment, _OMC_LIT22);
_ret_8 = omc_SimCodeUtil_getSimCode(threadData);
_ret_9 = omc_SimCodeUtil_getValueReference(threadData, _i_v, _ret_8, 0);
_l_index = omc_Tpl_writeStr(threadData, _OMC_LIT20, _ret_9);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT60);
_txt = omc_CodegenCFunctions_crefTypeOMSIC(threadData, _txt, _i_name);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT62);
_txt = omc_Tpl_writeText(threadData, _txt, _l_index);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1615);
tmpMeta[0] = omc_Tpl_writeText(threadData, _txt, _l_c__comment);
goto tmp2_done;
}
case 5: {
_txt = tmp3_1;
tmpMeta[0] = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1419);
goto tmp2_done;
}
}
goto tmp2_end;
tmp2_end: ;
}
goto goto_1;
goto_1:;
MMC_THROW_INTERNAL();
goto tmp2_done;
tmp2_done:;
}
}
_out_txt = tmpMeta[0];
_return: OMC_LABEL_UNUSED
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__602(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_mArg)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta[3] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp3_1;modelica_metatype tmp3_2;
tmp3_1 = _in_txt;
tmp3_2 = _in_mArg;
{
modelica_metatype _txt = NULL;
modelica_metatype _i_name = NULL;
modelica_metatype _i_varKind = NULL;
modelica_metatype _i_v_name = NULL;
modelica_metatype _i_v = NULL;
modelica_metatype _txt_4 = NULL;
modelica_metatype _l_c__comment = NULL;
modelica_string _ret_2 = NULL;
modelica_integer _ret_1;
modelica_metatype _l_index = NULL;
volatile mmc_switch_type tmp3;
int tmp4;
tmp3 = 0;
for (; tmp3 < 2; tmp3++) {
switch (MMC_SWITCH_CAST(tmp3)) {
case 0: {
tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_2), 2));
tmpMeta[2] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_2), 3));
_txt = tmp3_1;
_i_v = tmp3_2;
_i_name = tmpMeta[1];
_i_v_name = tmpMeta[1];
_i_varKind = tmpMeta[2];
_ret_1 = omc_SimCodeUtil_getSimCode(threadData);
_ret_2 = omc_SimCodeUtil_getValueReference(threadData, _i_v, _ret_1, 0);
_l_index = omc_Tpl_writeStr(threadData, _OMC_LIT20, _ret_2);
_l_c__comment = omc_Tpl_writeTok(threadData, _OMC_LIT20, _OMC_LIT1611);
_txt_4 = omc_CodegenUtil_crefStrNoUnderscore(threadData, _OMC_LIT20, _i_v_name);
_l_c__comment = omc_CodegenUtil_escapeCComments(threadData, _l_c__comment, omc_Tpl_textString(threadData, _txt_4));
_l_c__comment = omc_Tpl_writeTok(threadData, _l_c__comment, _OMC_LIT29);
_l_c__comment = omc_CodegenUtil_variabilityString(threadData, _l_c__comment, _i_varKind);
_l_c__comment = omc_Tpl_writeTok(threadData, _l_c__comment, _OMC_LIT22);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1617);
_txt = omc_CodegenCFunctions_crefTypeOMSIC(threadData, _txt, _i_name);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT62);
_txt = omc_Tpl_writeText(threadData, _txt, _l_index);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1615);
tmpMeta[0] = omc_Tpl_writeText(threadData, _txt, _l_c__comment);
goto tmp2_done;
}
case 1: {
_txt = tmp3_1;
tmpMeta[0] = _txt;
goto tmp2_done;
}
}
goto tmp2_end;
tmp2_end: ;
}
goto goto_1;
goto_1:;
MMC_THROW_INTERNAL();
goto tmp2_done;
tmp2_done:;
}
}
_out_txt = tmpMeta[0];
_return: OMC_LABEL_UNUSED
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__601(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_mArg, modelica_metatype _in_a_componentRef)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta[3] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp3_1;modelica_metatype tmp3_2;modelica_metatype tmp3_3;
tmp3_1 = _in_txt;
tmp3_2 = _in_mArg;
tmp3_3 = _in_a_componentRef;
{
modelica_metatype _txt = NULL;
modelica_metatype _a_componentRef = NULL;
modelica_metatype _i_name = NULL;
modelica_metatype _i_v = NULL;
modelica_metatype _i_v_varKind = NULL;
modelica_metatype _i_v_name = NULL;
modelica_string _ret_6 = NULL;
modelica_integer _ret_5;
modelica_metatype _l_index = NULL;
modelica_metatype _txt_3 = NULL;
modelica_metatype _l_c__comment = NULL;
modelica_metatype _ret_1 = NULL;
modelica_integer _ret_0;
volatile mmc_switch_type tmp3;
int tmp4;
tmp3 = 0;
for (; tmp3 < 3; tmp3++) {
switch (MMC_SWITCH_CAST(tmp3)) {
case 0: {
modelica_integer tmp5;
tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_2), 7));
tmp5 = mmc_unbox_integer(tmpMeta[1]);
if (-2 != tmp5) goto tmp2_end;
_txt = tmp3_1;
_a_componentRef = tmp3_3;
_ret_0 = omc_SimCodeUtil_getSimCode(threadData);
_ret_1 = omc_SimCodeUtil_cref2simvar(threadData, _a_componentRef, mmc_mk_integer(_ret_0));
tmpMeta[0] = omc_CodegenCFunctions_fun__600(threadData, _txt, _ret_1);
goto tmp2_done;
}
case 1: {
tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_2), 2));
tmpMeta[2] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_2), 3));
_txt = tmp3_1;
_i_v = tmp3_2;
_i_name = tmpMeta[1];
_i_v_name = tmpMeta[1];
_i_v_varKind = tmpMeta[2];
_l_c__comment = omc_Tpl_writeTok(threadData, _OMC_LIT20, _OMC_LIT1611);
_txt_3 = omc_CodegenUtil_crefStrNoUnderscore(threadData, _OMC_LIT20, _i_v_name);
_l_c__comment = omc_CodegenUtil_escapeCComments(threadData, _l_c__comment, omc_Tpl_textString(threadData, _txt_3));
_l_c__comment = omc_Tpl_writeTok(threadData, _l_c__comment, _OMC_LIT29);
_l_c__comment = omc_CodegenUtil_variabilityString(threadData, _l_c__comment, _i_v_varKind);
_l_c__comment = omc_Tpl_writeTok(threadData, _l_c__comment, _OMC_LIT22);
_ret_5 = omc_SimCodeUtil_getSimCode(threadData);
_ret_6 = omc_SimCodeUtil_getValueReference(threadData, _i_v, _ret_5, 0);
_l_index = omc_Tpl_writeStr(threadData, _OMC_LIT20, _ret_6);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT64);
_txt = omc_CodegenCFunctions_crefTypeOMSIC(threadData, _txt, _i_name);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT62);
_txt = omc_Tpl_writeText(threadData, _txt, _l_index);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1615);
tmpMeta[0] = omc_Tpl_writeText(threadData, _txt, _l_c__comment);
goto tmp2_done;
}
case 2: {
_txt = tmp3_1;
tmpMeta[0] = _txt;
goto tmp2_done;
}
}
goto tmp2_end;
tmp2_end: ;
}
goto goto_1;
goto_1:;
MMC_THROW_INTERNAL();
goto tmp2_done;
tmp2_done:;
}
}
_out_txt = tmpMeta[0];
_return: OMC_LABEL_UNUSED
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__600(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_mArg)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta[3] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp3_1;modelica_metatype tmp3_2;
tmp3_1 = _in_txt;
tmp3_2 = _in_mArg;
{
modelica_metatype _txt = NULL;
modelica_metatype _i_name = NULL;
modelica_metatype _i_v = NULL;
modelica_metatype _i_v_varKind = NULL;
modelica_metatype _i_v_name = NULL;
modelica_metatype _txt_5 = NULL;
modelica_string _ret_4 = NULL;
modelica_integer _ret_3;
modelica_metatype _l_index = NULL;
modelica_metatype _txt_1 = NULL;
modelica_metatype _l_c__comment = NULL;
volatile mmc_switch_type tmp3;
int tmp4;
tmp3 = 0;
for (; tmp3 < 2; tmp3++) {
switch (MMC_SWITCH_CAST(tmp3)) {
case 0: {
tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_2), 2));
tmpMeta[2] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_2), 3));
_txt = tmp3_1;
_i_v = tmp3_2;
_i_name = tmpMeta[1];
_i_v_name = tmpMeta[1];
_i_v_varKind = tmpMeta[2];
_l_c__comment = omc_Tpl_writeTok(threadData, _OMC_LIT20, _OMC_LIT1611);
_txt_1 = omc_CodegenUtil_crefStrNoUnderscore(threadData, _OMC_LIT20, _i_v_name);
_l_c__comment = omc_CodegenUtil_escapeCComments(threadData, _l_c__comment, omc_Tpl_textString(threadData, _txt_1));
_l_c__comment = omc_Tpl_writeTok(threadData, _l_c__comment, _OMC_LIT29);
_l_c__comment = omc_CodegenUtil_variabilityString(threadData, _l_c__comment, _i_v_varKind);
_l_c__comment = omc_Tpl_writeTok(threadData, _l_c__comment, _OMC_LIT22);
_ret_3 = omc_SimCodeUtil_getSimCode(threadData);
_ret_4 = omc_SimCodeUtil_getValueReference(threadData, _i_v, _ret_3, 0);
_l_index = omc_Tpl_writeStr(threadData, _OMC_LIT20, _ret_4);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT64);
_txt = omc_CodegenCFunctions_crefTypeOMSIC(threadData, _txt, _i_name);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT62);
_txt = omc_Tpl_writeText(threadData, _txt, _l_index);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1615);
_txt = omc_Tpl_writeText(threadData, _txt, _l_c__comment);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1619);
_txt_5 = omc_CodegenUtil_crefStrNoUnderscore(threadData, _OMC_LIT20, _i_v_name);
_txt = omc_CodegenUtil_escapeCComments(threadData, _txt, omc_Tpl_textString(threadData, _txt_5));
tmpMeta[0] = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1621);
goto tmp2_done;
}
case 1: {
_txt = tmp3_1;
tmpMeta[0] = _txt;
goto tmp2_done;
}
}
goto tmp2_end;
tmp2_end: ;
}
goto goto_1;
goto_1:;
MMC_THROW_INTERNAL();
goto tmp2_done;
tmp2_done:;
}
}
_out_txt = tmpMeta[0];
_return: OMC_LABEL_UNUSED
return _out_txt;
}
DLLExport
modelica_metatype omc_CodegenCFunctions_crefOMSI(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_cref, modelica_metatype _in_a_context)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta[2] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp3_1;modelica_metatype tmp3_2;modelica_metatype tmp3_3;
tmp3_1 = _in_txt;
tmp3_2 = _in_a_cref;
tmp3_3 = _in_a_context;
{
modelica_metatype _txt = NULL;
modelica_metatype _a_context = NULL;
modelica_metatype _i_cref = NULL;
volatile mmc_switch_type tmp3;
int tmp4;
tmp3 = 0;
for (; tmp3 < 2; tmp3++) {
switch (MMC_SWITCH_CAST(tmp3)) {
case 0: {
if (mmc__uniontype__metarecord__typedef__equal(tmp3_2,1,3) == 0) goto tmp2_end;
tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_2), 2));
if (4 != MMC_STRLEN(tmpMeta[1]) || strcmp(MMC_STRINGDATA(_OMC_LIT1422), MMC_STRINGDATA(tmpMeta[1])) != 0) goto tmp2_end;
_txt = tmp3_1;
tmpMeta[0] = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1623);
goto tmp2_done;
}
case 1: {
_txt = tmp3_1;
_i_cref = tmp3_2;
_a_context = tmp3_3;
tmpMeta[0] = omc_CodegenCFunctions_fun__598(threadData, _txt, _a_context, _i_cref);
goto tmp2_done;
}
}
goto tmp2_end;
tmp2_end: ;
}
goto goto_1;
goto_1:;
MMC_THROW_INTERNAL();
goto tmp2_done;
tmp2_done:;
}
}
_out_txt = tmpMeta[0];
_return: OMC_LABEL_UNUSED
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__598(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_context, modelica_metatype _in_a_cref)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta[3] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp3_1;modelica_metatype tmp3_2;modelica_metatype tmp3_3;
tmp3_1 = _in_txt;
tmp3_2 = _in_a_context;
tmp3_3 = _in_a_cref;
{
modelica_metatype _txt = NULL;
modelica_metatype _a_cref = NULL;
modelica_metatype _i_hashTable = NULL;
volatile mmc_switch_type tmp3;
int tmp4;
tmp3 = 0;
for (; tmp3 < 3; tmp3++) {
switch (MMC_SWITCH_CAST(tmp3)) {
case 0: {
if (mmc__uniontype__metarecord__typedef__equal(tmp3_2,9,1) == 0) goto tmp2_end;
tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_2), 2));
if (optionNone(tmpMeta[1])) goto tmp2_end;
tmpMeta[2] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[1]), 1));
_i_hashTable = tmpMeta[2];
_txt = tmp3_1;
_a_cref = tmp3_3;
tmpMeta[0] = omc_CodegenCFunctions_crefToOMSICStr(threadData, _txt, _a_cref, _i_hashTable);
goto tmp2_done;
}
case 1: {
if (mmc__uniontype__metarecord__typedef__equal(tmp3_2,3,1) == 0) goto tmp2_end;
tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_2), 2));
if (optionNone(tmpMeta[1])) goto tmp2_end;
tmpMeta[2] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[1]), 1));
_i_hashTable = tmpMeta[2];
_txt = tmp3_1;
_a_cref = tmp3_3;
tmpMeta[0] = omc_CodegenCFunctions_crefToOMSICStr(threadData, _txt, _a_cref, _i_hashTable);
goto tmp2_done;
}
case 2: {
_txt = tmp3_1;
tmpMeta[0] = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1625);
goto tmp2_done;
}
}
goto tmp2_end;
tmp2_end: ;
}
goto goto_1;
goto_1:;
MMC_THROW_INTERNAL();
goto tmp2_done;
tmp2_done:;
}
}
_out_txt = tmpMeta[0];
_return: OMC_LABEL_UNUSED
return _out_txt;
}
DLLExport
modelica_metatype omc_CodegenCFunctions_varTypeBoxed(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_var)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta[1] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp3_1;modelica_metatype tmp3_2;
tmp3_1 = _in_txt;
tmp3_2 = _in_a_var;
{
modelica_metatype _txt = NULL;
int tmp3;
{
switch (MMC_SWITCH_CAST(valueConstructor(tmp3_2))) {
case 3: {
if (mmc__uniontype__metarecord__typedef__equal(tmp3_2,0,7) == 0) goto tmp2_end;
_txt = tmp3_1;
tmpMeta[0] = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT611);
goto tmp2_done;
}
case 4: {
if (mmc__uniontype__metarecord__typedef__equal(tmp3_2,1,4) == 0) goto tmp2_end;
_txt = tmp3_1;
tmpMeta[0] = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1627);
goto tmp2_done;
}
default:
tmp2_default: OMC_LABEL_UNUSED; {
_txt = tmp3_1;
tmpMeta[0] = _txt;
goto tmp2_done;
}
}
goto tmp2_end;
tmp2_end: ;
}
goto goto_1;
goto_1:;
MMC_THROW_INTERNAL();
goto tmp2_done;
tmp2_done:;
}
}
_out_txt = tmpMeta[0];
_return: OMC_LABEL_UNUSED
return _out_txt;
}
DLLExport
modelica_metatype omc_CodegenCFunctions_varType(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_var)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta[4] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp3_1;modelica_metatype tmp3_2;
tmp3_1 = _in_txt;
tmp3_2 = _in_a_var;
{
modelica_metatype _txt = NULL;
modelica_metatype _i_var_ty = NULL;
modelica_metatype _i_instDims = NULL;
volatile mmc_switch_type tmp3;
int tmp4;
tmp3 = 0;
for (; tmp3 < 6; tmp3++) {
switch (MMC_SWITCH_CAST(tmp3)) {
case 0: {
if (mmc__uniontype__metarecord__typedef__equal(tmp3_2,0,7) == 0) goto tmp2_end;
tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_2), 3));
tmpMeta[2] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_2), 5));
tmpMeta[3] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_2), 6));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[3],2,0) == 0) goto tmp2_end;
_i_var_ty = tmpMeta[1];
_i_instDims = tmpMeta[2];
_txt = tmp3_1;
tmpMeta[0] = omc_CodegenCFunctions_fun__593(threadData, _txt, _i_instDims, _i_var_ty);
goto tmp2_done;
}
case 1: {
if (mmc__uniontype__metarecord__typedef__equal(tmp3_2,0,7) == 0) goto tmp2_end;
tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_2), 3));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[1],6,2) == 0) goto tmp2_end;
tmpMeta[2] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_2), 6));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[2],0,0) == 0) goto tmp2_end;
_i_var_ty = tmpMeta[1];
_txt = tmp3_1;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1629);
tmpMeta[0] = omc_CodegenCFunctions_expTypeArray(threadData, _txt, _i_var_ty);
goto tmp2_done;
}
case 2: {
if (mmc__uniontype__metarecord__typedef__equal(tmp3_2,0,7) == 0) goto tmp2_end;
tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_2), 3));
tmpMeta[2] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_2), 5));
tmpMeta[3] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_2), 6));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[3],0,0) == 0) goto tmp2_end;
_i_var_ty = tmpMeta[1];
_i_instDims = tmpMeta[2];
_txt = tmp3_1;
tmpMeta[0] = omc_CodegenCFunctions_fun__594(threadData, _txt, _i_instDims, _i_var_ty);
goto tmp2_done;
}
case 3: {
if (mmc__uniontype__metarecord__typedef__equal(tmp3_2,0,7) == 0) goto tmp2_end;
tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_2), 3));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[1],6,2) == 0) goto tmp2_end;
tmpMeta[2] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_2), 6));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[2],1,0) == 0) goto tmp2_end;
_i_var_ty = tmpMeta[1];
_txt = tmp3_1;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1631);
tmpMeta[0] = omc_CodegenCFunctions_expTypeArray(threadData, _txt, _i_var_ty);
goto tmp2_done;
}
case 4: {
if (mmc__uniontype__metarecord__typedef__equal(tmp3_2,0,7) == 0) goto tmp2_end;
tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_2), 3));
tmpMeta[2] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_2), 5));
tmpMeta[3] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_2), 6));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[3],1,0) == 0) goto tmp2_end;
_i_var_ty = tmpMeta[1];
_i_instDims = tmpMeta[2];
_txt = tmp3_1;
tmpMeta[0] = omc_CodegenCFunctions_fun__595(threadData, _txt, _i_instDims, _i_var_ty);
goto tmp2_done;
}
case 5: {
_txt = tmp3_1;
tmpMeta[0] = _txt;
goto tmp2_done;
}
}
goto tmp2_end;
tmp2_end: ;
}
goto goto_1;
goto_1:;
MMC_THROW_INTERNAL();
goto tmp2_done;
tmp2_done:;
}
}
_out_txt = tmpMeta[0];
_return: OMC_LABEL_UNUSED
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__595(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_instDims, modelica_metatype _in_a_var_ty)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta[1] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp3_1;modelica_metatype tmp3_2;modelica_metatype tmp3_3;
tmp3_1 = _in_txt;
tmp3_2 = _in_a_instDims;
tmp3_3 = _in_a_var_ty;
{
modelica_metatype _txt = NULL;
modelica_metatype _a_var_ty = NULL;
volatile mmc_switch_type tmp3;
int tmp4;
tmp3 = 0;
for (; tmp3 < 2; tmp3++) {
switch (MMC_SWITCH_CAST(tmp3)) {
case 0: {
if (!listEmpty(tmp3_2)) goto tmp2_end;
_txt = tmp3_1;
_a_var_ty = tmp3_3;
tmpMeta[0] = omc_CodegenCFunctions_expTypeArrayIf(threadData, _txt, _a_var_ty);
goto tmp2_done;
}
case 1: {
_txt = tmp3_1;
_a_var_ty = tmp3_3;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1631);
tmpMeta[0] = omc_CodegenCFunctions_expTypeArray(threadData, _txt, _a_var_ty);
goto tmp2_done;
}
}
goto tmp2_end;
tmp2_end: ;
}
goto goto_1;
goto_1:;
MMC_THROW_INTERNAL();
goto tmp2_done;
tmp2_done:;
}
}
_out_txt = tmpMeta[0];
_return: OMC_LABEL_UNUSED
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__594(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_instDims, modelica_metatype _in_a_var_ty)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta[1] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp3_1;modelica_metatype tmp3_2;modelica_metatype tmp3_3;
tmp3_1 = _in_txt;
tmp3_2 = _in_a_instDims;
tmp3_3 = _in_a_var_ty;
{
modelica_metatype _txt = NULL;
modelica_metatype _a_var_ty = NULL;
volatile mmc_switch_type tmp3;
int tmp4;
tmp3 = 0;
for (; tmp3 < 2; tmp3++) {
switch (MMC_SWITCH_CAST(tmp3)) {
case 0: {
if (!listEmpty(tmp3_2)) goto tmp2_end;
_txt = tmp3_1;
_a_var_ty = tmp3_3;
tmpMeta[0] = omc_CodegenCFunctions_expTypeArrayIf(threadData, _txt, _a_var_ty);
goto tmp2_done;
}
case 1: {
_txt = tmp3_1;
_a_var_ty = tmp3_3;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1629);
tmpMeta[0] = omc_CodegenCFunctions_expTypeArray(threadData, _txt, _a_var_ty);
goto tmp2_done;
}
}
goto tmp2_end;
tmp2_end: ;
}
goto goto_1;
goto_1:;
MMC_THROW_INTERNAL();
goto tmp2_done;
tmp2_done:;
}
}
_out_txt = tmpMeta[0];
_return: OMC_LABEL_UNUSED
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__593(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_instDims, modelica_metatype _in_a_var_ty)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta[1] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp3_1;modelica_metatype tmp3_2;modelica_metatype tmp3_3;
tmp3_1 = _in_txt;
tmp3_2 = _in_a_instDims;
tmp3_3 = _in_a_var_ty;
{
modelica_metatype _txt = NULL;
modelica_metatype _a_var_ty = NULL;
volatile mmc_switch_type tmp3;
int tmp4;
tmp3 = 0;
for (; tmp3 < 2; tmp3++) {
switch (MMC_SWITCH_CAST(tmp3)) {
case 0: {
if (!listEmpty(tmp3_2)) goto tmp2_end;
_txt = tmp3_1;
_a_var_ty = tmp3_3;
tmpMeta[0] = omc_CodegenCFunctions_expTypeArrayIf(threadData, _txt, _a_var_ty);
goto tmp2_done;
}
case 1: {
_txt = tmp3_1;
_a_var_ty = tmp3_3;
tmpMeta[0] = omc_CodegenCFunctions_expTypeArray(threadData, _txt, _a_var_ty);
goto tmp2_done;
}
}
goto tmp2_end;
tmp2_end: ;
}
goto goto_1;
goto_1:;
MMC_THROW_INTERNAL();
goto tmp2_done;
tmp2_done:;
}
}
_out_txt = tmpMeta[0];
_return: OMC_LABEL_UNUSED
return _out_txt;
}
DLLExport
modelica_metatype omc_CodegenCFunctions_literalExpConstArrayVal(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_lit)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta[2] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp3_1;modelica_metatype tmp3_2;
tmp3_1 = _in_txt;
tmp3_2 = _in_a_lit;
{
modelica_metatype _txt = NULL;
modelica_metatype _i_lit = NULL;
modelica_integer _i_lit_index;
modelica_integer _i_index;
modelica_real _i_real;
modelica_boolean _i_lit_bool;
modelica_integer _i_integer;
modelica_metatype _txt_0 = NULL;
int tmp3;
{
switch (MMC_SWITCH_CAST(valueConstructor(tmp3_2))) {
case 3: {
modelica_integer tmp4;
if (mmc__uniontype__metarecord__typedef__equal(tmp3_2,0,1) == 0) goto tmp2_end;
tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_2), 2));
tmp4 = mmc_unbox_integer(tmpMeta[1]);
_i_integer = tmp4;
_txt = tmp3_1;
tmpMeta[0] = omc_Tpl_writeStr(threadData, _txt, intString(_i_integer));
goto tmp2_done;
}
case 6: {
modelica_integer tmp5;
if (mmc__uniontype__metarecord__typedef__equal(tmp3_2,3,1) == 0) goto tmp2_end;
tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_2), 2));
tmp5 = mmc_unbox_integer(tmpMeta[1]);
_i_lit_bool = tmp5;
_txt = tmp3_1;
tmpMeta[0] = omc_CodegenCFunctions_boolStrC(threadData, _txt, _i_lit_bool);
goto tmp2_done;
}
case 4: {
modelica_real tmp6;
if (mmc__uniontype__metarecord__typedef__equal(tmp3_2,1,1) == 0) goto tmp2_end;
tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_2), 2));
tmp6 = mmc_unbox_real(tmpMeta[1]);
_i_real = tmp6;
_txt = tmp3_1;
tmpMeta[0] = omc_Tpl_writeStr(threadData, _txt, realString(_i_real));
goto tmp2_done;
}
case 8: {
modelica_integer tmp7;
if (mmc__uniontype__metarecord__typedef__equal(tmp3_2,5,2) == 0) goto tmp2_end;
tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_2), 3));
tmp7 = mmc_unbox_integer(tmpMeta[1]);
_i_index = tmp7;
_txt = tmp3_1;
tmpMeta[0] = omc_Tpl_writeStr(threadData, _txt, intString(_i_index));
goto tmp2_done;
}
case 39: {
modelica_integer tmp8;
if (mmc__uniontype__metarecord__typedef__equal(tmp3_2,36,2) == 0) goto tmp2_end;
tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_2), 2));
tmp8 = mmc_unbox_integer(tmpMeta[1]);
_i_lit_index = tmp8;
_txt = tmp3_1;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT74);
tmpMeta[0] = omc_Tpl_writeStr(threadData, _txt, intString(_i_lit_index));
goto tmp2_done;
}
default:
tmp2_default: OMC_LABEL_UNUSED; {
_txt = tmp3_1;
_i_lit = tmp3_2;
_txt_0 = omc_Tpl_writeTok(threadData, _OMC_LIT20, _OMC_LIT1633);
_txt_0 = omc_ExpressionDumpTpl_dumpExp(threadData, _txt_0, _i_lit, _OMC_LIT231);
tmpMeta[0] = omc_CodegenUtil_error(threadData, _txt, omc_Tpl_sourceInfo(threadData, _OMC_LIT27, ((modelica_integer) 3810), ((modelica_integer) 16)), omc_Tpl_textString(threadData, _txt_0));
goto tmp2_done;
}
}
goto tmp2_end;
tmp2_end: ;
}
goto goto_1;
goto_1:;
MMC_THROW_INTERNAL();
goto tmp2_done;
tmp2_done:;
}
}
_out_txt = tmpMeta[0];
_return: OMC_LABEL_UNUSED
return _out_txt;
}
DLLExport
modelica_metatype omc_CodegenCFunctions_literalExpConstBoxedValPreLit(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_lit, modelica_metatype _in_a_index, modelica_metatype *out_out_a_index)
{
modelica_metatype _out_txt = NULL;
modelica_metatype _out_a_index = NULL;
modelica_metatype tmpMeta[3] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_metatype tmp4_2;modelica_metatype tmp4_3;
tmp4_1 = _in_txt;
tmp4_2 = _in_a_lit;
tmp4_3 = _in_a_index;
{
modelica_metatype _txt = NULL;
modelica_metatype _a_index = NULL;
modelica_metatype _i_lit_exp = NULL;
modelica_real _i_lit_real;
modelica_metatype _l_name = NULL;
modelica_metatype _l_tmp = NULL;
int tmp4;
{
switch (MMC_SWITCH_CAST(valueConstructor(tmp4_2))) {
case 4: {
modelica_real tmp5;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,1,1) == 0) goto tmp3_end;
tmpMeta[2] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
tmp5 = mmc_unbox_real(tmpMeta[2]);
_i_lit_real = tmp5;
_txt = tmp4_1;
_a_index = tmp4_3;
_l_tmp = omc_Tpl_writeTok(threadData, _OMC_LIT20, _OMC_LIT1635);
_l_tmp = omc_Tpl_writeText(threadData, _l_tmp, _a_index);
_l_name = omc_Tpl_writeTok(threadData, _OMC_LIT20, _OMC_LIT74);
_l_name = omc_Tpl_writeText(threadData, _l_name, _a_index);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1637);
_txt = omc_Tpl_writeText(threadData, _txt, _l_tmp);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT226);
_txt = omc_Tpl_writeStr(threadData, _txt, realString(_i_lit_real));
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1641);
_txt = omc_Tpl_writeText(threadData, _txt, _l_name);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1643);
_txt = omc_Tpl_writeText(threadData, _txt, _l_tmp);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT78);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT89);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_index;
goto tmp3_done;
}
case 37: {
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,34,1) == 0) goto tmp3_end;
tmpMeta[2] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
_i_lit_exp = tmpMeta[2];
_txt = tmp4_1;
_a_index = tmp4_3;
_in_txt = _txt;
_in_a_lit = _i_lit_exp;
_in_a_index = _a_index;
goto _tailrecursive;
goto tmp3_done;
}
default:
tmp3_default: OMC_LABEL_UNUSED; {
_txt = tmp4_1;
_a_index = tmp4_3;
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_index;
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta[0+0];
_out_a_index = tmpMeta[0+1];
_return: OMC_LABEL_UNUSED
if (out_out_a_index) { *out_out_a_index = _out_a_index; }
return _out_txt;
}
DLLExport
modelica_metatype omc_CodegenCFunctions_literalExpConstBoxedVal(threadData_t *threadData, modelica_metatype _txt, modelica_metatype _a_lit, modelica_metatype _a_index, modelica_metatype *out_out_a_index)
{
modelica_metatype _out_txt = NULL;
modelica_metatype _out_a_index = NULL;
modelica_metatype _l_name = NULL;
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
_l_name = omc_Tpl_writeTok(threadData, _OMC_LIT20, _OMC_LIT74);
_l_name = omc_Tpl_writeText(threadData, _l_name, _a_index);
_out_txt = omc_CodegenCFunctions_fun__589(threadData, _txt, _a_lit, _a_index, _l_name ,&_out_a_index);
_return: OMC_LABEL_UNUSED
if (out_out_a_index) { *out_out_a_index = _out_a_index; }
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__589(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_lit, modelica_metatype _in_a_index, modelica_metatype _in_a_name, modelica_metatype *out_out_a_index)
{
modelica_metatype _out_txt = NULL;
modelica_metatype _out_a_index = NULL;
modelica_metatype tmpMeta[3] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_metatype tmp4_2;modelica_metatype tmp4_3;modelica_metatype tmp4_4;
tmp4_1 = _in_txt;
tmp4_2 = _in_a_lit;
tmp4_3 = _in_a_index;
tmp4_4 = _in_a_name;
{
modelica_metatype _txt = NULL;
modelica_metatype _a_index = NULL;
modelica_metatype _a_name = NULL;
modelica_metatype _i_lit = NULL;
modelica_integer _i_lit_index;
modelica_metatype _i_lit_exp = NULL;
modelica_boolean _i_lit_bool;
modelica_integer _i_index;
modelica_integer _i_integer;
modelica_metatype _txt_0 = NULL;
volatile mmc_switch_type tmp4;
int tmp5;
tmp4 = 0;
for (; tmp4 < 9; tmp4++) {
switch (MMC_SWITCH_CAST(tmp4)) {
case 0: {
modelica_integer tmp6;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,0,1) == 0) goto tmp3_end;
tmpMeta[2] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
tmp6 = mmc_unbox_integer(tmpMeta[2]);
_i_integer = tmp6;
_txt = tmp4_1;
_a_index = tmp4_3;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1645);
_txt = omc_Tpl_writeStr(threadData, _txt, intString(_i_integer));
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT600);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_index;
goto tmp3_done;
}
case 1: {
modelica_integer tmp7;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,5,2) == 0) goto tmp3_end;
tmpMeta[2] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 3));
tmp7 = mmc_unbox_integer(tmpMeta[2]);
_i_index = tmp7;
_txt = tmp4_1;
_a_index = tmp4_3;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1645);
_txt = omc_Tpl_writeStr(threadData, _txt, intString(_i_index));
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT600);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_index;
goto tmp3_done;
}
case 2: {
modelica_integer tmp8;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,3,1) == 0) goto tmp3_end;
tmpMeta[2] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
tmp8 = mmc_unbox_integer(tmpMeta[2]);
_i_lit_bool = tmp8;
_txt = tmp4_1;
_a_index = tmp4_3;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1645);
_txt = omc_CodegenCFunctions_boolStrC(threadData, _txt, _i_lit_bool);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT600);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_index;
goto tmp3_done;
}
case 3: {
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,1,1) == 0) goto tmp3_end;
_txt = tmp4_1;
_a_index = tmp4_3;
_a_name = tmp4_4;
_txt = omc_Tpl_writeText(threadData, _txt, _a_name);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_index;
goto tmp3_done;
}
case 4: {
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,28,1) == 0) goto tmp3_end;
tmpMeta[2] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
if (!listEmpty(tmpMeta[2])) goto tmp3_end;
_txt = tmp4_1;
_a_index = tmp4_3;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1343);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_index;
goto tmp3_done;
}
case 5: {
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,31,1) == 0) goto tmp3_end;
tmpMeta[2] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
if (!optionNone(tmpMeta[2])) goto tmp3_end;
_txt = tmp4_1;
_a_index = tmp4_3;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1647);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_index;
goto tmp3_done;
}
case 6: {
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,34,1) == 0) goto tmp3_end;
tmpMeta[2] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
_i_lit_exp = tmpMeta[2];
_txt = tmp4_1;
_a_index = tmp4_3;
tmpMeta[0+0] = omc_CodegenCFunctions_literalExpConstBoxedVal(threadData, _txt, _i_lit_exp, _a_index, &tmpMeta[0+1]);
goto tmp3_done;
}
case 7: {
modelica_integer tmp9;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,36,2) == 0) goto tmp3_end;
tmpMeta[2] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
tmp9 = mmc_unbox_integer(tmpMeta[2]);
_i_lit_index = tmp9;
_txt = tmp4_1;
_a_index = tmp4_3;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT74);
_txt = omc_Tpl_writeStr(threadData, _txt, intString(_i_lit_index));
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_index;
goto tmp3_done;
}
case 8: {
_txt = tmp4_1;
_i_lit = tmp4_2;
_a_index = tmp4_3;
_txt_0 = omc_Tpl_writeTok(threadData, _OMC_LIT20, _OMC_LIT1649);
_txt_0 = omc_ExpressionDumpTpl_dumpExp(threadData, _txt_0, _i_lit, _OMC_LIT231);
_txt = omc_CodegenUtil_error(threadData, _txt, omc_Tpl_sourceInfo(threadData, _OMC_LIT27, ((modelica_integer) 3786), ((modelica_integer) 14)), omc_Tpl_textString(threadData, _txt_0));
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_index;
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta[0+0];
_out_a_index = tmpMeta[0+1];
_return: OMC_LABEL_UNUSED
if (out_out_a_index) { *out_out_a_index = _out_a_index; }
return _out_txt;
}
DLLExport
modelica_metatype omc_CodegenCFunctions_literalExpConst(threadData_t *threadData, modelica_metatype _txt, modelica_metatype _a_lit, modelica_integer _a_litindex)
{
modelica_metatype _out_txt = NULL;
modelica_metatype _l_meta = NULL;
modelica_metatype _l_tmp = NULL;
modelica_metatype _l_name = NULL;
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
_l_name = omc_Tpl_writeTok(threadData, _OMC_LIT20, _OMC_LIT74);
_l_name = omc_Tpl_writeStr(threadData, _l_name, intString(_a_litindex));
_l_tmp = omc_Tpl_writeTok(threadData, _OMC_LIT20, _OMC_LIT1635);
_l_tmp = omc_Tpl_writeStr(threadData, _l_tmp, intString(_a_litindex));
_l_meta = omc_Tpl_writeTok(threadData, _OMC_LIT20, _OMC_LIT1651);
_l_meta = omc_Tpl_writeText(threadData, _l_meta, _l_name);
_out_txt = omc_CodegenCFunctions_fun__587(threadData, _txt, _a_lit, _a_litindex, _l_meta, _l_tmp, _l_name);
_return: OMC_LABEL_UNUSED
return _out_txt;
}
modelica_metatype boxptr_CodegenCFunctions_literalExpConst(threadData_t *threadData, modelica_metatype _txt, modelica_metatype _a_lit, modelica_metatype _a_litindex)
{
modelica_integer tmp1;
modelica_metatype _out_txt = NULL;
tmp1 = mmc_unbox_integer(_a_litindex);
_out_txt = omc_CodegenCFunctions_literalExpConst(threadData, _txt, _a_lit, tmp1);
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__587(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_lit, modelica_integer _in_a_litindex, modelica_metatype _in_a_meta, modelica_metatype _in_a_tmp, modelica_metatype _in_a_name)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta[6] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp3_1;modelica_metatype tmp3_2;modelica_integer tmp3_3;modelica_metatype tmp3_4;modelica_metatype tmp3_5;modelica_metatype tmp3_6;
tmp3_1 = _in_txt;
tmp3_2 = _in_a_lit;
tmp3_3 = _in_a_litindex;
tmp3_4 = _in_a_meta;
tmp3_5 = _in_a_tmp;
tmp3_6 = _in_a_name;
{
modelica_metatype _txt = NULL;
modelica_integer _a_litindex;
modelica_metatype _a_meta = NULL;
modelica_metatype _a_tmp = NULL;
modelica_metatype _a_name = NULL;
modelica_metatype _i_e = NULL;
modelica_metatype _i_path = NULL;
modelica_metatype _i_args = NULL;
modelica_integer _i_index;
modelica_metatype _i_exp = NULL;
modelica_metatype _i_listExp = NULL;
modelica_metatype _i_valList = NULL;
modelica_metatype _i_cdr = NULL;
modelica_metatype _i_car = NULL;
modelica_real _i_exp_real;
modelica_boolean _i_exp_bool;
modelica_integer _i_exp_integer;
modelica_metatype _i_lit = NULL;
modelica_metatype _i_ty = NULL;
modelica_string _i_string = NULL;
modelica_metatype _txt_32 = NULL;
modelica_metatype _ret_31 = NULL;
modelica_integer _ret_30;
modelica_integer _ret_29;
modelica_integer _ret_28;
modelica_metatype _l_newIndex = NULL;
modelica_metatype _txt_26 = NULL;
modelica_metatype _txt_25 = NULL;
modelica_boolean _ret_24;
modelica_integer _ret_23;
modelica_metatype _ret_22 = NULL;
modelica_metatype _l_x = NULL;
modelica_metatype _txt_20 = NULL;
modelica_metatype _txt_19 = NULL;
modelica_metatype _txt_18 = NULL;
modelica_metatype _txt_17 = NULL;
modelica_string _str_16 = NULL;
modelica_metatype _ret_15 = NULL;
modelica_metatype _ret_14 = NULL;
modelica_integer _ret_13;
modelica_metatype _ret_12 = NULL;
modelica_string _str_11 = NULL;
modelica_metatype _ret_10 = NULL;
modelica_metatype _l_data = NULL;
modelica_metatype _ret_8 = NULL;
modelica_metatype _l_dims = NULL;
modelica_metatype _l_sty = NULL;
modelica_integer _ret_5;
modelica_metatype _ret_4 = NULL;
modelica_metatype _l_ndim = NULL;
modelica_integer _ret_2;
modelica_string _ret_1 = NULL;
modelica_metatype _l_escstr = NULL;
volatile mmc_switch_type tmp3;
int tmp4;
tmp3 = 0;
for (; tmp3 < 13; tmp3++) {
switch (MMC_SWITCH_CAST(tmp3)) {
case 0: {
if (mmc__uniontype__metarecord__typedef__equal(tmp3_2,2,1) == 0) goto tmp2_end;
tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_2), 2));
_i_string = tmpMeta[1];
_txt = tmp3_1;
_a_tmp = tmp3_5;
_a_name = tmp3_6;
_ret_1 = omc_Util_escapeModelicaStringToCString(threadData, _i_string);
_l_escstr = omc_Tpl_writeStr(threadData, _OMC_LIT20, _ret_1);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1652);
_txt = omc_Tpl_writeText(threadData, _txt, _a_name);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1654);
_txt = omc_Tpl_writeText(threadData, _txt, _l_escstr);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1658);
_txt = omc_Tpl_writeText(threadData, _txt, _a_tmp);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT226);
_ret_2 = omc_System_unescapedStringLength(threadData, omc_Tpl_textString(threadData, _l_escstr));
_txt = omc_Tpl_writeStr(threadData, _txt, intString(_ret_2));
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT226);
_txt = omc_Tpl_writeText(threadData, _txt, _a_name);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1661);
_txt = omc_Tpl_writeText(threadData, _txt, _a_name);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1663);
_txt = omc_Tpl_writeText(threadData, _txt, _a_tmp);
tmpMeta[0] = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT78);
goto tmp2_done;
}
case 1: {
if (mmc__uniontype__metarecord__typedef__equal(tmp3_2,17,3) == 0) goto tmp2_end;
tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_2), 2));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[1],6,2) == 0) goto tmp2_end;
_i_lit = tmp3_2;
_i_ty = tmpMeta[1];
_txt = tmp3_1;
_a_name = tmp3_6;
_ret_4 = omc_Types_getDimensionSizes(threadData, _i_ty);
_ret_5 = listLength(_ret_4);
_l_ndim = omc_Tpl_writeStr(threadData, _OMC_LIT20, intString(_ret_5));
_l_sty = omc_CodegenCFunctions_expTypeShort(threadData, _OMC_LIT20, _i_ty);
_ret_8 = omc_Types_getDimensionSizes(threadData, _i_ty);
_l_dims = omc_Tpl_pushIter(threadData, _OMC_LIT20, _OMC_LIT294);
_l_dims = omc_CodegenCFunctions_lm__571(threadData, _l_dims, _ret_8);
_l_dims = omc_Tpl_popIter(threadData, _l_dims);
_ret_10 = omc_Expression_flattenArrayExpToList(threadData, _i_lit);
_l_data = omc_Tpl_pushIter(threadData, _OMC_LIT20, _OMC_LIT294);
_l_data = omc_CodegenCFunctions_lm__572(threadData, _l_data, _ret_10);
_l_data = omc_Tpl_popIter(threadData, _l_data);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1665);
_txt = omc_Tpl_writeText(threadData, _txt, _a_name);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1667);
_txt = omc_Tpl_writeText(threadData, _txt, _l_ndim);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1381);
_txt = omc_Tpl_writeText(threadData, _txt, _l_dims);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1668);
_str_11 = omc_Tpl_textString(threadData, _l_data);
tmpMeta[0] = omc_CodegenCFunctions_fun__573(threadData, _txt, _str_11, _l_data, _l_sty, _l_ndim, _a_name);
goto tmp2_done;
}
case 2: {
if (mmc__uniontype__metarecord__typedef__equal(tmp3_2,16,3) == 0) goto tmp2_end;
tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_2), 2));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[1],6,2) == 0) goto tmp2_end;
_i_lit = tmp3_2;
_i_ty = tmpMeta[1];
_txt = tmp3_1;
_a_name = tmp3_6;
_ret_12 = omc_Types_getDimensionSizes(threadData, _i_ty);
_ret_13 = listLength(_ret_12);
_l_ndim = omc_Tpl_writeStr(threadData, _OMC_LIT20, intString(_ret_13));
_l_sty = omc_CodegenCFunctions_expTypeShort(threadData, _OMC_LIT20, _i_ty);
_ret_14 = omc_Types_getDimensionSizes(threadData, _i_ty);
_l_dims = omc_Tpl_pushIter(threadData, _OMC_LIT20, _OMC_LIT294);
_l_dims = omc_CodegenCFunctions_lm__574(threadData, _l_dims, _ret_14);
_l_dims = omc_Tpl_popIter(threadData, _l_dims);
_ret_15 = omc_Expression_flattenArrayExpToList(threadData, _i_lit);
_l_data = omc_Tpl_pushIter(threadData, _OMC_LIT20, _OMC_LIT294);
_l_data = omc_CodegenCFunctions_lm__575(threadData, _l_data, _ret_15);
_l_data = omc_Tpl_popIter(threadData, _l_data);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1665);
_txt = omc_Tpl_writeText(threadData, _txt, _a_name);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1667);
_txt = omc_Tpl_writeText(threadData, _txt, _l_ndim);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1381);
_txt = omc_Tpl_writeText(threadData, _txt, _l_dims);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1668);
_str_16 = omc_Tpl_textString(threadData, _l_data);
tmpMeta[0] = omc_CodegenCFunctions_fun__576(threadData, _txt, _str_16, _l_data, _l_sty, _l_ndim, _a_name);
goto tmp2_done;
}
case 3: {
modelica_integer tmp5;
if (mmc__uniontype__metarecord__typedef__equal(tmp3_2,34,1) == 0) goto tmp2_end;
tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_2), 2));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[1],0,1) == 0) goto tmp2_end;
tmpMeta[2] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[1]), 2));
tmp5 = mmc_unbox_integer(tmpMeta[2]);
_i_exp_integer = tmp5;
_txt = tmp3_1;
_a_meta = tmp3_4;
_txt = omc_Tpl_writeText(threadData, _txt, _a_meta);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1670);
_txt = omc_Tpl_writeStr(threadData, _txt, intString(_i_exp_integer));
tmpMeta[0] = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT823);
goto tmp2_done;
}
case 4: {
modelica_integer tmp6;
if (mmc__uniontype__metarecord__typedef__equal(tmp3_2,34,1) == 0) goto tmp2_end;
tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_2), 2));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[1],3,1) == 0) goto tmp2_end;
tmpMeta[2] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[1]), 2));
tmp6 = mmc_unbox_integer(tmpMeta[2]);
_i_exp_bool = tmp6;
_txt = tmp3_1;
_a_meta = tmp3_4;
_txt = omc_Tpl_writeText(threadData, _txt, _a_meta);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1670);
_txt = omc_CodegenCFunctions_boolStrC(threadData, _txt, _i_exp_bool);
tmpMeta[0] = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT823);
goto tmp2_done;
}
case 5: {
modelica_real tmp7;
if (mmc__uniontype__metarecord__typedef__equal(tmp3_2,34,1) == 0) goto tmp2_end;
tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_2), 2));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[1],1,1) == 0) goto tmp2_end;
tmpMeta[2] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[1]), 2));
tmp7 = mmc_unbox_real(tmpMeta[2]);
_i_exp_real = tmp7;
_txt = tmp3_1;
_a_tmp = tmp3_5;
_a_name = tmp3_6;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1637);
_txt = omc_Tpl_writeText(threadData, _txt, _a_tmp);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT226);
_txt = omc_Tpl_writeStr(threadData, _txt, realString(_i_exp_real));
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1641);
_txt = omc_Tpl_writeText(threadData, _txt, _a_name);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1643);
_txt = omc_Tpl_writeText(threadData, _txt, _a_tmp);
tmpMeta[0] = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT78);
goto tmp2_done;
}
case 6: {
if (mmc__uniontype__metarecord__typedef__equal(tmp3_2,29,2) == 0) goto tmp2_end;
tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_2), 2));
tmpMeta[2] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_2), 3));
_i_car = tmpMeta[1];
_i_cdr = tmpMeta[2];
_txt = tmp3_1;
_a_litindex = tmp3_3;
_a_tmp = tmp3_5;
_a_name = tmp3_6;
_txt_17 = omc_Tpl_writeStr(threadData, _OMC_LIT20, intString(_a_litindex));
_txt_17 = omc_Tpl_writeTok(threadData, _txt_17, _OMC_LIT1672);
_txt = omc_CodegenCFunctions_literalExpConstBoxedValPreLit(threadData, _txt, _i_car, _txt_17 ,&_txt_17);
_txt_18 = omc_Tpl_writeStr(threadData, _OMC_LIT20, intString(_a_litindex));
_txt_18 = omc_Tpl_writeTok(threadData, _txt_18, _OMC_LIT1674);
_txt = omc_CodegenCFunctions_literalExpConstBoxedValPreLit(threadData, _txt, _i_cdr, _txt_18 ,&_txt_18);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1676);
_txt = omc_Tpl_writeText(threadData, _txt, _a_tmp);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1678);
_txt_19 = omc_Tpl_writeStr(threadData, _OMC_LIT20, intString(_a_litindex));
_txt_19 = omc_Tpl_writeTok(threadData, _txt_19, _OMC_LIT1672);
_txt = omc_CodegenCFunctions_literalExpConstBoxedVal(threadData, _txt, _i_car, _txt_19 ,&_txt_19);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT226);
_txt_20 = omc_Tpl_writeStr(threadData, _OMC_LIT20, intString(_a_litindex));
_txt_20 = omc_Tpl_writeTok(threadData, _txt_20, _OMC_LIT1674);
_txt = omc_CodegenCFunctions_literalExpConstBoxedVal(threadData, _txt, _i_cdr, _txt_20 ,&_txt_20);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1681);
_txt = omc_Tpl_writeText(threadData, _txt, _a_name);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1683);
_txt = omc_Tpl_writeText(threadData, _txt, _a_tmp);
tmpMeta[0] = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT78);
goto tmp2_done;
}
case 7: {
if (mmc__uniontype__metarecord__typedef__equal(tmp3_2,28,1) == 0) goto tmp2_end;
tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_2), 2));
_i_valList = tmpMeta[1];
_txt = tmp3_1;
_a_tmp = tmp3_5;
_a_name = tmp3_6;
_ret_22 = listReverse(_i_valList);
_l_x = omc_Tpl_pushIter(threadData, _OMC_LIT20, _OMC_LIT118);
_l_x = omc_CodegenCFunctions_lm__578(threadData, _l_x, _ret_22, _a_tmp);
_l_x = omc_Tpl_popIter(threadData, _l_x);
_txt = omc_Tpl_writeText(threadData, _txt, _l_x);
_txt = omc_Tpl_softNewLine(threadData, _txt);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1652);
_txt = omc_Tpl_writeText(threadData, _txt, _a_name);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1683);
_txt = omc_Tpl_writeText(threadData, _txt, _a_tmp);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1685);
_ret_23 = listLength(_i_valList);
_txt = omc_Tpl_writeStr(threadData, _txt, intString(_ret_23));
tmpMeta[0] = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT78);
goto tmp2_done;
}
case 8: {
if (mmc__uniontype__metarecord__typedef__equal(tmp3_2,30,1) == 0) goto tmp2_end;
tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_2), 2));
_i_listExp = tmpMeta[1];
_txt = tmp3_1;
_a_litindex = tmp3_3;
_a_tmp = tmp3_5;
_a_name = tmp3_6;
_txt = omc_Tpl_pushIter(threadData, _txt, _OMC_LIT94);
_txt = omc_CodegenCFunctions_lm__579(threadData, _txt, _i_listExp, _a_litindex);
_txt = omc_Tpl_popIter(threadData, _txt);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1687);
_ret_24 = listEmpty(_i_listExp);
_txt = omc_CodegenCFunctions_fun__580(threadData, _txt, _ret_24, _i_listExp, _a_tmp);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1689);
_txt = omc_Tpl_pushIter(threadData, _txt, _OMC_LIT1691);
_txt = omc_CodegenCFunctions_lm__581(threadData, _txt, _i_listExp, _a_litindex);
_txt = omc_Tpl_popIter(threadData, _txt);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1681);
_txt = omc_Tpl_writeText(threadData, _txt, _a_name);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1683);
_txt = omc_Tpl_writeText(threadData, _txt, _a_tmp);
tmpMeta[0] = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT78);
goto tmp2_done;
}
case 9: {
if (mmc__uniontype__metarecord__typedef__equal(tmp3_2,31,1) == 0) goto tmp2_end;
tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_2), 2));
if (optionNone(tmpMeta[1])) goto tmp2_end;
tmpMeta[2] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[1]), 1));
_i_exp = tmpMeta[2];
_txt = tmp3_1;
_a_litindex = tmp3_3;
_a_tmp = tmp3_5;
_a_name = tmp3_6;
_txt_25 = omc_Tpl_writeStr(threadData, _OMC_LIT20, intString(_a_litindex));
_txt_25 = omc_Tpl_writeTok(threadData, _txt_25, _OMC_LIT1693);
_txt = omc_CodegenCFunctions_literalExpConstBoxedValPreLit(threadData, _txt, _i_exp, _txt_25 ,&_txt_25);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1676);
_txt = omc_Tpl_writeText(threadData, _txt, _a_tmp);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1695);
_txt_26 = omc_Tpl_writeStr(threadData, _OMC_LIT20, intString(_a_litindex));
_txt_26 = omc_Tpl_writeTok(threadData, _txt_26, _OMC_LIT1693);
_txt = omc_CodegenCFunctions_literalExpConstBoxedVal(threadData, _txt, _i_exp, _txt_26 ,&_txt_26);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1681);
_txt = omc_Tpl_writeText(threadData, _txt, _a_name);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1683);
_txt = omc_Tpl_writeText(threadData, _txt, _a_tmp);
tmpMeta[0] = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT78);
goto tmp2_done;
}
case 10: {
modelica_integer tmp8;
if (mmc__uniontype__metarecord__typedef__equal(tmp3_2,32,5) == 0) goto tmp2_end;
tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_2), 2));
tmpMeta[2] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_2), 3));
tmpMeta[3] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_2), 5));
tmp8 = mmc_unbox_integer(tmpMeta[3]);
_i_path = tmpMeta[1];
_i_args = tmpMeta[2];
_i_index = tmp8;
_txt = tmp3_1;
_a_litindex = tmp3_3;
_a_tmp = tmp3_5;
_a_name = tmp3_6;
_ret_28 = omc_Patternm_getValueCtor(threadData, _i_index);
_l_newIndex = omc_Tpl_writeStr(threadData, _OMC_LIT20, intString(_ret_28));
_txt = omc_Tpl_pushIter(threadData, _txt, _OMC_LIT94);
_txt = omc_CodegenCFunctions_lm__582(threadData, _txt, _i_args, _a_litindex);
_txt = omc_Tpl_popIter(threadData, _txt);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1676);
_txt = omc_Tpl_writeText(threadData, _txt, _a_tmp);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT226);
_ret_29 = listLength(_i_args);
_ret_30 = ((modelica_integer) 1) + _ret_29;
_txt = omc_Tpl_writeStr(threadData, _txt, intString(_ret_30));
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT226);
_txt = omc_Tpl_writeText(threadData, _txt, _l_newIndex);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1697);
_txt = omc_CodegenUtil_underscorePath(threadData, _txt, _i_path);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1699);
_txt = omc_Tpl_pushIter(threadData, _txt, _OMC_LIT1691);
_txt = omc_CodegenCFunctions_lm__583(threadData, _txt, _i_args, _a_litindex);
_txt = omc_Tpl_popIter(threadData, _txt);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1681);
_txt = omc_Tpl_writeText(threadData, _txt, _a_name);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1683);
_txt = omc_Tpl_writeText(threadData, _txt, _a_tmp);
tmpMeta[0] = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT78);
goto tmp2_done;
}
case 11: {
if (mmc__uniontype__metarecord__typedef__equal(tmp3_2,13,3) == 0) goto tmp2_end;
tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_2), 2));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[1],1,1) == 0) goto tmp2_end;
tmpMeta[2] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[1]), 2));
if (16 != MMC_STRLEN(tmpMeta[2]) || strcmp(MMC_STRINGDATA(_OMC_LIT1702), MMC_STRINGDATA(tmpMeta[2])) != 0) goto tmp2_end;
tmpMeta[3] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_2), 3));
if (listEmpty(tmpMeta[3])) goto tmp2_end;
tmpMeta[4] = MMC_CAR(tmpMeta[3]);
tmpMeta[5] = MMC_CDR(tmpMeta[3]);
if (!listEmpty(tmpMeta[5])) goto tmp2_end;
_i_e = tmpMeta[4];
_txt = tmp3_1;
_a_litindex = tmp3_3;
_a_tmp = tmp3_5;
_a_name = tmp3_6;
_ret_31 = omc_Expression_consToListIgnoreSharedLiteral(threadData, _i_e);
tmpMeta[0] = omc_CodegenCFunctions_fun__586(threadData, _txt, _ret_31, _i_e, _a_name, _a_tmp, _a_litindex);
goto tmp2_done;
}
case 12: {
_txt = tmp3_1;
_i_lit = tmp3_2;
_txt_32 = omc_Tpl_writeTok(threadData, _OMC_LIT20, _OMC_LIT1701);
_txt_32 = omc_ExpressionDumpTpl_dumpExp(threadData, _txt_32, _i_lit, _OMC_LIT231);
tmpMeta[0] = omc_CodegenUtil_error(threadData, _txt, omc_Tpl_sourceInfo(threadData, _OMC_LIT27, ((modelica_integer) 3765), ((modelica_integer) 14)), omc_Tpl_textString(threadData, _txt_32));
goto tmp2_done;
}
}
goto tmp2_end;
tmp2_end: ;
}
goto goto_1;
goto_1:;
MMC_THROW_INTERNAL();
goto tmp2_done;
tmp2_done:;
}
}
_out_txt = tmpMeta[0];
_return: OMC_LABEL_UNUSED
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__587(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_lit, modelica_metatype _in_a_litindex, modelica_metatype _in_a_meta, modelica_metatype _in_a_tmp, modelica_metatype _in_a_name)
{
modelica_integer tmp1;
modelica_metatype _out_txt = NULL;
tmp1 = mmc_unbox_integer(_in_a_litindex);
_out_txt = omc_CodegenCFunctions_fun__587(threadData, _in_txt, _in_a_lit, tmp1, _in_a_meta, _in_a_tmp, _in_a_name);
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__586(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_mArg, modelica_metatype _in_a_e, modelica_metatype _in_a_name, modelica_metatype _in_a_tmp, modelica_integer _in_a_litindex)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta[2] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp3_1;modelica_metatype tmp3_2;modelica_metatype tmp3_3;modelica_metatype tmp3_4;modelica_metatype tmp3_5;modelica_integer tmp3_6;
tmp3_1 = _in_txt;
tmp3_2 = _in_mArg;
tmp3_3 = _in_a_e;
tmp3_4 = _in_a_name;
tmp3_5 = _in_a_tmp;
tmp3_6 = _in_a_litindex;
{
modelica_metatype _txt = NULL;
modelica_metatype _a_e = NULL;
modelica_metatype _a_name = NULL;
modelica_metatype _a_tmp = NULL;
modelica_integer _a_litindex;
modelica_metatype _i_args = NULL;
modelica_metatype _txt_1 = NULL;
modelica_integer _ret_0;
volatile mmc_switch_type tmp3;
int tmp4;
tmp3 = 0;
for (; tmp3 < 2; tmp3++) {
switch (MMC_SWITCH_CAST(tmp3)) {
case 0: {
if (mmc__uniontype__metarecord__typedef__equal(tmp3_2,28,1) == 0) goto tmp2_end;
tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_2), 2));
_i_args = tmpMeta[1];
_txt = tmp3_1;
_a_name = tmp3_4;
_a_tmp = tmp3_5;
_a_litindex = tmp3_6;
_txt = omc_Tpl_pushIter(threadData, _txt, _OMC_LIT94);
_txt = omc_CodegenCFunctions_lm__584(threadData, _txt, _i_args, _a_litindex);
_txt = omc_Tpl_popIter(threadData, _txt);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1676);
_txt = omc_Tpl_writeText(threadData, _txt, _a_tmp);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT226);
_ret_0 = listLength(_i_args);
_txt = omc_Tpl_writeStr(threadData, _txt, intString(_ret_0));
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1704);
_txt = omc_Tpl_pushIter(threadData, _txt, _OMC_LIT1691);
_txt = omc_CodegenCFunctions_lm__585(threadData, _txt, _i_args, _a_litindex);
_txt = omc_Tpl_popIter(threadData, _txt);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1681);
_txt = omc_Tpl_writeText(threadData, _txt, _a_name);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1683);
_txt = omc_Tpl_writeText(threadData, _txt, _a_tmp);
tmpMeta[0] = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT78);
goto tmp2_done;
}
case 1: {
_txt = tmp3_1;
_a_e = tmp3_3;
_txt_1 = omc_Tpl_writeTok(threadData, _OMC_LIT20, _OMC_LIT1706);
_txt_1 = omc_ExpressionDumpTpl_dumpExp(threadData, _txt_1, _a_e, _OMC_LIT231);
tmpMeta[0] = omc_CodegenUtil_error(threadData, _txt, omc_Tpl_sourceInfo(threadData, _OMC_LIT27, ((modelica_integer) 3764), ((modelica_integer) 16)), omc_Tpl_textString(threadData, _txt_1));
goto tmp2_done;
}
}
goto tmp2_end;
tmp2_end: ;
}
goto goto_1;
goto_1:;
MMC_THROW_INTERNAL();
goto tmp2_done;
tmp2_done:;
}
}
_out_txt = tmpMeta[0];
_return: OMC_LABEL_UNUSED
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__586(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_mArg, modelica_metatype _in_a_e, modelica_metatype _in_a_name, modelica_metatype _in_a_tmp, modelica_metatype _in_a_litindex)
{
modelica_integer tmp1;
modelica_metatype _out_txt = NULL;
tmp1 = mmc_unbox_integer(_in_a_litindex);
_out_txt = omc_CodegenCFunctions_fun__586(threadData, _in_txt, _in_mArg, _in_a_e, _in_a_name, _in_a_tmp, tmp1);
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_lm__585(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_items, modelica_integer _in_a_litindex)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta[3] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp3_1;modelica_metatype tmp3_2;modelica_integer tmp3_3;
tmp3_1 = _in_txt;
tmp3_2 = _in_items;
tmp3_3 = _in_a_litindex;
{
modelica_metatype _txt = NULL;
modelica_metatype _rest = NULL;
modelica_integer _a_litindex;
modelica_integer _x_i0;
modelica_metatype _i_exp = NULL;
modelica_metatype _txt_0 = NULL;
volatile mmc_switch_type tmp3;
int tmp4;
tmp3 = 0;
for (; tmp3 < 2; tmp3++) {
switch (MMC_SWITCH_CAST(tmp3)) {
case 0: {
if (!listEmpty(tmp3_2)) goto tmp2_end;
_txt = tmp3_1;
tmpMeta[0] = _txt;
goto tmp2_done;
}
case 1: {
if (listEmpty(tmp3_2)) goto tmp2_end;
tmpMeta[1] = MMC_CAR(tmp3_2);
tmpMeta[2] = MMC_CDR(tmp3_2);
_i_exp = tmpMeta[1];
_rest = tmpMeta[2];
_txt = tmp3_1;
_a_litindex = tmp3_3;
_x_i0 = omc_Tpl_getIteri__i0(threadData, _txt);
_txt_0 = omc_Tpl_writeStr(threadData, _OMC_LIT20, intString(_a_litindex));
_txt_0 = omc_Tpl_writeTok(threadData, _txt_0, _OMC_LIT236);
_txt_0 = omc_Tpl_writeStr(threadData, _txt_0, intString(_x_i0));
_txt = omc_CodegenCFunctions_literalExpConstBoxedVal(threadData, _txt, _i_exp, _txt_0 ,&_txt_0);
_txt = omc_Tpl_nextIter(threadData, _txt);
_in_txt = _txt;
_in_items = _rest;
_in_a_litindex = _a_litindex;
goto _tailrecursive;
goto tmp2_done;
}
}
goto tmp2_end;
tmp2_end: ;
}
goto goto_1;
goto_1:;
MMC_THROW_INTERNAL();
goto tmp2_done;
tmp2_done:;
}
}
_out_txt = tmpMeta[0];
_return: OMC_LABEL_UNUSED
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_lm__585(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_items, modelica_metatype _in_a_litindex)
{
modelica_integer tmp1;
modelica_metatype _out_txt = NULL;
tmp1 = mmc_unbox_integer(_in_a_litindex);
_out_txt = omc_CodegenCFunctions_lm__585(threadData, _in_txt, _in_items, tmp1);
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_lm__584(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_items, modelica_integer _in_a_litindex)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta[3] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp3_1;modelica_metatype tmp3_2;modelica_integer tmp3_3;
tmp3_1 = _in_txt;
tmp3_2 = _in_items;
tmp3_3 = _in_a_litindex;
{
modelica_metatype _txt = NULL;
modelica_metatype _rest = NULL;
modelica_integer _a_litindex;
modelica_integer _x_i0;
modelica_metatype _i_exp = NULL;
modelica_metatype _txt_0 = NULL;
volatile mmc_switch_type tmp3;
int tmp4;
tmp3 = 0;
for (; tmp3 < 2; tmp3++) {
switch (MMC_SWITCH_CAST(tmp3)) {
case 0: {
if (!listEmpty(tmp3_2)) goto tmp2_end;
_txt = tmp3_1;
tmpMeta[0] = _txt;
goto tmp2_done;
}
case 1: {
if (listEmpty(tmp3_2)) goto tmp2_end;
tmpMeta[1] = MMC_CAR(tmp3_2);
tmpMeta[2] = MMC_CDR(tmp3_2);
_i_exp = tmpMeta[1];
_rest = tmpMeta[2];
_txt = tmp3_1;
_a_litindex = tmp3_3;
_x_i0 = omc_Tpl_getIteri__i0(threadData, _txt);
_txt_0 = omc_Tpl_writeStr(threadData, _OMC_LIT20, intString(_a_litindex));
_txt_0 = omc_Tpl_writeTok(threadData, _txt_0, _OMC_LIT236);
_txt_0 = omc_Tpl_writeStr(threadData, _txt_0, intString(_x_i0));
_txt = omc_CodegenCFunctions_literalExpConstBoxedValPreLit(threadData, _txt, _i_exp, _txt_0 ,&_txt_0);
_txt = omc_Tpl_nextIter(threadData, _txt);
_in_txt = _txt;
_in_items = _rest;
_in_a_litindex = _a_litindex;
goto _tailrecursive;
goto tmp2_done;
}
}
goto tmp2_end;
tmp2_end: ;
}
goto goto_1;
goto_1:;
MMC_THROW_INTERNAL();
goto tmp2_done;
tmp2_done:;
}
}
_out_txt = tmpMeta[0];
_return: OMC_LABEL_UNUSED
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_lm__584(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_items, modelica_metatype _in_a_litindex)
{
modelica_integer tmp1;
modelica_metatype _out_txt = NULL;
tmp1 = mmc_unbox_integer(_in_a_litindex);
_out_txt = omc_CodegenCFunctions_lm__584(threadData, _in_txt, _in_items, tmp1);
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_lm__583(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_items, modelica_integer _in_a_litindex)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta[3] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp3_1;modelica_metatype tmp3_2;modelica_integer tmp3_3;
tmp3_1 = _in_txt;
tmp3_2 = _in_items;
tmp3_3 = _in_a_litindex;
{
modelica_metatype _txt = NULL;
modelica_metatype _rest = NULL;
modelica_integer _a_litindex;
modelica_integer _x_i0;
modelica_metatype _i_exp = NULL;
modelica_metatype _txt_0 = NULL;
volatile mmc_switch_type tmp3;
int tmp4;
tmp3 = 0;
for (; tmp3 < 2; tmp3++) {
switch (MMC_SWITCH_CAST(tmp3)) {
case 0: {
if (!listEmpty(tmp3_2)) goto tmp2_end;
_txt = tmp3_1;
tmpMeta[0] = _txt;
goto tmp2_done;
}
case 1: {
if (listEmpty(tmp3_2)) goto tmp2_end;
tmpMeta[1] = MMC_CAR(tmp3_2);
tmpMeta[2] = MMC_CDR(tmp3_2);
_i_exp = tmpMeta[1];
_rest = tmpMeta[2];
_txt = tmp3_1;
_a_litindex = tmp3_3;
_x_i0 = omc_Tpl_getIteri__i0(threadData, _txt);
_txt_0 = omc_Tpl_writeStr(threadData, _OMC_LIT20, intString(_a_litindex));
_txt_0 = omc_Tpl_writeTok(threadData, _txt_0, _OMC_LIT236);
_txt_0 = omc_Tpl_writeStr(threadData, _txt_0, intString(_x_i0));
_txt = omc_CodegenCFunctions_literalExpConstBoxedVal(threadData, _txt, _i_exp, _txt_0 ,&_txt_0);
_txt = omc_Tpl_nextIter(threadData, _txt);
_in_txt = _txt;
_in_items = _rest;
_in_a_litindex = _a_litindex;
goto _tailrecursive;
goto tmp2_done;
}
}
goto tmp2_end;
tmp2_end: ;
}
goto goto_1;
goto_1:;
MMC_THROW_INTERNAL();
goto tmp2_done;
tmp2_done:;
}
}
_out_txt = tmpMeta[0];
_return: OMC_LABEL_UNUSED
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_lm__583(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_items, modelica_metatype _in_a_litindex)
{
modelica_integer tmp1;
modelica_metatype _out_txt = NULL;
tmp1 = mmc_unbox_integer(_in_a_litindex);
_out_txt = omc_CodegenCFunctions_lm__583(threadData, _in_txt, _in_items, tmp1);
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_lm__582(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_items, modelica_integer _in_a_litindex)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta[3] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp3_1;modelica_metatype tmp3_2;modelica_integer tmp3_3;
tmp3_1 = _in_txt;
tmp3_2 = _in_items;
tmp3_3 = _in_a_litindex;
{
modelica_metatype _txt = NULL;
modelica_metatype _rest = NULL;
modelica_integer _a_litindex;
modelica_integer _x_i0;
modelica_metatype _i_exp = NULL;
modelica_metatype _txt_0 = NULL;
volatile mmc_switch_type tmp3;
int tmp4;
tmp3 = 0;
for (; tmp3 < 2; tmp3++) {
switch (MMC_SWITCH_CAST(tmp3)) {
case 0: {
if (!listEmpty(tmp3_2)) goto tmp2_end;
_txt = tmp3_1;
tmpMeta[0] = _txt;
goto tmp2_done;
}
case 1: {
if (listEmpty(tmp3_2)) goto tmp2_end;
tmpMeta[1] = MMC_CAR(tmp3_2);
tmpMeta[2] = MMC_CDR(tmp3_2);
_i_exp = tmpMeta[1];
_rest = tmpMeta[2];
_txt = tmp3_1;
_a_litindex = tmp3_3;
_x_i0 = omc_Tpl_getIteri__i0(threadData, _txt);
_txt_0 = omc_Tpl_writeStr(threadData, _OMC_LIT20, intString(_a_litindex));
_txt_0 = omc_Tpl_writeTok(threadData, _txt_0, _OMC_LIT236);
_txt_0 = omc_Tpl_writeStr(threadData, _txt_0, intString(_x_i0));
_txt = omc_CodegenCFunctions_literalExpConstBoxedValPreLit(threadData, _txt, _i_exp, _txt_0 ,&_txt_0);
_txt = omc_Tpl_nextIter(threadData, _txt);
_in_txt = _txt;
_in_items = _rest;
_in_a_litindex = _a_litindex;
goto _tailrecursive;
goto tmp2_done;
}
}
goto tmp2_end;
tmp2_end: ;
}
goto goto_1;
goto_1:;
MMC_THROW_INTERNAL();
goto tmp2_done;
tmp2_done:;
}
}
_out_txt = tmpMeta[0];
_return: OMC_LABEL_UNUSED
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_lm__582(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_items, modelica_metatype _in_a_litindex)
{
modelica_integer tmp1;
modelica_metatype _out_txt = NULL;
tmp1 = mmc_unbox_integer(_in_a_litindex);
_out_txt = omc_CodegenCFunctions_lm__582(threadData, _in_txt, _in_items, tmp1);
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_lm__581(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_items, modelica_integer _in_a_litindex)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta[3] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp3_1;modelica_metatype tmp3_2;modelica_integer tmp3_3;
tmp3_1 = _in_txt;
tmp3_2 = _in_items;
tmp3_3 = _in_a_litindex;
{
modelica_metatype _txt = NULL;
modelica_metatype _rest = NULL;
modelica_integer _a_litindex;
modelica_integer _x_i0;
modelica_metatype _i_exp = NULL;
modelica_metatype _txt_0 = NULL;
volatile mmc_switch_type tmp3;
int tmp4;
tmp3 = 0;
for (; tmp3 < 2; tmp3++) {
switch (MMC_SWITCH_CAST(tmp3)) {
case 0: {
if (!listEmpty(tmp3_2)) goto tmp2_end;
_txt = tmp3_1;
tmpMeta[0] = _txt;
goto tmp2_done;
}
case 1: {
if (listEmpty(tmp3_2)) goto tmp2_end;
tmpMeta[1] = MMC_CAR(tmp3_2);
tmpMeta[2] = MMC_CDR(tmp3_2);
_i_exp = tmpMeta[1];
_rest = tmpMeta[2];
_txt = tmp3_1;
_a_litindex = tmp3_3;
_x_i0 = omc_Tpl_getIteri__i0(threadData, _txt);
_txt_0 = omc_Tpl_writeStr(threadData, _OMC_LIT20, intString(_a_litindex));
_txt_0 = omc_Tpl_writeTok(threadData, _txt_0, _OMC_LIT236);
_txt_0 = omc_Tpl_writeStr(threadData, _txt_0, intString(_x_i0));
_txt = omc_CodegenCFunctions_literalExpConstBoxedVal(threadData, _txt, _i_exp, _txt_0 ,&_txt_0);
_txt = omc_Tpl_nextIter(threadData, _txt);
_in_txt = _txt;
_in_items = _rest;
_in_a_litindex = _a_litindex;
goto _tailrecursive;
goto tmp2_done;
}
}
goto tmp2_end;
tmp2_end: ;
}
goto goto_1;
goto_1:;
MMC_THROW_INTERNAL();
goto tmp2_done;
tmp2_done:;
}
}
_out_txt = tmpMeta[0];
_return: OMC_LABEL_UNUSED
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_lm__581(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_items, modelica_metatype _in_a_litindex)
{
modelica_integer tmp1;
modelica_metatype _out_txt = NULL;
tmp1 = mmc_unbox_integer(_in_a_litindex);
_out_txt = omc_CodegenCFunctions_lm__581(threadData, _in_txt, _in_items, tmp1);
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__580(threadData_t *threadData, modelica_metatype _in_txt, modelica_boolean _in_mArg, modelica_metatype _in_a_listExp, modelica_metatype _in_a_tmp)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta[1] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp3_1;modelica_boolean tmp3_2;modelica_metatype tmp3_3;modelica_metatype tmp3_4;
tmp3_1 = _in_txt;
tmp3_2 = _in_mArg;
tmp3_3 = _in_a_listExp;
tmp3_4 = _in_a_tmp;
{
modelica_metatype _txt = NULL;
modelica_metatype _a_listExp = NULL;
modelica_metatype _a_tmp = NULL;
modelica_integer _ret_0;
volatile mmc_switch_type tmp3;
int tmp4;
tmp3 = 0;
for (; tmp3 < 2; tmp3++) {
switch (MMC_SWITCH_CAST(tmp3)) {
case 0: {
if (0 != tmp3_2) goto tmp2_end;
_txt = tmp3_1;
_a_listExp = tmp3_3;
_a_tmp = tmp3_4;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1708);
_txt = omc_Tpl_writeText(threadData, _txt, _a_tmp);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT226);
_ret_0 = listLength(_a_listExp);
_txt = omc_Tpl_writeStr(threadData, _txt, intString(_ret_0));
tmpMeta[0] = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1710);
goto tmp2_done;
}
case 1: {
_txt = tmp3_1;
_a_tmp = tmp3_4;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1712);
_txt = omc_Tpl_writeText(threadData, _txt, _a_tmp);
tmpMeta[0] = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1710);
goto tmp2_done;
}
}
goto tmp2_end;
tmp2_end: ;
}
goto goto_1;
goto_1:;
MMC_THROW_INTERNAL();
goto tmp2_done;
tmp2_done:;
}
}
_out_txt = tmpMeta[0];
_return: OMC_LABEL_UNUSED
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__580(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_mArg, modelica_metatype _in_a_listExp, modelica_metatype _in_a_tmp)
{
modelica_integer tmp1;
modelica_metatype _out_txt = NULL;
tmp1 = mmc_unbox_integer(_in_mArg);
_out_txt = omc_CodegenCFunctions_fun__580(threadData, _in_txt, tmp1, _in_a_listExp, _in_a_tmp);
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_lm__579(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_items, modelica_integer _in_a_litindex)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta[3] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp3_1;modelica_metatype tmp3_2;modelica_integer tmp3_3;
tmp3_1 = _in_txt;
tmp3_2 = _in_items;
tmp3_3 = _in_a_litindex;
{
modelica_metatype _txt = NULL;
modelica_metatype _rest = NULL;
modelica_integer _a_litindex;
modelica_integer _x_i0;
modelica_metatype _i_exp = NULL;
modelica_metatype _txt_0 = NULL;
volatile mmc_switch_type tmp3;
int tmp4;
tmp3 = 0;
for (; tmp3 < 2; tmp3++) {
switch (MMC_SWITCH_CAST(tmp3)) {
case 0: {
if (!listEmpty(tmp3_2)) goto tmp2_end;
_txt = tmp3_1;
tmpMeta[0] = _txt;
goto tmp2_done;
}
case 1: {
if (listEmpty(tmp3_2)) goto tmp2_end;
tmpMeta[1] = MMC_CAR(tmp3_2);
tmpMeta[2] = MMC_CDR(tmp3_2);
_i_exp = tmpMeta[1];
_rest = tmpMeta[2];
_txt = tmp3_1;
_a_litindex = tmp3_3;
_x_i0 = omc_Tpl_getIteri__i0(threadData, _txt);
_txt_0 = omc_Tpl_writeStr(threadData, _OMC_LIT20, intString(_a_litindex));
_txt_0 = omc_Tpl_writeTok(threadData, _txt_0, _OMC_LIT236);
_txt_0 = omc_Tpl_writeStr(threadData, _txt_0, intString(_x_i0));
_txt = omc_CodegenCFunctions_literalExpConstBoxedValPreLit(threadData, _txt, _i_exp, _txt_0 ,&_txt_0);
_txt = omc_Tpl_nextIter(threadData, _txt);
_in_txt = _txt;
_in_items = _rest;
_in_a_litindex = _a_litindex;
goto _tailrecursive;
goto tmp2_done;
}
}
goto tmp2_end;
tmp2_end: ;
}
goto goto_1;
goto_1:;
MMC_THROW_INTERNAL();
goto tmp2_done;
tmp2_done:;
}
}
_out_txt = tmpMeta[0];
_return: OMC_LABEL_UNUSED
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_lm__579(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_items, modelica_metatype _in_a_litindex)
{
modelica_integer tmp1;
modelica_metatype _out_txt = NULL;
tmp1 = mmc_unbox_integer(_in_a_litindex);
_out_txt = omc_CodegenCFunctions_lm__579(threadData, _in_txt, _in_items, tmp1);
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_lm__578(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_items, modelica_metatype _in_a_tmp)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta[3] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp3_1;modelica_metatype tmp3_2;modelica_metatype tmp3_3;
tmp3_1 = _in_txt;
tmp3_2 = _in_items;
tmp3_3 = _in_a_tmp;
{
modelica_metatype _txt = NULL;
modelica_metatype _rest = NULL;
modelica_metatype _a_tmp = NULL;
modelica_integer _x_i;
modelica_metatype _i_v = NULL;
modelica_metatype _txt_1 = NULL;
modelica_metatype _txt_0 = NULL;
volatile mmc_switch_type tmp3;
int tmp4;
tmp3 = 0;
for (; tmp3 < 2; tmp3++) {
switch (MMC_SWITCH_CAST(tmp3)) {
case 0: {
if (!listEmpty(tmp3_2)) goto tmp2_end;
_txt = tmp3_1;
tmpMeta[0] = _txt;
goto tmp2_done;
}
case 1: {
if (listEmpty(tmp3_2)) goto tmp2_end;
tmpMeta[1] = MMC_CAR(tmp3_2);
tmpMeta[2] = MMC_CDR(tmp3_2);
_i_v = tmpMeta[1];
_rest = tmpMeta[2];
_txt = tmp3_1;
_a_tmp = tmp3_3;
_x_i = omc_Tpl_getIteri__i0(threadData, _txt);
_txt_0 = omc_Tpl_writeText(threadData, _OMC_LIT20, _a_tmp);
_txt_0 = omc_Tpl_writeTok(threadData, _txt_0, _OMC_LIT1714);
_txt_0 = omc_Tpl_writeStr(threadData, _txt_0, intString(_x_i));
_txt = omc_CodegenCFunctions_literalExpConstBoxedValPreLit(threadData, _txt, _i_v, _txt_0 ,&_txt_0);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1676);
_txt = omc_Tpl_writeText(threadData, _txt, _a_tmp);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1685);
_txt = omc_Tpl_writeStr(threadData, _txt, intString(_x_i));
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1678);
_txt_1 = omc_Tpl_writeText(threadData, _OMC_LIT20, _a_tmp);
_txt_1 = omc_Tpl_writeTok(threadData, _txt_1, _OMC_LIT1714);
_txt_1 = omc_Tpl_writeStr(threadData, _txt_1, intString(_x_i));
_txt = omc_CodegenCFunctions_literalExpConstBoxedVal(threadData, _txt, _i_v, _txt_1 ,&_txt_1);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1716);
_txt = omc_CodegenCFunctions_fun__577(threadData, _txt, _x_i, _a_tmp);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1718);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT89);
_txt = omc_Tpl_nextIter(threadData, _txt);
_in_txt = _txt;
_in_items = _rest;
_in_a_tmp = _a_tmp;
goto _tailrecursive;
goto tmp2_done;
}
}
goto tmp2_end;
tmp2_end: ;
}
goto goto_1;
goto_1:;
MMC_THROW_INTERNAL();
goto tmp2_done;
tmp2_done:;
}
}
_out_txt = tmpMeta[0];
_return: OMC_LABEL_UNUSED
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__577(threadData_t *threadData, modelica_metatype _in_txt, modelica_integer _in_a_i, modelica_metatype _in_a_tmp)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta[1] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp3_1;modelica_integer tmp3_2;modelica_metatype tmp3_3;
tmp3_1 = _in_txt;
tmp3_2 = _in_a_i;
tmp3_3 = _in_a_tmp;
{
modelica_metatype _txt = NULL;
modelica_metatype _a_tmp = NULL;
modelica_integer _i_i;
modelica_integer _ret_0;
volatile mmc_switch_type tmp3;
int tmp4;
tmp3 = 0;
for (; tmp3 < 2; tmp3++) {
switch (MMC_SWITCH_CAST(tmp3)) {
case 0: {
if (1 != tmp3_2) goto tmp2_end;
_txt = tmp3_1;
tmpMeta[0] = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1720);
goto tmp2_done;
}
case 1: {
_txt = tmp3_1;
_i_i = tmp3_2;
_a_tmp = tmp3_3;
_txt = omc_Tpl_writeText(threadData, _txt, _a_tmp);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1685);
_ret_0 = ((modelica_integer) -1) + _i_i;
tmpMeta[0] = omc_Tpl_writeStr(threadData, _txt, intString(_ret_0));
goto tmp2_done;
}
}
goto tmp2_end;
tmp2_end: ;
}
goto goto_1;
goto_1:;
MMC_THROW_INTERNAL();
goto tmp2_done;
tmp2_done:;
}
}
_out_txt = tmpMeta[0];
_return: OMC_LABEL_UNUSED
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__577(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_i, modelica_metatype _in_a_tmp)
{
modelica_integer tmp1;
modelica_metatype _out_txt = NULL;
tmp1 = mmc_unbox_integer(_in_a_i);
_out_txt = omc_CodegenCFunctions_fun__577(threadData, _in_txt, tmp1, _in_a_tmp);
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__576(threadData_t *threadData, modelica_metatype _in_txt, modelica_string _in_mArg, modelica_metatype _in_a_data, modelica_metatype _in_a_sty, modelica_metatype _in_a_ndim, modelica_metatype _in_a_name)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta[1] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp3_1;modelica_string tmp3_2;modelica_metatype tmp3_3;modelica_metatype tmp3_4;modelica_metatype tmp3_5;modelica_metatype tmp3_6;
tmp3_1 = _in_txt;
tmp3_2 = _in_mArg;
tmp3_3 = _in_a_data;
tmp3_4 = _in_a_sty;
tmp3_5 = _in_a_ndim;
tmp3_6 = _in_a_name;
{
modelica_metatype _txt = NULL;
modelica_metatype _a_data = NULL;
modelica_metatype _a_sty = NULL;
modelica_metatype _a_ndim = NULL;
modelica_metatype _a_name = NULL;
volatile mmc_switch_type tmp3;
int tmp4;
tmp3 = 0;
for (; tmp3 < 2; tmp3++) {
switch (MMC_SWITCH_CAST(tmp3)) {
case 0: {
if (0 != MMC_STRLEN(tmp3_2) || strcmp(MMC_STRINGDATA(_OMC_LIT91), MMC_STRINGDATA(tmp3_2)) != 0) goto tmp2_end;
_txt = tmp3_1;
_a_ndim = tmp3_5;
_a_name = tmp3_6;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1722);
_txt = omc_Tpl_writeText(threadData, _txt, _a_name);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1724);
_txt = omc_Tpl_pushBlock(threadData, _txt, _OMC_LIT97);
_txt = omc_Tpl_writeText(threadData, _txt, _a_ndim);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT292);
_txt = omc_Tpl_writeText(threadData, _txt, _a_name);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1726);
_txt = omc_Tpl_popBlock(threadData, _txt);
tmpMeta[0] = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1383);
goto tmp2_done;
}
case 1: {
_txt = tmp3_1;
_a_data = tmp3_3;
_a_sty = tmp3_4;
_a_ndim = tmp3_5;
_a_name = tmp3_6;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1728);
_txt = omc_Tpl_writeText(threadData, _txt, _a_sty);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT29);
_txt = omc_Tpl_writeText(threadData, _txt, _a_name);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1730);
_txt = omc_Tpl_writeText(threadData, _txt, _a_data);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1733);
_txt = omc_Tpl_writeText(threadData, _txt, _a_sty);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1735);
_txt = omc_Tpl_writeText(threadData, _txt, _a_name);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1724);
_txt = omc_Tpl_pushBlock(threadData, _txt, _OMC_LIT97);
_txt = omc_Tpl_writeText(threadData, _txt, _a_ndim);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT292);
_txt = omc_Tpl_writeText(threadData, _txt, _a_name);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1737);
_txt = omc_Tpl_writeText(threadData, _txt, _a_name);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1739);
_txt = omc_Tpl_popBlock(threadData, _txt);
tmpMeta[0] = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1383);
goto tmp2_done;
}
}
goto tmp2_end;
tmp2_end: ;
}
goto goto_1;
goto_1:;
MMC_THROW_INTERNAL();
goto tmp2_done;
tmp2_done:;
}
}
_out_txt = tmpMeta[0];
_return: OMC_LABEL_UNUSED
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_lm__575(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_items)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta[3] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp3_1;modelica_metatype tmp3_2;
tmp3_1 = _in_txt;
tmp3_2 = _in_items;
{
modelica_metatype _txt = NULL;
modelica_metatype _rest = NULL;
modelica_metatype _i_exp = NULL;
volatile mmc_switch_type tmp3;
int tmp4;
tmp3 = 0;
for (; tmp3 < 2; tmp3++) {
switch (MMC_SWITCH_CAST(tmp3)) {
case 0: {
if (!listEmpty(tmp3_2)) goto tmp2_end;
_txt = tmp3_1;
tmpMeta[0] = _txt;
goto tmp2_done;
}
case 1: {
if (listEmpty(tmp3_2)) goto tmp2_end;
tmpMeta[1] = MMC_CAR(tmp3_2);
tmpMeta[2] = MMC_CDR(tmp3_2);
_i_exp = tmpMeta[1];
_rest = tmpMeta[2];
_txt = tmp3_1;
_txt = omc_CodegenCFunctions_literalExpConstArrayVal(threadData, _txt, _i_exp);
_txt = omc_Tpl_nextIter(threadData, _txt);
_in_txt = _txt;
_in_items = _rest;
goto _tailrecursive;
goto tmp2_done;
}
}
goto tmp2_end;
tmp2_end: ;
}
goto goto_1;
goto_1:;
MMC_THROW_INTERNAL();
goto tmp2_done;
tmp2_done:;
}
}
_out_txt = tmpMeta[0];
_return: OMC_LABEL_UNUSED
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_lm__574(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_items)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta[3] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp3_1;modelica_metatype tmp3_2;
tmp3_1 = _in_txt;
tmp3_2 = _in_items;
{
modelica_metatype _txt = NULL;
modelica_metatype _rest = NULL;
modelica_integer _i_dim;
volatile mmc_switch_type tmp3;
int tmp4;
tmp3 = 0;
for (; tmp3 < 2; tmp3++) {
switch (MMC_SWITCH_CAST(tmp3)) {
case 0: {
if (!listEmpty(tmp3_2)) goto tmp2_end;
_txt = tmp3_1;
tmpMeta[0] = _txt;
goto tmp2_done;
}
case 1: {
modelica_integer tmp5;
if (listEmpty(tmp3_2)) goto tmp2_end;
tmpMeta[1] = MMC_CAR(tmp3_2);
tmpMeta[2] = MMC_CDR(tmp3_2);
tmp5 = mmc_unbox_integer(tmpMeta[1]);
_i_dim = tmp5;
_rest = tmpMeta[2];
_txt = tmp3_1;
_txt = omc_Tpl_writeStr(threadData, _txt, intString(_i_dim));
_txt = omc_Tpl_nextIter(threadData, _txt);
_in_txt = _txt;
_in_items = _rest;
goto _tailrecursive;
goto tmp2_done;
}
}
goto tmp2_end;
tmp2_end: ;
}
goto goto_1;
goto_1:;
MMC_THROW_INTERNAL();
goto tmp2_done;
tmp2_done:;
}
}
_out_txt = tmpMeta[0];
_return: OMC_LABEL_UNUSED
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__573(threadData_t *threadData, modelica_metatype _in_txt, modelica_string _in_mArg, modelica_metatype _in_a_data, modelica_metatype _in_a_sty, modelica_metatype _in_a_ndim, modelica_metatype _in_a_name)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta[1] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp3_1;modelica_string tmp3_2;modelica_metatype tmp3_3;modelica_metatype tmp3_4;modelica_metatype tmp3_5;modelica_metatype tmp3_6;
tmp3_1 = _in_txt;
tmp3_2 = _in_mArg;
tmp3_3 = _in_a_data;
tmp3_4 = _in_a_sty;
tmp3_5 = _in_a_ndim;
tmp3_6 = _in_a_name;
{
modelica_metatype _txt = NULL;
modelica_metatype _a_data = NULL;
modelica_metatype _a_sty = NULL;
modelica_metatype _a_ndim = NULL;
modelica_metatype _a_name = NULL;
volatile mmc_switch_type tmp3;
int tmp4;
tmp3 = 0;
for (; tmp3 < 2; tmp3++) {
switch (MMC_SWITCH_CAST(tmp3)) {
case 0: {
if (0 != MMC_STRLEN(tmp3_2) || strcmp(MMC_STRINGDATA(_OMC_LIT91), MMC_STRINGDATA(tmp3_2)) != 0) goto tmp2_end;
_txt = tmp3_1;
_a_ndim = tmp3_5;
_a_name = tmp3_6;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1722);
_txt = omc_Tpl_writeText(threadData, _txt, _a_name);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1724);
_txt = omc_Tpl_pushBlock(threadData, _txt, _OMC_LIT97);
_txt = omc_Tpl_writeText(threadData, _txt, _a_ndim);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT292);
_txt = omc_Tpl_writeText(threadData, _txt, _a_name);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1726);
_txt = omc_Tpl_popBlock(threadData, _txt);
tmpMeta[0] = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1383);
goto tmp2_done;
}
case 1: {
_txt = tmp3_1;
_a_data = tmp3_3;
_a_sty = tmp3_4;
_a_ndim = tmp3_5;
_a_name = tmp3_6;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1728);
_txt = omc_Tpl_writeText(threadData, _txt, _a_sty);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT29);
_txt = omc_Tpl_writeText(threadData, _txt, _a_name);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1730);
_txt = omc_Tpl_writeText(threadData, _txt, _a_data);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1733);
_txt = omc_Tpl_writeText(threadData, _txt, _a_sty);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1735);
_txt = omc_Tpl_writeText(threadData, _txt, _a_name);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1724);
_txt = omc_Tpl_pushBlock(threadData, _txt, _OMC_LIT97);
_txt = omc_Tpl_writeText(threadData, _txt, _a_ndim);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT292);
_txt = omc_Tpl_writeText(threadData, _txt, _a_name);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1737);
_txt = omc_Tpl_writeText(threadData, _txt, _a_name);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1739);
_txt = omc_Tpl_popBlock(threadData, _txt);
tmpMeta[0] = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1383);
goto tmp2_done;
}
}
goto tmp2_end;
tmp2_end: ;
}
goto goto_1;
goto_1:;
MMC_THROW_INTERNAL();
goto tmp2_done;
tmp2_done:;
}
}
_out_txt = tmpMeta[0];
_return: OMC_LABEL_UNUSED
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_lm__572(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_items)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta[3] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp3_1;modelica_metatype tmp3_2;
tmp3_1 = _in_txt;
tmp3_2 = _in_items;
{
modelica_metatype _txt = NULL;
modelica_metatype _rest = NULL;
modelica_metatype _i_exp = NULL;
volatile mmc_switch_type tmp3;
int tmp4;
tmp3 = 0;
for (; tmp3 < 2; tmp3++) {
switch (MMC_SWITCH_CAST(tmp3)) {
case 0: {
if (!listEmpty(tmp3_2)) goto tmp2_end;
_txt = tmp3_1;
tmpMeta[0] = _txt;
goto tmp2_done;
}
case 1: {
if (listEmpty(tmp3_2)) goto tmp2_end;
tmpMeta[1] = MMC_CAR(tmp3_2);
tmpMeta[2] = MMC_CDR(tmp3_2);
_i_exp = tmpMeta[1];
_rest = tmpMeta[2];
_txt = tmp3_1;
_txt = omc_CodegenCFunctions_literalExpConstArrayVal(threadData, _txt, _i_exp);
_txt = omc_Tpl_nextIter(threadData, _txt);
_in_txt = _txt;
_in_items = _rest;
goto _tailrecursive;
goto tmp2_done;
}
}
goto tmp2_end;
tmp2_end: ;
}
goto goto_1;
goto_1:;
MMC_THROW_INTERNAL();
goto tmp2_done;
tmp2_done:;
}
}
_out_txt = tmpMeta[0];
_return: OMC_LABEL_UNUSED
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_lm__571(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_items)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta[3] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp3_1;modelica_metatype tmp3_2;
tmp3_1 = _in_txt;
tmp3_2 = _in_items;
{
modelica_metatype _txt = NULL;
modelica_metatype _rest = NULL;
modelica_integer _i_dim;
volatile mmc_switch_type tmp3;
int tmp4;
tmp3 = 0;
for (; tmp3 < 2; tmp3++) {
switch (MMC_SWITCH_CAST(tmp3)) {
case 0: {
if (!listEmpty(tmp3_2)) goto tmp2_end;
_txt = tmp3_1;
tmpMeta[0] = _txt;
goto tmp2_done;
}
case 1: {
modelica_integer tmp5;
if (listEmpty(tmp3_2)) goto tmp2_end;
tmpMeta[1] = MMC_CAR(tmp3_2);
tmpMeta[2] = MMC_CDR(tmp3_2);
tmp5 = mmc_unbox_integer(tmpMeta[1]);
_i_dim = tmp5;
_rest = tmpMeta[2];
_txt = tmp3_1;
_txt = omc_Tpl_writeStr(threadData, _txt, intString(_i_dim));
_txt = omc_Tpl_nextIter(threadData, _txt);
_in_txt = _txt;
_in_items = _rest;
goto _tailrecursive;
goto tmp2_done;
}
}
goto tmp2_end;
tmp2_end: ;
}
goto goto_1;
goto_1:;
MMC_THROW_INTERNAL();
goto tmp2_done;
tmp2_done:;
}
}
_out_txt = tmpMeta[0];
_return: OMC_LABEL_UNUSED
return _out_txt;
}
DLLExport
modelica_metatype omc_CodegenCFunctions_recordsFile(threadData_t *threadData, modelica_metatype _txt, modelica_string _a_filePrefix, modelica_metatype _a_recordDecls, modelica_boolean _a_isSimulation)
{
modelica_metatype _out_txt = NULL;
modelica_string _ret_1 = NULL;
modelica_metatype _l_recDeclsFile = NULL;
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
_l_recDeclsFile = omc_CodegenCFunctions_fun__568(threadData, _OMC_LIT20, _a_isSimulation, _a_filePrefix);
_out_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1741);
_out_txt = omc_Tpl_writeStr(threadData, _out_txt, _a_filePrefix);
_out_txt = omc_Tpl_writeTok(threadData, _out_txt, _OMC_LIT1743);
_ret_1 = omc_Settings_getVersionNr(threadData);
_out_txt = omc_Tpl_writeStr(threadData, _out_txt, _ret_1);
_out_txt = omc_Tpl_writeTok(threadData, _out_txt, _OMC_LIT1753);
_out_txt = omc_Tpl_writeText(threadData, _out_txt, _l_recDeclsFile);
_out_txt = omc_Tpl_writeTok(threadData, _out_txt, _OMC_LIT1763);
_out_txt = omc_Tpl_pushIter(threadData, _out_txt, _OMC_LIT1767);
_out_txt = omc_CodegenCFunctions_lm__569(threadData, _out_txt, _a_recordDecls);
_out_txt = omc_Tpl_popIter(threadData, _out_txt);
_out_txt = omc_Tpl_softNewLine(threadData, _out_txt);
_out_txt = omc_Tpl_writeTok(threadData, _out_txt, _OMC_LIT1771);
_return: OMC_LABEL_UNUSED
return _out_txt;
}
modelica_metatype boxptr_CodegenCFunctions_recordsFile(threadData_t *threadData, modelica_metatype _txt, modelica_metatype _a_filePrefix, modelica_metatype _a_recordDecls, modelica_metatype _a_isSimulation)
{
modelica_integer tmp1;
modelica_metatype _out_txt = NULL;
tmp1 = mmc_unbox_integer(_a_isSimulation);
_out_txt = omc_CodegenCFunctions_recordsFile(threadData, _txt, _a_filePrefix, _a_recordDecls, tmp1);
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_lm__569(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_items)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta[3] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp3_1;modelica_metatype tmp3_2;
tmp3_1 = _in_txt;
tmp3_2 = _in_items;
{
modelica_metatype _txt = NULL;
modelica_metatype _rest = NULL;
modelica_metatype _i_rd = NULL;
volatile mmc_switch_type tmp3;
int tmp4;
tmp3 = 0;
for (; tmp3 < 2; tmp3++) {
switch (MMC_SWITCH_CAST(tmp3)) {
case 0: {
if (!listEmpty(tmp3_2)) goto tmp2_end;
_txt = tmp3_1;
tmpMeta[0] = _txt;
goto tmp2_done;
}
case 1: {
if (listEmpty(tmp3_2)) goto tmp2_end;
tmpMeta[1] = MMC_CAR(tmp3_2);
tmpMeta[2] = MMC_CDR(tmp3_2);
_i_rd = tmpMeta[1];
_rest = tmpMeta[2];
_txt = tmp3_1;
_txt = omc_CodegenCFunctions_recordDeclaration(threadData, _txt, _i_rd);
_txt = omc_Tpl_nextIter(threadData, _txt);
_in_txt = _txt;
_in_items = _rest;
goto _tailrecursive;
goto tmp2_done;
}
}
goto tmp2_end;
tmp2_end: ;
}
goto goto_1;
goto_1:;
MMC_THROW_INTERNAL();
goto tmp2_done;
tmp2_done:;
}
}
_out_txt = tmpMeta[0];
_return: OMC_LABEL_UNUSED
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__568(threadData_t *threadData, modelica_metatype _in_txt, modelica_boolean _in_a_isSimulation, modelica_string _in_a_filePrefix)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta[1] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp3_1;modelica_boolean tmp3_2;modelica_string tmp3_3;
tmp3_1 = _in_txt;
tmp3_2 = _in_a_isSimulation;
tmp3_3 = _in_a_filePrefix;
{
modelica_metatype _txt = NULL;
modelica_string _a_filePrefix = NULL;
volatile mmc_switch_type tmp3;
int tmp4;
tmp3 = 0;
for (; tmp3 < 2; tmp3++) {
switch (MMC_SWITCH_CAST(tmp3)) {
case 0: {
if (0 != tmp3_2) goto tmp2_end;
_txt = tmp3_1;
_a_filePrefix = tmp3_3;
_txt = omc_Tpl_writeStr(threadData, _txt, _a_filePrefix);
tmpMeta[0] = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1773);
goto tmp2_done;
}
case 1: {
_txt = tmp3_1;
_a_filePrefix = tmp3_3;
_txt = omc_Tpl_writeStr(threadData, _txt, _a_filePrefix);
tmpMeta[0] = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1775);
goto tmp2_done;
}
}
goto tmp2_end;
tmp2_end: ;
}
goto goto_1;
goto_1:;
MMC_THROW_INTERNAL();
goto tmp2_done;
tmp2_done:;
}
}
_out_txt = tmpMeta[0];
_return: OMC_LABEL_UNUSED
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__568(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_isSimulation, modelica_metatype _in_a_filePrefix)
{
modelica_integer tmp1;
modelica_metatype _out_txt = NULL;
tmp1 = mmc_unbox_integer(_in_a_isSimulation);
_out_txt = omc_CodegenCFunctions_fun__568(threadData, _in_txt, tmp1, _in_a_filePrefix);
return _out_txt;
}
DLLExport
modelica_metatype omc_CodegenCFunctions_functionsParModelicaKernelsFile(threadData_t *threadData, modelica_metatype _txt, modelica_string _a_filePrefix, modelica_metatype _a_mainFunction, modelica_metatype _a_functions)
{
modelica_metatype _out_txt = NULL;
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
omc_System_tmpTickResetIndex(threadData, ((modelica_integer) 0), ((modelica_integer) 20));
_out_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1781);
_out_txt = omc_CodegenCFunctions_functionHeadersParModelica(threadData, _out_txt, _a_filePrefix, _a_functions);
_out_txt = omc_Tpl_softNewLine(threadData, _out_txt);
_out_txt = omc_Tpl_writeTok(threadData, _out_txt, _OMC_LIT1785);
_out_txt = omc_CodegenCFunctions_fun__566(threadData, _out_txt, _a_mainFunction);
_out_txt = omc_Tpl_softNewLine(threadData, _out_txt);
_out_txt = omc_CodegenCFunctions_functionBodiesParModelica(threadData, _out_txt, _a_functions);
_out_txt = omc_Tpl_softNewLine(threadData, _out_txt);
_out_txt = omc_Tpl_writeTok(threadData, _out_txt, _OMC_LIT1765);
_return: OMC_LABEL_UNUSED
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__566(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_mainFunction)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta[2] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp3_1;modelica_metatype tmp3_2;
tmp3_1 = _in_txt;
tmp3_2 = _in_a_mainFunction;
{
modelica_metatype _txt = NULL;
modelica_metatype _i_fn = NULL;
volatile mmc_switch_type tmp3;
int tmp4;
tmp3 = 0;
for (; tmp3 < 2; tmp3++) {
switch (MMC_SWITCH_CAST(tmp3)) {
case 0: {
if (optionNone(tmp3_2)) goto tmp2_end;
tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_2), 1));
_i_fn = tmpMeta[1];
_txt = tmp3_1;
tmpMeta[0] = omc_CodegenCFunctions_functionBodyParModelica(threadData, _txt, _i_fn, 1);
goto tmp2_done;
}
case 1: {
_txt = tmp3_1;
tmpMeta[0] = _txt;
goto tmp2_done;
}
}
goto tmp2_end;
tmp2_end: ;
}
goto goto_1;
goto_1:;
MMC_THROW_INTERNAL();
goto tmp2_done;
tmp2_done:;
}
}
_out_txt = tmpMeta[0];
_return: OMC_LABEL_UNUSED
return _out_txt;
}
DLLExport
modelica_metatype omc_CodegenCFunctions_elseExpr(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_else__, modelica_metatype _in_a_context, modelica_metatype _in_a_varDecls, modelica_metatype _in_a_auxFunction, modelica_metatype *out_out_a_varDecls, modelica_metatype *out_out_a_auxFunction)
{
modelica_metatype _out_txt = NULL;
modelica_metatype _out_a_varDecls = NULL;
modelica_metatype _out_a_auxFunction = NULL;
modelica_metatype tmpMeta[6] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_metatype tmp4_2;modelica_metatype tmp4_3;modelica_metatype tmp4_4;modelica_metatype tmp4_5;
tmp4_1 = _in_txt;
tmp4_2 = _in_a_else__;
tmp4_3 = _in_a_context;
tmp4_4 = _in_a_varDecls;
tmp4_5 = _in_a_auxFunction;
{
modelica_metatype _txt = NULL;
modelica_metatype _a_context = NULL;
modelica_metatype _a_varDecls = NULL;
modelica_metatype _a_auxFunction = NULL;
modelica_metatype _i_else__ = NULL;
modelica_metatype _i_statementLst = NULL;
modelica_metatype _i_exp = NULL;
modelica_metatype _l_condExp = NULL;
modelica_metatype _l_preExp = NULL;
int tmp4;
{
switch (MMC_SWITCH_CAST(valueConstructor(tmp4_2))) {
case 3: {
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,0,0) == 0) goto tmp3_end;
_txt = tmp4_1;
_a_varDecls = tmp4_4;
_a_auxFunction = tmp4_5;
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_varDecls;
tmpMeta[0+2] = _a_auxFunction;
goto tmp3_done;
}
case 4: {
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,1,3) == 0) goto tmp3_end;
tmpMeta[3] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
tmpMeta[4] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 3));
tmpMeta[5] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 4));
_i_exp = tmpMeta[3];
_i_statementLst = tmpMeta[4];
_i_else__ = tmpMeta[5];
_txt = tmp4_1;
_a_context = tmp4_3;
_a_varDecls = tmp4_4;
_a_auxFunction = tmp4_5;
_l_preExp = _OMC_LIT20;
_l_condExp = omc_CodegenCFunctions_daeExp(threadData, _OMC_LIT20, _i_exp, _a_context, _l_preExp, _a_varDecls, _a_auxFunction ,&_l_preExp ,&_a_varDecls ,&_a_auxFunction);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1194);
_txt = omc_Tpl_pushBlock(threadData, _txt, _OMC_LIT97);
_txt = omc_Tpl_writeText(threadData, _txt, _l_preExp);
_txt = omc_Tpl_softNewLine(threadData, _txt);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT346);
_txt = omc_Tpl_writeText(threadData, _txt, _l_condExp);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT428);
_txt = omc_Tpl_pushBlock(threadData, _txt, _OMC_LIT97);
_txt = omc_Tpl_pushIter(threadData, _txt, _OMC_LIT96);
_txt = omc_CodegenCFunctions_lm__563(threadData, _txt, _i_statementLst, _a_auxFunction, _a_varDecls, _a_context ,&_a_auxFunction ,&_a_varDecls);
_txt = omc_Tpl_popIter(threadData, _txt);
_txt = omc_Tpl_softNewLine(threadData, _txt);
_txt = omc_Tpl_popBlock(threadData, _txt);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT159);
_txt = omc_CodegenCFunctions_elseExpr(threadData, _txt, _i_else__, _a_context, _a_varDecls, _a_auxFunction ,&_a_varDecls ,&_a_auxFunction);
_txt = omc_Tpl_softNewLine(threadData, _txt);
_txt = omc_Tpl_popBlock(threadData, _txt);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT103);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_varDecls;
tmpMeta[0+2] = _a_auxFunction;
goto tmp3_done;
}
case 5: {
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,2,1) == 0) goto tmp3_end;
tmpMeta[3] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
_i_statementLst = tmpMeta[3];
_txt = tmp4_1;
_a_context = tmp4_3;
_a_varDecls = tmp4_4;
_a_auxFunction = tmp4_5;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1194);
_txt = omc_Tpl_pushBlock(threadData, _txt, _OMC_LIT97);
_txt = omc_Tpl_pushIter(threadData, _txt, _OMC_LIT96);
_txt = omc_CodegenCFunctions_lm__564(threadData, _txt, _i_statementLst, _a_auxFunction, _a_varDecls, _a_context ,&_a_auxFunction ,&_a_varDecls);
_txt = omc_Tpl_popIter(threadData, _txt);
_txt = omc_Tpl_softNewLine(threadData, _txt);
_txt = omc_Tpl_popBlock(threadData, _txt);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT103);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_varDecls;
tmpMeta[0+2] = _a_auxFunction;
goto tmp3_done;
}
default:
tmp3_default: OMC_LABEL_UNUSED; {
_txt = tmp4_1;
_a_varDecls = tmp4_4;
_a_auxFunction = tmp4_5;
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_varDecls;
tmpMeta[0+2] = _a_auxFunction;
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta[0+0];
_out_a_varDecls = tmpMeta[0+1];
_out_a_auxFunction = tmpMeta[0+2];
_return: OMC_LABEL_UNUSED
if (out_out_a_varDecls) { *out_out_a_varDecls = _out_a_varDecls; }
if (out_out_a_auxFunction) { *out_out_a_auxFunction = _out_a_auxFunction; }
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_lm__564(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_items, modelica_metatype _in_a_auxFunction, modelica_metatype _in_a_varDecls, modelica_metatype _in_a_context, modelica_metatype *out_out_a_auxFunction, modelica_metatype *out_out_a_varDecls)
{
modelica_metatype _out_txt = NULL;
modelica_metatype _out_a_auxFunction = NULL;
modelica_metatype _out_a_varDecls = NULL;
modelica_metatype tmpMeta[5] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_metatype tmp4_2;modelica_metatype tmp4_3;modelica_metatype tmp4_4;modelica_metatype tmp4_5;
tmp4_1 = _in_txt;
tmp4_2 = _in_items;
tmp4_3 = _in_a_auxFunction;
tmp4_4 = _in_a_varDecls;
tmp4_5 = _in_a_context;
{
modelica_metatype _txt = NULL;
modelica_metatype _rest = NULL;
modelica_metatype _a_auxFunction = NULL;
modelica_metatype _a_varDecls = NULL;
modelica_metatype _a_context = NULL;
modelica_metatype _i_stmt = NULL;
volatile mmc_switch_type tmp4;
int tmp5;
tmp4 = 0;
for (; tmp4 < 2; tmp4++) {
switch (MMC_SWITCH_CAST(tmp4)) {
case 0: {
if (!listEmpty(tmp4_2)) goto tmp3_end;
_txt = tmp4_1;
_a_auxFunction = tmp4_3;
_a_varDecls = tmp4_4;
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_auxFunction;
tmpMeta[0+2] = _a_varDecls;
goto tmp3_done;
}
case 1: {
if (listEmpty(tmp4_2)) goto tmp3_end;
tmpMeta[3] = MMC_CAR(tmp4_2);
tmpMeta[4] = MMC_CDR(tmp4_2);
_i_stmt = tmpMeta[3];
_rest = tmpMeta[4];
_txt = tmp4_1;
_a_auxFunction = tmp4_3;
_a_varDecls = tmp4_4;
_a_context = tmp4_5;
_txt = omc_CodegenCFunctions_algStatement(threadData, _txt, _i_stmt, _a_context, _a_varDecls, _a_auxFunction ,&_a_varDecls ,&_a_auxFunction);
_txt = omc_Tpl_nextIter(threadData, _txt);
_in_txt = _txt;
_in_items = _rest;
_in_a_auxFunction = _a_auxFunction;
_in_a_varDecls = _a_varDecls;
_in_a_context = _a_context;
goto _tailrecursive;
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta[0+0];
_out_a_auxFunction = tmpMeta[0+1];
_out_a_varDecls = tmpMeta[0+2];
_return: OMC_LABEL_UNUSED
if (out_out_a_auxFunction) { *out_out_a_auxFunction = _out_a_auxFunction; }
if (out_out_a_varDecls) { *out_out_a_varDecls = _out_a_varDecls; }
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_lm__563(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_items, modelica_metatype _in_a_auxFunction, modelica_metatype _in_a_varDecls, modelica_metatype _in_a_context, modelica_metatype *out_out_a_auxFunction, modelica_metatype *out_out_a_varDecls)
{
modelica_metatype _out_txt = NULL;
modelica_metatype _out_a_auxFunction = NULL;
modelica_metatype _out_a_varDecls = NULL;
modelica_metatype tmpMeta[5] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_metatype tmp4_2;modelica_metatype tmp4_3;modelica_metatype tmp4_4;modelica_metatype tmp4_5;
tmp4_1 = _in_txt;
tmp4_2 = _in_items;
tmp4_3 = _in_a_auxFunction;
tmp4_4 = _in_a_varDecls;
tmp4_5 = _in_a_context;
{
modelica_metatype _txt = NULL;
modelica_metatype _rest = NULL;
modelica_metatype _a_auxFunction = NULL;
modelica_metatype _a_varDecls = NULL;
modelica_metatype _a_context = NULL;
modelica_metatype _i_stmt = NULL;
volatile mmc_switch_type tmp4;
int tmp5;
tmp4 = 0;
for (; tmp4 < 2; tmp4++) {
switch (MMC_SWITCH_CAST(tmp4)) {
case 0: {
if (!listEmpty(tmp4_2)) goto tmp3_end;
_txt = tmp4_1;
_a_auxFunction = tmp4_3;
_a_varDecls = tmp4_4;
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_auxFunction;
tmpMeta[0+2] = _a_varDecls;
goto tmp3_done;
}
case 1: {
if (listEmpty(tmp4_2)) goto tmp3_end;
tmpMeta[3] = MMC_CAR(tmp4_2);
tmpMeta[4] = MMC_CDR(tmp4_2);
_i_stmt = tmpMeta[3];
_rest = tmpMeta[4];
_txt = tmp4_1;
_a_auxFunction = tmp4_3;
_a_varDecls = tmp4_4;
_a_context = tmp4_5;
_txt = omc_CodegenCFunctions_algStatement(threadData, _txt, _i_stmt, _a_context, _a_varDecls, _a_auxFunction ,&_a_varDecls ,&_a_auxFunction);
_txt = omc_Tpl_nextIter(threadData, _txt);
_in_txt = _txt;
_in_items = _rest;
_in_a_auxFunction = _a_auxFunction;
_in_a_varDecls = _a_varDecls;
_in_a_context = _a_context;
goto _tailrecursive;
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta[0+0];
_out_a_auxFunction = tmpMeta[0+1];
_out_a_varDecls = tmpMeta[0+2];
_return: OMC_LABEL_UNUSED
if (out_out_a_auxFunction) { *out_out_a_auxFunction = _out_a_auxFunction; }
if (out_out_a_varDecls) { *out_out_a_varDecls = _out_a_varDecls; }
return _out_txt;
}
DLLExport
modelica_metatype omc_CodegenCFunctions_algStmtReinit(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_stmt, modelica_metatype _in_a_context, modelica_metatype _in_a_varDecls, modelica_metatype _in_a_auxFunction, modelica_metatype *out_out_a_varDecls, modelica_metatype *out_out_a_auxFunction)
{
modelica_metatype _out_txt = NULL;
modelica_metatype _out_a_varDecls = NULL;
modelica_metatype _out_a_auxFunction = NULL;
modelica_metatype tmpMeta[5] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_metatype tmp4_2;modelica_metatype tmp4_3;modelica_metatype tmp4_4;modelica_metatype tmp4_5;
tmp4_1 = _in_txt;
tmp4_2 = _in_a_stmt;
tmp4_3 = _in_a_context;
tmp4_4 = _in_a_varDecls;
tmp4_5 = _in_a_auxFunction;
{
modelica_metatype _txt = NULL;
modelica_metatype _a_context = NULL;
modelica_metatype _a_varDecls = NULL;
modelica_metatype _a_auxFunction = NULL;
modelica_metatype _i_value = NULL;
modelica_metatype _i_var = NULL;
modelica_metatype _l_expPart2 = NULL;
modelica_metatype _l_expPart1 = NULL;
modelica_metatype _l_preExp = NULL;
volatile mmc_switch_type tmp4;
int tmp5;
tmp4 = 0;
for (; tmp4 < 2; tmp4++) {
switch (MMC_SWITCH_CAST(tmp4)) {
case 0: {
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,10,3) == 0) goto tmp3_end;
tmpMeta[3] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
tmpMeta[4] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 3));
_i_var = tmpMeta[3];
_i_value = tmpMeta[4];
_txt = tmp4_1;
_a_context = tmp4_3;
_a_varDecls = tmp4_4;
_a_auxFunction = tmp4_5;
_l_preExp = _OMC_LIT20;
_l_expPart1 = omc_CodegenCFunctions_daeExp(threadData, _OMC_LIT20, _i_var, _a_context, _l_preExp, _a_varDecls, _a_auxFunction ,&_l_preExp ,&_a_varDecls ,&_a_auxFunction);
_l_expPart2 = omc_CodegenCFunctions_daeExp(threadData, _OMC_LIT20, _i_value, _a_context, _l_preExp, _a_varDecls, _a_auxFunction ,&_l_preExp ,&_a_varDecls ,&_a_auxFunction);
_txt = omc_Tpl_writeText(threadData, _txt, _l_preExp);
_txt = omc_Tpl_softNewLine(threadData, _txt);
_txt = omc_Tpl_writeText(threadData, _txt, _l_expPart1);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT121);
_txt = omc_Tpl_writeText(threadData, _txt, _l_expPart2);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1789);
_txt = omc_Tpl_writeText(threadData, _txt, _l_expPart1);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1791);
_txt = omc_Tpl_writeText(threadData, _txt, _l_expPart1);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1795);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_varDecls;
tmpMeta[0+2] = _a_auxFunction;
goto tmp3_done;
}
case 1: {
_txt = tmp4_1;
_a_varDecls = tmp4_4;
_a_auxFunction = tmp4_5;
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_varDecls;
tmpMeta[0+2] = _a_auxFunction;
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta[0+0];
_out_a_varDecls = tmpMeta[0+1];
_out_a_auxFunction = tmpMeta[0+2];
_return: OMC_LABEL_UNUSED
if (out_out_a_varDecls) { *out_out_a_varDecls = _out_a_varDecls; }
if (out_out_a_auxFunction) { *out_out_a_auxFunction = _out_a_auxFunction; }
return _out_txt;
}
DLLExport
modelica_metatype omc_CodegenCFunctions_algStatementWhenElse(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_stmt, modelica_metatype _in_a_varDecls, modelica_metatype _in_a_auxFunction, modelica_metatype *out_out_a_varDecls, modelica_metatype *out_out_a_auxFunction)
{
modelica_metatype _out_txt = NULL;
modelica_metatype _out_a_varDecls = NULL;
modelica_metatype _out_a_auxFunction = NULL;
modelica_metatype tmpMeta[7] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_metatype tmp4_2;modelica_metatype tmp4_3;modelica_metatype tmp4_4;
tmp4_1 = _in_txt;
tmp4_2 = _in_a_stmt;
tmp4_3 = _in_a_varDecls;
tmp4_4 = _in_a_auxFunction;
{
modelica_metatype _txt = NULL;
modelica_metatype _a_varDecls = NULL;
modelica_metatype _a_auxFunction = NULL;
modelica_metatype _i_when_elseWhen = NULL;
modelica_metatype _i_when_statementLst = NULL;
modelica_metatype _i_when_conditions = NULL;
modelica_metatype _l_else = NULL;
modelica_metatype _l_statements = NULL;
modelica_boolean _ret_1;
modelica_metatype _l_else__conditions = NULL;
volatile mmc_switch_type tmp4;
int tmp5;
tmp4 = 0;
for (; tmp4 < 2; tmp4++) {
switch (MMC_SWITCH_CAST(tmp4)) {
case 0: {
if (optionNone(tmp4_2)) goto tmp3_end;
tmpMeta[3] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 1));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[3],7,6) == 0) goto tmp3_end;
tmpMeta[4] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[3]), 3));
tmpMeta[5] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[3]), 5));
tmpMeta[6] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[3]), 6));
_i_when_conditions = tmpMeta[4];
_i_when_statementLst = tmpMeta[5];
_i_when_elseWhen = tmpMeta[6];
_txt = tmp4_1;
_a_varDecls = tmp4_3;
_a_auxFunction = tmp4_4;
_ret_1 = listEmpty(_i_when_conditions);
_l_else__conditions = omc_CodegenCFunctions_fun__559(threadData, _OMC_LIT20, _ret_1, _i_when_conditions);
_l_statements = omc_Tpl_pushIter(threadData, _OMC_LIT20, _OMC_LIT96);
_l_statements = omc_CodegenCFunctions_lm__560(threadData, _l_statements, _i_when_statementLst, _a_auxFunction, _a_varDecls ,&_a_auxFunction ,&_a_varDecls);
_l_statements = omc_Tpl_popIter(threadData, _l_statements);
_l_else = omc_CodegenCFunctions_algStatementWhenElse(threadData, _OMC_LIT20, _i_when_elseWhen, _a_varDecls, _a_auxFunction ,&_a_varDecls ,&_a_auxFunction);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1796);
_txt = omc_Tpl_writeText(threadData, _txt, _l_else__conditions);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT428);
_txt = omc_Tpl_pushBlock(threadData, _txt, _OMC_LIT97);
_txt = omc_Tpl_writeText(threadData, _txt, _l_statements);
_txt = omc_Tpl_softNewLine(threadData, _txt);
_txt = omc_Tpl_popBlock(threadData, _txt);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT159);
_txt = omc_Tpl_writeText(threadData, _txt, _l_else);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_varDecls;
tmpMeta[0+2] = _a_auxFunction;
goto tmp3_done;
}
case 1: {
_txt = tmp4_1;
_a_varDecls = tmp4_3;
_a_auxFunction = tmp4_4;
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_varDecls;
tmpMeta[0+2] = _a_auxFunction;
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta[0+0];
_out_a_varDecls = tmpMeta[0+1];
_out_a_auxFunction = tmpMeta[0+2];
_return: OMC_LABEL_UNUSED
if (out_out_a_varDecls) { *out_out_a_varDecls = _out_a_varDecls; }
if (out_out_a_auxFunction) { *out_out_a_auxFunction = _out_a_auxFunction; }
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_lm__560(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_items, modelica_metatype _in_a_auxFunction, modelica_metatype _in_a_varDecls, modelica_metatype *out_out_a_auxFunction, modelica_metatype *out_out_a_varDecls)
{
modelica_metatype _out_txt = NULL;
modelica_metatype _out_a_auxFunction = NULL;
modelica_metatype _out_a_varDecls = NULL;
modelica_metatype tmpMeta[5] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_metatype tmp4_2;modelica_metatype tmp4_3;modelica_metatype tmp4_4;
tmp4_1 = _in_txt;
tmp4_2 = _in_items;
tmp4_3 = _in_a_auxFunction;
tmp4_4 = _in_a_varDecls;
{
modelica_metatype _txt = NULL;
modelica_metatype _rest = NULL;
modelica_metatype _a_auxFunction = NULL;
modelica_metatype _a_varDecls = NULL;
modelica_metatype _i_stmt = NULL;
volatile mmc_switch_type tmp4;
int tmp5;
tmp4 = 0;
for (; tmp4 < 2; tmp4++) {
switch (MMC_SWITCH_CAST(tmp4)) {
case 0: {
if (!listEmpty(tmp4_2)) goto tmp3_end;
_txt = tmp4_1;
_a_auxFunction = tmp4_3;
_a_varDecls = tmp4_4;
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_auxFunction;
tmpMeta[0+2] = _a_varDecls;
goto tmp3_done;
}
case 1: {
if (listEmpty(tmp4_2)) goto tmp3_end;
tmpMeta[3] = MMC_CAR(tmp4_2);
tmpMeta[4] = MMC_CDR(tmp4_2);
_i_stmt = tmpMeta[3];
_rest = tmpMeta[4];
_txt = tmp4_1;
_a_auxFunction = tmp4_3;
_a_varDecls = tmp4_4;
_txt = omc_CodegenCFunctions_algStatement(threadData, _txt, _i_stmt, _OMC_LIT1797, _a_varDecls, _a_auxFunction ,&_a_varDecls ,&_a_auxFunction);
_txt = omc_Tpl_nextIter(threadData, _txt);
_in_txt = _txt;
_in_items = _rest;
_in_a_auxFunction = _a_auxFunction;
_in_a_varDecls = _a_varDecls;
goto _tailrecursive;
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta[0+0];
_out_a_auxFunction = tmpMeta[0+1];
_out_a_varDecls = tmpMeta[0+2];
_return: OMC_LABEL_UNUSED
if (out_out_a_auxFunction) { *out_out_a_auxFunction = _out_a_auxFunction; }
if (out_out_a_varDecls) { *out_out_a_varDecls = _out_a_varDecls; }
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__559(threadData_t *threadData, modelica_metatype _in_txt, modelica_boolean _in_mArg, modelica_metatype _in_a_when_conditions)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta[1] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp3_1;modelica_boolean tmp3_2;modelica_metatype tmp3_3;
tmp3_1 = _in_txt;
tmp3_2 = _in_mArg;
tmp3_3 = _in_a_when_conditions;
{
modelica_metatype _txt = NULL;
modelica_metatype _a_when_conditions = NULL;
volatile mmc_switch_type tmp3;
int tmp4;
tmp3 = 0;
for (; tmp3 < 2; tmp3++) {
switch (MMC_SWITCH_CAST(tmp3)) {
case 0: {
if (0 != tmp3_2) goto tmp2_end;
_txt = tmp3_1;
_a_when_conditions = tmp3_3;
_txt = omc_Tpl_pushIter(threadData, _txt, _OMC_LIT1799);
_txt = omc_CodegenCFunctions_lm__558(threadData, _txt, _a_when_conditions);
tmpMeta[0] = omc_Tpl_popIter(threadData, _txt);
goto tmp2_done;
}
case 1: {
_txt = tmp3_1;
tmpMeta[0] = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT957);
goto tmp2_done;
}
}
goto tmp2_end;
tmp2_end: ;
}
goto goto_1;
goto_1:;
MMC_THROW_INTERNAL();
goto tmp2_done;
tmp2_done:;
}
}
_out_txt = tmpMeta[0];
_return: OMC_LABEL_UNUSED
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__559(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_mArg, modelica_metatype _in_a_when_conditions)
{
modelica_integer tmp1;
modelica_metatype _out_txt = NULL;
tmp1 = mmc_unbox_integer(_in_mArg);
_out_txt = omc_CodegenCFunctions_fun__559(threadData, _in_txt, tmp1, _in_a_when_conditions);
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_lm__558(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_items)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta[3] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp3_1;modelica_metatype tmp3_2;
tmp3_1 = _in_txt;
tmp3_2 = _in_items;
{
modelica_metatype _txt = NULL;
modelica_metatype _rest = NULL;
modelica_metatype _i_e = NULL;
volatile mmc_switch_type tmp3;
int tmp4;
tmp3 = 0;
for (; tmp3 < 2; tmp3++) {
switch (MMC_SWITCH_CAST(tmp3)) {
case 0: {
if (!listEmpty(tmp3_2)) goto tmp2_end;
_txt = tmp3_1;
tmpMeta[0] = _txt;
goto tmp2_done;
}
case 1: {
if (listEmpty(tmp3_2)) goto tmp2_end;
tmpMeta[1] = MMC_CAR(tmp3_2);
tmpMeta[2] = MMC_CDR(tmp3_2);
_i_e = tmpMeta[1];
_rest = tmpMeta[2];
_txt = tmp3_1;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT68);
_txt = omc_CodegenCFunctions_cref(threadData, _txt, _i_e);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT653);
_txt = omc_CodegenCFunctions_crefPre(threadData, _txt, _i_e);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1801);
_txt = omc_Tpl_nextIter(threadData, _txt);
_in_txt = _txt;
_in_items = _rest;
goto _tailrecursive;
goto tmp2_done;
}
}
goto tmp2_end;
tmp2_end: ;
}
goto goto_1;
goto_1:;
MMC_THROW_INTERNAL();
goto tmp2_done;
tmp2_done:;
}
}
_out_txt = tmpMeta[0];
_return: OMC_LABEL_UNUSED
return _out_txt;
}
DLLExport
modelica_metatype omc_CodegenCFunctions_algStmtWhen(threadData_t *threadData, modelica_metatype _txt, modelica_metatype _a_when, modelica_metatype _a_context, modelica_metatype _a_varDecls, modelica_metatype _a_auxFunction, modelica_metatype *out_out_a_varDecls, modelica_metatype *out_out_a_auxFunction)
{
modelica_metatype _out_txt = NULL;
modelica_metatype _out_a_varDecls = NULL;
modelica_metatype _out_a_auxFunction = NULL;
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
_out_txt = omc_CodegenCFunctions_fun__556(threadData, _txt, _a_context, _a_when, _a_varDecls, _a_auxFunction ,&_out_a_varDecls ,&_out_a_auxFunction);
_return: OMC_LABEL_UNUSED
if (out_out_a_varDecls) { *out_out_a_varDecls = _out_a_varDecls; }
if (out_out_a_auxFunction) { *out_out_a_auxFunction = _out_a_auxFunction; }
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__556(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_context, modelica_metatype _in_a_when, modelica_metatype _in_a_varDecls, modelica_metatype _in_a_auxFunction, modelica_metatype *out_out_a_varDecls, modelica_metatype *out_out_a_auxFunction)
{
modelica_metatype _out_txt = NULL;
modelica_metatype _out_a_varDecls = NULL;
modelica_metatype _out_a_auxFunction = NULL;
modelica_metatype tmpMeta[3] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_metatype tmp4_2;modelica_metatype tmp4_3;modelica_metatype tmp4_4;modelica_metatype tmp4_5;
tmp4_1 = _in_txt;
tmp4_2 = _in_a_context;
tmp4_3 = _in_a_when;
tmp4_4 = _in_a_varDecls;
tmp4_5 = _in_a_auxFunction;
{
modelica_metatype _txt = NULL;
modelica_metatype _a_when = NULL;
modelica_metatype _a_varDecls = NULL;
modelica_metatype _a_auxFunction = NULL;
modelica_metatype _i_context = NULL;
volatile mmc_switch_type tmp4;
int tmp5;
tmp4 = 0;
for (; tmp4 < 3; tmp4++) {
switch (MMC_SWITCH_CAST(tmp4)) {
case 0: {
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,8,0) == 0) goto tmp3_end;
_i_context = tmp4_2;
_txt = tmp4_1;
_a_when = tmp4_3;
_a_varDecls = tmp4_4;
_a_auxFunction = tmp4_5;
_txt = omc_CodegenCFunctions_fun__551(threadData, _txt, _a_when, _a_auxFunction, _a_varDecls, _i_context ,&_a_auxFunction ,&_a_varDecls);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_varDecls;
tmpMeta[0+2] = _a_auxFunction;
goto tmp3_done;
}
case 1: {
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,0,1) == 0) goto tmp3_end;
_i_context = tmp4_2;
_txt = tmp4_1;
_a_when = tmp4_3;
_a_varDecls = tmp4_4;
_a_auxFunction = tmp4_5;
_txt = omc_CodegenCFunctions_fun__555(threadData, _txt, _a_when, _a_auxFunction, _a_varDecls, _i_context ,&_a_auxFunction ,&_a_varDecls);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_varDecls;
tmpMeta[0+2] = _a_auxFunction;
goto tmp3_done;
}
case 2: {
_txt = tmp4_1;
_a_varDecls = tmp4_4;
_a_auxFunction = tmp4_5;
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_varDecls;
tmpMeta[0+2] = _a_auxFunction;
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta[0+0];
_out_a_varDecls = tmpMeta[0+1];
_out_a_auxFunction = tmpMeta[0+2];
_return: OMC_LABEL_UNUSED
if (out_out_a_varDecls) { *out_out_a_varDecls = _out_a_varDecls; }
if (out_out_a_auxFunction) { *out_out_a_auxFunction = _out_a_auxFunction; }
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__555(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_when, modelica_metatype _in_a_auxFunction, modelica_metatype _in_a_varDecls, modelica_metatype _in_a_context, modelica_metatype *out_out_a_auxFunction, modelica_metatype *out_out_a_varDecls)
{
modelica_metatype _out_txt = NULL;
modelica_metatype _out_a_auxFunction = NULL;
modelica_metatype _out_a_varDecls = NULL;
modelica_metatype tmpMeta[6] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_metatype tmp4_2;modelica_metatype tmp4_3;modelica_metatype tmp4_4;modelica_metatype tmp4_5;
tmp4_1 = _in_txt;
tmp4_2 = _in_a_when;
tmp4_3 = _in_a_auxFunction;
tmp4_4 = _in_a_varDecls;
tmp4_5 = _in_a_context;
{
modelica_metatype _txt = NULL;
modelica_metatype _a_auxFunction = NULL;
modelica_metatype _a_varDecls = NULL;
modelica_metatype _a_context = NULL;
modelica_metatype _i_elseWhen = NULL;
modelica_metatype _i_statementLst = NULL;
modelica_metatype _i_conditions = NULL;
modelica_metatype _l_else__clause = NULL;
modelica_metatype _l_statements = NULL;
modelica_boolean _ret_1;
modelica_metatype _l_if__conditions = NULL;
volatile mmc_switch_type tmp4;
int tmp5;
tmp4 = 0;
for (; tmp4 < 2; tmp4++) {
switch (MMC_SWITCH_CAST(tmp4)) {
case 0: {
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,7,6) == 0) goto tmp3_end;
tmpMeta[3] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 3));
tmpMeta[4] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 5));
tmpMeta[5] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 6));
_i_conditions = tmpMeta[3];
_i_statementLst = tmpMeta[4];
_i_elseWhen = tmpMeta[5];
_txt = tmp4_1;
_a_auxFunction = tmp4_3;
_a_varDecls = tmp4_4;
_a_context = tmp4_5;
_ret_1 = listEmpty(_i_conditions);
_l_if__conditions = omc_CodegenCFunctions_fun__553(threadData, _OMC_LIT20, _ret_1, _i_conditions);
_l_statements = omc_Tpl_pushIter(threadData, _OMC_LIT20, _OMC_LIT96);
_l_statements = omc_CodegenCFunctions_lm__554(threadData, _l_statements, _i_statementLst, _a_auxFunction, _a_varDecls, _a_context ,&_a_auxFunction ,&_a_varDecls);
_l_statements = omc_Tpl_popIter(threadData, _l_statements);
_l_else__clause = omc_CodegenCFunctions_algStatementWhenElse(threadData, _OMC_LIT20, _i_elseWhen, _a_varDecls, _a_auxFunction ,&_a_varDecls ,&_a_auxFunction);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1804);
_txt = omc_Tpl_pushBlock(threadData, _txt, _OMC_LIT97);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT346);
_txt = omc_Tpl_writeText(threadData, _txt, _l_if__conditions);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT428);
_txt = omc_Tpl_pushBlock(threadData, _txt, _OMC_LIT97);
_txt = omc_Tpl_writeText(threadData, _txt, _l_statements);
_txt = omc_Tpl_softNewLine(threadData, _txt);
_txt = omc_Tpl_popBlock(threadData, _txt);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT159);
_txt = omc_Tpl_writeText(threadData, _txt, _l_else__clause);
_txt = omc_Tpl_softNewLine(threadData, _txt);
_txt = omc_Tpl_popBlock(threadData, _txt);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT103);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_auxFunction;
tmpMeta[0+2] = _a_varDecls;
goto tmp3_done;
}
case 1: {
_txt = tmp4_1;
_a_auxFunction = tmp4_3;
_a_varDecls = tmp4_4;
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_auxFunction;
tmpMeta[0+2] = _a_varDecls;
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta[0+0];
_out_a_auxFunction = tmpMeta[0+1];
_out_a_varDecls = tmpMeta[0+2];
_return: OMC_LABEL_UNUSED
if (out_out_a_auxFunction) { *out_out_a_auxFunction = _out_a_auxFunction; }
if (out_out_a_varDecls) { *out_out_a_varDecls = _out_a_varDecls; }
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_lm__554(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_items, modelica_metatype _in_a_auxFunction, modelica_metatype _in_a_varDecls, modelica_metatype _in_a_context, modelica_metatype *out_out_a_auxFunction, modelica_metatype *out_out_a_varDecls)
{
modelica_metatype _out_txt = NULL;
modelica_metatype _out_a_auxFunction = NULL;
modelica_metatype _out_a_varDecls = NULL;
modelica_metatype tmpMeta[5] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_metatype tmp4_2;modelica_metatype tmp4_3;modelica_metatype tmp4_4;modelica_metatype tmp4_5;
tmp4_1 = _in_txt;
tmp4_2 = _in_items;
tmp4_3 = _in_a_auxFunction;
tmp4_4 = _in_a_varDecls;
tmp4_5 = _in_a_context;
{
modelica_metatype _txt = NULL;
modelica_metatype _rest = NULL;
modelica_metatype _a_auxFunction = NULL;
modelica_metatype _a_varDecls = NULL;
modelica_metatype _a_context = NULL;
modelica_metatype _i_stmt = NULL;
volatile mmc_switch_type tmp4;
int tmp5;
tmp4 = 0;
for (; tmp4 < 2; tmp4++) {
switch (MMC_SWITCH_CAST(tmp4)) {
case 0: {
if (!listEmpty(tmp4_2)) goto tmp3_end;
_txt = tmp4_1;
_a_auxFunction = tmp4_3;
_a_varDecls = tmp4_4;
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_auxFunction;
tmpMeta[0+2] = _a_varDecls;
goto tmp3_done;
}
case 1: {
if (listEmpty(tmp4_2)) goto tmp3_end;
tmpMeta[3] = MMC_CAR(tmp4_2);
tmpMeta[4] = MMC_CDR(tmp4_2);
_i_stmt = tmpMeta[3];
_rest = tmpMeta[4];
_txt = tmp4_1;
_a_auxFunction = tmp4_3;
_a_varDecls = tmp4_4;
_a_context = tmp4_5;
_txt = omc_CodegenCFunctions_algStatement(threadData, _txt, _i_stmt, _a_context, _a_varDecls, _a_auxFunction ,&_a_varDecls ,&_a_auxFunction);
_txt = omc_Tpl_nextIter(threadData, _txt);
_in_txt = _txt;
_in_items = _rest;
_in_a_auxFunction = _a_auxFunction;
_in_a_varDecls = _a_varDecls;
_in_a_context = _a_context;
goto _tailrecursive;
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta[0+0];
_out_a_auxFunction = tmpMeta[0+1];
_out_a_varDecls = tmpMeta[0+2];
_return: OMC_LABEL_UNUSED
if (out_out_a_auxFunction) { *out_out_a_auxFunction = _out_a_auxFunction; }
if (out_out_a_varDecls) { *out_out_a_varDecls = _out_a_varDecls; }
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__553(threadData_t *threadData, modelica_metatype _in_txt, modelica_boolean _in_mArg, modelica_metatype _in_a_conditions)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta[1] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp3_1;modelica_boolean tmp3_2;modelica_metatype tmp3_3;
tmp3_1 = _in_txt;
tmp3_2 = _in_mArg;
tmp3_3 = _in_a_conditions;
{
modelica_metatype _txt = NULL;
modelica_metatype _a_conditions = NULL;
volatile mmc_switch_type tmp3;
int tmp4;
tmp3 = 0;
for (; tmp3 < 2; tmp3++) {
switch (MMC_SWITCH_CAST(tmp3)) {
case 0: {
if (0 != tmp3_2) goto tmp2_end;
_txt = tmp3_1;
_a_conditions = tmp3_3;
_txt = omc_Tpl_pushIter(threadData, _txt, _OMC_LIT1799);
_txt = omc_CodegenCFunctions_lm__552(threadData, _txt, _a_conditions);
tmpMeta[0] = omc_Tpl_popIter(threadData, _txt);
goto tmp2_done;
}
case 1: {
_txt = tmp3_1;
tmpMeta[0] = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT957);
goto tmp2_done;
}
}
goto tmp2_end;
tmp2_end: ;
}
goto goto_1;
goto_1:;
MMC_THROW_INTERNAL();
goto tmp2_done;
tmp2_done:;
}
}
_out_txt = tmpMeta[0];
_return: OMC_LABEL_UNUSED
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__553(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_mArg, modelica_metatype _in_a_conditions)
{
modelica_integer tmp1;
modelica_metatype _out_txt = NULL;
tmp1 = mmc_unbox_integer(_in_mArg);
_out_txt = omc_CodegenCFunctions_fun__553(threadData, _in_txt, tmp1, _in_a_conditions);
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_lm__552(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_items)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta[3] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp3_1;modelica_metatype tmp3_2;
tmp3_1 = _in_txt;
tmp3_2 = _in_items;
{
modelica_metatype _txt = NULL;
modelica_metatype _rest = NULL;
modelica_metatype _i_e = NULL;
volatile mmc_switch_type tmp3;
int tmp4;
tmp3 = 0;
for (; tmp3 < 2; tmp3++) {
switch (MMC_SWITCH_CAST(tmp3)) {
case 0: {
if (!listEmpty(tmp3_2)) goto tmp2_end;
_txt = tmp3_1;
tmpMeta[0] = _txt;
goto tmp2_done;
}
case 1: {
if (listEmpty(tmp3_2)) goto tmp2_end;
tmpMeta[1] = MMC_CAR(tmp3_2);
tmpMeta[2] = MMC_CDR(tmp3_2);
_i_e = tmpMeta[1];
_rest = tmpMeta[2];
_txt = tmp3_1;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT68);
_txt = omc_CodegenCFunctions_cref(threadData, _txt, _i_e);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT653);
_txt = omc_CodegenCFunctions_crefPre(threadData, _txt, _i_e);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1801);
_txt = omc_Tpl_nextIter(threadData, _txt);
_in_txt = _txt;
_in_items = _rest;
goto _tailrecursive;
goto tmp2_done;
}
}
goto tmp2_end;
tmp2_end: ;
}
goto goto_1;
goto_1:;
MMC_THROW_INTERNAL();
goto tmp2_done;
tmp2_done:;
}
}
_out_txt = tmpMeta[0];
_return: OMC_LABEL_UNUSED
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__551(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_when, modelica_metatype _in_a_auxFunction, modelica_metatype _in_a_varDecls, modelica_metatype _in_a_context, modelica_metatype *out_out_a_auxFunction, modelica_metatype *out_out_a_varDecls)
{
modelica_metatype _out_txt = NULL;
modelica_metatype _out_a_auxFunction = NULL;
modelica_metatype _out_a_varDecls = NULL;
modelica_metatype tmpMeta[6] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_metatype tmp4_2;modelica_metatype tmp4_3;modelica_metatype tmp4_4;modelica_metatype tmp4_5;
tmp4_1 = _in_txt;
tmp4_2 = _in_a_when;
tmp4_3 = _in_a_auxFunction;
tmp4_4 = _in_a_varDecls;
tmp4_5 = _in_a_context;
{
modelica_metatype _txt = NULL;
modelica_metatype _a_auxFunction = NULL;
modelica_metatype _a_varDecls = NULL;
modelica_metatype _a_context = NULL;
modelica_metatype _i_elseWhen = NULL;
modelica_metatype _i_statementLst = NULL;
modelica_metatype _i_conditions = NULL;
modelica_metatype _l_else__clause = NULL;
modelica_metatype _l_statements = NULL;
modelica_boolean _ret_1;
modelica_metatype _l_if__conditions = NULL;
volatile mmc_switch_type tmp4;
int tmp5;
tmp4 = 0;
for (; tmp4 < 2; tmp4++) {
switch (MMC_SWITCH_CAST(tmp4)) {
case 0: {
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,7,6) == 0) goto tmp3_end;
tmpMeta[3] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 3));
tmpMeta[4] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 5));
tmpMeta[5] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 6));
_i_conditions = tmpMeta[3];
_i_statementLst = tmpMeta[4];
_i_elseWhen = tmpMeta[5];
_txt = tmp4_1;
_a_auxFunction = tmp4_3;
_a_varDecls = tmp4_4;
_a_context = tmp4_5;
_ret_1 = listEmpty(_i_conditions);
_l_if__conditions = omc_CodegenCFunctions_fun__549(threadData, _OMC_LIT20, _ret_1, _i_conditions);
_l_statements = omc_Tpl_pushIter(threadData, _OMC_LIT20, _OMC_LIT96);
_l_statements = omc_CodegenCFunctions_lm__550(threadData, _l_statements, _i_statementLst, _a_auxFunction, _a_varDecls, _a_context ,&_a_auxFunction ,&_a_varDecls);
_l_statements = omc_Tpl_popIter(threadData, _l_statements);
_l_else__clause = omc_CodegenCFunctions_algStatementWhenElse(threadData, _OMC_LIT20, _i_elseWhen, _a_varDecls, _a_auxFunction ,&_a_varDecls ,&_a_auxFunction);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1804);
_txt = omc_Tpl_pushBlock(threadData, _txt, _OMC_LIT97);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT346);
_txt = omc_Tpl_writeText(threadData, _txt, _l_if__conditions);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT428);
_txt = omc_Tpl_pushBlock(threadData, _txt, _OMC_LIT97);
_txt = omc_Tpl_writeText(threadData, _txt, _l_statements);
_txt = omc_Tpl_softNewLine(threadData, _txt);
_txt = omc_Tpl_popBlock(threadData, _txt);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT159);
_txt = omc_Tpl_writeText(threadData, _txt, _l_else__clause);
_txt = omc_Tpl_softNewLine(threadData, _txt);
_txt = omc_Tpl_popBlock(threadData, _txt);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT103);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_auxFunction;
tmpMeta[0+2] = _a_varDecls;
goto tmp3_done;
}
case 1: {
_txt = tmp4_1;
_a_auxFunction = tmp4_3;
_a_varDecls = tmp4_4;
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_auxFunction;
tmpMeta[0+2] = _a_varDecls;
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta[0+0];
_out_a_auxFunction = tmpMeta[0+1];
_out_a_varDecls = tmpMeta[0+2];
_return: OMC_LABEL_UNUSED
if (out_out_a_auxFunction) { *out_out_a_auxFunction = _out_a_auxFunction; }
if (out_out_a_varDecls) { *out_out_a_varDecls = _out_a_varDecls; }
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_lm__550(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_items, modelica_metatype _in_a_auxFunction, modelica_metatype _in_a_varDecls, modelica_metatype _in_a_context, modelica_metatype *out_out_a_auxFunction, modelica_metatype *out_out_a_varDecls)
{
modelica_metatype _out_txt = NULL;
modelica_metatype _out_a_auxFunction = NULL;
modelica_metatype _out_a_varDecls = NULL;
modelica_metatype tmpMeta[5] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_metatype tmp4_2;modelica_metatype tmp4_3;modelica_metatype tmp4_4;modelica_metatype tmp4_5;
tmp4_1 = _in_txt;
tmp4_2 = _in_items;
tmp4_3 = _in_a_auxFunction;
tmp4_4 = _in_a_varDecls;
tmp4_5 = _in_a_context;
{
modelica_metatype _txt = NULL;
modelica_metatype _rest = NULL;
modelica_metatype _a_auxFunction = NULL;
modelica_metatype _a_varDecls = NULL;
modelica_metatype _a_context = NULL;
modelica_metatype _i_stmt = NULL;
volatile mmc_switch_type tmp4;
int tmp5;
tmp4 = 0;
for (; tmp4 < 2; tmp4++) {
switch (MMC_SWITCH_CAST(tmp4)) {
case 0: {
if (!listEmpty(tmp4_2)) goto tmp3_end;
_txt = tmp4_1;
_a_auxFunction = tmp4_3;
_a_varDecls = tmp4_4;
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_auxFunction;
tmpMeta[0+2] = _a_varDecls;
goto tmp3_done;
}
case 1: {
if (listEmpty(tmp4_2)) goto tmp3_end;
tmpMeta[3] = MMC_CAR(tmp4_2);
tmpMeta[4] = MMC_CDR(tmp4_2);
_i_stmt = tmpMeta[3];
_rest = tmpMeta[4];
_txt = tmp4_1;
_a_auxFunction = tmp4_3;
_a_varDecls = tmp4_4;
_a_context = tmp4_5;
_txt = omc_CodegenCFunctions_algStatement(threadData, _txt, _i_stmt, _a_context, _a_varDecls, _a_auxFunction ,&_a_varDecls ,&_a_auxFunction);
_txt = omc_Tpl_nextIter(threadData, _txt);
_in_txt = _txt;
_in_items = _rest;
_in_a_auxFunction = _a_auxFunction;
_in_a_varDecls = _a_varDecls;
_in_a_context = _a_context;
goto _tailrecursive;
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta[0+0];
_out_a_auxFunction = tmpMeta[0+1];
_out_a_varDecls = tmpMeta[0+2];
_return: OMC_LABEL_UNUSED
if (out_out_a_auxFunction) { *out_out_a_auxFunction = _out_a_auxFunction; }
if (out_out_a_varDecls) { *out_out_a_varDecls = _out_a_varDecls; }
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__549(threadData_t *threadData, modelica_metatype _in_txt, modelica_boolean _in_mArg, modelica_metatype _in_a_conditions)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta[1] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp3_1;modelica_boolean tmp3_2;modelica_metatype tmp3_3;
tmp3_1 = _in_txt;
tmp3_2 = _in_mArg;
tmp3_3 = _in_a_conditions;
{
modelica_metatype _txt = NULL;
modelica_metatype _a_conditions = NULL;
volatile mmc_switch_type tmp3;
int tmp4;
tmp3 = 0;
for (; tmp3 < 2; tmp3++) {
switch (MMC_SWITCH_CAST(tmp3)) {
case 0: {
if (0 != tmp3_2) goto tmp2_end;
_txt = tmp3_1;
_a_conditions = tmp3_3;
_txt = omc_Tpl_pushIter(threadData, _txt, _OMC_LIT1799);
_txt = omc_CodegenCFunctions_lm__548(threadData, _txt, _a_conditions);
tmpMeta[0] = omc_Tpl_popIter(threadData, _txt);
goto tmp2_done;
}
case 1: {
_txt = tmp3_1;
tmpMeta[0] = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT957);
goto tmp2_done;
}
}
goto tmp2_end;
tmp2_end: ;
}
goto goto_1;
goto_1:;
MMC_THROW_INTERNAL();
goto tmp2_done;
tmp2_done:;
}
}
_out_txt = tmpMeta[0];
_return: OMC_LABEL_UNUSED
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__549(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_mArg, modelica_metatype _in_a_conditions)
{
modelica_integer tmp1;
modelica_metatype _out_txt = NULL;
tmp1 = mmc_unbox_integer(_in_mArg);
_out_txt = omc_CodegenCFunctions_fun__549(threadData, _in_txt, tmp1, _in_a_conditions);
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_lm__548(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_items)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta[3] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp3_1;modelica_metatype tmp3_2;
tmp3_1 = _in_txt;
tmp3_2 = _in_items;
{
modelica_metatype _txt = NULL;
modelica_metatype _rest = NULL;
modelica_metatype _i_e = NULL;
volatile mmc_switch_type tmp3;
int tmp4;
tmp3 = 0;
for (; tmp3 < 2; tmp3++) {
switch (MMC_SWITCH_CAST(tmp3)) {
case 0: {
if (!listEmpty(tmp3_2)) goto tmp2_end;
_txt = tmp3_1;
tmpMeta[0] = _txt;
goto tmp2_done;
}
case 1: {
if (listEmpty(tmp3_2)) goto tmp2_end;
tmpMeta[1] = MMC_CAR(tmp3_2);
tmpMeta[2] = MMC_CDR(tmp3_2);
_i_e = tmpMeta[1];
_rest = tmpMeta[2];
_txt = tmp3_1;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT68);
_txt = omc_CodegenCFunctions_cref(threadData, _txt, _i_e);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT653);
_txt = omc_CodegenCFunctions_crefPre(threadData, _txt, _i_e);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1801);
_txt = omc_Tpl_nextIter(threadData, _txt);
_in_txt = _txt;
_in_items = _rest;
goto _tailrecursive;
goto tmp2_done;
}
}
goto tmp2_end;
tmp2_end: ;
}
goto goto_1;
goto_1:;
MMC_THROW_INTERNAL();
goto tmp2_done;
tmp2_done:;
}
}
_out_txt = tmpMeta[0];
_return: OMC_LABEL_UNUSED
return _out_txt;
}
DLLExport
modelica_metatype omc_CodegenCFunctions_algStmtNoretcall(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_stmt, modelica_metatype _in_a_context, modelica_metatype _in_a_varDecls, modelica_metatype _in_a_auxFunction, modelica_metatype *out_out_a_varDecls, modelica_metatype *out_out_a_auxFunction)
{
modelica_metatype _out_txt = NULL;
modelica_metatype _out_a_varDecls = NULL;
modelica_metatype _out_a_auxFunction = NULL;
modelica_metatype tmpMeta[4] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_metatype tmp4_2;modelica_metatype tmp4_3;modelica_metatype tmp4_4;modelica_metatype tmp4_5;
tmp4_1 = _in_txt;
tmp4_2 = _in_a_stmt;
tmp4_3 = _in_a_context;
tmp4_4 = _in_a_varDecls;
tmp4_5 = _in_a_auxFunction;
{
modelica_metatype _txt = NULL;
modelica_metatype _a_context = NULL;
modelica_metatype _a_varDecls = NULL;
modelica_metatype _a_auxFunction = NULL;
modelica_metatype _i_exp = NULL;
modelica_boolean _ret_2;
modelica_metatype _l_expPart = NULL;
modelica_metatype _l_preExp = NULL;
volatile mmc_switch_type tmp4;
int tmp5;
tmp4 = 0;
for (; tmp4 < 3; tmp4++) {
switch (MMC_SWITCH_CAST(tmp4)) {
case 0: {
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,11,2) == 0) goto tmp3_end;
tmpMeta[3] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[3],33,6) == 0) goto tmp3_end;
_i_exp = tmpMeta[3];
_txt = tmp4_1;
_a_context = tmp4_3;
_a_varDecls = tmp4_4;
_a_auxFunction = tmp4_5;
_l_preExp = _OMC_LIT20;
_l_expPart = omc_CodegenCFunctions_daeExpMatch2(threadData, _OMC_LIT20, _i_exp, _OMC_LIT240, omc_Tpl_strTokText(threadData, _OMC_LIT92), omc_Tpl_strTokText(threadData, _OMC_LIT92), _a_context, _l_preExp, _a_varDecls, _a_auxFunction ,NULL ,NULL ,&_l_preExp ,&_a_varDecls ,&_a_auxFunction);
_txt = omc_Tpl_writeText(threadData, _txt, _l_preExp);
_txt = omc_Tpl_softNewLine(threadData, _txt);
_txt = omc_Tpl_writeText(threadData, _txt, _l_expPart);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT105);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_varDecls;
tmpMeta[0+2] = _a_auxFunction;
goto tmp3_done;
}
case 1: {
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,11,2) == 0) goto tmp3_end;
tmpMeta[3] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
_i_exp = tmpMeta[3];
_txt = tmp4_1;
_a_context = tmp4_3;
_a_varDecls = tmp4_4;
_a_auxFunction = tmp4_5;
_l_preExp = _OMC_LIT20;
_l_expPart = omc_CodegenCFunctions_daeExp(threadData, _OMC_LIT20, _i_exp, _a_context, _l_preExp, _a_varDecls, _a_auxFunction ,&_l_preExp ,&_a_varDecls ,&_a_auxFunction);
_txt = omc_Tpl_writeText(threadData, _txt, _l_preExp);
_txt = omc_Tpl_softNewLine(threadData, _txt);
_ret_2 = omc_Util_isCIdentifier(threadData, omc_Tpl_textString(threadData, _l_expPart));
_txt = omc_CodegenCFunctions_fun__546(threadData, _txt, _ret_2, _l_expPart);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_varDecls;
tmpMeta[0+2] = _a_auxFunction;
goto tmp3_done;
}
case 2: {
_txt = tmp4_1;
_a_varDecls = tmp4_4;
_a_auxFunction = tmp4_5;
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_varDecls;
tmpMeta[0+2] = _a_auxFunction;
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta[0+0];
_out_a_varDecls = tmpMeta[0+1];
_out_a_auxFunction = tmpMeta[0+2];
_return: OMC_LABEL_UNUSED
if (out_out_a_varDecls) { *out_out_a_varDecls = _out_a_varDecls; }
if (out_out_a_auxFunction) { *out_out_a_auxFunction = _out_a_auxFunction; }
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__546(threadData_t *threadData, modelica_metatype _in_txt, modelica_boolean _in_mArg, modelica_metatype _in_a_expPart)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta[1] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp3_1;modelica_boolean tmp3_2;modelica_metatype tmp3_3;
tmp3_1 = _in_txt;
tmp3_2 = _in_mArg;
tmp3_3 = _in_a_expPart;
{
modelica_metatype _txt = NULL;
modelica_metatype _a_expPart = NULL;
volatile mmc_switch_type tmp3;
int tmp4;
tmp3 = 0;
for (; tmp3 < 2; tmp3++) {
switch (MMC_SWITCH_CAST(tmp3)) {
case 0: {
if (0 != tmp3_2) goto tmp2_end;
_txt = tmp3_1;
_a_expPart = tmp3_3;
_txt = omc_Tpl_writeText(threadData, _txt, _a_expPart);
tmpMeta[0] = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT105);
goto tmp2_done;
}
case 1: {
_txt = tmp3_1;
tmpMeta[0] = _txt;
goto tmp2_done;
}
}
goto tmp2_end;
tmp2_end: ;
}
goto goto_1;
goto_1:;
MMC_THROW_INTERNAL();
goto tmp2_done;
tmp2_done:;
}
}
_out_txt = tmpMeta[0];
_return: OMC_LABEL_UNUSED
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__546(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_mArg, modelica_metatype _in_a_expPart)
{
modelica_integer tmp1;
modelica_metatype _out_txt = NULL;
tmp1 = mmc_unbox_integer(_in_mArg);
_out_txt = omc_CodegenCFunctions_fun__546(threadData, _in_txt, tmp1, _in_a_expPart);
return _out_txt;
}
DLLExport
modelica_metatype omc_CodegenCFunctions_algStmtFailure(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_stmt, modelica_metatype _in_a_context, modelica_metatype _in_a_varDecls, modelica_metatype _in_a_auxFunction, modelica_metatype *out_out_a_varDecls, modelica_metatype *out_out_a_auxFunction)
{
modelica_metatype _out_txt = NULL;
modelica_metatype _out_a_varDecls = NULL;
modelica_metatype _out_a_auxFunction = NULL;
modelica_metatype tmpMeta[4] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_metatype tmp4_2;modelica_metatype tmp4_3;modelica_metatype tmp4_4;modelica_metatype tmp4_5;
tmp4_1 = _in_txt;
tmp4_2 = _in_a_stmt;
tmp4_3 = _in_a_context;
tmp4_4 = _in_a_varDecls;
tmp4_5 = _in_a_auxFunction;
{
modelica_metatype _txt = NULL;
modelica_metatype _a_context = NULL;
modelica_metatype _a_varDecls = NULL;
modelica_metatype _a_auxFunction = NULL;
modelica_metatype _i_body = NULL;
modelica_metatype _l_stmtBody = NULL;
modelica_integer _ret_3;
modelica_metatype _l_goto = NULL;
modelica_integer _ret_1;
modelica_metatype _l_tmp = NULL;
volatile mmc_switch_type tmp4;
int tmp5;
tmp4 = 0;
for (; tmp4 < 2; tmp4++) {
switch (MMC_SWITCH_CAST(tmp4)) {
case 0: {
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,16,2) == 0) goto tmp3_end;
tmpMeta[3] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
_i_body = tmpMeta[3];
_txt = tmp4_1;
_a_context = tmp4_3;
_a_varDecls = tmp4_4;
_a_auxFunction = tmp4_5;
_l_tmp = omc_CodegenCFunctions_tempDecl(threadData, _OMC_LIT20, _OMC_LIT71, _a_varDecls ,&_a_varDecls);
_ret_1 = omc_System_tmpTick(threadData);
omc_SimCodeFunctionUtil_codegenPushTryThrowIndex(threadData, _ret_1);
_l_goto = omc_Tpl_writeTok(threadData, _OMC_LIT20, _OMC_LIT136);
_ret_3 = omc_SimCodeFunctionUtil_codegenPeekTryThrowIndex(threadData);
_l_goto = omc_Tpl_writeStr(threadData, _l_goto, intString(_ret_3));
_l_stmtBody = omc_Tpl_pushIter(threadData, _OMC_LIT20, _OMC_LIT96);
_l_stmtBody = omc_CodegenCFunctions_lm__544(threadData, _l_stmtBody, _i_body, _a_auxFunction, _a_varDecls, _a_context ,&_a_auxFunction ,&_a_varDecls);
_l_stmtBody = omc_Tpl_popIter(threadData, _l_stmtBody);
_txt = omc_Tpl_writeText(threadData, _txt, _l_tmp);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1808);
_txt = omc_Tpl_pushBlock(threadData, _txt, _OMC_LIT97);
_txt = omc_Tpl_writeText(threadData, _txt, _l_stmtBody);
_txt = omc_Tpl_softNewLine(threadData, _txt);
_txt = omc_Tpl_writeText(threadData, _txt, _l_tmp);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT275);
_txt = omc_Tpl_popBlock(threadData, _txt);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT99);
_txt = omc_Tpl_writeText(threadData, _txt, _l_goto);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT161);
_txt = omc_Tpl_writeText(threadData, _txt, _l_goto);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1812);
omc_SimCodeFunctionUtil_codegenPopTryThrowIndex(threadData);
_txt = omc_Tpl_softNewLine(threadData, _txt);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT248);
_txt = omc_Tpl_writeText(threadData, _txt, _l_tmp);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1814);
_txt = omc_CodegenCFunctions_generateThrow(threadData, _txt);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1816);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_varDecls;
tmpMeta[0+2] = _a_auxFunction;
goto tmp3_done;
}
case 1: {
_txt = tmp4_1;
_a_varDecls = tmp4_4;
_a_auxFunction = tmp4_5;
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_varDecls;
tmpMeta[0+2] = _a_auxFunction;
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta[0+0];
_out_a_varDecls = tmpMeta[0+1];
_out_a_auxFunction = tmpMeta[0+2];
_return: OMC_LABEL_UNUSED
if (out_out_a_varDecls) { *out_out_a_varDecls = _out_a_varDecls; }
if (out_out_a_auxFunction) { *out_out_a_auxFunction = _out_a_auxFunction; }
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_lm__544(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_items, modelica_metatype _in_a_auxFunction, modelica_metatype _in_a_varDecls, modelica_metatype _in_a_context, modelica_metatype *out_out_a_auxFunction, modelica_metatype *out_out_a_varDecls)
{
modelica_metatype _out_txt = NULL;
modelica_metatype _out_a_auxFunction = NULL;
modelica_metatype _out_a_varDecls = NULL;
modelica_metatype tmpMeta[5] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_metatype tmp4_2;modelica_metatype tmp4_3;modelica_metatype tmp4_4;modelica_metatype tmp4_5;
tmp4_1 = _in_txt;
tmp4_2 = _in_items;
tmp4_3 = _in_a_auxFunction;
tmp4_4 = _in_a_varDecls;
tmp4_5 = _in_a_context;
{
modelica_metatype _txt = NULL;
modelica_metatype _rest = NULL;
modelica_metatype _a_auxFunction = NULL;
modelica_metatype _a_varDecls = NULL;
modelica_metatype _a_context = NULL;
modelica_metatype _i_stmt = NULL;
volatile mmc_switch_type tmp4;
int tmp5;
tmp4 = 0;
for (; tmp4 < 2; tmp4++) {
switch (MMC_SWITCH_CAST(tmp4)) {
case 0: {
if (!listEmpty(tmp4_2)) goto tmp3_end;
_txt = tmp4_1;
_a_auxFunction = tmp4_3;
_a_varDecls = tmp4_4;
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_auxFunction;
tmpMeta[0+2] = _a_varDecls;
goto tmp3_done;
}
case 1: {
if (listEmpty(tmp4_2)) goto tmp3_end;
tmpMeta[3] = MMC_CAR(tmp4_2);
tmpMeta[4] = MMC_CDR(tmp4_2);
_i_stmt = tmpMeta[3];
_rest = tmpMeta[4];
_txt = tmp4_1;
_a_auxFunction = tmp4_3;
_a_varDecls = tmp4_4;
_a_context = tmp4_5;
_txt = omc_CodegenCFunctions_algStatement(threadData, _txt, _i_stmt, _a_context, _a_varDecls, _a_auxFunction ,&_a_varDecls ,&_a_auxFunction);
_txt = omc_Tpl_nextIter(threadData, _txt);
_in_txt = _txt;
_in_items = _rest;
_in_a_auxFunction = _a_auxFunction;
_in_a_varDecls = _a_varDecls;
_in_a_context = _a_context;
goto _tailrecursive;
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta[0+0];
_out_a_auxFunction = tmpMeta[0+1];
_out_a_varDecls = tmpMeta[0+2];
_return: OMC_LABEL_UNUSED
if (out_out_a_auxFunction) { *out_out_a_auxFunction = _out_a_auxFunction; }
if (out_out_a_varDecls) { *out_out_a_varDecls = _out_a_varDecls; }
return _out_txt;
}
DLLExport
modelica_metatype omc_CodegenCFunctions_algStmtTerminate(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_stmt, modelica_metatype _in_a_context, modelica_metatype _in_a_varDecls, modelica_metatype _in_a_auxFunction, modelica_metatype *out_out_a_varDecls, modelica_metatype *out_out_a_auxFunction)
{
modelica_metatype _out_txt = NULL;
modelica_metatype _out_a_varDecls = NULL;
modelica_metatype _out_a_auxFunction = NULL;
modelica_metatype tmpMeta[5] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_metatype tmp4_2;modelica_metatype tmp4_3;modelica_metatype tmp4_4;modelica_metatype tmp4_5;
tmp4_1 = _in_txt;
tmp4_2 = _in_a_stmt;
tmp4_3 = _in_a_context;
tmp4_4 = _in_a_varDecls;
tmp4_5 = _in_a_auxFunction;
{
modelica_metatype _txt = NULL;
modelica_metatype _a_context = NULL;
modelica_metatype _a_varDecls = NULL;
modelica_metatype _a_auxFunction = NULL;
modelica_metatype _i_source = NULL;
modelica_metatype _i_msg = NULL;
modelica_metatype _ret_2 = NULL;
modelica_metatype _l_msgVar = NULL;
modelica_metatype _l_preExp = NULL;
volatile mmc_switch_type tmp4;
int tmp5;
tmp4 = 0;
for (; tmp4 < 2; tmp4++) {
switch (MMC_SWITCH_CAST(tmp4)) {
case 0: {
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,9,2) == 0) goto tmp3_end;
tmpMeta[3] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
tmpMeta[4] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 3));
_i_msg = tmpMeta[3];
_i_source = tmpMeta[4];
_txt = tmp4_1;
_a_context = tmp4_3;
_a_varDecls = tmp4_4;
_a_auxFunction = tmp4_5;
_l_preExp = _OMC_LIT20;
_l_msgVar = omc_CodegenCFunctions_daeExp(threadData, _OMC_LIT20, _i_msg, _a_context, _l_preExp, _a_varDecls, _a_auxFunction ,&_l_preExp ,&_a_varDecls ,&_a_auxFunction);
_txt = omc_Tpl_writeText(threadData, _txt, _l_preExp);
_txt = omc_Tpl_softNewLine(threadData, _txt);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT146);
_txt = omc_Tpl_pushBlock(threadData, _txt, _OMC_LIT97);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1475);
_ret_2 = omc_ElementSource_getElementSourceFileInfo(threadData, _i_source);
_txt = omc_CodegenCFunctions_infoArgs(threadData, _txt, _ret_2);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1820);
_txt = omc_Tpl_writeText(threadData, _txt, _l_msgVar);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT593);
_txt = omc_Tpl_popBlock(threadData, _txt);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT103);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_varDecls;
tmpMeta[0+2] = _a_auxFunction;
goto tmp3_done;
}
case 1: {
_txt = tmp4_1;
_a_varDecls = tmp4_4;
_a_auxFunction = tmp4_5;
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_varDecls;
tmpMeta[0+2] = _a_auxFunction;
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta[0+0];
_out_a_varDecls = tmpMeta[0+1];
_out_a_auxFunction = tmpMeta[0+2];
_return: OMC_LABEL_UNUSED
if (out_out_a_varDecls) { *out_out_a_varDecls = _out_a_varDecls; }
if (out_out_a_auxFunction) { *out_out_a_auxFunction = _out_a_auxFunction; }
return _out_txt;
}
DLLExport
modelica_metatype omc_CodegenCFunctions_algStmtAssert(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_stmt, modelica_metatype _in_a_context, modelica_metatype _in_a_varDecls, modelica_metatype _in_a_auxFunction, modelica_metatype *out_out_a_varDecls, modelica_metatype *out_out_a_auxFunction)
{
modelica_metatype _out_txt = NULL;
modelica_metatype _out_a_varDecls = NULL;
modelica_metatype _out_a_auxFunction = NULL;
modelica_metatype tmpMeta[8] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_metatype tmp4_2;modelica_metatype tmp4_3;modelica_metatype tmp4_4;modelica_metatype tmp4_5;
tmp4_1 = _in_txt;
tmp4_2 = _in_a_stmt;
tmp4_3 = _in_a_context;
tmp4_4 = _in_a_varDecls;
tmp4_5 = _in_a_auxFunction;
{
modelica_metatype _txt = NULL;
modelica_metatype _a_context = NULL;
modelica_metatype _a_varDecls = NULL;
modelica_metatype _a_auxFunction = NULL;
modelica_metatype _i_info = NULL;
modelica_metatype _i_level = NULL;
modelica_metatype _i_msg = NULL;
modelica_metatype _i_cond = NULL;
modelica_metatype _ret_0 = NULL;
volatile mmc_switch_type tmp4;
int tmp5;
tmp4 = 0;
for (; tmp4 < 2; tmp4++) {
switch (MMC_SWITCH_CAST(tmp4)) {
case 0: {
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,8,4) == 0) goto tmp3_end;
tmpMeta[3] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
tmpMeta[4] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 3));
tmpMeta[5] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 4));
tmpMeta[6] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 5));
tmpMeta[7] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[6]), 2));
_i_cond = tmpMeta[3];
_i_msg = tmpMeta[4];
_i_level = tmpMeta[5];
_i_info = tmpMeta[7];
_txt = tmp4_1;
_a_context = tmp4_3;
_a_varDecls = tmp4_4;
_a_auxFunction = tmp4_5;
_ret_0 = omc_List_fill(threadData, _i_msg, ((modelica_integer) 1));
tmpMeta[0+0] = omc_CodegenCFunctions_assertCommon(threadData, _txt, _i_cond, _ret_0, _i_level, _a_context, _a_varDecls, _a_auxFunction, _i_info, &tmpMeta[0+1], &tmpMeta[0+2]);
goto tmp3_done;
}
case 1: {
_txt = tmp4_1;
_a_varDecls = tmp4_4;
_a_auxFunction = tmp4_5;
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_varDecls;
tmpMeta[0+2] = _a_auxFunction;
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta[0+0];
_out_a_varDecls = tmpMeta[0+1];
_out_a_auxFunction = tmpMeta[0+2];
_return: OMC_LABEL_UNUSED
if (out_out_a_varDecls) { *out_out_a_varDecls = _out_a_varDecls; }
if (out_out_a_auxFunction) { *out_out_a_auxFunction = _out_a_auxFunction; }
return _out_txt;
}
DLLExport
modelica_metatype omc_CodegenCFunctions_algStmtWhile(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_stmt, modelica_metatype _in_a_context, modelica_metatype _in_a_varDecls, modelica_metatype _in_a_auxFunction, modelica_metatype *out_out_a_varDecls, modelica_metatype *out_out_a_auxFunction)
{
modelica_metatype _out_txt = NULL;
modelica_metatype _out_a_varDecls = NULL;
modelica_metatype _out_a_auxFunction = NULL;
modelica_metatype tmpMeta[5] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_metatype tmp4_2;modelica_metatype tmp4_3;modelica_metatype tmp4_4;modelica_metatype tmp4_5;
tmp4_1 = _in_txt;
tmp4_2 = _in_a_stmt;
tmp4_3 = _in_a_context;
tmp4_4 = _in_a_varDecls;
tmp4_5 = _in_a_auxFunction;
{
modelica_metatype _txt = NULL;
modelica_metatype _a_context = NULL;
modelica_metatype _a_varDecls = NULL;
modelica_metatype _a_auxFunction = NULL;
modelica_metatype _i_statementLst = NULL;
modelica_metatype _i_exp = NULL;
modelica_metatype _l_var = NULL;
modelica_metatype _l_preExp = NULL;
volatile mmc_switch_type tmp4;
int tmp5;
tmp4 = 0;
for (; tmp4 < 2; tmp4++) {
switch (MMC_SWITCH_CAST(tmp4)) {
case 0: {
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,6,3) == 0) goto tmp3_end;
tmpMeta[3] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
tmpMeta[4] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 3));
_i_exp = tmpMeta[3];
_i_statementLst = tmpMeta[4];
_txt = tmp4_1;
_a_context = tmp4_3;
_a_varDecls = tmp4_4;
_a_auxFunction = tmp4_5;
_l_preExp = _OMC_LIT20;
_l_var = omc_CodegenCFunctions_daeExp(threadData, _OMC_LIT20, _i_exp, _a_context, _l_preExp, _a_varDecls, _a_auxFunction ,&_l_preExp ,&_a_varDecls ,&_a_auxFunction);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1823);
_txt = omc_Tpl_pushBlock(threadData, _txt, _OMC_LIT97);
_txt = omc_Tpl_writeText(threadData, _txt, _l_preExp);
_txt = omc_Tpl_softNewLine(threadData, _txt);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1494);
_txt = omc_Tpl_writeText(threadData, _txt, _l_var);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1825);
_txt = omc_Tpl_pushIter(threadData, _txt, _OMC_LIT96);
_txt = omc_CodegenCFunctions_lm__540(threadData, _txt, _i_statementLst, _a_auxFunction, _a_varDecls, _a_context ,&_a_auxFunction ,&_a_varDecls);
_txt = omc_Tpl_popIter(threadData, _txt);
_txt = omc_Tpl_softNewLine(threadData, _txt);
_txt = omc_Tpl_popBlock(threadData, _txt);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT103);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_varDecls;
tmpMeta[0+2] = _a_auxFunction;
goto tmp3_done;
}
case 1: {
_txt = tmp4_1;
_a_varDecls = tmp4_4;
_a_auxFunction = tmp4_5;
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_varDecls;
tmpMeta[0+2] = _a_auxFunction;
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta[0+0];
_out_a_varDecls = tmpMeta[0+1];
_out_a_auxFunction = tmpMeta[0+2];
_return: OMC_LABEL_UNUSED
if (out_out_a_varDecls) { *out_out_a_varDecls = _out_a_varDecls; }
if (out_out_a_auxFunction) { *out_out_a_auxFunction = _out_a_auxFunction; }
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_lm__540(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_items, modelica_metatype _in_a_auxFunction, modelica_metatype _in_a_varDecls, modelica_metatype _in_a_context, modelica_metatype *out_out_a_auxFunction, modelica_metatype *out_out_a_varDecls)
{
modelica_metatype _out_txt = NULL;
modelica_metatype _out_a_auxFunction = NULL;
modelica_metatype _out_a_varDecls = NULL;
modelica_metatype tmpMeta[5] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_metatype tmp4_2;modelica_metatype tmp4_3;modelica_metatype tmp4_4;modelica_metatype tmp4_5;
tmp4_1 = _in_txt;
tmp4_2 = _in_items;
tmp4_3 = _in_a_auxFunction;
tmp4_4 = _in_a_varDecls;
tmp4_5 = _in_a_context;
{
modelica_metatype _txt = NULL;
modelica_metatype _rest = NULL;
modelica_metatype _a_auxFunction = NULL;
modelica_metatype _a_varDecls = NULL;
modelica_metatype _a_context = NULL;
modelica_metatype _i_stmt = NULL;
volatile mmc_switch_type tmp4;
int tmp5;
tmp4 = 0;
for (; tmp4 < 2; tmp4++) {
switch (MMC_SWITCH_CAST(tmp4)) {
case 0: {
if (!listEmpty(tmp4_2)) goto tmp3_end;
_txt = tmp4_1;
_a_auxFunction = tmp4_3;
_a_varDecls = tmp4_4;
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_auxFunction;
tmpMeta[0+2] = _a_varDecls;
goto tmp3_done;
}
case 1: {
if (listEmpty(tmp4_2)) goto tmp3_end;
tmpMeta[3] = MMC_CAR(tmp4_2);
tmpMeta[4] = MMC_CDR(tmp4_2);
_i_stmt = tmpMeta[3];
_rest = tmpMeta[4];
_txt = tmp4_1;
_a_auxFunction = tmp4_3;
_a_varDecls = tmp4_4;
_a_context = tmp4_5;
_txt = omc_CodegenCFunctions_algStatement(threadData, _txt, _i_stmt, _a_context, _a_varDecls, _a_auxFunction ,&_a_varDecls ,&_a_auxFunction);
_txt = omc_Tpl_nextIter(threadData, _txt);
_in_txt = _txt;
_in_items = _rest;
_in_a_auxFunction = _a_auxFunction;
_in_a_varDecls = _a_varDecls;
_in_a_context = _a_context;
goto _tailrecursive;
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta[0+0];
_out_a_auxFunction = tmpMeta[0+1];
_out_a_varDecls = tmpMeta[0+2];
_return: OMC_LABEL_UNUSED
if (out_out_a_auxFunction) { *out_out_a_auxFunction = _out_a_auxFunction; }
if (out_out_a_varDecls) { *out_out_a_varDecls = _out_a_varDecls; }
return _out_txt;
}
DLLExport
modelica_metatype omc_CodegenCFunctions_algStmtForGeneric__impl(threadData_t *threadData, modelica_metatype _txt, modelica_metatype _a_exp, modelica_string _a_iterator, modelica_string _a_type, modelica_string _a_arrayType, modelica_boolean _a_iterIsArray, modelica_metatype _a_body, modelica_metatype _a_tvar, modelica_metatype _a_context, modelica_metatype _a_varDecls, modelica_metatype _a_auxFunction, modelica_metatype *out_out_a_body, modelica_metatype *out_out_a_tvar, modelica_metatype *out_out_a_varDecls, modelica_metatype *out_out_a_auxFunction)
{
modelica_metatype _out_txt = NULL;
modelica_metatype _out_a_body = NULL;
modelica_metatype _out_a_tvar = NULL;
modelica_metatype _out_a_varDecls = NULL;
modelica_metatype _out_a_auxFunction = NULL;
modelica_metatype _l_evar = NULL;
modelica_metatype _l_preExp = NULL;
modelica_metatype _l_ivar = NULL;
modelica_metatype _l_iterName = NULL;
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
_l_iterName = omc_CodegenCFunctions_contextIteratorName(threadData, _OMC_LIT20, _a_iterator, _a_context);
_l_ivar = omc_CodegenCFunctions_tempDecl(threadData, _OMC_LIT20, _a_type, _a_varDecls ,&_out_a_varDecls);
_l_preExp = _OMC_LIT20;
_l_evar = omc_CodegenCFunctions_daeExp(threadData, _OMC_LIT20, _a_exp, _a_context, _l_preExp, _out_a_varDecls, _a_auxFunction ,&_l_preExp ,&_out_a_varDecls ,&_out_a_auxFunction);
_out_txt = omc_Tpl_writeText(threadData, _txt, _l_preExp);
_out_txt = omc_Tpl_softNewLine(threadData, _out_txt);
_out_txt = omc_Tpl_writeTok(threadData, _out_txt, _OMC_LIT146);
_out_txt = omc_Tpl_pushBlock(threadData, _out_txt, _OMC_LIT97);
_out_txt = omc_Tpl_writeStr(threadData, _out_txt, _a_type);
_out_txt = omc_Tpl_writeTok(threadData, _out_txt, _OMC_LIT29);
_out_txt = omc_Tpl_writeText(threadData, _out_txt, _l_iterName);
_out_txt = omc_Tpl_writeTok(threadData, _out_txt, _OMC_LIT161);
_out_txt = omc_CodegenCFunctions_fun__538(threadData, _out_txt, _a_type, _l_ivar, _a_arrayType, _a_iterIsArray, _a_body, _l_iterName, _l_evar, _a_tvar, _out_a_varDecls, _a_exp ,&_out_a_varDecls);
_out_txt = omc_Tpl_softNewLine(threadData, _out_txt);
_out_txt = omc_Tpl_popBlock(threadData, _out_txt);
_out_txt = omc_Tpl_writeTok(threadData, _out_txt, _OMC_LIT103);
_out_a_body = _a_body;
_out_a_tvar = _a_tvar;
_return: OMC_LABEL_UNUSED
if (out_out_a_body) { *out_out_a_body = _out_a_body; }
if (out_out_a_tvar) { *out_out_a_tvar = _out_a_tvar; }
if (out_out_a_varDecls) { *out_out_a_varDecls = _out_a_varDecls; }
if (out_out_a_auxFunction) { *out_out_a_auxFunction = _out_a_auxFunction; }
return _out_txt;
}
modelica_metatype boxptr_CodegenCFunctions_algStmtForGeneric__impl(threadData_t *threadData, modelica_metatype _txt, modelica_metatype _a_exp, modelica_metatype _a_iterator, modelica_metatype _a_type, modelica_metatype _a_arrayType, modelica_metatype _a_iterIsArray, modelica_metatype _a_body, modelica_metatype _a_tvar, modelica_metatype _a_context, modelica_metatype _a_varDecls, modelica_metatype _a_auxFunction, modelica_metatype *out_out_a_body, modelica_metatype *out_out_a_tvar, modelica_metatype *out_out_a_varDecls, modelica_metatype *out_out_a_auxFunction)
{
modelica_integer tmp1;
modelica_metatype _out_txt = NULL;
tmp1 = mmc_unbox_integer(_a_iterIsArray);
_out_txt = omc_CodegenCFunctions_algStmtForGeneric__impl(threadData, _txt, _a_exp, _a_iterator, _a_type, _a_arrayType, tmp1, _a_body, _a_tvar, _a_context, _a_varDecls, _a_auxFunction, out_out_a_body, out_out_a_tvar, out_out_a_varDecls, out_out_a_auxFunction);
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__538(threadData_t *threadData, modelica_metatype _in_txt, modelica_string _in_a_type, modelica_metatype _in_a_ivar, modelica_string _in_a_arrayType, modelica_boolean _in_a_iterIsArray, modelica_metatype _in_a_body, modelica_metatype _in_a_iterName, modelica_metatype _in_a_evar, modelica_metatype _in_a_tvar, modelica_metatype _in_a_varDecls, modelica_metatype _in_a_exp, modelica_metatype *out_out_a_varDecls)
{
modelica_metatype _out_txt = NULL;
modelica_metatype _out_a_varDecls = NULL;
modelica_metatype tmpMeta[2] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_string tmp4_2;modelica_metatype tmp4_3;modelica_string tmp4_4;modelica_boolean tmp4_5;modelica_metatype tmp4_6;modelica_metatype tmp4_7;modelica_metatype tmp4_8;modelica_metatype tmp4_9;modelica_metatype tmp4_10;modelica_metatype tmp4_11;
tmp4_1 = _in_txt;
tmp4_2 = _in_a_type;
tmp4_3 = _in_a_ivar;
tmp4_4 = _in_a_arrayType;
tmp4_5 = _in_a_iterIsArray;
tmp4_6 = _in_a_body;
tmp4_7 = _in_a_iterName;
tmp4_8 = _in_a_evar;
tmp4_9 = _in_a_tvar;
tmp4_10 = _in_a_varDecls;
tmp4_11 = _in_a_exp;
{
modelica_metatype _txt = NULL;
modelica_metatype _a_ivar = NULL;
modelica_string _a_arrayType = NULL;
modelica_boolean _a_iterIsArray;
modelica_metatype _a_body = NULL;
modelica_metatype _a_iterName = NULL;
modelica_metatype _a_evar = NULL;
modelica_metatype _a_tvar = NULL;
modelica_metatype _a_varDecls = NULL;
modelica_metatype _a_exp = NULL;
modelica_string _i_type = NULL;
modelica_metatype _l_stmtStuff = NULL;
modelica_metatype _ret_0 = NULL;
volatile mmc_switch_type tmp4;
int tmp5;
tmp4 = 0;
for (; tmp4 < 2; tmp4++) {
switch (MMC_SWITCH_CAST(tmp4)) {
case 0: {
if (17 != MMC_STRLEN(tmp4_2) || strcmp(MMC_STRINGDATA(_OMC_LIT311), MMC_STRINGDATA(tmp4_2)) != 0) goto tmp3_end;
_txt = tmp4_1;
_a_body = tmp4_6;
_a_iterName = tmp4_7;
_a_evar = tmp4_8;
_a_tvar = tmp4_9;
_a_varDecls = tmp4_10;
_a_exp = tmp4_11;
_ret_0 = omc_Expression_typeof(threadData, _a_exp);
tmpMeta[0+0] = omc_CodegenCFunctions_fun__536(threadData, _txt, _ret_0, _a_body, _a_iterName, _a_evar, _a_tvar, _a_varDecls, &tmpMeta[0+1]);
goto tmp3_done;
}
case 1: {
_txt = tmp4_1;
_i_type = tmp4_2;
_a_ivar = tmp4_3;
_a_arrayType = tmp4_4;
_a_iterIsArray = tmp4_5;
_a_body = tmp4_6;
_a_iterName = tmp4_7;
_a_evar = tmp4_8;
_a_tvar = tmp4_9;
_a_varDecls = tmp4_10;
_l_stmtStuff = omc_CodegenCFunctions_fun__537(threadData, _OMC_LIT20, _a_iterIsArray, _a_ivar, _i_type, _a_tvar, _a_evar, _a_arrayType, _a_iterName);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1827);
_txt = omc_Tpl_writeText(threadData, _txt, _a_tvar);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1829);
_txt = omc_Tpl_writeText(threadData, _txt, _a_tvar);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT342);
_txt = omc_Tpl_writeText(threadData, _txt, _a_evar);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1831);
_txt = omc_Tpl_writeText(threadData, _txt, _a_tvar);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT428);
_txt = omc_Tpl_pushBlock(threadData, _txt, _OMC_LIT97);
_txt = omc_Tpl_writeText(threadData, _txt, _l_stmtStuff);
_txt = omc_Tpl_softNewLine(threadData, _txt);
_txt = omc_Tpl_writeText(threadData, _txt, _a_body);
_txt = omc_Tpl_softNewLine(threadData, _txt);
_txt = omc_Tpl_popBlock(threadData, _txt);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT103);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_varDecls;
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta[0+0];
_out_a_varDecls = tmpMeta[0+1];
_return: OMC_LABEL_UNUSED
if (out_out_a_varDecls) { *out_out_a_varDecls = _out_a_varDecls; }
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__538(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_type, modelica_metatype _in_a_ivar, modelica_metatype _in_a_arrayType, modelica_metatype _in_a_iterIsArray, modelica_metatype _in_a_body, modelica_metatype _in_a_iterName, modelica_metatype _in_a_evar, modelica_metatype _in_a_tvar, modelica_metatype _in_a_varDecls, modelica_metatype _in_a_exp, modelica_metatype *out_out_a_varDecls)
{
modelica_integer tmp1;
modelica_metatype _out_txt = NULL;
tmp1 = mmc_unbox_integer(_in_a_iterIsArray);
_out_txt = omc_CodegenCFunctions_fun__538(threadData, _in_txt, _in_a_type, _in_a_ivar, _in_a_arrayType, tmp1, _in_a_body, _in_a_iterName, _in_a_evar, _in_a_tvar, _in_a_varDecls, _in_a_exp, out_out_a_varDecls);
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__537(threadData_t *threadData, modelica_metatype _in_txt, modelica_boolean _in_a_iterIsArray, modelica_metatype _in_a_ivar, modelica_string _in_a_type, modelica_metatype _in_a_tvar, modelica_metatype _in_a_evar, modelica_string _in_a_arrayType, modelica_metatype _in_a_iterName)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta[1] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp3_1;modelica_boolean tmp3_2;modelica_metatype tmp3_3;modelica_string tmp3_4;modelica_metatype tmp3_5;modelica_metatype tmp3_6;modelica_string tmp3_7;modelica_metatype tmp3_8;
tmp3_1 = _in_txt;
tmp3_2 = _in_a_iterIsArray;
tmp3_3 = _in_a_ivar;
tmp3_4 = _in_a_type;
tmp3_5 = _in_a_tvar;
tmp3_6 = _in_a_evar;
tmp3_7 = _in_a_arrayType;
tmp3_8 = _in_a_iterName;
{
modelica_metatype _txt = NULL;
modelica_metatype _a_ivar = NULL;
modelica_string _a_type = NULL;
modelica_metatype _a_tvar = NULL;
modelica_metatype _a_evar = NULL;
modelica_string _a_arrayType = NULL;
modelica_metatype _a_iterName = NULL;
volatile mmc_switch_type tmp3;
int tmp4;
tmp3 = 0;
for (; tmp3 < 2; tmp3++) {
switch (MMC_SWITCH_CAST(tmp3)) {
case 0: {
if (0 != tmp3_2) goto tmp2_end;
_txt = tmp3_1;
_a_tvar = tmp3_5;
_a_evar = tmp3_6;
_a_arrayType = tmp3_7;
_a_iterName = tmp3_8;
_txt = omc_Tpl_writeText(threadData, _txt, _a_iterName);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT121);
_txt = omc_Tpl_writeStr(threadData, _txt, _a_arrayType);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT355);
_txt = omc_Tpl_writeText(threadData, _txt, _a_evar);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT351);
_txt = omc_Tpl_writeText(threadData, _txt, _a_tvar);
tmpMeta[0] = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT290);
goto tmp2_done;
}
case 1: {
_txt = tmp3_1;
_a_ivar = tmp3_3;
_a_type = tmp3_4;
_a_tvar = tmp3_5;
_a_evar = tmp3_6;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1833);
_txt = omc_Tpl_writeStr(threadData, _txt, _a_type);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1835);
_txt = omc_Tpl_writeText(threadData, _txt, _a_evar);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT292);
_txt = omc_Tpl_writeText(threadData, _txt, _a_tvar);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT123);
_txt = omc_Tpl_writeText(threadData, _txt, _a_ivar);
tmpMeta[0] = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT290);
goto tmp2_done;
}
}
goto tmp2_end;
tmp2_end: ;
}
goto goto_1;
goto_1:;
MMC_THROW_INTERNAL();
goto tmp2_done;
tmp2_done:;
}
}
_out_txt = tmpMeta[0];
_return: OMC_LABEL_UNUSED
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__537(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_iterIsArray, modelica_metatype _in_a_ivar, modelica_metatype _in_a_type, modelica_metatype _in_a_tvar, modelica_metatype _in_a_evar, modelica_metatype _in_a_arrayType, modelica_metatype _in_a_iterName)
{
modelica_integer tmp1;
modelica_metatype _out_txt = NULL;
tmp1 = mmc_unbox_integer(_in_a_iterIsArray);
_out_txt = omc_CodegenCFunctions_fun__537(threadData, _in_txt, tmp1, _in_a_ivar, _in_a_type, _in_a_tvar, _in_a_evar, _in_a_arrayType, _in_a_iterName);
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__536(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_mArg, modelica_metatype _in_a_body, modelica_metatype _in_a_iterName, modelica_metatype _in_a_evar, modelica_metatype _in_a_tvar, modelica_metatype _in_a_varDecls, modelica_metatype *out_out_a_varDecls)
{
modelica_metatype _out_txt = NULL;
modelica_metatype _out_a_varDecls = NULL;
modelica_metatype tmpMeta[3] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_metatype tmp4_2;modelica_metatype tmp4_3;modelica_metatype tmp4_4;modelica_metatype tmp4_5;modelica_metatype tmp4_6;modelica_metatype tmp4_7;
tmp4_1 = _in_txt;
tmp4_2 = _in_mArg;
tmp4_3 = _in_a_body;
tmp4_4 = _in_a_iterName;
tmp4_5 = _in_a_evar;
tmp4_6 = _in_a_tvar;
tmp4_7 = _in_a_varDecls;
{
modelica_metatype _txt = NULL;
modelica_metatype _a_body = NULL;
modelica_metatype _a_iterName = NULL;
modelica_metatype _a_evar = NULL;
modelica_metatype _a_tvar = NULL;
modelica_metatype _a_varDecls = NULL;
modelica_metatype _i_ty = NULL;
modelica_metatype _txt_2 = NULL;
modelica_string _ret_2 = NULL;
modelica_metatype _l_len = NULL;
modelica_metatype _l_tmp = NULL;
volatile mmc_switch_type tmp4;
int tmp5;
tmp4 = 0;
for (; tmp4 < 5; tmp4++) {
switch (MMC_SWITCH_CAST(tmp4)) {
case 0: {
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,22,1) == 0) goto tmp3_end;
_txt = tmp4_1;
_a_body = tmp4_3;
_a_iterName = tmp4_4;
_a_evar = tmp4_5;
_a_tvar = tmp4_6;
_a_varDecls = tmp4_7;
_l_tmp = omc_CodegenCFunctions_tempDecl(threadData, _OMC_LIT20, _OMC_LIT449, _a_varDecls ,&_a_varDecls);
_l_len = omc_CodegenCFunctions_tempDecl(threadData, _OMC_LIT20, _OMC_LIT449, _a_varDecls ,&_a_varDecls);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1837);
_txt = omc_Tpl_writeText(threadData, _txt, _a_tvar);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT121);
_txt = omc_Tpl_writeText(threadData, _txt, _a_evar);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT292);
_txt = omc_Tpl_writeText(threadData, _txt, _l_len);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1839);
_txt = omc_Tpl_writeText(threadData, _txt, _a_tvar);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT522);
_txt = omc_Tpl_writeText(threadData, _txt, _l_tmp);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1829);
_txt = omc_Tpl_writeText(threadData, _txt, _l_tmp);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT334);
_txt = omc_Tpl_writeText(threadData, _txt, _l_len);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT200);
_txt = omc_Tpl_writeText(threadData, _txt, _l_tmp);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1842);
_txt = omc_Tpl_pushBlock(threadData, _txt, _OMC_LIT97);
_txt = omc_Tpl_writeText(threadData, _txt, _a_iterName);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT367);
_txt = omc_Tpl_writeText(threadData, _txt, _a_tvar);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT226);
_txt = omc_Tpl_writeText(threadData, _txt, _l_tmp);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT375);
_txt = omc_Tpl_writeText(threadData, _txt, _a_body);
_txt = omc_Tpl_softNewLine(threadData, _txt);
_txt = omc_Tpl_popBlock(threadData, _txt);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT103);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_varDecls;
goto tmp3_done;
}
case 1: {
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,25,1) == 0) goto tmp3_end;
tmpMeta[2] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[2],22,1) == 0) goto tmp3_end;
_txt = tmp4_1;
_a_body = tmp4_3;
_a_iterName = tmp4_4;
_a_evar = tmp4_5;
_a_tvar = tmp4_6;
_a_varDecls = tmp4_7;
_l_tmp = omc_CodegenCFunctions_tempDecl(threadData, _OMC_LIT20, _OMC_LIT449, _a_varDecls ,&_a_varDecls);
_l_len = omc_CodegenCFunctions_tempDecl(threadData, _OMC_LIT20, _OMC_LIT449, _a_varDecls ,&_a_varDecls);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1837);
_txt = omc_Tpl_writeText(threadData, _txt, _a_tvar);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT121);
_txt = omc_Tpl_writeText(threadData, _txt, _a_evar);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT292);
_txt = omc_Tpl_writeText(threadData, _txt, _l_len);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1839);
_txt = omc_Tpl_writeText(threadData, _txt, _a_tvar);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT522);
_txt = omc_Tpl_writeText(threadData, _txt, _l_tmp);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1829);
_txt = omc_Tpl_writeText(threadData, _txt, _l_tmp);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT334);
_txt = omc_Tpl_writeText(threadData, _txt, _l_len);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT200);
_txt = omc_Tpl_writeText(threadData, _txt, _l_tmp);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1842);
_txt = omc_Tpl_pushBlock(threadData, _txt, _OMC_LIT97);
_txt = omc_Tpl_writeText(threadData, _txt, _a_iterName);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT367);
_txt = omc_Tpl_writeText(threadData, _txt, _a_tvar);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT226);
_txt = omc_Tpl_writeText(threadData, _txt, _l_tmp);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT375);
_txt = omc_Tpl_writeText(threadData, _txt, _a_body);
_txt = omc_Tpl_softNewLine(threadData, _txt);
_txt = omc_Tpl_popBlock(threadData, _txt);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT103);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_varDecls;
goto tmp3_done;
}
case 2: {
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,17,1) == 0) goto tmp3_end;
_txt = tmp4_1;
_a_body = tmp4_3;
_a_iterName = tmp4_4;
_a_evar = tmp4_5;
_a_tvar = tmp4_6;
_a_varDecls = tmp4_7;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1837);
_txt = omc_Tpl_writeText(threadData, _txt, _a_tvar);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT121);
_txt = omc_Tpl_writeText(threadData, _txt, _a_evar);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1844);
_txt = omc_Tpl_writeText(threadData, _txt, _a_tvar);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1846);
_txt = omc_Tpl_writeText(threadData, _txt, _a_tvar);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1848);
_txt = omc_Tpl_writeText(threadData, _txt, _a_tvar);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1218);
_txt = omc_Tpl_pushBlock(threadData, _txt, _OMC_LIT97);
_txt = omc_Tpl_writeText(threadData, _txt, _a_iterName);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT373);
_txt = omc_Tpl_writeText(threadData, _txt, _a_tvar);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT375);
_txt = omc_Tpl_writeText(threadData, _txt, _a_body);
_txt = omc_Tpl_softNewLine(threadData, _txt);
_txt = omc_Tpl_popBlock(threadData, _txt);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT103);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_varDecls;
goto tmp3_done;
}
case 3: {
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,25,1) == 0) goto tmp3_end;
tmpMeta[2] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[2],17,1) == 0) goto tmp3_end;
_txt = tmp4_1;
_a_body = tmp4_3;
_a_iterName = tmp4_4;
_a_evar = tmp4_5;
_a_tvar = tmp4_6;
_a_varDecls = tmp4_7;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1837);
_txt = omc_Tpl_writeText(threadData, _txt, _a_tvar);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT121);
_txt = omc_Tpl_writeText(threadData, _txt, _a_evar);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1844);
_txt = omc_Tpl_writeText(threadData, _txt, _a_tvar);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1846);
_txt = omc_Tpl_writeText(threadData, _txt, _a_tvar);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1848);
_txt = omc_Tpl_writeText(threadData, _txt, _a_tvar);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1218);
_txt = omc_Tpl_pushBlock(threadData, _txt, _OMC_LIT97);
_txt = omc_Tpl_writeText(threadData, _txt, _a_iterName);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT373);
_txt = omc_Tpl_writeText(threadData, _txt, _a_tvar);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT375);
_txt = omc_Tpl_writeText(threadData, _txt, _a_body);
_txt = omc_Tpl_softNewLine(threadData, _txt);
_txt = omc_Tpl_popBlock(threadData, _txt);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT103);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_varDecls;
goto tmp3_done;
}
case 4: {
_txt = tmp4_1;
_i_ty = tmp4_2;
_a_varDecls = tmp4_7;
_ret_2 = omc_Types_unparseType(threadData, _i_ty);
_txt_2 = omc_Tpl_writeStr(threadData, _OMC_LIT20, _ret_2);
_txt_2 = omc_Tpl_writeTok(threadData, _txt_2, _OMC_LIT1850);
_txt = omc_CodegenUtil_error(threadData, _txt, omc_Tpl_sourceInfo(threadData, _OMC_LIT27, ((modelica_integer) 3414), ((modelica_integer) 26)), omc_Tpl_textString(threadData, _txt_2));
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_varDecls;
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta[0+0];
_out_a_varDecls = tmpMeta[0+1];
_return: OMC_LABEL_UNUSED
if (out_out_a_varDecls) { *out_out_a_varDecls = _out_a_varDecls; }
return _out_txt;
}
DLLExport
modelica_metatype omc_CodegenCFunctions_algStmtForGeneric(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_stmt, modelica_metatype _in_a_context, modelica_metatype _in_a_varDecls, modelica_metatype _in_a_auxFunction, modelica_metatype *out_out_a_varDecls, modelica_metatype *out_out_a_auxFunction)
{
modelica_metatype _out_txt = NULL;
modelica_metatype _out_a_varDecls = NULL;
modelica_metatype _out_a_auxFunction = NULL;
modelica_metatype tmpMeta[8] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_metatype tmp4_2;modelica_metatype tmp4_3;modelica_metatype tmp4_4;modelica_metatype tmp4_5;
tmp4_1 = _in_txt;
tmp4_2 = _in_a_stmt;
tmp4_3 = _in_a_context;
tmp4_4 = _in_a_varDecls;
tmp4_5 = _in_a_auxFunction;
{
modelica_metatype _txt = NULL;
modelica_metatype _a_context = NULL;
modelica_metatype _a_varDecls = NULL;
modelica_metatype _a_auxFunction = NULL;
modelica_string _i_iter = NULL;
modelica_metatype _i_range = NULL;
modelica_metatype _i_statementLst = NULL;
modelica_boolean _i_iterIsArray;
modelica_metatype _i_type__ = NULL;
modelica_metatype _l_stmtStr = NULL;
modelica_string _str_5 = NULL;
modelica_metatype _l_tvar = NULL;
modelica_metatype _l_arrayType = NULL;
modelica_string _str_2 = NULL;
modelica_metatype _txt_1 = NULL;
modelica_metatype _l_iterType = NULL;
volatile mmc_switch_type tmp4;
int tmp5;
tmp4 = 0;
for (; tmp4 < 2; tmp4++) {
switch (MMC_SWITCH_CAST(tmp4)) {
case 0: {
modelica_integer tmp6;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,4,7) == 0) goto tmp3_end;
tmpMeta[3] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
tmpMeta[4] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 3));
tmp6 = mmc_unbox_integer(tmpMeta[4]);
tmpMeta[5] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 4));
tmpMeta[6] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 6));
tmpMeta[7] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 7));
_i_type__ = tmpMeta[3];
_i_iterIsArray = tmp6;
_i_iter = tmpMeta[5];
_i_range = tmpMeta[6];
_i_statementLst = tmpMeta[7];
_txt = tmp4_1;
_a_context = tmp4_3;
_a_varDecls = tmp4_4;
_a_auxFunction = tmp4_5;
_txt_1 = omc_CodegenCFunctions_expType(threadData, _OMC_LIT20, _i_type__, _i_iterIsArray);
_str_2 = omc_Tpl_textString(threadData, _txt_1);
_l_iterType = omc_CodegenCFunctions_fun__532(threadData, _OMC_LIT20, _str_2);
_l_arrayType = omc_CodegenCFunctions_expTypeArray(threadData, _OMC_LIT20, _i_type__);
_str_5 = omc_Tpl_textString(threadData, _l_iterType);
_l_tvar = omc_CodegenCFunctions_fun__533(threadData, _OMC_LIT20, _str_5, _a_varDecls ,&_a_varDecls);
_l_stmtStr = omc_Tpl_pushIter(threadData, _OMC_LIT20, _OMC_LIT96);
_l_stmtStr = omc_CodegenCFunctions_lm__534(threadData, _l_stmtStr, _i_statementLst, _a_auxFunction, _a_varDecls, _a_context ,&_a_auxFunction ,&_a_varDecls);
_l_stmtStr = omc_Tpl_popIter(threadData, _l_stmtStr);
_txt = omc_CodegenCFunctions_algStmtForGeneric__impl(threadData, _txt, _i_range, _i_iter, omc_Tpl_textString(threadData, _l_iterType), omc_Tpl_textString(threadData, _l_arrayType), _i_iterIsArray, _l_stmtStr, _l_tvar, _a_context, _a_varDecls, _a_auxFunction ,&_l_stmtStr ,&_l_tvar ,&_a_varDecls ,&_a_auxFunction);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_varDecls;
tmpMeta[0+2] = _a_auxFunction;
goto tmp3_done;
}
case 1: {
_txt = tmp4_1;
_a_varDecls = tmp4_4;
_a_auxFunction = tmp4_5;
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_varDecls;
tmpMeta[0+2] = _a_auxFunction;
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta[0+0];
_out_a_varDecls = tmpMeta[0+1];
_out_a_auxFunction = tmpMeta[0+2];
_return: OMC_LABEL_UNUSED
if (out_out_a_varDecls) { *out_out_a_varDecls = _out_a_varDecls; }
if (out_out_a_auxFunction) { *out_out_a_auxFunction = _out_a_auxFunction; }
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_lm__534(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_items, modelica_metatype _in_a_auxFunction, modelica_metatype _in_a_varDecls, modelica_metatype _in_a_context, modelica_metatype *out_out_a_auxFunction, modelica_metatype *out_out_a_varDecls)
{
modelica_metatype _out_txt = NULL;
modelica_metatype _out_a_auxFunction = NULL;
modelica_metatype _out_a_varDecls = NULL;
modelica_metatype tmpMeta[5] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_metatype tmp4_2;modelica_metatype tmp4_3;modelica_metatype tmp4_4;modelica_metatype tmp4_5;
tmp4_1 = _in_txt;
tmp4_2 = _in_items;
tmp4_3 = _in_a_auxFunction;
tmp4_4 = _in_a_varDecls;
tmp4_5 = _in_a_context;
{
modelica_metatype _txt = NULL;
modelica_metatype _rest = NULL;
modelica_metatype _a_auxFunction = NULL;
modelica_metatype _a_varDecls = NULL;
modelica_metatype _a_context = NULL;
modelica_metatype _i_stmt = NULL;
volatile mmc_switch_type tmp4;
int tmp5;
tmp4 = 0;
for (; tmp4 < 2; tmp4++) {
switch (MMC_SWITCH_CAST(tmp4)) {
case 0: {
if (!listEmpty(tmp4_2)) goto tmp3_end;
_txt = tmp4_1;
_a_auxFunction = tmp4_3;
_a_varDecls = tmp4_4;
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_auxFunction;
tmpMeta[0+2] = _a_varDecls;
goto tmp3_done;
}
case 1: {
if (listEmpty(tmp4_2)) goto tmp3_end;
tmpMeta[3] = MMC_CAR(tmp4_2);
tmpMeta[4] = MMC_CDR(tmp4_2);
_i_stmt = tmpMeta[3];
_rest = tmpMeta[4];
_txt = tmp4_1;
_a_auxFunction = tmp4_3;
_a_varDecls = tmp4_4;
_a_context = tmp4_5;
_txt = omc_CodegenCFunctions_algStatement(threadData, _txt, _i_stmt, _a_context, _a_varDecls, _a_auxFunction ,&_a_varDecls ,&_a_auxFunction);
_txt = omc_Tpl_nextIter(threadData, _txt);
_in_txt = _txt;
_in_items = _rest;
_in_a_auxFunction = _a_auxFunction;
_in_a_varDecls = _a_varDecls;
_in_a_context = _a_context;
goto _tailrecursive;
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta[0+0];
_out_a_auxFunction = tmpMeta[0+1];
_out_a_varDecls = tmpMeta[0+2];
_return: OMC_LABEL_UNUSED
if (out_out_a_auxFunction) { *out_out_a_auxFunction = _out_a_auxFunction; }
if (out_out_a_varDecls) { *out_out_a_varDecls = _out_a_varDecls; }
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__533(threadData_t *threadData, modelica_metatype _in_txt, modelica_string _in_mArg, modelica_metatype _in_a_varDecls, modelica_metatype *out_out_a_varDecls)
{
modelica_metatype _out_txt = NULL;
modelica_metatype _out_a_varDecls = NULL;
modelica_metatype tmpMeta[2] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_string tmp4_2;modelica_metatype tmp4_3;
tmp4_1 = _in_txt;
tmp4_2 = _in_mArg;
tmp4_3 = _in_a_varDecls;
{
modelica_metatype _txt = NULL;
modelica_metatype _a_varDecls = NULL;
volatile mmc_switch_type tmp4;
int tmp5;
tmp4 = 0;
for (; tmp4 < 2; tmp4++) {
switch (MMC_SWITCH_CAST(tmp4)) {
case 0: {
if (17 != MMC_STRLEN(tmp4_2) || strcmp(MMC_STRINGDATA(_OMC_LIT311), MMC_STRINGDATA(tmp4_2)) != 0) goto tmp3_end;
_txt = tmp4_1;
_a_varDecls = tmp4_3;
tmpMeta[0+0] = omc_CodegenCFunctions_tempDecl(threadData, _txt, _OMC_LIT311, _a_varDecls, &tmpMeta[0+1]);
goto tmp3_done;
}
case 1: {
_txt = tmp4_1;
_a_varDecls = tmp4_3;
tmpMeta[0+0] = omc_CodegenCFunctions_tempDecl(threadData, _txt, _OMC_LIT140, _a_varDecls, &tmpMeta[0+1]);
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta[0+0];
_out_a_varDecls = tmpMeta[0+1];
_return: OMC_LABEL_UNUSED
if (out_out_a_varDecls) { *out_out_a_varDecls = _out_a_varDecls; }
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__532(threadData_t *threadData, modelica_metatype _in_txt, modelica_string _in_mArg)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta[1] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp3_1;modelica_string tmp3_2;
tmp3_1 = _in_txt;
tmp3_2 = _in_mArg;
{
modelica_metatype _txt = NULL;
modelica_string _i_s = NULL;
volatile mmc_switch_type tmp3;
int tmp4;
tmp3 = 0;
for (; tmp3 < 3; tmp3++) {
switch (MMC_SWITCH_CAST(tmp3)) {
case 0: {
if (15 != MMC_STRLEN(tmp3_2) || strcmp(MMC_STRINGDATA(_OMC_LIT799), MMC_STRINGDATA(tmp3_2)) != 0) goto tmp2_end;
_txt = tmp3_1;
tmpMeta[0] = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT611);
goto tmp2_done;
}
case 1: {
if (14 != MMC_STRLEN(tmp3_2) || strcmp(MMC_STRINGDATA(_OMC_LIT1626), MMC_STRINGDATA(tmp3_2)) != 0) goto tmp2_end;
_txt = tmp3_1;
tmpMeta[0] = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT611);
goto tmp2_done;
}
case 2: {
_txt = tmp3_1;
_i_s = tmp3_2;
tmpMeta[0] = omc_Tpl_writeStr(threadData, _txt, _i_s);
goto tmp2_done;
}
}
goto tmp2_end;
tmp2_end: ;
}
goto goto_1;
goto_1:;
MMC_THROW_INTERNAL();
goto tmp2_done;
tmp2_done:;
}
}
_out_txt = tmpMeta[0];
_return: OMC_LABEL_UNUSED
return _out_txt;
}
DLLExport
modelica_metatype omc_CodegenCFunctions_algStmtForRange__impl(threadData_t *threadData, modelica_metatype _txt, modelica_metatype _a_range, modelica_string _a_iterator, modelica_string _a_type, modelica_string _a_shortType, modelica_metatype _a_body, modelica_metatype _a_context, modelica_metatype _a_varDecls, modelica_metatype _a_auxFunction, modelica_metatype *out_out_a_body, modelica_metatype *out_out_a_varDecls, modelica_metatype *out_out_a_auxFunction)
{
modelica_metatype _out_txt = NULL;
modelica_metatype _out_a_body = NULL;
modelica_metatype _out_a_varDecls = NULL;
modelica_metatype _out_a_auxFunction = NULL;
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
_out_txt = omc_CodegenCFunctions_fun__530(threadData, _txt, _a_range, _a_iterator, _a_type, _a_shortType, _a_body, _a_context, _a_varDecls, _a_auxFunction ,&_out_a_varDecls ,&_out_a_auxFunction);
_out_a_body = _a_body;
_return: OMC_LABEL_UNUSED
if (out_out_a_body) { *out_out_a_body = _out_a_body; }
if (out_out_a_varDecls) { *out_out_a_varDecls = _out_a_varDecls; }
if (out_out_a_auxFunction) { *out_out_a_auxFunction = _out_a_auxFunction; }
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__530(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_range, modelica_string _in_a_iterator, modelica_string _in_a_type, modelica_string _in_a_shortType, modelica_metatype _in_a_body, modelica_metatype _in_a_context, modelica_metatype _in_a_varDecls, modelica_metatype _in_a_auxFunction, modelica_metatype *out_out_a_varDecls, modelica_metatype *out_out_a_auxFunction)
{
modelica_metatype _out_txt = NULL;
modelica_metatype _out_a_varDecls = NULL;
modelica_metatype _out_a_auxFunction = NULL;
modelica_metatype tmpMeta[6] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_metatype tmp4_2;modelica_string tmp4_3;modelica_string tmp4_4;modelica_string tmp4_5;modelica_metatype tmp4_6;modelica_metatype tmp4_7;modelica_metatype tmp4_8;modelica_metatype tmp4_9;
tmp4_1 = _in_txt;
tmp4_2 = _in_a_range;
tmp4_3 = _in_a_iterator;
tmp4_4 = _in_a_type;
tmp4_5 = _in_a_shortType;
tmp4_6 = _in_a_body;
tmp4_7 = _in_a_context;
tmp4_8 = _in_a_varDecls;
tmp4_9 = _in_a_auxFunction;
{
modelica_metatype _txt = NULL;
modelica_string _a_iterator = NULL;
modelica_string _a_type = NULL;
modelica_string _a_shortType = NULL;
modelica_metatype _a_body = NULL;
modelica_metatype _a_context = NULL;
modelica_metatype _a_varDecls = NULL;
modelica_metatype _a_auxFunction = NULL;
modelica_metatype _i_stop = NULL;
modelica_metatype _i_step = NULL;
modelica_metatype _i_start = NULL;
modelica_string _str_11 = NULL;
modelica_metatype _l_stepCheck = NULL;
modelica_metatype _l_AddionalFuncName = NULL;
modelica_metatype _l_eqnsindx = NULL;
modelica_metatype _l_stopValue = NULL;
modelica_metatype _l_stepValue = NULL;
modelica_metatype _l_startValue = NULL;
modelica_metatype _l_preExp = NULL;
modelica_metatype _l_stopVar = NULL;
modelica_metatype _l_stepVar = NULL;
modelica_metatype _l_startVar = NULL;
modelica_metatype _l_iterName = NULL;
volatile mmc_switch_type tmp4;
int tmp5;
tmp4 = 0;
for (; tmp4 < 2; tmp4++) {
switch (MMC_SWITCH_CAST(tmp4)) {
case 0: {
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,18,4) == 0) goto tmp3_end;
tmpMeta[3] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 3));
tmpMeta[4] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 4));
tmpMeta[5] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 5));
_i_start = tmpMeta[3];
_i_step = tmpMeta[4];
_i_stop = tmpMeta[5];
_txt = tmp4_1;
_a_iterator = tmp4_3;
_a_type = tmp4_4;
_a_shortType = tmp4_5;
_a_body = tmp4_6;
_a_context = tmp4_7;
_a_varDecls = tmp4_8;
_a_auxFunction = tmp4_9;
_l_iterName = omc_CodegenCFunctions_contextIteratorName(threadData, _OMC_LIT20, _a_iterator, _a_context);
_l_startVar = omc_CodegenCFunctions_tempDecl(threadData, _OMC_LIT20, _a_type, _a_varDecls ,&_a_varDecls);
_l_stepVar = omc_CodegenCFunctions_tempDecl(threadData, _OMC_LIT20, _a_type, _a_varDecls ,&_a_varDecls);
_l_stopVar = omc_CodegenCFunctions_tempDecl(threadData, _OMC_LIT20, _a_type, _a_varDecls ,&_a_varDecls);
_l_preExp = _OMC_LIT20;
_l_startValue = omc_CodegenCFunctions_daeExp(threadData, _OMC_LIT20, _i_start, _a_context, _l_preExp, _a_varDecls, _a_auxFunction ,&_l_preExp ,&_a_varDecls ,&_a_auxFunction);
_l_stepValue = omc_CodegenCFunctions_fun__526(threadData, _OMC_LIT20, _i_step, _a_auxFunction, _a_varDecls, _l_preExp, _a_context ,&_a_auxFunction ,&_a_varDecls ,&_l_preExp);
_l_stopValue = omc_CodegenCFunctions_daeExp(threadData, _OMC_LIT20, _i_stop, _a_context, _l_preExp, _a_varDecls, _a_auxFunction ,&_l_preExp ,&_a_varDecls ,&_a_auxFunction);
_l_eqnsindx = omc_CodegenCFunctions_fun__527(threadData, _OMC_LIT20, _a_context);
_l_AddionalFuncName = omc_CodegenCFunctions_fun__528(threadData, _OMC_LIT20, _a_context);
_str_11 = omc_Tpl_textString(threadData, _l_stepValue);
_l_stepCheck = omc_CodegenCFunctions_fun__529(threadData, _OMC_LIT20, _str_11, _l_eqnsindx, _l_AddionalFuncName, _l_stepVar);
_txt = omc_Tpl_writeText(threadData, _txt, _l_preExp);
_txt = omc_Tpl_softNewLine(threadData, _txt);
_txt = omc_Tpl_writeText(threadData, _txt, _l_startVar);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT121);
_txt = omc_Tpl_writeText(threadData, _txt, _l_startValue);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT200);
_txt = omc_Tpl_writeText(threadData, _txt, _l_stepVar);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT121);
_txt = omc_Tpl_writeText(threadData, _txt, _l_stepValue);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT200);
_txt = omc_Tpl_writeText(threadData, _txt, _l_stopVar);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT121);
_txt = omc_Tpl_writeText(threadData, _txt, _l_stopValue);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT161);
_txt = omc_Tpl_writeText(threadData, _txt, _l_stepCheck);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1852);
_txt = omc_Tpl_writeText(threadData, _txt, _l_stepVar);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1854);
_txt = omc_Tpl_writeText(threadData, _txt, _l_startVar);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT486);
_txt = omc_Tpl_writeText(threadData, _txt, _l_stopVar);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1856);
_txt = omc_Tpl_writeText(threadData, _txt, _l_stepVar);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1858);
_txt = omc_Tpl_writeText(threadData, _txt, _l_startVar);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT181);
_txt = omc_Tpl_writeText(threadData, _txt, _l_stopVar);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1861);
_txt = omc_Tpl_pushBlock(threadData, _txt, _OMC_LIT97);
_txt = omc_Tpl_writeStr(threadData, _txt, _a_type);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT29);
_txt = omc_Tpl_writeText(threadData, _txt, _l_iterName);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1864);
_txt = omc_Tpl_writeText(threadData, _txt, _l_iterName);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT121);
_txt = omc_Tpl_writeText(threadData, _txt, _l_startValue);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1866);
_txt = omc_Tpl_writeStr(threadData, _txt, _a_shortType);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT68);
_txt = omc_Tpl_writeText(threadData, _txt, _l_iterName);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT292);
_txt = omc_Tpl_writeText(threadData, _txt, _l_startVar);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT292);
_txt = omc_Tpl_writeText(threadData, _txt, _l_stopVar);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1846);
_txt = omc_Tpl_writeText(threadData, _txt, _l_iterName);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT109);
_txt = omc_Tpl_writeText(threadData, _txt, _l_stepVar);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT428);
_txt = omc_Tpl_pushBlock(threadData, _txt, _OMC_LIT97);
_txt = omc_Tpl_writeText(threadData, _txt, _a_body);
_txt = omc_Tpl_softNewLine(threadData, _txt);
_txt = omc_Tpl_popBlock(threadData, _txt);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT159);
_txt = omc_Tpl_popBlock(threadData, _txt);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT103);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_varDecls;
tmpMeta[0+2] = _a_auxFunction;
goto tmp3_done;
}
case 1: {
_txt = tmp4_1;
_a_varDecls = tmp4_8;
_a_auxFunction = tmp4_9;
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_varDecls;
tmpMeta[0+2] = _a_auxFunction;
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta[0+0];
_out_a_varDecls = tmpMeta[0+1];
_out_a_auxFunction = tmpMeta[0+2];
_return: OMC_LABEL_UNUSED
if (out_out_a_varDecls) { *out_out_a_varDecls = _out_a_varDecls; }
if (out_out_a_auxFunction) { *out_out_a_auxFunction = _out_a_auxFunction; }
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__529(threadData_t *threadData, modelica_metatype _in_txt, modelica_string _in_mArg, modelica_metatype _in_a_eqnsindx, modelica_metatype _in_a_AddionalFuncName, modelica_metatype _in_a_stepVar)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta[1] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp3_1;modelica_string tmp3_2;modelica_metatype tmp3_3;modelica_metatype tmp3_4;modelica_metatype tmp3_5;
tmp3_1 = _in_txt;
tmp3_2 = _in_mArg;
tmp3_3 = _in_a_eqnsindx;
tmp3_4 = _in_a_AddionalFuncName;
tmp3_5 = _in_a_stepVar;
{
modelica_metatype _txt = NULL;
modelica_metatype _a_eqnsindx = NULL;
modelica_metatype _a_AddionalFuncName = NULL;
modelica_metatype _a_stepVar = NULL;
volatile mmc_switch_type tmp3;
int tmp4;
tmp3 = 0;
for (; tmp3 < 4; tmp3++) {
switch (MMC_SWITCH_CAST(tmp3)) {
case 0: {
if (1 != MMC_STRLEN(tmp3_2) || strcmp(MMC_STRINGDATA(_OMC_LIT398), MMC_STRINGDATA(tmp3_2)) != 0) goto tmp2_end;
_txt = tmp3_1;
tmpMeta[0] = _txt;
goto tmp2_done;
}
case 1: {
if (22 != MMC_STRLEN(tmp3_2) || strcmp(MMC_STRINGDATA(_OMC_LIT1877), MMC_STRINGDATA(tmp3_2)) != 0) goto tmp2_end;
_txt = tmp3_1;
tmpMeta[0] = _txt;
goto tmp2_done;
}
case 2: {
if (23 != MMC_STRLEN(tmp3_2) || strcmp(MMC_STRINGDATA(_OMC_LIT1878), MMC_STRINGDATA(tmp3_2)) != 0) goto tmp2_end;
_txt = tmp3_1;
tmpMeta[0] = _txt;
goto tmp2_done;
}
case 3: {
_txt = tmp3_1;
_a_eqnsindx = tmp3_3;
_a_AddionalFuncName = tmp3_4;
_a_stepVar = tmp3_5;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1494);
_txt = omc_Tpl_writeText(threadData, _txt, _a_stepVar);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1814);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT89);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1868);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT89);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1870);
_txt = omc_Tpl_writeText(threadData, _txt, _a_AddionalFuncName);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1872);
_txt = omc_Tpl_writeText(threadData, _txt, _a_eqnsindx);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1874);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT89);
tmpMeta[0] = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1876);
goto tmp2_done;
}
}
goto tmp2_end;
tmp2_end: ;
}
goto goto_1;
goto_1:;
MMC_THROW_INTERNAL();
goto tmp2_done;
tmp2_done:;
}
}
_out_txt = tmpMeta[0];
_return: OMC_LABEL_UNUSED
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__528(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_context)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta[1] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp3_1;modelica_metatype tmp3_2;
tmp3_1 = _in_txt;
tmp3_2 = _in_a_context;
{
modelica_metatype _txt = NULL;
volatile mmc_switch_type tmp3;
int tmp4;
tmp3 = 0;
for (; tmp3 < 2; tmp3++) {
switch (MMC_SWITCH_CAST(tmp3)) {
case 0: {
if (mmc__uniontype__metarecord__typedef__equal(tmp3_2,1,2) == 0) goto tmp2_end;
_txt = tmp3_1;
tmpMeta[0] = _txt;
goto tmp2_done;
}
case 1: {
_txt = tmp3_1;
tmpMeta[0] = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1508);
goto tmp2_done;
}
}
goto tmp2_end;
tmp2_end: ;
}
goto goto_1;
goto_1:;
MMC_THROW_INTERNAL();
goto tmp2_done;
tmp2_done:;
}
}
_out_txt = tmpMeta[0];
_return: OMC_LABEL_UNUSED
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__527(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_context)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta[1] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp3_1;modelica_metatype tmp3_2;
tmp3_1 = _in_txt;
tmp3_2 = _in_a_context;
{
modelica_metatype _txt = NULL;
volatile mmc_switch_type tmp3;
int tmp4;
tmp3 = 0;
for (; tmp3 < 2; tmp3++) {
switch (MMC_SWITCH_CAST(tmp3)) {
case 0: {
if (mmc__uniontype__metarecord__typedef__equal(tmp3_2,1,2) == 0) goto tmp2_end;
_txt = tmp3_1;
tmpMeta[0] = _txt;
goto tmp2_done;
}
case 1: {
_txt = tmp3_1;
tmpMeta[0] = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1510);
goto tmp2_done;
}
}
goto tmp2_end;
tmp2_end: ;
}
goto goto_1;
goto_1:;
MMC_THROW_INTERNAL();
goto tmp2_done;
tmp2_done:;
}
}
_out_txt = tmpMeta[0];
_return: OMC_LABEL_UNUSED
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__526(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_step, modelica_metatype _in_a_auxFunction, modelica_metatype _in_a_varDecls, modelica_metatype _in_a_preExp, modelica_metatype _in_a_context, modelica_metatype *out_out_a_auxFunction, modelica_metatype *out_out_a_varDecls, modelica_metatype *out_out_a_preExp)
{
modelica_metatype _out_txt = NULL;
modelica_metatype _out_a_auxFunction = NULL;
modelica_metatype _out_a_varDecls = NULL;
modelica_metatype _out_a_preExp = NULL;
modelica_metatype tmpMeta[5] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_metatype tmp4_2;modelica_metatype tmp4_3;modelica_metatype tmp4_4;modelica_metatype tmp4_5;modelica_metatype tmp4_6;
tmp4_1 = _in_txt;
tmp4_2 = _in_a_step;
tmp4_3 = _in_a_auxFunction;
tmp4_4 = _in_a_varDecls;
tmp4_5 = _in_a_preExp;
tmp4_6 = _in_a_context;
{
modelica_metatype _txt = NULL;
modelica_metatype _a_auxFunction = NULL;
modelica_metatype _a_varDecls = NULL;
modelica_metatype _a_preExp = NULL;
modelica_metatype _a_context = NULL;
modelica_metatype _i_eo = NULL;
volatile mmc_switch_type tmp4;
int tmp5;
tmp4 = 0;
for (; tmp4 < 2; tmp4++) {
switch (MMC_SWITCH_CAST(tmp4)) {
case 0: {
if (optionNone(tmp4_2)) goto tmp3_end;
tmpMeta[4] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 1));
_i_eo = tmpMeta[4];
_txt = tmp4_1;
_a_auxFunction = tmp4_3;
_a_varDecls = tmp4_4;
_a_preExp = tmp4_5;
_a_context = tmp4_6;
_txt = omc_CodegenCFunctions_daeExp(threadData, _txt, _i_eo, _a_context, _a_preExp, _a_varDecls, _a_auxFunction ,&_a_preExp ,&_a_varDecls ,&_a_auxFunction);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_auxFunction;
tmpMeta[0+2] = _a_varDecls;
tmpMeta[0+3] = _a_preExp;
goto tmp3_done;
}
case 1: {
_txt = tmp4_1;
_a_auxFunction = tmp4_3;
_a_varDecls = tmp4_4;
_a_preExp = tmp4_5;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT399);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_auxFunction;
tmpMeta[0+2] = _a_varDecls;
tmpMeta[0+3] = _a_preExp;
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta[0+0];
_out_a_auxFunction = tmpMeta[0+1];
_out_a_varDecls = tmpMeta[0+2];
_out_a_preExp = tmpMeta[0+3];
_return: OMC_LABEL_UNUSED
if (out_out_a_auxFunction) { *out_out_a_auxFunction = _out_a_auxFunction; }
if (out_out_a_varDecls) { *out_out_a_varDecls = _out_a_varDecls; }
if (out_out_a_preExp) { *out_out_a_preExp = _out_a_preExp; }
return _out_txt;
}
DLLExport
modelica_metatype omc_CodegenCFunctions_algStmtForRange(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_stmt, modelica_metatype _in_a_context, modelica_metatype _in_a_varDecls, modelica_metatype _in_a_auxFunction, modelica_metatype *out_out_a_varDecls, modelica_metatype *out_out_a_auxFunction)
{
modelica_metatype _out_txt = NULL;
modelica_metatype _out_a_varDecls = NULL;
modelica_metatype _out_a_auxFunction = NULL;
modelica_metatype tmpMeta[8] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_metatype tmp4_2;modelica_metatype tmp4_3;modelica_metatype tmp4_4;modelica_metatype tmp4_5;
tmp4_1 = _in_txt;
tmp4_2 = _in_a_stmt;
tmp4_3 = _in_a_context;
tmp4_4 = _in_a_varDecls;
tmp4_5 = _in_a_auxFunction;
{
modelica_metatype _txt = NULL;
modelica_metatype _a_context = NULL;
modelica_metatype _a_varDecls = NULL;
modelica_metatype _a_auxFunction = NULL;
modelica_string _i_iter = NULL;
modelica_metatype _i_rng = NULL;
modelica_metatype _i_statementLst = NULL;
modelica_boolean _i_iterIsArray;
modelica_metatype _i_type__ = NULL;
modelica_metatype _l_stmtStr = NULL;
modelica_metatype _l_identTypeShort = NULL;
modelica_metatype _l_identType = NULL;
volatile mmc_switch_type tmp4;
int tmp5;
tmp4 = 0;
for (; tmp4 < 2; tmp4++) {
switch (MMC_SWITCH_CAST(tmp4)) {
case 0: {
modelica_integer tmp6;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,4,7) == 0) goto tmp3_end;
tmpMeta[3] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
tmpMeta[4] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 3));
tmp6 = mmc_unbox_integer(tmpMeta[4]);
tmpMeta[5] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 4));
tmpMeta[6] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 6));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[6],18,4) == 0) goto tmp3_end;
tmpMeta[7] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 7));
_i_type__ = tmpMeta[3];
_i_iterIsArray = tmp6;
_i_iter = tmpMeta[5];
_i_rng = tmpMeta[6];
_i_statementLst = tmpMeta[7];
_txt = tmp4_1;
_a_context = tmp4_3;
_a_varDecls = tmp4_4;
_a_auxFunction = tmp4_5;
_l_identType = omc_CodegenCFunctions_expType(threadData, _OMC_LIT20, _i_type__, _i_iterIsArray);
_l_identTypeShort = omc_CodegenCFunctions_expTypeShort(threadData, _OMC_LIT20, _i_type__);
_l_stmtStr = omc_Tpl_pushIter(threadData, _OMC_LIT20, _OMC_LIT96);
_l_stmtStr = omc_CodegenCFunctions_lm__524(threadData, _l_stmtStr, _i_statementLst, _a_auxFunction, _a_varDecls, _a_context ,&_a_auxFunction ,&_a_varDecls);
_l_stmtStr = omc_Tpl_popIter(threadData, _l_stmtStr);
_txt = omc_CodegenCFunctions_algStmtForRange__impl(threadData, _txt, _i_rng, _i_iter, omc_Tpl_textString(threadData, _l_identType), omc_Tpl_textString(threadData, _l_identTypeShort), _l_stmtStr, _a_context, _a_varDecls, _a_auxFunction ,&_l_stmtStr ,&_a_varDecls ,&_a_auxFunction);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_varDecls;
tmpMeta[0+2] = _a_auxFunction;
goto tmp3_done;
}
case 1: {
_txt = tmp4_1;
_a_varDecls = tmp4_4;
_a_auxFunction = tmp4_5;
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_varDecls;
tmpMeta[0+2] = _a_auxFunction;
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta[0+0];
_out_a_varDecls = tmpMeta[0+1];
_out_a_auxFunction = tmpMeta[0+2];
_return: OMC_LABEL_UNUSED
if (out_out_a_varDecls) { *out_out_a_varDecls = _out_a_varDecls; }
if (out_out_a_auxFunction) { *out_out_a_auxFunction = _out_a_auxFunction; }
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_lm__524(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_items, modelica_metatype _in_a_auxFunction, modelica_metatype _in_a_varDecls, modelica_metatype _in_a_context, modelica_metatype *out_out_a_auxFunction, modelica_metatype *out_out_a_varDecls)
{
modelica_metatype _out_txt = NULL;
modelica_metatype _out_a_auxFunction = NULL;
modelica_metatype _out_a_varDecls = NULL;
modelica_metatype tmpMeta[5] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_metatype tmp4_2;modelica_metatype tmp4_3;modelica_metatype tmp4_4;modelica_metatype tmp4_5;
tmp4_1 = _in_txt;
tmp4_2 = _in_items;
tmp4_3 = _in_a_auxFunction;
tmp4_4 = _in_a_varDecls;
tmp4_5 = _in_a_context;
{
modelica_metatype _txt = NULL;
modelica_metatype _rest = NULL;
modelica_metatype _a_auxFunction = NULL;
modelica_metatype _a_varDecls = NULL;
modelica_metatype _a_context = NULL;
modelica_metatype _i_stmt = NULL;
volatile mmc_switch_type tmp4;
int tmp5;
tmp4 = 0;
for (; tmp4 < 2; tmp4++) {
switch (MMC_SWITCH_CAST(tmp4)) {
case 0: {
if (!listEmpty(tmp4_2)) goto tmp3_end;
_txt = tmp4_1;
_a_auxFunction = tmp4_3;
_a_varDecls = tmp4_4;
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_auxFunction;
tmpMeta[0+2] = _a_varDecls;
goto tmp3_done;
}
case 1: {
if (listEmpty(tmp4_2)) goto tmp3_end;
tmpMeta[3] = MMC_CAR(tmp4_2);
tmpMeta[4] = MMC_CDR(tmp4_2);
_i_stmt = tmpMeta[3];
_rest = tmpMeta[4];
_txt = tmp4_1;
_a_auxFunction = tmp4_3;
_a_varDecls = tmp4_4;
_a_context = tmp4_5;
_txt = omc_CodegenCFunctions_algStatement(threadData, _txt, _i_stmt, _a_context, _a_varDecls, _a_auxFunction ,&_a_varDecls ,&_a_auxFunction);
_txt = omc_Tpl_nextIter(threadData, _txt);
_in_txt = _txt;
_in_items = _rest;
_in_a_auxFunction = _a_auxFunction;
_in_a_varDecls = _a_varDecls;
_in_a_context = _a_context;
goto _tailrecursive;
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta[0+0];
_out_a_auxFunction = tmpMeta[0+1];
_out_a_varDecls = tmpMeta[0+2];
_return: OMC_LABEL_UNUSED
if (out_out_a_auxFunction) { *out_out_a_auxFunction = _out_a_auxFunction; }
if (out_out_a_varDecls) { *out_out_a_varDecls = _out_a_varDecls; }
return _out_txt;
}
DLLExport
modelica_metatype omc_CodegenCFunctions_algStmtFor(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_stmt, modelica_metatype _in_a_context, modelica_metatype _in_a_varDecls, modelica_metatype _in_a_auxFunction, modelica_metatype *out_out_a_varDecls, modelica_metatype *out_out_a_auxFunction)
{
modelica_metatype _out_txt = NULL;
modelica_metatype _out_a_varDecls = NULL;
modelica_metatype _out_a_auxFunction = NULL;
modelica_metatype tmpMeta[4] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_metatype tmp4_2;modelica_metatype tmp4_3;modelica_metatype tmp4_4;modelica_metatype tmp4_5;
tmp4_1 = _in_txt;
tmp4_2 = _in_a_stmt;
tmp4_3 = _in_a_context;
tmp4_4 = _in_a_varDecls;
tmp4_5 = _in_a_auxFunction;
{
modelica_metatype _txt = NULL;
modelica_metatype _a_context = NULL;
modelica_metatype _a_varDecls = NULL;
modelica_metatype _a_auxFunction = NULL;
modelica_metatype _i_s = NULL;
volatile mmc_switch_type tmp4;
int tmp5;
tmp4 = 0;
for (; tmp4 < 3; tmp4++) {
switch (MMC_SWITCH_CAST(tmp4)) {
case 0: {
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,4,7) == 0) goto tmp3_end;
tmpMeta[3] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 6));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[3],18,4) == 0) goto tmp3_end;
_i_s = tmp4_2;
_txt = tmp4_1;
_a_context = tmp4_3;
_a_varDecls = tmp4_4;
_a_auxFunction = tmp4_5;
tmpMeta[0+0] = omc_CodegenCFunctions_algStmtForRange(threadData, _txt, _i_s, _a_context, _a_varDecls, _a_auxFunction, &tmpMeta[0+1], &tmpMeta[0+2]);
goto tmp3_done;
}
case 1: {
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,4,7) == 0) goto tmp3_end;
_i_s = tmp4_2;
_txt = tmp4_1;
_a_context = tmp4_3;
_a_varDecls = tmp4_4;
_a_auxFunction = tmp4_5;
tmpMeta[0+0] = omc_CodegenCFunctions_algStmtForGeneric(threadData, _txt, _i_s, _a_context, _a_varDecls, _a_auxFunction, &tmpMeta[0+1], &tmpMeta[0+2]);
goto tmp3_done;
}
case 2: {
_txt = tmp4_1;
_a_varDecls = tmp4_4;
_a_auxFunction = tmp4_5;
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_varDecls;
tmpMeta[0+2] = _a_auxFunction;
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta[0+0];
_out_a_varDecls = tmpMeta[0+1];
_out_a_auxFunction = tmpMeta[0+2];
_return: OMC_LABEL_UNUSED
if (out_out_a_varDecls) { *out_out_a_varDecls = _out_a_varDecls; }
if (out_out_a_auxFunction) { *out_out_a_auxFunction = _out_a_auxFunction; }
return _out_txt;
}
DLLExport
modelica_metatype omc_CodegenCFunctions_algStmtParForRangeInterface__impl(threadData_t *threadData, modelica_metatype _txt, modelica_metatype _a_range, modelica_string _a_iterator, modelica_string _a_type, modelica_string _a_shortType, modelica_metatype _a_loopPrlVars, modelica_metatype _a_body, modelica_metatype _a_context, modelica_metatype _a_varDecls, modelica_metatype _a_auxFunction, modelica_metatype *out_out_a_body, modelica_metatype *out_out_a_varDecls, modelica_metatype *out_out_a_auxFunction)
{
modelica_metatype _out_txt = NULL;
modelica_metatype _out_a_body = NULL;
modelica_metatype _out_a_varDecls = NULL;
modelica_metatype _out_a_auxFunction = NULL;
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
_out_txt = omc_CodegenCFunctions_fun__521(threadData, _txt, _a_range, _a_iterator, _a_type, _a_loopPrlVars, _a_context, _a_varDecls, _a_auxFunction ,&_out_a_varDecls ,&_out_a_auxFunction);
_out_a_body = _a_body;
_return: OMC_LABEL_UNUSED
if (out_out_a_body) { *out_out_a_body = _out_a_body; }
if (out_out_a_varDecls) { *out_out_a_varDecls = _out_a_varDecls; }
if (out_out_a_auxFunction) { *out_out_a_auxFunction = _out_a_auxFunction; }
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__521(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_range, modelica_string _in_a_iterator, modelica_string _in_a_type, modelica_metatype _in_a_loopPrlVars, modelica_metatype _in_a_context, modelica_metatype _in_a_varDecls, modelica_metatype _in_a_auxFunction, modelica_metatype *out_out_a_varDecls, modelica_metatype *out_out_a_auxFunction)
{
modelica_metatype _out_txt = NULL;
modelica_metatype _out_a_varDecls = NULL;
modelica_metatype _out_a_auxFunction = NULL;
modelica_metatype tmpMeta[6] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_metatype tmp4_2;modelica_string tmp4_3;modelica_string tmp4_4;modelica_metatype tmp4_5;modelica_metatype tmp4_6;modelica_metatype tmp4_7;modelica_metatype tmp4_8;
tmp4_1 = _in_txt;
tmp4_2 = _in_a_range;
tmp4_3 = _in_a_iterator;
tmp4_4 = _in_a_type;
tmp4_5 = _in_a_loopPrlVars;
tmp4_6 = _in_a_context;
tmp4_7 = _in_a_varDecls;
tmp4_8 = _in_a_auxFunction;
{
modelica_metatype _txt = NULL;
modelica_string _a_iterator = NULL;
modelica_string _a_type = NULL;
modelica_metatype _a_loopPrlVars = NULL;
modelica_metatype _a_context = NULL;
modelica_metatype _a_varDecls = NULL;
modelica_metatype _a_auxFunction = NULL;
modelica_metatype _i_stop = NULL;
modelica_metatype _i_step = NULL;
modelica_metatype _i_start = NULL;
modelica_metatype _l_kernelArgSets = NULL;
modelica_metatype _l_kerArgNr = NULL;
modelica_integer _ret_10;
modelica_metatype _l_parforKernelName = NULL;
modelica_metatype _l_cl__kernelVar = NULL;
modelica_metatype _l_stopValue = NULL;
modelica_metatype _l_stepValue = NULL;
modelica_metatype _l_startValue = NULL;
modelica_metatype _l_preExp = NULL;
modelica_metatype _l_stopVar = NULL;
modelica_metatype _l_stepVar = NULL;
modelica_metatype _l_startVar = NULL;
volatile mmc_switch_type tmp4;
int tmp5;
tmp4 = 0;
for (; tmp4 < 2; tmp4++) {
switch (MMC_SWITCH_CAST(tmp4)) {
case 0: {
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,18,4) == 0) goto tmp3_end;
tmpMeta[3] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 3));
tmpMeta[4] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 4));
tmpMeta[5] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 5));
_i_start = tmpMeta[3];
_i_step = tmpMeta[4];
_i_stop = tmpMeta[5];
_txt = tmp4_1;
_a_iterator = tmp4_3;
_a_type = tmp4_4;
_a_loopPrlVars = tmp4_5;
_a_context = tmp4_6;
_a_varDecls = tmp4_7;
_a_auxFunction = tmp4_8;
omc_CodegenCFunctions_contextIteratorName(threadData, _OMC_LIT20, _a_iterator, _a_context);
_l_startVar = omc_CodegenCFunctions_tempDecl(threadData, _OMC_LIT20, _a_type, _a_varDecls ,&_a_varDecls);
_l_stepVar = omc_CodegenCFunctions_tempDecl(threadData, _OMC_LIT20, _a_type, _a_varDecls ,&_a_varDecls);
_l_stopVar = omc_CodegenCFunctions_tempDecl(threadData, _OMC_LIT20, _a_type, _a_varDecls ,&_a_varDecls);
_l_preExp = _OMC_LIT20;
_l_startValue = omc_CodegenCFunctions_daeExp(threadData, _OMC_LIT20, _i_start, _a_context, _l_preExp, _a_varDecls, _a_auxFunction ,&_l_preExp ,&_a_varDecls ,&_a_auxFunction);
_l_stepValue = omc_CodegenCFunctions_fun__519(threadData, _OMC_LIT20, _i_step, _a_auxFunction, _a_varDecls, _l_preExp, _a_context ,&_a_auxFunction ,&_a_varDecls ,&_l_preExp);
_l_stopValue = omc_CodegenCFunctions_daeExp(threadData, _OMC_LIT20, _i_stop, _a_context, _l_preExp, _a_varDecls, _a_auxFunction ,&_l_preExp ,&_a_varDecls ,&_a_auxFunction);
_l_cl__kernelVar = omc_CodegenCFunctions_tempDecl(threadData, _OMC_LIT20, _OMC_LIT1879, _a_varDecls ,&_a_varDecls);
_l_parforKernelName = omc_Tpl_writeTok(threadData, _OMC_LIT20, _OMC_LIT1881);
_ret_10 = omc_System_tmpTickIndex(threadData, ((modelica_integer) 20));
_l_parforKernelName = omc_Tpl_writeStr(threadData, _l_parforKernelName, intString(_ret_10));
_l_kerArgNr = omc_Tpl_writeText(threadData, _OMC_LIT20, _l_parforKernelName);
_l_kerArgNr = omc_Tpl_writeTok(threadData, _l_kerArgNr, _OMC_LIT1883);
_l_kernelArgSets = _OMC_LIT20;
omc_CodegenCFunctions_lm__520(threadData, _OMC_LIT20, _a_loopPrlVars, _a_context, _l_kernelArgSets, _l_kerArgNr, _l_cl__kernelVar ,&_l_kernelArgSets ,&_l_kerArgNr ,&_l_cl__kernelVar);
_txt = omc_Tpl_writeText(threadData, _txt, _l_preExp);
_txt = omc_Tpl_softNewLine(threadData, _txt);
_txt = omc_Tpl_writeText(threadData, _txt, _l_startVar);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT121);
_txt = omc_Tpl_writeText(threadData, _txt, _l_startValue);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT200);
_txt = omc_Tpl_writeText(threadData, _txt, _l_stepVar);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT121);
_txt = omc_Tpl_writeText(threadData, _txt, _l_stepValue);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT200);
_txt = omc_Tpl_writeText(threadData, _txt, _l_stopVar);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT121);
_txt = omc_Tpl_writeText(threadData, _txt, _l_stopValue);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT161);
_txt = omc_Tpl_writeText(threadData, _txt, _l_cl__kernelVar);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1885);
_txt = omc_Tpl_writeText(threadData, _txt, _l_parforKernelName);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1889);
_txt = omc_Tpl_writeText(threadData, _txt, _l_kerArgNr);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1894);
_txt = omc_Tpl_writeText(threadData, _txt, _l_cl__kernelVar);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT292);
_txt = omc_Tpl_writeText(threadData, _txt, _l_kerArgNr);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT292);
_txt = omc_Tpl_writeText(threadData, _txt, _l_startVar);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1896);
_txt = omc_Tpl_writeText(threadData, _txt, _l_kerArgNr);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT200);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1897);
_txt = omc_Tpl_writeText(threadData, _txt, _l_cl__kernelVar);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT292);
_txt = omc_Tpl_writeText(threadData, _txt, _l_kerArgNr);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT292);
_txt = omc_Tpl_writeText(threadData, _txt, _l_stepVar);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1896);
_txt = omc_Tpl_writeText(threadData, _txt, _l_kerArgNr);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT200);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1897);
_txt = omc_Tpl_writeText(threadData, _txt, _l_cl__kernelVar);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT292);
_txt = omc_Tpl_writeText(threadData, _txt, _l_kerArgNr);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT292);
_txt = omc_Tpl_writeText(threadData, _txt, _l_stopVar);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1896);
_txt = omc_Tpl_writeText(threadData, _txt, _l_kerArgNr);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT200);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1765);
_txt = omc_Tpl_writeText(threadData, _txt, _l_kernelArgSets);
_txt = omc_Tpl_softNewLine(threadData, _txt);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1901);
_txt = omc_Tpl_writeText(threadData, _txt, _l_cl__kernelVar);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1905);
_txt = omc_Tpl_writeText(threadData, _txt, _l_cl__kernelVar);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1907);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_varDecls;
tmpMeta[0+2] = _a_auxFunction;
goto tmp3_done;
}
case 1: {
_txt = tmp4_1;
_a_varDecls = tmp4_7;
_a_auxFunction = tmp4_8;
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_varDecls;
tmpMeta[0+2] = _a_auxFunction;
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta[0+0];
_out_a_varDecls = tmpMeta[0+1];
_out_a_auxFunction = tmpMeta[0+2];
_return: OMC_LABEL_UNUSED
if (out_out_a_varDecls) { *out_out_a_varDecls = _out_a_varDecls; }
if (out_out_a_auxFunction) { *out_out_a_auxFunction = _out_a_auxFunction; }
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_lm__520(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_items, modelica_metatype _in_a_context, modelica_metatype _in_a_kernelArgSets, modelica_metatype _in_a_kerArgNr, modelica_metatype _in_a_cl__kernelVar, modelica_metatype *out_out_a_kernelArgSets, modelica_metatype *out_out_a_kerArgNr, modelica_metatype *out_out_a_cl__kernelVar)
{
modelica_metatype _out_txt = NULL;
modelica_metatype _out_a_kernelArgSets = NULL;
modelica_metatype _out_a_kerArgNr = NULL;
modelica_metatype _out_a_cl__kernelVar = NULL;
modelica_metatype tmpMeta[6] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_metatype tmp4_2;modelica_metatype tmp4_3;modelica_metatype tmp4_4;modelica_metatype tmp4_5;modelica_metatype tmp4_6;
tmp4_1 = _in_txt;
tmp4_2 = _in_items;
tmp4_3 = _in_a_context;
tmp4_4 = _in_a_kernelArgSets;
tmp4_5 = _in_a_kerArgNr;
tmp4_6 = _in_a_cl__kernelVar;
{
modelica_metatype _txt = NULL;
modelica_metatype _rest = NULL;
modelica_metatype _a_context = NULL;
modelica_metatype _a_kernelArgSets = NULL;
modelica_metatype _a_kerArgNr = NULL;
modelica_metatype _a_cl__kernelVar = NULL;
modelica_metatype _i_varTuple = NULL;
volatile mmc_switch_type tmp4;
int tmp5;
tmp4 = 0;
for (; tmp4 < 2; tmp4++) {
switch (MMC_SWITCH_CAST(tmp4)) {
case 0: {
if (!listEmpty(tmp4_2)) goto tmp3_end;
_txt = tmp4_1;
_a_kernelArgSets = tmp4_4;
_a_kerArgNr = tmp4_5;
_a_cl__kernelVar = tmp4_6;
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_kernelArgSets;
tmpMeta[0+2] = _a_kerArgNr;
tmpMeta[0+3] = _a_cl__kernelVar;
goto tmp3_done;
}
case 1: {
if (listEmpty(tmp4_2)) goto tmp3_end;
tmpMeta[4] = MMC_CAR(tmp4_2);
tmpMeta[5] = MMC_CDR(tmp4_2);
_i_varTuple = tmpMeta[4];
_rest = tmpMeta[5];
_txt = tmp4_1;
_a_context = tmp4_3;
_a_kernelArgSets = tmp4_4;
_a_kerArgNr = tmp4_5;
_a_cl__kernelVar = tmp4_6;
_txt = omc_CodegenCFunctions_setKernelArgFormTupleLoopVars__ith(threadData, _txt, _i_varTuple, _a_cl__kernelVar, _a_kerArgNr, _a_kernelArgSets, _a_context ,&_a_cl__kernelVar ,&_a_kerArgNr ,&_a_kernelArgSets);
_in_txt = _txt;
_in_items = _rest;
_in_a_context = _a_context;
_in_a_kernelArgSets = _a_kernelArgSets;
_in_a_kerArgNr = _a_kerArgNr;
_in_a_cl__kernelVar = _a_cl__kernelVar;
goto _tailrecursive;
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta[0+0];
_out_a_kernelArgSets = tmpMeta[0+1];
_out_a_kerArgNr = tmpMeta[0+2];
_out_a_cl__kernelVar = tmpMeta[0+3];
_return: OMC_LABEL_UNUSED
if (out_out_a_kernelArgSets) { *out_out_a_kernelArgSets = _out_a_kernelArgSets; }
if (out_out_a_kerArgNr) { *out_out_a_kerArgNr = _out_a_kerArgNr; }
if (out_out_a_cl__kernelVar) { *out_out_a_cl__kernelVar = _out_a_cl__kernelVar; }
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__519(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_step, modelica_metatype _in_a_auxFunction, modelica_metatype _in_a_varDecls, modelica_metatype _in_a_preExp, modelica_metatype _in_a_context, modelica_metatype *out_out_a_auxFunction, modelica_metatype *out_out_a_varDecls, modelica_metatype *out_out_a_preExp)
{
modelica_metatype _out_txt = NULL;
modelica_metatype _out_a_auxFunction = NULL;
modelica_metatype _out_a_varDecls = NULL;
modelica_metatype _out_a_preExp = NULL;
modelica_metatype tmpMeta[5] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_metatype tmp4_2;modelica_metatype tmp4_3;modelica_metatype tmp4_4;modelica_metatype tmp4_5;modelica_metatype tmp4_6;
tmp4_1 = _in_txt;
tmp4_2 = _in_a_step;
tmp4_3 = _in_a_auxFunction;
tmp4_4 = _in_a_varDecls;
tmp4_5 = _in_a_preExp;
tmp4_6 = _in_a_context;
{
modelica_metatype _txt = NULL;
modelica_metatype _a_auxFunction = NULL;
modelica_metatype _a_varDecls = NULL;
modelica_metatype _a_preExp = NULL;
modelica_metatype _a_context = NULL;
modelica_metatype _i_eo = NULL;
volatile mmc_switch_type tmp4;
int tmp5;
tmp4 = 0;
for (; tmp4 < 2; tmp4++) {
switch (MMC_SWITCH_CAST(tmp4)) {
case 0: {
if (optionNone(tmp4_2)) goto tmp3_end;
tmpMeta[4] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 1));
_i_eo = tmpMeta[4];
_txt = tmp4_1;
_a_auxFunction = tmp4_3;
_a_varDecls = tmp4_4;
_a_preExp = tmp4_5;
_a_context = tmp4_6;
_txt = omc_CodegenCFunctions_daeExp(threadData, _txt, _i_eo, _a_context, _a_preExp, _a_varDecls, _a_auxFunction ,&_a_preExp ,&_a_varDecls ,&_a_auxFunction);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_auxFunction;
tmpMeta[0+2] = _a_varDecls;
tmpMeta[0+3] = _a_preExp;
goto tmp3_done;
}
case 1: {
_txt = tmp4_1;
_a_auxFunction = tmp4_3;
_a_varDecls = tmp4_4;
_a_preExp = tmp4_5;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1909);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_auxFunction;
tmpMeta[0+2] = _a_varDecls;
tmpMeta[0+3] = _a_preExp;
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta[0+0];
_out_a_auxFunction = tmpMeta[0+1];
_out_a_varDecls = tmpMeta[0+2];
_out_a_preExp = tmpMeta[0+3];
_return: OMC_LABEL_UNUSED
if (out_out_a_auxFunction) { *out_out_a_auxFunction = _out_a_auxFunction; }
if (out_out_a_varDecls) { *out_out_a_varDecls = _out_a_varDecls; }
if (out_out_a_preExp) { *out_out_a_preExp = _out_a_preExp; }
return _out_txt;
}
DLLExport
modelica_metatype omc_CodegenCFunctions_algStmtParForRangeInterface(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_stmt, modelica_metatype _in_a_context, modelica_metatype _in_a_varDecls, modelica_metatype _in_a_auxFunction, modelica_metatype *out_out_a_varDecls, modelica_metatype *out_out_a_auxFunction)
{
modelica_metatype _out_txt = NULL;
modelica_metatype _out_a_varDecls = NULL;
modelica_metatype _out_a_auxFunction = NULL;
modelica_metatype tmpMeta[9] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_metatype tmp4_2;modelica_metatype tmp4_3;modelica_metatype tmp4_4;modelica_metatype tmp4_5;
tmp4_1 = _in_txt;
tmp4_2 = _in_a_stmt;
tmp4_3 = _in_a_context;
tmp4_4 = _in_a_varDecls;
tmp4_5 = _in_a_auxFunction;
{
modelica_metatype _txt = NULL;
modelica_metatype _a_context = NULL;
modelica_metatype _a_varDecls = NULL;
modelica_metatype _a_auxFunction = NULL;
modelica_metatype _i_loopPrlVars = NULL;
modelica_string _i_iter = NULL;
modelica_metatype _i_rng = NULL;
modelica_metatype _i_statementLst = NULL;
modelica_boolean _i_iterIsArray;
modelica_metatype _i_type__ = NULL;
modelica_metatype _l_stmtStr = NULL;
modelica_metatype _l_identTypeShort = NULL;
modelica_metatype _l_identType = NULL;
volatile mmc_switch_type tmp4;
int tmp5;
tmp4 = 0;
for (; tmp4 < 2; tmp4++) {
switch (MMC_SWITCH_CAST(tmp4)) {
case 0: {
modelica_integer tmp6;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,5,8) == 0) goto tmp3_end;
tmpMeta[3] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
tmpMeta[4] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 3));
tmp6 = mmc_unbox_integer(tmpMeta[4]);
tmpMeta[5] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 4));
tmpMeta[6] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 6));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[6],18,4) == 0) goto tmp3_end;
tmpMeta[7] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 7));
tmpMeta[8] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 8));
_i_type__ = tmpMeta[3];
_i_iterIsArray = tmp6;
_i_iter = tmpMeta[5];
_i_rng = tmpMeta[6];
_i_statementLst = tmpMeta[7];
_i_loopPrlVars = tmpMeta[8];
_txt = tmp4_1;
_a_context = tmp4_3;
_a_varDecls = tmp4_4;
_a_auxFunction = tmp4_5;
_l_identType = omc_CodegenCFunctions_expType(threadData, _OMC_LIT20, _i_type__, _i_iterIsArray);
_l_identTypeShort = omc_CodegenCFunctions_expTypeShort(threadData, _OMC_LIT20, _i_type__);
_l_stmtStr = omc_Tpl_pushIter(threadData, _OMC_LIT20, _OMC_LIT96);
_l_stmtStr = omc_CodegenCFunctions_lm__517(threadData, _l_stmtStr, _i_statementLst, _a_auxFunction, _a_varDecls, _a_context ,&_a_auxFunction ,&_a_varDecls);
_l_stmtStr = omc_Tpl_popIter(threadData, _l_stmtStr);
_txt = omc_CodegenCFunctions_algStmtParForRangeInterface__impl(threadData, _txt, _i_rng, _i_iter, omc_Tpl_textString(threadData, _l_identType), omc_Tpl_textString(threadData, _l_identTypeShort), _i_loopPrlVars, _l_stmtStr, _a_context, _a_varDecls, _a_auxFunction ,&_l_stmtStr ,&_a_varDecls ,&_a_auxFunction);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_varDecls;
tmpMeta[0+2] = _a_auxFunction;
goto tmp3_done;
}
case 1: {
_txt = tmp4_1;
_a_varDecls = tmp4_4;
_a_auxFunction = tmp4_5;
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_varDecls;
tmpMeta[0+2] = _a_auxFunction;
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta[0+0];
_out_a_varDecls = tmpMeta[0+1];
_out_a_auxFunction = tmpMeta[0+2];
_return: OMC_LABEL_UNUSED
if (out_out_a_varDecls) { *out_out_a_varDecls = _out_a_varDecls; }
if (out_out_a_auxFunction) { *out_out_a_auxFunction = _out_a_auxFunction; }
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_lm__517(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_items, modelica_metatype _in_a_auxFunction, modelica_metatype _in_a_varDecls, modelica_metatype _in_a_context, modelica_metatype *out_out_a_auxFunction, modelica_metatype *out_out_a_varDecls)
{
modelica_metatype _out_txt = NULL;
modelica_metatype _out_a_auxFunction = NULL;
modelica_metatype _out_a_varDecls = NULL;
modelica_metatype tmpMeta[5] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_metatype tmp4_2;modelica_metatype tmp4_3;modelica_metatype tmp4_4;modelica_metatype tmp4_5;
tmp4_1 = _in_txt;
tmp4_2 = _in_items;
tmp4_3 = _in_a_auxFunction;
tmp4_4 = _in_a_varDecls;
tmp4_5 = _in_a_context;
{
modelica_metatype _txt = NULL;
modelica_metatype _rest = NULL;
modelica_metatype _a_auxFunction = NULL;
modelica_metatype _a_varDecls = NULL;
modelica_metatype _a_context = NULL;
modelica_metatype _i_stmt = NULL;
volatile mmc_switch_type tmp4;
int tmp5;
tmp4 = 0;
for (; tmp4 < 2; tmp4++) {
switch (MMC_SWITCH_CAST(tmp4)) {
case 0: {
if (!listEmpty(tmp4_2)) goto tmp3_end;
_txt = tmp4_1;
_a_auxFunction = tmp4_3;
_a_varDecls = tmp4_4;
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_auxFunction;
tmpMeta[0+2] = _a_varDecls;
goto tmp3_done;
}
case 1: {
if (listEmpty(tmp4_2)) goto tmp3_end;
tmpMeta[3] = MMC_CAR(tmp4_2);
tmpMeta[4] = MMC_CDR(tmp4_2);
_i_stmt = tmpMeta[3];
_rest = tmpMeta[4];
_txt = tmp4_1;
_a_auxFunction = tmp4_3;
_a_varDecls = tmp4_4;
_a_context = tmp4_5;
_txt = omc_CodegenCFunctions_algStatement(threadData, _txt, _i_stmt, _a_context, _a_varDecls, _a_auxFunction ,&_a_varDecls ,&_a_auxFunction);
_txt = omc_Tpl_nextIter(threadData, _txt);
_in_txt = _txt;
_in_items = _rest;
_in_a_auxFunction = _a_auxFunction;
_in_a_varDecls = _a_varDecls;
_in_a_context = _a_context;
goto _tailrecursive;
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta[0+0];
_out_a_auxFunction = tmpMeta[0+1];
_out_a_varDecls = tmpMeta[0+2];
_return: OMC_LABEL_UNUSED
if (out_out_a_auxFunction) { *out_out_a_auxFunction = _out_a_auxFunction; }
if (out_out_a_varDecls) { *out_out_a_varDecls = _out_a_varDecls; }
return _out_txt;
}
DLLExport
modelica_metatype omc_CodegenCFunctions_algStmtParForInterface(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_stmt, modelica_metatype _in_a_context, modelica_metatype _in_a_varDecls, modelica_metatype _in_a_auxFunction, modelica_metatype *out_out_a_varDecls, modelica_metatype *out_out_a_auxFunction)
{
modelica_metatype _out_txt = NULL;
modelica_metatype _out_a_varDecls = NULL;
modelica_metatype _out_a_auxFunction = NULL;
modelica_metatype tmpMeta[4] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_metatype tmp4_2;modelica_metatype tmp4_3;modelica_metatype tmp4_4;modelica_metatype tmp4_5;
tmp4_1 = _in_txt;
tmp4_2 = _in_a_stmt;
tmp4_3 = _in_a_context;
tmp4_4 = _in_a_varDecls;
tmp4_5 = _in_a_auxFunction;
{
modelica_metatype _txt = NULL;
modelica_metatype _a_context = NULL;
modelica_metatype _a_varDecls = NULL;
modelica_metatype _a_auxFunction = NULL;
modelica_metatype _i_s = NULL;
volatile mmc_switch_type tmp4;
int tmp5;
tmp4 = 0;
for (; tmp4 < 3; tmp4++) {
switch (MMC_SWITCH_CAST(tmp4)) {
case 0: {
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,5,8) == 0) goto tmp3_end;
tmpMeta[3] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 6));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[3],18,4) == 0) goto tmp3_end;
_i_s = tmp4_2;
_txt = tmp4_1;
_a_context = tmp4_3;
_a_varDecls = tmp4_4;
_a_auxFunction = tmp4_5;
tmpMeta[0+0] = omc_CodegenCFunctions_algStmtParForRangeInterface(threadData, _txt, _i_s, _a_context, _a_varDecls, _a_auxFunction, &tmpMeta[0+1], &tmpMeta[0+2]);
goto tmp3_done;
}
case 1: {
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,5,8) == 0) goto tmp3_end;
_i_s = tmp4_2;
_txt = tmp4_1;
_a_context = tmp4_3;
_a_varDecls = tmp4_4;
_a_auxFunction = tmp4_5;
tmpMeta[0+0] = omc_CodegenCFunctions_algStmtForGeneric(threadData, _txt, _i_s, _a_context, _a_varDecls, _a_auxFunction, &tmpMeta[0+1], &tmpMeta[0+2]);
goto tmp3_done;
}
case 2: {
_txt = tmp4_1;
_a_varDecls = tmp4_4;
_a_auxFunction = tmp4_5;
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_varDecls;
tmpMeta[0+2] = _a_auxFunction;
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta[0+0];
_out_a_varDecls = tmpMeta[0+1];
_out_a_auxFunction = tmpMeta[0+2];
_return: OMC_LABEL_UNUSED
if (out_out_a_varDecls) { *out_out_a_varDecls = _out_a_varDecls; }
if (out_out_a_auxFunction) { *out_out_a_auxFunction = _out_a_auxFunction; }
return _out_txt;
}
DLLExport
modelica_metatype omc_CodegenCFunctions_algStmtParForRangeBody(threadData_t *threadData, modelica_metatype _txt, modelica_metatype _a_stmt, modelica_metatype _a_context, modelica_metatype _a_varDecls, modelica_metatype _a_auxFunction, modelica_metatype *out_out_a_varDecls, modelica_metatype *out_out_a_auxFunction)
{
modelica_metatype _out_txt = NULL;
modelica_metatype _out_a_varDecls = NULL;
modelica_metatype _out_a_auxFunction = NULL;
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
_out_txt = omc_CodegenCFunctions_fun__514(threadData, _txt, _a_stmt, _a_context, _a_auxFunction ,&_out_a_auxFunction);
_out_a_varDecls = _a_varDecls;
_return: OMC_LABEL_UNUSED
if (out_out_a_varDecls) { *out_out_a_varDecls = _out_a_varDecls; }
if (out_out_a_auxFunction) { *out_out_a_auxFunction = _out_a_auxFunction; }
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__514(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_stmt, modelica_metatype _in_a_context, modelica_metatype _in_a_auxFunction, modelica_metatype *out_out_a_auxFunction)
{
modelica_metatype _out_txt = NULL;
modelica_metatype _out_a_auxFunction = NULL;
modelica_metatype tmpMeta[8] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_metatype tmp4_2;modelica_metatype tmp4_3;modelica_metatype tmp4_4;
tmp4_1 = _in_txt;
tmp4_2 = _in_a_stmt;
tmp4_3 = _in_a_context;
tmp4_4 = _in_a_auxFunction;
{
modelica_metatype _txt = NULL;
modelica_metatype _a_context = NULL;
modelica_metatype _a_auxFunction = NULL;
modelica_metatype _i_loopPrlVars = NULL;
modelica_metatype _i_statementLst = NULL;
modelica_boolean _i_iterIsArray;
modelica_metatype _i_type__ = NULL;
modelica_string _i_iter = NULL;
modelica_metatype _l_argStr = NULL;
modelica_metatype _l_reconstrucedArrays = NULL;
modelica_metatype _l_body = NULL;
modelica_metatype _l_loopVarDecls = NULL;
modelica_integer _ret_4;
modelica_metatype _l_parforKernelName = NULL;
modelica_metatype _l_iterName = NULL;
volatile mmc_switch_type tmp4;
int tmp5;
tmp4 = 0;
for (; tmp4 < 2; tmp4++) {
switch (MMC_SWITCH_CAST(tmp4)) {
case 0: {
modelica_integer tmp6;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,5,8) == 0) goto tmp3_end;
tmpMeta[2] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
tmpMeta[3] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 3));
tmp6 = mmc_unbox_integer(tmpMeta[3]);
tmpMeta[4] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 4));
tmpMeta[5] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 6));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[5],18,4) == 0) goto tmp3_end;
tmpMeta[6] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 7));
tmpMeta[7] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 8));
_i_type__ = tmpMeta[2];
_i_iterIsArray = tmp6;
_i_iter = tmpMeta[4];
_i_statementLst = tmpMeta[6];
_i_loopPrlVars = tmpMeta[7];
_txt = tmp4_1;
_a_context = tmp4_3;
_a_auxFunction = tmp4_4;
_l_iterName = omc_CodegenCFunctions_contextIteratorName(threadData, _OMC_LIT20, _i_iter, _a_context);
omc_CodegenCFunctions_expType(threadData, _OMC_LIT20, _i_type__, _i_iterIsArray);
omc_CodegenCFunctions_expTypeShort(threadData, _OMC_LIT20, _i_type__);
_l_parforKernelName = omc_Tpl_writeTok(threadData, _OMC_LIT20, _OMC_LIT1881);
_ret_4 = omc_System_tmpTickIndex(threadData, ((modelica_integer) 20));
_l_parforKernelName = omc_Tpl_writeStr(threadData, _l_parforKernelName, intString(_ret_4));
_l_loopVarDecls = _OMC_LIT20;
_l_body = omc_Tpl_pushIter(threadData, _OMC_LIT20, _OMC_LIT96);
_l_body = omc_CodegenCFunctions_lm__511(threadData, _l_body, _i_statementLst, _a_auxFunction, _l_loopVarDecls, _a_context ,&_a_auxFunction ,&_l_loopVarDecls);
_l_body = omc_Tpl_popIter(threadData, _l_body);
_l_reconstrucedArrays = _OMC_LIT20;
omc_CodegenCFunctions_lm__512(threadData, _OMC_LIT20, _i_loopPrlVars, _l_reconstrucedArrays ,&_l_reconstrucedArrays);
_l_argStr = omc_Tpl_pushIter(threadData, _OMC_LIT20, _OMC_LIT1913);
_l_argStr = omc_CodegenCFunctions_lm__513(threadData, _l_argStr, _i_loopPrlVars);
_l_argStr = omc_Tpl_popIter(threadData, _l_argStr);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1917);
_txt = omc_Tpl_writeText(threadData, _txt, _l_parforKernelName);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1926);
_txt = omc_Tpl_pushBlock(threadData, _txt, _OMC_LIT1927);
_txt = omc_Tpl_writeText(threadData, _txt, _l_argStr);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1928);
_txt = omc_Tpl_popBlock(threadData, _txt);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1936);
_txt = omc_Tpl_pushBlock(threadData, _txt, _OMC_LIT97);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1938);
_txt = omc_Tpl_writeText(threadData, _txt, _l_iterName);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1940);
_txt = omc_Tpl_writeText(threadData, _txt, _l_iterName);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1942);
_txt = omc_Tpl_writeText(threadData, _txt, _l_iterName);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1948);
_txt = omc_Tpl_pushBlock(threadData, _txt, _OMC_LIT97);
_txt = omc_Tpl_writeText(threadData, _txt, _l_reconstrucedArrays);
_txt = omc_Tpl_softNewLine(threadData, _txt);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1952);
_txt = omc_Tpl_writeText(threadData, _txt, _l_loopVarDecls);
_txt = omc_Tpl_softNewLine(threadData, _txt);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT89);
_txt = omc_Tpl_writeText(threadData, _txt, _l_body);
_txt = omc_Tpl_softNewLine(threadData, _txt);
_txt = omc_Tpl_popBlock(threadData, _txt);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT159);
_txt = omc_Tpl_popBlock(threadData, _txt);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT103);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_auxFunction;
goto tmp3_done;
}
case 1: {
_txt = tmp4_1;
_a_auxFunction = tmp4_4;
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_auxFunction;
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta[0+0];
_out_a_auxFunction = tmpMeta[0+1];
_return: OMC_LABEL_UNUSED
if (out_out_a_auxFunction) { *out_out_a_auxFunction = _out_a_auxFunction; }
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_lm__513(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_items)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta[3] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp3_1;modelica_metatype tmp3_2;
tmp3_1 = _in_txt;
tmp3_2 = _in_items;
{
modelica_metatype _txt = NULL;
modelica_metatype _rest = NULL;
modelica_metatype _i_var = NULL;
volatile mmc_switch_type tmp3;
int tmp4;
tmp3 = 0;
for (; tmp3 < 2; tmp3++) {
switch (MMC_SWITCH_CAST(tmp3)) {
case 0: {
if (!listEmpty(tmp3_2)) goto tmp2_end;
_txt = tmp3_1;
tmpMeta[0] = _txt;
goto tmp2_done;
}
case 1: {
if (listEmpty(tmp3_2)) goto tmp2_end;
tmpMeta[1] = MMC_CAR(tmp3_2);
tmpMeta[2] = MMC_CDR(tmp3_2);
_i_var = tmpMeta[1];
_rest = tmpMeta[2];
_txt = tmp3_1;
_txt = omc_CodegenCFunctions_parFunArgDefinitionFromLooptupleVar(threadData, _txt, _i_var);
_txt = omc_Tpl_nextIter(threadData, _txt);
_in_txt = _txt;
_in_items = _rest;
goto _tailrecursive;
goto tmp2_done;
}
}
goto tmp2_end;
tmp2_end: ;
}
goto goto_1;
goto_1:;
MMC_THROW_INTERNAL();
goto tmp2_done;
tmp2_done:;
}
}
_out_txt = tmpMeta[0];
_return: OMC_LABEL_UNUSED
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_lm__512(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_items, modelica_metatype _in_a_reconstrucedArrays, modelica_metatype *out_out_a_reconstrucedArrays)
{
modelica_metatype _out_txt = NULL;
modelica_metatype _out_a_reconstrucedArrays = NULL;
modelica_metatype tmpMeta[4] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_metatype tmp4_2;modelica_metatype tmp4_3;
tmp4_1 = _in_txt;
tmp4_2 = _in_items;
tmp4_3 = _in_a_reconstrucedArrays;
{
modelica_metatype _txt = NULL;
modelica_metatype _rest = NULL;
modelica_metatype _a_reconstrucedArrays = NULL;
modelica_metatype _i_var = NULL;
volatile mmc_switch_type tmp4;
int tmp5;
tmp4 = 0;
for (; tmp4 < 2; tmp4++) {
switch (MMC_SWITCH_CAST(tmp4)) {
case 0: {
if (!listEmpty(tmp4_2)) goto tmp3_end;
_txt = tmp4_1;
_a_reconstrucedArrays = tmp4_3;
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_reconstrucedArrays;
goto tmp3_done;
}
case 1: {
if (listEmpty(tmp4_2)) goto tmp3_end;
tmpMeta[2] = MMC_CAR(tmp4_2);
tmpMeta[3] = MMC_CDR(tmp4_2);
_i_var = tmpMeta[2];
_rest = tmpMeta[3];
_txt = tmp4_1;
_a_reconstrucedArrays = tmp4_3;
_txt = omc_CodegenCFunctions_reconstructKernelArraysFromLooptupleVars(threadData, _txt, _i_var, _a_reconstrucedArrays ,&_a_reconstrucedArrays);
_in_txt = _txt;
_in_items = _rest;
_in_a_reconstrucedArrays = _a_reconstrucedArrays;
goto _tailrecursive;
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta[0+0];
_out_a_reconstrucedArrays = tmpMeta[0+1];
_return: OMC_LABEL_UNUSED
if (out_out_a_reconstrucedArrays) { *out_out_a_reconstrucedArrays = _out_a_reconstrucedArrays; }
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_lm__511(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_items, modelica_metatype _in_a_auxFunction, modelica_metatype _in_a_loopVarDecls, modelica_metatype _in_a_context, modelica_metatype *out_out_a_auxFunction, modelica_metatype *out_out_a_loopVarDecls)
{
modelica_metatype _out_txt = NULL;
modelica_metatype _out_a_auxFunction = NULL;
modelica_metatype _out_a_loopVarDecls = NULL;
modelica_metatype tmpMeta[5] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_metatype tmp4_2;modelica_metatype tmp4_3;modelica_metatype tmp4_4;modelica_metatype tmp4_5;
tmp4_1 = _in_txt;
tmp4_2 = _in_items;
tmp4_3 = _in_a_auxFunction;
tmp4_4 = _in_a_loopVarDecls;
tmp4_5 = _in_a_context;
{
modelica_metatype _txt = NULL;
modelica_metatype _rest = NULL;
modelica_metatype _a_auxFunction = NULL;
modelica_metatype _a_loopVarDecls = NULL;
modelica_metatype _a_context = NULL;
modelica_metatype _i_stmt = NULL;
volatile mmc_switch_type tmp4;
int tmp5;
tmp4 = 0;
for (; tmp4 < 2; tmp4++) {
switch (MMC_SWITCH_CAST(tmp4)) {
case 0: {
if (!listEmpty(tmp4_2)) goto tmp3_end;
_txt = tmp4_1;
_a_auxFunction = tmp4_3;
_a_loopVarDecls = tmp4_4;
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_auxFunction;
tmpMeta[0+2] = _a_loopVarDecls;
goto tmp3_done;
}
case 1: {
if (listEmpty(tmp4_2)) goto tmp3_end;
tmpMeta[3] = MMC_CAR(tmp4_2);
tmpMeta[4] = MMC_CDR(tmp4_2);
_i_stmt = tmpMeta[3];
_rest = tmpMeta[4];
_txt = tmp4_1;
_a_auxFunction = tmp4_3;
_a_loopVarDecls = tmp4_4;
_a_context = tmp4_5;
_txt = omc_CodegenCFunctions_algStatement(threadData, _txt, _i_stmt, _a_context, _a_loopVarDecls, _a_auxFunction ,&_a_loopVarDecls ,&_a_auxFunction);
_txt = omc_Tpl_nextIter(threadData, _txt);
_in_txt = _txt;
_in_items = _rest;
_in_a_auxFunction = _a_auxFunction;
_in_a_loopVarDecls = _a_loopVarDecls;
_in_a_context = _a_context;
goto _tailrecursive;
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta[0+0];
_out_a_auxFunction = tmpMeta[0+1];
_out_a_loopVarDecls = tmpMeta[0+2];
_return: OMC_LABEL_UNUSED
if (out_out_a_auxFunction) { *out_out_a_auxFunction = _out_a_auxFunction; }
if (out_out_a_loopVarDecls) { *out_out_a_loopVarDecls = _out_a_loopVarDecls; }
return _out_txt;
}
DLLExport
modelica_metatype omc_CodegenCFunctions_algStmtParForBody(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_stmt, modelica_metatype _in_a_context, modelica_metatype _in_a_varDecls, modelica_metatype _in_a_auxFunction, modelica_metatype *out_out_a_varDecls, modelica_metatype *out_out_a_auxFunction)
{
modelica_metatype _out_txt = NULL;
modelica_metatype _out_a_varDecls = NULL;
modelica_metatype _out_a_auxFunction = NULL;
modelica_metatype tmpMeta[4] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_metatype tmp4_2;modelica_metatype tmp4_3;modelica_metatype tmp4_4;modelica_metatype tmp4_5;
tmp4_1 = _in_txt;
tmp4_2 = _in_a_stmt;
tmp4_3 = _in_a_context;
tmp4_4 = _in_a_varDecls;
tmp4_5 = _in_a_auxFunction;
{
modelica_metatype _txt = NULL;
modelica_metatype _a_context = NULL;
modelica_metatype _a_varDecls = NULL;
modelica_metatype _a_auxFunction = NULL;
modelica_metatype _i_s = NULL;
volatile mmc_switch_type tmp4;
int tmp5;
tmp4 = 0;
for (; tmp4 < 3; tmp4++) {
switch (MMC_SWITCH_CAST(tmp4)) {
case 0: {
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,5,8) == 0) goto tmp3_end;
tmpMeta[3] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 6));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[3],18,4) == 0) goto tmp3_end;
_i_s = tmp4_2;
_txt = tmp4_1;
_a_context = tmp4_3;
_a_varDecls = tmp4_4;
_a_auxFunction = tmp4_5;
tmpMeta[0+0] = omc_CodegenCFunctions_algStmtParForRangeBody(threadData, _txt, _i_s, _a_context, _a_varDecls, _a_auxFunction, &tmpMeta[0+1], &tmpMeta[0+2]);
goto tmp3_done;
}
case 1: {
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,5,8) == 0) goto tmp3_end;
_i_s = tmp4_2;
_txt = tmp4_1;
_a_context = tmp4_3;
_a_varDecls = tmp4_4;
_a_auxFunction = tmp4_5;
tmpMeta[0+0] = omc_CodegenCFunctions_algStmtForGeneric(threadData, _txt, _i_s, _a_context, _a_varDecls, _a_auxFunction, &tmpMeta[0+1], &tmpMeta[0+2]);
goto tmp3_done;
}
case 2: {
_txt = tmp4_1;
_a_varDecls = tmp4_4;
_a_auxFunction = tmp4_5;
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_varDecls;
tmpMeta[0+2] = _a_auxFunction;
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta[0+0];
_out_a_varDecls = tmpMeta[0+1];
_out_a_auxFunction = tmpMeta[0+2];
_return: OMC_LABEL_UNUSED
if (out_out_a_varDecls) { *out_out_a_varDecls = _out_a_varDecls; }
if (out_out_a_auxFunction) { *out_out_a_auxFunction = _out_a_auxFunction; }
return _out_txt;
}
DLLExport
modelica_metatype omc_CodegenCFunctions_algStmtIf(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_stmt, modelica_metatype _in_a_context, modelica_metatype _in_a_varDecls, modelica_metatype _in_a_auxFunction, modelica_metatype *out_out_a_varDecls, modelica_metatype *out_out_a_auxFunction)
{
modelica_metatype _out_txt = NULL;
modelica_metatype _out_a_varDecls = NULL;
modelica_metatype _out_a_auxFunction = NULL;
modelica_metatype tmpMeta[6] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_metatype tmp4_2;modelica_metatype tmp4_3;modelica_metatype tmp4_4;modelica_metatype tmp4_5;
tmp4_1 = _in_txt;
tmp4_2 = _in_a_stmt;
tmp4_3 = _in_a_context;
tmp4_4 = _in_a_varDecls;
tmp4_5 = _in_a_auxFunction;
{
modelica_metatype _txt = NULL;
modelica_metatype _a_context = NULL;
modelica_metatype _a_varDecls = NULL;
modelica_metatype _a_auxFunction = NULL;
modelica_metatype _i_else__ = NULL;
modelica_metatype _i_statementLst = NULL;
modelica_metatype _i_exp = NULL;
modelica_metatype _l_condExp = NULL;
modelica_metatype _l_preExp = NULL;
volatile mmc_switch_type tmp4;
int tmp5;
tmp4 = 0;
for (; tmp4 < 2; tmp4++) {
switch (MMC_SWITCH_CAST(tmp4)) {
case 0: {
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,3,4) == 0) goto tmp3_end;
tmpMeta[3] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
tmpMeta[4] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 3));
tmpMeta[5] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 4));
_i_exp = tmpMeta[3];
_i_statementLst = tmpMeta[4];
_i_else__ = tmpMeta[5];
_txt = tmp4_1;
_a_context = tmp4_3;
_a_varDecls = tmp4_4;
_a_auxFunction = tmp4_5;
_l_preExp = _OMC_LIT20;
_l_condExp = omc_CodegenCFunctions_daeExp(threadData, _OMC_LIT20, _i_exp, _a_context, _l_preExp, _a_varDecls, _a_auxFunction ,&_l_preExp ,&_a_varDecls ,&_a_auxFunction);
_txt = omc_Tpl_writeText(threadData, _txt, _l_preExp);
_txt = omc_Tpl_softNewLine(threadData, _txt);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT346);
_txt = omc_Tpl_writeText(threadData, _txt, _l_condExp);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT428);
_txt = omc_Tpl_pushBlock(threadData, _txt, _OMC_LIT97);
_txt = omc_Tpl_pushIter(threadData, _txt, _OMC_LIT96);
_txt = omc_CodegenCFunctions_lm__508(threadData, _txt, _i_statementLst, _a_auxFunction, _a_varDecls, _a_context ,&_a_auxFunction ,&_a_varDecls);
_txt = omc_Tpl_popIter(threadData, _txt);
_txt = omc_Tpl_softNewLine(threadData, _txt);
_txt = omc_Tpl_popBlock(threadData, _txt);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT159);
tmpMeta[0+0] = omc_CodegenCFunctions_elseExpr(threadData, _txt, _i_else__, _a_context, _a_varDecls, _a_auxFunction, &tmpMeta[0+1], &tmpMeta[0+2]);
goto tmp3_done;
}
case 1: {
_txt = tmp4_1;
_a_varDecls = tmp4_4;
_a_auxFunction = tmp4_5;
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_varDecls;
tmpMeta[0+2] = _a_auxFunction;
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta[0+0];
_out_a_varDecls = tmpMeta[0+1];
_out_a_auxFunction = tmpMeta[0+2];
_return: OMC_LABEL_UNUSED
if (out_out_a_varDecls) { *out_out_a_varDecls = _out_a_varDecls; }
if (out_out_a_auxFunction) { *out_out_a_auxFunction = _out_a_auxFunction; }
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_lm__508(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_items, modelica_metatype _in_a_auxFunction, modelica_metatype _in_a_varDecls, modelica_metatype _in_a_context, modelica_metatype *out_out_a_auxFunction, modelica_metatype *out_out_a_varDecls)
{
modelica_metatype _out_txt = NULL;
modelica_metatype _out_a_auxFunction = NULL;
modelica_metatype _out_a_varDecls = NULL;
modelica_metatype tmpMeta[5] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_metatype tmp4_2;modelica_metatype tmp4_3;modelica_metatype tmp4_4;modelica_metatype tmp4_5;
tmp4_1 = _in_txt;
tmp4_2 = _in_items;
tmp4_3 = _in_a_auxFunction;
tmp4_4 = _in_a_varDecls;
tmp4_5 = _in_a_context;
{
modelica_metatype _txt = NULL;
modelica_metatype _rest = NULL;
modelica_metatype _a_auxFunction = NULL;
modelica_metatype _a_varDecls = NULL;
modelica_metatype _a_context = NULL;
modelica_metatype _i_stmt = NULL;
volatile mmc_switch_type tmp4;
int tmp5;
tmp4 = 0;
for (; tmp4 < 2; tmp4++) {
switch (MMC_SWITCH_CAST(tmp4)) {
case 0: {
if (!listEmpty(tmp4_2)) goto tmp3_end;
_txt = tmp4_1;
_a_auxFunction = tmp4_3;
_a_varDecls = tmp4_4;
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_auxFunction;
tmpMeta[0+2] = _a_varDecls;
goto tmp3_done;
}
case 1: {
if (listEmpty(tmp4_2)) goto tmp3_end;
tmpMeta[3] = MMC_CAR(tmp4_2);
tmpMeta[4] = MMC_CDR(tmp4_2);
_i_stmt = tmpMeta[3];
_rest = tmpMeta[4];
_txt = tmp4_1;
_a_auxFunction = tmp4_3;
_a_varDecls = tmp4_4;
_a_context = tmp4_5;
_txt = omc_CodegenCFunctions_algStatement(threadData, _txt, _i_stmt, _a_context, _a_varDecls, _a_auxFunction ,&_a_varDecls ,&_a_auxFunction);
_txt = omc_Tpl_nextIter(threadData, _txt);
_in_txt = _txt;
_in_items = _rest;
_in_a_auxFunction = _a_auxFunction;
_in_a_varDecls = _a_varDecls;
_in_a_context = _a_context;
goto _tailrecursive;
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta[0+0];
_out_a_auxFunction = tmpMeta[0+1];
_out_a_varDecls = tmpMeta[0+2];
_return: OMC_LABEL_UNUSED
if (out_out_a_auxFunction) { *out_out_a_auxFunction = _out_a_auxFunction; }
if (out_out_a_varDecls) { *out_out_a_varDecls = _out_a_varDecls; }
return _out_txt;
}
DLLExport
modelica_metatype omc_CodegenCFunctions_tupleReturnVariableUpdates(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_inExp, modelica_metatype _in_a_context, modelica_metatype _in_a_varDecls, modelica_metatype _in_a_preExp, modelica_metatype _in_a_varCopy, modelica_metatype _in_a_auxFunction, modelica_metatype *out_out_a_varDecls, modelica_metatype *out_out_a_preExp, modelica_metatype *out_out_a_varCopy, modelica_metatype *out_out_a_auxFunction)
{
modelica_metatype _out_txt = NULL;
modelica_metatype _out_a_varDecls = NULL;
modelica_metatype _out_a_preExp = NULL;
modelica_metatype _out_a_varCopy = NULL;
modelica_metatype _out_a_auxFunction = NULL;
modelica_metatype tmpMeta[10] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_metatype tmp4_2;modelica_metatype tmp4_3;modelica_metatype tmp4_4;modelica_metatype tmp4_5;modelica_metatype tmp4_6;modelica_metatype tmp4_7;
tmp4_1 = _in_txt;
tmp4_2 = _in_a_inExp;
tmp4_3 = _in_a_context;
tmp4_4 = _in_a_varDecls;
tmp4_5 = _in_a_preExp;
tmp4_6 = _in_a_varCopy;
tmp4_7 = _in_a_auxFunction;
{
modelica_metatype _txt = NULL;
modelica_metatype _a_context = NULL;
modelica_metatype _a_varDecls = NULL;
modelica_metatype _a_preExp = NULL;
modelica_metatype _a_varCopy = NULL;
modelica_metatype _a_auxFunction = NULL;
modelica_metatype _i_inExp = NULL;
modelica_metatype _i_expLst = NULL;
modelica_metatype _i_cr = NULL;
modelica_metatype _i_varLst = NULL;
modelica_metatype _i_ty = NULL;
modelica_metatype _txt_8 = NULL;
modelica_boolean _ret_7;
modelica_metatype _l_res = NULL;
modelica_metatype _txt_5 = NULL;
modelica_metatype _txt_3 = NULL;
modelica_metatype _l_preExp = NULL;
modelica_metatype _txt_1 = NULL;
modelica_metatype _l_rhsStr = NULL;
volatile mmc_switch_type tmp4;
int tmp5;
tmp4 = 0;
for (; tmp4 < 5; tmp4++) {
switch (MMC_SWITCH_CAST(tmp4)) {
case 0: {
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,6,2) == 0) goto tmp3_end;
tmpMeta[5] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[5],4,0) == 0) goto tmp3_end;
_txt = tmp4_1;
_a_varDecls = tmp4_4;
_a_preExp = tmp4_5;
_a_varCopy = tmp4_6;
_a_auxFunction = tmp4_7;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1954);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_varDecls;
tmpMeta[0+2] = _a_preExp;
tmpMeta[0+3] = _a_varCopy;
tmpMeta[0+4] = _a_auxFunction;
goto tmp3_done;
}
case 1: {
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,6,2) == 0) goto tmp3_end;
tmpMeta[5] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
tmpMeta[6] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 3));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[6],9,3) == 0) goto tmp3_end;
tmpMeta[7] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[6]), 2));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[7],3,1) == 0) goto tmp3_end;
tmpMeta[8] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[6]), 3));
_i_cr = tmpMeta[5];
_i_ty = tmpMeta[6];
_i_varLst = tmpMeta[8];
_txt = tmp4_1;
_a_context = tmp4_3;
_a_varDecls = tmp4_4;
_a_preExp = tmp4_5;
_a_varCopy = tmp4_6;
_a_auxFunction = tmp4_7;
_txt_1 = omc_CodegenCFunctions_expTypeArrayIf(threadData, _OMC_LIT20, _i_ty);
_l_rhsStr = omc_CodegenCFunctions_tempDecl(threadData, _OMC_LIT20, omc_Tpl_textString(threadData, _txt_1), _a_varDecls ,&_a_varDecls);
_a_varCopy = omc_Tpl_writeText(threadData, _a_varCopy, _a_preExp);
_a_varCopy = omc_Tpl_softNewLine(threadData, _a_varCopy);
_a_varCopy = omc_Tpl_pushIter(threadData, _a_varCopy, _OMC_LIT96);
_a_varCopy = omc_CodegenCFunctions_lm__504(threadData, _a_varCopy, _i_varLst, _l_rhsStr, _a_auxFunction, _a_varDecls, _a_preExp, _a_context, _i_cr ,&_a_auxFunction ,&_a_varDecls ,&_a_preExp);
_a_varCopy = omc_Tpl_popIter(threadData, _a_varCopy);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT582);
_txt = omc_Tpl_writeText(threadData, _txt, _l_rhsStr);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_varDecls;
tmpMeta[0+2] = _a_preExp;
tmpMeta[0+3] = _a_varCopy;
tmpMeta[0+4] = _a_auxFunction;
goto tmp3_done;
}
case 2: {
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,13,3) == 0) goto tmp3_end;
tmpMeta[5] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 3));
tmpMeta[6] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 4));
tmpMeta[7] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[6]), 2));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[7],9,3) == 0) goto tmp3_end;
tmpMeta[8] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[7]), 2));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[8],3,1) == 0) goto tmp3_end;
tmpMeta[9] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[7]), 3));
_i_expLst = tmpMeta[5];
_i_ty = tmpMeta[7];
_i_varLst = tmpMeta[9];
_txt = tmp4_1;
_a_context = tmp4_3;
_a_varDecls = tmp4_4;
_a_preExp = tmp4_5;
_a_varCopy = tmp4_6;
_a_auxFunction = tmp4_7;
_l_preExp = _OMC_LIT20;
_txt_3 = omc_CodegenCFunctions_expTypeArrayIf(threadData, _OMC_LIT20, _i_ty);
_l_rhsStr = omc_CodegenCFunctions_tempDecl(threadData, _OMC_LIT20, omc_Tpl_textString(threadData, _txt_3), _a_varDecls ,&_a_varDecls);
_txt_5 = omc_CodegenCFunctions_expTypeModelica(threadData, _OMC_LIT20, _i_ty);
omc_CodegenCFunctions_tempDecl(threadData, _OMC_LIT20, omc_Tpl_textString(threadData, _txt_5), _a_varDecls ,&_a_varDecls);
_a_varCopy = omc_Tpl_writeText(threadData, _a_varCopy, _l_preExp);
_a_varCopy = omc_Tpl_softNewLine(threadData, _a_varCopy);
_a_varCopy = omc_Tpl_pushIter(threadData, _a_varCopy, _OMC_LIT464);
_a_varCopy = omc_CodegenCFunctions_lm__505(threadData, _a_varCopy, _i_varLst, _l_rhsStr, _a_auxFunction, _a_varDecls, _l_preExp, _a_context, _i_expLst ,&_a_auxFunction ,&_a_varDecls ,&_l_preExp);
_a_varCopy = omc_Tpl_popIter(threadData, _a_varCopy);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT582);
_txt = omc_Tpl_writeText(threadData, _txt, _l_rhsStr);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_varDecls;
tmpMeta[0+2] = _a_preExp;
tmpMeta[0+3] = _a_varCopy;
tmpMeta[0+4] = _a_auxFunction;
goto tmp3_done;
}
case 3: {
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,6,2) == 0) goto tmp3_end;
tmpMeta[5] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 3));
_i_inExp = tmp4_2;
_i_ty = tmpMeta[5];
_txt = tmp4_1;
_a_context = tmp4_3;
_a_varDecls = tmp4_4;
_a_preExp = tmp4_5;
_a_varCopy = tmp4_6;
_a_auxFunction = tmp4_7;
_l_res = omc_CodegenCFunctions_daeExpCrefLhs(threadData, _OMC_LIT20, _i_inExp, _a_context, _a_preExp, _a_varDecls, _a_auxFunction, 0 ,&_a_preExp ,&_a_varDecls ,&_a_auxFunction);
_ret_7 = omc_Types_isArrayWithUnknownDimension(threadData, _i_ty);
_txt = omc_CodegenCFunctions_fun__506(threadData, _txt, _ret_7, _a_preExp, _l_res ,&_a_preExp);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_varDecls;
tmpMeta[0+2] = _a_preExp;
tmpMeta[0+3] = _a_varCopy;
tmpMeta[0+4] = _a_auxFunction;
goto tmp3_done;
}
case 4: {
_txt = tmp4_1;
_i_inExp = tmp4_2;
_a_varDecls = tmp4_4;
_a_preExp = tmp4_5;
_a_varCopy = tmp4_6;
_a_auxFunction = tmp4_7;
_txt_8 = omc_Tpl_writeTok(threadData, _OMC_LIT20, _OMC_LIT1956);
_txt_8 = omc_ExpressionDumpTpl_dumpExp(threadData, _txt_8, _i_inExp, _OMC_LIT231);
_txt = omc_CodegenUtil_error(threadData, _txt, omc_Tpl_sourceInfo(threadData, _OMC_LIT27, ((modelica_integer) 3149), ((modelica_integer) 11)), omc_Tpl_textString(threadData, _txt_8));
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_varDecls;
tmpMeta[0+2] = _a_preExp;
tmpMeta[0+3] = _a_varCopy;
tmpMeta[0+4] = _a_auxFunction;
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta[0+0];
_out_a_varDecls = tmpMeta[0+1];
_out_a_preExp = tmpMeta[0+2];
_out_a_varCopy = tmpMeta[0+3];
_out_a_auxFunction = tmpMeta[0+4];
_return: OMC_LABEL_UNUSED
if (out_out_a_varDecls) { *out_out_a_varDecls = _out_a_varDecls; }
if (out_out_a_preExp) { *out_out_a_preExp = _out_a_preExp; }
if (out_out_a_varCopy) { *out_out_a_varCopy = _out_a_varCopy; }
if (out_out_a_auxFunction) { *out_out_a_auxFunction = _out_a_auxFunction; }
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__506(threadData_t *threadData, modelica_metatype _in_txt, modelica_boolean _in_mArg, modelica_metatype _in_a_preExp, modelica_metatype _in_a_res, modelica_metatype *out_out_a_preExp)
{
modelica_metatype _out_txt = NULL;
modelica_metatype _out_a_preExp = NULL;
modelica_metatype tmpMeta[2] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_boolean tmp4_2;modelica_metatype tmp4_3;modelica_metatype tmp4_4;
tmp4_1 = _in_txt;
tmp4_2 = _in_mArg;
tmp4_3 = _in_a_preExp;
tmp4_4 = _in_a_res;
{
modelica_metatype _txt = NULL;
modelica_metatype _a_preExp = NULL;
modelica_metatype _a_res = NULL;
volatile mmc_switch_type tmp4;
int tmp5;
tmp4 = 0;
for (; tmp4 < 2; tmp4++) {
switch (MMC_SWITCH_CAST(tmp4)) {
case 0: {
if (0 != tmp4_2) goto tmp3_end;
_txt = tmp4_1;
_a_preExp = tmp4_3;
_a_res = tmp4_4;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT582);
_txt = omc_Tpl_writeText(threadData, _txt, _a_res);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_preExp;
goto tmp3_done;
}
case 1: {
_txt = tmp4_1;
_a_preExp = tmp4_3;
_a_res = tmp4_4;
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _a_res);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT1958);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT89);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT582);
_txt = omc_Tpl_writeText(threadData, _txt, _a_res);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_preExp;
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta[0+0];
_out_a_preExp = tmpMeta[0+1];
_return: OMC_LABEL_UNUSED
if (out_out_a_preExp) { *out_out_a_preExp = _out_a_preExp; }
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__506(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_mArg, modelica_metatype _in_a_preExp, modelica_metatype _in_a_res, modelica_metatype *out_out_a_preExp)
{
modelica_integer tmp1;
modelica_metatype _out_txt = NULL;
tmp1 = mmc_unbox_integer(_in_mArg);
_out_txt = omc_CodegenCFunctions_fun__506(threadData, _in_txt, tmp1, _in_a_preExp, _in_a_res, out_out_a_preExp);
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_lm__505(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_items, modelica_metatype _in_a_rhsStr, modelica_metatype _in_a_auxFunction, modelica_metatype _in_a_varDecls, modelica_metatype _in_a_preExp, modelica_metatype _in_a_context, modelica_metatype _in_a_expLst, modelica_metatype *out_out_a_auxFunction, modelica_metatype *out_out_a_varDecls, modelica_metatype *out_out_a_preExp)
{
modelica_metatype _out_txt = NULL;
modelica_metatype _out_a_auxFunction = NULL;
modelica_metatype _out_a_varDecls = NULL;
modelica_metatype _out_a_preExp = NULL;
modelica_metatype tmpMeta[7] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_metatype tmp4_2;modelica_metatype tmp4_3;modelica_metatype tmp4_4;modelica_metatype tmp4_5;modelica_metatype tmp4_6;modelica_metatype tmp4_7;modelica_metatype tmp4_8;
tmp4_1 = _in_txt;
tmp4_2 = _in_items;
tmp4_3 = _in_a_rhsStr;
tmp4_4 = _in_a_auxFunction;
tmp4_5 = _in_a_varDecls;
tmp4_6 = _in_a_preExp;
tmp4_7 = _in_a_context;
tmp4_8 = _in_a_expLst;
{
modelica_metatype _txt = NULL;
modelica_metatype _rest = NULL;
modelica_metatype _a_rhsStr = NULL;
modelica_metatype _a_auxFunction = NULL;
modelica_metatype _a_varDecls = NULL;
modelica_metatype _a_preExp = NULL;
modelica_metatype _a_context = NULL;
modelica_metatype _a_expLst = NULL;
modelica_integer _x_i1;
modelica_string _i_var_name = NULL;
modelica_metatype _ret_1 = NULL;
modelica_metatype _l_re = NULL;
volatile mmc_switch_type tmp4;
int tmp5;
tmp4 = 0;
for (; tmp4 < 3; tmp4++) {
switch (MMC_SWITCH_CAST(tmp4)) {
case 0: {
if (!listEmpty(tmp4_2)) goto tmp3_end;
_txt = tmp4_1;
_a_auxFunction = tmp4_4;
_a_varDecls = tmp4_5;
_a_preExp = tmp4_6;
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_auxFunction;
tmpMeta[0+2] = _a_varDecls;
tmpMeta[0+3] = _a_preExp;
goto tmp3_done;
}
case 1: {
if (listEmpty(tmp4_2)) goto tmp3_end;
tmpMeta[4] = MMC_CAR(tmp4_2);
tmpMeta[5] = MMC_CDR(tmp4_2);
tmpMeta[6] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[4]), 2));
_i_var_name = tmpMeta[6];
_rest = tmpMeta[5];
_txt = tmp4_1;
_a_rhsStr = tmp4_3;
_a_auxFunction = tmp4_4;
_a_varDecls = tmp4_5;
_a_preExp = tmp4_6;
_a_context = tmp4_7;
_a_expLst = tmp4_8;
_x_i1 = omc_Tpl_getIteri__i0(threadData, _txt);
_ret_1 = listGet(_a_expLst, _x_i1);
_l_re = omc_CodegenCFunctions_daeExp(threadData, _OMC_LIT20, _ret_1, _a_context, _a_preExp, _a_varDecls, _a_auxFunction ,&_a_preExp ,&_a_varDecls ,&_a_auxFunction);
_txt = omc_Tpl_writeText(threadData, _txt, _l_re);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT121);
_txt = omc_Tpl_writeText(threadData, _txt, _a_rhsStr);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT518);
_txt = omc_Tpl_writeStr(threadData, _txt, _i_var_name);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT105);
_txt = omc_Tpl_nextIter(threadData, _txt);
_in_txt = _txt;
_in_items = _rest;
_in_a_rhsStr = _a_rhsStr;
_in_a_auxFunction = _a_auxFunction;
_in_a_varDecls = _a_varDecls;
_in_a_preExp = _a_preExp;
_in_a_context = _a_context;
_in_a_expLst = _a_expLst;
goto _tailrecursive;
goto tmp3_done;
}
case 2: {
if (listEmpty(tmp4_2)) goto tmp3_end;
tmpMeta[4] = MMC_CAR(tmp4_2);
tmpMeta[5] = MMC_CDR(tmp4_2);
_rest = tmpMeta[5];
_txt = tmp4_1;
_a_rhsStr = tmp4_3;
_a_auxFunction = tmp4_4;
_a_varDecls = tmp4_5;
_a_preExp = tmp4_6;
_a_context = tmp4_7;
_a_expLst = tmp4_8;
_in_txt = _txt;
_in_items = _rest;
_in_a_rhsStr = _a_rhsStr;
_in_a_auxFunction = _a_auxFunction;
_in_a_varDecls = _a_varDecls;
_in_a_preExp = _a_preExp;
_in_a_context = _a_context;
_in_a_expLst = _a_expLst;
goto _tailrecursive;
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta[0+0];
_out_a_auxFunction = tmpMeta[0+1];
_out_a_varDecls = tmpMeta[0+2];
_out_a_preExp = tmpMeta[0+3];
_return: OMC_LABEL_UNUSED
if (out_out_a_auxFunction) { *out_out_a_auxFunction = _out_a_auxFunction; }
if (out_out_a_varDecls) { *out_out_a_varDecls = _out_a_varDecls; }
if (out_out_a_preExp) { *out_out_a_preExp = _out_a_preExp; }
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_lm__504(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_items, modelica_metatype _in_a_rhsStr, modelica_metatype _in_a_auxFunction, modelica_metatype _in_a_varDecls, modelica_metatype _in_a_preExp, modelica_metatype _in_a_context, modelica_metatype _in_a_cr, modelica_metatype *out_out_a_auxFunction, modelica_metatype *out_out_a_varDecls, modelica_metatype *out_out_a_preExp)
{
modelica_metatype _out_txt = NULL;
modelica_metatype _out_a_auxFunction = NULL;
modelica_metatype _out_a_varDecls = NULL;
modelica_metatype _out_a_preExp = NULL;
modelica_metatype tmpMeta[7] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_metatype tmp4_2;modelica_metatype tmp4_3;modelica_metatype tmp4_4;modelica_metatype tmp4_5;modelica_metatype tmp4_6;modelica_metatype tmp4_7;modelica_metatype tmp4_8;
tmp4_1 = _in_txt;
tmp4_2 = _in_items;
tmp4_3 = _in_a_rhsStr;
tmp4_4 = _in_a_auxFunction;
tmp4_5 = _in_a_varDecls;
tmp4_6 = _in_a_preExp;
tmp4_7 = _in_a_context;
tmp4_8 = _in_a_cr;
{
modelica_metatype _txt = NULL;
modelica_metatype _rest = NULL;
modelica_metatype _a_rhsStr = NULL;
modelica_metatype _a_auxFunction = NULL;
modelica_metatype _a_varDecls = NULL;
modelica_metatype _a_preExp = NULL;
modelica_metatype _a_context = NULL;
modelica_metatype _a_cr = NULL;
modelica_string _i_var_name = NULL;
modelica_metatype _ret_0 = NULL;
volatile mmc_switch_type tmp4;
int tmp5;
tmp4 = 0;
for (; tmp4 < 3; tmp4++) {
switch (MMC_SWITCH_CAST(tmp4)) {
case 0: {
if (!listEmpty(tmp4_2)) goto tmp3_end;
_txt = tmp4_1;
_a_auxFunction = tmp4_4;
_a_varDecls = tmp4_5;
_a_preExp = tmp4_6;
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_auxFunction;
tmpMeta[0+2] = _a_varDecls;
tmpMeta[0+3] = _a_preExp;
goto tmp3_done;
}
case 1: {
if (listEmpty(tmp4_2)) goto tmp3_end;
tmpMeta[4] = MMC_CAR(tmp4_2);
tmpMeta[5] = MMC_CDR(tmp4_2);
tmpMeta[6] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[4]), 2));
_i_var_name = tmpMeta[6];
_rest = tmpMeta[5];
_txt = tmp4_1;
_a_rhsStr = tmp4_3;
_a_auxFunction = tmp4_4;
_a_varDecls = tmp4_5;
_a_preExp = tmp4_6;
_a_context = tmp4_7;
_a_cr = tmp4_8;
_ret_0 = omc_ComponentReference_appendStringCref(threadData, _i_var_name, _a_cr);
_txt = omc_CodegenCFunctions_contextCref(threadData, _txt, _ret_0, _a_context, _a_preExp, _a_varDecls, _a_auxFunction ,&_a_preExp ,&_a_varDecls ,&_a_auxFunction);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT121);
_txt = omc_Tpl_writeText(threadData, _txt, _a_rhsStr);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT518);
_txt = omc_Tpl_writeStr(threadData, _txt, _i_var_name);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT105);
_txt = omc_Tpl_nextIter(threadData, _txt);
_in_txt = _txt;
_in_items = _rest;
_in_a_rhsStr = _a_rhsStr;
_in_a_auxFunction = _a_auxFunction;
_in_a_varDecls = _a_varDecls;
_in_a_preExp = _a_preExp;
_in_a_context = _a_context;
_in_a_cr = _a_cr;
goto _tailrecursive;
goto tmp3_done;
}
case 2: {
if (listEmpty(tmp4_2)) goto tmp3_end;
tmpMeta[4] = MMC_CAR(tmp4_2);
tmpMeta[5] = MMC_CDR(tmp4_2);
_rest = tmpMeta[5];
_txt = tmp4_1;
_a_rhsStr = tmp4_3;
_a_auxFunction = tmp4_4;
_a_varDecls = tmp4_5;
_a_preExp = tmp4_6;
_a_context = tmp4_7;
_a_cr = tmp4_8;
_in_txt = _txt;
_in_items = _rest;
_in_a_rhsStr = _a_rhsStr;
_in_a_auxFunction = _a_auxFunction;
_in_a_varDecls = _a_varDecls;
_in_a_preExp = _a_preExp;
_in_a_context = _a_context;
_in_a_cr = _a_cr;
goto _tailrecursive;
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta[0+0];
_out_a_auxFunction = tmpMeta[0+1];
_out_a_varDecls = tmpMeta[0+2];
_out_a_preExp = tmpMeta[0+3];
_return: OMC_LABEL_UNUSED
if (out_out_a_auxFunction) { *out_out_a_auxFunction = _out_a_auxFunction; }
if (out_out_a_varDecls) { *out_out_a_varDecls = _out_a_varDecls; }
if (out_out_a_preExp) { *out_out_a_preExp = _out_a_preExp; }
return _out_txt;
}
DLLExport
modelica_metatype omc_CodegenCFunctions_algStmtTupleAssign(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_stmt, modelica_metatype _in_a_context, modelica_metatype _in_a_varDecls, modelica_metatype _in_a_auxFunction, modelica_metatype *out_out_a_varDecls, modelica_metatype *out_out_a_auxFunction)
{
modelica_metatype _out_txt = NULL;
modelica_metatype _out_a_varDecls = NULL;
modelica_metatype _out_a_auxFunction = NULL;
modelica_metatype tmpMeta[10] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_metatype tmp4_2;modelica_metatype tmp4_3;modelica_metatype tmp4_4;modelica_metatype tmp4_5;
tmp4_1 = _in_txt;
tmp4_2 = _in_a_stmt;
tmp4_3 = _in_a_context;
tmp4_4 = _in_a_varDecls;
tmp4_5 = _in_a_auxFunction;
{
modelica_metatype _txt = NULL;
modelica_metatype _a_context = NULL;
modelica_metatype _a_varDecls = NULL;
modelica_metatype _a_auxFunction = NULL;
modelica_metatype _i_firstexp = NULL;
modelica_metatype _i_exp = NULL;
modelica_metatype _i_ntys = NULL;
modelica_metatype _i_expExpLst = NULL;
modelica_integer _ret_16;
modelica_integer _ret_15;
modelica_metatype _l_startIndexOutputs = NULL;
modelica_integer _ret_13;
modelica_metatype _l_prefix = NULL;
modelica_metatype _l_callassign = NULL;
modelica_metatype _l_call = NULL;
modelica_metatype _ret_9 = NULL;
modelica_integer _ret_8;
modelica_integer _ret_7;
modelica_integer _ret_6;
modelica_integer _ret_5;
modelica_metatype _l_lhsCrefs2 = NULL;
modelica_metatype _ret_3 = NULL;
modelica_metatype _l_lhsCrefs = NULL;
modelica_metatype _l_postExp = NULL;
modelica_metatype _l_preExp = NULL;
volatile mmc_switch_type tmp4;
int tmp5;
tmp4 = 0;
for (; tmp4 < 4; tmp4++) {
switch (MMC_SWITCH_CAST(tmp4)) {
case 0: {
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,1,4) == 0) goto tmp3_end;
tmpMeta[3] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 3));
if (listEmpty(tmpMeta[3])) goto tmp3_end;
tmpMeta[4] = MMC_CAR(tmpMeta[3]);
tmpMeta[5] = MMC_CDR(tmpMeta[3]);
if (!listEmpty(tmpMeta[5])) goto tmp3_end;
_txt = tmp4_1;
_a_varDecls = tmp4_4;
_a_auxFunction = tmp4_5;
_txt = omc_CodegenUtil_error(threadData, _txt, omc_Tpl_sourceInfo(threadData, _OMC_LIT27, ((modelica_integer) 3060), ((modelica_integer) 11)), _OMC_LIT1959);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_varDecls;
tmpMeta[0+2] = _a_auxFunction;
goto tmp3_done;
}
case 1: {
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,1,4) == 0) goto tmp3_end;
tmpMeta[3] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 3));
if (listEmpty(tmpMeta[3])) goto tmp3_end;
tmpMeta[4] = MMC_CAR(tmpMeta[3]);
tmpMeta[5] = MMC_CDR(tmpMeta[3]);
tmpMeta[6] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 4));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[6],13,3) == 0) goto tmp3_end;
tmpMeta[7] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[6]), 4));
tmpMeta[8] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[7]), 2));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[8],14,2) == 0) goto tmp3_end;
tmpMeta[9] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[8]), 2));
_i_expExpLst = tmpMeta[3];
_i_firstexp = tmpMeta[4];
_i_exp = tmpMeta[6];
_i_ntys = tmpMeta[9];
_txt = tmp4_1;
_a_context = tmp4_3;
_a_varDecls = tmp4_4;
_a_auxFunction = tmp4_5;
_l_preExp = _OMC_LIT20;
_l_postExp = _OMC_LIT20;
_ret_3 = omc_List_rest(threadData, _i_expExpLst);
_l_lhsCrefs = omc_CodegenCFunctions_lm__499(threadData, _OMC_LIT20, _ret_3, _a_auxFunction, _l_postExp, _l_preExp, _a_varDecls, _a_context ,&_a_auxFunction ,&_l_postExp ,&_l_preExp ,&_a_varDecls);
_l_lhsCrefs2 = omc_Tpl_writeText(threadData, _OMC_LIT20, _l_lhsCrefs);
_ret_5 = listLength(_i_ntys);
_ret_6 = listLength(_i_expExpLst);
_ret_7 = _ret_5 - _ret_6;
_ret_8 = modelica_integer_max((modelica_integer)(((modelica_integer) 0)),(modelica_integer)(_ret_7));
_ret_9 = omc_List_fill(threadData, _OMC_LIT531, _ret_8);
_l_lhsCrefs2 = omc_CodegenCFunctions_lm__500(threadData, _l_lhsCrefs2, _ret_9);
_l_call = omc_CodegenCFunctions_daeExpCallTuple(threadData, _OMC_LIT20, _i_exp, _l_lhsCrefs2, _a_context, _l_preExp, _a_varDecls, _a_auxFunction ,&_l_lhsCrefs2 ,&_l_preExp ,&_a_varDecls ,&_a_auxFunction);
_l_callassign = omc_CodegenCFunctions_algStmtAssignWithRhsExpStr(threadData, _OMC_LIT20, _i_firstexp, _l_call, _a_context, _l_preExp, _l_postExp, _a_varDecls, _a_auxFunction ,&_l_call ,&_l_preExp ,&_l_postExp ,&_a_varDecls ,&_a_auxFunction);
_txt = omc_Tpl_writeText(threadData, _txt, _l_preExp);
_txt = omc_Tpl_softNewLine(threadData, _txt);
_txt = omc_Tpl_writeText(threadData, _txt, _l_callassign);
_txt = omc_Tpl_softNewLine(threadData, _txt);
_txt = omc_Tpl_writeText(threadData, _txt, _l_postExp);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_varDecls;
tmpMeta[0+2] = _a_auxFunction;
goto tmp3_done;
}
case 2: {
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,1,4) == 0) goto tmp3_end;
tmpMeta[3] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 3));
tmpMeta[4] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 4));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[4],33,6) == 0) goto tmp3_end;
_i_expExpLst = tmpMeta[3];
_i_exp = tmpMeta[4];
_txt = tmp4_1;
_a_context = tmp4_3;
_a_varDecls = tmp4_4;
_a_auxFunction = tmp4_5;
_l_preExp = _OMC_LIT20;
_l_prefix = omc_Tpl_writeTok(threadData, _OMC_LIT20, _OMC_LIT138);
_ret_13 = omc_System_tmpTick(threadData);
_l_prefix = omc_Tpl_writeStr(threadData, _l_prefix, intString(_ret_13));
_ret_15 = listLength(_i_expExpLst);
_ret_16 = omc_System_tmpTickIndexReserve(threadData, ((modelica_integer) 1), _ret_15);
_l_startIndexOutputs = omc_Tpl_writeStr(threadData, _OMC_LIT20, intString(_ret_16));
omc_CodegenCFunctions_daeExpMatch2(threadData, _OMC_LIT20, _i_exp, _i_expExpLst, _l_prefix, _l_startIndexOutputs, _a_context, _l_preExp, _a_varDecls, _a_auxFunction ,&_l_prefix ,&_l_startIndexOutputs ,&_l_preExp ,&_a_varDecls ,&_a_auxFunction);
_l_lhsCrefs = omc_Tpl_pushIter(threadData, _OMC_LIT20, _OMC_LIT1960);
_l_lhsCrefs = omc_CodegenCFunctions_lm__501(threadData, _l_lhsCrefs, _i_expExpLst, _a_auxFunction, _a_varDecls, _l_preExp, _a_context, _l_startIndexOutputs, _l_prefix, _i_expExpLst ,&_a_auxFunction ,&_a_varDecls ,&_l_preExp);
_l_lhsCrefs = omc_Tpl_popIter(threadData, _l_lhsCrefs);
_txt = omc_Tpl_pushIter(threadData, _txt, _OMC_LIT1961);
_txt = omc_CodegenCFunctions_lm__502(threadData, _txt, _i_expExpLst, _a_varDecls, _l_startIndexOutputs, _l_prefix ,&_a_varDecls);
_txt = omc_Tpl_popIter(threadData, _txt);
_txt = omc_Tpl_softNewLine(threadData, _txt);
_txt = omc_Tpl_writeText(threadData, _txt, _l_preExp);
_txt = omc_Tpl_softNewLine(threadData, _txt);
_txt = omc_Tpl_writeText(threadData, _txt, _l_lhsCrefs);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_varDecls;
tmpMeta[0+2] = _a_auxFunction;
goto tmp3_done;
}
case 3: {
_txt = tmp4_1;
_a_varDecls = tmp4_4;
_a_auxFunction = tmp4_5;
_txt = omc_CodegenUtil_error(threadData, _txt, omc_Tpl_sourceInfo(threadData, _OMC_LIT27, ((modelica_integer) 3100), ((modelica_integer) 14)), _OMC_LIT1962);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_varDecls;
tmpMeta[0+2] = _a_auxFunction;
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta[0+0];
_out_a_varDecls = tmpMeta[0+1];
_out_a_auxFunction = tmpMeta[0+2];
_return: OMC_LABEL_UNUSED
if (out_out_a_varDecls) { *out_out_a_varDecls = _out_a_varDecls; }
if (out_out_a_auxFunction) { *out_out_a_auxFunction = _out_a_auxFunction; }
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_lm__502(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_items, modelica_metatype _in_a_varDecls, modelica_metatype _in_a_startIndexOutputs, modelica_metatype _in_a_prefix, modelica_metatype *out_out_a_varDecls)
{
modelica_metatype _out_txt = NULL;
modelica_metatype _out_a_varDecls = NULL;
modelica_metatype tmpMeta[4] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_metatype tmp4_2;modelica_metatype tmp4_3;modelica_metatype tmp4_4;modelica_metatype tmp4_5;
tmp4_1 = _in_txt;
tmp4_2 = _in_items;
tmp4_3 = _in_a_varDecls;
tmp4_4 = _in_a_startIndexOutputs;
tmp4_5 = _in_a_prefix;
{
modelica_metatype _txt = NULL;
modelica_metatype _rest = NULL;
modelica_metatype _a_varDecls = NULL;
modelica_metatype _a_startIndexOutputs = NULL;
modelica_metatype _a_prefix = NULL;
modelica_integer _x_i0;
modelica_metatype _i_crefexp = NULL;
modelica_metatype _l_typ = NULL;
volatile mmc_switch_type tmp4;
int tmp5;
tmp4 = 0;
for (; tmp4 < 2; tmp4++) {
switch (MMC_SWITCH_CAST(tmp4)) {
case 0: {
if (!listEmpty(tmp4_2)) goto tmp3_end;
_txt = tmp4_1;
_a_varDecls = tmp4_3;
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_varDecls;
goto tmp3_done;
}
case 1: {
if (listEmpty(tmp4_2)) goto tmp3_end;
tmpMeta[2] = MMC_CAR(tmp4_2);
tmpMeta[3] = MMC_CDR(tmp4_2);
_i_crefexp = tmpMeta[2];
_rest = tmpMeta[3];
_txt = tmp4_1;
_a_varDecls = tmp4_3;
_a_startIndexOutputs = tmp4_4;
_a_prefix = tmp4_5;
_x_i0 = omc_Tpl_getIteri__i0(threadData, _txt);
_l_typ = omc_CodegenCFunctions_expTypeFromExpModelica(threadData, _OMC_LIT20, _i_crefexp);
omc_CodegenCFunctions_tempDeclMatchOutput(threadData, _OMC_LIT20, omc_Tpl_textString(threadData, _l_typ), omc_Tpl_textString(threadData, _a_prefix), omc_Tpl_textString(threadData, _a_startIndexOutputs), intString(_x_i0), _a_varDecls ,&_a_varDecls);
_txt = omc_Tpl_nextIter(threadData, _txt);
_in_txt = _txt;
_in_items = _rest;
_in_a_varDecls = _a_varDecls;
_in_a_startIndexOutputs = _a_startIndexOutputs;
_in_a_prefix = _a_prefix;
goto _tailrecursive;
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta[0+0];
_out_a_varDecls = tmpMeta[0+1];
_return: OMC_LABEL_UNUSED
if (out_out_a_varDecls) { *out_out_a_varDecls = _out_a_varDecls; }
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_lm__501(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_items, modelica_metatype _in_a_auxFunction, modelica_metatype _in_a_varDecls, modelica_metatype _in_a_preExp, modelica_metatype _in_a_context, modelica_metatype _in_a_startIndexOutputs, modelica_metatype _in_a_prefix, modelica_metatype _in_a_expExpLst, modelica_metatype *out_out_a_auxFunction, modelica_metatype *out_out_a_varDecls, modelica_metatype *out_out_a_preExp)
{
modelica_metatype _out_txt = NULL;
modelica_metatype _out_a_auxFunction = NULL;
modelica_metatype _out_a_varDecls = NULL;
modelica_metatype _out_a_preExp = NULL;
modelica_metatype tmpMeta[7] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_metatype tmp4_2;modelica_metatype tmp4_3;modelica_metatype tmp4_4;modelica_metatype tmp4_5;modelica_metatype tmp4_6;modelica_metatype tmp4_7;modelica_metatype tmp4_8;modelica_metatype tmp4_9;
tmp4_1 = _in_txt;
tmp4_2 = _in_items;
tmp4_3 = _in_a_auxFunction;
tmp4_4 = _in_a_varDecls;
tmp4_5 = _in_a_preExp;
tmp4_6 = _in_a_context;
tmp4_7 = _in_a_startIndexOutputs;
tmp4_8 = _in_a_prefix;
tmp4_9 = _in_a_expExpLst;
{
modelica_metatype _txt = NULL;
modelica_metatype _rest = NULL;
modelica_metatype _a_auxFunction = NULL;
modelica_metatype _a_varDecls = NULL;
modelica_metatype _a_preExp = NULL;
modelica_metatype _a_context = NULL;
modelica_metatype _a_startIndexOutputs = NULL;
modelica_metatype _a_prefix = NULL;
modelica_metatype _a_expExpLst = NULL;
modelica_integer _x_i0;
modelica_metatype _i_cr = NULL;
modelica_metatype _l_lhsStr = NULL;
modelica_metatype _l_rhsStr = NULL;
volatile mmc_switch_type tmp4;
int tmp5;
tmp4 = 0;
for (; tmp4 < 3; tmp4++) {
switch (MMC_SWITCH_CAST(tmp4)) {
case 0: {
if (!listEmpty(tmp4_2)) goto tmp3_end;
_txt = tmp4_1;
_a_auxFunction = tmp4_3;
_a_varDecls = tmp4_4;
_a_preExp = tmp4_5;
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_auxFunction;
tmpMeta[0+2] = _a_varDecls;
tmpMeta[0+3] = _a_preExp;
goto tmp3_done;
}
case 1: {
if (listEmpty(tmp4_2)) goto tmp3_end;
tmpMeta[4] = MMC_CAR(tmp4_2);
tmpMeta[5] = MMC_CDR(tmp4_2);
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[4],6,2) == 0) goto tmp3_end;
tmpMeta[6] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[4]), 2));
_i_cr = tmpMeta[6];
_rest = tmpMeta[5];
_txt = tmp4_1;
_a_auxFunction = tmp4_3;
_a_varDecls = tmp4_4;
_a_preExp = tmp4_5;
_a_context = tmp4_6;
_a_startIndexOutputs = tmp4_7;
_a_prefix = tmp4_8;
_a_expExpLst = tmp4_9;
_x_i0 = omc_Tpl_getIteri__i0(threadData, _txt);
_l_rhsStr = omc_CodegenCFunctions_getTempDeclMatchOutputName(threadData, _OMC_LIT20, _a_expExpLst, omc_Tpl_textString(threadData, _a_prefix), omc_Tpl_textString(threadData, _a_startIndexOutputs), _x_i0);
_l_lhsStr = omc_CodegenCFunctions_contextCref(threadData, _OMC_LIT20, _i_cr, _a_context, _a_preExp, _a_varDecls, _a_auxFunction ,&_a_preExp ,&_a_varDecls ,&_a_auxFunction);
_txt = omc_Tpl_writeText(threadData, _txt, _l_lhsStr);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT121);
_txt = omc_Tpl_writeText(threadData, _txt, _l_rhsStr);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT105);
_txt = omc_Tpl_nextIter(threadData, _txt);
_in_txt = _txt;
_in_items = _rest;
_in_a_auxFunction = _a_auxFunction;
_in_a_varDecls = _a_varDecls;
_in_a_preExp = _a_preExp;
_in_a_context = _a_context;
_in_a_startIndexOutputs = _a_startIndexOutputs;
_in_a_prefix = _a_prefix;
_in_a_expExpLst = _a_expExpLst;
goto _tailrecursive;
goto tmp3_done;
}
case 2: {
if (listEmpty(tmp4_2)) goto tmp3_end;
tmpMeta[4] = MMC_CAR(tmp4_2);
tmpMeta[5] = MMC_CDR(tmp4_2);
_rest = tmpMeta[5];
_txt = tmp4_1;
_a_auxFunction = tmp4_3;
_a_varDecls = tmp4_4;
_a_preExp = tmp4_5;
_a_context = tmp4_6;
_a_startIndexOutputs = tmp4_7;
_a_prefix = tmp4_8;
_a_expExpLst = tmp4_9;
_in_txt = _txt;
_in_items = _rest;
_in_a_auxFunction = _a_auxFunction;
_in_a_varDecls = _a_varDecls;
_in_a_preExp = _a_preExp;
_in_a_context = _a_context;
_in_a_startIndexOutputs = _a_startIndexOutputs;
_in_a_prefix = _a_prefix;
_in_a_expExpLst = _a_expExpLst;
goto _tailrecursive;
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta[0+0];
_out_a_auxFunction = tmpMeta[0+1];
_out_a_varDecls = tmpMeta[0+2];
_out_a_preExp = tmpMeta[0+3];
_return: OMC_LABEL_UNUSED
if (out_out_a_auxFunction) { *out_out_a_auxFunction = _out_a_auxFunction; }
if (out_out_a_varDecls) { *out_out_a_varDecls = _out_a_varDecls; }
if (out_out_a_preExp) { *out_out_a_preExp = _out_a_preExp; }
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_lm__500(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_items)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta[3] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp3_1;modelica_metatype tmp3_2;
tmp3_1 = _in_txt;
tmp3_2 = _in_items;
{
modelica_metatype _txt = NULL;
modelica_metatype _rest = NULL;
modelica_string _i_it = NULL;
volatile mmc_switch_type tmp3;
int tmp4;
tmp3 = 0;
for (; tmp3 < 2; tmp3++) {
switch (MMC_SWITCH_CAST(tmp3)) {
case 0: {
if (!listEmpty(tmp3_2)) goto tmp2_end;
_txt = tmp3_1;
tmpMeta[0] = _txt;
goto tmp2_done;
}
case 1: {
if (listEmpty(tmp3_2)) goto tmp2_end;
tmpMeta[1] = MMC_CAR(tmp3_2);
tmpMeta[2] = MMC_CDR(tmp3_2);
_i_it = tmpMeta[1];
_rest = tmpMeta[2];
_txt = tmp3_1;
_txt = omc_Tpl_writeStr(threadData, _txt, _i_it);
_in_txt = _txt;
_in_items = _rest;
goto _tailrecursive;
goto tmp2_done;
}
}
goto tmp2_end;
tmp2_end: ;
}
goto goto_1;
goto_1:;
MMC_THROW_INTERNAL();
goto tmp2_done;
tmp2_done:;
}
}
_out_txt = tmpMeta[0];
_return: OMC_LABEL_UNUSED
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_lm__499(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_items, modelica_metatype _in_a_auxFunction, modelica_metatype _in_a_postExp, modelica_metatype _in_a_preExp, modelica_metatype _in_a_varDecls, modelica_metatype _in_a_context, modelica_metatype *out_out_a_auxFunction, modelica_metatype *out_out_a_postExp, modelica_metatype *out_out_a_preExp, modelica_metatype *out_out_a_varDecls)
{
modelica_metatype _out_txt = NULL;
modelica_metatype _out_a_auxFunction = NULL;
modelica_metatype _out_a_postExp = NULL;
modelica_metatype _out_a_preExp = NULL;
modelica_metatype _out_a_varDecls = NULL;
modelica_metatype tmpMeta[7] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_metatype tmp4_2;modelica_metatype tmp4_3;modelica_metatype tmp4_4;modelica_metatype tmp4_5;modelica_metatype tmp4_6;modelica_metatype tmp4_7;
tmp4_1 = _in_txt;
tmp4_2 = _in_items;
tmp4_3 = _in_a_auxFunction;
tmp4_4 = _in_a_postExp;
tmp4_5 = _in_a_preExp;
tmp4_6 = _in_a_varDecls;
tmp4_7 = _in_a_context;
{
modelica_metatype _txt = NULL;
modelica_metatype _rest = NULL;
modelica_metatype _a_auxFunction = NULL;
modelica_metatype _a_postExp = NULL;
modelica_metatype _a_preExp = NULL;
modelica_metatype _a_varDecls = NULL;
modelica_metatype _a_context = NULL;
modelica_metatype _i_e = NULL;
volatile mmc_switch_type tmp4;
int tmp5;
tmp4 = 0;
for (; tmp4 < 2; tmp4++) {
switch (MMC_SWITCH_CAST(tmp4)) {
case 0: {
if (!listEmpty(tmp4_2)) goto tmp3_end;
_txt = tmp4_1;
_a_auxFunction = tmp4_3;
_a_postExp = tmp4_4;
_a_preExp = tmp4_5;
_a_varDecls = tmp4_6;
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_auxFunction;
tmpMeta[0+2] = _a_postExp;
tmpMeta[0+3] = _a_preExp;
tmpMeta[0+4] = _a_varDecls;
goto tmp3_done;
}
case 1: {
if (listEmpty(tmp4_2)) goto tmp3_end;
tmpMeta[5] = MMC_CAR(tmp4_2);
tmpMeta[6] = MMC_CDR(tmp4_2);
_i_e = tmpMeta[5];
_rest = tmpMeta[6];
_txt = tmp4_1;
_a_auxFunction = tmp4_3;
_a_postExp = tmp4_4;
_a_preExp = tmp4_5;
_a_varDecls = tmp4_6;
_a_context = tmp4_7;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1964);
_txt = omc_CodegenCFunctions_tupleReturnVariableUpdates(threadData, _txt, _i_e, _a_context, _a_varDecls, _a_preExp, _a_postExp, _a_auxFunction ,&_a_varDecls ,&_a_preExp ,&_a_postExp ,&_a_auxFunction);
_in_txt = _txt;
_in_items = _rest;
_in_a_auxFunction = _a_auxFunction;
_in_a_postExp = _a_postExp;
_in_a_preExp = _a_preExp;
_in_a_varDecls = _a_varDecls;
_in_a_context = _a_context;
goto _tailrecursive;
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta[0+0];
_out_a_auxFunction = tmpMeta[0+1];
_out_a_postExp = tmpMeta[0+2];
_out_a_preExp = tmpMeta[0+3];
_out_a_varDecls = tmpMeta[0+4];
_return: OMC_LABEL_UNUSED
if (out_out_a_auxFunction) { *out_out_a_auxFunction = _out_a_auxFunction; }
if (out_out_a_postExp) { *out_out_a_postExp = _out_a_postExp; }
if (out_out_a_preExp) { *out_out_a_preExp = _out_a_preExp; }
if (out_out_a_varDecls) { *out_out_a_varDecls = _out_a_varDecls; }
return _out_txt;
}
DLLExport
modelica_metatype omc_CodegenCFunctions_indexedAssign(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_lhs, modelica_string _in_a_exp, modelica_metatype _in_a_context, modelica_metatype _in_a_preExp, modelica_metatype _in_a_varDecls, modelica_metatype _in_a_auxFunction, modelica_metatype *out_out_a_preExp, modelica_metatype *out_out_a_varDecls, modelica_metatype *out_out_a_auxFunction)
{
modelica_metatype _out_txt = NULL;
modelica_metatype _out_a_preExp = NULL;
modelica_metatype _out_a_varDecls = NULL;
modelica_metatype _out_a_auxFunction = NULL;
modelica_metatype tmpMeta[7] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_metatype tmp4_2;modelica_string tmp4_3;modelica_metatype tmp4_4;modelica_metatype tmp4_5;modelica_metatype tmp4_6;modelica_metatype tmp4_7;
tmp4_1 = _in_txt;
tmp4_2 = _in_a_lhs;
tmp4_3 = _in_a_exp;
tmp4_4 = _in_a_context;
tmp4_5 = _in_a_preExp;
tmp4_6 = _in_a_varDecls;
tmp4_7 = _in_a_auxFunction;
{
modelica_metatype _txt = NULL;
modelica_string _a_exp = NULL;
modelica_metatype _a_context = NULL;
modelica_metatype _a_preExp = NULL;
modelica_metatype _a_varDecls = NULL;
modelica_metatype _a_auxFunction = NULL;
modelica_metatype _i_aty = NULL;
modelica_metatype _i_cr = NULL;
modelica_metatype _i_ty = NULL;
modelica_metatype _ret_2 = NULL;
modelica_metatype _l_ispec = NULL;
modelica_metatype _l_arrayType = NULL;
volatile mmc_switch_type tmp4;
int tmp5;
tmp4 = 0;
for (; tmp4 < 2; tmp4++) {
switch (MMC_SWITCH_CAST(tmp4)) {
case 0: {
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,6,2) == 0) goto tmp3_end;
tmpMeta[4] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
tmpMeta[5] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 3));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[5],6,2) == 0) goto tmp3_end;
tmpMeta[6] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[5]), 2));
_i_cr = tmpMeta[4];
_i_ty = tmpMeta[5];
_i_aty = tmpMeta[6];
_txt = tmp4_1;
_a_exp = tmp4_3;
_a_context = tmp4_4;
_a_preExp = tmp4_5;
_a_varDecls = tmp4_6;
_a_auxFunction = tmp4_7;
_l_arrayType = omc_CodegenCFunctions_expTypeArray(threadData, _OMC_LIT20, _i_ty);
_ret_2 = omc_ComponentReference_crefSubs(threadData, _i_cr);
_l_ispec = omc_CodegenCFunctions_daeExpCrefIndexSpec(threadData, _OMC_LIT20, _ret_2, _a_context, _a_preExp, _a_varDecls, _a_auxFunction ,&_a_preExp ,&_a_varDecls ,&_a_auxFunction);
_txt = omc_CodegenCFunctions_fun__497(threadData, _txt, _a_context, _a_auxFunction, _a_preExp, _a_varDecls, _i_aty, _l_ispec, _a_exp, _l_arrayType, _i_cr ,&_a_auxFunction ,&_a_preExp ,&_a_varDecls);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_preExp;
tmpMeta[0+2] = _a_varDecls;
tmpMeta[0+3] = _a_auxFunction;
goto tmp3_done;
}
case 1: {
_txt = tmp4_1;
_a_preExp = tmp4_5;
_a_varDecls = tmp4_6;
_a_auxFunction = tmp4_7;
_txt = omc_CodegenUtil_error(threadData, _txt, omc_Tpl_sourceInfo(threadData, _OMC_LIT27, ((modelica_integer) 3052), ((modelica_integer) 11)), _OMC_LIT1965);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_preExp;
tmpMeta[0+2] = _a_varDecls;
tmpMeta[0+3] = _a_auxFunction;
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta[0+0];
_out_a_preExp = tmpMeta[0+1];
_out_a_varDecls = tmpMeta[0+2];
_out_a_auxFunction = tmpMeta[0+3];
_return: OMC_LABEL_UNUSED
if (out_out_a_preExp) { *out_out_a_preExp = _out_a_preExp; }
if (out_out_a_varDecls) { *out_out_a_varDecls = _out_a_varDecls; }
if (out_out_a_auxFunction) { *out_out_a_auxFunction = _out_a_auxFunction; }
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__497(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_context, modelica_metatype _in_a_auxFunction, modelica_metatype _in_a_preExp, modelica_metatype _in_a_varDecls, modelica_metatype _in_a_aty, modelica_metatype _in_a_ispec, modelica_string _in_a_exp, modelica_metatype _in_a_arrayType, modelica_metatype _in_a_cr, modelica_metatype *out_out_a_auxFunction, modelica_metatype *out_out_a_preExp, modelica_metatype *out_out_a_varDecls)
{
modelica_metatype _out_txt = NULL;
modelica_metatype _out_a_auxFunction = NULL;
modelica_metatype _out_a_preExp = NULL;
modelica_metatype _out_a_varDecls = NULL;
modelica_metatype tmpMeta[4] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_metatype tmp4_2;modelica_metatype tmp4_3;modelica_metatype tmp4_4;modelica_metatype tmp4_5;modelica_metatype tmp4_6;modelica_metatype tmp4_7;modelica_string tmp4_8;modelica_metatype tmp4_9;modelica_metatype tmp4_10;
tmp4_1 = _in_txt;
tmp4_2 = _in_a_context;
tmp4_3 = _in_a_auxFunction;
tmp4_4 = _in_a_preExp;
tmp4_5 = _in_a_varDecls;
tmp4_6 = _in_a_aty;
tmp4_7 = _in_a_ispec;
tmp4_8 = _in_a_exp;
tmp4_9 = _in_a_arrayType;
tmp4_10 = _in_a_cr;
{
modelica_metatype _txt = NULL;
modelica_metatype _a_auxFunction = NULL;
modelica_metatype _a_preExp = NULL;
modelica_metatype _a_varDecls = NULL;
modelica_metatype _a_aty = NULL;
modelica_metatype _a_ispec = NULL;
modelica_string _a_exp = NULL;
modelica_metatype _a_arrayType = NULL;
modelica_metatype _a_cr = NULL;
modelica_metatype _i_context = NULL;
modelica_metatype _ret_9 = NULL;
modelica_metatype _l_arrName = NULL;
modelica_metatype _ret_7 = NULL;
modelica_metatype _l_dimsValuesStr = NULL;
modelica_integer _ret_5;
modelica_metatype _ret_4 = NULL;
modelica_metatype _l_dimsLenStr = NULL;
modelica_metatype _l_wrapperArray = NULL;
modelica_metatype _l_type = NULL;
modelica_metatype _l_cref = NULL;
volatile mmc_switch_type tmp4;
int tmp5;
tmp4 = 0;
for (; tmp4 < 2; tmp4++) {
switch (MMC_SWITCH_CAST(tmp4)) {
case 0: {
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,1,2) == 0) goto tmp3_end;
_i_context = tmp4_2;
_txt = tmp4_1;
_a_auxFunction = tmp4_3;
_a_preExp = tmp4_4;
_a_varDecls = tmp4_5;
_a_ispec = tmp4_7;
_a_exp = tmp4_8;
_a_arrayType = tmp4_9;
_a_cr = tmp4_10;
_l_cref = omc_CodegenCFunctions_contextArrayCref(threadData, _OMC_LIT20, _a_cr, _i_context);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1966);
_txt = omc_Tpl_writeText(threadData, _txt, _a_arrayType);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT68);
_txt = omc_Tpl_writeStr(threadData, _txt, _a_exp);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT123);
_txt = omc_Tpl_writeText(threadData, _txt, _l_cref);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT123);
_txt = omc_Tpl_writeText(threadData, _txt, _a_ispec);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT290);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_auxFunction;
tmpMeta[0+2] = _a_preExp;
tmpMeta[0+3] = _a_varDecls;
goto tmp3_done;
}
case 1: {
_txt = tmp4_1;
_i_context = tmp4_2;
_a_auxFunction = tmp4_3;
_a_preExp = tmp4_4;
_a_varDecls = tmp4_5;
_a_aty = tmp4_6;
_a_ispec = tmp4_7;
_a_exp = tmp4_8;
_a_arrayType = tmp4_9;
_a_cr = tmp4_10;
_l_type = omc_CodegenCFunctions_expTypeShort(threadData, _OMC_LIT20, _a_aty);
_l_wrapperArray = omc_CodegenCFunctions_tempDecl(threadData, _OMC_LIT20, omc_Tpl_textString(threadData, _a_arrayType), _a_varDecls ,&_a_varDecls);
_ret_4 = omc_ComponentReference_crefDims(threadData, _a_cr);
_ret_5 = listLength(_ret_4);
_l_dimsLenStr = omc_Tpl_writeStr(threadData, _OMC_LIT20, intString(_ret_5));
_ret_7 = omc_ComponentReference_crefDims(threadData, _a_cr);
_l_dimsValuesStr = omc_Tpl_pushIter(threadData, _OMC_LIT20, _OMC_LIT294);
_l_dimsValuesStr = omc_CodegenCFunctions_lm__496(threadData, _l_dimsValuesStr, _ret_7, _a_auxFunction, _a_varDecls, _a_preExp, _i_context ,&_a_auxFunction ,&_a_varDecls ,&_a_preExp);
_l_dimsValuesStr = omc_Tpl_popIter(threadData, _l_dimsValuesStr);
_ret_9 = omc_ComponentReference_crefStripSubs(threadData, _a_cr);
_l_arrName = omc_CodegenCFunctions_contextCref(threadData, _OMC_LIT20, _ret_9, _i_context, _a_preExp, _a_varDecls, _a_auxFunction ,&_a_preExp ,&_a_varDecls ,&_a_auxFunction);
_txt = omc_Tpl_writeText(threadData, _txt, _l_type);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1267);
_txt = omc_Tpl_writeText(threadData, _txt, _l_wrapperArray);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1295);
_txt = omc_Tpl_writeText(threadData, _txt, _l_type);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1297);
_txt = omc_Tpl_writeText(threadData, _txt, _l_arrName);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT292);
_txt = omc_Tpl_writeText(threadData, _txt, _l_dimsLenStr);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT292);
_txt = omc_Tpl_writeText(threadData, _txt, _l_dimsValuesStr);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT290);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1968);
_txt = omc_Tpl_writeText(threadData, _txt, _a_arrayType);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT68);
_txt = omc_Tpl_writeStr(threadData, _txt, _a_exp);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT123);
_txt = omc_Tpl_writeText(threadData, _txt, _l_wrapperArray);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT123);
_txt = omc_Tpl_writeText(threadData, _txt, _a_ispec);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT290);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_auxFunction;
tmpMeta[0+2] = _a_preExp;
tmpMeta[0+3] = _a_varDecls;
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta[0+0];
_out_a_auxFunction = tmpMeta[0+1];
_out_a_preExp = tmpMeta[0+2];
_out_a_varDecls = tmpMeta[0+3];
_return: OMC_LABEL_UNUSED
if (out_out_a_auxFunction) { *out_out_a_auxFunction = _out_a_auxFunction; }
if (out_out_a_preExp) { *out_out_a_preExp = _out_a_preExp; }
if (out_out_a_varDecls) { *out_out_a_varDecls = _out_a_varDecls; }
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_lm__496(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_items, modelica_metatype _in_a_auxFunction, modelica_metatype _in_a_varDecls, modelica_metatype _in_a_preExp, modelica_metatype _in_a_context, modelica_metatype *out_out_a_auxFunction, modelica_metatype *out_out_a_varDecls, modelica_metatype *out_out_a_preExp)
{
modelica_metatype _out_txt = NULL;
modelica_metatype _out_a_auxFunction = NULL;
modelica_metatype _out_a_varDecls = NULL;
modelica_metatype _out_a_preExp = NULL;
modelica_metatype tmpMeta[6] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_metatype tmp4_2;modelica_metatype tmp4_3;modelica_metatype tmp4_4;modelica_metatype tmp4_5;modelica_metatype tmp4_6;
tmp4_1 = _in_txt;
tmp4_2 = _in_items;
tmp4_3 = _in_a_auxFunction;
tmp4_4 = _in_a_varDecls;
tmp4_5 = _in_a_preExp;
tmp4_6 = _in_a_context;
{
modelica_metatype _txt = NULL;
modelica_metatype _rest = NULL;
modelica_metatype _a_auxFunction = NULL;
modelica_metatype _a_varDecls = NULL;
modelica_metatype _a_preExp = NULL;
modelica_metatype _a_context = NULL;
modelica_metatype _i_dim = NULL;
volatile mmc_switch_type tmp4;
int tmp5;
tmp4 = 0;
for (; tmp4 < 2; tmp4++) {
switch (MMC_SWITCH_CAST(tmp4)) {
case 0: {
if (!listEmpty(tmp4_2)) goto tmp3_end;
_txt = tmp4_1;
_a_auxFunction = tmp4_3;
_a_varDecls = tmp4_4;
_a_preExp = tmp4_5;
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_auxFunction;
tmpMeta[0+2] = _a_varDecls;
tmpMeta[0+3] = _a_preExp;
goto tmp3_done;
}
case 1: {
if (listEmpty(tmp4_2)) goto tmp3_end;
tmpMeta[4] = MMC_CAR(tmp4_2);
tmpMeta[5] = MMC_CDR(tmp4_2);
_i_dim = tmpMeta[4];
_rest = tmpMeta[5];
_txt = tmp4_1;
_a_auxFunction = tmp4_3;
_a_varDecls = tmp4_4;
_a_preExp = tmp4_5;
_a_context = tmp4_6;
_txt = omc_CodegenCFunctions_dimension(threadData, _txt, _i_dim, _a_context, _a_preExp, _a_varDecls, _a_auxFunction ,&_a_preExp ,&_a_varDecls ,&_a_auxFunction);
_txt = omc_Tpl_nextIter(threadData, _txt);
_in_txt = _txt;
_in_items = _rest;
_in_a_auxFunction = _a_auxFunction;
_in_a_varDecls = _a_varDecls;
_in_a_preExp = _a_preExp;
_in_a_context = _a_context;
goto _tailrecursive;
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta[0+0];
_out_a_auxFunction = tmpMeta[0+1];
_out_a_varDecls = tmpMeta[0+2];
_out_a_preExp = tmpMeta[0+3];
_return: OMC_LABEL_UNUSED
if (out_out_a_auxFunction) { *out_out_a_auxFunction = _out_a_auxFunction; }
if (out_out_a_varDecls) { *out_out_a_varDecls = _out_a_varDecls; }
if (out_out_a_preExp) { *out_out_a_preExp = _out_a_preExp; }
return _out_txt;
}
DLLExport
modelica_metatype omc_CodegenCFunctions_fillArrayFromRange(threadData_t *threadData, modelica_metatype _txt, modelica_metatype _a_ty, modelica_metatype _a_exp, modelica_metatype _a_cr, modelica_metatype _a_context, modelica_metatype _a_varDecls, modelica_metatype _a_auxFunction, modelica_metatype *out_out_a_varDecls, modelica_metatype *out_out_a_auxFunction)
{
modelica_metatype _out_txt = NULL;
modelica_metatype _out_a_varDecls = NULL;
modelica_metatype _out_a_auxFunction = NULL;
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
_out_txt = omc_CodegenCFunctions_fun__494(threadData, _txt, _a_exp, _a_cr, _a_context, _a_varDecls, _a_auxFunction ,&_out_a_varDecls ,&_out_a_auxFunction);
_return: OMC_LABEL_UNUSED
if (out_out_a_varDecls) { *out_out_a_varDecls = _out_a_varDecls; }
if (out_out_a_auxFunction) { *out_out_a_auxFunction = _out_a_auxFunction; }
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__494(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_exp, modelica_metatype _in_a_cr, modelica_metatype _in_a_context, modelica_metatype _in_a_varDecls, modelica_metatype _in_a_auxFunction, modelica_metatype *out_out_a_varDecls, modelica_metatype *out_out_a_auxFunction)
{
modelica_metatype _out_txt = NULL;
modelica_metatype _out_a_varDecls = NULL;
modelica_metatype _out_a_auxFunction = NULL;
modelica_metatype tmpMeta[7] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_metatype tmp4_2;modelica_metatype tmp4_3;modelica_metatype tmp4_4;modelica_metatype tmp4_5;modelica_metatype tmp4_6;
tmp4_1 = _in_txt;
tmp4_2 = _in_a_exp;
tmp4_3 = _in_a_cr;
tmp4_4 = _in_a_context;
tmp4_5 = _in_a_varDecls;
tmp4_6 = _in_a_auxFunction;
{
modelica_metatype _txt = NULL;
modelica_metatype _a_cr = NULL;
modelica_metatype _a_context = NULL;
modelica_metatype _a_varDecls = NULL;
modelica_metatype _a_auxFunction = NULL;
modelica_metatype _i_step = NULL;
modelica_metatype _i_stop = NULL;
modelica_metatype _i_start = NULL;
modelica_metatype _i_ty = NULL;
modelica_metatype _l_step__exp = NULL;
modelica_metatype _l_stop__exp = NULL;
modelica_metatype _l_start__exp = NULL;
modelica_metatype _l_ty__str = NULL;
modelica_metatype _l_cref = NULL;
modelica_metatype _l_preExp = NULL;
volatile mmc_switch_type tmp4;
int tmp5;
tmp4 = 0;
for (; tmp4 < 2; tmp4++) {
switch (MMC_SWITCH_CAST(tmp4)) {
case 0: {
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,18,4) == 0) goto tmp3_end;
tmpMeta[3] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
tmpMeta[4] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 3));
tmpMeta[5] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 4));
tmpMeta[6] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 5));
_i_ty = tmpMeta[3];
_i_start = tmpMeta[4];
_i_step = tmpMeta[5];
_i_stop = tmpMeta[6];
_txt = tmp4_1;
_a_cr = tmp4_3;
_a_context = tmp4_4;
_a_varDecls = tmp4_5;
_a_auxFunction = tmp4_6;
_l_preExp = _OMC_LIT20;
_l_cref = omc_CodegenCFunctions_contextArrayCref(threadData, _OMC_LIT20, _a_cr, _a_context);
_l_ty__str = omc_CodegenCFunctions_expTypeArray(threadData, _OMC_LIT20, _i_ty);
_l_start__exp = omc_CodegenCFunctions_daeExp(threadData, _OMC_LIT20, _i_start, _a_context, _l_preExp, _a_varDecls, _a_auxFunction ,&_l_preExp ,&_a_varDecls ,&_a_auxFunction);
_l_stop__exp = omc_CodegenCFunctions_daeExp(threadData, _OMC_LIT20, _i_stop, _a_context, _l_preExp, _a_varDecls, _a_auxFunction ,&_l_preExp ,&_a_varDecls ,&_a_auxFunction);
_l_step__exp = omc_CodegenCFunctions_fun__493(threadData, _OMC_LIT20, _i_step, _a_auxFunction, _a_varDecls, _l_preExp, _a_context ,&_a_auxFunction ,&_a_varDecls ,&_l_preExp);
_txt = omc_Tpl_writeText(threadData, _txt, _l_preExp);
_txt = omc_Tpl_softNewLine(threadData, _txt);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1970);
_txt = omc_Tpl_writeText(threadData, _txt, _l_ty__str);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT544);
_txt = omc_Tpl_writeText(threadData, _txt, _l_cref);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT292);
_txt = omc_Tpl_writeText(threadData, _txt, _l_start__exp);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT292);
_txt = omc_Tpl_writeText(threadData, _txt, _l_step__exp);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT292);
_txt = omc_Tpl_writeText(threadData, _txt, _l_stop__exp);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT290);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT89);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_varDecls;
tmpMeta[0+2] = _a_auxFunction;
goto tmp3_done;
}
case 1: {
_txt = tmp4_1;
_a_varDecls = tmp4_5;
_a_auxFunction = tmp4_6;
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_varDecls;
tmpMeta[0+2] = _a_auxFunction;
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta[0+0];
_out_a_varDecls = tmpMeta[0+1];
_out_a_auxFunction = tmpMeta[0+2];
_return: OMC_LABEL_UNUSED
if (out_out_a_varDecls) { *out_out_a_varDecls = _out_a_varDecls; }
if (out_out_a_auxFunction) { *out_out_a_auxFunction = _out_a_auxFunction; }
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__493(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_step, modelica_metatype _in_a_auxFunction, modelica_metatype _in_a_varDecls, modelica_metatype _in_a_preExp, modelica_metatype _in_a_context, modelica_metatype *out_out_a_auxFunction, modelica_metatype *out_out_a_varDecls, modelica_metatype *out_out_a_preExp)
{
modelica_metatype _out_txt = NULL;
modelica_metatype _out_a_auxFunction = NULL;
modelica_metatype _out_a_varDecls = NULL;
modelica_metatype _out_a_preExp = NULL;
modelica_metatype tmpMeta[5] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_metatype tmp4_2;modelica_metatype tmp4_3;modelica_metatype tmp4_4;modelica_metatype tmp4_5;modelica_metatype tmp4_6;
tmp4_1 = _in_txt;
tmp4_2 = _in_a_step;
tmp4_3 = _in_a_auxFunction;
tmp4_4 = _in_a_varDecls;
tmp4_5 = _in_a_preExp;
tmp4_6 = _in_a_context;
{
modelica_metatype _txt = NULL;
modelica_metatype _a_auxFunction = NULL;
modelica_metatype _a_varDecls = NULL;
modelica_metatype _a_preExp = NULL;
modelica_metatype _a_context = NULL;
modelica_metatype _i_stepExp = NULL;
volatile mmc_switch_type tmp4;
int tmp5;
tmp4 = 0;
for (; tmp4 < 2; tmp4++) {
switch (MMC_SWITCH_CAST(tmp4)) {
case 0: {
if (optionNone(tmp4_2)) goto tmp3_end;
tmpMeta[4] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 1));
_i_stepExp = tmpMeta[4];
_txt = tmp4_1;
_a_auxFunction = tmp4_3;
_a_varDecls = tmp4_4;
_a_preExp = tmp4_5;
_a_context = tmp4_6;
_txt = omc_CodegenCFunctions_daeExp(threadData, _txt, _i_stepExp, _a_context, _a_preExp, _a_varDecls, _a_auxFunction ,&_a_preExp ,&_a_varDecls ,&_a_auxFunction);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_auxFunction;
tmpMeta[0+2] = _a_varDecls;
tmpMeta[0+3] = _a_preExp;
goto tmp3_done;
}
case 1: {
_txt = tmp4_1;
_a_auxFunction = tmp4_3;
_a_varDecls = tmp4_4;
_a_preExp = tmp4_5;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT399);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_auxFunction;
tmpMeta[0+2] = _a_varDecls;
tmpMeta[0+3] = _a_preExp;
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta[0+0];
_out_a_auxFunction = tmpMeta[0+1];
_out_a_varDecls = tmpMeta[0+2];
_out_a_preExp = tmpMeta[0+3];
_return: OMC_LABEL_UNUSED
if (out_out_a_auxFunction) { *out_out_a_auxFunction = _out_a_auxFunction; }
if (out_out_a_varDecls) { *out_out_a_varDecls = _out_a_varDecls; }
if (out_out_a_preExp) { *out_out_a_preExp = _out_a_preExp; }
return _out_txt;
}
DLLExport
modelica_metatype omc_CodegenCFunctions_algStmtAssignArrWithRhsExpStr(threadData_t *threadData, modelica_metatype _txt, modelica_metatype _a_lhsexp, modelica_metatype _a_rhsExpStr, modelica_metatype _a_context, modelica_metatype _a_preExp, modelica_metatype _a_varDecls, modelica_metatype _a_auxFunction, modelica_metatype *out_out_a_rhsExpStr, modelica_metatype *out_out_a_preExp, modelica_metatype *out_out_a_varDecls, modelica_metatype *out_out_a_auxFunction)
{
modelica_metatype _out_txt = NULL;
modelica_metatype _out_a_rhsExpStr = NULL;
modelica_metatype _out_a_preExp = NULL;
modelica_metatype _out_a_varDecls = NULL;
modelica_metatype _out_a_auxFunction = NULL;
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
_out_txt = omc_CodegenCFunctions_fun__491(threadData, _txt, _a_lhsexp, _a_rhsExpStr, _a_context, _a_preExp, _a_varDecls, _a_auxFunction ,&_out_a_preExp ,&_out_a_varDecls ,&_out_a_auxFunction);
_out_a_rhsExpStr = _a_rhsExpStr;
_return: OMC_LABEL_UNUSED
if (out_out_a_rhsExpStr) { *out_out_a_rhsExpStr = _out_a_rhsExpStr; }
if (out_out_a_preExp) { *out_out_a_preExp = _out_a_preExp; }
if (out_out_a_varDecls) { *out_out_a_varDecls = _out_a_varDecls; }
if (out_out_a_auxFunction) { *out_out_a_auxFunction = _out_a_auxFunction; }
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__491(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_lhsexp, modelica_metatype _in_a_rhsExpStr, modelica_metatype _in_a_context, modelica_metatype _in_a_preExp, modelica_metatype _in_a_varDecls, modelica_metatype _in_a_auxFunction, modelica_metatype *out_out_a_preExp, modelica_metatype *out_out_a_varDecls, modelica_metatype *out_out_a_auxFunction)
{
modelica_metatype _out_txt = NULL;
modelica_metatype _out_a_preExp = NULL;
modelica_metatype _out_a_varDecls = NULL;
modelica_metatype _out_a_auxFunction = NULL;
modelica_metatype tmpMeta[6] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_metatype tmp4_2;modelica_metatype tmp4_3;modelica_metatype tmp4_4;modelica_metatype tmp4_5;modelica_metatype tmp4_6;modelica_metatype tmp4_7;
tmp4_1 = _in_txt;
tmp4_2 = _in_a_lhsexp;
tmp4_3 = _in_a_rhsExpStr;
tmp4_4 = _in_a_context;
tmp4_5 = _in_a_preExp;
tmp4_6 = _in_a_varDecls;
tmp4_7 = _in_a_auxFunction;
{
modelica_metatype _txt = NULL;
modelica_metatype _a_rhsExpStr = NULL;
modelica_metatype _a_context = NULL;
modelica_metatype _a_preExp = NULL;
modelica_metatype _a_varDecls = NULL;
modelica_metatype _a_auxFunction = NULL;
modelica_metatype _i_lhsexp = NULL;
modelica_metatype _i_cr = NULL;
modelica_metatype _i_ty = NULL;
modelica_boolean _ret_1;
modelica_metatype _l_type = NULL;
volatile mmc_switch_type tmp4;
int tmp5;
tmp4 = 0;
for (; tmp4 < 2; tmp4++) {
switch (MMC_SWITCH_CAST(tmp4)) {
case 0: {
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,6,2) == 0) goto tmp3_end;
tmpMeta[4] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
tmpMeta[5] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 3));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[5],6,2) == 0) goto tmp3_end;
_i_lhsexp = tmp4_2;
_i_cr = tmpMeta[4];
_i_ty = tmpMeta[5];
_txt = tmp4_1;
_a_rhsExpStr = tmp4_3;
_a_context = tmp4_4;
_a_preExp = tmp4_5;
_a_varDecls = tmp4_6;
_a_auxFunction = tmp4_7;
_l_type = omc_CodegenCFunctions_expTypeArray(threadData, _OMC_LIT20, _i_ty);
_ret_1 = omc_SimCodeFunctionUtil_crefSubIsScalar(threadData, _i_cr);
_txt = omc_CodegenCFunctions_fun__490(threadData, _txt, _ret_1, _l_type, _a_auxFunction, _a_varDecls, _a_preExp, _a_context, _a_rhsExpStr, _i_lhsexp ,&_a_auxFunction ,&_a_varDecls ,&_a_preExp);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_preExp;
tmpMeta[0+2] = _a_varDecls;
tmpMeta[0+3] = _a_auxFunction;
goto tmp3_done;
}
case 1: {
_txt = tmp4_1;
_a_preExp = tmp4_5;
_a_varDecls = tmp4_6;
_a_auxFunction = tmp4_7;
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_preExp;
tmpMeta[0+2] = _a_varDecls;
tmpMeta[0+3] = _a_auxFunction;
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta[0+0];
_out_a_preExp = tmpMeta[0+1];
_out_a_varDecls = tmpMeta[0+2];
_out_a_auxFunction = tmpMeta[0+3];
_return: OMC_LABEL_UNUSED
if (out_out_a_preExp) { *out_out_a_preExp = _out_a_preExp; }
if (out_out_a_varDecls) { *out_out_a_varDecls = _out_a_varDecls; }
if (out_out_a_auxFunction) { *out_out_a_auxFunction = _out_a_auxFunction; }
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__490(threadData_t *threadData, modelica_metatype _in_txt, modelica_boolean _in_mArg, modelica_metatype _in_a_type, modelica_metatype _in_a_auxFunction, modelica_metatype _in_a_varDecls, modelica_metatype _in_a_preExp, modelica_metatype _in_a_context, modelica_metatype _in_a_rhsExpStr, modelica_metatype _in_a_lhsexp, modelica_metatype *out_out_a_auxFunction, modelica_metatype *out_out_a_varDecls, modelica_metatype *out_out_a_preExp)
{
modelica_metatype _out_txt = NULL;
modelica_metatype _out_a_auxFunction = NULL;
modelica_metatype _out_a_varDecls = NULL;
modelica_metatype _out_a_preExp = NULL;
modelica_metatype tmpMeta[4] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_boolean tmp4_2;modelica_metatype tmp4_3;modelica_metatype tmp4_4;modelica_metatype tmp4_5;modelica_metatype tmp4_6;modelica_metatype tmp4_7;modelica_metatype tmp4_8;modelica_metatype tmp4_9;
tmp4_1 = _in_txt;
tmp4_2 = _in_mArg;
tmp4_3 = _in_a_type;
tmp4_4 = _in_a_auxFunction;
tmp4_5 = _in_a_varDecls;
tmp4_6 = _in_a_preExp;
tmp4_7 = _in_a_context;
tmp4_8 = _in_a_rhsExpStr;
tmp4_9 = _in_a_lhsexp;
{
modelica_metatype _txt = NULL;
modelica_metatype _a_type = NULL;
modelica_metatype _a_auxFunction = NULL;
modelica_metatype _a_varDecls = NULL;
modelica_metatype _a_preExp = NULL;
modelica_metatype _a_context = NULL;
modelica_metatype _a_rhsExpStr = NULL;
modelica_metatype _a_lhsexp = NULL;
modelica_metatype _l_lhsStr = NULL;
volatile mmc_switch_type tmp4;
int tmp5;
tmp4 = 0;
for (; tmp4 < 2; tmp4++) {
switch (MMC_SWITCH_CAST(tmp4)) {
case 0: {
if (0 != tmp4_2) goto tmp3_end;
_txt = tmp4_1;
_a_auxFunction = tmp4_4;
_a_varDecls = tmp4_5;
_a_preExp = tmp4_6;
_a_context = tmp4_7;
_a_rhsExpStr = tmp4_8;
_a_lhsexp = tmp4_9;
_txt = omc_CodegenCFunctions_indexedAssign(threadData, _txt, _a_lhsexp, omc_Tpl_textString(threadData, _a_rhsExpStr), _a_context, _a_preExp, _a_varDecls, _a_auxFunction ,&_a_preExp ,&_a_varDecls ,&_a_auxFunction);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_auxFunction;
tmpMeta[0+2] = _a_varDecls;
tmpMeta[0+3] = _a_preExp;
goto tmp3_done;
}
case 1: {
_txt = tmp4_1;
_a_type = tmp4_3;
_a_auxFunction = tmp4_4;
_a_varDecls = tmp4_5;
_a_preExp = tmp4_6;
_a_context = tmp4_7;
_a_rhsExpStr = tmp4_8;
_a_lhsexp = tmp4_9;
_l_lhsStr = omc_CodegenCFunctions_daeExpCrefLhs(threadData, _OMC_LIT20, _a_lhsexp, _a_context, _a_preExp, _a_varDecls, _a_auxFunction, 0 ,&_a_preExp ,&_a_varDecls ,&_a_auxFunction);
_txt = omc_Tpl_writeText(threadData, _txt, _a_type);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1972);
_txt = omc_Tpl_writeText(threadData, _txt, _a_rhsExpStr);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT292);
_txt = omc_Tpl_writeText(threadData, _txt, _l_lhsStr);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT290);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_auxFunction;
tmpMeta[0+2] = _a_varDecls;
tmpMeta[0+3] = _a_preExp;
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta[0+0];
_out_a_auxFunction = tmpMeta[0+1];
_out_a_varDecls = tmpMeta[0+2];
_out_a_preExp = tmpMeta[0+3];
_return: OMC_LABEL_UNUSED
if (out_out_a_auxFunction) { *out_out_a_auxFunction = _out_a_auxFunction; }
if (out_out_a_varDecls) { *out_out_a_varDecls = _out_a_varDecls; }
if (out_out_a_preExp) { *out_out_a_preExp = _out_a_preExp; }
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__490(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_mArg, modelica_metatype _in_a_type, modelica_metatype _in_a_auxFunction, modelica_metatype _in_a_varDecls, modelica_metatype _in_a_preExp, modelica_metatype _in_a_context, modelica_metatype _in_a_rhsExpStr, modelica_metatype _in_a_lhsexp, modelica_metatype *out_out_a_auxFunction, modelica_metatype *out_out_a_varDecls, modelica_metatype *out_out_a_preExp)
{
modelica_integer tmp1;
modelica_metatype _out_txt = NULL;
tmp1 = mmc_unbox_integer(_in_mArg);
_out_txt = omc_CodegenCFunctions_fun__490(threadData, _in_txt, tmp1, _in_a_type, _in_a_auxFunction, _in_a_varDecls, _in_a_preExp, _in_a_context, _in_a_rhsExpStr, _in_a_lhsexp, out_out_a_auxFunction, out_out_a_varDecls, out_out_a_preExp);
return _out_txt;
}
DLLExport
modelica_metatype omc_CodegenCFunctions_algStmtAssignRecordWithRhsExpStr(threadData_t *threadData, modelica_metatype _txt, modelica_metatype _a_lhsexp, modelica_metatype _a_rhsExpStr, modelica_metatype _a_context, modelica_metatype _a_preExp, modelica_metatype _a_varDecls, modelica_metatype _a_auxFunction, modelica_metatype *out_out_a_rhsExpStr, modelica_metatype *out_out_a_preExp, modelica_metatype *out_out_a_varDecls, modelica_metatype *out_out_a_auxFunction)
{
modelica_metatype _out_txt = NULL;
modelica_metatype _out_a_rhsExpStr = NULL;
modelica_metatype _out_a_preExp = NULL;
modelica_metatype _out_a_varDecls = NULL;
modelica_metatype _out_a_auxFunction = NULL;
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
_out_txt = omc_CodegenCFunctions_fun__488(threadData, _txt, _a_lhsexp, _a_rhsExpStr, _a_context, _a_preExp, _a_varDecls, _a_auxFunction ,&_out_a_preExp ,&_out_a_varDecls ,&_out_a_auxFunction);
_out_a_rhsExpStr = _a_rhsExpStr;
_return: OMC_LABEL_UNUSED
if (out_out_a_rhsExpStr) { *out_out_a_rhsExpStr = _out_a_rhsExpStr; }
if (out_out_a_preExp) { *out_out_a_preExp = _out_a_preExp; }
if (out_out_a_varDecls) { *out_out_a_varDecls = _out_a_varDecls; }
if (out_out_a_auxFunction) { *out_out_a_auxFunction = _out_a_auxFunction; }
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__488(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_lhsexp, modelica_metatype _in_a_rhsExpStr, modelica_metatype _in_a_context, modelica_metatype _in_a_preExp, modelica_metatype _in_a_varDecls, modelica_metatype _in_a_auxFunction, modelica_metatype *out_out_a_preExp, modelica_metatype *out_out_a_varDecls, modelica_metatype *out_out_a_auxFunction)
{
modelica_metatype _out_txt = NULL;
modelica_metatype _out_a_preExp = NULL;
modelica_metatype _out_a_varDecls = NULL;
modelica_metatype _out_a_auxFunction = NULL;
modelica_metatype tmpMeta[8] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_metatype tmp4_2;modelica_metatype tmp4_3;modelica_metatype tmp4_4;modelica_metatype tmp4_5;modelica_metatype tmp4_6;modelica_metatype tmp4_7;
tmp4_1 = _in_txt;
tmp4_2 = _in_a_lhsexp;
tmp4_3 = _in_a_rhsExpStr;
tmp4_4 = _in_a_context;
tmp4_5 = _in_a_preExp;
tmp4_6 = _in_a_varDecls;
tmp4_7 = _in_a_auxFunction;
{
modelica_metatype _txt = NULL;
modelica_metatype _a_rhsExpStr = NULL;
modelica_metatype _a_context = NULL;
modelica_metatype _a_preExp = NULL;
modelica_metatype _a_varDecls = NULL;
modelica_metatype _a_auxFunction = NULL;
modelica_metatype _i_cr = NULL;
modelica_metatype _i_varLst = NULL;
modelica_metatype _i_ty = NULL;
modelica_metatype _txt_1 = NULL;
modelica_metatype _l_tmp = NULL;
volatile mmc_switch_type tmp4;
int tmp5;
tmp4 = 0;
for (; tmp4 < 2; tmp4++) {
switch (MMC_SWITCH_CAST(tmp4)) {
case 0: {
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,6,2) == 0) goto tmp3_end;
tmpMeta[4] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
tmpMeta[5] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 3));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[5],9,3) == 0) goto tmp3_end;
tmpMeta[6] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[5]), 2));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[6],3,1) == 0) goto tmp3_end;
tmpMeta[7] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[5]), 3));
_i_cr = tmpMeta[4];
_i_ty = tmpMeta[5];
_i_varLst = tmpMeta[7];
_txt = tmp4_1;
_a_rhsExpStr = tmp4_3;
_a_context = tmp4_4;
_a_preExp = tmp4_5;
_a_varDecls = tmp4_6;
_a_auxFunction = tmp4_7;
_txt_1 = omc_CodegenCFunctions_expTypeModelica(threadData, _OMC_LIT20, _i_ty);
_l_tmp = omc_CodegenCFunctions_tempDecl(threadData, _OMC_LIT20, omc_Tpl_textString(threadData, _txt_1), _a_varDecls ,&_a_varDecls);
_txt = omc_Tpl_writeText(threadData, _txt, _a_preExp);
_txt = omc_Tpl_softNewLine(threadData, _txt);
_txt = omc_Tpl_writeText(threadData, _txt, _l_tmp);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT121);
_txt = omc_Tpl_writeText(threadData, _txt, _a_rhsExpStr);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT161);
_txt = omc_Tpl_pushIter(threadData, _txt, _OMC_LIT96);
_txt = omc_CodegenCFunctions_lm__487(threadData, _txt, _i_varLst, _l_tmp, _a_auxFunction, _a_varDecls, _a_preExp, _a_context, _i_cr ,&_a_auxFunction ,&_a_varDecls ,&_a_preExp);
_txt = omc_Tpl_popIter(threadData, _txt);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_preExp;
tmpMeta[0+2] = _a_varDecls;
tmpMeta[0+3] = _a_auxFunction;
goto tmp3_done;
}
case 1: {
_txt = tmp4_1;
_a_preExp = tmp4_5;
_a_varDecls = tmp4_6;
_a_auxFunction = tmp4_7;
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_preExp;
tmpMeta[0+2] = _a_varDecls;
tmpMeta[0+3] = _a_auxFunction;
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta[0+0];
_out_a_preExp = tmpMeta[0+1];
_out_a_varDecls = tmpMeta[0+2];
_out_a_auxFunction = tmpMeta[0+3];
_return: OMC_LABEL_UNUSED
if (out_out_a_preExp) { *out_out_a_preExp = _out_a_preExp; }
if (out_out_a_varDecls) { *out_out_a_varDecls = _out_a_varDecls; }
if (out_out_a_auxFunction) { *out_out_a_auxFunction = _out_a_auxFunction; }
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_lm__487(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_items, modelica_metatype _in_a_tmp, modelica_metatype _in_a_auxFunction, modelica_metatype _in_a_varDecls, modelica_metatype _in_a_preExp, modelica_metatype _in_a_context, modelica_metatype _in_a_cr, modelica_metatype *out_out_a_auxFunction, modelica_metatype *out_out_a_varDecls, modelica_metatype *out_out_a_preExp)
{
modelica_metatype _out_txt = NULL;
modelica_metatype _out_a_auxFunction = NULL;
modelica_metatype _out_a_varDecls = NULL;
modelica_metatype _out_a_preExp = NULL;
modelica_metatype tmpMeta[7] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_metatype tmp4_2;modelica_metatype tmp4_3;modelica_metatype tmp4_4;modelica_metatype tmp4_5;modelica_metatype tmp4_6;modelica_metatype tmp4_7;modelica_metatype tmp4_8;
tmp4_1 = _in_txt;
tmp4_2 = _in_items;
tmp4_3 = _in_a_tmp;
tmp4_4 = _in_a_auxFunction;
tmp4_5 = _in_a_varDecls;
tmp4_6 = _in_a_preExp;
tmp4_7 = _in_a_context;
tmp4_8 = _in_a_cr;
{
modelica_metatype _txt = NULL;
modelica_metatype _rest = NULL;
modelica_metatype _a_tmp = NULL;
modelica_metatype _a_auxFunction = NULL;
modelica_metatype _a_varDecls = NULL;
modelica_metatype _a_preExp = NULL;
modelica_metatype _a_context = NULL;
modelica_metatype _a_cr = NULL;
modelica_string _i_var_name = NULL;
modelica_metatype _ret_0 = NULL;
volatile mmc_switch_type tmp4;
int tmp5;
tmp4 = 0;
for (; tmp4 < 3; tmp4++) {
switch (MMC_SWITCH_CAST(tmp4)) {
case 0: {
if (!listEmpty(tmp4_2)) goto tmp3_end;
_txt = tmp4_1;
_a_auxFunction = tmp4_4;
_a_varDecls = tmp4_5;
_a_preExp = tmp4_6;
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_auxFunction;
tmpMeta[0+2] = _a_varDecls;
tmpMeta[0+3] = _a_preExp;
goto tmp3_done;
}
case 1: {
if (listEmpty(tmp4_2)) goto tmp3_end;
tmpMeta[4] = MMC_CAR(tmp4_2);
tmpMeta[5] = MMC_CDR(tmp4_2);
tmpMeta[6] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[4]), 2));
_i_var_name = tmpMeta[6];
_rest = tmpMeta[5];
_txt = tmp4_1;
_a_tmp = tmp4_3;
_a_auxFunction = tmp4_4;
_a_varDecls = tmp4_5;
_a_preExp = tmp4_6;
_a_context = tmp4_7;
_a_cr = tmp4_8;
_ret_0 = omc_ComponentReference_appendStringCref(threadData, _i_var_name, _a_cr);
_txt = omc_CodegenCFunctions_contextCref(threadData, _txt, _ret_0, _a_context, _a_preExp, _a_varDecls, _a_auxFunction ,&_a_preExp ,&_a_varDecls ,&_a_auxFunction);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT121);
_txt = omc_Tpl_writeText(threadData, _txt, _a_tmp);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT518);
_txt = omc_Tpl_writeStr(threadData, _txt, _i_var_name);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT105);
_txt = omc_Tpl_nextIter(threadData, _txt);
_in_txt = _txt;
_in_items = _rest;
_in_a_tmp = _a_tmp;
_in_a_auxFunction = _a_auxFunction;
_in_a_varDecls = _a_varDecls;
_in_a_preExp = _a_preExp;
_in_a_context = _a_context;
_in_a_cr = _a_cr;
goto _tailrecursive;
goto tmp3_done;
}
case 2: {
if (listEmpty(tmp4_2)) goto tmp3_end;
tmpMeta[4] = MMC_CAR(tmp4_2);
tmpMeta[5] = MMC_CDR(tmp4_2);
_rest = tmpMeta[5];
_txt = tmp4_1;
_a_tmp = tmp4_3;
_a_auxFunction = tmp4_4;
_a_varDecls = tmp4_5;
_a_preExp = tmp4_6;
_a_context = tmp4_7;
_a_cr = tmp4_8;
_in_txt = _txt;
_in_items = _rest;
_in_a_tmp = _a_tmp;
_in_a_auxFunction = _a_auxFunction;
_in_a_varDecls = _a_varDecls;
_in_a_preExp = _a_preExp;
_in_a_context = _a_context;
_in_a_cr = _a_cr;
goto _tailrecursive;
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta[0+0];
_out_a_auxFunction = tmpMeta[0+1];
_out_a_varDecls = tmpMeta[0+2];
_out_a_preExp = tmpMeta[0+3];
_return: OMC_LABEL_UNUSED
if (out_out_a_auxFunction) { *out_out_a_auxFunction = _out_a_auxFunction; }
if (out_out_a_varDecls) { *out_out_a_varDecls = _out_a_varDecls; }
if (out_out_a_preExp) { *out_out_a_preExp = _out_a_preExp; }
return _out_txt;
}
DLLExport
modelica_metatype omc_CodegenCFunctions_algStmtAssignWithRhsExpStr(threadData_t *threadData, modelica_metatype _txt, modelica_metatype _a_lhsexp, modelica_metatype _a_rhsExpStr, modelica_metatype _a_context, modelica_metatype _a_preExp, modelica_metatype _a_postExp, modelica_metatype _a_varDecls, modelica_metatype _a_auxFunction, modelica_metatype *out_out_a_rhsExpStr, modelica_metatype *out_out_a_preExp, modelica_metatype *out_out_a_postExp, modelica_metatype *out_out_a_varDecls, modelica_metatype *out_out_a_auxFunction)
{
modelica_metatype _out_txt = NULL;
modelica_metatype _out_a_rhsExpStr = NULL;
modelica_metatype _out_a_preExp = NULL;
modelica_metatype _out_a_postExp = NULL;
modelica_metatype _out_a_varDecls = NULL;
modelica_metatype _out_a_auxFunction = NULL;
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
_out_txt = omc_CodegenCFunctions_fun__485(threadData, _txt, _a_lhsexp, _a_rhsExpStr, _a_context, _a_preExp, _a_varDecls, _a_auxFunction ,&_out_a_rhsExpStr ,&_out_a_preExp ,&_out_a_varDecls ,&_out_a_auxFunction);
_out_a_postExp = _a_postExp;
_return: OMC_LABEL_UNUSED
if (out_out_a_rhsExpStr) { *out_out_a_rhsExpStr = _out_a_rhsExpStr; }
if (out_out_a_preExp) { *out_out_a_preExp = _out_a_preExp; }
if (out_out_a_postExp) { *out_out_a_postExp = _out_a_postExp; }
if (out_out_a_varDecls) { *out_out_a_varDecls = _out_a_varDecls; }
if (out_out_a_auxFunction) { *out_out_a_auxFunction = _out_a_auxFunction; }
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__485(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_lhsexp, modelica_metatype _in_a_rhsExpStr, modelica_metatype _in_a_context, modelica_metatype _in_a_preExp, modelica_metatype _in_a_varDecls, modelica_metatype _in_a_auxFunction, modelica_metatype *out_out_a_rhsExpStr, modelica_metatype *out_out_a_preExp, modelica_metatype *out_out_a_varDecls, modelica_metatype *out_out_a_auxFunction)
{
modelica_metatype _out_txt = NULL;
modelica_metatype _out_a_rhsExpStr = NULL;
modelica_metatype _out_a_preExp = NULL;
modelica_metatype _out_a_varDecls = NULL;
modelica_metatype _out_a_auxFunction = NULL;
modelica_metatype tmpMeta[10] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_metatype tmp4_2;modelica_metatype tmp4_3;modelica_metatype tmp4_4;modelica_metatype tmp4_5;modelica_metatype tmp4_6;modelica_metatype tmp4_7;
tmp4_1 = _in_txt;
tmp4_2 = _in_a_lhsexp;
tmp4_3 = _in_a_rhsExpStr;
tmp4_4 = _in_a_context;
tmp4_5 = _in_a_preExp;
tmp4_6 = _in_a_varDecls;
tmp4_7 = _in_a_auxFunction;
{
modelica_metatype _txt = NULL;
modelica_metatype _a_rhsExpStr = NULL;
modelica_metatype _a_context = NULL;
modelica_metatype _a_preExp = NULL;
modelica_metatype _a_varDecls = NULL;
modelica_metatype _a_auxFunction = NULL;
modelica_metatype _i_expLst = NULL;
modelica_metatype _i_varLst = NULL;
modelica_metatype _i_ty = NULL;
modelica_metatype _i_lhsexp = NULL;
modelica_metatype _txt_3 = NULL;
modelica_metatype _txt_2 = NULL;
modelica_metatype _l_tmp = NULL;
modelica_metatype _l_lhsStr = NULL;
volatile mmc_switch_type tmp4;
int tmp5;
tmp4 = 0;
for (; tmp4 < 6; tmp4++) {
switch (MMC_SWITCH_CAST(tmp4)) {
case 0: {
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,6,2) == 0) goto tmp3_end;
tmpMeta[5] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[5],4,0) == 0) goto tmp3_end;
_txt = tmp4_1;
_a_rhsExpStr = tmp4_3;
_a_preExp = tmp4_5;
_a_varDecls = tmp4_6;
_a_auxFunction = tmp4_7;
_txt = omc_Tpl_writeText(threadData, _txt, _a_rhsExpStr);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT105);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_rhsExpStr;
tmpMeta[0+2] = _a_preExp;
tmpMeta[0+3] = _a_varDecls;
tmpMeta[0+4] = _a_auxFunction;
goto tmp3_done;
}
case 1: {
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,6,2) == 0) goto tmp3_end;
tmpMeta[5] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 3));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[5],6,2) == 0) goto tmp3_end;
_i_lhsexp = tmp4_2;
_txt = tmp4_1;
_a_rhsExpStr = tmp4_3;
_a_context = tmp4_4;
_a_preExp = tmp4_5;
_a_varDecls = tmp4_6;
_a_auxFunction = tmp4_7;
tmpMeta[0+0] = omc_CodegenCFunctions_algStmtAssignArrWithRhsExpStr(threadData, _txt, _i_lhsexp, _a_rhsExpStr, _a_context, _a_preExp, _a_varDecls, _a_auxFunction, &tmpMeta[0+1], &tmpMeta[0+2], &tmpMeta[0+3], &tmpMeta[0+4]);
goto tmp3_done;
}
case 2: {
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,6,2) == 0) goto tmp3_end;
tmpMeta[5] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 3));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[5],9,3) == 0) goto tmp3_end;
tmpMeta[6] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[5]), 2));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[6],3,1) == 0) goto tmp3_end;
_i_lhsexp = tmp4_2;
_txt = tmp4_1;
_a_rhsExpStr = tmp4_3;
_a_context = tmp4_4;
_a_preExp = tmp4_5;
_a_varDecls = tmp4_6;
_a_auxFunction = tmp4_7;
tmpMeta[0+0] = omc_CodegenCFunctions_algStmtAssignRecordWithRhsExpStr(threadData, _txt, _i_lhsexp, _a_rhsExpStr, _a_context, _a_preExp, _a_varDecls, _a_auxFunction, &tmpMeta[0+1], &tmpMeta[0+2], &tmpMeta[0+3], &tmpMeta[0+4]);
goto tmp3_done;
}
case 3: {
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,6,2) == 0) goto tmp3_end;
_i_lhsexp = tmp4_2;
_txt = tmp4_1;
_a_rhsExpStr = tmp4_3;
_a_context = tmp4_4;
_a_preExp = tmp4_5;
_a_varDecls = tmp4_6;
_a_auxFunction = tmp4_7;
_l_lhsStr = omc_CodegenCFunctions_daeExpCrefLhs(threadData, _OMC_LIT20, _i_lhsexp, _a_context, _a_preExp, _a_varDecls, _a_auxFunction, 0 ,&_a_preExp ,&_a_varDecls ,&_a_auxFunction);
_txt = omc_Tpl_writeText(threadData, _txt, _l_lhsStr);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT121);
_txt = omc_Tpl_writeText(threadData, _txt, _a_rhsExpStr);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT105);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_rhsExpStr;
tmpMeta[0+2] = _a_preExp;
tmpMeta[0+3] = _a_varDecls;
tmpMeta[0+4] = _a_auxFunction;
goto tmp3_done;
}
case 4: {
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,13,3) == 0) goto tmp3_end;
tmpMeta[5] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 3));
tmpMeta[6] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 4));
tmpMeta[7] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[6]), 2));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[7],9,3) == 0) goto tmp3_end;
tmpMeta[8] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[7]), 2));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[8],3,1) == 0) goto tmp3_end;
tmpMeta[9] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[7]), 3));
_i_expLst = tmpMeta[5];
_i_ty = tmpMeta[7];
_i_varLst = tmpMeta[9];
_txt = tmp4_1;
_a_rhsExpStr = tmp4_3;
_a_context = tmp4_4;
_a_preExp = tmp4_5;
_a_varDecls = tmp4_6;
_a_auxFunction = tmp4_7;
_txt_2 = omc_CodegenCFunctions_expTypeModelica(threadData, _OMC_LIT20, _i_ty);
_l_tmp = omc_CodegenCFunctions_tempDecl(threadData, _OMC_LIT20, omc_Tpl_textString(threadData, _txt_2), _a_varDecls ,&_a_varDecls);
_txt = omc_Tpl_writeText(threadData, _txt, _a_preExp);
_txt = omc_Tpl_softNewLine(threadData, _txt);
_txt = omc_Tpl_writeText(threadData, _txt, _l_tmp);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT121);
_txt = omc_Tpl_writeText(threadData, _txt, _a_rhsExpStr);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT161);
_txt = omc_Tpl_pushIter(threadData, _txt, _OMC_LIT464);
_txt = omc_CodegenCFunctions_lm__484(threadData, _txt, _i_varLst, _l_tmp, _a_auxFunction, _a_varDecls, _a_preExp, _a_context, _i_expLst ,&_a_auxFunction ,&_a_varDecls ,&_a_preExp);
_txt = omc_Tpl_popIter(threadData, _txt);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_rhsExpStr;
tmpMeta[0+2] = _a_preExp;
tmpMeta[0+3] = _a_varDecls;
tmpMeta[0+4] = _a_auxFunction;
goto tmp3_done;
}
case 5: {
_txt = tmp4_1;
_i_lhsexp = tmp4_2;
_a_rhsExpStr = tmp4_3;
_a_preExp = tmp4_5;
_a_varDecls = tmp4_6;
_a_auxFunction = tmp4_7;
_txt_3 = omc_Tpl_writeTok(threadData, _OMC_LIT20, _OMC_LIT1974);
_txt_3 = omc_ExpressionDumpTpl_dumpExp(threadData, _txt_3, _i_lhsexp, _OMC_LIT231);
_txt = omc_CodegenUtil_error(threadData, _txt, omc_Tpl_sourceInfo(threadData, _OMC_LIT27, ((modelica_integer) 2976), ((modelica_integer) 11)), omc_Tpl_textString(threadData, _txt_3));
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_rhsExpStr;
tmpMeta[0+2] = _a_preExp;
tmpMeta[0+3] = _a_varDecls;
tmpMeta[0+4] = _a_auxFunction;
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta[0+0];
_out_a_rhsExpStr = tmpMeta[0+1];
_out_a_preExp = tmpMeta[0+2];
_out_a_varDecls = tmpMeta[0+3];
_out_a_auxFunction = tmpMeta[0+4];
_return: OMC_LABEL_UNUSED
if (out_out_a_rhsExpStr) { *out_out_a_rhsExpStr = _out_a_rhsExpStr; }
if (out_out_a_preExp) { *out_out_a_preExp = _out_a_preExp; }
if (out_out_a_varDecls) { *out_out_a_varDecls = _out_a_varDecls; }
if (out_out_a_auxFunction) { *out_out_a_auxFunction = _out_a_auxFunction; }
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_lm__484(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_items, modelica_metatype _in_a_tmp, modelica_metatype _in_a_auxFunction, modelica_metatype _in_a_varDecls, modelica_metatype _in_a_preExp, modelica_metatype _in_a_context, modelica_metatype _in_a_expLst, modelica_metatype *out_out_a_auxFunction, modelica_metatype *out_out_a_varDecls, modelica_metatype *out_out_a_preExp)
{
modelica_metatype _out_txt = NULL;
modelica_metatype _out_a_auxFunction = NULL;
modelica_metatype _out_a_varDecls = NULL;
modelica_metatype _out_a_preExp = NULL;
modelica_metatype tmpMeta[7] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_metatype tmp4_2;modelica_metatype tmp4_3;modelica_metatype tmp4_4;modelica_metatype tmp4_5;modelica_metatype tmp4_6;modelica_metatype tmp4_7;modelica_metatype tmp4_8;
tmp4_1 = _in_txt;
tmp4_2 = _in_items;
tmp4_3 = _in_a_tmp;
tmp4_4 = _in_a_auxFunction;
tmp4_5 = _in_a_varDecls;
tmp4_6 = _in_a_preExp;
tmp4_7 = _in_a_context;
tmp4_8 = _in_a_expLst;
{
modelica_metatype _txt = NULL;
modelica_metatype _rest = NULL;
modelica_metatype _a_tmp = NULL;
modelica_metatype _a_auxFunction = NULL;
modelica_metatype _a_varDecls = NULL;
modelica_metatype _a_preExp = NULL;
modelica_metatype _a_context = NULL;
modelica_metatype _a_expLst = NULL;
modelica_integer _x_i1;
modelica_string _i_var_name = NULL;
modelica_metatype _ret_1 = NULL;
modelica_metatype _l_re = NULL;
volatile mmc_switch_type tmp4;
int tmp5;
tmp4 = 0;
for (; tmp4 < 3; tmp4++) {
switch (MMC_SWITCH_CAST(tmp4)) {
case 0: {
if (!listEmpty(tmp4_2)) goto tmp3_end;
_txt = tmp4_1;
_a_auxFunction = tmp4_4;
_a_varDecls = tmp4_5;
_a_preExp = tmp4_6;
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_auxFunction;
tmpMeta[0+2] = _a_varDecls;
tmpMeta[0+3] = _a_preExp;
goto tmp3_done;
}
case 1: {
if (listEmpty(tmp4_2)) goto tmp3_end;
tmpMeta[4] = MMC_CAR(tmp4_2);
tmpMeta[5] = MMC_CDR(tmp4_2);
tmpMeta[6] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[4]), 2));
_i_var_name = tmpMeta[6];
_rest = tmpMeta[5];
_txt = tmp4_1;
_a_tmp = tmp4_3;
_a_auxFunction = tmp4_4;
_a_varDecls = tmp4_5;
_a_preExp = tmp4_6;
_a_context = tmp4_7;
_a_expLst = tmp4_8;
_x_i1 = omc_Tpl_getIteri__i0(threadData, _txt);
_ret_1 = listGet(_a_expLst, _x_i1);
_l_re = omc_CodegenCFunctions_daeExpCrefLhs(threadData, _OMC_LIT20, _ret_1, _a_context, _a_preExp, _a_varDecls, _a_auxFunction, 0 ,&_a_preExp ,&_a_varDecls ,&_a_auxFunction);
_txt = omc_Tpl_writeText(threadData, _txt, _l_re);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT121);
_txt = omc_Tpl_writeText(threadData, _txt, _a_tmp);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT518);
_txt = omc_Tpl_writeStr(threadData, _txt, _i_var_name);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT105);
_txt = omc_Tpl_nextIter(threadData, _txt);
_in_txt = _txt;
_in_items = _rest;
_in_a_tmp = _a_tmp;
_in_a_auxFunction = _a_auxFunction;
_in_a_varDecls = _a_varDecls;
_in_a_preExp = _a_preExp;
_in_a_context = _a_context;
_in_a_expLst = _a_expLst;
goto _tailrecursive;
goto tmp3_done;
}
case 2: {
if (listEmpty(tmp4_2)) goto tmp3_end;
tmpMeta[4] = MMC_CAR(tmp4_2);
tmpMeta[5] = MMC_CDR(tmp4_2);
_rest = tmpMeta[5];
_txt = tmp4_1;
_a_tmp = tmp4_3;
_a_auxFunction = tmp4_4;
_a_varDecls = tmp4_5;
_a_preExp = tmp4_6;
_a_context = tmp4_7;
_a_expLst = tmp4_8;
_in_txt = _txt;
_in_items = _rest;
_in_a_tmp = _a_tmp;
_in_a_auxFunction = _a_auxFunction;
_in_a_varDecls = _a_varDecls;
_in_a_preExp = _a_preExp;
_in_a_context = _a_context;
_in_a_expLst = _a_expLst;
goto _tailrecursive;
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta[0+0];
_out_a_auxFunction = tmpMeta[0+1];
_out_a_varDecls = tmpMeta[0+2];
_out_a_preExp = tmpMeta[0+3];
_return: OMC_LABEL_UNUSED
if (out_out_a_auxFunction) { *out_out_a_auxFunction = _out_a_auxFunction; }
if (out_out_a_varDecls) { *out_out_a_varDecls = _out_a_varDecls; }
if (out_out_a_preExp) { *out_out_a_preExp = _out_a_preExp; }
return _out_txt;
}
DLLExport
modelica_metatype omc_CodegenCFunctions_algStmtAssignArr(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_stmt, modelica_metatype _in_a_context, modelica_metatype _in_a_varDecls, modelica_metatype _in_a_auxFunction, modelica_metatype *out_out_a_varDecls, modelica_metatype *out_out_a_auxFunction)
{
modelica_metatype _out_txt = NULL;
modelica_metatype _out_a_varDecls = NULL;
modelica_metatype _out_a_auxFunction = NULL;
modelica_metatype tmpMeta[7] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_metatype tmp4_2;modelica_metatype tmp4_3;modelica_metatype tmp4_4;modelica_metatype tmp4_5;
tmp4_1 = _in_txt;
tmp4_2 = _in_a_stmt;
tmp4_3 = _in_a_context;
tmp4_4 = _in_a_varDecls;
tmp4_5 = _in_a_auxFunction;
{
modelica_metatype _txt = NULL;
modelica_metatype _a_context = NULL;
modelica_metatype _a_varDecls = NULL;
modelica_metatype _a_auxFunction = NULL;
modelica_metatype _i_lhsexp = NULL;
modelica_metatype _i_e = NULL;
modelica_metatype _i_cr = NULL;
modelica_metatype _i_exp = NULL;
modelica_metatype _i_t = NULL;
modelica_metatype _l_assign = NULL;
modelica_metatype _l_expPart = NULL;
modelica_metatype _l_preExp = NULL;
volatile mmc_switch_type tmp4;
int tmp5;
tmp4 = 0;
for (; tmp4 < 3; tmp4++) {
switch (MMC_SWITCH_CAST(tmp4)) {
case 0: {
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,2,4) == 0) goto tmp3_end;
tmpMeta[3] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
tmpMeta[4] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 3));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[4],6,2) == 0) goto tmp3_end;
tmpMeta[5] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[4]), 2));
tmpMeta[6] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 4));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[6],18,4) == 0) goto tmp3_end;
_i_t = tmpMeta[3];
_i_cr = tmpMeta[5];
_i_exp = tmpMeta[6];
_txt = tmp4_1;
_a_context = tmp4_3;
_a_varDecls = tmp4_4;
_a_auxFunction = tmp4_5;
tmpMeta[0+0] = omc_CodegenCFunctions_fillArrayFromRange(threadData, _txt, _i_t, _i_exp, _i_cr, _a_context, _a_varDecls, _a_auxFunction, &tmpMeta[0+1], &tmpMeta[0+2]);
goto tmp3_done;
}
case 1: {
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,2,4) == 0) goto tmp3_end;
tmpMeta[3] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 3));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[3],6,2) == 0) goto tmp3_end;
tmpMeta[4] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 4));
_i_lhsexp = tmpMeta[3];
_i_e = tmpMeta[4];
_txt = tmp4_1;
_a_context = tmp4_3;
_a_varDecls = tmp4_4;
_a_auxFunction = tmp4_5;
_l_preExp = _OMC_LIT20;
_l_expPart = omc_CodegenCFunctions_daeExp(threadData, _OMC_LIT20, _i_e, _a_context, _l_preExp, _a_varDecls, _a_auxFunction ,&_l_preExp ,&_a_varDecls ,&_a_auxFunction);
_l_assign = omc_CodegenCFunctions_algStmtAssignArrWithRhsExpStr(threadData, _OMC_LIT20, _i_lhsexp, _l_expPart, _a_context, _l_preExp, _a_varDecls, _a_auxFunction ,&_l_expPart ,&_l_preExp ,&_a_varDecls ,&_a_auxFunction);
_txt = omc_Tpl_writeText(threadData, _txt, _l_preExp);
_txt = omc_Tpl_softNewLine(threadData, _txt);
_txt = omc_Tpl_writeText(threadData, _txt, _l_assign);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_varDecls;
tmpMeta[0+2] = _a_auxFunction;
goto tmp3_done;
}
case 2: {
_txt = tmp4_1;
_a_varDecls = tmp4_4;
_a_auxFunction = tmp4_5;
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_varDecls;
tmpMeta[0+2] = _a_auxFunction;
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta[0+0];
_out_a_varDecls = tmpMeta[0+1];
_out_a_auxFunction = tmpMeta[0+2];
_return: OMC_LABEL_UNUSED
if (out_out_a_varDecls) { *out_out_a_varDecls = _out_a_varDecls; }
if (out_out_a_auxFunction) { *out_out_a_auxFunction = _out_a_auxFunction; }
return _out_txt;
}
DLLExport
modelica_metatype omc_CodegenCFunctions_assignRhsExpToRecordCrefFunctionContext(threadData_t *threadData, modelica_metatype _txt, modelica_metatype _a_lhs__cref, modelica_metatype _a_rhs__exp, modelica_metatype _a_rec__type, modelica_metatype _a_context, modelica_metatype _a_preExp, modelica_metatype _a_varDecls, modelica_metatype _a_auxFunction, modelica_metatype *out_out_a_preExp, modelica_metatype *out_out_a_varDecls, modelica_metatype *out_out_a_auxFunction)
{
modelica_metatype _out_txt = NULL;
modelica_metatype _out_a_preExp = NULL;
modelica_metatype _out_a_varDecls = NULL;
modelica_metatype _out_a_auxFunction = NULL;
modelica_metatype _l_rec__typename_1 = NULL;
modelica_metatype _l_rec__typename = NULL;
modelica_metatype _l_lhs = NULL;
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
_l_lhs = omc_CodegenCFunctions_contextCref(threadData, _OMC_LIT20, _a_lhs__cref, _a_context, _a_preExp, _a_varDecls, _a_auxFunction ,&_out_a_preExp ,&_out_a_varDecls ,&_out_a_auxFunction);
_l_rec__typename = omc_CodegenCFunctions_expTypeShort(threadData, _OMC_LIT20, _a_rec__type);
_l_rec__typename_1 = omc_CodegenCFunctions_expTypeShort(threadData, _OMC_LIT20, _a_rec__type);
_out_txt = omc_CodegenCFunctions_fun__481(threadData, _txt, _a_rhs__exp, _l_lhs, _l_rec__typename_1, _out_a_auxFunction, _out_a_varDecls, _out_a_preExp, _a_context ,&_out_a_auxFunction ,&_out_a_varDecls ,&_out_a_preExp);
_return: OMC_LABEL_UNUSED
if (out_out_a_preExp) { *out_out_a_preExp = _out_a_preExp; }
if (out_out_a_varDecls) { *out_out_a_varDecls = _out_a_varDecls; }
if (out_out_a_auxFunction) { *out_out_a_auxFunction = _out_a_auxFunction; }
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__481(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_rhs__exp, modelica_metatype _in_a_lhs, modelica_metatype _in_a_rec__typename, modelica_metatype _in_a_auxFunction, modelica_metatype _in_a_varDecls, modelica_metatype _in_a_preExp, modelica_metatype _in_a_context, modelica_metatype *out_out_a_auxFunction, modelica_metatype *out_out_a_varDecls, modelica_metatype *out_out_a_preExp)
{
modelica_metatype _out_txt = NULL;
modelica_metatype _out_a_auxFunction = NULL;
modelica_metatype _out_a_varDecls = NULL;
modelica_metatype _out_a_preExp = NULL;
modelica_metatype tmpMeta[5] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_metatype tmp4_2;modelica_metatype tmp4_3;modelica_metatype tmp4_4;modelica_metatype tmp4_5;modelica_metatype tmp4_6;modelica_metatype tmp4_7;modelica_metatype tmp4_8;
tmp4_1 = _in_txt;
tmp4_2 = _in_a_rhs__exp;
tmp4_3 = _in_a_lhs;
tmp4_4 = _in_a_rec__typename;
tmp4_5 = _in_a_auxFunction;
tmp4_6 = _in_a_varDecls;
tmp4_7 = _in_a_preExp;
tmp4_8 = _in_a_context;
{
modelica_metatype _txt = NULL;
modelica_metatype _a_lhs = NULL;
modelica_metatype _a_rec__typename = NULL;
modelica_metatype _a_auxFunction = NULL;
modelica_metatype _a_varDecls = NULL;
modelica_metatype _a_preExp = NULL;
modelica_metatype _a_context = NULL;
modelica_metatype _i_rhs__exp = NULL;
modelica_metatype _i_rhs__exp_componentRef = NULL;
modelica_metatype _l_tmp__rec = NULL;
modelica_metatype _l_rhs = NULL;
volatile mmc_switch_type tmp4;
int tmp5;
tmp4 = 0;
for (; tmp4 < 2; tmp4++) {
switch (MMC_SWITCH_CAST(tmp4)) {
case 0: {
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,6,2) == 0) goto tmp3_end;
tmpMeta[4] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
_i_rhs__exp_componentRef = tmpMeta[4];
_txt = tmp4_1;
_a_lhs = tmp4_3;
_a_rec__typename = tmp4_4;
_a_auxFunction = tmp4_5;
_a_varDecls = tmp4_6;
_a_preExp = tmp4_7;
_a_context = tmp4_8;
_l_rhs = omc_CodegenCFunctions_contextCref(threadData, _OMC_LIT20, _i_rhs__exp_componentRef, _a_context, _a_preExp, _a_varDecls, _a_auxFunction ,&_a_preExp ,&_a_varDecls ,&_a_auxFunction);
_txt = omc_Tpl_writeText(threadData, _txt, _a_rec__typename);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT591);
_txt = omc_Tpl_writeText(threadData, _txt, _l_rhs);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT292);
_txt = omc_Tpl_writeText(threadData, _txt, _a_lhs);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT290);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_auxFunction;
tmpMeta[0+2] = _a_varDecls;
tmpMeta[0+3] = _a_preExp;
goto tmp3_done;
}
case 1: {
_txt = tmp4_1;
_i_rhs__exp = tmp4_2;
_a_lhs = tmp4_3;
_a_rec__typename = tmp4_4;
_a_auxFunction = tmp4_5;
_a_varDecls = tmp4_6;
_a_preExp = tmp4_7;
_a_context = tmp4_8;
_l_tmp__rec = omc_CodegenCFunctions_tempDecl(threadData, _OMC_LIT20, omc_Tpl_textString(threadData, _a_rec__typename), _a_varDecls ,&_a_varDecls);
_l_rhs = omc_CodegenCFunctions_daeExp(threadData, _OMC_LIT20, _i_rhs__exp, _a_context, _a_preExp, _a_varDecls, _a_auxFunction ,&_a_preExp ,&_a_varDecls ,&_a_auxFunction);
_txt = omc_Tpl_writeText(threadData, _txt, _l_tmp__rec);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT121);
_txt = omc_Tpl_writeText(threadData, _txt, _l_rhs);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT161);
_txt = omc_Tpl_writeText(threadData, _txt, _a_rec__typename);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT591);
_txt = omc_Tpl_writeText(threadData, _txt, _l_tmp__rec);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT292);
_txt = omc_Tpl_writeText(threadData, _txt, _a_lhs);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT290);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_auxFunction;
tmpMeta[0+2] = _a_varDecls;
tmpMeta[0+3] = _a_preExp;
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta[0+0];
_out_a_auxFunction = tmpMeta[0+1];
_out_a_varDecls = tmpMeta[0+2];
_out_a_preExp = tmpMeta[0+3];
_return: OMC_LABEL_UNUSED
if (out_out_a_auxFunction) { *out_out_a_auxFunction = _out_a_auxFunction; }
if (out_out_a_varDecls) { *out_out_a_varDecls = _out_a_varDecls; }
if (out_out_a_preExp) { *out_out_a_preExp = _out_a_preExp; }
return _out_txt;
}
DLLExport
modelica_metatype omc_CodegenCFunctions_assignRhsExpToRecordCrefSimContext(threadData_t *threadData, modelica_metatype _txt, modelica_metatype _a_lhs__cref, modelica_metatype _a_rhs__exp, modelica_metatype _a_rec__type, modelica_metatype _a_context, modelica_metatype _a_preExp, modelica_metatype _a_varDecls, modelica_metatype _a_auxFunction, modelica_metatype *out_out_a_preExp, modelica_metatype *out_out_a_varDecls, modelica_metatype *out_out_a_auxFunction)
{
modelica_metatype _out_txt = NULL;
modelica_metatype _out_a_preExp = NULL;
modelica_metatype _out_a_varDecls = NULL;
modelica_metatype _out_a_auxFunction = NULL;
modelica_metatype _l_rec__typename = NULL;
modelica_metatype _l_lhs = NULL;
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
_l_lhs = omc_CodegenCFunctions_contextCref(threadData, _OMC_LIT20, _a_lhs__cref, _a_context, _a_preExp, _a_varDecls, _a_auxFunction ,&_out_a_preExp ,&_out_a_varDecls ,&_out_a_auxFunction);
_l_rec__typename = omc_CodegenCFunctions_expTypeShort(threadData, _OMC_LIT20, _a_rec__type);
_out_txt = omc_CodegenCFunctions_fun__479(threadData, _txt, _a_rhs__exp, _l_rec__typename, _a_rec__type, _a_lhs__cref, _out_a_auxFunction, _out_a_varDecls, _out_a_preExp, _a_context ,&_out_a_auxFunction ,&_out_a_varDecls ,&_out_a_preExp);
_return: OMC_LABEL_UNUSED
if (out_out_a_preExp) { *out_out_a_preExp = _out_a_preExp; }
if (out_out_a_varDecls) { *out_out_a_varDecls = _out_a_varDecls; }
if (out_out_a_auxFunction) { *out_out_a_auxFunction = _out_a_auxFunction; }
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__479(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_rhs__exp, modelica_metatype _in_a_rec__typename, modelica_metatype _in_a_rec__type, modelica_metatype _in_a_lhs__cref, modelica_metatype _in_a_auxFunction, modelica_metatype _in_a_varDecls, modelica_metatype _in_a_preExp, modelica_metatype _in_a_context, modelica_metatype *out_out_a_auxFunction, modelica_metatype *out_out_a_varDecls, modelica_metatype *out_out_a_preExp)
{
modelica_metatype _out_txt = NULL;
modelica_metatype _out_a_auxFunction = NULL;
modelica_metatype _out_a_varDecls = NULL;
modelica_metatype _out_a_preExp = NULL;
modelica_metatype tmpMeta[5] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_metatype tmp4_2;modelica_metatype tmp4_3;modelica_metatype tmp4_4;modelica_metatype tmp4_5;modelica_metatype tmp4_6;modelica_metatype tmp4_7;modelica_metatype tmp4_8;modelica_metatype tmp4_9;
tmp4_1 = _in_txt;
tmp4_2 = _in_a_rhs__exp;
tmp4_3 = _in_a_rec__typename;
tmp4_4 = _in_a_rec__type;
tmp4_5 = _in_a_lhs__cref;
tmp4_6 = _in_a_auxFunction;
tmp4_7 = _in_a_varDecls;
tmp4_8 = _in_a_preExp;
tmp4_9 = _in_a_context;
{
modelica_metatype _txt = NULL;
modelica_metatype _a_rec__typename = NULL;
modelica_metatype _a_rec__type = NULL;
modelica_metatype _a_lhs__cref = NULL;
modelica_metatype _a_auxFunction = NULL;
modelica_metatype _a_varDecls = NULL;
modelica_metatype _a_preExp = NULL;
modelica_metatype _a_context = NULL;
modelica_metatype _i_rhs__exp = NULL;
modelica_metatype _i_cr = NULL;
modelica_metatype _ret_4 = NULL;
modelica_metatype _l_tmp__rec = NULL;
modelica_metatype _ret_2 = NULL;
modelica_metatype _l_assigns = NULL;
modelica_metatype _l_rhs__exp__str = NULL;
volatile mmc_switch_type tmp4;
int tmp5;
tmp4 = 0;
for (; tmp4 < 2; tmp4++) {
switch (MMC_SWITCH_CAST(tmp4)) {
case 0: {
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,6,2) == 0) goto tmp3_end;
tmpMeta[4] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
_i_cr = tmpMeta[4];
_txt = tmp4_1;
_a_rec__type = tmp4_4;
_a_lhs__cref = tmp4_5;
_a_auxFunction = tmp4_6;
_a_varDecls = tmp4_7;
_a_preExp = tmp4_8;
_a_context = tmp4_9;
_l_rhs__exp__str = omc_CodegenCFunctions_contextCref(threadData, _OMC_LIT20, _i_cr, _a_context, _a_preExp, _a_varDecls, _a_auxFunction ,&_a_preExp ,&_a_varDecls ,&_a_auxFunction);
_ret_2 = omc_SimCodeFunctionUtil_splitRecordAssignmentToMemberAssignments(threadData, _a_lhs__cref, _a_rec__type, omc_Tpl_textString(threadData, _l_rhs__exp__str));
_l_assigns = omc_CodegenCFunctions_lm__477(threadData, _OMC_LIT20, _ret_2, _a_auxFunction, _a_varDecls, _a_context ,&_a_auxFunction ,&_a_varDecls);
_txt = omc_Tpl_writeText(threadData, _txt, _l_assigns);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_auxFunction;
tmpMeta[0+2] = _a_varDecls;
tmpMeta[0+3] = _a_preExp;
goto tmp3_done;
}
case 1: {
_txt = tmp4_1;
_i_rhs__exp = tmp4_2;
_a_rec__typename = tmp4_3;
_a_rec__type = tmp4_4;
_a_lhs__cref = tmp4_5;
_a_auxFunction = tmp4_6;
_a_varDecls = tmp4_7;
_a_preExp = tmp4_8;
_a_context = tmp4_9;
_l_rhs__exp__str = omc_CodegenCFunctions_daeExp(threadData, _OMC_LIT20, _i_rhs__exp, _a_context, _a_preExp, _a_varDecls, _a_auxFunction ,&_a_preExp ,&_a_varDecls ,&_a_auxFunction);
_l_tmp__rec = omc_CodegenCFunctions_tempDecl(threadData, _OMC_LIT20, omc_Tpl_textString(threadData, _a_rec__typename), _a_varDecls ,&_a_varDecls);
_ret_4 = omc_SimCodeFunctionUtil_splitRecordAssignmentToMemberAssignments(threadData, _a_lhs__cref, _a_rec__type, omc_Tpl_textString(threadData, _l_tmp__rec));
_l_assigns = omc_CodegenCFunctions_lm__478(threadData, _OMC_LIT20, _ret_4, _a_auxFunction, _a_varDecls, _a_context ,&_a_auxFunction ,&_a_varDecls);
_txt = omc_Tpl_writeText(threadData, _txt, _l_tmp__rec);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT121);
_txt = omc_Tpl_writeText(threadData, _txt, _l_rhs__exp__str);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT161);
_txt = omc_Tpl_writeText(threadData, _txt, _l_assigns);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_auxFunction;
tmpMeta[0+2] = _a_varDecls;
tmpMeta[0+3] = _a_preExp;
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta[0+0];
_out_a_auxFunction = tmpMeta[0+1];
_out_a_varDecls = tmpMeta[0+2];
_out_a_preExp = tmpMeta[0+3];
_return: OMC_LABEL_UNUSED
if (out_out_a_auxFunction) { *out_out_a_auxFunction = _out_a_auxFunction; }
if (out_out_a_varDecls) { *out_out_a_varDecls = _out_a_varDecls; }
if (out_out_a_preExp) { *out_out_a_preExp = _out_a_preExp; }
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_lm__478(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_items, modelica_metatype _in_a_auxFunction, modelica_metatype _in_a_varDecls, modelica_metatype _in_a_context, modelica_metatype *out_out_a_auxFunction, modelica_metatype *out_out_a_varDecls)
{
modelica_metatype _out_txt = NULL;
modelica_metatype _out_a_auxFunction = NULL;
modelica_metatype _out_a_varDecls = NULL;
modelica_metatype tmpMeta[5] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_metatype tmp4_2;modelica_metatype tmp4_3;modelica_metatype tmp4_4;modelica_metatype tmp4_5;
tmp4_1 = _in_txt;
tmp4_2 = _in_items;
tmp4_3 = _in_a_auxFunction;
tmp4_4 = _in_a_varDecls;
tmp4_5 = _in_a_context;
{
modelica_metatype _txt = NULL;
modelica_metatype _rest = NULL;
modelica_metatype _a_auxFunction = NULL;
modelica_metatype _a_varDecls = NULL;
modelica_metatype _a_context = NULL;
modelica_metatype _i_stmt = NULL;
volatile mmc_switch_type tmp4;
int tmp5;
tmp4 = 0;
for (; tmp4 < 2; tmp4++) {
switch (MMC_SWITCH_CAST(tmp4)) {
case 0: {
if (!listEmpty(tmp4_2)) goto tmp3_end;
_txt = tmp4_1;
_a_auxFunction = tmp4_3;
_a_varDecls = tmp4_4;
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_auxFunction;
tmpMeta[0+2] = _a_varDecls;
goto tmp3_done;
}
case 1: {
if (listEmpty(tmp4_2)) goto tmp3_end;
tmpMeta[3] = MMC_CAR(tmp4_2);
tmpMeta[4] = MMC_CDR(tmp4_2);
_i_stmt = tmpMeta[3];
_rest = tmpMeta[4];
_txt = tmp4_1;
_a_auxFunction = tmp4_3;
_a_varDecls = tmp4_4;
_a_context = tmp4_5;
_txt = omc_CodegenCFunctions_algStatement(threadData, _txt, _i_stmt, _a_context, _a_varDecls, _a_auxFunction ,&_a_varDecls ,&_a_auxFunction);
_in_txt = _txt;
_in_items = _rest;
_in_a_auxFunction = _a_auxFunction;
_in_a_varDecls = _a_varDecls;
_in_a_context = _a_context;
goto _tailrecursive;
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta[0+0];
_out_a_auxFunction = tmpMeta[0+1];
_out_a_varDecls = tmpMeta[0+2];
_return: OMC_LABEL_UNUSED
if (out_out_a_auxFunction) { *out_out_a_auxFunction = _out_a_auxFunction; }
if (out_out_a_varDecls) { *out_out_a_varDecls = _out_a_varDecls; }
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_lm__477(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_items, modelica_metatype _in_a_auxFunction, modelica_metatype _in_a_varDecls, modelica_metatype _in_a_context, modelica_metatype *out_out_a_auxFunction, modelica_metatype *out_out_a_varDecls)
{
modelica_metatype _out_txt = NULL;
modelica_metatype _out_a_auxFunction = NULL;
modelica_metatype _out_a_varDecls = NULL;
modelica_metatype tmpMeta[5] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_metatype tmp4_2;modelica_metatype tmp4_3;modelica_metatype tmp4_4;modelica_metatype tmp4_5;
tmp4_1 = _in_txt;
tmp4_2 = _in_items;
tmp4_3 = _in_a_auxFunction;
tmp4_4 = _in_a_varDecls;
tmp4_5 = _in_a_context;
{
modelica_metatype _txt = NULL;
modelica_metatype _rest = NULL;
modelica_metatype _a_auxFunction = NULL;
modelica_metatype _a_varDecls = NULL;
modelica_metatype _a_context = NULL;
modelica_metatype _i_stmt = NULL;
volatile mmc_switch_type tmp4;
int tmp5;
tmp4 = 0;
for (; tmp4 < 2; tmp4++) {
switch (MMC_SWITCH_CAST(tmp4)) {
case 0: {
if (!listEmpty(tmp4_2)) goto tmp3_end;
_txt = tmp4_1;
_a_auxFunction = tmp4_3;
_a_varDecls = tmp4_4;
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_auxFunction;
tmpMeta[0+2] = _a_varDecls;
goto tmp3_done;
}
case 1: {
if (listEmpty(tmp4_2)) goto tmp3_end;
tmpMeta[3] = MMC_CAR(tmp4_2);
tmpMeta[4] = MMC_CDR(tmp4_2);
_i_stmt = tmpMeta[3];
_rest = tmpMeta[4];
_txt = tmp4_1;
_a_auxFunction = tmp4_3;
_a_varDecls = tmp4_4;
_a_context = tmp4_5;
_txt = omc_CodegenCFunctions_algStatement(threadData, _txt, _i_stmt, _a_context, _a_varDecls, _a_auxFunction ,&_a_varDecls ,&_a_auxFunction);
_in_txt = _txt;
_in_items = _rest;
_in_a_auxFunction = _a_auxFunction;
_in_a_varDecls = _a_varDecls;
_in_a_context = _a_context;
goto _tailrecursive;
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta[0+0];
_out_a_auxFunction = tmpMeta[0+1];
_out_a_varDecls = tmpMeta[0+2];
_return: OMC_LABEL_UNUSED
if (out_out_a_auxFunction) { *out_out_a_auxFunction = _out_a_auxFunction; }
if (out_out_a_varDecls) { *out_out_a_varDecls = _out_a_varDecls; }
return _out_txt;
}
DLLExport
modelica_metatype omc_CodegenCFunctions_assignRhsExpToRecordCref(threadData_t *threadData, modelica_metatype _txt, modelica_metatype _a_lhs__cref, modelica_metatype _a_rhs__exp, modelica_metatype _a_rec__type, modelica_metatype _a_context, modelica_metatype _a_preExp, modelica_metatype _a_varDecls, modelica_metatype _a_auxFunction, modelica_metatype *out_out_a_preExp, modelica_metatype *out_out_a_varDecls, modelica_metatype *out_out_a_auxFunction)
{
modelica_metatype _out_txt = NULL;
modelica_metatype _out_a_preExp = NULL;
modelica_metatype _out_a_varDecls = NULL;
modelica_metatype _out_a_auxFunction = NULL;
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
_out_txt = omc_CodegenCFunctions_fun__475(threadData, _txt, _a_context, _a_lhs__cref, _a_rhs__exp, _a_rec__type, _a_preExp, _a_varDecls, _a_auxFunction ,&_out_a_preExp ,&_out_a_varDecls ,&_out_a_auxFunction);
_return: OMC_LABEL_UNUSED
if (out_out_a_preExp) { *out_out_a_preExp = _out_a_preExp; }
if (out_out_a_varDecls) { *out_out_a_varDecls = _out_a_varDecls; }
if (out_out_a_auxFunction) { *out_out_a_auxFunction = _out_a_auxFunction; }
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__475(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_context, modelica_metatype _in_a_lhs__cref, modelica_metatype _in_a_rhs__exp, modelica_metatype _in_a_rec__type, modelica_metatype _in_a_preExp, modelica_metatype _in_a_varDecls, modelica_metatype _in_a_auxFunction, modelica_metatype *out_out_a_preExp, modelica_metatype *out_out_a_varDecls, modelica_metatype *out_out_a_auxFunction)
{
modelica_metatype _out_txt = NULL;
modelica_metatype _out_a_preExp = NULL;
modelica_metatype _out_a_varDecls = NULL;
modelica_metatype _out_a_auxFunction = NULL;
modelica_metatype tmpMeta[4] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_metatype tmp4_2;modelica_metatype tmp4_3;modelica_metatype tmp4_4;modelica_metatype tmp4_5;modelica_metatype tmp4_6;modelica_metatype tmp4_7;modelica_metatype tmp4_8;
tmp4_1 = _in_txt;
tmp4_2 = _in_a_context;
tmp4_3 = _in_a_lhs__cref;
tmp4_4 = _in_a_rhs__exp;
tmp4_5 = _in_a_rec__type;
tmp4_6 = _in_a_preExp;
tmp4_7 = _in_a_varDecls;
tmp4_8 = _in_a_auxFunction;
{
modelica_metatype _txt = NULL;
modelica_metatype _a_lhs__cref = NULL;
modelica_metatype _a_rhs__exp = NULL;
modelica_metatype _a_rec__type = NULL;
modelica_metatype _a_preExp = NULL;
modelica_metatype _a_varDecls = NULL;
modelica_metatype _a_auxFunction = NULL;
modelica_metatype _i_context = NULL;
volatile mmc_switch_type tmp4;
int tmp5;
tmp4 = 0;
for (; tmp4 < 2; tmp4++) {
switch (MMC_SWITCH_CAST(tmp4)) {
case 0: {
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,1,2) == 0) goto tmp3_end;
_i_context = tmp4_2;
_txt = tmp4_1;
_a_lhs__cref = tmp4_3;
_a_rhs__exp = tmp4_4;
_a_rec__type = tmp4_5;
_a_preExp = tmp4_6;
_a_varDecls = tmp4_7;
_a_auxFunction = tmp4_8;
tmpMeta[0+0] = omc_CodegenCFunctions_assignRhsExpToRecordCrefFunctionContext(threadData, _txt, _a_lhs__cref, _a_rhs__exp, _a_rec__type, _i_context, _a_preExp, _a_varDecls, _a_auxFunction, &tmpMeta[0+1], &tmpMeta[0+2], &tmpMeta[0+3]);
goto tmp3_done;
}
case 1: {
_txt = tmp4_1;
_i_context = tmp4_2;
_a_lhs__cref = tmp4_3;
_a_rhs__exp = tmp4_4;
_a_rec__type = tmp4_5;
_a_preExp = tmp4_6;
_a_varDecls = tmp4_7;
_a_auxFunction = tmp4_8;
tmpMeta[0+0] = omc_CodegenCFunctions_assignRhsExpToRecordCrefSimContext(threadData, _txt, _a_lhs__cref, _a_rhs__exp, _a_rec__type, _i_context, _a_preExp, _a_varDecls, _a_auxFunction, &tmpMeta[0+1], &tmpMeta[0+2], &tmpMeta[0+3]);
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta[0+0];
_out_a_preExp = tmpMeta[0+1];
_out_a_varDecls = tmpMeta[0+2];
_out_a_auxFunction = tmpMeta[0+3];
_return: OMC_LABEL_UNUSED
if (out_out_a_preExp) { *out_out_a_preExp = _out_a_preExp; }
if (out_out_a_varDecls) { *out_out_a_varDecls = _out_a_varDecls; }
if (out_out_a_auxFunction) { *out_out_a_auxFunction = _out_a_auxFunction; }
return _out_txt;
}
DLLExport
modelica_metatype omc_CodegenCFunctions_algStmtAssignRecord(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_stmt, modelica_metatype _in_a_context, modelica_metatype _in_a_preExp, modelica_metatype _in_a_varDecls, modelica_metatype _in_a_auxFunction, modelica_metatype *out_out_a_preExp, modelica_metatype *out_out_a_varDecls, modelica_metatype *out_out_a_auxFunction)
{
modelica_metatype _out_txt = NULL;
modelica_metatype _out_a_preExp = NULL;
modelica_metatype _out_a_varDecls = NULL;
modelica_metatype _out_a_auxFunction = NULL;
modelica_metatype tmpMeta[8] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_metatype tmp4_2;modelica_metatype tmp4_3;modelica_metatype tmp4_4;modelica_metatype tmp4_5;modelica_metatype tmp4_6;
tmp4_1 = _in_txt;
tmp4_2 = _in_a_stmt;
tmp4_3 = _in_a_context;
tmp4_4 = _in_a_preExp;
tmp4_5 = _in_a_varDecls;
tmp4_6 = _in_a_auxFunction;
{
modelica_metatype _txt = NULL;
modelica_metatype _a_context = NULL;
modelica_metatype _a_preExp = NULL;
modelica_metatype _a_varDecls = NULL;
modelica_metatype _a_auxFunction = NULL;
modelica_metatype _i_exp = NULL;
modelica_metatype _i_exp1 = NULL;
modelica_metatype _i_ty = NULL;
modelica_metatype _i_rhs__exp = NULL;
modelica_metatype _i_exp1_componentRef = NULL;
modelica_metatype _txt_3 = NULL;
modelica_metatype _txt_2 = NULL;
modelica_metatype _txt_1 = NULL;
volatile mmc_switch_type tmp4;
int tmp5;
tmp4 = 0;
for (; tmp4 < 5; tmp4++) {
switch (MMC_SWITCH_CAST(tmp4)) {
case 0: {
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,0,4) == 0) goto tmp3_end;
tmpMeta[4] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
tmpMeta[5] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 3));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[5],6,2) == 0) goto tmp3_end;
tmpMeta[6] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[5]), 2));
tmpMeta[7] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 4));
_i_ty = tmpMeta[4];
_i_exp1_componentRef = tmpMeta[6];
_i_rhs__exp = tmpMeta[7];
_txt = tmp4_1;
_a_context = tmp4_3;
_a_preExp = tmp4_4;
_a_varDecls = tmp4_5;
_a_auxFunction = tmp4_6;
tmpMeta[0+0] = omc_CodegenCFunctions_assignRhsExpToRecordCref(threadData, _txt, _i_exp1_componentRef, _i_rhs__exp, _i_ty, _a_context, _a_preExp, _a_varDecls, _a_auxFunction, &tmpMeta[0+1], &tmpMeta[0+2], &tmpMeta[0+3]);
goto tmp3_done;
}
case 1: {
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,0,4) == 0) goto tmp3_end;
tmpMeta[4] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[4],9,3) == 0) goto tmp3_end;
tmpMeta[5] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[4]), 2));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[5],3,1) == 0) goto tmp3_end;
tmpMeta[6] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 3));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[6],13,3) == 0) goto tmp3_end;
tmpMeta[7] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 4));
_i_ty = tmpMeta[4];
_i_exp1 = tmpMeta[6];
_i_exp = tmpMeta[7];
_txt = tmp4_1;
_a_preExp = tmp4_4;
_a_varDecls = tmp4_5;
_a_auxFunction = tmp4_6;
omc_CodegenCFunctions_expTypeShort(threadData, _OMC_LIT20, _i_ty);
_txt_1 = omc_Tpl_writeTok(threadData, _OMC_LIT20, _OMC_LIT1976);
_txt_1 = omc_ExpressionDumpTpl_dumpExp(threadData, _txt_1, _i_exp1, _OMC_LIT231);
_txt_1 = omc_Tpl_writeTok(threadData, _txt_1, _OMC_LIT121);
_txt_1 = omc_ExpressionDumpTpl_dumpExp(threadData, _txt_1, _i_exp, _OMC_LIT231);
_txt = omc_CodegenUtil_error(threadData, _txt, omc_Tpl_sourceInfo(threadData, _OMC_LIT27, ((modelica_integer) 2856), ((modelica_integer) 11)), omc_Tpl_textString(threadData, _txt_1));
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_preExp;
tmpMeta[0+2] = _a_varDecls;
tmpMeta[0+3] = _a_auxFunction;
goto tmp3_done;
}
case 2: {
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,0,4) == 0) goto tmp3_end;
tmpMeta[4] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[4],9,3) == 0) goto tmp3_end;
tmpMeta[5] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[4]), 2));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[5],3,1) == 0) goto tmp3_end;
tmpMeta[6] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 3));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[6],14,4) == 0) goto tmp3_end;
_i_exp1 = tmpMeta[6];
_txt = tmp4_1;
_a_preExp = tmp4_4;
_a_varDecls = tmp4_5;
_a_auxFunction = tmp4_6;
_txt_2 = omc_Tpl_writeTok(threadData, _OMC_LIT20, _OMC_LIT1978);
_txt_2 = omc_ExpressionDumpTpl_dumpExp(threadData, _txt_2, _i_exp1, _OMC_LIT231);
_txt = omc_CodegenUtil_error(threadData, _txt, omc_Tpl_sourceInfo(threadData, _OMC_LIT27, ((modelica_integer) 2858), ((modelica_integer) 11)), omc_Tpl_textString(threadData, _txt_2));
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_preExp;
tmpMeta[0+2] = _a_varDecls;
tmpMeta[0+3] = _a_auxFunction;
goto tmp3_done;
}
case 3: {
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,0,4) == 0) goto tmp3_end;
tmpMeta[4] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 3));
_i_exp1 = tmpMeta[4];
_txt = tmp4_1;
_a_preExp = tmp4_4;
_a_varDecls = tmp4_5;
_a_auxFunction = tmp4_6;
_txt_3 = omc_Tpl_writeTok(threadData, _OMC_LIT20, _OMC_LIT1980);
_txt_3 = omc_ExpressionDumpTpl_dumpExp(threadData, _txt_3, _i_exp1, _OMC_LIT231);
_txt = omc_CodegenUtil_error(threadData, _txt, omc_Tpl_sourceInfo(threadData, _OMC_LIT27, ((modelica_integer) 2860), ((modelica_integer) 11)), omc_Tpl_textString(threadData, _txt_3));
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_preExp;
tmpMeta[0+2] = _a_varDecls;
tmpMeta[0+3] = _a_auxFunction;
goto tmp3_done;
}
case 4: {
_txt = tmp4_1;
_a_preExp = tmp4_4;
_a_varDecls = tmp4_5;
_a_auxFunction = tmp4_6;
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_preExp;
tmpMeta[0+2] = _a_varDecls;
tmpMeta[0+3] = _a_auxFunction;
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta[0+0];
_out_a_preExp = tmpMeta[0+1];
_out_a_varDecls = tmpMeta[0+2];
_out_a_auxFunction = tmpMeta[0+3];
_return: OMC_LABEL_UNUSED
if (out_out_a_preExp) { *out_out_a_preExp = _out_a_preExp; }
if (out_out_a_varDecls) { *out_out_a_varDecls = _out_a_varDecls; }
if (out_out_a_auxFunction) { *out_out_a_auxFunction = _out_a_auxFunction; }
return _out_txt;
}
DLLExport
modelica_metatype omc_CodegenCFunctions_algStmtAssign(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_stmt, modelica_metatype _in_a_context, modelica_metatype _in_a_varDecls, modelica_metatype _in_a_auxFunction, modelica_metatype *out_out_a_varDecls, modelica_metatype *out_out_a_auxFunction)
{
modelica_metatype _out_txt = NULL;
modelica_metatype _out_a_varDecls = NULL;
modelica_metatype _out_a_auxFunction = NULL;
modelica_metatype tmpMeta[10] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_metatype tmp4_2;modelica_metatype tmp4_3;modelica_metatype tmp4_4;modelica_metatype tmp4_5;
tmp4_1 = _in_txt;
tmp4_2 = _in_a_stmt;
tmp4_3 = _in_a_context;
tmp4_4 = _in_a_varDecls;
tmp4_5 = _in_a_auxFunction;
{
modelica_metatype _txt = NULL;
modelica_metatype _a_context = NULL;
modelica_metatype _a_varDecls = NULL;
modelica_metatype _a_auxFunction = NULL;
modelica_metatype _i_stmt = NULL;
modelica_metatype _i_val = NULL;
modelica_metatype _i_exp1 = NULL;
modelica_string _i_fieldName_1 = NULL;
modelica_string _i_fieldName = NULL;
modelica_metatype _i_t1 = NULL;
modelica_metatype _i_exp = NULL;
modelica_metatype _i_explhs = NULL;
modelica_metatype _i_e = NULL;
modelica_metatype _l_expPart2 = NULL;
modelica_metatype _l_expPart1 = NULL;
modelica_metatype _l_copy__stmt = NULL;
modelica_string _str_32 = NULL;
modelica_metatype _txt_31 = NULL;
modelica_metatype _txt_30 = NULL;
modelica_integer _ret_29;
modelica_integer _ret_28;
modelica_metatype _ret_27 = NULL;
modelica_integer _ret_26;
modelica_integer _ret_25;
modelica_metatype _ret_24 = NULL;
modelica_integer _ret_23;
modelica_integer _ret_22;
modelica_metatype _ret_21 = NULL;
modelica_integer _ret_20;
modelica_integer _ret_19;
modelica_metatype _ret_18 = NULL;
modelica_integer _ret_17;
modelica_integer _ret_16;
modelica_metatype _ret_15 = NULL;
modelica_integer _ret_14;
modelica_integer _ret_13;
modelica_metatype _ret_12 = NULL;
modelica_integer _ret_11;
modelica_integer _ret_10;
modelica_metatype _ret_9 = NULL;
modelica_metatype _l_len = NULL;
modelica_integer _ret_7;
modelica_integer _ret_6;
modelica_metatype _ret_5 = NULL;
modelica_metatype _l_indexInRecord = NULL;
modelica_metatype _l_varPart = NULL;
modelica_metatype _l_tmp = NULL;
modelica_metatype _l_expPart = NULL;
modelica_metatype _l_preExp = NULL;
volatile mmc_switch_type tmp4;
int tmp5;
tmp4 = 0;
for (; tmp4 < 14; tmp4++) {
switch (MMC_SWITCH_CAST(tmp4)) {
case 0: {
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,0,4) == 0) goto tmp3_end;
tmpMeta[3] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 4));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[3],13,3) == 0) goto tmp3_end;
tmpMeta[4] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[3]), 2));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[4],1,1) == 0) goto tmp3_end;
tmpMeta[5] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[4]), 2));
if (4 != MMC_STRLEN(tmpMeta[5]) || strcmp(MMC_STRINGDATA(_OMC_LIT881), MMC_STRINGDATA(tmpMeta[5])) != 0) goto tmp3_end;
_txt = tmp4_1;
_a_varDecls = tmp4_4;
_a_auxFunction = tmp4_5;
_txt = omc_CodegenCFunctions_generateThrow(threadData, _txt);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT89);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_varDecls;
tmpMeta[0+2] = _a_auxFunction;
goto tmp3_done;
}
case 1: {
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,0,4) == 0) goto tmp3_end;
tmpMeta[3] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 3));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[3],6,2) == 0) goto tmp3_end;
tmpMeta[4] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[3]), 2));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[4],4,0) == 0) goto tmp3_end;
tmpMeta[5] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 4));
_i_e = tmpMeta[5];
_txt = tmp4_1;
_a_context = tmp4_3;
_a_varDecls = tmp4_4;
_a_auxFunction = tmp4_5;
_l_preExp = _OMC_LIT20;
omc_CodegenCFunctions_daeExp(threadData, _OMC_LIT20, _i_e, _a_context, _l_preExp, _a_varDecls, _a_auxFunction ,&_l_preExp ,&_a_varDecls ,&_a_auxFunction);
_txt = omc_Tpl_writeText(threadData, _txt, _l_preExp);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_varDecls;
tmpMeta[0+2] = _a_auxFunction;
goto tmp3_done;
}
case 2: {
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,0,4) == 0) goto tmp3_end;
tmpMeta[3] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 3));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[3],23,4) == 0) goto tmp3_end;
tmpMeta[4] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[3]), 2));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[4],6,2) == 0) goto tmp3_end;
tmpMeta[5] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[4]), 3));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[5],21,6) == 0) goto tmp3_end;
tmpMeta[6] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[3]), 4));
tmpMeta[7] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 4));
_i_explhs = tmpMeta[4];
_i_t1 = tmpMeta[5];
_i_fieldName = tmpMeta[6];
_i_exp = tmpMeta[7];
_txt = tmp4_1;
_a_context = tmp4_3;
_a_varDecls = tmp4_4;
_a_auxFunction = tmp4_5;
_l_preExp = _OMC_LIT20;
_l_tmp = omc_CodegenCFunctions_tempDecl(threadData, _OMC_LIT20, _OMC_LIT311, _a_varDecls ,&_a_varDecls);
_l_varPart = omc_CodegenCFunctions_daeExp(threadData, _OMC_LIT20, _i_explhs, _a_context, _l_preExp, _a_varDecls, _a_auxFunction ,&_l_preExp ,&_a_varDecls ,&_a_auxFunction);
_l_expPart = omc_CodegenCFunctions_daeExp(threadData, _OMC_LIT20, _i_exp, _a_context, _l_preExp, _a_varDecls, _a_auxFunction ,&_l_preExp ,&_a_varDecls ,&_a_auxFunction);
_ret_5 = omc_Types_getMetaRecordFields(threadData, _i_t1);
_ret_6 = omc_Types_lookupIndexInMetaRecord(threadData, _ret_5, _i_fieldName);
_ret_7 = ((modelica_integer) 1) + _ret_6;
_l_indexInRecord = omc_Tpl_writeStr(threadData, _OMC_LIT20, intString(_ret_7));
_ret_9 = omc_Types_getMetaRecordFields(threadData, _i_t1);
_ret_10 = listLength(_ret_9);
_ret_11 = ((modelica_integer) 2) + _ret_10;
_l_len = omc_Tpl_writeStr(threadData, _OMC_LIT20, intString(_ret_11));
_txt = omc_Tpl_writeText(threadData, _txt, _l_preExp);
_txt = omc_Tpl_softNewLine(threadData, _txt);
_txt = omc_Tpl_writeText(threadData, _txt, _l_tmp);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1982);
_txt = omc_Tpl_writeText(threadData, _txt, _l_len);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1986);
_txt = omc_Tpl_writeText(threadData, _txt, _l_tmp);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1988);
_txt = omc_Tpl_writeText(threadData, _txt, _l_varPart);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT522);
_txt = omc_Tpl_writeText(threadData, _txt, _l_len);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1993);
_txt = omc_Tpl_writeText(threadData, _txt, _l_tmp);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1995);
_txt = omc_Tpl_writeText(threadData, _txt, _l_indexInRecord);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1997);
_txt = omc_Tpl_writeText(threadData, _txt, _l_expPart);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT161);
_txt = omc_Tpl_writeText(threadData, _txt, _l_varPart);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT121);
_txt = omc_Tpl_writeText(threadData, _txt, _l_tmp);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT105);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_varDecls;
tmpMeta[0+2] = _a_auxFunction;
goto tmp3_done;
}
case 3: {
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,0,4) == 0) goto tmp3_end;
tmpMeta[3] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 3));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[3],23,4) == 0) goto tmp3_end;
tmpMeta[4] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[3]), 2));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[4],6,2) == 0) goto tmp3_end;
tmpMeta[5] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[4]), 3));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[5],20,5) == 0) goto tmp3_end;
tmpMeta[6] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[3]), 4));
tmpMeta[7] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 4));
_i_explhs = tmpMeta[4];
_i_t1 = tmpMeta[5];
_i_fieldName = tmpMeta[6];
_i_exp = tmpMeta[7];
_txt = tmp4_1;
_a_context = tmp4_3;
_a_varDecls = tmp4_4;
_a_auxFunction = tmp4_5;
_l_preExp = _OMC_LIT20;
_l_tmp = omc_CodegenCFunctions_tempDecl(threadData, _OMC_LIT20, _OMC_LIT311, _a_varDecls ,&_a_varDecls);
_l_varPart = omc_CodegenCFunctions_daeExp(threadData, _OMC_LIT20, _i_explhs, _a_context, _l_preExp, _a_varDecls, _a_auxFunction ,&_l_preExp ,&_a_varDecls ,&_a_auxFunction);
_l_expPart = omc_CodegenCFunctions_daeExp(threadData, _OMC_LIT20, _i_exp, _a_context, _l_preExp, _a_varDecls, _a_auxFunction ,&_l_preExp ,&_a_varDecls ,&_a_auxFunction);
_ret_12 = omc_Types_getMetaRecordFields(threadData, _i_t1);
_ret_13 = omc_Types_lookupIndexInMetaRecord(threadData, _ret_12, _i_fieldName);
_ret_14 = ((modelica_integer) 1) + _ret_13;
_l_indexInRecord = omc_Tpl_writeStr(threadData, _OMC_LIT20, intString(_ret_14));
_ret_15 = omc_Types_getMetaRecordFields(threadData, _i_t1);
_ret_16 = listLength(_ret_15);
_ret_17 = ((modelica_integer) 2) + _ret_16;
_l_len = omc_Tpl_writeStr(threadData, _OMC_LIT20, intString(_ret_17));
_txt = omc_Tpl_writeText(threadData, _txt, _l_preExp);
_txt = omc_Tpl_softNewLine(threadData, _txt);
_txt = omc_Tpl_writeText(threadData, _txt, _l_tmp);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1982);
_txt = omc_Tpl_writeText(threadData, _txt, _l_len);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1986);
_txt = omc_Tpl_writeText(threadData, _txt, _l_tmp);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1988);
_txt = omc_Tpl_writeText(threadData, _txt, _l_varPart);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT522);
_txt = omc_Tpl_writeText(threadData, _txt, _l_len);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1993);
_txt = omc_Tpl_writeText(threadData, _txt, _l_tmp);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1995);
_txt = omc_Tpl_writeText(threadData, _txt, _l_indexInRecord);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1997);
_txt = omc_Tpl_writeText(threadData, _txt, _l_expPart);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT161);
_txt = omc_Tpl_writeText(threadData, _txt, _l_varPart);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT121);
_txt = omc_Tpl_writeText(threadData, _txt, _l_tmp);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT105);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_varDecls;
tmpMeta[0+2] = _a_auxFunction;
goto tmp3_done;
}
case 4: {
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,0,4) == 0) goto tmp3_end;
tmpMeta[3] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 3));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[3],6,2) == 0) goto tmp3_end;
tmpMeta[4] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[3]), 2));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[4],0,4) == 0) goto tmp3_end;
tmpMeta[5] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[4]), 3));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[5],25,1) == 0) goto tmp3_end;
tmpMeta[6] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[5]), 2));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[6],20,5) == 0) goto tmp3_end;
tmpMeta[7] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[4]), 5));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[7],1,3) == 0) goto tmp3_end;
tmpMeta[8] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[7]), 2));
tmpMeta[9] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 4));
_i_explhs = tmpMeta[3];
_i_t1 = tmpMeta[6];
_i_fieldName_1 = tmpMeta[8];
_i_exp = tmpMeta[9];
_txt = tmp4_1;
_a_context = tmp4_3;
_a_varDecls = tmp4_4;
_a_auxFunction = tmp4_5;
_l_preExp = _OMC_LIT20;
_l_tmp = omc_CodegenCFunctions_tempDecl(threadData, _OMC_LIT20, _OMC_LIT311, _a_varDecls ,&_a_varDecls);
_l_varPart = omc_CodegenCFunctions_daeExp(threadData, _OMC_LIT20, _i_explhs, _a_context, _l_preExp, _a_varDecls, _a_auxFunction ,&_l_preExp ,&_a_varDecls ,&_a_auxFunction);
_l_expPart = omc_CodegenCFunctions_daeExp(threadData, _OMC_LIT20, _i_exp, _a_context, _l_preExp, _a_varDecls, _a_auxFunction ,&_l_preExp ,&_a_varDecls ,&_a_auxFunction);
_ret_18 = omc_Types_getMetaRecordFields(threadData, _i_t1);
_ret_19 = omc_Types_lookupIndexInMetaRecord(threadData, _ret_18, _i_fieldName_1);
_ret_20 = ((modelica_integer) 1) + _ret_19;
_l_indexInRecord = omc_Tpl_writeStr(threadData, _OMC_LIT20, intString(_ret_20));
_ret_21 = omc_Types_getMetaRecordFields(threadData, _i_t1);
_ret_22 = listLength(_ret_21);
_ret_23 = ((modelica_integer) 2) + _ret_22;
_l_len = omc_Tpl_writeStr(threadData, _OMC_LIT20, intString(_ret_23));
_txt = omc_Tpl_writeText(threadData, _txt, _l_preExp);
_txt = omc_Tpl_softNewLine(threadData, _txt);
_txt = omc_Tpl_writeText(threadData, _txt, _l_tmp);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1982);
_txt = omc_Tpl_writeText(threadData, _txt, _l_len);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1986);
_txt = omc_Tpl_writeText(threadData, _txt, _l_tmp);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1988);
_txt = omc_Tpl_writeText(threadData, _txt, _l_varPart);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT522);
_txt = omc_Tpl_writeText(threadData, _txt, _l_len);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1993);
_txt = omc_Tpl_writeText(threadData, _txt, _l_tmp);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1995);
_txt = omc_Tpl_writeText(threadData, _txt, _l_indexInRecord);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1997);
_txt = omc_Tpl_writeText(threadData, _txt, _l_expPart);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT161);
_txt = omc_Tpl_writeText(threadData, _txt, _l_varPart);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT121);
_txt = omc_Tpl_writeText(threadData, _txt, _l_tmp);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT105);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_varDecls;
tmpMeta[0+2] = _a_auxFunction;
goto tmp3_done;
}
case 5: {
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,0,4) == 0) goto tmp3_end;
tmpMeta[3] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 3));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[3],6,2) == 0) goto tmp3_end;
tmpMeta[4] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[3]), 2));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[4],0,4) == 0) goto tmp3_end;
tmpMeta[5] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[4]), 3));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[5],25,1) == 0) goto tmp3_end;
tmpMeta[6] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[5]), 2));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[6],21,6) == 0) goto tmp3_end;
tmpMeta[7] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[4]), 5));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[7],1,3) == 0) goto tmp3_end;
tmpMeta[8] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[7]), 2));
tmpMeta[9] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 4));
_i_explhs = tmpMeta[3];
_i_t1 = tmpMeta[6];
_i_fieldName_1 = tmpMeta[8];
_i_exp = tmpMeta[9];
_txt = tmp4_1;
_a_context = tmp4_3;
_a_varDecls = tmp4_4;
_a_auxFunction = tmp4_5;
_l_preExp = _OMC_LIT20;
_l_tmp = omc_CodegenCFunctions_tempDecl(threadData, _OMC_LIT20, _OMC_LIT311, _a_varDecls ,&_a_varDecls);
_l_varPart = omc_CodegenCFunctions_daeExp(threadData, _OMC_LIT20, _i_explhs, _a_context, _l_preExp, _a_varDecls, _a_auxFunction ,&_l_preExp ,&_a_varDecls ,&_a_auxFunction);
_l_expPart = omc_CodegenCFunctions_daeExp(threadData, _OMC_LIT20, _i_exp, _a_context, _l_preExp, _a_varDecls, _a_auxFunction ,&_l_preExp ,&_a_varDecls ,&_a_auxFunction);
_ret_24 = omc_Types_getMetaRecordFields(threadData, _i_t1);
_ret_25 = omc_Types_lookupIndexInMetaRecord(threadData, _ret_24, _i_fieldName_1);
_ret_26 = ((modelica_integer) 1) + _ret_25;
_l_indexInRecord = omc_Tpl_writeStr(threadData, _OMC_LIT20, intString(_ret_26));
_ret_27 = omc_Types_getMetaRecordFields(threadData, _i_t1);
_ret_28 = listLength(_ret_27);
_ret_29 = ((modelica_integer) 2) + _ret_28;
_l_len = omc_Tpl_writeStr(threadData, _OMC_LIT20, intString(_ret_29));
_txt = omc_Tpl_writeText(threadData, _txt, _l_preExp);
_txt = omc_Tpl_softNewLine(threadData, _txt);
_txt = omc_Tpl_writeText(threadData, _txt, _l_tmp);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1982);
_txt = omc_Tpl_writeText(threadData, _txt, _l_len);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1986);
_txt = omc_Tpl_writeText(threadData, _txt, _l_tmp);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1988);
_txt = omc_Tpl_writeText(threadData, _txt, _l_varPart);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT522);
_txt = omc_Tpl_writeText(threadData, _txt, _l_len);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1993);
_txt = omc_Tpl_writeText(threadData, _txt, _l_tmp);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1995);
_txt = omc_Tpl_writeText(threadData, _txt, _l_indexInRecord);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1997);
_txt = omc_Tpl_writeText(threadData, _txt, _l_expPart);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT161);
_txt = omc_Tpl_writeText(threadData, _txt, _l_varPart);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT121);
_txt = omc_Tpl_writeText(threadData, _txt, _l_tmp);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT105);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_varDecls;
tmpMeta[0+2] = _a_auxFunction;
goto tmp3_done;
}
case 6: {
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,0,4) == 0) goto tmp3_end;
tmpMeta[3] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 3));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[3],23,4) == 0) goto tmp3_end;
_i_exp1 = tmpMeta[3];
_txt = tmp4_1;
_a_varDecls = tmp4_4;
_a_auxFunction = tmp4_5;
_txt_30 = omc_Tpl_writeTok(threadData, _OMC_LIT20, _OMC_LIT1999);
_txt_30 = omc_ExpressionDumpTpl_dumpExp(threadData, _txt_30, _i_exp1, _OMC_LIT231);
_txt = omc_CodegenUtil_error(threadData, _txt, omc_Tpl_sourceInfo(threadData, _OMC_LIT27, ((modelica_integer) 2762), ((modelica_integer) 11)), omc_Tpl_textString(threadData, _txt_30));
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_varDecls;
tmpMeta[0+2] = _a_auxFunction;
goto tmp3_done;
}
case 7: {
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,0,4) == 0) goto tmp3_end;
tmpMeta[3] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 3));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[3],6,2) == 0) goto tmp3_end;
tmpMeta[4] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[3]), 3));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[4],12,1) == 0) goto tmp3_end;
tmpMeta[5] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 4));
_i_exp1 = tmpMeta[3];
_i_exp = tmpMeta[5];
_txt = tmp4_1;
_a_context = tmp4_3;
_a_varDecls = tmp4_4;
_a_auxFunction = tmp4_5;
_l_preExp = _OMC_LIT20;
_l_varPart = omc_CodegenCFunctions_daeExpCrefLhs(threadData, _OMC_LIT20, _i_exp1, _a_context, _l_preExp, _a_varDecls, _a_auxFunction, 0 ,&_l_preExp ,&_a_varDecls ,&_a_auxFunction);
_l_expPart = omc_CodegenCFunctions_daeExp(threadData, _OMC_LIT20, _i_exp, _a_context, _l_preExp, _a_varDecls, _a_auxFunction ,&_l_preExp ,&_a_varDecls ,&_a_auxFunction);
_txt = omc_Tpl_writeText(threadData, _txt, _l_preExp);
_txt = omc_Tpl_softNewLine(threadData, _txt);
_txt = omc_Tpl_writeText(threadData, _txt, _l_varPart);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT2001);
_txt = omc_Tpl_writeText(threadData, _txt, _l_expPart);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT105);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_varDecls;
tmpMeta[0+2] = _a_auxFunction;
goto tmp3_done;
}
case 8: {
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,0,4) == 0) goto tmp3_end;
tmpMeta[3] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 3));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[3],6,2) == 0) goto tmp3_end;
tmpMeta[4] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[3]), 3));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[4],13,2) == 0) goto tmp3_end;
tmpMeta[5] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 4));
_i_exp1 = tmpMeta[3];
_i_exp = tmpMeta[5];
_txt = tmp4_1;
_a_context = tmp4_3;
_a_varDecls = tmp4_4;
_a_auxFunction = tmp4_5;
_l_preExp = _OMC_LIT20;
_l_varPart = omc_CodegenCFunctions_daeExpCrefLhs(threadData, _OMC_LIT20, _i_exp1, _a_context, _l_preExp, _a_varDecls, _a_auxFunction, 0 ,&_l_preExp ,&_a_varDecls ,&_a_auxFunction);
_l_expPart = omc_CodegenCFunctions_daeExp(threadData, _OMC_LIT20, _i_exp, _a_context, _l_preExp, _a_varDecls, _a_auxFunction ,&_l_preExp ,&_a_varDecls ,&_a_auxFunction);
_txt = omc_Tpl_writeText(threadData, _txt, _l_preExp);
_txt = omc_Tpl_softNewLine(threadData, _txt);
_txt = omc_Tpl_writeText(threadData, _txt, _l_varPart);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT2001);
_txt = omc_Tpl_writeText(threadData, _txt, _l_expPart);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT105);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_varDecls;
tmpMeta[0+2] = _a_auxFunction;
goto tmp3_done;
}
case 9: {
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,0,4) == 0) goto tmp3_end;
tmpMeta[3] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 3));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[3],21,2) == 0) goto tmp3_end;
tmpMeta[4] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 4));
_i_exp1 = tmpMeta[3];
_i_exp = tmpMeta[4];
_i_val = tmpMeta[4];
_txt = tmp4_1;
_a_context = tmp4_3;
_a_varDecls = tmp4_4;
_a_auxFunction = tmp4_5;
_txt_31 = omc_CodegenCFunctions_expTypeFromExpShort(threadData, _OMC_LIT20, _i_exp);
_str_32 = omc_Tpl_textString(threadData, _txt_31);
_txt = omc_CodegenCFunctions_fun__472(threadData, _txt, _str_32, _i_val, _a_auxFunction, _a_varDecls, _a_context, _i_exp1 ,&_a_auxFunction ,&_a_varDecls);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_varDecls;
tmpMeta[0+2] = _a_auxFunction;
goto tmp3_done;
}
case 10: {
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,0,4) == 0) goto tmp3_end;
tmpMeta[3] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[3],9,3) == 0) goto tmp3_end;
tmpMeta[4] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[3]), 2));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[4],3,1) == 0) goto tmp3_end;
_i_stmt = tmp4_2;
_txt = tmp4_1;
_a_context = tmp4_3;
_a_varDecls = tmp4_4;
_a_auxFunction = tmp4_5;
_l_preExp = _OMC_LIT20;
_l_copy__stmt = omc_CodegenCFunctions_algStmtAssignRecord(threadData, _OMC_LIT20, _i_stmt, _a_context, _l_preExp, _a_varDecls, _a_auxFunction ,&_l_preExp ,&_a_varDecls ,&_a_auxFunction);
_txt = omc_Tpl_writeText(threadData, _txt, _l_preExp);
_txt = omc_Tpl_softNewLine(threadData, _txt);
_txt = omc_Tpl_writeText(threadData, _txt, _l_copy__stmt);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT105);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_varDecls;
tmpMeta[0+2] = _a_auxFunction;
goto tmp3_done;
}
case 11: {
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,0,4) == 0) goto tmp3_end;
tmpMeta[3] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 3));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[3],6,2) == 0) goto tmp3_end;
tmpMeta[4] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 4));
_i_exp1 = tmpMeta[3];
_i_exp = tmpMeta[4];
_txt = tmp4_1;
_a_context = tmp4_3;
_a_varDecls = tmp4_4;
_a_auxFunction = tmp4_5;
_l_preExp = _OMC_LIT20;
_l_varPart = omc_CodegenCFunctions_daeExpCrefLhs(threadData, _OMC_LIT20, _i_exp1, _a_context, _l_preExp, _a_varDecls, _a_auxFunction, 0 ,&_l_preExp ,&_a_varDecls ,&_a_auxFunction);
_l_expPart = omc_CodegenCFunctions_daeExp(threadData, _OMC_LIT20, _i_exp, _a_context, _l_preExp, _a_varDecls, _a_auxFunction ,&_l_preExp ,&_a_varDecls ,&_a_auxFunction);
_txt = omc_Tpl_writeText(threadData, _txt, _l_preExp);
_txt = omc_Tpl_softNewLine(threadData, _txt);
_txt = omc_Tpl_writeText(threadData, _txt, _l_varPart);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT121);
_txt = omc_Tpl_writeText(threadData, _txt, _l_expPart);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT105);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_varDecls;
tmpMeta[0+2] = _a_auxFunction;
goto tmp3_done;
}
case 12: {
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,0,4) == 0) goto tmp3_end;
tmpMeta[3] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 3));
tmpMeta[4] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 4));
_i_exp1 = tmpMeta[3];
_i_exp = tmpMeta[4];
_txt = tmp4_1;
_a_context = tmp4_3;
_a_varDecls = tmp4_4;
_a_auxFunction = tmp4_5;
_l_preExp = _OMC_LIT20;
_l_expPart1 = omc_CodegenCFunctions_daeExp(threadData, _OMC_LIT20, _i_exp1, _a_context, _l_preExp, _a_varDecls, _a_auxFunction ,&_l_preExp ,&_a_varDecls ,&_a_auxFunction);
_l_expPart2 = omc_CodegenCFunctions_daeExp(threadData, _OMC_LIT20, _i_exp, _a_context, _l_preExp, _a_varDecls, _a_auxFunction ,&_l_preExp ,&_a_varDecls ,&_a_auxFunction);
_txt = omc_Tpl_writeText(threadData, _txt, _l_preExp);
_txt = omc_Tpl_softNewLine(threadData, _txt);
_txt = omc_Tpl_writeText(threadData, _txt, _l_expPart1);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT121);
_txt = omc_Tpl_writeText(threadData, _txt, _l_expPart2);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT105);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_varDecls;
tmpMeta[0+2] = _a_auxFunction;
goto tmp3_done;
}
case 13: {
_txt = tmp4_1;
_a_varDecls = tmp4_4;
_a_auxFunction = tmp4_5;
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_varDecls;
tmpMeta[0+2] = _a_auxFunction;
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta[0+0];
_out_a_varDecls = tmpMeta[0+1];
_out_a_auxFunction = tmpMeta[0+2];
_return: OMC_LABEL_UNUSED
if (out_out_a_varDecls) { *out_out_a_varDecls = _out_a_varDecls; }
if (out_out_a_auxFunction) { *out_out_a_auxFunction = _out_a_auxFunction; }
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__472(threadData_t *threadData, modelica_metatype _in_txt, modelica_string _in_mArg, modelica_metatype _in_a_val, modelica_metatype _in_a_auxFunction, modelica_metatype _in_a_varDecls, modelica_metatype _in_a_context, modelica_metatype _in_a_exp1, modelica_metatype *out_out_a_auxFunction, modelica_metatype *out_out_a_varDecls)
{
modelica_metatype _out_txt = NULL;
modelica_metatype _out_a_auxFunction = NULL;
modelica_metatype _out_a_varDecls = NULL;
modelica_metatype tmpMeta[3] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_string tmp4_2;modelica_metatype tmp4_3;modelica_metatype tmp4_4;modelica_metatype tmp4_5;modelica_metatype tmp4_6;modelica_metatype tmp4_7;
tmp4_1 = _in_txt;
tmp4_2 = _in_mArg;
tmp4_3 = _in_a_val;
tmp4_4 = _in_a_auxFunction;
tmp4_5 = _in_a_varDecls;
tmp4_6 = _in_a_context;
tmp4_7 = _in_a_exp1;
{
modelica_metatype _txt = NULL;
modelica_metatype _a_val = NULL;
modelica_metatype _a_auxFunction = NULL;
modelica_metatype _a_varDecls = NULL;
modelica_metatype _a_context = NULL;
modelica_metatype _a_exp1 = NULL;
modelica_metatype _l_expPart = NULL;
modelica_metatype _l_varPart = NULL;
modelica_metatype _l_preExp = NULL;
volatile mmc_switch_type tmp4;
int tmp5;
tmp4 = 0;
for (; tmp4 < 2; tmp4++) {
switch (MMC_SWITCH_CAST(tmp4)) {
case 0: {
if (8 != MMC_STRLEN(tmp4_2) || strcmp(MMC_STRINGDATA(_OMC_LIT461), MMC_STRINGDATA(tmp4_2)) != 0) goto tmp3_end;
_txt = tmp4_1;
_a_val = tmp4_3;
_a_auxFunction = tmp4_4;
_a_varDecls = tmp4_5;
_a_context = tmp4_6;
_a_exp1 = tmp4_7;
tmpMeta[0+0] = omc_CodegenCFunctions_fun__471(threadData, _txt, _a_exp1, _a_val, _a_auxFunction, _a_varDecls, _a_context, &tmpMeta[0+1], &tmpMeta[0+2]);
goto tmp3_done;
}
case 1: {
_txt = tmp4_1;
_a_val = tmp4_3;
_a_auxFunction = tmp4_4;
_a_varDecls = tmp4_5;
_a_context = tmp4_6;
_a_exp1 = tmp4_7;
_l_preExp = _OMC_LIT20;
_l_varPart = omc_CodegenCFunctions_daeExpAsub(threadData, _OMC_LIT20, _a_exp1, _a_context, _l_preExp, _a_varDecls, _a_auxFunction ,&_l_preExp ,&_a_varDecls ,&_a_auxFunction);
_l_expPart = omc_CodegenCFunctions_daeExp(threadData, _OMC_LIT20, _a_val, _a_context, _l_preExp, _a_varDecls, _a_auxFunction ,&_l_preExp ,&_a_varDecls ,&_a_auxFunction);
_txt = omc_Tpl_writeText(threadData, _txt, _l_preExp);
_txt = omc_Tpl_softNewLine(threadData, _txt);
_txt = omc_Tpl_writeText(threadData, _txt, _l_varPart);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT121);
_txt = omc_Tpl_writeText(threadData, _txt, _l_expPart);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT105);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_auxFunction;
tmpMeta[0+2] = _a_varDecls;
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta[0+0];
_out_a_auxFunction = tmpMeta[0+1];
_out_a_varDecls = tmpMeta[0+2];
_return: OMC_LABEL_UNUSED
if (out_out_a_auxFunction) { *out_out_a_auxFunction = _out_a_auxFunction; }
if (out_out_a_varDecls) { *out_out_a_varDecls = _out_a_varDecls; }
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__471(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_exp1, modelica_metatype _in_a_val, modelica_metatype _in_a_auxFunction, modelica_metatype _in_a_varDecls, modelica_metatype _in_a_context, modelica_metatype *out_out_a_auxFunction, modelica_metatype *out_out_a_varDecls)
{
modelica_metatype _out_txt = NULL;
modelica_metatype _out_a_auxFunction = NULL;
modelica_metatype _out_a_varDecls = NULL;
modelica_metatype tmpMeta[7] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_metatype tmp4_2;modelica_metatype tmp4_3;modelica_metatype tmp4_4;modelica_metatype tmp4_5;modelica_metatype tmp4_6;
tmp4_1 = _in_txt;
tmp4_2 = _in_a_exp1;
tmp4_3 = _in_a_val;
tmp4_4 = _in_a_auxFunction;
tmp4_5 = _in_a_varDecls;
tmp4_6 = _in_a_context;
{
modelica_metatype _txt = NULL;
modelica_metatype _a_val = NULL;
modelica_metatype _a_auxFunction = NULL;
modelica_metatype _a_varDecls = NULL;
modelica_metatype _a_context = NULL;
modelica_metatype _i_idx = NULL;
modelica_metatype _i_arr = NULL;
modelica_metatype _l_val1 = NULL;
modelica_metatype _l_idx1 = NULL;
modelica_metatype _l_arr1 = NULL;
modelica_metatype _l_preExp = NULL;
volatile mmc_switch_type tmp4;
int tmp5;
tmp4 = 0;
for (; tmp4 < 2; tmp4++) {
switch (MMC_SWITCH_CAST(tmp4)) {
case 0: {
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,21,2) == 0) goto tmp3_end;
tmpMeta[3] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
tmpMeta[4] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 3));
if (listEmpty(tmpMeta[4])) goto tmp3_end;
tmpMeta[5] = MMC_CAR(tmpMeta[4]);
tmpMeta[6] = MMC_CDR(tmpMeta[4]);
if (!listEmpty(tmpMeta[6])) goto tmp3_end;
_i_arr = tmpMeta[3];
_i_idx = tmpMeta[5];
_txt = tmp4_1;
_a_val = tmp4_3;
_a_auxFunction = tmp4_4;
_a_varDecls = tmp4_5;
_a_context = tmp4_6;
_l_preExp = _OMC_LIT20;
_l_arr1 = omc_CodegenCFunctions_daeExp(threadData, _OMC_LIT20, _i_arr, _a_context, _l_preExp, _a_varDecls, _a_auxFunction ,&_l_preExp ,&_a_varDecls ,&_a_auxFunction);
_l_idx1 = omc_CodegenCFunctions_daeExp(threadData, _OMC_LIT20, _i_idx, _a_context, _l_preExp, _a_varDecls, _a_auxFunction ,&_l_preExp ,&_a_varDecls ,&_a_auxFunction);
_l_val1 = omc_CodegenCFunctions_daeExp(threadData, _OMC_LIT20, _a_val, _a_context, _l_preExp, _a_varDecls, _a_auxFunction ,&_l_preExp ,&_a_varDecls ,&_a_auxFunction);
_txt = omc_Tpl_writeText(threadData, _txt, _l_preExp);
_txt = omc_Tpl_softNewLine(threadData, _txt);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT2003);
_txt = omc_Tpl_writeText(threadData, _txt, _l_arr1);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT226);
_txt = omc_Tpl_writeText(threadData, _txt, _l_idx1);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT226);
_txt = omc_Tpl_writeText(threadData, _txt, _l_val1);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT290);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_auxFunction;
tmpMeta[0+2] = _a_varDecls;
goto tmp3_done;
}
case 1: {
_txt = tmp4_1;
_a_auxFunction = tmp4_4;
_a_varDecls = tmp4_5;
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_auxFunction;
tmpMeta[0+2] = _a_varDecls;
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta[0+0];
_out_a_auxFunction = tmpMeta[0+1];
_out_a_varDecls = tmpMeta[0+2];
_return: OMC_LABEL_UNUSED
if (out_out_a_auxFunction) { *out_out_a_auxFunction = _out_a_auxFunction; }
if (out_out_a_varDecls) { *out_out_a_varDecls = _out_a_varDecls; }
return _out_txt;
}
DLLExport
modelica_metatype omc_CodegenCFunctions_algStatement(threadData_t *threadData, modelica_metatype _txt, modelica_metatype _a_stmt, modelica_metatype _a_context, modelica_metatype _a_varDecls, modelica_metatype _a_auxFunction, modelica_metatype *out_out_a_varDecls, modelica_metatype *out_out_a_auxFunction)
{
modelica_metatype _out_txt = NULL;
modelica_metatype _out_a_varDecls = NULL;
modelica_metatype _out_a_auxFunction = NULL;
modelica_integer _ret_0;
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
_ret_0 = omc_System_tmpTickIndexReserve(threadData, ((modelica_integer) 1), ((modelica_integer) 0));
_out_txt = omc_CodegenCFunctions_fun__469(threadData, _txt, _ret_0, _a_stmt, _a_context, _a_varDecls, _a_auxFunction ,&_out_a_varDecls ,&_out_a_auxFunction);
_return: OMC_LABEL_UNUSED
if (out_out_a_varDecls) { *out_out_a_varDecls = _out_a_varDecls; }
if (out_out_a_auxFunction) { *out_out_a_auxFunction = _out_a_auxFunction; }
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__469(threadData_t *threadData, modelica_metatype _in_txt, modelica_integer _in_mArg, modelica_metatype _in_a_stmt, modelica_metatype _in_a_context, modelica_metatype _in_a_varDecls, modelica_metatype _in_a_auxFunction, modelica_metatype *out_out_a_varDecls, modelica_metatype *out_out_a_auxFunction)
{
modelica_metatype _out_txt = NULL;
modelica_metatype _out_a_varDecls = NULL;
modelica_metatype _out_a_auxFunction = NULL;
modelica_metatype tmpMeta[3] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_integer tmp4_2;modelica_metatype tmp4_3;modelica_metatype tmp4_4;modelica_metatype tmp4_5;modelica_metatype tmp4_6;
tmp4_1 = _in_txt;
tmp4_2 = _in_mArg;
tmp4_3 = _in_a_stmt;
tmp4_4 = _in_a_context;
tmp4_5 = _in_a_varDecls;
tmp4_6 = _in_a_auxFunction;
{
modelica_metatype _txt = NULL;
modelica_metatype _a_stmt = NULL;
modelica_metatype _a_context = NULL;
modelica_metatype _a_varDecls = NULL;
modelica_metatype _a_auxFunction = NULL;
modelica_integer _i_oldIndex;
modelica_metatype _ret_2 = NULL;
modelica_metatype _ret_1 = NULL;
modelica_metatype _l_res = NULL;
volatile mmc_switch_type tmp4;
int tmp5;
tmp4 = 0;
for (; tmp4 < 1; tmp4++) {
switch (MMC_SWITCH_CAST(tmp4)) {
case 0: {
_txt = tmp4_1;
_i_oldIndex = tmp4_2;
_a_stmt = tmp4_3;
_a_context = tmp4_4;
_a_varDecls = tmp4_5;
_a_auxFunction = tmp4_6;
_l_res = omc_CodegenCFunctions_fun__468(threadData, _OMC_LIT20, _a_stmt, _a_auxFunction, _a_varDecls, _a_context ,&_a_auxFunction ,&_a_varDecls);
omc_System_tmpTickSetIndex(threadData, _i_oldIndex, ((modelica_integer) 1));
_ret_1 = omc_Algorithm_getStatementSource(threadData, _a_stmt);
_ret_2 = omc_ElementSource_getElementSourceFileInfo(threadData, _ret_1);
_txt = omc_CodegenCFunctions_modelicaLine(threadData, _txt, _ret_2);
_txt = omc_Tpl_writeText(threadData, _txt, _l_res);
_txt = omc_Tpl_softNewLine(threadData, _txt);
_txt = omc_CodegenCFunctions_endModelicaLine(threadData, _txt);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_varDecls;
tmpMeta[0+2] = _a_auxFunction;
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta[0+0];
_out_a_varDecls = tmpMeta[0+1];
_out_a_auxFunction = tmpMeta[0+2];
_return: OMC_LABEL_UNUSED
if (out_out_a_varDecls) { *out_out_a_varDecls = _out_a_varDecls; }
if (out_out_a_auxFunction) { *out_out_a_auxFunction = _out_a_auxFunction; }
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__469(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_mArg, modelica_metatype _in_a_stmt, modelica_metatype _in_a_context, modelica_metatype _in_a_varDecls, modelica_metatype _in_a_auxFunction, modelica_metatype *out_out_a_varDecls, modelica_metatype *out_out_a_auxFunction)
{
modelica_integer tmp1;
modelica_metatype _out_txt = NULL;
tmp1 = mmc_unbox_integer(_in_mArg);
_out_txt = omc_CodegenCFunctions_fun__469(threadData, _in_txt, tmp1, _in_a_stmt, _in_a_context, _in_a_varDecls, _in_a_auxFunction, out_out_a_varDecls, out_out_a_auxFunction);
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__468(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_stmt, modelica_metatype _in_a_auxFunction, modelica_metatype _in_a_varDecls, modelica_metatype _in_a_context, modelica_metatype *out_out_a_auxFunction, modelica_metatype *out_out_a_varDecls)
{
modelica_metatype _out_txt = NULL;
modelica_metatype _out_a_auxFunction = NULL;
modelica_metatype _out_a_varDecls = NULL;
modelica_metatype tmpMeta[4] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_metatype tmp4_2;modelica_metatype tmp4_3;modelica_metatype tmp4_4;modelica_metatype tmp4_5;
tmp4_1 = _in_txt;
tmp4_2 = _in_a_stmt;
tmp4_3 = _in_a_auxFunction;
tmp4_4 = _in_a_varDecls;
tmp4_5 = _in_a_context;
{
modelica_metatype _txt = NULL;
modelica_metatype _a_auxFunction = NULL;
modelica_metatype _a_varDecls = NULL;
modelica_metatype _a_context = NULL;
modelica_metatype _i_s = NULL;
volatile mmc_switch_type tmp4;
int tmp5;
tmp4 = 0;
for (; tmp4 < 18; tmp4++) {
switch (MMC_SWITCH_CAST(tmp4)) {
case 0: {
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,0,4) == 0) goto tmp3_end;
tmpMeta[3] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 3));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[3],37,1) == 0) goto tmp3_end;
_i_s = tmp4_2;
_txt = tmp4_1;
_a_auxFunction = tmp4_3;
_a_varDecls = tmp4_4;
_a_context = tmp4_5;
_txt = omc_CodegenCFunctions_algStmtAssignPattern(threadData, _txt, _i_s, _a_context, _a_varDecls, _a_auxFunction ,&_a_varDecls ,&_a_auxFunction);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_auxFunction;
tmpMeta[0+2] = _a_varDecls;
goto tmp3_done;
}
case 1: {
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,0,4) == 0) goto tmp3_end;
_i_s = tmp4_2;
_txt = tmp4_1;
_a_auxFunction = tmp4_3;
_a_varDecls = tmp4_4;
_a_context = tmp4_5;
_txt = omc_CodegenCFunctions_algStmtAssign(threadData, _txt, _i_s, _a_context, _a_varDecls, _a_auxFunction ,&_a_varDecls ,&_a_auxFunction);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_auxFunction;
tmpMeta[0+2] = _a_varDecls;
goto tmp3_done;
}
case 2: {
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,2,4) == 0) goto tmp3_end;
_i_s = tmp4_2;
_txt = tmp4_1;
_a_auxFunction = tmp4_3;
_a_varDecls = tmp4_4;
_a_context = tmp4_5;
_txt = omc_CodegenCFunctions_algStmtAssignArr(threadData, _txt, _i_s, _a_context, _a_varDecls, _a_auxFunction ,&_a_varDecls ,&_a_auxFunction);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_auxFunction;
tmpMeta[0+2] = _a_varDecls;
goto tmp3_done;
}
case 3: {
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,1,4) == 0) goto tmp3_end;
_i_s = tmp4_2;
_txt = tmp4_1;
_a_auxFunction = tmp4_3;
_a_varDecls = tmp4_4;
_a_context = tmp4_5;
_txt = omc_CodegenCFunctions_algStmtTupleAssign(threadData, _txt, _i_s, _a_context, _a_varDecls, _a_auxFunction ,&_a_varDecls ,&_a_auxFunction);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_auxFunction;
tmpMeta[0+2] = _a_varDecls;
goto tmp3_done;
}
case 4: {
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,3,4) == 0) goto tmp3_end;
_i_s = tmp4_2;
_txt = tmp4_1;
_a_auxFunction = tmp4_3;
_a_varDecls = tmp4_4;
_a_context = tmp4_5;
_txt = omc_CodegenCFunctions_algStmtIf(threadData, _txt, _i_s, _a_context, _a_varDecls, _a_auxFunction ,&_a_varDecls ,&_a_auxFunction);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_auxFunction;
tmpMeta[0+2] = _a_varDecls;
goto tmp3_done;
}
case 5: {
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,4,7) == 0) goto tmp3_end;
_i_s = tmp4_2;
_txt = tmp4_1;
_a_auxFunction = tmp4_3;
_a_varDecls = tmp4_4;
_a_context = tmp4_5;
_txt = omc_CodegenCFunctions_algStmtFor(threadData, _txt, _i_s, _a_context, _a_varDecls, _a_auxFunction ,&_a_varDecls ,&_a_auxFunction);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_auxFunction;
tmpMeta[0+2] = _a_varDecls;
goto tmp3_done;
}
case 6: {
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,5,8) == 0) goto tmp3_end;
_i_s = tmp4_2;
_txt = tmp4_1;
_a_auxFunction = tmp4_3;
_a_varDecls = tmp4_4;
_a_context = tmp4_5;
_txt = omc_CodegenCFunctions_algStmtParForInterface(threadData, _txt, _i_s, _a_context, _a_varDecls, _a_auxFunction ,&_a_varDecls ,&_a_auxFunction);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_auxFunction;
tmpMeta[0+2] = _a_varDecls;
goto tmp3_done;
}
case 7: {
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,6,3) == 0) goto tmp3_end;
_i_s = tmp4_2;
_txt = tmp4_1;
_a_auxFunction = tmp4_3;
_a_varDecls = tmp4_4;
_a_context = tmp4_5;
_txt = omc_CodegenCFunctions_algStmtWhile(threadData, _txt, _i_s, _a_context, _a_varDecls, _a_auxFunction ,&_a_varDecls ,&_a_auxFunction);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_auxFunction;
tmpMeta[0+2] = _a_varDecls;
goto tmp3_done;
}
case 8: {
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,8,4) == 0) goto tmp3_end;
_i_s = tmp4_2;
_txt = tmp4_1;
_a_auxFunction = tmp4_3;
_a_varDecls = tmp4_4;
_a_context = tmp4_5;
_txt = omc_CodegenCFunctions_algStmtAssert(threadData, _txt, _i_s, _a_context, _a_varDecls, _a_auxFunction ,&_a_varDecls ,&_a_auxFunction);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_auxFunction;
tmpMeta[0+2] = _a_varDecls;
goto tmp3_done;
}
case 9: {
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,9,2) == 0) goto tmp3_end;
_i_s = tmp4_2;
_txt = tmp4_1;
_a_auxFunction = tmp4_3;
_a_varDecls = tmp4_4;
_a_context = tmp4_5;
_txt = omc_CodegenCFunctions_algStmtTerminate(threadData, _txt, _i_s, _a_context, _a_varDecls, _a_auxFunction ,&_a_varDecls ,&_a_auxFunction);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_auxFunction;
tmpMeta[0+2] = _a_varDecls;
goto tmp3_done;
}
case 10: {
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,7,6) == 0) goto tmp3_end;
_i_s = tmp4_2;
_txt = tmp4_1;
_a_auxFunction = tmp4_3;
_a_varDecls = tmp4_4;
_a_context = tmp4_5;
_txt = omc_CodegenCFunctions_algStmtWhen(threadData, _txt, _i_s, _a_context, _a_varDecls, _a_auxFunction ,&_a_varDecls ,&_a_auxFunction);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_auxFunction;
tmpMeta[0+2] = _a_varDecls;
goto tmp3_done;
}
case 11: {
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,13,1) == 0) goto tmp3_end;
_txt = tmp4_1;
_a_auxFunction = tmp4_3;
_a_varDecls = tmp4_4;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT2005);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT89);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_auxFunction;
tmpMeta[0+2] = _a_varDecls;
goto tmp3_done;
}
case 12: {
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,14,1) == 0) goto tmp3_end;
_txt = tmp4_1;
_a_auxFunction = tmp4_3;
_a_varDecls = tmp4_4;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT2007);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT89);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_auxFunction;
tmpMeta[0+2] = _a_varDecls;
goto tmp3_done;
}
case 13: {
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,16,2) == 0) goto tmp3_end;
_i_s = tmp4_2;
_txt = tmp4_1;
_a_auxFunction = tmp4_3;
_a_varDecls = tmp4_4;
_a_context = tmp4_5;
_txt = omc_CodegenCFunctions_algStmtFailure(threadData, _txt, _i_s, _a_context, _a_varDecls, _a_auxFunction ,&_a_varDecls ,&_a_auxFunction);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_auxFunction;
tmpMeta[0+2] = _a_varDecls;
goto tmp3_done;
}
case 14: {
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,12,1) == 0) goto tmp3_end;
_txt = tmp4_1;
_a_auxFunction = tmp4_3;
_a_varDecls = tmp4_4;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT2009);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT89);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_auxFunction;
tmpMeta[0+2] = _a_varDecls;
goto tmp3_done;
}
case 15: {
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,11,2) == 0) goto tmp3_end;
_i_s = tmp4_2;
_txt = tmp4_1;
_a_auxFunction = tmp4_3;
_a_varDecls = tmp4_4;
_a_context = tmp4_5;
_txt = omc_CodegenCFunctions_algStmtNoretcall(threadData, _txt, _i_s, _a_context, _a_varDecls, _a_auxFunction ,&_a_varDecls ,&_a_auxFunction);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_auxFunction;
tmpMeta[0+2] = _a_varDecls;
goto tmp3_done;
}
case 16: {
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,10,3) == 0) goto tmp3_end;
_i_s = tmp4_2;
_txt = tmp4_1;
_a_auxFunction = tmp4_3;
_a_varDecls = tmp4_4;
_a_context = tmp4_5;
_txt = omc_CodegenCFunctions_algStmtReinit(threadData, _txt, _i_s, _a_context, _a_varDecls, _a_auxFunction ,&_a_varDecls ,&_a_auxFunction);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_auxFunction;
tmpMeta[0+2] = _a_varDecls;
goto tmp3_done;
}
case 17: {
_txt = tmp4_1;
_a_auxFunction = tmp4_3;
_a_varDecls = tmp4_4;
_txt = omc_CodegenUtil_error(threadData, _txt, omc_Tpl_sourceInfo(threadData, _OMC_LIT27, ((modelica_integer) 2722), ((modelica_integer) 14)), _OMC_LIT2010);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_auxFunction;
tmpMeta[0+2] = _a_varDecls;
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta[0+0];
_out_a_auxFunction = tmpMeta[0+1];
_out_a_varDecls = tmpMeta[0+2];
_return: OMC_LABEL_UNUSED
if (out_out_a_auxFunction) { *out_out_a_auxFunction = _out_a_auxFunction; }
if (out_out_a_varDecls) { *out_out_a_varDecls = _out_a_varDecls; }
return _out_txt;
}
DLLExport
modelica_metatype omc_CodegenCFunctions_extractParFors__impl(threadData_t *threadData, modelica_metatype _txt, modelica_metatype _a_stmt, modelica_metatype _a_context, modelica_metatype _a_varDecls, modelica_metatype _a_auxFunction, modelica_metatype *out_out_a_varDecls, modelica_metatype *out_out_a_auxFunction)
{
modelica_metatype _out_txt = NULL;
modelica_metatype _out_a_varDecls = NULL;
modelica_metatype _out_a_auxFunction = NULL;
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
_out_txt = omc_CodegenCFunctions_fun__466(threadData, _txt, _a_stmt, _a_varDecls, _a_auxFunction ,&_out_a_varDecls ,&_out_a_auxFunction);
_return: OMC_LABEL_UNUSED
if (out_out_a_varDecls) { *out_out_a_varDecls = _out_a_varDecls; }
if (out_out_a_auxFunction) { *out_out_a_auxFunction = _out_a_auxFunction; }
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__466(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_stmt, modelica_metatype _in_a_varDecls, modelica_metatype _in_a_auxFunction, modelica_metatype *out_out_a_varDecls, modelica_metatype *out_out_a_auxFunction)
{
modelica_metatype _out_txt = NULL;
modelica_metatype _out_a_varDecls = NULL;
modelica_metatype _out_a_auxFunction = NULL;
modelica_metatype tmpMeta[3] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_metatype tmp4_2;modelica_metatype tmp4_3;modelica_metatype tmp4_4;
tmp4_1 = _in_txt;
tmp4_2 = _in_a_stmt;
tmp4_3 = _in_a_varDecls;
tmp4_4 = _in_a_auxFunction;
{
modelica_metatype _txt = NULL;
modelica_metatype _a_varDecls = NULL;
modelica_metatype _a_auxFunction = NULL;
modelica_metatype _i_s = NULL;
volatile mmc_switch_type tmp4;
int tmp5;
tmp4 = 0;
for (; tmp4 < 2; tmp4++) {
switch (MMC_SWITCH_CAST(tmp4)) {
case 0: {
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,5,8) == 0) goto tmp3_end;
_i_s = tmp4_2;
_txt = tmp4_1;
_a_varDecls = tmp4_3;
_a_auxFunction = tmp4_4;
tmpMeta[0+0] = omc_CodegenCFunctions_algStmtParForBody(threadData, _txt, _i_s, _OMC_LIT2011, _a_varDecls, _a_auxFunction, &tmpMeta[0+1], &tmpMeta[0+2]);
goto tmp3_done;
}
case 1: {
_txt = tmp4_1;
_a_varDecls = tmp4_3;
_a_auxFunction = tmp4_4;
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_varDecls;
tmpMeta[0+2] = _a_auxFunction;
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta[0+0];
_out_a_varDecls = tmpMeta[0+1];
_out_a_auxFunction = tmpMeta[0+2];
_return: OMC_LABEL_UNUSED
if (out_out_a_varDecls) { *out_out_a_varDecls = _out_a_varDecls; }
if (out_out_a_auxFunction) { *out_out_a_auxFunction = _out_a_auxFunction; }
return _out_txt;
}
DLLExport
modelica_metatype omc_CodegenCFunctions_extractParFors(threadData_t *threadData, modelica_metatype _txt, modelica_metatype _a_statementLst, modelica_metatype _a_varDecls, modelica_metatype _a_auxFunction, modelica_metatype *out_out_a_varDecls, modelica_metatype *out_out_a_auxFunction)
{
modelica_metatype _out_txt = NULL;
modelica_metatype _out_a_varDecls = NULL;
modelica_metatype _out_a_auxFunction = NULL;
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
_out_txt = omc_Tpl_pushIter(threadData, _txt, _OMC_LIT96);
_out_txt = omc_CodegenCFunctions_lm__464(threadData, _out_txt, _a_statementLst, _a_auxFunction, _a_varDecls ,&_out_a_auxFunction ,&_out_a_varDecls);
_out_txt = omc_Tpl_popIter(threadData, _out_txt);
_return: OMC_LABEL_UNUSED
if (out_out_a_varDecls) { *out_out_a_varDecls = _out_a_varDecls; }
if (out_out_a_auxFunction) { *out_out_a_auxFunction = _out_a_auxFunction; }
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_lm__464(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_items, modelica_metatype _in_a_auxFunction, modelica_metatype _in_a_varDecls, modelica_metatype *out_out_a_auxFunction, modelica_metatype *out_out_a_varDecls)
{
modelica_metatype _out_txt = NULL;
modelica_metatype _out_a_auxFunction = NULL;
modelica_metatype _out_a_varDecls = NULL;
modelica_metatype tmpMeta[5] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_metatype tmp4_2;modelica_metatype tmp4_3;modelica_metatype tmp4_4;
tmp4_1 = _in_txt;
tmp4_2 = _in_items;
tmp4_3 = _in_a_auxFunction;
tmp4_4 = _in_a_varDecls;
{
modelica_metatype _txt = NULL;
modelica_metatype _rest = NULL;
modelica_metatype _a_auxFunction = NULL;
modelica_metatype _a_varDecls = NULL;
modelica_metatype _i_stmt = NULL;
volatile mmc_switch_type tmp4;
int tmp5;
tmp4 = 0;
for (; tmp4 < 2; tmp4++) {
switch (MMC_SWITCH_CAST(tmp4)) {
case 0: {
if (!listEmpty(tmp4_2)) goto tmp3_end;
_txt = tmp4_1;
_a_auxFunction = tmp4_3;
_a_varDecls = tmp4_4;
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_auxFunction;
tmpMeta[0+2] = _a_varDecls;
goto tmp3_done;
}
case 1: {
if (listEmpty(tmp4_2)) goto tmp3_end;
tmpMeta[3] = MMC_CAR(tmp4_2);
tmpMeta[4] = MMC_CDR(tmp4_2);
_i_stmt = tmpMeta[3];
_rest = tmpMeta[4];
_txt = tmp4_1;
_a_auxFunction = tmp4_3;
_a_varDecls = tmp4_4;
_txt = omc_CodegenCFunctions_extractParFors__impl(threadData, _txt, _i_stmt, _OMC_LIT2011, _a_varDecls, _a_auxFunction ,&_a_varDecls ,&_a_auxFunction);
_txt = omc_Tpl_nextIter(threadData, _txt);
_in_txt = _txt;
_in_items = _rest;
_in_a_auxFunction = _a_auxFunction;
_in_a_varDecls = _a_varDecls;
goto _tailrecursive;
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta[0+0];
_out_a_auxFunction = tmpMeta[0+1];
_out_a_varDecls = tmpMeta[0+2];
_return: OMC_LABEL_UNUSED
if (out_out_a_auxFunction) { *out_out_a_auxFunction = _out_a_auxFunction; }
if (out_out_a_varDecls) { *out_out_a_varDecls = _out_a_varDecls; }
return _out_txt;
}
DLLExport
modelica_metatype omc_CodegenCFunctions_parModelicafunStatement(threadData_t *threadData, modelica_metatype _txt, modelica_metatype _a_statementLst, modelica_metatype _a_varDecls, modelica_metatype _a_auxFunction, modelica_metatype *out_out_a_varDecls, modelica_metatype *out_out_a_auxFunction)
{
modelica_metatype _out_txt = NULL;
modelica_metatype _out_a_varDecls = NULL;
modelica_metatype _out_a_auxFunction = NULL;
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
_out_txt = omc_Tpl_pushIter(threadData, _txt, _OMC_LIT96);
_out_txt = omc_CodegenCFunctions_lm__462(threadData, _out_txt, _a_statementLst, _a_auxFunction, _a_varDecls ,&_out_a_auxFunction ,&_out_a_varDecls);
_out_txt = omc_Tpl_popIter(threadData, _out_txt);
_return: OMC_LABEL_UNUSED
if (out_out_a_varDecls) { *out_out_a_varDecls = _out_a_varDecls; }
if (out_out_a_auxFunction) { *out_out_a_auxFunction = _out_a_auxFunction; }
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_lm__462(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_items, modelica_metatype _in_a_auxFunction, modelica_metatype _in_a_varDecls, modelica_metatype *out_out_a_auxFunction, modelica_metatype *out_out_a_varDecls)
{
modelica_metatype _out_txt = NULL;
modelica_metatype _out_a_auxFunction = NULL;
modelica_metatype _out_a_varDecls = NULL;
modelica_metatype tmpMeta[5] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_metatype tmp4_2;modelica_metatype tmp4_3;modelica_metatype tmp4_4;
tmp4_1 = _in_txt;
tmp4_2 = _in_items;
tmp4_3 = _in_a_auxFunction;
tmp4_4 = _in_a_varDecls;
{
modelica_metatype _txt = NULL;
modelica_metatype _rest = NULL;
modelica_metatype _a_auxFunction = NULL;
modelica_metatype _a_varDecls = NULL;
modelica_metatype _i_stmt = NULL;
volatile mmc_switch_type tmp4;
int tmp5;
tmp4 = 0;
for (; tmp4 < 2; tmp4++) {
switch (MMC_SWITCH_CAST(tmp4)) {
case 0: {
if (!listEmpty(tmp4_2)) goto tmp3_end;
_txt = tmp4_1;
_a_auxFunction = tmp4_3;
_a_varDecls = tmp4_4;
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_auxFunction;
tmpMeta[0+2] = _a_varDecls;
goto tmp3_done;
}
case 1: {
if (listEmpty(tmp4_2)) goto tmp3_end;
tmpMeta[3] = MMC_CAR(tmp4_2);
tmpMeta[4] = MMC_CDR(tmp4_2);
_i_stmt = tmpMeta[3];
_rest = tmpMeta[4];
_txt = tmp4_1;
_a_auxFunction = tmp4_3;
_a_varDecls = tmp4_4;
_txt = omc_CodegenCFunctions_algStatement(threadData, _txt, _i_stmt, _OMC_LIT2011, _a_varDecls, _a_auxFunction ,&_a_varDecls ,&_a_auxFunction);
_txt = omc_Tpl_nextIter(threadData, _txt);
_in_txt = _txt;
_in_items = _rest;
_in_a_auxFunction = _a_auxFunction;
_in_a_varDecls = _a_varDecls;
goto _tailrecursive;
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta[0+0];
_out_a_auxFunction = tmpMeta[0+1];
_out_a_varDecls = tmpMeta[0+2];
_return: OMC_LABEL_UNUSED
if (out_out_a_auxFunction) { *out_out_a_auxFunction = _out_a_auxFunction; }
if (out_out_a_varDecls) { *out_out_a_varDecls = _out_a_varDecls; }
return _out_txt;
}
DLLExport
modelica_metatype omc_CodegenCFunctions_funStatement(threadData_t *threadData, modelica_metatype _txt, modelica_metatype _a_statementLst, modelica_metatype _a_varDecls, modelica_metatype _a_auxFunction, modelica_metatype *out_out_a_varDecls, modelica_metatype *out_out_a_auxFunction)
{
modelica_metatype _out_txt = NULL;
modelica_metatype _out_a_varDecls = NULL;
modelica_metatype _out_a_auxFunction = NULL;
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
_out_txt = omc_Tpl_pushIter(threadData, _txt, _OMC_LIT96);
_out_txt = omc_CodegenCFunctions_lm__460(threadData, _out_txt, _a_statementLst, _a_auxFunction, _a_varDecls ,&_out_a_auxFunction ,&_out_a_varDecls);
_out_txt = omc_Tpl_popIter(threadData, _out_txt);
_return: OMC_LABEL_UNUSED
if (out_out_a_varDecls) { *out_out_a_varDecls = _out_a_varDecls; }
if (out_out_a_auxFunction) { *out_out_a_auxFunction = _out_a_auxFunction; }
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_lm__460(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_items, modelica_metatype _in_a_auxFunction, modelica_metatype _in_a_varDecls, modelica_metatype *out_out_a_auxFunction, modelica_metatype *out_out_a_varDecls)
{
modelica_metatype _out_txt = NULL;
modelica_metatype _out_a_auxFunction = NULL;
modelica_metatype _out_a_varDecls = NULL;
modelica_metatype tmpMeta[5] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_metatype tmp4_2;modelica_metatype tmp4_3;modelica_metatype tmp4_4;
tmp4_1 = _in_txt;
tmp4_2 = _in_items;
tmp4_3 = _in_a_auxFunction;
tmp4_4 = _in_a_varDecls;
{
modelica_metatype _txt = NULL;
modelica_metatype _rest = NULL;
modelica_metatype _a_auxFunction = NULL;
modelica_metatype _a_varDecls = NULL;
modelica_metatype _i_stmt = NULL;
volatile mmc_switch_type tmp4;
int tmp5;
tmp4 = 0;
for (; tmp4 < 2; tmp4++) {
switch (MMC_SWITCH_CAST(tmp4)) {
case 0: {
if (!listEmpty(tmp4_2)) goto tmp3_end;
_txt = tmp4_1;
_a_auxFunction = tmp4_3;
_a_varDecls = tmp4_4;
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_auxFunction;
tmpMeta[0+2] = _a_varDecls;
goto tmp3_done;
}
case 1: {
if (listEmpty(tmp4_2)) goto tmp3_end;
tmpMeta[3] = MMC_CAR(tmp4_2);
tmpMeta[4] = MMC_CDR(tmp4_2);
_i_stmt = tmpMeta[3];
_rest = tmpMeta[4];
_txt = tmp4_1;
_a_auxFunction = tmp4_3;
_a_varDecls = tmp4_4;
_txt = omc_CodegenCFunctions_algStatement(threadData, _txt, _i_stmt, _OMC_LIT1356, _a_varDecls, _a_auxFunction ,&_a_varDecls ,&_a_auxFunction);
_txt = omc_Tpl_nextIter(threadData, _txt);
_in_txt = _txt;
_in_items = _rest;
_in_a_auxFunction = _a_auxFunction;
_in_a_varDecls = _a_varDecls;
goto _tailrecursive;
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta[0+0];
_out_a_auxFunction = tmpMeta[0+1];
_out_a_varDecls = tmpMeta[0+2];
_return: OMC_LABEL_UNUSED
if (out_out_a_auxFunction) { *out_out_a_auxFunction = _out_a_auxFunction; }
if (out_out_a_varDecls) { *out_out_a_varDecls = _out_a_varDecls; }
return _out_txt;
}
DLLExport
modelica_metatype omc_CodegenCFunctions_tempSizeVarName(threadData_t *threadData, modelica_metatype _txt, modelica_metatype _a_c, modelica_metatype _a_indices, modelica_metatype _a_auxFunction, modelica_metatype *out_out_a_auxFunction)
{
modelica_metatype _out_txt = NULL;
modelica_metatype _out_a_auxFunction = NULL;
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
_out_txt = omc_CodegenCFunctions_fun__458(threadData, _txt, _a_indices, _a_c, _a_auxFunction ,&_out_a_auxFunction);
_return: OMC_LABEL_UNUSED
if (out_out_a_auxFunction) { *out_out_a_auxFunction = _out_a_auxFunction; }
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__458(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_indices, modelica_metatype _in_a_c, modelica_metatype _in_a_auxFunction, modelica_metatype *out_out_a_auxFunction)
{
modelica_metatype _out_txt = NULL;
modelica_metatype _out_a_auxFunction = NULL;
modelica_metatype tmpMeta[3] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_metatype tmp4_2;modelica_metatype tmp4_3;modelica_metatype tmp4_4;
tmp4_1 = _in_txt;
tmp4_2 = _in_a_indices;
tmp4_3 = _in_a_c;
tmp4_4 = _in_a_auxFunction;
{
modelica_metatype _txt = NULL;
modelica_metatype _a_c = NULL;
modelica_metatype _a_auxFunction = NULL;
modelica_integer _i_integer;
volatile mmc_switch_type tmp4;
int tmp5;
tmp4 = 0;
for (; tmp4 < 2; tmp4++) {
switch (MMC_SWITCH_CAST(tmp4)) {
case 0: {
modelica_integer tmp6;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,0,1) == 0) goto tmp3_end;
tmpMeta[2] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
tmp6 = mmc_unbox_integer(tmpMeta[2]);
_i_integer = tmp6;
_txt = tmp4_1;
_a_c = tmp4_3;
_a_auxFunction = tmp4_4;
_txt = omc_CodegenCFunctions_contextCrefNoPrevExp(threadData, _txt, _a_c, _OMC_LIT1356, _a_auxFunction ,&_a_auxFunction);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT2013);
_txt = omc_Tpl_writeStr(threadData, _txt, intString(_i_integer));
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_auxFunction;
goto tmp3_done;
}
case 1: {
_txt = tmp4_1;
_a_auxFunction = tmp4_4;
_txt = omc_CodegenUtil_error(threadData, _txt, omc_Tpl_sourceInfo(threadData, _OMC_LIT27, ((modelica_integer) 2665), ((modelica_integer) 14)), _OMC_LIT2014);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_auxFunction;
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta[0+0];
_out_a_auxFunction = tmpMeta[0+1];
_return: OMC_LABEL_UNUSED
if (out_out_a_auxFunction) { *out_out_a_auxFunction = _out_a_auxFunction; }
return _out_txt;
}
DLLExport
modelica_metatype omc_CodegenCFunctions_extArgF77(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_extArg, modelica_metatype _in_a_preExp, modelica_metatype _in_a_varDecls, modelica_metatype _in_a_auxFunction, modelica_metatype *out_out_a_preExp, modelica_metatype *out_out_a_varDecls, modelica_metatype *out_out_a_auxFunction)
{
modelica_metatype _out_txt = NULL;
modelica_metatype _out_a_preExp = NULL;
modelica_metatype _out_a_varDecls = NULL;
modelica_metatype _out_a_auxFunction = NULL;
modelica_metatype tmpMeta[7] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_metatype tmp4_2;modelica_metatype tmp4_3;modelica_metatype tmp4_4;modelica_metatype tmp4_5;
tmp4_1 = _in_txt;
tmp4_2 = _in_a_extArg;
tmp4_3 = _in_a_preExp;
tmp4_4 = _in_a_varDecls;
tmp4_5 = _in_a_auxFunction;
{
modelica_metatype _txt = NULL;
modelica_metatype _a_preExp = NULL;
modelica_metatype _a_varDecls = NULL;
modelica_metatype _a_auxFunction = NULL;
modelica_metatype _i_exp = NULL;
modelica_integer _i_oi;
modelica_metatype _i_c = NULL;
modelica_metatype _i_t = NULL;
modelica_metatype _l_dim = NULL;
modelica_metatype _l_sizeVar = NULL;
modelica_metatype _txt_5 = NULL;
modelica_metatype _l_tvar = NULL;
modelica_metatype _l_texp = NULL;
modelica_metatype _ret_2 = NULL;
modelica_metatype _ret_1 = NULL;
modelica_metatype _l_suffix = NULL;
volatile mmc_switch_type tmp4;
int tmp5;
tmp4 = 0;
for (; tmp4 < 8; tmp4++) {
switch (MMC_SWITCH_CAST(tmp4)) {
case 0: {
modelica_integer tmp6;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,0,6) == 0) goto tmp3_end;
tmpMeta[4] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
tmpMeta[5] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 5));
tmp6 = mmc_unbox_integer(tmpMeta[5]);
if (1 != tmp6) goto tmp3_end;
tmpMeta[6] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 7));
_i_c = tmpMeta[4];
_i_t = tmpMeta[6];
_txt = tmp4_1;
_a_preExp = tmp4_3;
_a_varDecls = tmp4_4;
_a_auxFunction = tmp4_5;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT2016);
_txt = omc_CodegenCFunctions_expTypeShort(threadData, _txt, _i_t);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT2018);
_txt = omc_CodegenCFunctions_extVarName(threadData, _txt, _i_c);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT600);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_preExp;
tmpMeta[0+2] = _a_varDecls;
tmpMeta[0+3] = _a_auxFunction;
goto tmp3_done;
}
case 1: {
modelica_integer tmp7;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,0,6) == 0) goto tmp3_end;
tmpMeta[4] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
tmpMeta[5] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 4));
tmp7 = mmc_unbox_integer(tmpMeta[5]);
tmpMeta[6] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 7));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[6],0,1) == 0) goto tmp3_end;
_i_c = tmpMeta[4];
_i_oi = tmp7;
_txt = tmp4_1;
_a_preExp = tmp4_3;
_a_varDecls = tmp4_4;
_a_auxFunction = tmp4_5;
_l_suffix = omc_CodegenCFunctions_fun__455(threadData, _OMC_LIT20, _i_oi);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT2020);
_ret_1 = omc_ComponentReference_appendStringFirstIdent(threadData, omc_Tpl_textString(threadData, _l_suffix), _i_c);
_txt = omc_CodegenCFunctions_contextCrefNoPrevExp(threadData, _txt, _ret_1, _OMC_LIT1356, _a_auxFunction ,&_a_auxFunction);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_preExp;
tmpMeta[0+2] = _a_varDecls;
tmpMeta[0+3] = _a_auxFunction;
goto tmp3_done;
}
case 2: {
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,0,6) == 0) goto tmp3_end;
tmpMeta[4] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
tmpMeta[5] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 7));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[5],2,1) == 0) goto tmp3_end;
_i_c = tmpMeta[4];
_txt = tmp4_1;
_a_preExp = tmp4_3;
_a_varDecls = tmp4_4;
_a_auxFunction = tmp4_5;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT2022);
_txt = omc_CodegenCFunctions_contextCrefNoPrevExp(threadData, _txt, _i_c, _OMC_LIT1356, _a_auxFunction ,&_a_auxFunction);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT78);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_preExp;
tmpMeta[0+2] = _a_varDecls;
tmpMeta[0+3] = _a_auxFunction;
goto tmp3_done;
}
case 3: {
modelica_integer tmp8;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,0,6) == 0) goto tmp3_end;
tmpMeta[4] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
tmpMeta[5] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 4));
tmp8 = mmc_unbox_integer(tmpMeta[5]);
_i_c = tmpMeta[4];
_i_oi = tmp8;
_txt = tmp4_1;
_a_preExp = tmp4_3;
_a_varDecls = tmp4_4;
_a_auxFunction = tmp4_5;
_l_suffix = omc_CodegenCFunctions_fun__456(threadData, _OMC_LIT20, _i_oi);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT582);
_ret_2 = omc_ComponentReference_appendStringFirstIdent(threadData, omc_Tpl_textString(threadData, _l_suffix), _i_c);
_txt = omc_CodegenCFunctions_contextCrefNoPrevExp(threadData, _txt, _ret_2, _OMC_LIT1356, _a_auxFunction ,&_a_auxFunction);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_preExp;
tmpMeta[0+2] = _a_varDecls;
tmpMeta[0+3] = _a_auxFunction;
goto tmp3_done;
}
case 4: {
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,1,2) == 0) goto tmp3_end;
tmpMeta[4] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
tmpMeta[5] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 3));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[5],2,1) == 0) goto tmp3_end;
_i_exp = tmpMeta[4];
_txt = tmp4_1;
_a_preExp = tmp4_3;
_a_varDecls = tmp4_4;
_a_auxFunction = tmp4_5;
_l_texp = omc_CodegenCFunctions_daeExp(threadData, _OMC_LIT20, _i_exp, _OMC_LIT1356, _a_preExp, _a_varDecls, _a_auxFunction ,&_a_preExp ,&_a_varDecls ,&_a_auxFunction);
_txt_5 = omc_CodegenCFunctions_expTypeFromExpFlag(threadData, _OMC_LIT20, _i_exp, ((modelica_integer) 8));
_l_tvar = omc_CodegenCFunctions_tempDecl(threadData, _OMC_LIT20, omc_Tpl_textString(threadData, _txt_5), _a_varDecls ,&_a_varDecls);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _l_tvar);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT121);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _l_texp);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT105);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT89);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT2022);
_txt = omc_Tpl_writeText(threadData, _txt, _l_tvar);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT78);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_preExp;
tmpMeta[0+2] = _a_varDecls;
tmpMeta[0+3] = _a_auxFunction;
goto tmp3_done;
}
case 5: {
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,1,2) == 0) goto tmp3_end;
tmpMeta[4] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
_i_exp = tmpMeta[4];
_txt = tmp4_1;
_a_preExp = tmp4_3;
_a_varDecls = tmp4_4;
_a_auxFunction = tmp4_5;
tmpMeta[0+0] = omc_CodegenCFunctions_daeExternalF77Exp(threadData, _txt, _i_exp, _OMC_LIT1356, _a_preExp, _a_varDecls, _a_auxFunction, &tmpMeta[0+1], &tmpMeta[0+2], &tmpMeta[0+3]);
goto tmp3_done;
}
case 6: {
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,2,5) == 0) goto tmp3_end;
tmpMeta[4] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
tmpMeta[5] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 6));
_i_c = tmpMeta[4];
_i_exp = tmpMeta[5];
_txt = tmp4_1;
_a_preExp = tmp4_3;
_a_varDecls = tmp4_4;
_a_auxFunction = tmp4_5;
omc_CodegenCFunctions_tempSizeVarName(threadData, _OMC_LIT20, _i_c, _i_exp, _a_auxFunction ,&_a_auxFunction);
_l_sizeVar = omc_CodegenCFunctions_tempDecl(threadData, _OMC_LIT20, _OMC_LIT140, _a_varDecls ,&_a_varDecls);
_l_dim = omc_CodegenCFunctions_daeExp(threadData, _OMC_LIT20, _i_exp, _OMC_LIT1356, _a_preExp, _a_varDecls, _a_auxFunction ,&_a_preExp ,&_a_varDecls ,&_a_auxFunction);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _l_sizeVar);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT451);
_a_preExp = omc_CodegenCFunctions_contextCrefNoPrevExp(threadData, _a_preExp, _i_c, _OMC_LIT1356, _a_auxFunction ,&_a_auxFunction);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT292);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _l_dim);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT290);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT89);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT582);
_txt = omc_Tpl_writeText(threadData, _txt, _l_sizeVar);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_preExp;
tmpMeta[0+2] = _a_varDecls;
tmpMeta[0+3] = _a_auxFunction;
goto tmp3_done;
}
case 7: {
_txt = tmp4_1;
_a_preExp = tmp4_3;
_a_varDecls = tmp4_4;
_a_auxFunction = tmp4_5;
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_preExp;
tmpMeta[0+2] = _a_varDecls;
tmpMeta[0+3] = _a_auxFunction;
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta[0+0];
_out_a_preExp = tmpMeta[0+1];
_out_a_varDecls = tmpMeta[0+2];
_out_a_auxFunction = tmpMeta[0+3];
_return: OMC_LABEL_UNUSED
if (out_out_a_preExp) { *out_out_a_preExp = _out_a_preExp; }
if (out_out_a_varDecls) { *out_out_a_varDecls = _out_a_varDecls; }
if (out_out_a_auxFunction) { *out_out_a_auxFunction = _out_a_auxFunction; }
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__456(threadData_t *threadData, modelica_metatype _in_txt, modelica_integer _in_a_oi)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta[1] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp3_1;modelica_integer tmp3_2;
tmp3_1 = _in_txt;
tmp3_2 = _in_a_oi;
{
modelica_metatype _txt = NULL;
volatile mmc_switch_type tmp3;
int tmp4;
tmp3 = 0;
for (; tmp3 < 2; tmp3++) {
switch (MMC_SWITCH_CAST(tmp3)) {
case 0: {
if (0 != tmp3_2) goto tmp2_end;
_txt = tmp3_1;
tmpMeta[0] = _txt;
goto tmp2_done;
}
case 1: {
_txt = tmp3_1;
tmpMeta[0] = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT2024);
goto tmp2_done;
}
}
goto tmp2_end;
tmp2_end: ;
}
goto goto_1;
goto_1:;
MMC_THROW_INTERNAL();
goto tmp2_done;
tmp2_done:;
}
}
_out_txt = tmpMeta[0];
_return: OMC_LABEL_UNUSED
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__456(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_oi)
{
modelica_integer tmp1;
modelica_metatype _out_txt = NULL;
tmp1 = mmc_unbox_integer(_in_a_oi);
_out_txt = omc_CodegenCFunctions_fun__456(threadData, _in_txt, tmp1);
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__455(threadData_t *threadData, modelica_metatype _in_txt, modelica_integer _in_a_oi)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta[1] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp3_1;modelica_integer tmp3_2;
tmp3_1 = _in_txt;
tmp3_2 = _in_a_oi;
{
modelica_metatype _txt = NULL;
volatile mmc_switch_type tmp3;
int tmp4;
tmp3 = 0;
for (; tmp3 < 2; tmp3++) {
switch (MMC_SWITCH_CAST(tmp3)) {
case 0: {
if (0 != tmp3_2) goto tmp2_end;
_txt = tmp3_1;
tmpMeta[0] = _txt;
goto tmp2_done;
}
case 1: {
_txt = tmp3_1;
tmpMeta[0] = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT2024);
goto tmp2_done;
}
}
goto tmp2_end;
tmp2_end: ;
}
goto goto_1;
goto_1:;
MMC_THROW_INTERNAL();
goto tmp2_done;
tmp2_done:;
}
}
_out_txt = tmpMeta[0];
_return: OMC_LABEL_UNUSED
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__455(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_oi)
{
modelica_integer tmp1;
modelica_metatype _out_txt = NULL;
tmp1 = mmc_unbox_integer(_in_a_oi);
_out_txt = omc_CodegenCFunctions_fun__455(threadData, _in_txt, tmp1);
return _out_txt;
}
DLLExport
modelica_metatype omc_CodegenCFunctions_extArg(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_extArg, modelica_metatype _in_a_preExp, modelica_metatype _in_a_varDecls, modelica_metatype _in_a_auxFunction, modelica_metatype *out_out_a_preExp, modelica_metatype *out_out_a_varDecls, modelica_metatype *out_out_a_auxFunction)
{
modelica_metatype _out_txt = NULL;
modelica_metatype _out_a_preExp = NULL;
modelica_metatype _out_a_varDecls = NULL;
modelica_metatype _out_a_auxFunction = NULL;
modelica_metatype tmpMeta[8] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_metatype tmp4_2;modelica_metatype tmp4_3;modelica_metatype tmp4_4;modelica_metatype tmp4_5;
tmp4_1 = _in_txt;
tmp4_2 = _in_a_extArg;
tmp4_3 = _in_a_preExp;
tmp4_4 = _in_a_varDecls;
tmp4_5 = _in_a_auxFunction;
{
modelica_metatype _txt = NULL;
modelica_metatype _a_preExp = NULL;
modelica_metatype _a_varDecls = NULL;
modelica_metatype _a_auxFunction = NULL;
modelica_metatype _i_type__ = NULL;
modelica_metatype _i_exp = NULL;
modelica_boolean _i_isInput;
modelica_metatype _i_t = NULL;
modelica_metatype _i_c = NULL;
modelica_metatype _l_dim = NULL;
modelica_metatype _l_cr = NULL;
modelica_metatype _l_arg__name = NULL;
modelica_metatype _l_shortTypeStr = NULL;
modelica_metatype _l_name = NULL;
volatile mmc_switch_type tmp4;
int tmp5;
tmp4 = 0;
for (; tmp4 < 6; tmp4++) {
switch (MMC_SWITCH_CAST(tmp4)) {
case 0: {
modelica_integer tmp6;
modelica_integer tmp7;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,0,6) == 0) goto tmp3_end;
tmpMeta[4] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
tmpMeta[5] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 3));
tmp6 = mmc_unbox_integer(tmpMeta[5]);
tmpMeta[6] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 5));
tmp7 = mmc_unbox_integer(tmpMeta[6]);
if (1 != tmp7) goto tmp3_end;
tmpMeta[7] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 7));
_i_c = tmpMeta[4];
_i_isInput = tmp6;
_i_t = tmpMeta[7];
_txt = tmp4_1;
_a_preExp = tmp4_3;
_a_varDecls = tmp4_4;
_a_auxFunction = tmp4_5;
_l_name = omc_CodegenCFunctions_contextCrefNoPrevExp(threadData, _OMC_LIT20, _i_c, _OMC_LIT1356, _a_auxFunction ,&_a_auxFunction);
_l_shortTypeStr = omc_CodegenCFunctions_expTypeShort(threadData, _OMC_LIT20, _i_t);
_a_varDecls = omc_Tpl_writeTok(threadData, _a_varDecls, _OMC_LIT2025);
_a_varDecls = omc_Tpl_writeText(threadData, _a_varDecls, _l_name);
_a_varDecls = omc_Tpl_writeTok(threadData, _a_varDecls, _OMC_LIT2027);
_a_varDecls = omc_Tpl_writeTok(threadData, _a_varDecls, _OMC_LIT89);
_l_arg__name = omc_CodegenCFunctions_fun__451(threadData, _OMC_LIT20, _i_isInput, _l_shortTypeStr, _l_name);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _l_name);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT2029);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _l_shortTypeStr);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT2031);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _l_arg__name);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT290);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT89);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT68);
_txt = omc_CodegenCFunctions_extType(threadData, _txt, _i_t, _i_isInput, 1, 0);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT130);
_txt = omc_Tpl_writeText(threadData, _txt, _l_name);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT2033);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_preExp;
tmpMeta[0+2] = _a_varDecls;
tmpMeta[0+3] = _a_auxFunction;
goto tmp3_done;
}
case 1: {
modelica_integer tmp8;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,0,6) == 0) goto tmp3_end;
tmpMeta[4] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
tmpMeta[5] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 4));
tmp8 = mmc_unbox_integer(tmpMeta[5]);
if (0 != tmp8) goto tmp3_end;
tmpMeta[6] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 7));
_i_c = tmpMeta[4];
_i_t = tmpMeta[6];
_txt = tmp4_1;
_a_preExp = tmp4_3;
_a_varDecls = tmp4_4;
_a_auxFunction = tmp4_5;
_l_cr = omc_CodegenCFunctions_fun__452(threadData, _OMC_LIT20, _i_t, _a_auxFunction, _i_c ,&_a_auxFunction);
_txt = omc_CodegenCFunctions_fun__453(threadData, _txt, _i_t, _l_cr);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_preExp;
tmpMeta[0+2] = _a_varDecls;
tmpMeta[0+3] = _a_auxFunction;
goto tmp3_done;
}
case 2: {
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,0,6) == 0) goto tmp3_end;
tmpMeta[4] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
_i_c = tmpMeta[4];
_txt = tmp4_1;
_a_preExp = tmp4_3;
_a_varDecls = tmp4_4;
_a_auxFunction = tmp4_5;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT582);
_txt = omc_CodegenCFunctions_extVarName(threadData, _txt, _i_c);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_preExp;
tmpMeta[0+2] = _a_varDecls;
tmpMeta[0+3] = _a_auxFunction;
goto tmp3_done;
}
case 3: {
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,1,2) == 0) goto tmp3_end;
tmpMeta[4] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
_i_exp = tmpMeta[4];
_txt = tmp4_1;
_a_preExp = tmp4_3;
_a_varDecls = tmp4_4;
_a_auxFunction = tmp4_5;
tmpMeta[0+0] = omc_CodegenCFunctions_daeExternalCExp(threadData, _txt, _i_exp, _OMC_LIT1356, _a_preExp, _a_varDecls, _a_auxFunction, &tmpMeta[0+1], &tmpMeta[0+2], &tmpMeta[0+3]);
goto tmp3_done;
}
case 4: {
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,2,5) == 0) goto tmp3_end;
tmpMeta[4] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
tmpMeta[5] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 5));
tmpMeta[6] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 6));
_i_c = tmpMeta[4];
_i_type__ = tmpMeta[5];
_i_exp = tmpMeta[6];
_txt = tmp4_1;
_a_preExp = tmp4_3;
_a_varDecls = tmp4_4;
_a_auxFunction = tmp4_5;
omc_CodegenCFunctions_expTypeShort(threadData, _OMC_LIT20, _i_type__);
_l_name = omc_CodegenCFunctions_contextCrefNoPrevExp(threadData, _OMC_LIT20, _i_c, _OMC_LIT1356, _a_auxFunction ,&_a_auxFunction);
_l_dim = omc_CodegenCFunctions_daeExp(threadData, _OMC_LIT20, _i_exp, _OMC_LIT1356, _a_preExp, _a_varDecls, _a_auxFunction ,&_a_preExp ,&_a_varDecls ,&_a_auxFunction);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT315);
_txt = omc_Tpl_writeText(threadData, _txt, _l_name);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT292);
_txt = omc_Tpl_writeText(threadData, _txt, _l_dim);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT78);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_preExp;
tmpMeta[0+2] = _a_varDecls;
tmpMeta[0+3] = _a_auxFunction;
goto tmp3_done;
}
case 5: {
_txt = tmp4_1;
_a_preExp = tmp4_3;
_a_varDecls = tmp4_4;
_a_auxFunction = tmp4_5;
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_preExp;
tmpMeta[0+2] = _a_varDecls;
tmpMeta[0+3] = _a_auxFunction;
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta[0+0];
_out_a_preExp = tmpMeta[0+1];
_out_a_varDecls = tmpMeta[0+2];
_out_a_auxFunction = tmpMeta[0+3];
_return: OMC_LABEL_UNUSED
if (out_out_a_preExp) { *out_out_a_preExp = _out_a_preExp; }
if (out_out_a_varDecls) { *out_out_a_varDecls = _out_a_varDecls; }
if (out_out_a_auxFunction) { *out_out_a_auxFunction = _out_a_auxFunction; }
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__453(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_t, modelica_metatype _in_a_cr)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta[1] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp3_1;modelica_metatype tmp3_2;modelica_metatype tmp3_3;
tmp3_1 = _in_txt;
tmp3_2 = _in_a_t;
tmp3_3 = _in_a_cr;
{
modelica_metatype _txt = NULL;
modelica_metatype _a_cr = NULL;
volatile mmc_switch_type tmp3;
int tmp4;
tmp3 = 0;
for (; tmp3 < 2; tmp3++) {
switch (MMC_SWITCH_CAST(tmp3)) {
case 0: {
if (mmc__uniontype__metarecord__typedef__equal(tmp3_2,2,1) == 0) goto tmp2_end;
_txt = tmp3_1;
_a_cr = tmp3_3;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1360);
_txt = omc_Tpl_writeText(threadData, _txt, _a_cr);
tmpMeta[0] = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT78);
goto tmp2_done;
}
case 1: {
_txt = tmp3_1;
_a_cr = tmp3_3;
tmpMeta[0] = omc_Tpl_writeText(threadData, _txt, _a_cr);
goto tmp2_done;
}
}
goto tmp2_end;
tmp2_end: ;
}
goto goto_1;
goto_1:;
MMC_THROW_INTERNAL();
goto tmp2_done;
tmp2_done:;
}
}
_out_txt = tmpMeta[0];
_return: OMC_LABEL_UNUSED
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__452(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_t, modelica_metatype _in_a_auxFunction, modelica_metatype _in_a_c, modelica_metatype *out_out_a_auxFunction)
{
modelica_metatype _out_txt = NULL;
modelica_metatype _out_a_auxFunction = NULL;
modelica_metatype tmpMeta[2] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_metatype tmp4_2;modelica_metatype tmp4_3;modelica_metatype tmp4_4;
tmp4_1 = _in_txt;
tmp4_2 = _in_a_t;
tmp4_3 = _in_a_auxFunction;
tmp4_4 = _in_a_c;
{
modelica_metatype _txt = NULL;
modelica_metatype _a_auxFunction = NULL;
modelica_metatype _a_c = NULL;
volatile mmc_switch_type tmp4;
int tmp5;
tmp4 = 0;
for (; tmp4 < 2; tmp4++) {
switch (MMC_SWITCH_CAST(tmp4)) {
case 0: {
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,2,1) == 0) goto tmp3_end;
_txt = tmp4_1;
_a_auxFunction = tmp4_3;
_a_c = tmp4_4;
tmpMeta[0+0] = omc_CodegenCFunctions_contextCrefNoPrevExp(threadData, _txt, _a_c, _OMC_LIT1356, _a_auxFunction, &tmpMeta[0+1]);
goto tmp3_done;
}
case 1: {
_txt = tmp4_1;
_a_auxFunction = tmp4_3;
_a_c = tmp4_4;
_txt = omc_CodegenCFunctions_extVarName(threadData, _txt, _a_c);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_auxFunction;
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta[0+0];
_out_a_auxFunction = tmpMeta[0+1];
_return: OMC_LABEL_UNUSED
if (out_out_a_auxFunction) { *out_out_a_auxFunction = _out_a_auxFunction; }
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__451(threadData_t *threadData, modelica_metatype _in_txt, modelica_boolean _in_a_isInput, modelica_metatype _in_a_shortTypeStr, modelica_metatype _in_a_name)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta[1] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp3_1;modelica_boolean tmp3_2;modelica_metatype tmp3_3;modelica_metatype tmp3_4;
tmp3_1 = _in_txt;
tmp3_2 = _in_a_isInput;
tmp3_3 = _in_a_shortTypeStr;
tmp3_4 = _in_a_name;
{
modelica_metatype _txt = NULL;
modelica_metatype _a_shortTypeStr = NULL;
modelica_metatype _a_name = NULL;
modelica_string _str_0 = NULL;
volatile mmc_switch_type tmp3;
int tmp4;
tmp3 = 0;
for (; tmp3 < 2; tmp3++) {
switch (MMC_SWITCH_CAST(tmp3)) {
case 0: {
if (0 != tmp3_2) goto tmp2_end;
_txt = tmp3_1;
_a_name = tmp3_4;
tmpMeta[0] = omc_Tpl_writeText(threadData, _txt, _a_name);
goto tmp2_done;
}
case 1: {
_txt = tmp3_1;
_a_shortTypeStr = tmp3_3;
_a_name = tmp3_4;
_str_0 = omc_Tpl_textString(threadData, _a_shortTypeStr);
tmpMeta[0] = omc_CodegenCFunctions_fun__450(threadData, _txt, _str_0, _a_name);
goto tmp2_done;
}
}
goto tmp2_end;
tmp2_end: ;
}
goto goto_1;
goto_1:;
MMC_THROW_INTERNAL();
goto tmp2_done;
tmp2_done:;
}
}
_out_txt = tmpMeta[0];
_return: OMC_LABEL_UNUSED
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__451(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_isInput, modelica_metatype _in_a_shortTypeStr, modelica_metatype _in_a_name)
{
modelica_integer tmp1;
modelica_metatype _out_txt = NULL;
tmp1 = mmc_unbox_integer(_in_a_isInput);
_out_txt = omc_CodegenCFunctions_fun__451(threadData, _in_txt, tmp1, _in_a_shortTypeStr, _in_a_name);
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__450(threadData_t *threadData, modelica_metatype _in_txt, modelica_string _in_mArg, modelica_metatype _in_a_name)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta[1] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp3_1;modelica_string tmp3_2;modelica_metatype tmp3_3;
tmp3_1 = _in_txt;
tmp3_2 = _in_mArg;
tmp3_3 = _in_a_name;
{
modelica_metatype _txt = NULL;
modelica_metatype _a_name = NULL;
volatile mmc_switch_type tmp3;
int tmp4;
tmp3 = 0;
for (; tmp3 < 2; tmp3++) {
switch (MMC_SWITCH_CAST(tmp3)) {
case 0: {
if (7 != MMC_STRLEN(tmp3_2) || strcmp(MMC_STRINGDATA(_OMC_LIT566), MMC_STRINGDATA(tmp3_2)) != 0) goto tmp2_end;
_txt = tmp3_1;
_a_name = tmp3_3;
_txt = omc_Tpl_writeText(threadData, _txt, _a_name);
tmpMeta[0] = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT2035);
goto tmp2_done;
}
case 1: {
_txt = tmp3_1;
_a_name = tmp3_3;
tmpMeta[0] = omc_Tpl_writeText(threadData, _txt, _a_name);
goto tmp2_done;
}
}
goto tmp2_end;
tmp2_end: ;
}
goto goto_1;
goto_1:;
MMC_THROW_INTERNAL();
goto tmp2_done;
tmp2_done:;
}
}
_out_txt = tmpMeta[0];
_return: OMC_LABEL_UNUSED
return _out_txt;
}
DLLExport
modelica_metatype omc_CodegenCFunctions_extFunCallVarcopyF77(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_arg, modelica_metatype _in_a_auxFunction, modelica_metatype *out_out_a_auxFunction)
{
modelica_metatype _out_txt = NULL;
modelica_metatype _out_a_auxFunction = NULL;
modelica_metatype tmpMeta[6] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_metatype tmp4_2;modelica_metatype tmp4_3;
tmp4_1 = _in_txt;
tmp4_2 = _in_a_arg;
tmp4_3 = _in_a_auxFunction;
{
modelica_metatype _txt = NULL;
modelica_metatype _a_auxFunction = NULL;
modelica_metatype _i_ty = NULL;
modelica_boolean _i_ai;
modelica_metatype _i_c = NULL;
modelica_integer _i_oi;
volatile mmc_switch_type tmp4;
int tmp5;
tmp4 = 0;
for (; tmp4 < 2; tmp4++) {
switch (MMC_SWITCH_CAST(tmp4)) {
case 0: {
modelica_integer tmp6;
modelica_integer tmp7;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,0,6) == 0) goto tmp3_end;
tmpMeta[2] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
tmpMeta[3] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 4));
tmp6 = mmc_unbox_integer(tmpMeta[3]);
tmpMeta[4] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 5));
tmp7 = mmc_unbox_integer(tmpMeta[4]);
tmpMeta[5] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 7));
_i_c = tmpMeta[2];
_i_oi = tmp6;
_i_ai = tmp7;
_i_ty = tmpMeta[5];
_txt = tmp4_1;
_a_auxFunction = tmp4_3;
tmpMeta[0+0] = omc_CodegenCFunctions_fun__448(threadData, _txt, _i_oi, _i_ty, _i_ai, _a_auxFunction, _i_c, &tmpMeta[0+1]);
goto tmp3_done;
}
case 1: {
_txt = tmp4_1;
_a_auxFunction = tmp4_3;
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_auxFunction;
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta[0+0];
_out_a_auxFunction = tmpMeta[0+1];
_return: OMC_LABEL_UNUSED
if (out_out_a_auxFunction) { *out_out_a_auxFunction = _out_a_auxFunction; }
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__448(threadData_t *threadData, modelica_metatype _in_txt, modelica_integer _in_a_oi, modelica_metatype _in_a_ty, modelica_boolean _in_a_ai, modelica_metatype _in_a_auxFunction, modelica_metatype _in_a_c, modelica_metatype *out_out_a_auxFunction)
{
modelica_metatype _out_txt = NULL;
modelica_metatype _out_a_auxFunction = NULL;
modelica_metatype tmpMeta[2] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_integer tmp4_2;modelica_metatype tmp4_3;modelica_boolean tmp4_4;modelica_metatype tmp4_5;modelica_metatype tmp4_6;
tmp4_1 = _in_txt;
tmp4_2 = _in_a_oi;
tmp4_3 = _in_a_ty;
tmp4_4 = _in_a_ai;
tmp4_5 = _in_a_auxFunction;
tmp4_6 = _in_a_c;
{
modelica_metatype _txt = NULL;
modelica_metatype _a_ty = NULL;
modelica_boolean _a_ai;
modelica_metatype _a_auxFunction = NULL;
modelica_metatype _a_c = NULL;
modelica_metatype _l_ext__name = NULL;
modelica_metatype _l_outarg = NULL;
volatile mmc_switch_type tmp4;
int tmp5;
tmp4 = 0;
for (; tmp4 < 2; tmp4++) {
switch (MMC_SWITCH_CAST(tmp4)) {
case 0: {
if (0 != tmp4_2) goto tmp3_end;
_txt = tmp4_1;
_a_auxFunction = tmp4_5;
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_auxFunction;
goto tmp3_done;
}
case 1: {
_txt = tmp4_1;
_a_ty = tmp4_3;
_a_ai = tmp4_4;
_a_auxFunction = tmp4_5;
_a_c = tmp4_6;
_l_outarg = omc_CodegenCFunctions_contextCrefNoPrevExp(threadData, _OMC_LIT20, _a_c, _OMC_LIT1356, _a_auxFunction ,&_a_auxFunction);
_l_ext__name = omc_CodegenCFunctions_extVarName(threadData, _OMC_LIT20, _a_c);
_txt = omc_CodegenCFunctions_fun__447(threadData, _txt, _a_ai, _l_ext__name, _a_ty, _l_outarg);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_auxFunction;
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta[0+0];
_out_a_auxFunction = tmpMeta[0+1];
_return: OMC_LABEL_UNUSED
if (out_out_a_auxFunction) { *out_out_a_auxFunction = _out_a_auxFunction; }
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__448(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_oi, modelica_metatype _in_a_ty, modelica_metatype _in_a_ai, modelica_metatype _in_a_auxFunction, modelica_metatype _in_a_c, modelica_metatype *out_out_a_auxFunction)
{
modelica_integer tmp1;
modelica_integer tmp2;
modelica_metatype _out_txt = NULL;
tmp1 = mmc_unbox_integer(_in_a_oi);
tmp2 = mmc_unbox_integer(_in_a_ai);
_out_txt = omc_CodegenCFunctions_fun__448(threadData, _in_txt, tmp1, _in_a_ty, tmp2, _in_a_auxFunction, _in_a_c, out_out_a_auxFunction);
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__447(threadData_t *threadData, modelica_metatype _in_txt, modelica_boolean _in_a_ai, modelica_metatype _in_a_ext__name, modelica_metatype _in_a_ty, modelica_metatype _in_a_outarg)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta[1] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp3_1;modelica_boolean tmp3_2;modelica_metatype tmp3_3;modelica_metatype tmp3_4;modelica_metatype tmp3_5;
tmp3_1 = _in_txt;
tmp3_2 = _in_a_ai;
tmp3_3 = _in_a_ext__name;
tmp3_4 = _in_a_ty;
tmp3_5 = _in_a_outarg;
{
modelica_metatype _txt = NULL;
modelica_metatype _a_ext__name = NULL;
modelica_metatype _a_ty = NULL;
modelica_metatype _a_outarg = NULL;
volatile mmc_switch_type tmp3;
int tmp4;
tmp3 = 0;
for (; tmp3 < 3; tmp3++) {
switch (MMC_SWITCH_CAST(tmp3)) {
case 0: {
if (0 != tmp3_2) goto tmp2_end;
_txt = tmp3_1;
_a_ext__name = tmp3_3;
_a_ty = tmp3_4;
_a_outarg = tmp3_5;
_txt = omc_Tpl_writeText(threadData, _txt, _a_outarg);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT381);
_txt = omc_CodegenCFunctions_expTypeModelica(threadData, _txt, _a_ty);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT78);
_txt = omc_Tpl_writeText(threadData, _txt, _a_ext__name);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT105);
tmpMeta[0] = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT89);
goto tmp2_done;
}
case 1: {
if (1 != tmp3_2) goto tmp2_end;
_txt = tmp3_1;
_a_ext__name = tmp3_3;
_a_ty = tmp3_4;
_a_outarg = tmp3_5;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT2037);
_txt = omc_CodegenCFunctions_expTypeArray(threadData, _txt, _a_ty);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT2039);
_txt = omc_Tpl_writeText(threadData, _txt, _a_ext__name);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT123);
_txt = omc_Tpl_writeText(threadData, _txt, _a_outarg);
tmpMeta[0] = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT290);
goto tmp2_done;
}
case 2: {
_txt = tmp3_1;
tmpMeta[0] = _txt;
goto tmp2_done;
}
}
goto tmp2_end;
tmp2_end: ;
}
goto goto_1;
goto_1:;
MMC_THROW_INTERNAL();
goto tmp2_done;
tmp2_done:;
}
}
_out_txt = tmpMeta[0];
_return: OMC_LABEL_UNUSED
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__447(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_ai, modelica_metatype _in_a_ext__name, modelica_metatype _in_a_ty, modelica_metatype _in_a_outarg)
{
modelica_integer tmp1;
modelica_metatype _out_txt = NULL;
tmp1 = mmc_unbox_integer(_in_a_ai);
_out_txt = omc_CodegenCFunctions_fun__447(threadData, _in_txt, tmp1, _in_a_ext__name, _in_a_ty, _in_a_outarg);
return _out_txt;
}
DLLExport
modelica_metatype omc_CodegenCFunctions_extFunCallVarcopy(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_arg, modelica_metatype _in_a_auxFunction, modelica_metatype *out_out_a_auxFunction)
{
modelica_metatype _out_txt = NULL;
modelica_metatype _out_a_auxFunction = NULL;
modelica_metatype tmpMeta[6] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_metatype tmp4_2;modelica_metatype tmp4_3;
tmp4_1 = _in_txt;
tmp4_2 = _in_a_arg;
tmp4_3 = _in_a_auxFunction;
{
modelica_metatype _txt = NULL;
modelica_metatype _a_auxFunction = NULL;
modelica_boolean _i_isInput;
modelica_metatype _i_ty = NULL;
modelica_metatype _i_c = NULL;
modelica_metatype _l_cr = NULL;
modelica_string _str_2 = NULL;
modelica_metatype _txt_1 = NULL;
modelica_metatype _l_var__name = NULL;
volatile mmc_switch_type tmp4;
int tmp5;
tmp4 = 0;
for (; tmp4 < 4; tmp4++) {
switch (MMC_SWITCH_CAST(tmp4)) {
case 0: {
modelica_integer tmp6;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,0,6) == 0) goto tmp3_end;
tmpMeta[2] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 4));
tmp6 = mmc_unbox_integer(tmpMeta[2]);
if (0 != tmp6) goto tmp3_end;
_txt = tmp4_1;
_a_auxFunction = tmp4_3;
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_auxFunction;
goto tmp3_done;
}
case 1: {
modelica_integer tmp7;
modelica_integer tmp8;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,0,6) == 0) goto tmp3_end;
tmpMeta[2] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
tmpMeta[3] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 3));
tmp7 = mmc_unbox_integer(tmpMeta[3]);
tmpMeta[4] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 5));
tmp8 = mmc_unbox_integer(tmpMeta[4]);
if (1 != tmp8) goto tmp3_end;
tmpMeta[5] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 7));
_i_c = tmpMeta[2];
_i_isInput = tmp7;
_i_ty = tmpMeta[5];
_txt = tmp4_1;
_a_auxFunction = tmp4_3;
_l_var__name = omc_CodegenCFunctions_contextCrefNoPrevExp(threadData, _OMC_LIT20, _i_c, _OMC_LIT1356, _a_auxFunction ,&_a_auxFunction);
_txt_1 = omc_CodegenCFunctions_expTypeShort(threadData, _OMC_LIT20, _i_ty);
_str_2 = omc_Tpl_textString(threadData, _txt_1);
_txt = omc_CodegenCFunctions_fun__444(threadData, _txt, _str_2, _l_var__name, _i_isInput);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_auxFunction;
goto tmp3_done;
}
case 2: {
modelica_integer tmp9;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,0,6) == 0) goto tmp3_end;
tmpMeta[2] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
tmpMeta[3] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 5));
tmp9 = mmc_unbox_integer(tmpMeta[3]);
if (0 != tmp9) goto tmp3_end;
tmpMeta[4] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 7));
_i_c = tmpMeta[2];
_i_ty = tmpMeta[4];
_txt = tmp4_1;
_a_auxFunction = tmp4_3;
_l_cr = omc_CodegenCFunctions_extVarName(threadData, _OMC_LIT20, _i_c);
_txt = omc_CodegenCFunctions_contextCrefNoPrevExp(threadData, _txt, _i_c, _OMC_LIT1356, _a_auxFunction ,&_a_auxFunction);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT381);
_txt = omc_CodegenCFunctions_expTypeModelica(threadData, _txt, _i_ty);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT78);
_txt = omc_CodegenCFunctions_fun__445(threadData, _txt, _i_ty, _l_cr);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT105);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_auxFunction;
goto tmp3_done;
}
case 3: {
_txt = tmp4_1;
_a_auxFunction = tmp4_3;
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_auxFunction;
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta[0+0];
_out_a_auxFunction = tmpMeta[0+1];
_return: OMC_LABEL_UNUSED
if (out_out_a_auxFunction) { *out_out_a_auxFunction = _out_a_auxFunction; }
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__445(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_ty, modelica_metatype _in_a_cr)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta[1] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp3_1;modelica_metatype tmp3_2;modelica_metatype tmp3_3;
tmp3_1 = _in_txt;
tmp3_2 = _in_a_ty;
tmp3_3 = _in_a_cr;
{
modelica_metatype _txt = NULL;
modelica_metatype _a_cr = NULL;
volatile mmc_switch_type tmp3;
int tmp4;
tmp3 = 0;
for (; tmp3 < 2; tmp3++) {
switch (MMC_SWITCH_CAST(tmp3)) {
case 0: {
if (mmc__uniontype__metarecord__typedef__equal(tmp3_2,2,1) == 0) goto tmp2_end;
_txt = tmp3_1;
_a_cr = tmp3_3;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT2041);
_txt = omc_Tpl_writeText(threadData, _txt, _a_cr);
tmpMeta[0] = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT78);
goto tmp2_done;
}
case 1: {
_txt = tmp3_1;
_a_cr = tmp3_3;
tmpMeta[0] = omc_Tpl_writeText(threadData, _txt, _a_cr);
goto tmp2_done;
}
}
goto tmp2_end;
tmp2_end: ;
}
goto goto_1;
goto_1:;
MMC_THROW_INTERNAL();
goto tmp2_done;
tmp2_done:;
}
}
_out_txt = tmpMeta[0];
_return: OMC_LABEL_UNUSED
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__444(threadData_t *threadData, modelica_metatype _in_txt, modelica_string _in_mArg, modelica_metatype _in_a_var__name, modelica_boolean _in_a_isInput)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta[1] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp3_1;modelica_string tmp3_2;modelica_metatype tmp3_3;modelica_boolean tmp3_4;
tmp3_1 = _in_txt;
tmp3_2 = _in_mArg;
tmp3_3 = _in_a_var__name;
tmp3_4 = _in_a_isInput;
{
modelica_metatype _txt = NULL;
modelica_metatype _a_var__name = NULL;
modelica_boolean _a_isInput;
volatile mmc_switch_type tmp3;
int tmp4;
tmp3 = 0;
for (; tmp3 < 3; tmp3++) {
switch (MMC_SWITCH_CAST(tmp3)) {
case 0: {
if (7 != MMC_STRLEN(tmp3_2) || strcmp(MMC_STRINGDATA(_OMC_LIT566), MMC_STRINGDATA(tmp3_2)) != 0) goto tmp2_end;
_txt = tmp3_1;
_a_var__name = tmp3_3;
_a_isInput = tmp3_4;
tmpMeta[0] = omc_CodegenCFunctions_fun__443(threadData, _txt, _a_isInput, _a_var__name);
goto tmp2_done;
}
case 1: {
if (6 != MMC_STRLEN(tmp3_2) || strcmp(MMC_STRINGDATA(_OMC_LIT1574), MMC_STRINGDATA(tmp3_2)) != 0) goto tmp2_end;
_txt = tmp3_1;
_a_var__name = tmp3_3;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT2043);
_txt = omc_Tpl_writeText(threadData, _txt, _a_var__name);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT292);
_txt = omc_Tpl_writeText(threadData, _txt, _a_var__name);
tmpMeta[0] = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT2045);
goto tmp2_done;
}
case 2: {
_txt = tmp3_1;
tmpMeta[0] = _txt;
goto tmp2_done;
}
}
goto tmp2_end;
tmp2_end: ;
}
goto goto_1;
goto_1:;
MMC_THROW_INTERNAL();
goto tmp2_done;
tmp2_done:;
}
}
_out_txt = tmpMeta[0];
_return: OMC_LABEL_UNUSED
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__444(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_mArg, modelica_metatype _in_a_var__name, modelica_metatype _in_a_isInput)
{
modelica_integer tmp1;
modelica_metatype _out_txt = NULL;
tmp1 = mmc_unbox_integer(_in_a_isInput);
_out_txt = omc_CodegenCFunctions_fun__444(threadData, _in_txt, _in_mArg, _in_a_var__name, tmp1);
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__443(threadData_t *threadData, modelica_metatype _in_txt, modelica_boolean _in_a_isInput, modelica_metatype _in_a_var__name)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta[1] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp3_1;modelica_boolean tmp3_2;modelica_metatype tmp3_3;
tmp3_1 = _in_txt;
tmp3_2 = _in_a_isInput;
tmp3_3 = _in_a_var__name;
{
modelica_metatype _txt = NULL;
modelica_metatype _a_var__name = NULL;
volatile mmc_switch_type tmp3;
int tmp4;
tmp3 = 0;
for (; tmp3 < 2; tmp3++) {
switch (MMC_SWITCH_CAST(tmp3)) {
case 0: {
if (0 != tmp3_2) goto tmp2_end;
_txt = tmp3_1;
_a_var__name = tmp3_3;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT2047);
_txt = omc_Tpl_writeText(threadData, _txt, _a_var__name);
tmpMeta[0] = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT290);
goto tmp2_done;
}
case 1: {
_txt = tmp3_1;
_a_var__name = tmp3_3;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT2049);
_txt = omc_Tpl_writeText(threadData, _txt, _a_var__name);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT2051);
_txt = omc_Tpl_writeText(threadData, _txt, _a_var__name);
tmpMeta[0] = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT290);
goto tmp2_done;
}
}
goto tmp2_end;
tmp2_end: ;
}
goto goto_1;
goto_1:;
MMC_THROW_INTERNAL();
goto tmp2_done;
tmp2_done:;
}
}
_out_txt = tmpMeta[0];
_return: OMC_LABEL_UNUSED
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__443(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_isInput, modelica_metatype _in_a_var__name)
{
modelica_integer tmp1;
modelica_metatype _out_txt = NULL;
tmp1 = mmc_unbox_integer(_in_a_isInput);
_out_txt = omc_CodegenCFunctions_fun__443(threadData, _in_txt, tmp1, _in_a_var__name);
return _out_txt;
}
DLLExport
modelica_metatype omc_CodegenCFunctions_extFunCallBiVarF77(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_var, modelica_metatype _in_a_preExp, modelica_metatype _in_a_varDecls, modelica_metatype _in_a_auxFunction, modelica_metatype *out_out_a_preExp, modelica_metatype *out_out_a_varDecls, modelica_metatype *out_out_a_auxFunction)
{
modelica_metatype _out_txt = NULL;
modelica_metatype _out_a_preExp = NULL;
modelica_metatype _out_a_varDecls = NULL;
modelica_metatype _out_a_auxFunction = NULL;
modelica_metatype tmpMeta[8] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_metatype tmp4_2;modelica_metatype tmp4_3;modelica_metatype tmp4_4;modelica_metatype tmp4_5;
tmp4_1 = _in_txt;
tmp4_2 = _in_a_var;
tmp4_3 = _in_a_preExp;
tmp4_4 = _in_a_varDecls;
tmp4_5 = _in_a_auxFunction;
{
modelica_metatype _txt = NULL;
modelica_metatype _a_preExp = NULL;
modelica_metatype _a_varDecls = NULL;
modelica_metatype _a_auxFunction = NULL;
modelica_metatype _i_var_ty = NULL;
modelica_metatype _i_instDims = NULL;
modelica_metatype _i_value = NULL;
modelica_metatype _i_var = NULL;
modelica_metatype _i_name = NULL;
modelica_metatype _l_instDimsInit = NULL;
modelica_metatype _l_defaultValue = NULL;
modelica_metatype _l_var__name = NULL;
volatile mmc_switch_type tmp4;
int tmp5;
tmp4 = 0;
for (; tmp4 < 2; tmp4++) {
switch (MMC_SWITCH_CAST(tmp4)) {
case 0: {
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,0,7) == 0) goto tmp3_end;
tmpMeta[4] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
tmpMeta[5] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 3));
tmpMeta[6] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 4));
tmpMeta[7] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 5));
_i_var = tmp4_2;
_i_name = tmpMeta[4];
_i_var_ty = tmpMeta[5];
_i_value = tmpMeta[6];
_i_instDims = tmpMeta[7];
_txt = tmp4_1;
_a_preExp = tmp4_3;
_a_varDecls = tmp4_4;
_a_auxFunction = tmp4_5;
_l_var__name = omc_CodegenCFunctions_contextCrefNoPrevExp(threadData, _OMC_LIT20, _i_name, _OMC_LIT1356, _a_auxFunction ,&_a_auxFunction);
_a_varDecls = omc_CodegenCFunctions_varType(threadData, _a_varDecls, _i_var);
_a_varDecls = omc_Tpl_writeTok(threadData, _a_varDecls, _OMC_LIT29);
_a_varDecls = omc_Tpl_writeText(threadData, _a_varDecls, _l_var__name);
_a_varDecls = omc_Tpl_writeTok(threadData, _a_varDecls, _OMC_LIT105);
_a_varDecls = omc_Tpl_writeTok(threadData, _a_varDecls, _OMC_LIT89);
_a_varDecls = omc_CodegenCFunctions_varType(threadData, _a_varDecls, _i_var);
_a_varDecls = omc_Tpl_writeTok(threadData, _a_varDecls, _OMC_LIT29);
_a_varDecls = omc_CodegenCFunctions_extVarName(threadData, _a_varDecls, _i_name);
_a_varDecls = omc_Tpl_writeTok(threadData, _a_varDecls, _OMC_LIT105);
_a_varDecls = omc_Tpl_writeTok(threadData, _a_varDecls, _OMC_LIT89);
_l_defaultValue = omc_CodegenCFunctions_fun__437(threadData, _OMC_LIT20, _i_value, _a_auxFunction, _a_varDecls, _a_preExp ,&_a_auxFunction ,&_a_varDecls ,&_a_preExp);
_l_instDimsInit = omc_Tpl_pushIter(threadData, _OMC_LIT20, _OMC_LIT294);
_l_instDimsInit = omc_CodegenCFunctions_lm__438(threadData, _l_instDimsInit, _i_instDims, _a_auxFunction, _a_varDecls, _a_preExp ,&_a_auxFunction ,&_a_varDecls ,&_a_preExp);
_l_instDimsInit = omc_Tpl_popIter(threadData, _l_instDimsInit);
_txt = omc_CodegenCFunctions_fun__441(threadData, _txt, _i_instDims, _i_name, _l_instDimsInit, _i_var_ty, _l_var__name, _l_defaultValue, _a_preExp ,&_a_preExp);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_preExp;
tmpMeta[0+2] = _a_varDecls;
tmpMeta[0+3] = _a_auxFunction;
goto tmp3_done;
}
case 1: {
_txt = tmp4_1;
_a_preExp = tmp4_3;
_a_varDecls = tmp4_4;
_a_auxFunction = tmp4_5;
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_preExp;
tmpMeta[0+2] = _a_varDecls;
tmpMeta[0+3] = _a_auxFunction;
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta[0+0];
_out_a_preExp = tmpMeta[0+1];
_out_a_varDecls = tmpMeta[0+2];
_out_a_auxFunction = tmpMeta[0+3];
_return: OMC_LABEL_UNUSED
if (out_out_a_preExp) { *out_out_a_preExp = _out_a_preExp; }
if (out_out_a_varDecls) { *out_out_a_varDecls = _out_a_varDecls; }
if (out_out_a_auxFunction) { *out_out_a_auxFunction = _out_a_auxFunction; }
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__441(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_instDims, modelica_metatype _in_a_name, modelica_metatype _in_a_instDimsInit, modelica_metatype _in_a_var_ty, modelica_metatype _in_a_var__name, modelica_metatype _in_a_defaultValue, modelica_metatype _in_a_preExp, modelica_metatype *out_out_a_preExp)
{
modelica_metatype _out_txt = NULL;
modelica_metatype _out_a_preExp = NULL;
modelica_metatype tmpMeta[2] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_metatype tmp4_2;modelica_metatype tmp4_3;modelica_metatype tmp4_4;modelica_metatype tmp4_5;modelica_metatype tmp4_6;modelica_metatype tmp4_7;modelica_metatype tmp4_8;
tmp4_1 = _in_txt;
tmp4_2 = _in_a_instDims;
tmp4_3 = _in_a_name;
tmp4_4 = _in_a_instDimsInit;
tmp4_5 = _in_a_var_ty;
tmp4_6 = _in_a_var__name;
tmp4_7 = _in_a_defaultValue;
tmp4_8 = _in_a_preExp;
{
modelica_metatype _txt = NULL;
modelica_metatype _a_name = NULL;
modelica_metatype _a_instDimsInit = NULL;
modelica_metatype _a_var_ty = NULL;
modelica_metatype _a_var__name = NULL;
modelica_metatype _a_defaultValue = NULL;
modelica_metatype _a_preExp = NULL;
modelica_metatype _i_instDims = NULL;
modelica_integer _ret_1;
modelica_metatype _l_type = NULL;
volatile mmc_switch_type tmp4;
int tmp5;
tmp4 = 0;
for (; tmp4 < 2; tmp4++) {
switch (MMC_SWITCH_CAST(tmp4)) {
case 0: {
if (!listEmpty(tmp4_2)) goto tmp3_end;
_txt = tmp4_1;
_a_var__name = tmp4_6;
_a_defaultValue = tmp4_7;
_a_preExp = tmp4_8;
_a_preExp = omc_CodegenCFunctions_fun__439(threadData, _a_preExp, _a_defaultValue, _a_var__name);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_preExp;
goto tmp3_done;
}
case 1: {
_txt = tmp4_1;
_i_instDims = tmp4_2;
_a_name = tmp4_3;
_a_instDimsInit = tmp4_4;
_a_var_ty = tmp4_5;
_a_var__name = tmp4_6;
_a_defaultValue = tmp4_7;
_a_preExp = tmp4_8;
_l_type = omc_CodegenCFunctions_expTypeArray(threadData, _OMC_LIT20, _a_var_ty);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT296);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _l_type);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT298);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _a_var__name);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT292);
_ret_1 = listLength(_i_instDims);
_a_preExp = omc_Tpl_writeStr(threadData, _a_preExp, intString(_ret_1));
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT292);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _a_instDimsInit);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT290);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT89);
_a_preExp = omc_CodegenCFunctions_fun__440(threadData, _a_preExp, _a_defaultValue, _a_var__name, _l_type);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT2037);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _l_type);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT2053);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _a_var__name);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT123);
_a_preExp = omc_CodegenCFunctions_extVarName(threadData, _a_preExp, _a_name);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT290);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT89);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_preExp;
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta[0+0];
_out_a_preExp = tmpMeta[0+1];
_return: OMC_LABEL_UNUSED
if (out_out_a_preExp) { *out_out_a_preExp = _out_a_preExp; }
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__440(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_defaultValue, modelica_metatype _in_a_var__name, modelica_metatype _in_a_type)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta[2] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp3_1;modelica_metatype tmp3_2;modelica_metatype tmp3_3;modelica_metatype tmp3_4;
tmp3_1 = _in_txt;
tmp3_2 = _in_a_defaultValue;
tmp3_3 = _in_a_var__name;
tmp3_4 = _in_a_type;
{
modelica_metatype _txt = NULL;
modelica_metatype _a_var__name = NULL;
modelica_metatype _a_type = NULL;
modelica_metatype _i_defaultValue = NULL;
volatile mmc_switch_type tmp3;
int tmp4;
tmp3 = 0;
for (; tmp3 < 2; tmp3++) {
switch (MMC_SWITCH_CAST(tmp3)) {
case 0: {
if (mmc__uniontype__metarecord__typedef__equal(tmp3_2,0,2) == 0) goto tmp2_end;
tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_2), 2));
if (!listEmpty(tmpMeta[1])) goto tmp2_end;
_txt = tmp3_1;
tmpMeta[0] = _txt;
goto tmp2_done;
}
case 1: {
_txt = tmp3_1;
_i_defaultValue = tmp3_2;
_a_var__name = tmp3_3;
_a_type = tmp3_4;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT2055);
_txt = omc_Tpl_writeText(threadData, _txt, _a_type);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT68);
_txt = omc_Tpl_writeText(threadData, _txt, _i_defaultValue);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT123);
_txt = omc_Tpl_writeText(threadData, _txt, _a_var__name);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT290);
tmpMeta[0] = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT89);
goto tmp2_done;
}
}
goto tmp2_end;
tmp2_end: ;
}
goto goto_1;
goto_1:;
MMC_THROW_INTERNAL();
goto tmp2_done;
tmp2_done:;
}
}
_out_txt = tmpMeta[0];
_return: OMC_LABEL_UNUSED
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__439(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_defaultValue, modelica_metatype _in_a_var__name)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta[2] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp3_1;modelica_metatype tmp3_2;modelica_metatype tmp3_3;
tmp3_1 = _in_txt;
tmp3_2 = _in_a_defaultValue;
tmp3_3 = _in_a_var__name;
{
modelica_metatype _txt = NULL;
modelica_metatype _a_var__name = NULL;
modelica_metatype _i_defaultValue = NULL;
volatile mmc_switch_type tmp3;
int tmp4;
tmp3 = 0;
for (; tmp3 < 2; tmp3++) {
switch (MMC_SWITCH_CAST(tmp3)) {
case 0: {
if (mmc__uniontype__metarecord__typedef__equal(tmp3_2,0,2) == 0) goto tmp2_end;
tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_2), 2));
if (!listEmpty(tmpMeta[1])) goto tmp2_end;
_txt = tmp3_1;
tmpMeta[0] = _txt;
goto tmp2_done;
}
case 1: {
_txt = tmp3_1;
_i_defaultValue = tmp3_2;
_a_var__name = tmp3_3;
_txt = omc_Tpl_writeText(threadData, _txt, _a_var__name);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT121);
_txt = omc_Tpl_writeText(threadData, _txt, _i_defaultValue);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT105);
tmpMeta[0] = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT89);
goto tmp2_done;
}
}
goto tmp2_end;
tmp2_end: ;
}
goto goto_1;
goto_1:;
MMC_THROW_INTERNAL();
goto tmp2_done;
tmp2_done:;
}
}
_out_txt = tmpMeta[0];
_return: OMC_LABEL_UNUSED
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_lm__438(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_items, modelica_metatype _in_a_auxFunction, modelica_metatype _in_a_varDecls, modelica_metatype _in_a_preExp, modelica_metatype *out_out_a_auxFunction, modelica_metatype *out_out_a_varDecls, modelica_metatype *out_out_a_preExp)
{
modelica_metatype _out_txt = NULL;
modelica_metatype _out_a_auxFunction = NULL;
modelica_metatype _out_a_varDecls = NULL;
modelica_metatype _out_a_preExp = NULL;
modelica_metatype tmpMeta[6] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_metatype tmp4_2;modelica_metatype tmp4_3;modelica_metatype tmp4_4;modelica_metatype tmp4_5;
tmp4_1 = _in_txt;
tmp4_2 = _in_items;
tmp4_3 = _in_a_auxFunction;
tmp4_4 = _in_a_varDecls;
tmp4_5 = _in_a_preExp;
{
modelica_metatype _txt = NULL;
modelica_metatype _rest = NULL;
modelica_metatype _a_auxFunction = NULL;
modelica_metatype _a_varDecls = NULL;
modelica_metatype _a_preExp = NULL;
modelica_metatype _i_dim = NULL;
volatile mmc_switch_type tmp4;
int tmp5;
tmp4 = 0;
for (; tmp4 < 2; tmp4++) {
switch (MMC_SWITCH_CAST(tmp4)) {
case 0: {
if (!listEmpty(tmp4_2)) goto tmp3_end;
_txt = tmp4_1;
_a_auxFunction = tmp4_3;
_a_varDecls = tmp4_4;
_a_preExp = tmp4_5;
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_auxFunction;
tmpMeta[0+2] = _a_varDecls;
tmpMeta[0+3] = _a_preExp;
goto tmp3_done;
}
case 1: {
if (listEmpty(tmp4_2)) goto tmp3_end;
tmpMeta[4] = MMC_CAR(tmp4_2);
tmpMeta[5] = MMC_CDR(tmp4_2);
_i_dim = tmpMeta[4];
_rest = tmpMeta[5];
_txt = tmp4_1;
_a_auxFunction = tmp4_3;
_a_varDecls = tmp4_4;
_a_preExp = tmp4_5;
_txt = omc_CodegenCFunctions_dimension(threadData, _txt, _i_dim, _OMC_LIT1356, _a_preExp, _a_varDecls, _a_auxFunction ,&_a_preExp ,&_a_varDecls ,&_a_auxFunction);
_txt = omc_Tpl_nextIter(threadData, _txt);
_in_txt = _txt;
_in_items = _rest;
_in_a_auxFunction = _a_auxFunction;
_in_a_varDecls = _a_varDecls;
_in_a_preExp = _a_preExp;
goto _tailrecursive;
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta[0+0];
_out_a_auxFunction = tmpMeta[0+1];
_out_a_varDecls = tmpMeta[0+2];
_out_a_preExp = tmpMeta[0+3];
_return: OMC_LABEL_UNUSED
if (out_out_a_auxFunction) { *out_out_a_auxFunction = _out_a_auxFunction; }
if (out_out_a_varDecls) { *out_out_a_varDecls = _out_a_varDecls; }
if (out_out_a_preExp) { *out_out_a_preExp = _out_a_preExp; }
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__437(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_value, modelica_metatype _in_a_auxFunction, modelica_metatype _in_a_varDecls, modelica_metatype _in_a_preExp, modelica_metatype *out_out_a_auxFunction, modelica_metatype *out_out_a_varDecls, modelica_metatype *out_out_a_preExp)
{
modelica_metatype _out_txt = NULL;
modelica_metatype _out_a_auxFunction = NULL;
modelica_metatype _out_a_varDecls = NULL;
modelica_metatype _out_a_preExp = NULL;
modelica_metatype tmpMeta[5] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_metatype tmp4_2;modelica_metatype tmp4_3;modelica_metatype tmp4_4;modelica_metatype tmp4_5;
tmp4_1 = _in_txt;
tmp4_2 = _in_a_value;
tmp4_3 = _in_a_auxFunction;
tmp4_4 = _in_a_varDecls;
tmp4_5 = _in_a_preExp;
{
modelica_metatype _txt = NULL;
modelica_metatype _a_auxFunction = NULL;
modelica_metatype _a_varDecls = NULL;
modelica_metatype _a_preExp = NULL;
modelica_metatype _i_v = NULL;
volatile mmc_switch_type tmp4;
int tmp5;
tmp4 = 0;
for (; tmp4 < 2; tmp4++) {
switch (MMC_SWITCH_CAST(tmp4)) {
case 0: {
if (optionNone(tmp4_2)) goto tmp3_end;
tmpMeta[4] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 1));
_i_v = tmpMeta[4];
_txt = tmp4_1;
_a_auxFunction = tmp4_3;
_a_varDecls = tmp4_4;
_a_preExp = tmp4_5;
_txt = omc_CodegenCFunctions_daeExp(threadData, _txt, _i_v, _OMC_LIT1356, _a_preExp, _a_varDecls, _a_auxFunction ,&_a_preExp ,&_a_varDecls ,&_a_auxFunction);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_auxFunction;
tmpMeta[0+2] = _a_varDecls;
tmpMeta[0+3] = _a_preExp;
goto tmp3_done;
}
case 1: {
_txt = tmp4_1;
_a_auxFunction = tmp4_3;
_a_varDecls = tmp4_4;
_a_preExp = tmp4_5;
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_auxFunction;
tmpMeta[0+2] = _a_varDecls;
tmpMeta[0+3] = _a_preExp;
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta[0+0];
_out_a_auxFunction = tmpMeta[0+1];
_out_a_varDecls = tmpMeta[0+2];
_out_a_preExp = tmpMeta[0+3];
_return: OMC_LABEL_UNUSED
if (out_out_a_auxFunction) { *out_out_a_auxFunction = _out_a_auxFunction; }
if (out_out_a_varDecls) { *out_out_a_varDecls = _out_a_varDecls; }
if (out_out_a_preExp) { *out_out_a_preExp = _out_a_preExp; }
return _out_txt;
}
DLLExport
modelica_metatype omc_CodegenCFunctions_extFunCallBiVar(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_var, modelica_metatype _in_a_preExp, modelica_metatype _in_a_varDecls, modelica_metatype _in_a_auxFunction, modelica_metatype *out_out_a_preExp, modelica_metatype *out_out_a_varDecls, modelica_metatype *out_out_a_auxFunction)
{
modelica_metatype _out_txt = NULL;
modelica_metatype _out_a_preExp = NULL;
modelica_metatype _out_a_varDecls = NULL;
modelica_metatype _out_a_auxFunction = NULL;
modelica_metatype tmpMeta[8] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_metatype tmp4_2;modelica_metatype tmp4_3;modelica_metatype tmp4_4;modelica_metatype tmp4_5;
tmp4_1 = _in_txt;
tmp4_2 = _in_a_var;
tmp4_3 = _in_a_preExp;
tmp4_4 = _in_a_varDecls;
tmp4_5 = _in_a_auxFunction;
{
modelica_metatype _txt = NULL;
modelica_metatype _a_preExp = NULL;
modelica_metatype _a_varDecls = NULL;
modelica_metatype _a_auxFunction = NULL;
modelica_metatype _i_var_ty = NULL;
modelica_metatype _i_instDims = NULL;
modelica_metatype _i_value = NULL;
modelica_metatype _i_var = NULL;
modelica_metatype _i_name = NULL;
modelica_metatype _l_instDimsInit = NULL;
modelica_metatype _l_defaultValue = NULL;
modelica_metatype _l_var__name = NULL;
volatile mmc_switch_type tmp4;
int tmp5;
tmp4 = 0;
for (; tmp4 < 2; tmp4++) {
switch (MMC_SWITCH_CAST(tmp4)) {
case 0: {
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,0,7) == 0) goto tmp3_end;
tmpMeta[4] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
tmpMeta[5] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 3));
tmpMeta[6] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 4));
tmpMeta[7] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 5));
_i_var = tmp4_2;
_i_name = tmpMeta[4];
_i_var_ty = tmpMeta[5];
_i_value = tmpMeta[6];
_i_instDims = tmpMeta[7];
_txt = tmp4_1;
_a_preExp = tmp4_3;
_a_varDecls = tmp4_4;
_a_auxFunction = tmp4_5;
_l_var__name = omc_CodegenCFunctions_contextCrefNoPrevExp(threadData, _OMC_LIT20, _i_name, _OMC_LIT1356, _a_auxFunction ,&_a_auxFunction);
_a_varDecls = omc_CodegenCFunctions_varType(threadData, _a_varDecls, _i_var);
_a_varDecls = omc_Tpl_writeTok(threadData, _a_varDecls, _OMC_LIT29);
_a_varDecls = omc_Tpl_writeText(threadData, _a_varDecls, _l_var__name);
_a_varDecls = omc_Tpl_writeTok(threadData, _a_varDecls, _OMC_LIT105);
_a_varDecls = omc_Tpl_writeTok(threadData, _a_varDecls, _OMC_LIT89);
_l_defaultValue = omc_CodegenCFunctions_fun__431(threadData, _OMC_LIT20, _i_value, _a_auxFunction, _a_varDecls, _a_preExp ,&_a_auxFunction ,&_a_varDecls ,&_a_preExp);
_l_instDimsInit = omc_Tpl_pushIter(threadData, _OMC_LIT20, _OMC_LIT294);
_l_instDimsInit = omc_CodegenCFunctions_lm__432(threadData, _l_instDimsInit, _i_instDims, _a_auxFunction, _a_varDecls, _a_preExp ,&_a_auxFunction ,&_a_varDecls ,&_a_preExp);
_l_instDimsInit = omc_Tpl_popIter(threadData, _l_instDimsInit);
_txt = omc_CodegenCFunctions_fun__435(threadData, _txt, _i_instDims, _l_instDimsInit, _i_var_ty, _l_var__name, _l_defaultValue, _a_preExp ,&_a_preExp);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_preExp;
tmpMeta[0+2] = _a_varDecls;
tmpMeta[0+3] = _a_auxFunction;
goto tmp3_done;
}
case 1: {
_txt = tmp4_1;
_a_preExp = tmp4_3;
_a_varDecls = tmp4_4;
_a_auxFunction = tmp4_5;
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_preExp;
tmpMeta[0+2] = _a_varDecls;
tmpMeta[0+3] = _a_auxFunction;
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta[0+0];
_out_a_preExp = tmpMeta[0+1];
_out_a_varDecls = tmpMeta[0+2];
_out_a_auxFunction = tmpMeta[0+3];
_return: OMC_LABEL_UNUSED
if (out_out_a_preExp) { *out_out_a_preExp = _out_a_preExp; }
if (out_out_a_varDecls) { *out_out_a_varDecls = _out_a_varDecls; }
if (out_out_a_auxFunction) { *out_out_a_auxFunction = _out_a_auxFunction; }
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__435(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_instDims, modelica_metatype _in_a_instDimsInit, modelica_metatype _in_a_var_ty, modelica_metatype _in_a_var__name, modelica_metatype _in_a_defaultValue, modelica_metatype _in_a_preExp, modelica_metatype *out_out_a_preExp)
{
modelica_metatype _out_txt = NULL;
modelica_metatype _out_a_preExp = NULL;
modelica_metatype tmpMeta[2] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_metatype tmp4_2;modelica_metatype tmp4_3;modelica_metatype tmp4_4;modelica_metatype tmp4_5;modelica_metatype tmp4_6;modelica_metatype tmp4_7;
tmp4_1 = _in_txt;
tmp4_2 = _in_a_instDims;
tmp4_3 = _in_a_instDimsInit;
tmp4_4 = _in_a_var_ty;
tmp4_5 = _in_a_var__name;
tmp4_6 = _in_a_defaultValue;
tmp4_7 = _in_a_preExp;
{
modelica_metatype _txt = NULL;
modelica_metatype _a_instDimsInit = NULL;
modelica_metatype _a_var_ty = NULL;
modelica_metatype _a_var__name = NULL;
modelica_metatype _a_defaultValue = NULL;
modelica_metatype _a_preExp = NULL;
modelica_metatype _i_instDims = NULL;
modelica_integer _ret_1;
modelica_metatype _l_type = NULL;
volatile mmc_switch_type tmp4;
int tmp5;
tmp4 = 0;
for (; tmp4 < 2; tmp4++) {
switch (MMC_SWITCH_CAST(tmp4)) {
case 0: {
if (!listEmpty(tmp4_2)) goto tmp3_end;
_txt = tmp4_1;
_a_var__name = tmp4_5;
_a_defaultValue = tmp4_6;
_a_preExp = tmp4_7;
_a_preExp = omc_CodegenCFunctions_fun__433(threadData, _a_preExp, _a_defaultValue, _a_var__name);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_preExp;
goto tmp3_done;
}
case 1: {
_txt = tmp4_1;
_i_instDims = tmp4_2;
_a_instDimsInit = tmp4_3;
_a_var_ty = tmp4_4;
_a_var__name = tmp4_5;
_a_defaultValue = tmp4_6;
_a_preExp = tmp4_7;
_l_type = omc_CodegenCFunctions_expTypeArray(threadData, _OMC_LIT20, _a_var_ty);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT296);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _l_type);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT298);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _a_var__name);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT292);
_ret_1 = listLength(_i_instDims);
_a_preExp = omc_Tpl_writeStr(threadData, _a_preExp, intString(_ret_1));
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT292);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _a_instDimsInit);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT290);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT89);
_a_preExp = omc_CodegenCFunctions_fun__434(threadData, _a_preExp, _a_defaultValue, _a_var__name, _l_type);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_preExp;
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta[0+0];
_out_a_preExp = tmpMeta[0+1];
_return: OMC_LABEL_UNUSED
if (out_out_a_preExp) { *out_out_a_preExp = _out_a_preExp; }
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__434(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_defaultValue, modelica_metatype _in_a_var__name, modelica_metatype _in_a_type)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta[2] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp3_1;modelica_metatype tmp3_2;modelica_metatype tmp3_3;modelica_metatype tmp3_4;
tmp3_1 = _in_txt;
tmp3_2 = _in_a_defaultValue;
tmp3_3 = _in_a_var__name;
tmp3_4 = _in_a_type;
{
modelica_metatype _txt = NULL;
modelica_metatype _a_var__name = NULL;
modelica_metatype _a_type = NULL;
modelica_metatype _i_defaultValue = NULL;
volatile mmc_switch_type tmp3;
int tmp4;
tmp3 = 0;
for (; tmp3 < 2; tmp3++) {
switch (MMC_SWITCH_CAST(tmp3)) {
case 0: {
if (mmc__uniontype__metarecord__typedef__equal(tmp3_2,0,2) == 0) goto tmp2_end;
tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_2), 2));
if (!listEmpty(tmpMeta[1])) goto tmp2_end;
_txt = tmp3_1;
tmpMeta[0] = _txt;
goto tmp2_done;
}
case 1: {
_txt = tmp3_1;
_i_defaultValue = tmp3_2;
_a_var__name = tmp3_3;
_a_type = tmp3_4;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT2055);
_txt = omc_Tpl_writeText(threadData, _txt, _a_type);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT68);
_txt = omc_Tpl_writeText(threadData, _txt, _i_defaultValue);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT123);
_txt = omc_Tpl_writeText(threadData, _txt, _a_var__name);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT290);
tmpMeta[0] = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT89);
goto tmp2_done;
}
}
goto tmp2_end;
tmp2_end: ;
}
goto goto_1;
goto_1:;
MMC_THROW_INTERNAL();
goto tmp2_done;
tmp2_done:;
}
}
_out_txt = tmpMeta[0];
_return: OMC_LABEL_UNUSED
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__433(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_defaultValue, modelica_metatype _in_a_var__name)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta[2] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp3_1;modelica_metatype tmp3_2;modelica_metatype tmp3_3;
tmp3_1 = _in_txt;
tmp3_2 = _in_a_defaultValue;
tmp3_3 = _in_a_var__name;
{
modelica_metatype _txt = NULL;
modelica_metatype _a_var__name = NULL;
modelica_metatype _i_defaultValue = NULL;
volatile mmc_switch_type tmp3;
int tmp4;
tmp3 = 0;
for (; tmp3 < 2; tmp3++) {
switch (MMC_SWITCH_CAST(tmp3)) {
case 0: {
if (mmc__uniontype__metarecord__typedef__equal(tmp3_2,0,2) == 0) goto tmp2_end;
tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_2), 2));
if (!listEmpty(tmpMeta[1])) goto tmp2_end;
_txt = tmp3_1;
tmpMeta[0] = _txt;
goto tmp2_done;
}
case 1: {
_txt = tmp3_1;
_i_defaultValue = tmp3_2;
_a_var__name = tmp3_3;
_txt = omc_Tpl_writeText(threadData, _txt, _a_var__name);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT121);
_txt = omc_Tpl_writeText(threadData, _txt, _i_defaultValue);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT105);
tmpMeta[0] = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT89);
goto tmp2_done;
}
}
goto tmp2_end;
tmp2_end: ;
}
goto goto_1;
goto_1:;
MMC_THROW_INTERNAL();
goto tmp2_done;
tmp2_done:;
}
}
_out_txt = tmpMeta[0];
_return: OMC_LABEL_UNUSED
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_lm__432(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_items, modelica_metatype _in_a_auxFunction, modelica_metatype _in_a_varDecls, modelica_metatype _in_a_preExp, modelica_metatype *out_out_a_auxFunction, modelica_metatype *out_out_a_varDecls, modelica_metatype *out_out_a_preExp)
{
modelica_metatype _out_txt = NULL;
modelica_metatype _out_a_auxFunction = NULL;
modelica_metatype _out_a_varDecls = NULL;
modelica_metatype _out_a_preExp = NULL;
modelica_metatype tmpMeta[6] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_metatype tmp4_2;modelica_metatype tmp4_3;modelica_metatype tmp4_4;modelica_metatype tmp4_5;
tmp4_1 = _in_txt;
tmp4_2 = _in_items;
tmp4_3 = _in_a_auxFunction;
tmp4_4 = _in_a_varDecls;
tmp4_5 = _in_a_preExp;
{
modelica_metatype _txt = NULL;
modelica_metatype _rest = NULL;
modelica_metatype _a_auxFunction = NULL;
modelica_metatype _a_varDecls = NULL;
modelica_metatype _a_preExp = NULL;
modelica_metatype _i_dim = NULL;
volatile mmc_switch_type tmp4;
int tmp5;
tmp4 = 0;
for (; tmp4 < 2; tmp4++) {
switch (MMC_SWITCH_CAST(tmp4)) {
case 0: {
if (!listEmpty(tmp4_2)) goto tmp3_end;
_txt = tmp4_1;
_a_auxFunction = tmp4_3;
_a_varDecls = tmp4_4;
_a_preExp = tmp4_5;
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_auxFunction;
tmpMeta[0+2] = _a_varDecls;
tmpMeta[0+3] = _a_preExp;
goto tmp3_done;
}
case 1: {
if (listEmpty(tmp4_2)) goto tmp3_end;
tmpMeta[4] = MMC_CAR(tmp4_2);
tmpMeta[5] = MMC_CDR(tmp4_2);
_i_dim = tmpMeta[4];
_rest = tmpMeta[5];
_txt = tmp4_1;
_a_auxFunction = tmp4_3;
_a_varDecls = tmp4_4;
_a_preExp = tmp4_5;
_txt = omc_CodegenCFunctions_dimension(threadData, _txt, _i_dim, _OMC_LIT1356, _a_preExp, _a_varDecls, _a_auxFunction ,&_a_preExp ,&_a_varDecls ,&_a_auxFunction);
_txt = omc_Tpl_nextIter(threadData, _txt);
_in_txt = _txt;
_in_items = _rest;
_in_a_auxFunction = _a_auxFunction;
_in_a_varDecls = _a_varDecls;
_in_a_preExp = _a_preExp;
goto _tailrecursive;
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta[0+0];
_out_a_auxFunction = tmpMeta[0+1];
_out_a_varDecls = tmpMeta[0+2];
_out_a_preExp = tmpMeta[0+3];
_return: OMC_LABEL_UNUSED
if (out_out_a_auxFunction) { *out_out_a_auxFunction = _out_a_auxFunction; }
if (out_out_a_varDecls) { *out_out_a_varDecls = _out_a_varDecls; }
if (out_out_a_preExp) { *out_out_a_preExp = _out_a_preExp; }
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__431(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_value, modelica_metatype _in_a_auxFunction, modelica_metatype _in_a_varDecls, modelica_metatype _in_a_preExp, modelica_metatype *out_out_a_auxFunction, modelica_metatype *out_out_a_varDecls, modelica_metatype *out_out_a_preExp)
{
modelica_metatype _out_txt = NULL;
modelica_metatype _out_a_auxFunction = NULL;
modelica_metatype _out_a_varDecls = NULL;
modelica_metatype _out_a_preExp = NULL;
modelica_metatype tmpMeta[5] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_metatype tmp4_2;modelica_metatype tmp4_3;modelica_metatype tmp4_4;modelica_metatype tmp4_5;
tmp4_1 = _in_txt;
tmp4_2 = _in_a_value;
tmp4_3 = _in_a_auxFunction;
tmp4_4 = _in_a_varDecls;
tmp4_5 = _in_a_preExp;
{
modelica_metatype _txt = NULL;
modelica_metatype _a_auxFunction = NULL;
modelica_metatype _a_varDecls = NULL;
modelica_metatype _a_preExp = NULL;
modelica_metatype _i_v = NULL;
volatile mmc_switch_type tmp4;
int tmp5;
tmp4 = 0;
for (; tmp4 < 2; tmp4++) {
switch (MMC_SWITCH_CAST(tmp4)) {
case 0: {
if (optionNone(tmp4_2)) goto tmp3_end;
tmpMeta[4] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 1));
_i_v = tmpMeta[4];
_txt = tmp4_1;
_a_auxFunction = tmp4_3;
_a_varDecls = tmp4_4;
_a_preExp = tmp4_5;
_txt = omc_CodegenCFunctions_daeExp(threadData, _txt, _i_v, _OMC_LIT1356, _a_preExp, _a_varDecls, _a_auxFunction ,&_a_preExp ,&_a_varDecls ,&_a_auxFunction);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_auxFunction;
tmpMeta[0+2] = _a_varDecls;
tmpMeta[0+3] = _a_preExp;
goto tmp3_done;
}
case 1: {
_txt = tmp4_1;
_a_auxFunction = tmp4_3;
_a_varDecls = tmp4_4;
_a_preExp = tmp4_5;
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_auxFunction;
tmpMeta[0+2] = _a_varDecls;
tmpMeta[0+3] = _a_preExp;
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta[0+0];
_out_a_auxFunction = tmpMeta[0+1];
_out_a_varDecls = tmpMeta[0+2];
_out_a_preExp = tmpMeta[0+3];
_return: OMC_LABEL_UNUSED
if (out_out_a_auxFunction) { *out_out_a_auxFunction = _out_a_auxFunction; }
if (out_out_a_varDecls) { *out_out_a_varDecls = _out_a_varDecls; }
if (out_out_a_preExp) { *out_out_a_preExp = _out_a_preExp; }
return _out_txt;
}
DLLExport
modelica_metatype omc_CodegenCFunctions_typeDefaultValue(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_ty)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta[1] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp3_1;modelica_metatype tmp3_2;
tmp3_1 = _in_txt;
tmp3_2 = _in_a_ty;
{
modelica_metatype _txt = NULL;
int tmp3;
{
switch (MMC_SWITCH_CAST(valueConstructor(tmp3_2))) {
case 3: {
if (mmc__uniontype__metarecord__typedef__equal(tmp3_2,0,1) == 0) goto tmp2_end;
_txt = tmp3_1;
tmpMeta[0] = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT957);
goto tmp2_done;
}
case 4: {
if (mmc__uniontype__metarecord__typedef__equal(tmp3_2,1,1) == 0) goto tmp2_end;
_txt = tmp3_1;
tmpMeta[0] = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT2057);
goto tmp2_done;
}
case 6: {
if (mmc__uniontype__metarecord__typedef__equal(tmp3_2,3,1) == 0) goto tmp2_end;
_txt = tmp3_1;
tmpMeta[0] = omc_CodegenCFunctions_boolStrC(threadData, _txt, 0);
goto tmp2_done;
}
case 5: {
if (mmc__uniontype__metarecord__typedef__equal(tmp3_2,2,1) == 0) goto tmp2_end;
_txt = tmp3_1;
tmpMeta[0] = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT957);
goto tmp2_done;
}
default:
tmp2_default: OMC_LABEL_UNUSED; {
_txt = tmp3_1;
tmpMeta[0] = _txt;
goto tmp2_done;
}
}
goto tmp2_end;
tmp2_end: ;
}
goto goto_1;
goto_1:;
MMC_THROW_INTERNAL();
goto tmp2_done;
tmp2_done:;
}
}
_out_txt = tmpMeta[0];
_return: OMC_LABEL_UNUSED
return _out_txt;
}
DLLExport
modelica_metatype omc_CodegenCFunctions_boolStrC(threadData_t *threadData, modelica_metatype _in_txt, modelica_boolean _in_a_v)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta[1] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp3_1;modelica_boolean tmp3_2;
tmp3_1 = _in_txt;
tmp3_2 = _in_a_v;
{
modelica_metatype _txt = NULL;
volatile mmc_switch_type tmp3;
int tmp4;
tmp3 = 0;
for (; tmp3 < 2; tmp3++) {
switch (MMC_SWITCH_CAST(tmp3)) {
case 0: {
if (0 != tmp3_2) goto tmp2_end;
_txt = tmp3_1;
tmpMeta[0] = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT957);
goto tmp2_done;
}
case 1: {
_txt = tmp3_1;
tmpMeta[0] = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT399);
goto tmp2_done;
}
}
goto tmp2_end;
tmp2_end: ;
}
goto goto_1;
goto_1:;
MMC_THROW_INTERNAL();
goto tmp2_done;
tmp2_done:;
}
}
_out_txt = tmpMeta[0];
_return: OMC_LABEL_UNUSED
return _out_txt;
}
modelica_metatype boxptr_CodegenCFunctions_boolStrC(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_v)
{
modelica_integer tmp1;
modelica_metatype _out_txt = NULL;
tmp1 = mmc_unbox_integer(_in_a_v);
_out_txt = omc_CodegenCFunctions_boolStrC(threadData, _in_txt, tmp1);
return _out_txt;
}
DLLExport
modelica_metatype omc_CodegenCFunctions_extFunCallVardeclF77(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_arg, modelica_metatype _in_a_varDecls, modelica_metatype _in_a_auxFunction, modelica_metatype *out_out_a_varDecls, modelica_metatype *out_out_a_auxFunction)
{
modelica_metatype _out_txt = NULL;
modelica_metatype _out_a_varDecls = NULL;
modelica_metatype _out_a_auxFunction = NULL;
modelica_metatype tmpMeta[8] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_metatype tmp4_2;modelica_metatype tmp4_3;modelica_metatype tmp4_4;
tmp4_1 = _in_txt;
tmp4_2 = _in_a_arg;
tmp4_3 = _in_a_varDecls;
tmp4_4 = _in_a_auxFunction;
{
modelica_metatype _txt = NULL;
modelica_metatype _a_varDecls = NULL;
modelica_metatype _a_auxFunction = NULL;
modelica_boolean _i_ea_hasBinding;
modelica_boolean _i_ia;
modelica_integer _i_oi;
modelica_metatype _i_c = NULL;
modelica_metatype _i_ty = NULL;
volatile mmc_switch_type tmp4;
int tmp5;
tmp4 = 0;
for (; tmp4 < 4; tmp4++) {
switch (MMC_SWITCH_CAST(tmp4)) {
case 0: {
modelica_integer tmp6;
modelica_integer tmp7;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,0,6) == 0) goto tmp3_end;
tmpMeta[3] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
tmpMeta[4] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 3));
tmp6 = mmc_unbox_integer(tmpMeta[4]);
if (1 != tmp6) goto tmp3_end;
tmpMeta[5] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 5));
tmp7 = mmc_unbox_integer(tmpMeta[5]);
if (1 != tmp7) goto tmp3_end;
tmpMeta[6] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 7));
_i_c = tmpMeta[3];
_i_ty = tmpMeta[6];
_txt = tmp4_1;
_a_varDecls = tmp4_3;
_a_auxFunction = tmp4_4;
_a_varDecls = omc_CodegenCFunctions_expTypeArrayIf(threadData, _a_varDecls, _i_ty);
_a_varDecls = omc_Tpl_writeTok(threadData, _a_varDecls, _OMC_LIT29);
_a_varDecls = omc_CodegenCFunctions_extVarName(threadData, _a_varDecls, _i_c);
_a_varDecls = omc_Tpl_writeTok(threadData, _a_varDecls, _OMC_LIT105);
_a_varDecls = omc_Tpl_writeTok(threadData, _a_varDecls, _OMC_LIT89);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT2037);
_txt = omc_CodegenCFunctions_expTypeArray(threadData, _txt, _i_ty);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT2053);
_txt = omc_CodegenCFunctions_contextCrefNoPrevExp(threadData, _txt, _i_c, _OMC_LIT1356, _a_auxFunction ,&_a_auxFunction);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT123);
_txt = omc_CodegenCFunctions_extVarName(threadData, _txt, _i_c);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT290);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_varDecls;
tmpMeta[0+2] = _a_auxFunction;
goto tmp3_done;
}
case 1: {
modelica_integer tmp8;
modelica_integer tmp9;
modelica_integer tmp10;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,0,6) == 0) goto tmp3_end;
tmpMeta[3] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
tmpMeta[4] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 4));
tmp8 = mmc_unbox_integer(tmpMeta[4]);
tmpMeta[5] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 5));
tmp9 = mmc_unbox_integer(tmpMeta[5]);
tmpMeta[6] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 6));
tmp10 = mmc_unbox_integer(tmpMeta[6]);
tmpMeta[7] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 7));
_i_c = tmpMeta[3];
_i_oi = tmp8;
_i_ia = tmp9;
_i_ea_hasBinding = tmp10;
_i_ty = tmpMeta[7];
_txt = tmp4_1;
_a_varDecls = tmp4_3;
_a_auxFunction = tmp4_4;
_txt = omc_CodegenCFunctions_fun__427(threadData, _txt, _i_oi, _a_auxFunction, _i_c, _a_varDecls, _i_ea_hasBinding, _i_ty, _i_ia ,&_a_auxFunction ,&_a_varDecls);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_varDecls;
tmpMeta[0+2] = _a_auxFunction;
goto tmp3_done;
}
case 2: {
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,0,6) == 0) goto tmp3_end;
tmpMeta[3] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
tmpMeta[4] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 7));
_i_c = tmpMeta[3];
_i_ty = tmpMeta[4];
_txt = tmp4_1;
_a_varDecls = tmp4_3;
_a_auxFunction = tmp4_4;
_a_varDecls = omc_CodegenCFunctions_extTypeF77(threadData, _a_varDecls, _i_ty, 0);
_a_varDecls = omc_Tpl_writeTok(threadData, _a_varDecls, _OMC_LIT29);
_a_varDecls = omc_CodegenCFunctions_extVarName(threadData, _a_varDecls, _i_c);
_a_varDecls = omc_Tpl_writeTok(threadData, _a_varDecls, _OMC_LIT105);
_a_varDecls = omc_Tpl_writeTok(threadData, _a_varDecls, _OMC_LIT89);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_varDecls;
tmpMeta[0+2] = _a_auxFunction;
goto tmp3_done;
}
case 3: {
_txt = tmp4_1;
_a_varDecls = tmp4_3;
_a_auxFunction = tmp4_4;
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_varDecls;
tmpMeta[0+2] = _a_auxFunction;
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta[0+0];
_out_a_varDecls = tmpMeta[0+1];
_out_a_auxFunction = tmpMeta[0+2];
_return: OMC_LABEL_UNUSED
if (out_out_a_varDecls) { *out_out_a_varDecls = _out_a_varDecls; }
if (out_out_a_auxFunction) { *out_out_a_auxFunction = _out_a_auxFunction; }
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__427(threadData_t *threadData, modelica_metatype _in_txt, modelica_integer _in_a_oi, modelica_metatype _in_a_auxFunction, modelica_metatype _in_a_c, modelica_metatype _in_a_varDecls, modelica_boolean _in_a_ea_hasBinding, modelica_metatype _in_a_ty, modelica_boolean _in_a_ia, modelica_metatype *out_out_a_auxFunction, modelica_metatype *out_out_a_varDecls)
{
modelica_metatype _out_txt = NULL;
modelica_metatype _out_a_auxFunction = NULL;
modelica_metatype _out_a_varDecls = NULL;
modelica_metatype tmpMeta[3] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_integer tmp4_2;modelica_metatype tmp4_3;modelica_metatype tmp4_4;modelica_metatype tmp4_5;modelica_boolean tmp4_6;modelica_metatype tmp4_7;modelica_boolean tmp4_8;
tmp4_1 = _in_txt;
tmp4_2 = _in_a_oi;
tmp4_3 = _in_a_auxFunction;
tmp4_4 = _in_a_c;
tmp4_5 = _in_a_varDecls;
tmp4_6 = _in_a_ea_hasBinding;
tmp4_7 = _in_a_ty;
tmp4_8 = _in_a_ia;
{
modelica_metatype _txt = NULL;
modelica_metatype _a_auxFunction = NULL;
modelica_metatype _a_c = NULL;
modelica_metatype _a_varDecls = NULL;
modelica_boolean _a_ea_hasBinding;
modelica_metatype _a_ty = NULL;
modelica_boolean _a_ia;
volatile mmc_switch_type tmp4;
int tmp5;
tmp4 = 0;
for (; tmp4 < 2; tmp4++) {
switch (MMC_SWITCH_CAST(tmp4)) {
case 0: {
if (0 != tmp4_2) goto tmp3_end;
_txt = tmp4_1;
_a_auxFunction = tmp4_3;
_a_varDecls = tmp4_5;
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_auxFunction;
tmpMeta[0+2] = _a_varDecls;
goto tmp3_done;
}
case 1: {
_txt = tmp4_1;
_a_auxFunction = tmp4_3;
_a_c = tmp4_4;
_a_varDecls = tmp4_5;
_a_ea_hasBinding = tmp4_6;
_a_ty = tmp4_7;
_a_ia = tmp4_8;
tmpMeta[0+0] = omc_CodegenCFunctions_fun__426(threadData, _txt, _a_ia, _a_auxFunction, _a_c, _a_varDecls, _a_ea_hasBinding, _a_ty, &tmpMeta[0+1], &tmpMeta[0+2]);
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta[0+0];
_out_a_auxFunction = tmpMeta[0+1];
_out_a_varDecls = tmpMeta[0+2];
_return: OMC_LABEL_UNUSED
if (out_out_a_auxFunction) { *out_out_a_auxFunction = _out_a_auxFunction; }
if (out_out_a_varDecls) { *out_out_a_varDecls = _out_a_varDecls; }
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__427(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_oi, modelica_metatype _in_a_auxFunction, modelica_metatype _in_a_c, modelica_metatype _in_a_varDecls, modelica_metatype _in_a_ea_hasBinding, modelica_metatype _in_a_ty, modelica_metatype _in_a_ia, modelica_metatype *out_out_a_auxFunction, modelica_metatype *out_out_a_varDecls)
{
modelica_integer tmp1;
modelica_integer tmp2;
modelica_integer tmp3;
modelica_metatype _out_txt = NULL;
tmp1 = mmc_unbox_integer(_in_a_oi);
tmp2 = mmc_unbox_integer(_in_a_ea_hasBinding);
tmp3 = mmc_unbox_integer(_in_a_ia);
_out_txt = omc_CodegenCFunctions_fun__427(threadData, _in_txt, tmp1, _in_a_auxFunction, _in_a_c, _in_a_varDecls, tmp2, _in_a_ty, tmp3, out_out_a_auxFunction, out_out_a_varDecls);
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__426(threadData_t *threadData, modelica_metatype _in_txt, modelica_boolean _in_a_ia, modelica_metatype _in_a_auxFunction, modelica_metatype _in_a_c, modelica_metatype _in_a_varDecls, modelica_boolean _in_a_ea_hasBinding, modelica_metatype _in_a_ty, modelica_metatype *out_out_a_auxFunction, modelica_metatype *out_out_a_varDecls)
{
modelica_metatype _out_txt = NULL;
modelica_metatype _out_a_auxFunction = NULL;
modelica_metatype _out_a_varDecls = NULL;
modelica_metatype tmpMeta[3] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_boolean tmp4_2;modelica_metatype tmp4_3;modelica_metatype tmp4_4;modelica_metatype tmp4_5;modelica_boolean tmp4_6;modelica_metatype tmp4_7;
tmp4_1 = _in_txt;
tmp4_2 = _in_a_ia;
tmp4_3 = _in_a_auxFunction;
tmp4_4 = _in_a_c;
tmp4_5 = _in_a_varDecls;
tmp4_6 = _in_a_ea_hasBinding;
tmp4_7 = _in_a_ty;
{
modelica_metatype _txt = NULL;
modelica_metatype _a_auxFunction = NULL;
modelica_metatype _a_c = NULL;
modelica_metatype _a_varDecls = NULL;
modelica_boolean _a_ea_hasBinding;
modelica_metatype _a_ty = NULL;
modelica_metatype _l_default__exp = NULL;
modelica_metatype _l_default__val = NULL;
volatile mmc_switch_type tmp4;
int tmp5;
tmp4 = 0;
for (; tmp4 < 2; tmp4++) {
switch (MMC_SWITCH_CAST(tmp4)) {
case 0: {
if (0 != tmp4_2) goto tmp3_end;
_txt = tmp4_1;
_a_auxFunction = tmp4_3;
_a_c = tmp4_4;
_a_varDecls = tmp4_5;
_a_ea_hasBinding = tmp4_6;
_a_ty = tmp4_7;
_l_default__val = omc_CodegenCFunctions_typeDefaultValue(threadData, _OMC_LIT20, _a_ty);
_l_default__exp = omc_CodegenCFunctions_fun__425(threadData, _OMC_LIT20, _a_ea_hasBinding, _l_default__val);
_a_varDecls = omc_CodegenCFunctions_extTypeF77(threadData, _a_varDecls, _a_ty, 0);
_a_varDecls = omc_Tpl_writeTok(threadData, _a_varDecls, _OMC_LIT29);
_a_varDecls = omc_CodegenCFunctions_extVarName(threadData, _a_varDecls, _a_c);
_a_varDecls = omc_Tpl_writeText(threadData, _a_varDecls, _l_default__exp);
_a_varDecls = omc_Tpl_writeTok(threadData, _a_varDecls, _OMC_LIT105);
_a_varDecls = omc_Tpl_writeTok(threadData, _a_varDecls, _OMC_LIT89);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_auxFunction;
tmpMeta[0+2] = _a_varDecls;
goto tmp3_done;
}
case 1: {
_txt = tmp4_1;
_a_auxFunction = tmp4_3;
_a_c = tmp4_4;
_a_varDecls = tmp4_5;
_a_ty = tmp4_7;
_a_varDecls = omc_CodegenCFunctions_expTypeArrayIf(threadData, _a_varDecls, _a_ty);
_a_varDecls = omc_Tpl_writeTok(threadData, _a_varDecls, _OMC_LIT29);
_a_varDecls = omc_CodegenCFunctions_extVarName(threadData, _a_varDecls, _a_c);
_a_varDecls = omc_Tpl_writeTok(threadData, _a_varDecls, _OMC_LIT105);
_a_varDecls = omc_Tpl_writeTok(threadData, _a_varDecls, _OMC_LIT89);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT2037);
_txt = omc_CodegenCFunctions_expTypeArray(threadData, _txt, _a_ty);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT2053);
_txt = omc_CodegenCFunctions_contextCrefNoPrevExp(threadData, _txt, _a_c, _OMC_LIT1356, _a_auxFunction ,&_a_auxFunction);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT123);
_txt = omc_CodegenCFunctions_extVarName(threadData, _txt, _a_c);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT290);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_auxFunction;
tmpMeta[0+2] = _a_varDecls;
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta[0+0];
_out_a_auxFunction = tmpMeta[0+1];
_out_a_varDecls = tmpMeta[0+2];
_return: OMC_LABEL_UNUSED
if (out_out_a_auxFunction) { *out_out_a_auxFunction = _out_a_auxFunction; }
if (out_out_a_varDecls) { *out_out_a_varDecls = _out_a_varDecls; }
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__426(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_ia, modelica_metatype _in_a_auxFunction, modelica_metatype _in_a_c, modelica_metatype _in_a_varDecls, modelica_metatype _in_a_ea_hasBinding, modelica_metatype _in_a_ty, modelica_metatype *out_out_a_auxFunction, modelica_metatype *out_out_a_varDecls)
{
modelica_integer tmp1;
modelica_integer tmp2;
modelica_metatype _out_txt = NULL;
tmp1 = mmc_unbox_integer(_in_a_ia);
tmp2 = mmc_unbox_integer(_in_a_ea_hasBinding);
_out_txt = omc_CodegenCFunctions_fun__426(threadData, _in_txt, tmp1, _in_a_auxFunction, _in_a_c, _in_a_varDecls, tmp2, _in_a_ty, out_out_a_auxFunction, out_out_a_varDecls);
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__425(threadData_t *threadData, modelica_metatype _in_txt, modelica_boolean _in_a_ea_hasBinding, modelica_metatype _in_a_default__val)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta[1] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp3_1;modelica_boolean tmp3_2;modelica_metatype tmp3_3;
tmp3_1 = _in_txt;
tmp3_2 = _in_a_ea_hasBinding;
tmp3_3 = _in_a_default__val;
{
modelica_metatype _txt = NULL;
modelica_metatype _a_default__val = NULL;
modelica_string _str_0 = NULL;
volatile mmc_switch_type tmp3;
int tmp4;
tmp3 = 0;
for (; tmp3 < 2; tmp3++) {
switch (MMC_SWITCH_CAST(tmp3)) {
case 0: {
if (0 != tmp3_2) goto tmp2_end;
_txt = tmp3_1;
_a_default__val = tmp3_3;
_str_0 = omc_Tpl_textString(threadData, _a_default__val);
tmpMeta[0] = omc_CodegenCFunctions_fun__424(threadData, _txt, _str_0, _a_default__val);
goto tmp2_done;
}
case 1: {
_txt = tmp3_1;
tmpMeta[0] = _txt;
goto tmp2_done;
}
}
goto tmp2_end;
tmp2_end: ;
}
goto goto_1;
goto_1:;
MMC_THROW_INTERNAL();
goto tmp2_done;
tmp2_done:;
}
}
_out_txt = tmpMeta[0];
_return: OMC_LABEL_UNUSED
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__425(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_ea_hasBinding, modelica_metatype _in_a_default__val)
{
modelica_integer tmp1;
modelica_metatype _out_txt = NULL;
tmp1 = mmc_unbox_integer(_in_a_ea_hasBinding);
_out_txt = omc_CodegenCFunctions_fun__425(threadData, _in_txt, tmp1, _in_a_default__val);
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__424(threadData_t *threadData, modelica_metatype _in_txt, modelica_string _in_mArg, modelica_metatype _in_a_default__val)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta[1] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp3_1;modelica_string tmp3_2;modelica_metatype tmp3_3;
tmp3_1 = _in_txt;
tmp3_2 = _in_mArg;
tmp3_3 = _in_a_default__val;
{
modelica_metatype _txt = NULL;
modelica_metatype _a_default__val = NULL;
volatile mmc_switch_type tmp3;
int tmp4;
tmp3 = 0;
for (; tmp3 < 2; tmp3++) {
switch (MMC_SWITCH_CAST(tmp3)) {
case 0: {
if (0 != MMC_STRLEN(tmp3_2) || strcmp(MMC_STRINGDATA(_OMC_LIT91), MMC_STRINGDATA(tmp3_2)) != 0) goto tmp2_end;
_txt = tmp3_1;
tmpMeta[0] = _txt;
goto tmp2_done;
}
case 1: {
_txt = tmp3_1;
_a_default__val = tmp3_3;
_txt = omc_Tpl_pushBlock(threadData, _txt, _OMC_LIT1283);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT2059);
_txt = omc_Tpl_writeText(threadData, _txt, _a_default__val);
tmpMeta[0] = omc_Tpl_popBlock(threadData, _txt);
goto tmp2_done;
}
}
goto tmp2_end;
tmp2_end: ;
}
goto goto_1;
goto_1:;
MMC_THROW_INTERNAL();
goto tmp2_done;
tmp2_done:;
}
}
_out_txt = tmpMeta[0];
_return: OMC_LABEL_UNUSED
return _out_txt;
}
DLLExport
modelica_metatype omc_CodegenCFunctions_extFunCallVardecl(threadData_t *threadData, modelica_metatype _txt, modelica_metatype _a_arg, modelica_metatype _a_varDecls, modelica_metatype _a_auxFunction, modelica_boolean _a_isReturn, modelica_metatype *out_out_a_varDecls, modelica_metatype *out_out_a_auxFunction)
{
modelica_metatype _out_txt = NULL;
modelica_metatype _out_a_varDecls = NULL;
modelica_metatype _out_a_auxFunction = NULL;
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
_out_txt = omc_CodegenCFunctions_fun__422(threadData, _txt, _a_arg, _a_varDecls, _a_auxFunction ,&_out_a_varDecls ,&_out_a_auxFunction);
_return: OMC_LABEL_UNUSED
if (out_out_a_varDecls) { *out_out_a_varDecls = _out_a_varDecls; }
if (out_out_a_auxFunction) { *out_out_a_auxFunction = _out_a_auxFunction; }
return _out_txt;
}
modelica_metatype boxptr_CodegenCFunctions_extFunCallVardecl(threadData_t *threadData, modelica_metatype _txt, modelica_metatype _a_arg, modelica_metatype _a_varDecls, modelica_metatype _a_auxFunction, modelica_metatype _a_isReturn, modelica_metatype *out_out_a_varDecls, modelica_metatype *out_out_a_auxFunction)
{
modelica_integer tmp1;
modelica_metatype _out_txt = NULL;
tmp1 = mmc_unbox_integer(_a_isReturn);
_out_txt = omc_CodegenCFunctions_extFunCallVardecl(threadData, _txt, _a_arg, _a_varDecls, _a_auxFunction, tmp1, out_out_a_varDecls, out_out_a_auxFunction);
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__422(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_arg, modelica_metatype _in_a_varDecls, modelica_metatype _in_a_auxFunction, modelica_metatype *out_out_a_varDecls, modelica_metatype *out_out_a_auxFunction)
{
modelica_metatype _out_txt = NULL;
modelica_metatype _out_a_varDecls = NULL;
modelica_metatype _out_a_auxFunction = NULL;
modelica_metatype tmpMeta[7] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_metatype tmp4_2;modelica_metatype tmp4_3;modelica_metatype tmp4_4;
tmp4_1 = _in_txt;
tmp4_2 = _in_a_arg;
tmp4_3 = _in_a_varDecls;
tmp4_4 = _in_a_auxFunction;
{
modelica_metatype _txt = NULL;
modelica_metatype _a_varDecls = NULL;
modelica_metatype _a_auxFunction = NULL;
modelica_integer _i_oi;
modelica_metatype _i_c = NULL;
modelica_metatype _i_ty = NULL;
modelica_string _str_3 = NULL;
modelica_metatype _txt_2 = NULL;
modelica_string _str_1 = NULL;
modelica_metatype _txt_0 = NULL;
volatile mmc_switch_type tmp4;
int tmp5;
tmp4 = 0;
for (; tmp4 < 5; tmp4++) {
switch (MMC_SWITCH_CAST(tmp4)) {
case 0: {
modelica_integer tmp6;
modelica_integer tmp7;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,0,6) == 0) goto tmp3_end;
tmpMeta[3] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
tmpMeta[4] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 3));
tmp6 = mmc_unbox_integer(tmpMeta[4]);
if (1 != tmp6) goto tmp3_end;
tmpMeta[5] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 5));
tmp7 = mmc_unbox_integer(tmpMeta[5]);
if (1 != tmp7) goto tmp3_end;
tmpMeta[6] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 7));
_i_c = tmpMeta[3];
_i_ty = tmpMeta[6];
_txt = tmp4_1;
_a_varDecls = tmp4_3;
_a_auxFunction = tmp4_4;
_txt_0 = omc_CodegenCFunctions_expTypeShort(threadData, _OMC_LIT20, _i_ty);
_str_1 = omc_Tpl_textString(threadData, _txt_0);
tmpMeta[0+0] = omc_CodegenCFunctions_fun__415(threadData, _txt, _str_1, _a_varDecls, _a_auxFunction, _i_c, &tmpMeta[0+1], &tmpMeta[0+2]);
goto tmp3_done;
}
case 1: {
modelica_integer tmp8;
modelica_integer tmp9;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,0,6) == 0) goto tmp3_end;
tmpMeta[3] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
tmpMeta[4] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 3));
tmp8 = mmc_unbox_integer(tmpMeta[4]);
if (0 != tmp8) goto tmp3_end;
tmpMeta[5] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 5));
tmp9 = mmc_unbox_integer(tmpMeta[5]);
if (1 != tmp9) goto tmp3_end;
tmpMeta[6] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 7));
_i_c = tmpMeta[3];
_i_ty = tmpMeta[6];
_txt = tmp4_1;
_a_varDecls = tmp4_3;
_a_auxFunction = tmp4_4;
_txt_2 = omc_CodegenCFunctions_expTypeShort(threadData, _OMC_LIT20, _i_ty);
_str_3 = omc_Tpl_textString(threadData, _txt_2);
_txt = omc_CodegenCFunctions_fun__416(threadData, _txt, _str_3, _a_auxFunction, _i_c ,&_a_auxFunction);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_varDecls;
tmpMeta[0+2] = _a_auxFunction;
goto tmp3_done;
}
case 2: {
modelica_integer tmp10;
modelica_integer tmp11;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,0,6) == 0) goto tmp3_end;
tmpMeta[3] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
tmpMeta[4] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 3));
tmp10 = mmc_unbox_integer(tmpMeta[4]);
if (1 != tmp10) goto tmp3_end;
tmpMeta[5] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 5));
tmp11 = mmc_unbox_integer(tmpMeta[5]);
if (0 != tmp11) goto tmp3_end;
tmpMeta[6] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 7));
_i_c = tmpMeta[3];
_i_ty = tmpMeta[6];
_txt = tmp4_1;
_a_varDecls = tmp4_3;
_a_auxFunction = tmp4_4;
_txt = omc_CodegenCFunctions_fun__420(threadData, _txt, _i_ty, _a_auxFunction, _a_varDecls, _i_c ,&_a_auxFunction ,&_a_varDecls);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_varDecls;
tmpMeta[0+2] = _a_auxFunction;
goto tmp3_done;
}
case 3: {
modelica_integer tmp12;
modelica_integer tmp13;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,0,6) == 0) goto tmp3_end;
tmpMeta[3] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
tmpMeta[4] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 4));
tmp12 = mmc_unbox_integer(tmpMeta[4]);
tmpMeta[5] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 5));
tmp13 = mmc_unbox_integer(tmpMeta[5]);
if (0 != tmp13) goto tmp3_end;
tmpMeta[6] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 7));
_i_c = tmpMeta[3];
_i_oi = tmp12;
_i_ty = tmpMeta[6];
_txt = tmp4_1;
_a_varDecls = tmp4_3;
_a_auxFunction = tmp4_4;
_txt = omc_CodegenCFunctions_fun__421(threadData, _txt, _i_oi, _i_c, _i_ty, _a_varDecls ,&_a_varDecls);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_varDecls;
tmpMeta[0+2] = _a_auxFunction;
goto tmp3_done;
}
case 4: {
_txt = tmp4_1;
_a_varDecls = tmp4_3;
_a_auxFunction = tmp4_4;
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_varDecls;
tmpMeta[0+2] = _a_auxFunction;
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta[0+0];
_out_a_varDecls = tmpMeta[0+1];
_out_a_auxFunction = tmpMeta[0+2];
_return: OMC_LABEL_UNUSED
if (out_out_a_varDecls) { *out_out_a_varDecls = _out_a_varDecls; }
if (out_out_a_auxFunction) { *out_out_a_auxFunction = _out_a_auxFunction; }
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__421(threadData_t *threadData, modelica_metatype _in_txt, modelica_integer _in_a_oi, modelica_metatype _in_a_c, modelica_metatype _in_a_ty, modelica_metatype _in_a_varDecls, modelica_metatype *out_out_a_varDecls)
{
modelica_metatype _out_txt = NULL;
modelica_metatype _out_a_varDecls = NULL;
modelica_metatype tmpMeta[2] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_integer tmp4_2;modelica_metatype tmp4_3;modelica_metatype tmp4_4;modelica_metatype tmp4_5;
tmp4_1 = _in_txt;
tmp4_2 = _in_a_oi;
tmp4_3 = _in_a_c;
tmp4_4 = _in_a_ty;
tmp4_5 = _in_a_varDecls;
{
modelica_metatype _txt = NULL;
modelica_metatype _a_c = NULL;
modelica_metatype _a_ty = NULL;
modelica_metatype _a_varDecls = NULL;
volatile mmc_switch_type tmp4;
int tmp5;
tmp4 = 0;
for (; tmp4 < 2; tmp4++) {
switch (MMC_SWITCH_CAST(tmp4)) {
case 0: {
if (0 != tmp4_2) goto tmp3_end;
_txt = tmp4_1;
_a_varDecls = tmp4_5;
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_varDecls;
goto tmp3_done;
}
case 1: {
_txt = tmp4_1;
_a_c = tmp4_3;
_a_ty = tmp4_4;
_a_varDecls = tmp4_5;
_a_varDecls = omc_CodegenCFunctions_extType(threadData, _a_varDecls, _a_ty, 1, 0, 1);
_a_varDecls = omc_Tpl_writeTok(threadData, _a_varDecls, _OMC_LIT29);
_a_varDecls = omc_CodegenCFunctions_extVarName(threadData, _a_varDecls, _a_c);
_a_varDecls = omc_Tpl_writeTok(threadData, _a_varDecls, _OMC_LIT105);
_a_varDecls = omc_Tpl_writeTok(threadData, _a_varDecls, _OMC_LIT89);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_varDecls;
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta[0+0];
_out_a_varDecls = tmpMeta[0+1];
_return: OMC_LABEL_UNUSED
if (out_out_a_varDecls) { *out_out_a_varDecls = _out_a_varDecls; }
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__421(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_oi, modelica_metatype _in_a_c, modelica_metatype _in_a_ty, modelica_metatype _in_a_varDecls, modelica_metatype *out_out_a_varDecls)
{
modelica_integer tmp1;
modelica_metatype _out_txt = NULL;
tmp1 = mmc_unbox_integer(_in_a_oi);
_out_txt = omc_CodegenCFunctions_fun__421(threadData, _in_txt, tmp1, _in_a_c, _in_a_ty, _in_a_varDecls, out_out_a_varDecls);
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__420(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_ty, modelica_metatype _in_a_auxFunction, modelica_metatype _in_a_varDecls, modelica_metatype _in_a_c, modelica_metatype *out_out_a_auxFunction, modelica_metatype *out_out_a_varDecls)
{
modelica_metatype _out_txt = NULL;
modelica_metatype _out_a_auxFunction = NULL;
modelica_metatype _out_a_varDecls = NULL;
modelica_metatype tmpMeta[3] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_metatype tmp4_2;modelica_metatype tmp4_3;modelica_metatype tmp4_4;modelica_metatype tmp4_5;
tmp4_1 = _in_txt;
tmp4_2 = _in_a_ty;
tmp4_3 = _in_a_auxFunction;
tmp4_4 = _in_a_varDecls;
tmp4_5 = _in_a_c;
{
modelica_metatype _txt = NULL;
modelica_metatype _a_auxFunction = NULL;
modelica_metatype _a_varDecls = NULL;
modelica_metatype _a_c = NULL;
modelica_metatype _i_ty = NULL;
volatile mmc_switch_type tmp4;
int tmp5;
tmp4 = 0;
for (; tmp4 < 3; tmp4++) {
switch (MMC_SWITCH_CAST(tmp4)) {
case 0: {
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,2,1) == 0) goto tmp3_end;
_txt = tmp4_1;
_a_auxFunction = tmp4_3;
_a_varDecls = tmp4_4;
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_auxFunction;
tmpMeta[0+2] = _a_varDecls;
goto tmp3_done;
}
case 1: {
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,12,1) == 0) goto tmp3_end;
_i_ty = tmp4_2;
_txt = tmp4_1;
_a_auxFunction = tmp4_3;
_a_varDecls = tmp4_4;
_a_c = tmp4_5;
_txt = omc_CodegenCFunctions_fun__418(threadData, _txt, _a_c, _i_ty, _a_varDecls ,&_a_varDecls);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_auxFunction;
tmpMeta[0+2] = _a_varDecls;
goto tmp3_done;
}
case 2: {
_txt = tmp4_1;
_i_ty = tmp4_2;
_a_auxFunction = tmp4_3;
_a_varDecls = tmp4_4;
_a_c = tmp4_5;
_a_varDecls = omc_CodegenCFunctions_extType(threadData, _a_varDecls, _i_ty, 1, 0, 0);
_a_varDecls = omc_Tpl_writeTok(threadData, _a_varDecls, _OMC_LIT29);
_a_varDecls = omc_CodegenCFunctions_extVarName(threadData, _a_varDecls, _a_c);
_a_varDecls = omc_Tpl_writeTok(threadData, _a_varDecls, _OMC_LIT105);
_a_varDecls = omc_Tpl_writeTok(threadData, _a_varDecls, _OMC_LIT89);
_txt = omc_CodegenCFunctions_extVarName(threadData, _txt, _a_c);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT381);
_txt = omc_CodegenCFunctions_extType(threadData, _txt, _i_ty, 1, 0, 0);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT78);
_txt = omc_CodegenCFunctions_fun__419(threadData, _txt, _i_ty);
_txt = omc_CodegenCFunctions_contextCrefNoPrevExp(threadData, _txt, _a_c, _OMC_LIT1356, _a_auxFunction ,&_a_auxFunction);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT105);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT89);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_auxFunction;
tmpMeta[0+2] = _a_varDecls;
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta[0+0];
_out_a_auxFunction = tmpMeta[0+1];
_out_a_varDecls = tmpMeta[0+2];
_return: OMC_LABEL_UNUSED
if (out_out_a_auxFunction) { *out_out_a_auxFunction = _out_a_auxFunction; }
if (out_out_a_varDecls) { *out_out_a_varDecls = _out_a_varDecls; }
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__419(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_ty)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta[2] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp3_1;modelica_metatype tmp3_2;
tmp3_1 = _in_txt;
tmp3_2 = _in_a_ty;
{
modelica_metatype _txt = NULL;
volatile mmc_switch_type tmp3;
int tmp4;
tmp3 = 0;
for (; tmp3 < 2; tmp3++) {
switch (MMC_SWITCH_CAST(tmp3)) {
case 0: {
if (mmc__uniontype__metarecord__typedef__equal(tmp3_2,9,3) == 0) goto tmp2_end;
tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_2), 2));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[1],3,1) == 0) goto tmp2_end;
_txt = tmp3_1;
tmpMeta[0] = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT582);
goto tmp2_done;
}
case 1: {
_txt = tmp3_1;
tmpMeta[0] = _txt;
goto tmp2_done;
}
}
goto tmp2_end;
tmp2_end: ;
}
goto goto_1;
goto_1:;
MMC_THROW_INTERNAL();
goto tmp2_done;
tmp2_done:;
}
}
_out_txt = tmpMeta[0];
_return: OMC_LABEL_UNUSED
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__418(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_c, modelica_metatype _in_a_ty, modelica_metatype _in_a_varDecls, modelica_metatype *out_out_a_varDecls)
{
modelica_metatype _out_txt = NULL;
modelica_metatype _out_a_varDecls = NULL;
modelica_metatype tmpMeta[3] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_metatype tmp4_2;modelica_metatype tmp4_3;modelica_metatype tmp4_4;
tmp4_1 = _in_txt;
tmp4_2 = _in_a_c;
tmp4_3 = _in_a_ty;
tmp4_4 = _in_a_varDecls;
{
modelica_metatype _txt = NULL;
modelica_metatype _a_ty = NULL;
modelica_metatype _a_varDecls = NULL;
modelica_string _i_ident = NULL;
modelica_metatype _i_c = NULL;
modelica_metatype _txt_1 = NULL;
modelica_string _ret_1 = NULL;
modelica_boolean _ret_0;
volatile mmc_switch_type tmp4;
int tmp5;
tmp4 = 0;
for (; tmp4 < 2; tmp4++) {
switch (MMC_SWITCH_CAST(tmp4)) {
case 0: {
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,1,3) == 0) goto tmp3_end;
tmpMeta[2] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
_i_c = tmp4_2;
_i_ident = tmpMeta[2];
_txt = tmp4_1;
_a_varDecls = tmp4_4;
_a_varDecls = omc_Tpl_writeTok(threadData, _a_varDecls, _OMC_LIT975);
_a_varDecls = omc_CodegenCFunctions_extVarName(threadData, _a_varDecls, _i_c);
_a_varDecls = omc_Tpl_writeTok(threadData, _a_varDecls, _OMC_LIT105);
_a_varDecls = omc_Tpl_writeTok(threadData, _a_varDecls, _OMC_LIT89);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT2061);
_txt = omc_Tpl_writeStr(threadData, _txt, _i_ident);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT2063);
_txt = omc_Tpl_pushBlock(threadData, _txt, _OMC_LIT97);
_txt = omc_CodegenCFunctions_generateThrow(threadData, _txt);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT2065);
_txt = omc_Tpl_popBlock(threadData, _txt);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT159);
_txt = omc_CodegenCFunctions_extVarName(threadData, _txt, _i_c);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT121);
_ret_0 = omc_Flags_isSet(threadData, _OMC_LIT604);
_txt = omc_CodegenCFunctions_fun__417(threadData, _txt, _ret_0);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT2067);
_txt = omc_Tpl_writeStr(threadData, _txt, _i_ident);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT2069);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_varDecls;
goto tmp3_done;
}
case 1: {
_txt = tmp4_1;
_i_c = tmp4_2;
_a_ty = tmp4_3;
_a_varDecls = tmp4_4;
_txt_1 = omc_Tpl_writeTok(threadData, _OMC_LIT20, _OMC_LIT2071);
_txt_1 = omc_CodegenUtil_crefStr(threadData, _txt_1, _i_c);
_txt_1 = omc_Tpl_writeTok(threadData, _txt_1, _OMC_LIT292);
_ret_1 = omc_Types_unparseType(threadData, _a_ty);
_txt_1 = omc_Tpl_writeStr(threadData, _txt_1, _ret_1);
_txt = omc_CodegenUtil_error(threadData, _txt, omc_Tpl_sourceInfo(threadData, _OMC_LIT27, ((modelica_integer) 2462), ((modelica_integer) 15)), omc_Tpl_textString(threadData, _txt_1));
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_varDecls;
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta[0+0];
_out_a_varDecls = tmpMeta[0+1];
_return: OMC_LABEL_UNUSED
if (out_out_a_varDecls) { *out_out_a_varDecls = _out_a_varDecls; }
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__417(threadData_t *threadData, modelica_metatype _in_txt, modelica_boolean _in_mArg)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta[1] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp3_1;modelica_boolean tmp3_2;
tmp3_1 = _in_txt;
tmp3_2 = _in_mArg;
{
modelica_metatype _txt = NULL;
volatile mmc_switch_type tmp3;
int tmp4;
tmp3 = 0;
for (; tmp3 < 2; tmp3++) {
switch (MMC_SWITCH_CAST(tmp3)) {
case 0: {
if (0 != tmp3_2) goto tmp2_end;
_txt = tmp3_1;
tmpMeta[0] = _txt;
goto tmp2_done;
}
case 1: {
_txt = tmp3_1;
tmpMeta[0] = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT606);
goto tmp2_done;
}
}
goto tmp2_end;
tmp2_end: ;
}
goto goto_1;
goto_1:;
MMC_THROW_INTERNAL();
goto tmp2_done;
tmp2_done:;
}
}
_out_txt = tmpMeta[0];
_return: OMC_LABEL_UNUSED
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__417(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_mArg)
{
modelica_integer tmp1;
modelica_metatype _out_txt = NULL;
tmp1 = mmc_unbox_integer(_in_mArg);
_out_txt = omc_CodegenCFunctions_fun__417(threadData, _in_txt, tmp1);
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__416(threadData_t *threadData, modelica_metatype _in_txt, modelica_string _in_mArg, modelica_metatype _in_a_auxFunction, modelica_metatype _in_a_c, modelica_metatype *out_out_a_auxFunction)
{
modelica_metatype _out_txt = NULL;
modelica_metatype _out_a_auxFunction = NULL;
modelica_metatype tmpMeta[2] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_string tmp4_2;modelica_metatype tmp4_3;modelica_metatype tmp4_4;
tmp4_1 = _in_txt;
tmp4_2 = _in_mArg;
tmp4_3 = _in_a_auxFunction;
tmp4_4 = _in_a_c;
{
modelica_metatype _txt = NULL;
modelica_metatype _a_auxFunction = NULL;
modelica_metatype _a_c = NULL;
volatile mmc_switch_type tmp4;
int tmp5;
tmp4 = 0;
for (; tmp4 < 2; tmp4++) {
switch (MMC_SWITCH_CAST(tmp4)) {
case 0: {
if (6 != MMC_STRLEN(tmp4_2) || strcmp(MMC_STRINGDATA(_OMC_LIT1574), MMC_STRINGDATA(tmp4_2)) != 0) goto tmp3_end;
_txt = tmp4_1;
_a_auxFunction = tmp4_3;
_a_c = tmp4_4;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT2073);
_txt = omc_CodegenCFunctions_contextCrefNoPrevExp(threadData, _txt, _a_c, _OMC_LIT1356, _a_auxFunction ,&_a_auxFunction);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT2075);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT89);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_auxFunction;
goto tmp3_done;
}
case 1: {
_txt = tmp4_1;
_a_auxFunction = tmp4_3;
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_auxFunction;
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta[0+0];
_out_a_auxFunction = tmpMeta[0+1];
_return: OMC_LABEL_UNUSED
if (out_out_a_auxFunction) { *out_out_a_auxFunction = _out_a_auxFunction; }
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__415(threadData_t *threadData, modelica_metatype _in_txt, modelica_string _in_mArg, modelica_metatype _in_a_varDecls, modelica_metatype _in_a_auxFunction, modelica_metatype _in_a_c, modelica_metatype *out_out_a_varDecls, modelica_metatype *out_out_a_auxFunction)
{
modelica_metatype _out_txt = NULL;
modelica_metatype _out_a_varDecls = NULL;
modelica_metatype _out_a_auxFunction = NULL;
modelica_metatype tmpMeta[3] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_string tmp4_2;modelica_metatype tmp4_3;modelica_metatype tmp4_4;modelica_metatype tmp4_5;
tmp4_1 = _in_txt;
tmp4_2 = _in_mArg;
tmp4_3 = _in_a_varDecls;
tmp4_4 = _in_a_auxFunction;
tmp4_5 = _in_a_c;
{
modelica_metatype _txt = NULL;
modelica_metatype _a_varDecls = NULL;
modelica_metatype _a_auxFunction = NULL;
modelica_metatype _a_c = NULL;
modelica_metatype _l_var__name = NULL;
volatile mmc_switch_type tmp4;
int tmp5;
tmp4 = 0;
for (; tmp4 < 2; tmp4++) {
switch (MMC_SWITCH_CAST(tmp4)) {
case 0: {
if (7 != MMC_STRLEN(tmp4_2) || strcmp(MMC_STRINGDATA(_OMC_LIT566), MMC_STRINGDATA(tmp4_2)) != 0) goto tmp3_end;
_txt = tmp4_1;
_a_varDecls = tmp4_3;
_a_auxFunction = tmp4_4;
_a_c = tmp4_5;
_l_var__name = omc_CodegenCFunctions_contextCrefNoPrevExp(threadData, _OMC_LIT20, _a_c, _OMC_LIT1356, _a_auxFunction ,&_a_auxFunction);
_a_varDecls = omc_Tpl_writeTok(threadData, _a_varDecls, _OMC_LIT2077);
_a_varDecls = omc_Tpl_writeText(threadData, _a_varDecls, _l_var__name);
_a_varDecls = omc_Tpl_writeTok(threadData, _a_varDecls, _OMC_LIT2079);
_a_varDecls = omc_Tpl_writeTok(threadData, _a_varDecls, _OMC_LIT89);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT2081);
_txt = omc_Tpl_writeText(threadData, _txt, _l_var__name);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT123);
_txt = omc_Tpl_writeText(threadData, _txt, _l_var__name);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT2083);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT89);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_varDecls;
tmpMeta[0+2] = _a_auxFunction;
goto tmp3_done;
}
case 1: {
_txt = tmp4_1;
_a_varDecls = tmp4_3;
_a_auxFunction = tmp4_4;
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_varDecls;
tmpMeta[0+2] = _a_auxFunction;
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta[0+0];
_out_a_varDecls = tmpMeta[0+1];
_out_a_auxFunction = tmpMeta[0+2];
_return: OMC_LABEL_UNUSED
if (out_out_a_varDecls) { *out_out_a_varDecls = _out_a_varDecls; }
if (out_out_a_auxFunction) { *out_out_a_auxFunction = _out_a_auxFunction; }
return _out_txt;
}
DLLExport
modelica_metatype omc_CodegenCFunctions_extFunCallF77(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_fun, modelica_metatype _in_a_preExp, modelica_metatype _in_a_varDecls, modelica_metatype _in_a_varInit, modelica_metatype _in_a_auxFunction, modelica_metatype *out_out_a_preExp, modelica_metatype *out_out_a_varDecls, modelica_metatype *out_out_a_varInit, modelica_metatype *out_out_a_auxFunction)
{
modelica_metatype _out_txt = NULL;
modelica_metatype _out_a_preExp = NULL;
modelica_metatype _out_a_varDecls = NULL;
modelica_metatype _out_a_varInit = NULL;
modelica_metatype _out_a_auxFunction = NULL;
modelica_metatype tmpMeta[9] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_metatype tmp4_2;modelica_metatype tmp4_3;modelica_metatype tmp4_4;modelica_metatype tmp4_5;modelica_metatype tmp4_6;
tmp4_1 = _in_txt;
tmp4_2 = _in_a_fun;
tmp4_3 = _in_a_preExp;
tmp4_4 = _in_a_varDecls;
tmp4_5 = _in_a_varInit;
tmp4_6 = _in_a_auxFunction;
{
modelica_metatype _txt = NULL;
modelica_metatype _a_preExp = NULL;
modelica_metatype _a_varDecls = NULL;
modelica_metatype _a_varInit = NULL;
modelica_metatype _a_auxFunction = NULL;
modelica_string _i_extName = NULL;
modelica_metatype _i_extReturn = NULL;
modelica_metatype _i_biVars = NULL;
modelica_metatype _i_extArgs = NULL;
modelica_metatype _ret_5 = NULL;
modelica_metatype _l_returnAssign = NULL;
modelica_metatype _l_args = NULL;
modelica_metatype _l_biVarDecs = NULL;
modelica_metatype _ret_1 = NULL;
modelica_metatype _l_varDecs = NULL;
volatile mmc_switch_type tmp4;
int tmp5;
tmp4 = 0;
for (; tmp4 < 2; tmp4++) {
switch (MMC_SWITCH_CAST(tmp4)) {
case 0: {
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,3,14) == 0) goto tmp3_end;
tmpMeta[5] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 3));
tmpMeta[6] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 5));
tmpMeta[7] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 6));
tmpMeta[8] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 9));
_i_extName = tmpMeta[5];
_i_extArgs = tmpMeta[6];
_i_extReturn = tmpMeta[7];
_i_biVars = tmpMeta[8];
_txt = tmp4_1;
_a_preExp = tmp4_3;
_a_varDecls = tmp4_4;
_a_varInit = tmp4_5;
_a_auxFunction = tmp4_6;
_a_varDecls = omc_Tpl_writeTok(threadData, _a_varDecls, _OMC_LIT2085);
_a_varDecls = omc_Tpl_writeTok(threadData, _a_varDecls, _OMC_LIT89);
_ret_1 = omc_List_union(threadData, _i_extArgs, _i_extArgs);
_l_varDecs = omc_Tpl_pushIter(threadData, _OMC_LIT20, _OMC_LIT96);
_l_varDecs = omc_CodegenCFunctions_lm__407(threadData, _l_varDecs, _ret_1, _a_auxFunction, _a_varDecls ,&_a_auxFunction ,&_a_varDecls);
_l_varDecs = omc_Tpl_popIter(threadData, _l_varDecs);
_a_varDecls = omc_Tpl_writeTok(threadData, _a_varDecls, _OMC_LIT2087);
_a_varDecls = omc_Tpl_writeTok(threadData, _a_varDecls, _OMC_LIT89);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT2087);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT89);
_l_biVarDecs = omc_Tpl_pushIter(threadData, _OMC_LIT20, _OMC_LIT96);
_l_biVarDecs = omc_CodegenCFunctions_lm__408(threadData, _l_biVarDecs, _i_biVars, _a_auxFunction, _a_varDecls, _a_varInit ,&_a_auxFunction ,&_a_varDecls ,&_a_varInit);
_l_biVarDecs = omc_Tpl_popIter(threadData, _l_biVarDecs);
_a_varDecls = omc_Tpl_writeTok(threadData, _a_varDecls, _OMC_LIT2089);
_a_varDecls = omc_Tpl_writeTok(threadData, _a_varDecls, _OMC_LIT89);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT2089);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT89);
_l_args = omc_Tpl_pushIter(threadData, _OMC_LIT20, _OMC_LIT294);
_l_args = omc_CodegenCFunctions_lm__409(threadData, _l_args, _i_extArgs, _a_auxFunction, _a_varDecls, _a_preExp ,&_a_auxFunction ,&_a_varDecls ,&_a_preExp);
_l_args = omc_Tpl_popIter(threadData, _l_args);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT2091);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT89);
_l_returnAssign = omc_CodegenCFunctions_fun__410(threadData, _OMC_LIT20, _i_extReturn);
_txt = omc_Tpl_writeText(threadData, _txt, _l_varDecs);
_txt = omc_Tpl_softNewLine(threadData, _txt);
_txt = omc_Tpl_writeText(threadData, _txt, _l_biVarDecs);
_txt = omc_Tpl_softNewLine(threadData, _txt);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT2093);
_txt = omc_CodegenCFunctions_fun__411(threadData, _txt, _i_extReturn, _a_auxFunction, _a_varDecls ,&_a_auxFunction ,&_a_varDecls);
_txt = omc_Tpl_softNewLine(threadData, _txt);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT2095);
_txt = omc_Tpl_writeText(threadData, _txt, _l_returnAssign);
_txt = omc_Tpl_writeStr(threadData, _txt, _i_extName);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT2097);
_txt = omc_Tpl_writeText(threadData, _txt, _l_args);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT2101);
_ret_5 = omc_List_union(threadData, _i_extArgs, _i_extArgs);
_txt = omc_Tpl_pushIter(threadData, _txt, _OMC_LIT96);
_txt = omc_CodegenCFunctions_lm__412(threadData, _txt, _ret_5, _a_auxFunction ,&_a_auxFunction);
_txt = omc_Tpl_popIter(threadData, _txt);
_txt = omc_Tpl_softNewLine(threadData, _txt);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT2103);
_txt = omc_CodegenCFunctions_fun__413(threadData, _txt, _i_extReturn, _a_auxFunction ,&_a_auxFunction);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_preExp;
tmpMeta[0+2] = _a_varDecls;
tmpMeta[0+3] = _a_varInit;
tmpMeta[0+4] = _a_auxFunction;
goto tmp3_done;
}
case 1: {
_txt = tmp4_1;
_a_preExp = tmp4_3;
_a_varDecls = tmp4_4;
_a_varInit = tmp4_5;
_a_auxFunction = tmp4_6;
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_preExp;
tmpMeta[0+2] = _a_varDecls;
tmpMeta[0+3] = _a_varInit;
tmpMeta[0+4] = _a_auxFunction;
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta[0+0];
_out_a_preExp = tmpMeta[0+1];
_out_a_varDecls = tmpMeta[0+2];
_out_a_varInit = tmpMeta[0+3];
_out_a_auxFunction = tmpMeta[0+4];
_return: OMC_LABEL_UNUSED
if (out_out_a_preExp) { *out_out_a_preExp = _out_a_preExp; }
if (out_out_a_varDecls) { *out_out_a_varDecls = _out_a_varDecls; }
if (out_out_a_varInit) { *out_out_a_varInit = _out_a_varInit; }
if (out_out_a_auxFunction) { *out_out_a_auxFunction = _out_a_auxFunction; }
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__413(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_extReturn, modelica_metatype _in_a_auxFunction, modelica_metatype *out_out_a_auxFunction)
{
modelica_metatype _out_txt = NULL;
modelica_metatype _out_a_auxFunction = NULL;
modelica_metatype tmpMeta[2] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_metatype tmp4_2;modelica_metatype tmp4_3;
tmp4_1 = _in_txt;
tmp4_2 = _in_a_extReturn;
tmp4_3 = _in_a_auxFunction;
{
modelica_metatype _txt = NULL;
modelica_metatype _a_auxFunction = NULL;
modelica_metatype _i_extReturn = NULL;
volatile mmc_switch_type tmp4;
int tmp5;
tmp4 = 0;
for (; tmp4 < 2; tmp4++) {
switch (MMC_SWITCH_CAST(tmp4)) {
case 0: {
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,0,6) == 0) goto tmp3_end;
_i_extReturn = tmp4_2;
_txt = tmp4_1;
_a_auxFunction = tmp4_3;
tmpMeta[0+0] = omc_CodegenCFunctions_extFunCallVarcopyF77(threadData, _txt, _i_extReturn, _a_auxFunction, &tmpMeta[0+1]);
goto tmp3_done;
}
case 1: {
_txt = tmp4_1;
_a_auxFunction = tmp4_3;
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_auxFunction;
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta[0+0];
_out_a_auxFunction = tmpMeta[0+1];
_return: OMC_LABEL_UNUSED
if (out_out_a_auxFunction) { *out_out_a_auxFunction = _out_a_auxFunction; }
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_lm__412(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_items, modelica_metatype _in_a_auxFunction, modelica_metatype *out_out_a_auxFunction)
{
modelica_metatype _out_txt = NULL;
modelica_metatype _out_a_auxFunction = NULL;
modelica_metatype tmpMeta[4] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_metatype tmp4_2;modelica_metatype tmp4_3;
tmp4_1 = _in_txt;
tmp4_2 = _in_items;
tmp4_3 = _in_a_auxFunction;
{
modelica_metatype _txt = NULL;
modelica_metatype _rest = NULL;
modelica_metatype _a_auxFunction = NULL;
modelica_metatype _i_arg = NULL;
volatile mmc_switch_type tmp4;
int tmp5;
tmp4 = 0;
for (; tmp4 < 2; tmp4++) {
switch (MMC_SWITCH_CAST(tmp4)) {
case 0: {
if (!listEmpty(tmp4_2)) goto tmp3_end;
_txt = tmp4_1;
_a_auxFunction = tmp4_3;
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_auxFunction;
goto tmp3_done;
}
case 1: {
if (listEmpty(tmp4_2)) goto tmp3_end;
tmpMeta[2] = MMC_CAR(tmp4_2);
tmpMeta[3] = MMC_CDR(tmp4_2);
_i_arg = tmpMeta[2];
_rest = tmpMeta[3];
_txt = tmp4_1;
_a_auxFunction = tmp4_3;
_txt = omc_CodegenCFunctions_extFunCallVarcopyF77(threadData, _txt, _i_arg, _a_auxFunction ,&_a_auxFunction);
_txt = omc_Tpl_nextIter(threadData, _txt);
_in_txt = _txt;
_in_items = _rest;
_in_a_auxFunction = _a_auxFunction;
goto _tailrecursive;
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta[0+0];
_out_a_auxFunction = tmpMeta[0+1];
_return: OMC_LABEL_UNUSED
if (out_out_a_auxFunction) { *out_out_a_auxFunction = _out_a_auxFunction; }
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__411(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_extReturn, modelica_metatype _in_a_auxFunction, modelica_metatype _in_a_varDecls, modelica_metatype *out_out_a_auxFunction, modelica_metatype *out_out_a_varDecls)
{
modelica_metatype _out_txt = NULL;
modelica_metatype _out_a_auxFunction = NULL;
modelica_metatype _out_a_varDecls = NULL;
modelica_metatype tmpMeta[3] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_metatype tmp4_2;modelica_metatype tmp4_3;modelica_metatype tmp4_4;
tmp4_1 = _in_txt;
tmp4_2 = _in_a_extReturn;
tmp4_3 = _in_a_auxFunction;
tmp4_4 = _in_a_varDecls;
{
modelica_metatype _txt = NULL;
modelica_metatype _a_auxFunction = NULL;
modelica_metatype _a_varDecls = NULL;
modelica_metatype _i_extReturn = NULL;
volatile mmc_switch_type tmp4;
int tmp5;
tmp4 = 0;
for (; tmp4 < 2; tmp4++) {
switch (MMC_SWITCH_CAST(tmp4)) {
case 0: {
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,0,6) == 0) goto tmp3_end;
_i_extReturn = tmp4_2;
_txt = tmp4_1;
_a_auxFunction = tmp4_3;
_a_varDecls = tmp4_4;
_txt = omc_CodegenCFunctions_extFunCallVardeclF77(threadData, _txt, _i_extReturn, _a_varDecls, _a_auxFunction ,&_a_varDecls ,&_a_auxFunction);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_auxFunction;
tmpMeta[0+2] = _a_varDecls;
goto tmp3_done;
}
case 1: {
_txt = tmp4_1;
_a_auxFunction = tmp4_3;
_a_varDecls = tmp4_4;
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_auxFunction;
tmpMeta[0+2] = _a_varDecls;
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta[0+0];
_out_a_auxFunction = tmpMeta[0+1];
_out_a_varDecls = tmpMeta[0+2];
_return: OMC_LABEL_UNUSED
if (out_out_a_auxFunction) { *out_out_a_auxFunction = _out_a_auxFunction; }
if (out_out_a_varDecls) { *out_out_a_varDecls = _out_a_varDecls; }
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__410(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_extReturn)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta[2] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp3_1;modelica_metatype tmp3_2;
tmp3_1 = _in_txt;
tmp3_2 = _in_a_extReturn;
{
modelica_metatype _txt = NULL;
modelica_metatype _i_c = NULL;
volatile mmc_switch_type tmp3;
int tmp4;
tmp3 = 0;
for (; tmp3 < 2; tmp3++) {
switch (MMC_SWITCH_CAST(tmp3)) {
case 0: {
if (mmc__uniontype__metarecord__typedef__equal(tmp3_2,0,6) == 0) goto tmp2_end;
tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_2), 2));
_i_c = tmpMeta[1];
_txt = tmp3_1;
_txt = omc_CodegenCFunctions_extVarName(threadData, _txt, _i_c);
tmpMeta[0] = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT121);
goto tmp2_done;
}
case 1: {
_txt = tmp3_1;
tmpMeta[0] = _txt;
goto tmp2_done;
}
}
goto tmp2_end;
tmp2_end: ;
}
goto goto_1;
goto_1:;
MMC_THROW_INTERNAL();
goto tmp2_done;
tmp2_done:;
}
}
_out_txt = tmpMeta[0];
_return: OMC_LABEL_UNUSED
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_lm__409(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_items, modelica_metatype _in_a_auxFunction, modelica_metatype _in_a_varDecls, modelica_metatype _in_a_preExp, modelica_metatype *out_out_a_auxFunction, modelica_metatype *out_out_a_varDecls, modelica_metatype *out_out_a_preExp)
{
modelica_metatype _out_txt = NULL;
modelica_metatype _out_a_auxFunction = NULL;
modelica_metatype _out_a_varDecls = NULL;
modelica_metatype _out_a_preExp = NULL;
modelica_metatype tmpMeta[6] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_metatype tmp4_2;modelica_metatype tmp4_3;modelica_metatype tmp4_4;modelica_metatype tmp4_5;
tmp4_1 = _in_txt;
tmp4_2 = _in_items;
tmp4_3 = _in_a_auxFunction;
tmp4_4 = _in_a_varDecls;
tmp4_5 = _in_a_preExp;
{
modelica_metatype _txt = NULL;
modelica_metatype _rest = NULL;
modelica_metatype _a_auxFunction = NULL;
modelica_metatype _a_varDecls = NULL;
modelica_metatype _a_preExp = NULL;
modelica_metatype _i_arg = NULL;
volatile mmc_switch_type tmp4;
int tmp5;
tmp4 = 0;
for (; tmp4 < 2; tmp4++) {
switch (MMC_SWITCH_CAST(tmp4)) {
case 0: {
if (!listEmpty(tmp4_2)) goto tmp3_end;
_txt = tmp4_1;
_a_auxFunction = tmp4_3;
_a_varDecls = tmp4_4;
_a_preExp = tmp4_5;
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_auxFunction;
tmpMeta[0+2] = _a_varDecls;
tmpMeta[0+3] = _a_preExp;
goto tmp3_done;
}
case 1: {
if (listEmpty(tmp4_2)) goto tmp3_end;
tmpMeta[4] = MMC_CAR(tmp4_2);
tmpMeta[5] = MMC_CDR(tmp4_2);
_i_arg = tmpMeta[4];
_rest = tmpMeta[5];
_txt = tmp4_1;
_a_auxFunction = tmp4_3;
_a_varDecls = tmp4_4;
_a_preExp = tmp4_5;
_txt = omc_CodegenCFunctions_extArgF77(threadData, _txt, _i_arg, _a_preExp, _a_varDecls, _a_auxFunction ,&_a_preExp ,&_a_varDecls ,&_a_auxFunction);
_txt = omc_Tpl_nextIter(threadData, _txt);
_in_txt = _txt;
_in_items = _rest;
_in_a_auxFunction = _a_auxFunction;
_in_a_varDecls = _a_varDecls;
_in_a_preExp = _a_preExp;
goto _tailrecursive;
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta[0+0];
_out_a_auxFunction = tmpMeta[0+1];
_out_a_varDecls = tmpMeta[0+2];
_out_a_preExp = tmpMeta[0+3];
_return: OMC_LABEL_UNUSED
if (out_out_a_auxFunction) { *out_out_a_auxFunction = _out_a_auxFunction; }
if (out_out_a_varDecls) { *out_out_a_varDecls = _out_a_varDecls; }
if (out_out_a_preExp) { *out_out_a_preExp = _out_a_preExp; }
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_lm__408(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_items, modelica_metatype _in_a_auxFunction, modelica_metatype _in_a_varDecls, modelica_metatype _in_a_varInit, modelica_metatype *out_out_a_auxFunction, modelica_metatype *out_out_a_varDecls, modelica_metatype *out_out_a_varInit)
{
modelica_metatype _out_txt = NULL;
modelica_metatype _out_a_auxFunction = NULL;
modelica_metatype _out_a_varDecls = NULL;
modelica_metatype _out_a_varInit = NULL;
modelica_metatype tmpMeta[6] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_metatype tmp4_2;modelica_metatype tmp4_3;modelica_metatype tmp4_4;modelica_metatype tmp4_5;
tmp4_1 = _in_txt;
tmp4_2 = _in_items;
tmp4_3 = _in_a_auxFunction;
tmp4_4 = _in_a_varDecls;
tmp4_5 = _in_a_varInit;
{
modelica_metatype _txt = NULL;
modelica_metatype _rest = NULL;
modelica_metatype _a_auxFunction = NULL;
modelica_metatype _a_varDecls = NULL;
modelica_metatype _a_varInit = NULL;
modelica_metatype _i_arg = NULL;
volatile mmc_switch_type tmp4;
int tmp5;
tmp4 = 0;
for (; tmp4 < 2; tmp4++) {
switch (MMC_SWITCH_CAST(tmp4)) {
case 0: {
if (!listEmpty(tmp4_2)) goto tmp3_end;
_txt = tmp4_1;
_a_auxFunction = tmp4_3;
_a_varDecls = tmp4_4;
_a_varInit = tmp4_5;
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_auxFunction;
tmpMeta[0+2] = _a_varDecls;
tmpMeta[0+3] = _a_varInit;
goto tmp3_done;
}
case 1: {
if (listEmpty(tmp4_2)) goto tmp3_end;
tmpMeta[4] = MMC_CAR(tmp4_2);
tmpMeta[5] = MMC_CDR(tmp4_2);
_i_arg = tmpMeta[4];
_rest = tmpMeta[5];
_txt = tmp4_1;
_a_auxFunction = tmp4_3;
_a_varDecls = tmp4_4;
_a_varInit = tmp4_5;
_txt = omc_CodegenCFunctions_extFunCallBiVarF77(threadData, _txt, _i_arg, _a_varInit, _a_varDecls, _a_auxFunction ,&_a_varInit ,&_a_varDecls ,&_a_auxFunction);
_txt = omc_Tpl_nextIter(threadData, _txt);
_in_txt = _txt;
_in_items = _rest;
_in_a_auxFunction = _a_auxFunction;
_in_a_varDecls = _a_varDecls;
_in_a_varInit = _a_varInit;
goto _tailrecursive;
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta[0+0];
_out_a_auxFunction = tmpMeta[0+1];
_out_a_varDecls = tmpMeta[0+2];
_out_a_varInit = tmpMeta[0+3];
_return: OMC_LABEL_UNUSED
if (out_out_a_auxFunction) { *out_out_a_auxFunction = _out_a_auxFunction; }
if (out_out_a_varDecls) { *out_out_a_varDecls = _out_a_varDecls; }
if (out_out_a_varInit) { *out_out_a_varInit = _out_a_varInit; }
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_lm__407(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_items, modelica_metatype _in_a_auxFunction, modelica_metatype _in_a_varDecls, modelica_metatype *out_out_a_auxFunction, modelica_metatype *out_out_a_varDecls)
{
modelica_metatype _out_txt = NULL;
modelica_metatype _out_a_auxFunction = NULL;
modelica_metatype _out_a_varDecls = NULL;
modelica_metatype tmpMeta[5] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_metatype tmp4_2;modelica_metatype tmp4_3;modelica_metatype tmp4_4;
tmp4_1 = _in_txt;
tmp4_2 = _in_items;
tmp4_3 = _in_a_auxFunction;
tmp4_4 = _in_a_varDecls;
{
modelica_metatype _txt = NULL;
modelica_metatype _rest = NULL;
modelica_metatype _a_auxFunction = NULL;
modelica_metatype _a_varDecls = NULL;
modelica_metatype _i_arg = NULL;
volatile mmc_switch_type tmp4;
int tmp5;
tmp4 = 0;
for (; tmp4 < 2; tmp4++) {
switch (MMC_SWITCH_CAST(tmp4)) {
case 0: {
if (!listEmpty(tmp4_2)) goto tmp3_end;
_txt = tmp4_1;
_a_auxFunction = tmp4_3;
_a_varDecls = tmp4_4;
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_auxFunction;
tmpMeta[0+2] = _a_varDecls;
goto tmp3_done;
}
case 1: {
if (listEmpty(tmp4_2)) goto tmp3_end;
tmpMeta[3] = MMC_CAR(tmp4_2);
tmpMeta[4] = MMC_CDR(tmp4_2);
_i_arg = tmpMeta[3];
_rest = tmpMeta[4];
_txt = tmp4_1;
_a_auxFunction = tmp4_3;
_a_varDecls = tmp4_4;
_txt = omc_CodegenCFunctions_extFunCallVardeclF77(threadData, _txt, _i_arg, _a_varDecls, _a_auxFunction ,&_a_varDecls ,&_a_auxFunction);
_txt = omc_Tpl_nextIter(threadData, _txt);
_in_txt = _txt;
_in_items = _rest;
_in_a_auxFunction = _a_auxFunction;
_in_a_varDecls = _a_varDecls;
goto _tailrecursive;
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta[0+0];
_out_a_auxFunction = tmpMeta[0+1];
_out_a_varDecls = tmpMeta[0+2];
_return: OMC_LABEL_UNUSED
if (out_out_a_auxFunction) { *out_out_a_auxFunction = _out_a_auxFunction; }
if (out_out_a_varDecls) { *out_out_a_varDecls = _out_a_varDecls; }
return _out_txt;
}
DLLExport
modelica_metatype omc_CodegenCFunctions_extFunCallC(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_fun, modelica_metatype _in_a_preExp, modelica_metatype _in_a_varDecls, modelica_metatype _in_a_auxFunction, modelica_metatype *out_out_a_preExp, modelica_metatype *out_out_a_varDecls, modelica_metatype *out_out_a_auxFunction)
{
modelica_metatype _out_txt = NULL;
modelica_metatype _out_a_preExp = NULL;
modelica_metatype _out_a_varDecls = NULL;
modelica_metatype _out_a_auxFunction = NULL;
modelica_metatype tmpMeta[11] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_metatype tmp4_2;modelica_metatype tmp4_3;modelica_metatype tmp4_4;modelica_metatype tmp4_5;
tmp4_1 = _in_txt;
tmp4_2 = _in_a_fun;
tmp4_3 = _in_a_preExp;
tmp4_4 = _in_a_varDecls;
tmp4_5 = _in_a_auxFunction;
{
modelica_metatype _txt = NULL;
modelica_metatype _a_preExp = NULL;
modelica_metatype _a_varDecls = NULL;
modelica_metatype _a_auxFunction = NULL;
modelica_metatype _i_extReturn = NULL;
modelica_metatype _i_info = NULL;
modelica_string _i_language = NULL;
modelica_string _i_extName = NULL;
modelica_boolean _i_dynamicLoad;
modelica_metatype _i_biVars = NULL;
modelica_metatype _i_extArgs = NULL;
modelica_metatype _l_returnAssign = NULL;
modelica_metatype _l_args = NULL;
modelica_metatype _l_dynamicCheck = NULL;
modelica_metatype _l_fname = NULL;
modelica_metatype _l_0__ = NULL;
modelica_metatype _ret_0 = NULL;
volatile mmc_switch_type tmp4;
int tmp5;
tmp4 = 0;
for (; tmp4 < 2; tmp4++) {
switch (MMC_SWITCH_CAST(tmp4)) {
case 0: {
modelica_integer tmp6;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,3,14) == 0) goto tmp3_end;
tmpMeta[4] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 3));
tmpMeta[5] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 5));
tmpMeta[6] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 6));
tmpMeta[7] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 9));
tmpMeta[8] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 12));
tmpMeta[9] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 14));
tmpMeta[10] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 15));
tmp6 = mmc_unbox_integer(tmpMeta[10]);
_i_extName = tmpMeta[4];
_i_extArgs = tmpMeta[5];
_i_extReturn = tmpMeta[6];
_i_biVars = tmpMeta[7];
_i_language = tmpMeta[8];
_i_info = tmpMeta[9];
_i_dynamicLoad = tmp6;
_txt = tmp4_1;
_a_preExp = tmp4_3;
_a_varDecls = tmp4_4;
_a_auxFunction = tmp4_5;
_ret_0 = omc_List_union(threadData, _i_extArgs, _i_extArgs);
_a_preExp = omc_Tpl_pushIter(threadData, _a_preExp, _OMC_LIT96);
_a_preExp = omc_CodegenCFunctions_lm__397(threadData, _a_preExp, _ret_0, _a_auxFunction, _a_varDecls ,&_a_auxFunction ,&_a_varDecls);
_a_preExp = omc_Tpl_popIter(threadData, _a_preExp);
_l_0__ = omc_Tpl_pushIter(threadData, _OMC_LIT20, _OMC_LIT96);
_l_0__ = omc_CodegenCFunctions_lm__398(threadData, _l_0__, _i_biVars, _a_auxFunction, _a_varDecls, _a_preExp ,&_a_auxFunction ,&_a_varDecls ,&_a_preExp);
_l_0__ = omc_Tpl_popIter(threadData, _l_0__);
_l_fname = omc_CodegenCFunctions_fun__399(threadData, _OMC_LIT20, _i_dynamicLoad, _i_language, _i_extName);
_l_dynamicCheck = omc_CodegenCFunctions_fun__400(threadData, _OMC_LIT20, _i_dynamicLoad, _i_language, _i_extName, _i_info, _l_fname);
_l_args = omc_Tpl_pushIter(threadData, _OMC_LIT20, _OMC_LIT294);
_l_args = omc_CodegenCFunctions_lm__401(threadData, _l_args, _i_extArgs, _a_auxFunction, _a_varDecls, _a_preExp ,&_a_auxFunction ,&_a_varDecls ,&_a_preExp);
_l_args = omc_Tpl_popIter(threadData, _l_args);
_l_returnAssign = omc_CodegenCFunctions_fun__402(threadData, _OMC_LIT20, _i_extReturn);
_txt = omc_CodegenCFunctions_fun__403(threadData, _txt, _i_extReturn, _a_auxFunction, _a_varDecls ,&_a_auxFunction ,&_a_varDecls);
_txt = omc_Tpl_softNewLine(threadData, _txt);
_txt = omc_Tpl_writeText(threadData, _txt, _l_dynamicCheck);
_txt = omc_Tpl_softNewLine(threadData, _txt);
_txt = omc_Tpl_writeText(threadData, _txt, _l_returnAssign);
_txt = omc_Tpl_writeText(threadData, _txt, _l_fname);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT68);
_txt = omc_Tpl_writeText(threadData, _txt, _l_args);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT375);
_txt = omc_Tpl_pushIter(threadData, _txt, _OMC_LIT96);
_txt = omc_CodegenCFunctions_lm__404(threadData, _txt, _i_extArgs, _a_auxFunction ,&_a_auxFunction);
_txt = omc_Tpl_popIter(threadData, _txt);
_txt = omc_Tpl_softNewLine(threadData, _txt);
_txt = omc_CodegenCFunctions_fun__405(threadData, _txt, _i_extReturn, _a_auxFunction ,&_a_auxFunction);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_preExp;
tmpMeta[0+2] = _a_varDecls;
tmpMeta[0+3] = _a_auxFunction;
goto tmp3_done;
}
case 1: {
_txt = tmp4_1;
_a_preExp = tmp4_3;
_a_varDecls = tmp4_4;
_a_auxFunction = tmp4_5;
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_preExp;
tmpMeta[0+2] = _a_varDecls;
tmpMeta[0+3] = _a_auxFunction;
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta[0+0];
_out_a_preExp = tmpMeta[0+1];
_out_a_varDecls = tmpMeta[0+2];
_out_a_auxFunction = tmpMeta[0+3];
_return: OMC_LABEL_UNUSED
if (out_out_a_preExp) { *out_out_a_preExp = _out_a_preExp; }
if (out_out_a_varDecls) { *out_out_a_varDecls = _out_a_varDecls; }
if (out_out_a_auxFunction) { *out_out_a_auxFunction = _out_a_auxFunction; }
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__405(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_extReturn, modelica_metatype _in_a_auxFunction, modelica_metatype *out_out_a_auxFunction)
{
modelica_metatype _out_txt = NULL;
modelica_metatype _out_a_auxFunction = NULL;
modelica_metatype tmpMeta[2] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_metatype tmp4_2;modelica_metatype tmp4_3;
tmp4_1 = _in_txt;
tmp4_2 = _in_a_extReturn;
tmp4_3 = _in_a_auxFunction;
{
modelica_metatype _txt = NULL;
modelica_metatype _a_auxFunction = NULL;
modelica_metatype _i_extReturn = NULL;
volatile mmc_switch_type tmp4;
int tmp5;
tmp4 = 0;
for (; tmp4 < 2; tmp4++) {
switch (MMC_SWITCH_CAST(tmp4)) {
case 0: {
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,0,6) == 0) goto tmp3_end;
_i_extReturn = tmp4_2;
_txt = tmp4_1;
_a_auxFunction = tmp4_3;
tmpMeta[0+0] = omc_CodegenCFunctions_extFunCallVarcopy(threadData, _txt, _i_extReturn, _a_auxFunction, &tmpMeta[0+1]);
goto tmp3_done;
}
case 1: {
_txt = tmp4_1;
_a_auxFunction = tmp4_3;
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_auxFunction;
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta[0+0];
_out_a_auxFunction = tmpMeta[0+1];
_return: OMC_LABEL_UNUSED
if (out_out_a_auxFunction) { *out_out_a_auxFunction = _out_a_auxFunction; }
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_lm__404(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_items, modelica_metatype _in_a_auxFunction, modelica_metatype *out_out_a_auxFunction)
{
modelica_metatype _out_txt = NULL;
modelica_metatype _out_a_auxFunction = NULL;
modelica_metatype tmpMeta[4] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_metatype tmp4_2;modelica_metatype tmp4_3;
tmp4_1 = _in_txt;
tmp4_2 = _in_items;
tmp4_3 = _in_a_auxFunction;
{
modelica_metatype _txt = NULL;
modelica_metatype _rest = NULL;
modelica_metatype _a_auxFunction = NULL;
modelica_metatype _i_arg = NULL;
volatile mmc_switch_type tmp4;
int tmp5;
tmp4 = 0;
for (; tmp4 < 2; tmp4++) {
switch (MMC_SWITCH_CAST(tmp4)) {
case 0: {
if (!listEmpty(tmp4_2)) goto tmp3_end;
_txt = tmp4_1;
_a_auxFunction = tmp4_3;
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_auxFunction;
goto tmp3_done;
}
case 1: {
if (listEmpty(tmp4_2)) goto tmp3_end;
tmpMeta[2] = MMC_CAR(tmp4_2);
tmpMeta[3] = MMC_CDR(tmp4_2);
_i_arg = tmpMeta[2];
_rest = tmpMeta[3];
_txt = tmp4_1;
_a_auxFunction = tmp4_3;
_txt = omc_CodegenCFunctions_extFunCallVarcopy(threadData, _txt, _i_arg, _a_auxFunction ,&_a_auxFunction);
_txt = omc_Tpl_nextIter(threadData, _txt);
_in_txt = _txt;
_in_items = _rest;
_in_a_auxFunction = _a_auxFunction;
goto _tailrecursive;
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta[0+0];
_out_a_auxFunction = tmpMeta[0+1];
_return: OMC_LABEL_UNUSED
if (out_out_a_auxFunction) { *out_out_a_auxFunction = _out_a_auxFunction; }
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__403(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_extReturn, modelica_metatype _in_a_auxFunction, modelica_metatype _in_a_varDecls, modelica_metatype *out_out_a_auxFunction, modelica_metatype *out_out_a_varDecls)
{
modelica_metatype _out_txt = NULL;
modelica_metatype _out_a_auxFunction = NULL;
modelica_metatype _out_a_varDecls = NULL;
modelica_metatype tmpMeta[3] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_metatype tmp4_2;modelica_metatype tmp4_3;modelica_metatype tmp4_4;
tmp4_1 = _in_txt;
tmp4_2 = _in_a_extReturn;
tmp4_3 = _in_a_auxFunction;
tmp4_4 = _in_a_varDecls;
{
modelica_metatype _txt = NULL;
modelica_metatype _a_auxFunction = NULL;
modelica_metatype _a_varDecls = NULL;
modelica_metatype _i_extReturn = NULL;
volatile mmc_switch_type tmp4;
int tmp5;
tmp4 = 0;
for (; tmp4 < 2; tmp4++) {
switch (MMC_SWITCH_CAST(tmp4)) {
case 0: {
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,0,6) == 0) goto tmp3_end;
_i_extReturn = tmp4_2;
_txt = tmp4_1;
_a_auxFunction = tmp4_3;
_a_varDecls = tmp4_4;
_txt = omc_CodegenCFunctions_extFunCallVardecl(threadData, _txt, _i_extReturn, _a_varDecls, _a_auxFunction, 1 ,&_a_varDecls ,&_a_auxFunction);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_auxFunction;
tmpMeta[0+2] = _a_varDecls;
goto tmp3_done;
}
case 1: {
_txt = tmp4_1;
_a_auxFunction = tmp4_3;
_a_varDecls = tmp4_4;
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_auxFunction;
tmpMeta[0+2] = _a_varDecls;
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta[0+0];
_out_a_auxFunction = tmpMeta[0+1];
_out_a_varDecls = tmpMeta[0+2];
_return: OMC_LABEL_UNUSED
if (out_out_a_auxFunction) { *out_out_a_auxFunction = _out_a_auxFunction; }
if (out_out_a_varDecls) { *out_out_a_varDecls = _out_a_varDecls; }
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__402(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_extReturn)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta[2] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp3_1;modelica_metatype tmp3_2;
tmp3_1 = _in_txt;
tmp3_2 = _in_a_extReturn;
{
modelica_metatype _txt = NULL;
modelica_metatype _i_c = NULL;
volatile mmc_switch_type tmp3;
int tmp4;
tmp3 = 0;
for (; tmp3 < 2; tmp3++) {
switch (MMC_SWITCH_CAST(tmp3)) {
case 0: {
if (mmc__uniontype__metarecord__typedef__equal(tmp3_2,0,6) == 0) goto tmp2_end;
tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_2), 2));
_i_c = tmpMeta[1];
_txt = tmp3_1;
_txt = omc_CodegenCFunctions_extVarName(threadData, _txt, _i_c);
tmpMeta[0] = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT121);
goto tmp2_done;
}
case 1: {
_txt = tmp3_1;
tmpMeta[0] = _txt;
goto tmp2_done;
}
}
goto tmp2_end;
tmp2_end: ;
}
goto goto_1;
goto_1:;
MMC_THROW_INTERNAL();
goto tmp2_done;
tmp2_done:;
}
}
_out_txt = tmpMeta[0];
_return: OMC_LABEL_UNUSED
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_lm__401(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_items, modelica_metatype _in_a_auxFunction, modelica_metatype _in_a_varDecls, modelica_metatype _in_a_preExp, modelica_metatype *out_out_a_auxFunction, modelica_metatype *out_out_a_varDecls, modelica_metatype *out_out_a_preExp)
{
modelica_metatype _out_txt = NULL;
modelica_metatype _out_a_auxFunction = NULL;
modelica_metatype _out_a_varDecls = NULL;
modelica_metatype _out_a_preExp = NULL;
modelica_metatype tmpMeta[6] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_metatype tmp4_2;modelica_metatype tmp4_3;modelica_metatype tmp4_4;modelica_metatype tmp4_5;
tmp4_1 = _in_txt;
tmp4_2 = _in_items;
tmp4_3 = _in_a_auxFunction;
tmp4_4 = _in_a_varDecls;
tmp4_5 = _in_a_preExp;
{
modelica_metatype _txt = NULL;
modelica_metatype _rest = NULL;
modelica_metatype _a_auxFunction = NULL;
modelica_metatype _a_varDecls = NULL;
modelica_metatype _a_preExp = NULL;
modelica_metatype _i_arg = NULL;
volatile mmc_switch_type tmp4;
int tmp5;
tmp4 = 0;
for (; tmp4 < 2; tmp4++) {
switch (MMC_SWITCH_CAST(tmp4)) {
case 0: {
if (!listEmpty(tmp4_2)) goto tmp3_end;
_txt = tmp4_1;
_a_auxFunction = tmp4_3;
_a_varDecls = tmp4_4;
_a_preExp = tmp4_5;
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_auxFunction;
tmpMeta[0+2] = _a_varDecls;
tmpMeta[0+3] = _a_preExp;
goto tmp3_done;
}
case 1: {
if (listEmpty(tmp4_2)) goto tmp3_end;
tmpMeta[4] = MMC_CAR(tmp4_2);
tmpMeta[5] = MMC_CDR(tmp4_2);
_i_arg = tmpMeta[4];
_rest = tmpMeta[5];
_txt = tmp4_1;
_a_auxFunction = tmp4_3;
_a_varDecls = tmp4_4;
_a_preExp = tmp4_5;
_txt = omc_CodegenCFunctions_extArg(threadData, _txt, _i_arg, _a_preExp, _a_varDecls, _a_auxFunction ,&_a_preExp ,&_a_varDecls ,&_a_auxFunction);
_txt = omc_Tpl_nextIter(threadData, _txt);
_in_txt = _txt;
_in_items = _rest;
_in_a_auxFunction = _a_auxFunction;
_in_a_varDecls = _a_varDecls;
_in_a_preExp = _a_preExp;
goto _tailrecursive;
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta[0+0];
_out_a_auxFunction = tmpMeta[0+1];
_out_a_varDecls = tmpMeta[0+2];
_out_a_preExp = tmpMeta[0+3];
_return: OMC_LABEL_UNUSED
if (out_out_a_auxFunction) { *out_out_a_auxFunction = _out_a_auxFunction; }
if (out_out_a_varDecls) { *out_out_a_varDecls = _out_a_varDecls; }
if (out_out_a_preExp) { *out_out_a_preExp = _out_a_preExp; }
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__400(threadData_t *threadData, modelica_metatype _in_txt, modelica_boolean _in_a_dynamicLoad, modelica_string _in_a_language, modelica_string _in_a_extName, modelica_metatype _in_a_info, modelica_metatype _in_a_fname)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta[1] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp3_1;modelica_boolean tmp3_2;modelica_string tmp3_3;modelica_string tmp3_4;modelica_metatype tmp3_5;modelica_metatype tmp3_6;
tmp3_1 = _in_txt;
tmp3_2 = _in_a_dynamicLoad;
tmp3_3 = _in_a_language;
tmp3_4 = _in_a_extName;
tmp3_5 = _in_a_info;
tmp3_6 = _in_a_fname;
{
modelica_metatype _txt = NULL;
modelica_string _a_language = NULL;
modelica_string _a_extName = NULL;
modelica_metatype _a_info = NULL;
modelica_metatype _a_fname = NULL;
volatile mmc_switch_type tmp3;
int tmp4;
tmp3 = 0;
for (; tmp3 < 2; tmp3++) {
switch (MMC_SWITCH_CAST(tmp3)) {
case 0: {
if (0 != tmp3_2) goto tmp2_end;
_txt = tmp3_1;
tmpMeta[0] = _txt;
goto tmp2_done;
}
case 1: {
_txt = tmp3_1;
_a_language = tmp3_3;
_a_extName = tmp3_4;
_a_info = tmp3_5;
_a_fname = tmp3_6;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT346);
_txt = omc_Tpl_writeText(threadData, _txt, _a_fname);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT2106);
_txt = omc_Tpl_pushBlock(threadData, _txt, _OMC_LIT97);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1475);
_txt = omc_CodegenCFunctions_infoArgs(threadData, _txt, _a_info);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT2110);
_txt = omc_CodegenCFunctions_extFunctionName(threadData, _txt, _a_extName, _a_language);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT2112);
_txt = omc_Tpl_popBlock(threadData, _txt);
tmpMeta[0] = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT2114);
goto tmp2_done;
}
}
goto tmp2_end;
tmp2_end: ;
}
goto goto_1;
goto_1:;
MMC_THROW_INTERNAL();
goto tmp2_done;
tmp2_done:;
}
}
_out_txt = tmpMeta[0];
_return: OMC_LABEL_UNUSED
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__400(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_dynamicLoad, modelica_metatype _in_a_language, modelica_metatype _in_a_extName, modelica_metatype _in_a_info, modelica_metatype _in_a_fname)
{
modelica_integer tmp1;
modelica_metatype _out_txt = NULL;
tmp1 = mmc_unbox_integer(_in_a_dynamicLoad);
_out_txt = omc_CodegenCFunctions_fun__400(threadData, _in_txt, tmp1, _in_a_language, _in_a_extName, _in_a_info, _in_a_fname);
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__399(threadData_t *threadData, modelica_metatype _in_txt, modelica_boolean _in_a_dynamicLoad, modelica_string _in_a_language, modelica_string _in_a_extName)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta[1] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp3_1;modelica_boolean tmp3_2;modelica_string tmp3_3;modelica_string tmp3_4;
tmp3_1 = _in_txt;
tmp3_2 = _in_a_dynamicLoad;
tmp3_3 = _in_a_language;
tmp3_4 = _in_a_extName;
{
modelica_metatype _txt = NULL;
modelica_string _a_language = NULL;
modelica_string _a_extName = NULL;
volatile mmc_switch_type tmp3;
int tmp4;
tmp3 = 0;
for (; tmp3 < 2; tmp3++) {
switch (MMC_SWITCH_CAST(tmp3)) {
case 0: {
if (0 != tmp3_2) goto tmp2_end;
_txt = tmp3_1;
_a_extName = tmp3_4;
tmpMeta[0] = omc_Tpl_writeStr(threadData, _txt, _a_extName);
goto tmp2_done;
}
case 1: {
_txt = tmp3_1;
_a_language = tmp3_3;
_a_extName = tmp3_4;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT2116);
tmpMeta[0] = omc_CodegenCFunctions_extFunctionName(threadData, _txt, _a_extName, _a_language);
goto tmp2_done;
}
}
goto tmp2_end;
tmp2_end: ;
}
goto goto_1;
goto_1:;
MMC_THROW_INTERNAL();
goto tmp2_done;
tmp2_done:;
}
}
_out_txt = tmpMeta[0];
_return: OMC_LABEL_UNUSED
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__399(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_dynamicLoad, modelica_metatype _in_a_language, modelica_metatype _in_a_extName)
{
modelica_integer tmp1;
modelica_metatype _out_txt = NULL;
tmp1 = mmc_unbox_integer(_in_a_dynamicLoad);
_out_txt = omc_CodegenCFunctions_fun__399(threadData, _in_txt, tmp1, _in_a_language, _in_a_extName);
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_lm__398(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_items, modelica_metatype _in_a_auxFunction, modelica_metatype _in_a_varDecls, modelica_metatype _in_a_preExp, modelica_metatype *out_out_a_auxFunction, modelica_metatype *out_out_a_varDecls, modelica_metatype *out_out_a_preExp)
{
modelica_metatype _out_txt = NULL;
modelica_metatype _out_a_auxFunction = NULL;
modelica_metatype _out_a_varDecls = NULL;
modelica_metatype _out_a_preExp = NULL;
modelica_metatype tmpMeta[6] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_metatype tmp4_2;modelica_metatype tmp4_3;modelica_metatype tmp4_4;modelica_metatype tmp4_5;
tmp4_1 = _in_txt;
tmp4_2 = _in_items;
tmp4_3 = _in_a_auxFunction;
tmp4_4 = _in_a_varDecls;
tmp4_5 = _in_a_preExp;
{
modelica_metatype _txt = NULL;
modelica_metatype _rest = NULL;
modelica_metatype _a_auxFunction = NULL;
modelica_metatype _a_varDecls = NULL;
modelica_metatype _a_preExp = NULL;
modelica_metatype _i_bivar = NULL;
volatile mmc_switch_type tmp4;
int tmp5;
tmp4 = 0;
for (; tmp4 < 2; tmp4++) {
switch (MMC_SWITCH_CAST(tmp4)) {
case 0: {
if (!listEmpty(tmp4_2)) goto tmp3_end;
_txt = tmp4_1;
_a_auxFunction = tmp4_3;
_a_varDecls = tmp4_4;
_a_preExp = tmp4_5;
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_auxFunction;
tmpMeta[0+2] = _a_varDecls;
tmpMeta[0+3] = _a_preExp;
goto tmp3_done;
}
case 1: {
if (listEmpty(tmp4_2)) goto tmp3_end;
tmpMeta[4] = MMC_CAR(tmp4_2);
tmpMeta[5] = MMC_CDR(tmp4_2);
_i_bivar = tmpMeta[4];
_rest = tmpMeta[5];
_txt = tmp4_1;
_a_auxFunction = tmp4_3;
_a_varDecls = tmp4_4;
_a_preExp = tmp4_5;
_txt = omc_CodegenCFunctions_extFunCallBiVar(threadData, _txt, _i_bivar, _a_preExp, _a_varDecls, _a_auxFunction ,&_a_preExp ,&_a_varDecls ,&_a_auxFunction);
_txt = omc_Tpl_nextIter(threadData, _txt);
_in_txt = _txt;
_in_items = _rest;
_in_a_auxFunction = _a_auxFunction;
_in_a_varDecls = _a_varDecls;
_in_a_preExp = _a_preExp;
goto _tailrecursive;
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta[0+0];
_out_a_auxFunction = tmpMeta[0+1];
_out_a_varDecls = tmpMeta[0+2];
_out_a_preExp = tmpMeta[0+3];
_return: OMC_LABEL_UNUSED
if (out_out_a_auxFunction) { *out_out_a_auxFunction = _out_a_auxFunction; }
if (out_out_a_varDecls) { *out_out_a_varDecls = _out_a_varDecls; }
if (out_out_a_preExp) { *out_out_a_preExp = _out_a_preExp; }
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_lm__397(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_items, modelica_metatype _in_a_auxFunction, modelica_metatype _in_a_varDecls, modelica_metatype *out_out_a_auxFunction, modelica_metatype *out_out_a_varDecls)
{
modelica_metatype _out_txt = NULL;
modelica_metatype _out_a_auxFunction = NULL;
modelica_metatype _out_a_varDecls = NULL;
modelica_metatype tmpMeta[5] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_metatype tmp4_2;modelica_metatype tmp4_3;modelica_metatype tmp4_4;
tmp4_1 = _in_txt;
tmp4_2 = _in_items;
tmp4_3 = _in_a_auxFunction;
tmp4_4 = _in_a_varDecls;
{
modelica_metatype _txt = NULL;
modelica_metatype _rest = NULL;
modelica_metatype _a_auxFunction = NULL;
modelica_metatype _a_varDecls = NULL;
modelica_metatype _i_arg = NULL;
volatile mmc_switch_type tmp4;
int tmp5;
tmp4 = 0;
for (; tmp4 < 2; tmp4++) {
switch (MMC_SWITCH_CAST(tmp4)) {
case 0: {
if (!listEmpty(tmp4_2)) goto tmp3_end;
_txt = tmp4_1;
_a_auxFunction = tmp4_3;
_a_varDecls = tmp4_4;
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_auxFunction;
tmpMeta[0+2] = _a_varDecls;
goto tmp3_done;
}
case 1: {
if (listEmpty(tmp4_2)) goto tmp3_end;
tmpMeta[3] = MMC_CAR(tmp4_2);
tmpMeta[4] = MMC_CDR(tmp4_2);
_i_arg = tmpMeta[3];
_rest = tmpMeta[4];
_txt = tmp4_1;
_a_auxFunction = tmp4_3;
_a_varDecls = tmp4_4;
_txt = omc_CodegenCFunctions_extFunCallVardecl(threadData, _txt, _i_arg, _a_varDecls, _a_auxFunction, 0 ,&_a_varDecls ,&_a_auxFunction);
_txt = omc_Tpl_nextIter(threadData, _txt);
_in_txt = _txt;
_in_items = _rest;
_in_a_auxFunction = _a_auxFunction;
_in_a_varDecls = _a_varDecls;
goto _tailrecursive;
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta[0+0];
_out_a_auxFunction = tmpMeta[0+1];
_out_a_varDecls = tmpMeta[0+2];
_return: OMC_LABEL_UNUSED
if (out_out_a_auxFunction) { *out_out_a_auxFunction = _out_a_auxFunction; }
if (out_out_a_varDecls) { *out_out_a_varDecls = _out_a_varDecls; }
return _out_txt;
}
DLLExport
modelica_metatype omc_CodegenCFunctions_extFunCall(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_fun, modelica_metatype _in_a_preExp, modelica_metatype _in_a_varDecls, modelica_metatype _in_a_varInit, modelica_metatype _in_a_auxFunction, modelica_metatype *out_out_a_preExp, modelica_metatype *out_out_a_varDecls, modelica_metatype *out_out_a_varInit, modelica_metatype *out_out_a_auxFunction)
{
modelica_metatype _out_txt = NULL;
modelica_metatype _out_a_preExp = NULL;
modelica_metatype _out_a_varDecls = NULL;
modelica_metatype _out_a_varInit = NULL;
modelica_metatype _out_a_auxFunction = NULL;
modelica_metatype tmpMeta[6] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_metatype tmp4_2;modelica_metatype tmp4_3;modelica_metatype tmp4_4;modelica_metatype tmp4_5;modelica_metatype tmp4_6;
tmp4_1 = _in_txt;
tmp4_2 = _in_a_fun;
tmp4_3 = _in_a_preExp;
tmp4_4 = _in_a_varDecls;
tmp4_5 = _in_a_varInit;
tmp4_6 = _in_a_auxFunction;
{
modelica_metatype _txt = NULL;
modelica_metatype _a_preExp = NULL;
modelica_metatype _a_varDecls = NULL;
modelica_metatype _a_varInit = NULL;
modelica_metatype _a_auxFunction = NULL;
modelica_metatype _i_fun = NULL;
modelica_string _i_language = NULL;
volatile mmc_switch_type tmp4;
int tmp5;
tmp4 = 0;
for (; tmp4 < 2; tmp4++) {
switch (MMC_SWITCH_CAST(tmp4)) {
case 0: {
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,3,14) == 0) goto tmp3_end;
tmpMeta[5] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 12));
_i_fun = tmp4_2;
_i_language = tmpMeta[5];
_txt = tmp4_1;
_a_preExp = tmp4_3;
_a_varDecls = tmp4_4;
_a_varInit = tmp4_5;
_a_auxFunction = tmp4_6;
_txt = omc_CodegenCFunctions_fun__395(threadData, _txt, _i_language, _a_varInit, _a_auxFunction, _a_varDecls, _a_preExp, _i_fun ,&_a_varInit ,&_a_auxFunction ,&_a_varDecls ,&_a_preExp);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_preExp;
tmpMeta[0+2] = _a_varDecls;
tmpMeta[0+3] = _a_varInit;
tmpMeta[0+4] = _a_auxFunction;
goto tmp3_done;
}
case 1: {
_txt = tmp4_1;
_a_preExp = tmp4_3;
_a_varDecls = tmp4_4;
_a_varInit = tmp4_5;
_a_auxFunction = tmp4_6;
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_preExp;
tmpMeta[0+2] = _a_varDecls;
tmpMeta[0+3] = _a_varInit;
tmpMeta[0+4] = _a_auxFunction;
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta[0+0];
_out_a_preExp = tmpMeta[0+1];
_out_a_varDecls = tmpMeta[0+2];
_out_a_varInit = tmpMeta[0+3];
_out_a_auxFunction = tmpMeta[0+4];
_return: OMC_LABEL_UNUSED
if (out_out_a_preExp) { *out_out_a_preExp = _out_a_preExp; }
if (out_out_a_varDecls) { *out_out_a_varDecls = _out_a_varDecls; }
if (out_out_a_varInit) { *out_out_a_varInit = _out_a_varInit; }
if (out_out_a_auxFunction) { *out_out_a_auxFunction = _out_a_auxFunction; }
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__395(threadData_t *threadData, modelica_metatype _in_txt, modelica_string _in_a_language, modelica_metatype _in_a_varInit, modelica_metatype _in_a_auxFunction, modelica_metatype _in_a_varDecls, modelica_metatype _in_a_preExp, modelica_metatype _in_a_fun, modelica_metatype *out_out_a_varInit, modelica_metatype *out_out_a_auxFunction, modelica_metatype *out_out_a_varDecls, modelica_metatype *out_out_a_preExp)
{
modelica_metatype _out_txt = NULL;
modelica_metatype _out_a_varInit = NULL;
modelica_metatype _out_a_auxFunction = NULL;
modelica_metatype _out_a_varDecls = NULL;
modelica_metatype _out_a_preExp = NULL;
modelica_metatype tmpMeta[5] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_string tmp4_2;modelica_metatype tmp4_3;modelica_metatype tmp4_4;modelica_metatype tmp4_5;modelica_metatype tmp4_6;modelica_metatype tmp4_7;
tmp4_1 = _in_txt;
tmp4_2 = _in_a_language;
tmp4_3 = _in_a_varInit;
tmp4_4 = _in_a_auxFunction;
tmp4_5 = _in_a_varDecls;
tmp4_6 = _in_a_preExp;
tmp4_7 = _in_a_fun;
{
modelica_metatype _txt = NULL;
modelica_metatype _a_varInit = NULL;
modelica_metatype _a_auxFunction = NULL;
modelica_metatype _a_varDecls = NULL;
modelica_metatype _a_preExp = NULL;
modelica_metatype _a_fun = NULL;
modelica_string _i_language = NULL;
modelica_metatype _txt_0 = NULL;
volatile mmc_switch_type tmp4;
int tmp5;
tmp4 = 0;
for (; tmp4 < 4; tmp4++) {
switch (MMC_SWITCH_CAST(tmp4)) {
case 0: {
if (7 != MMC_STRLEN(tmp4_2) || strcmp(MMC_STRINGDATA(_OMC_LIT2119), MMC_STRINGDATA(tmp4_2)) != 0) goto tmp3_end;
_txt = tmp4_1;
_a_varInit = tmp4_3;
_a_auxFunction = tmp4_4;
_a_varDecls = tmp4_5;
_a_preExp = tmp4_6;
_a_fun = tmp4_7;
_txt = omc_CodegenCFunctions_extFunCallC(threadData, _txt, _a_fun, _a_preExp, _a_varDecls, _a_auxFunction ,&_a_preExp ,&_a_varDecls ,&_a_auxFunction);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_varInit;
tmpMeta[0+2] = _a_auxFunction;
tmpMeta[0+3] = _a_varDecls;
tmpMeta[0+4] = _a_preExp;
goto tmp3_done;
}
case 1: {
if (1 != MMC_STRLEN(tmp4_2) || strcmp(MMC_STRINGDATA(_OMC_LIT2120), MMC_STRINGDATA(tmp4_2)) != 0) goto tmp3_end;
_txt = tmp4_1;
_a_varInit = tmp4_3;
_a_auxFunction = tmp4_4;
_a_varDecls = tmp4_5;
_a_preExp = tmp4_6;
_a_fun = tmp4_7;
_txt = omc_CodegenCFunctions_extFunCallC(threadData, _txt, _a_fun, _a_preExp, _a_varDecls, _a_auxFunction ,&_a_preExp ,&_a_varDecls ,&_a_auxFunction);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_varInit;
tmpMeta[0+2] = _a_auxFunction;
tmpMeta[0+3] = _a_varDecls;
tmpMeta[0+4] = _a_preExp;
goto tmp3_done;
}
case 2: {
if (10 != MMC_STRLEN(tmp4_2) || strcmp(MMC_STRINGDATA(_OMC_LIT2121), MMC_STRINGDATA(tmp4_2)) != 0) goto tmp3_end;
_txt = tmp4_1;
_a_varInit = tmp4_3;
_a_auxFunction = tmp4_4;
_a_varDecls = tmp4_5;
_a_preExp = tmp4_6;
_a_fun = tmp4_7;
_txt = omc_CodegenCFunctions_extFunCallF77(threadData, _txt, _a_fun, _a_preExp, _a_varDecls, _a_varInit, _a_auxFunction ,&_a_preExp ,&_a_varDecls ,&_a_varInit ,&_a_auxFunction);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_varInit;
tmpMeta[0+2] = _a_auxFunction;
tmpMeta[0+3] = _a_varDecls;
tmpMeta[0+4] = _a_preExp;
goto tmp3_done;
}
case 3: {
_txt = tmp4_1;
_i_language = tmp4_2;
_a_varInit = tmp4_3;
_a_auxFunction = tmp4_4;
_a_varDecls = tmp4_5;
_a_preExp = tmp4_6;
_txt_0 = omc_Tpl_writeTok(threadData, _OMC_LIT20, _OMC_LIT2118);
_txt_0 = omc_Tpl_writeStr(threadData, _txt_0, _i_language);
_txt = omc_CodegenUtil_error(threadData, _txt, omc_Tpl_sourceInfo(threadData, _OMC_LIT27, ((modelica_integer) 2362), ((modelica_integer) 14)), omc_Tpl_textString(threadData, _txt_0));
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_varInit;
tmpMeta[0+2] = _a_auxFunction;
tmpMeta[0+3] = _a_varDecls;
tmpMeta[0+4] = _a_preExp;
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta[0+0];
_out_a_varInit = tmpMeta[0+1];
_out_a_auxFunction = tmpMeta[0+2];
_out_a_varDecls = tmpMeta[0+3];
_out_a_preExp = tmpMeta[0+4];
_return: OMC_LABEL_UNUSED
if (out_out_a_varInit) { *out_out_a_varInit = _out_a_varInit; }
if (out_out_a_auxFunction) { *out_out_a_auxFunction = _out_a_auxFunction; }
if (out_out_a_varDecls) { *out_out_a_varDecls = _out_a_varDecls; }
if (out_out_a_preExp) { *out_out_a_preExp = _out_a_preExp; }
return _out_txt;
}
DLLExport
modelica_metatype omc_CodegenCFunctions_extVarName(threadData_t *threadData, modelica_metatype _txt, modelica_metatype _a_cr)
{
modelica_metatype _out_txt = NULL;
modelica_metatype _ret_0 = NULL;
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
_out_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT236);
_ret_0 = omc_ComponentReference_appendStringFirstIdent(threadData, _OMC_LIT2023, _a_cr);
_out_txt = omc_CodegenCFunctions_crefToMStr(threadData, _out_txt, _ret_0);
_return: OMC_LABEL_UNUSED
return _out_txt;
}
DLLExport
modelica_metatype omc_CodegenCFunctions_initRecordMembers(threadData_t *threadData, modelica_metatype _txt, modelica_metatype _a_var, modelica_metatype _a_varDecls, modelica_metatype _a_varInits, modelica_metatype _a_auxFunction, modelica_metatype *out_out_a_varDecls, modelica_metatype *out_out_a_varInits, modelica_metatype *out_out_a_auxFunction)
{
modelica_metatype _out_txt = NULL;
modelica_metatype _out_a_varDecls = NULL;
modelica_metatype _out_a_varInits = NULL;
modelica_metatype _out_a_auxFunction = NULL;
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
_out_txt = omc_CodegenCFunctions_fun__392(threadData, _txt, _a_var, _a_varDecls, _a_auxFunction ,&_out_a_varDecls ,&_out_a_auxFunction);
_out_a_varInits = _a_varInits;
_return: OMC_LABEL_UNUSED
if (out_out_a_varDecls) { *out_out_a_varDecls = _out_a_varDecls; }
if (out_out_a_varInits) { *out_out_a_varInits = _out_a_varInits; }
if (out_out_a_auxFunction) { *out_out_a_auxFunction = _out_a_auxFunction; }
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__392(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_var, modelica_metatype _in_a_varDecls, modelica_metatype _in_a_auxFunction, modelica_metatype *out_out_a_varDecls, modelica_metatype *out_out_a_auxFunction)
{
modelica_metatype _out_txt = NULL;
modelica_metatype _out_a_varDecls = NULL;
modelica_metatype _out_a_auxFunction = NULL;
modelica_metatype tmpMeta[7] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_metatype tmp4_2;modelica_metatype tmp4_3;modelica_metatype tmp4_4;
tmp4_1 = _in_txt;
tmp4_2 = _in_a_var;
tmp4_3 = _in_a_varDecls;
tmp4_4 = _in_a_auxFunction;
{
modelica_metatype _txt = NULL;
modelica_metatype _a_varDecls = NULL;
modelica_metatype _a_auxFunction = NULL;
modelica_metatype _i_ty_varLst = NULL;
modelica_metatype _i_var = NULL;
modelica_metatype _i_name = NULL;
modelica_metatype _l_ctor__additional__inputs = NULL;
modelica_metatype _l_typeName = NULL;
modelica_metatype _l_varName = NULL;
modelica_metatype _l_ctor__suffix = NULL;
modelica_metatype _l_preExp = NULL;
volatile mmc_switch_type tmp4;
int tmp5;
tmp4 = 0;
for (; tmp4 < 2; tmp4++) {
switch (MMC_SWITCH_CAST(tmp4)) {
case 0: {
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,0,7) == 0) goto tmp3_end;
tmpMeta[3] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
tmpMeta[4] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 3));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[4],9,3) == 0) goto tmp3_end;
tmpMeta[5] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[4]), 2));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[5],3,1) == 0) goto tmp3_end;
tmpMeta[6] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[4]), 3));
_i_var = tmp4_2;
_i_name = tmpMeta[3];
_i_ty_varLst = tmpMeta[6];
_txt = tmp4_1;
_a_varDecls = tmp4_3;
_a_auxFunction = tmp4_4;
_l_preExp = _OMC_LIT20;
_l_ctor__suffix = _OMC_LIT20;
_l_varName = omc_CodegenCFunctions_contextCrefNoPrevExp(threadData, _OMC_LIT20, _i_name, _OMC_LIT1356, _a_auxFunction ,&_a_auxFunction);
_l_typeName = omc_CodegenCFunctions_varType(threadData, _OMC_LIT20, _i_var);
_l_ctor__additional__inputs = omc_Tpl_pushIter(threadData, _OMC_LIT20, _OMC_LIT139);
_l_ctor__additional__inputs = omc_CodegenCFunctions_lm__391(threadData, _l_ctor__additional__inputs, _i_ty_varLst, _a_auxFunction, _a_varDecls, _l_preExp, _l_ctor__suffix ,&_a_auxFunction ,&_a_varDecls ,&_l_preExp ,&_l_ctor__suffix);
_l_ctor__additional__inputs = omc_Tpl_popIter(threadData, _l_ctor__additional__inputs);
_txt = omc_Tpl_writeText(threadData, _txt, _l_preExp);
_txt = omc_Tpl_softNewLine(threadData, _txt);
_txt = omc_Tpl_writeText(threadData, _txt, _l_typeName);
_txt = omc_Tpl_writeText(threadData, _txt, _l_ctor__suffix);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT2123);
_txt = omc_Tpl_writeText(threadData, _txt, _l_varName);
_txt = omc_Tpl_writeText(threadData, _txt, _l_ctor__additional__inputs);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT290);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT89);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_varDecls;
tmpMeta[0+2] = _a_auxFunction;
goto tmp3_done;
}
case 1: {
_txt = tmp4_1;
_a_varDecls = tmp4_3;
_a_auxFunction = tmp4_4;
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_varDecls;
tmpMeta[0+2] = _a_auxFunction;
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta[0+0];
_out_a_varDecls = tmpMeta[0+1];
_out_a_auxFunction = tmpMeta[0+2];
_return: OMC_LABEL_UNUSED
if (out_out_a_varDecls) { *out_out_a_varDecls = _out_a_varDecls; }
if (out_out_a_auxFunction) { *out_out_a_auxFunction = _out_a_auxFunction; }
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_lm__391(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_items, modelica_metatype _in_a_auxFunction, modelica_metatype _in_a_varDecls, modelica_metatype _in_a_preExp, modelica_metatype _in_a_ctor__suffix, modelica_metatype *out_out_a_auxFunction, modelica_metatype *out_out_a_varDecls, modelica_metatype *out_out_a_preExp, modelica_metatype *out_out_a_ctor__suffix)
{
modelica_metatype _out_txt = NULL;
modelica_metatype _out_a_auxFunction = NULL;
modelica_metatype _out_a_varDecls = NULL;
modelica_metatype _out_a_preExp = NULL;
modelica_metatype _out_a_ctor__suffix = NULL;
modelica_metatype tmpMeta[7] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_metatype tmp4_2;modelica_metatype tmp4_3;modelica_metatype tmp4_4;modelica_metatype tmp4_5;modelica_metatype tmp4_6;
tmp4_1 = _in_txt;
tmp4_2 = _in_items;
tmp4_3 = _in_a_auxFunction;
tmp4_4 = _in_a_varDecls;
tmp4_5 = _in_a_preExp;
tmp4_6 = _in_a_ctor__suffix;
{
modelica_metatype _txt = NULL;
modelica_metatype _rest = NULL;
modelica_metatype _a_auxFunction = NULL;
modelica_metatype _a_varDecls = NULL;
modelica_metatype _a_preExp = NULL;
modelica_metatype _a_ctor__suffix = NULL;
modelica_integer _x_i1;
modelica_metatype _i_sv = NULL;
volatile mmc_switch_type tmp4;
int tmp5;
tmp4 = 0;
for (; tmp4 < 2; tmp4++) {
switch (MMC_SWITCH_CAST(tmp4)) {
case 0: {
if (!listEmpty(tmp4_2)) goto tmp3_end;
_txt = tmp4_1;
_a_auxFunction = tmp4_3;
_a_varDecls = tmp4_4;
_a_preExp = tmp4_5;
_a_ctor__suffix = tmp4_6;
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_auxFunction;
tmpMeta[0+2] = _a_varDecls;
tmpMeta[0+3] = _a_preExp;
tmpMeta[0+4] = _a_ctor__suffix;
goto tmp3_done;
}
case 1: {
if (listEmpty(tmp4_2)) goto tmp3_end;
tmpMeta[5] = MMC_CAR(tmp4_2);
tmpMeta[6] = MMC_CDR(tmp4_2);
_i_sv = tmpMeta[5];
_rest = tmpMeta[6];
_txt = tmp4_1;
_a_auxFunction = tmp4_3;
_a_varDecls = tmp4_4;
_a_preExp = tmp4_5;
_a_ctor__suffix = tmp4_6;
_x_i1 = omc_Tpl_getIteri__i0(threadData, _txt);
_txt = omc_CodegenCFunctions_recordInitOutsideBindings(threadData, _txt, _i_sv, _x_i1, _a_ctor__suffix, _OMC_LIT1356, _a_preExp, _a_varDecls, _a_auxFunction ,&_a_ctor__suffix ,&_a_preExp ,&_a_varDecls ,&_a_auxFunction);
_txt = omc_Tpl_nextIter(threadData, _txt);
_in_txt = _txt;
_in_items = _rest;
_in_a_auxFunction = _a_auxFunction;
_in_a_varDecls = _a_varDecls;
_in_a_preExp = _a_preExp;
_in_a_ctor__suffix = _a_ctor__suffix;
goto _tailrecursive;
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta[0+0];
_out_a_auxFunction = tmpMeta[0+1];
_out_a_varDecls = tmpMeta[0+2];
_out_a_preExp = tmpMeta[0+3];
_out_a_ctor__suffix = tmpMeta[0+4];
_return: OMC_LABEL_UNUSED
if (out_out_a_auxFunction) { *out_out_a_auxFunction = _out_a_auxFunction; }
if (out_out_a_varDecls) { *out_out_a_varDecls = _out_a_varDecls; }
if (out_out_a_preExp) { *out_out_a_preExp = _out_a_preExp; }
if (out_out_a_ctor__suffix) { *out_out_a_ctor__suffix = _out_a_ctor__suffix; }
return _out_txt;
}
DLLExport
modelica_metatype omc_CodegenCFunctions_varOutputKernelInterface(threadData_t *threadData, modelica_metatype _txt, modelica_metatype _a_var, modelica_string _a_dest, modelica_integer _a_ix, modelica_metatype _a_varDecls, modelica_metatype _a_varInits, modelica_metatype _a_varCopy, modelica_metatype _a_varAssign, modelica_metatype _a_auxFunction, modelica_metatype *out_out_a_varDecls, modelica_metatype *out_out_a_varInits, modelica_metatype *out_out_a_varCopy, modelica_metatype *out_out_a_varAssign, modelica_metatype *out_out_a_auxFunction)
{
modelica_metatype _out_txt = NULL;
modelica_metatype _out_a_varDecls = NULL;
modelica_metatype _out_a_varInits = NULL;
modelica_metatype _out_a_varCopy = NULL;
modelica_metatype _out_a_varAssign = NULL;
modelica_metatype _out_a_auxFunction = NULL;
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
_out_txt = omc_CodegenCFunctions_fun__389(threadData, _txt, _a_var, _a_dest, _a_ix, _a_varDecls, _a_varInits, _a_varAssign, _a_auxFunction ,&_out_a_varDecls ,&_out_a_varInits ,&_out_a_varAssign ,&_out_a_auxFunction);
_out_a_varCopy = _a_varCopy;
_return: OMC_LABEL_UNUSED
if (out_out_a_varDecls) { *out_out_a_varDecls = _out_a_varDecls; }
if (out_out_a_varInits) { *out_out_a_varInits = _out_a_varInits; }
if (out_out_a_varCopy) { *out_out_a_varCopy = _out_a_varCopy; }
if (out_out_a_varAssign) { *out_out_a_varAssign = _out_a_varAssign; }
if (out_out_a_auxFunction) { *out_out_a_auxFunction = _out_a_auxFunction; }
return _out_txt;
}
modelica_metatype boxptr_CodegenCFunctions_varOutputKernelInterface(threadData_t *threadData, modelica_metatype _txt, modelica_metatype _a_var, modelica_metatype _a_dest, modelica_metatype _a_ix, modelica_metatype _a_varDecls, modelica_metatype _a_varInits, modelica_metatype _a_varCopy, modelica_metatype _a_varAssign, modelica_metatype _a_auxFunction, modelica_metatype *out_out_a_varDecls, modelica_metatype *out_out_a_varInits, modelica_metatype *out_out_a_varCopy, modelica_metatype *out_out_a_varAssign, modelica_metatype *out_out_a_auxFunction)
{
modelica_integer tmp1;
modelica_metatype _out_txt = NULL;
tmp1 = mmc_unbox_integer(_a_ix);
_out_txt = omc_CodegenCFunctions_varOutputKernelInterface(threadData, _txt, _a_var, _a_dest, tmp1, _a_varDecls, _a_varInits, _a_varCopy, _a_varAssign, _a_auxFunction, out_out_a_varDecls, out_out_a_varInits, out_out_a_varCopy, out_out_a_varAssign, out_out_a_auxFunction);
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__389(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_var, modelica_string _in_a_dest, modelica_integer _in_a_ix, modelica_metatype _in_a_varDecls, modelica_metatype _in_a_varInits, modelica_metatype _in_a_varAssign, modelica_metatype _in_a_auxFunction, modelica_metatype *out_out_a_varDecls, modelica_metatype *out_out_a_varInits, modelica_metatype *out_out_a_varAssign, modelica_metatype *out_out_a_auxFunction)
{
modelica_metatype _out_txt = NULL;
modelica_metatype _out_a_varDecls = NULL;
modelica_metatype _out_a_varInits = NULL;
modelica_metatype _out_a_varAssign = NULL;
modelica_metatype _out_a_auxFunction = NULL;
modelica_metatype tmpMeta[9] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_metatype tmp4_2;modelica_string tmp4_3;modelica_integer tmp4_4;modelica_metatype tmp4_5;modelica_metatype tmp4_6;modelica_metatype tmp4_7;modelica_metatype tmp4_8;
tmp4_1 = _in_txt;
tmp4_2 = _in_a_var;
tmp4_3 = _in_a_dest;
tmp4_4 = _in_a_ix;
tmp4_5 = _in_a_varDecls;
tmp4_6 = _in_a_varInits;
tmp4_7 = _in_a_varAssign;
tmp4_8 = _in_a_auxFunction;
{
modelica_metatype _txt = NULL;
modelica_string _a_dest = NULL;
modelica_integer _a_ix;
modelica_metatype _a_varDecls = NULL;
modelica_metatype _a_varInits = NULL;
modelica_metatype _a_varAssign = NULL;
modelica_metatype _a_auxFunction = NULL;
modelica_string _i_var_name_1 = NULL;
modelica_metatype _i_var_ty = NULL;
modelica_metatype _i_instDims = NULL;
modelica_metatype _i_var = NULL;
modelica_metatype _i_var_name = NULL;
modelica_metatype _l_instDimsInit = NULL;
modelica_metatype _l_varName = NULL;
volatile mmc_switch_type tmp4;
int tmp5;
tmp4 = 0;
for (; tmp4 < 5; tmp4++) {
switch (MMC_SWITCH_CAST(tmp4)) {
case 0: {
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,0,7) == 0) goto tmp3_end;
tmpMeta[5] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
tmpMeta[6] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 3));
tmpMeta[7] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 5));
tmpMeta[8] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 6));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[8],0,0) == 0) goto tmp3_end;
_i_var = tmp4_2;
_i_var_name = tmpMeta[5];
_i_var_ty = tmpMeta[6];
_i_instDims = tmpMeta[7];
_txt = tmp4_1;
_a_dest = tmp4_3;
_a_ix = tmp4_4;
_a_varDecls = tmp4_5;
_a_varInits = tmp4_6;
_a_varAssign = tmp4_7;
_a_auxFunction = tmp4_8;
_l_varName = omc_CodegenCFunctions_contextCrefNoPrevExp(threadData, _OMC_LIT20, _i_var_name, _OMC_LIT1356, _a_auxFunction ,&_a_auxFunction);
_a_varDecls = omc_CodegenCFunctions_varType(threadData, _a_varDecls, _i_var);
_a_varDecls = omc_Tpl_writeTok(threadData, _a_varDecls, _OMC_LIT29);
_a_varDecls = omc_Tpl_writeText(threadData, _a_varDecls, _l_varName);
_a_varDecls = omc_Tpl_writeTok(threadData, _a_varDecls, _OMC_LIT105);
_a_varDecls = omc_Tpl_writeTok(threadData, _a_varDecls, _OMC_LIT89);
_l_instDimsInit = omc_Tpl_pushIter(threadData, _OMC_LIT20, _OMC_LIT294);
_l_instDimsInit = omc_CodegenCFunctions_lm__383(threadData, _l_instDimsInit, _i_instDims, _a_auxFunction, _a_varDecls, _a_varInits ,&_a_auxFunction ,&_a_varDecls ,&_a_varInits);
_l_instDimsInit = omc_Tpl_popIter(threadData, _l_instDimsInit);
_txt = omc_CodegenCFunctions_fun__384(threadData, _txt, _i_instDims, _l_instDimsInit, _a_ix, _a_dest, _a_varAssign, _i_var_ty, _l_varName, _a_varInits ,&_a_varAssign ,&_a_varInits);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_varDecls;
tmpMeta[0+2] = _a_varInits;
tmpMeta[0+3] = _a_varAssign;
tmpMeta[0+4] = _a_auxFunction;
goto tmp3_done;
}
case 1: {
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,0,7) == 0) goto tmp3_end;
tmpMeta[5] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
tmpMeta[6] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 3));
tmpMeta[7] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 5));
tmpMeta[8] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 6));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[8],1,0) == 0) goto tmp3_end;
_i_var = tmp4_2;
_i_var_name = tmpMeta[5];
_i_var_ty = tmpMeta[6];
_i_instDims = tmpMeta[7];
_txt = tmp4_1;
_a_dest = tmp4_3;
_a_ix = tmp4_4;
_a_varDecls = tmp4_5;
_a_varInits = tmp4_6;
_a_varAssign = tmp4_7;
_a_auxFunction = tmp4_8;
_l_varName = omc_CodegenCFunctions_contextCrefNoPrevExp(threadData, _OMC_LIT20, _i_var_name, _OMC_LIT1356, _a_auxFunction ,&_a_auxFunction);
_a_varDecls = omc_CodegenCFunctions_varType(threadData, _a_varDecls, _i_var);
_a_varDecls = omc_Tpl_writeTok(threadData, _a_varDecls, _OMC_LIT29);
_a_varDecls = omc_Tpl_writeText(threadData, _a_varDecls, _l_varName);
_a_varDecls = omc_Tpl_writeTok(threadData, _a_varDecls, _OMC_LIT105);
_a_varDecls = omc_Tpl_writeTok(threadData, _a_varDecls, _OMC_LIT89);
_l_instDimsInit = omc_Tpl_pushIter(threadData, _OMC_LIT20, _OMC_LIT294);
_l_instDimsInit = omc_CodegenCFunctions_lm__385(threadData, _l_instDimsInit, _i_instDims, _a_auxFunction, _a_varDecls, _a_varInits ,&_a_auxFunction ,&_a_varDecls ,&_a_varInits);
_l_instDimsInit = omc_Tpl_popIter(threadData, _l_instDimsInit);
_txt = omc_CodegenCFunctions_fun__386(threadData, _txt, _i_instDims, _l_instDimsInit, _a_ix, _a_dest, _a_varAssign, _i_var_ty, _l_varName, _a_varInits ,&_a_varAssign ,&_a_varInits);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_varDecls;
tmpMeta[0+2] = _a_varInits;
tmpMeta[0+3] = _a_varAssign;
tmpMeta[0+4] = _a_auxFunction;
goto tmp3_done;
}
case 2: {
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,0,7) == 0) goto tmp3_end;
tmpMeta[5] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
tmpMeta[6] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 3));
tmpMeta[7] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 5));
_i_var = tmp4_2;
_i_var_name = tmpMeta[5];
_i_var_ty = tmpMeta[6];
_i_instDims = tmpMeta[7];
_txt = tmp4_1;
_a_dest = tmp4_3;
_a_ix = tmp4_4;
_a_varDecls = tmp4_5;
_a_varInits = tmp4_6;
_a_varAssign = tmp4_7;
_a_auxFunction = tmp4_8;
_l_varName = omc_CodegenCFunctions_contextCrefNoPrevExp(threadData, _OMC_LIT20, _i_var_name, _OMC_LIT1356, _a_auxFunction ,&_a_auxFunction);
_a_varDecls = omc_CodegenCFunctions_varType(threadData, _a_varDecls, _i_var);
_a_varDecls = omc_Tpl_writeTok(threadData, _a_varDecls, _OMC_LIT29);
_a_varDecls = omc_Tpl_writeText(threadData, _a_varDecls, _l_varName);
_a_varDecls = omc_Tpl_writeTok(threadData, _a_varDecls, _OMC_LIT105);
_a_varDecls = omc_Tpl_writeTok(threadData, _a_varDecls, _OMC_LIT89);
_l_instDimsInit = omc_Tpl_pushIter(threadData, _OMC_LIT20, _OMC_LIT294);
_l_instDimsInit = omc_CodegenCFunctions_lm__387(threadData, _l_instDimsInit, _i_instDims, _a_auxFunction, _a_varDecls, _a_varInits ,&_a_auxFunction ,&_a_varDecls ,&_a_varInits);
_l_instDimsInit = omc_Tpl_popIter(threadData, _l_instDimsInit);
_txt = omc_CodegenCFunctions_fun__388(threadData, _txt, _i_instDims, _l_instDimsInit, _i_var_ty, _l_varName, _a_ix, _a_dest, _a_varAssign, _a_auxFunction, _a_varInits, _a_varDecls, _i_var ,&_a_varAssign ,&_a_auxFunction ,&_a_varInits ,&_a_varDecls);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_varDecls;
tmpMeta[0+2] = _a_varInits;
tmpMeta[0+3] = _a_varAssign;
tmpMeta[0+4] = _a_auxFunction;
goto tmp3_done;
}
case 3: {
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,1,4) == 0) goto tmp3_end;
tmpMeta[5] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
_i_var_name_1 = tmpMeta[5];
_txt = tmp4_1;
_a_dest = tmp4_3;
_a_ix = tmp4_4;
_a_varDecls = tmp4_5;
_a_varInits = tmp4_6;
_a_varAssign = tmp4_7;
_a_auxFunction = tmp4_8;
_a_varAssign = omc_Tpl_writeStr(threadData, _a_varAssign, _a_dest);
_a_varAssign = omc_Tpl_writeTok(threadData, _a_varAssign, _OMC_LIT997);
_a_varAssign = omc_Tpl_writeStr(threadData, _a_varAssign, intString(_a_ix));
_a_varAssign = omc_Tpl_writeTok(threadData, _a_varAssign, _OMC_LIT2125);
_a_varAssign = omc_Tpl_writeStr(threadData, _a_varAssign, _i_var_name_1);
_a_varAssign = omc_Tpl_writeTok(threadData, _a_varAssign, _OMC_LIT105);
_a_varAssign = omc_Tpl_writeTok(threadData, _a_varAssign, _OMC_LIT89);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_varDecls;
tmpMeta[0+2] = _a_varInits;
tmpMeta[0+3] = _a_varAssign;
tmpMeta[0+4] = _a_auxFunction;
goto tmp3_done;
}
case 4: {
_txt = tmp4_1;
_a_varDecls = tmp4_5;
_a_varInits = tmp4_6;
_a_varAssign = tmp4_7;
_a_auxFunction = tmp4_8;
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_varDecls;
tmpMeta[0+2] = _a_varInits;
tmpMeta[0+3] = _a_varAssign;
tmpMeta[0+4] = _a_auxFunction;
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta[0+0];
_out_a_varDecls = tmpMeta[0+1];
_out_a_varInits = tmpMeta[0+2];
_out_a_varAssign = tmpMeta[0+3];
_out_a_auxFunction = tmpMeta[0+4];
_return: OMC_LABEL_UNUSED
if (out_out_a_varDecls) { *out_out_a_varDecls = _out_a_varDecls; }
if (out_out_a_varInits) { *out_out_a_varInits = _out_a_varInits; }
if (out_out_a_varAssign) { *out_out_a_varAssign = _out_a_varAssign; }
if (out_out_a_auxFunction) { *out_out_a_auxFunction = _out_a_auxFunction; }
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__389(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_var, modelica_metatype _in_a_dest, modelica_metatype _in_a_ix, modelica_metatype _in_a_varDecls, modelica_metatype _in_a_varInits, modelica_metatype _in_a_varAssign, modelica_metatype _in_a_auxFunction, modelica_metatype *out_out_a_varDecls, modelica_metatype *out_out_a_varInits, modelica_metatype *out_out_a_varAssign, modelica_metatype *out_out_a_auxFunction)
{
modelica_integer tmp1;
modelica_metatype _out_txt = NULL;
tmp1 = mmc_unbox_integer(_in_a_ix);
_out_txt = omc_CodegenCFunctions_fun__389(threadData, _in_txt, _in_a_var, _in_a_dest, tmp1, _in_a_varDecls, _in_a_varInits, _in_a_varAssign, _in_a_auxFunction, out_out_a_varDecls, out_out_a_varInits, out_out_a_varAssign, out_out_a_auxFunction);
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__388(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_instDims, modelica_metatype _in_a_instDimsInit, modelica_metatype _in_a_var_ty, modelica_metatype _in_a_varName, modelica_integer _in_a_ix, modelica_string _in_a_dest, modelica_metatype _in_a_varAssign, modelica_metatype _in_a_auxFunction, modelica_metatype _in_a_varInits, modelica_metatype _in_a_varDecls, modelica_metatype _in_a_var, modelica_metatype *out_out_a_varAssign, modelica_metatype *out_out_a_auxFunction, modelica_metatype *out_out_a_varInits, modelica_metatype *out_out_a_varDecls)
{
modelica_metatype _out_txt = NULL;
modelica_metatype _out_a_varAssign = NULL;
modelica_metatype _out_a_auxFunction = NULL;
modelica_metatype _out_a_varInits = NULL;
modelica_metatype _out_a_varDecls = NULL;
modelica_metatype tmpMeta[5] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_metatype tmp4_2;modelica_metatype tmp4_3;modelica_metatype tmp4_4;modelica_metatype tmp4_5;modelica_integer tmp4_6;modelica_string tmp4_7;modelica_metatype tmp4_8;modelica_metatype tmp4_9;modelica_metatype tmp4_10;modelica_metatype tmp4_11;modelica_metatype tmp4_12;
tmp4_1 = _in_txt;
tmp4_2 = _in_a_instDims;
tmp4_3 = _in_a_instDimsInit;
tmp4_4 = _in_a_var_ty;
tmp4_5 = _in_a_varName;
tmp4_6 = _in_a_ix;
tmp4_7 = _in_a_dest;
tmp4_8 = _in_a_varAssign;
tmp4_9 = _in_a_auxFunction;
tmp4_10 = _in_a_varInits;
tmp4_11 = _in_a_varDecls;
tmp4_12 = _in_a_var;
{
modelica_metatype _txt = NULL;
modelica_metatype _a_instDimsInit = NULL;
modelica_metatype _a_var_ty = NULL;
modelica_metatype _a_varName = NULL;
modelica_integer _a_ix;
modelica_string _a_dest = NULL;
modelica_metatype _a_varAssign = NULL;
modelica_metatype _a_auxFunction = NULL;
modelica_metatype _a_varInits = NULL;
modelica_metatype _a_varDecls = NULL;
modelica_metatype _a_var = NULL;
modelica_metatype _i_instDims = NULL;
modelica_integer _ret_1;
modelica_metatype _l_initRecords = NULL;
volatile mmc_switch_type tmp4;
int tmp5;
tmp4 = 0;
for (; tmp4 < 2; tmp4++) {
switch (MMC_SWITCH_CAST(tmp4)) {
case 0: {
if (!listEmpty(tmp4_2)) goto tmp3_end;
_txt = tmp4_1;
_a_varName = tmp4_5;
_a_ix = tmp4_6;
_a_dest = tmp4_7;
_a_varAssign = tmp4_8;
_a_auxFunction = tmp4_9;
_a_varInits = tmp4_10;
_a_varDecls = tmp4_11;
_a_var = tmp4_12;
_l_initRecords = omc_CodegenCFunctions_initRecordMembers(threadData, _OMC_LIT20, _a_var, _a_varDecls, _a_varInits, _a_auxFunction ,&_a_varDecls ,&_a_varInits ,&_a_auxFunction);
_a_varInits = omc_Tpl_writeText(threadData, _a_varInits, _l_initRecords);
_a_varAssign = omc_Tpl_writeStr(threadData, _a_varAssign, _a_dest);
_a_varAssign = omc_Tpl_writeTok(threadData, _a_varAssign, _OMC_LIT997);
_a_varAssign = omc_Tpl_writeStr(threadData, _a_varAssign, intString(_a_ix));
_a_varAssign = omc_Tpl_writeTok(threadData, _a_varAssign, _OMC_LIT121);
_a_varAssign = omc_Tpl_writeText(threadData, _a_varAssign, _a_varName);
_a_varAssign = omc_Tpl_writeTok(threadData, _a_varAssign, _OMC_LIT105);
_a_varAssign = omc_Tpl_writeTok(threadData, _a_varAssign, _OMC_LIT89);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_varAssign;
tmpMeta[0+2] = _a_auxFunction;
tmpMeta[0+3] = _a_varInits;
tmpMeta[0+4] = _a_varDecls;
goto tmp3_done;
}
case 1: {
_txt = tmp4_1;
_i_instDims = tmp4_2;
_a_instDimsInit = tmp4_3;
_a_var_ty = tmp4_4;
_a_varName = tmp4_5;
_a_ix = tmp4_6;
_a_dest = tmp4_7;
_a_varAssign = tmp4_8;
_a_auxFunction = tmp4_9;
_a_varInits = tmp4_10;
_a_varDecls = tmp4_11;
_a_varInits = omc_Tpl_writeTok(threadData, _a_varInits, _OMC_LIT296);
_a_varInits = omc_CodegenCFunctions_expTypeShort(threadData, _a_varInits, _a_var_ty);
_a_varInits = omc_Tpl_writeTok(threadData, _a_varInits, _OMC_LIT556);
_a_varInits = omc_Tpl_writeText(threadData, _a_varInits, _a_varName);
_a_varInits = omc_Tpl_writeTok(threadData, _a_varInits, _OMC_LIT292);
_ret_1 = listLength(_i_instDims);
_a_varInits = omc_Tpl_writeStr(threadData, _a_varInits, intString(_ret_1));
_a_varInits = omc_Tpl_writeTok(threadData, _a_varInits, _OMC_LIT292);
_a_varInits = omc_Tpl_writeText(threadData, _a_varInits, _a_instDimsInit);
_a_varInits = omc_Tpl_writeTok(threadData, _a_varInits, _OMC_LIT290);
_a_varInits = omc_Tpl_writeTok(threadData, _a_varInits, _OMC_LIT89);
_a_varAssign = omc_Tpl_writeStr(threadData, _a_varAssign, _a_dest);
_a_varAssign = omc_Tpl_writeTok(threadData, _a_varAssign, _OMC_LIT997);
_a_varAssign = omc_Tpl_writeStr(threadData, _a_varAssign, intString(_a_ix));
_a_varAssign = omc_Tpl_writeTok(threadData, _a_varAssign, _OMC_LIT121);
_a_varAssign = omc_Tpl_writeText(threadData, _a_varAssign, _a_varName);
_a_varAssign = omc_Tpl_writeTok(threadData, _a_varAssign, _OMC_LIT105);
_a_varAssign = omc_Tpl_writeTok(threadData, _a_varAssign, _OMC_LIT89);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_varAssign;
tmpMeta[0+2] = _a_auxFunction;
tmpMeta[0+3] = _a_varInits;
tmpMeta[0+4] = _a_varDecls;
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta[0+0];
_out_a_varAssign = tmpMeta[0+1];
_out_a_auxFunction = tmpMeta[0+2];
_out_a_varInits = tmpMeta[0+3];
_out_a_varDecls = tmpMeta[0+4];
_return: OMC_LABEL_UNUSED
if (out_out_a_varAssign) { *out_out_a_varAssign = _out_a_varAssign; }
if (out_out_a_auxFunction) { *out_out_a_auxFunction = _out_a_auxFunction; }
if (out_out_a_varInits) { *out_out_a_varInits = _out_a_varInits; }
if (out_out_a_varDecls) { *out_out_a_varDecls = _out_a_varDecls; }
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__388(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_instDims, modelica_metatype _in_a_instDimsInit, modelica_metatype _in_a_var_ty, modelica_metatype _in_a_varName, modelica_metatype _in_a_ix, modelica_metatype _in_a_dest, modelica_metatype _in_a_varAssign, modelica_metatype _in_a_auxFunction, modelica_metatype _in_a_varInits, modelica_metatype _in_a_varDecls, modelica_metatype _in_a_var, modelica_metatype *out_out_a_varAssign, modelica_metatype *out_out_a_auxFunction, modelica_metatype *out_out_a_varInits, modelica_metatype *out_out_a_varDecls)
{
modelica_integer tmp1;
modelica_metatype _out_txt = NULL;
tmp1 = mmc_unbox_integer(_in_a_ix);
_out_txt = omc_CodegenCFunctions_fun__388(threadData, _in_txt, _in_a_instDims, _in_a_instDimsInit, _in_a_var_ty, _in_a_varName, tmp1, _in_a_dest, _in_a_varAssign, _in_a_auxFunction, _in_a_varInits, _in_a_varDecls, _in_a_var, out_out_a_varAssign, out_out_a_auxFunction, out_out_a_varInits, out_out_a_varDecls);
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_lm__387(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_items, modelica_metatype _in_a_auxFunction, modelica_metatype _in_a_varDecls, modelica_metatype _in_a_varInits, modelica_metatype *out_out_a_auxFunction, modelica_metatype *out_out_a_varDecls, modelica_metatype *out_out_a_varInits)
{
modelica_metatype _out_txt = NULL;
modelica_metatype _out_a_auxFunction = NULL;
modelica_metatype _out_a_varDecls = NULL;
modelica_metatype _out_a_varInits = NULL;
modelica_metatype tmpMeta[6] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_metatype tmp4_2;modelica_metatype tmp4_3;modelica_metatype tmp4_4;modelica_metatype tmp4_5;
tmp4_1 = _in_txt;
tmp4_2 = _in_items;
tmp4_3 = _in_a_auxFunction;
tmp4_4 = _in_a_varDecls;
tmp4_5 = _in_a_varInits;
{
modelica_metatype _txt = NULL;
modelica_metatype _rest = NULL;
modelica_metatype _a_auxFunction = NULL;
modelica_metatype _a_varDecls = NULL;
modelica_metatype _a_varInits = NULL;
modelica_metatype _i_dim = NULL;
volatile mmc_switch_type tmp4;
int tmp5;
tmp4 = 0;
for (; tmp4 < 2; tmp4++) {
switch (MMC_SWITCH_CAST(tmp4)) {
case 0: {
if (!listEmpty(tmp4_2)) goto tmp3_end;
_txt = tmp4_1;
_a_auxFunction = tmp4_3;
_a_varDecls = tmp4_4;
_a_varInits = tmp4_5;
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_auxFunction;
tmpMeta[0+2] = _a_varDecls;
tmpMeta[0+3] = _a_varInits;
goto tmp3_done;
}
case 1: {
if (listEmpty(tmp4_2)) goto tmp3_end;
tmpMeta[4] = MMC_CAR(tmp4_2);
tmpMeta[5] = MMC_CDR(tmp4_2);
_i_dim = tmpMeta[4];
_rest = tmpMeta[5];
_txt = tmp4_1;
_a_auxFunction = tmp4_3;
_a_varDecls = tmp4_4;
_a_varInits = tmp4_5;
_txt = omc_CodegenCFunctions_dimension(threadData, _txt, _i_dim, _OMC_LIT1356, _a_varInits, _a_varDecls, _a_auxFunction ,&_a_varInits ,&_a_varDecls ,&_a_auxFunction);
_txt = omc_Tpl_nextIter(threadData, _txt);
_in_txt = _txt;
_in_items = _rest;
_in_a_auxFunction = _a_auxFunction;
_in_a_varDecls = _a_varDecls;
_in_a_varInits = _a_varInits;
goto _tailrecursive;
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta[0+0];
_out_a_auxFunction = tmpMeta[0+1];
_out_a_varDecls = tmpMeta[0+2];
_out_a_varInits = tmpMeta[0+3];
_return: OMC_LABEL_UNUSED
if (out_out_a_auxFunction) { *out_out_a_auxFunction = _out_a_auxFunction; }
if (out_out_a_varDecls) { *out_out_a_varDecls = _out_a_varDecls; }
if (out_out_a_varInits) { *out_out_a_varInits = _out_a_varInits; }
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__386(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_instDims, modelica_metatype _in_a_instDimsInit, modelica_integer _in_a_ix, modelica_string _in_a_dest, modelica_metatype _in_a_varAssign, modelica_metatype _in_a_var_ty, modelica_metatype _in_a_varName, modelica_metatype _in_a_varInits, modelica_metatype *out_out_a_varAssign, modelica_metatype *out_out_a_varInits)
{
modelica_metatype _out_txt = NULL;
modelica_metatype _out_a_varAssign = NULL;
modelica_metatype _out_a_varInits = NULL;
modelica_metatype tmpMeta[3] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_metatype tmp4_2;modelica_metatype tmp4_3;modelica_integer tmp4_4;modelica_string tmp4_5;modelica_metatype tmp4_6;modelica_metatype tmp4_7;modelica_metatype tmp4_8;modelica_metatype tmp4_9;
tmp4_1 = _in_txt;
tmp4_2 = _in_a_instDims;
tmp4_3 = _in_a_instDimsInit;
tmp4_4 = _in_a_ix;
tmp4_5 = _in_a_dest;
tmp4_6 = _in_a_varAssign;
tmp4_7 = _in_a_var_ty;
tmp4_8 = _in_a_varName;
tmp4_9 = _in_a_varInits;
{
modelica_metatype _txt = NULL;
modelica_metatype _a_instDimsInit = NULL;
modelica_integer _a_ix;
modelica_string _a_dest = NULL;
modelica_metatype _a_varAssign = NULL;
modelica_metatype _a_var_ty = NULL;
modelica_metatype _a_varName = NULL;
modelica_metatype _a_varInits = NULL;
modelica_metatype _i_instDims = NULL;
modelica_integer _ret_0;
volatile mmc_switch_type tmp4;
int tmp5;
tmp4 = 0;
for (; tmp4 < 2; tmp4++) {
switch (MMC_SWITCH_CAST(tmp4)) {
case 0: {
if (!listEmpty(tmp4_2)) goto tmp3_end;
_txt = tmp4_1;
_a_ix = tmp4_4;
_a_dest = tmp4_5;
_a_varAssign = tmp4_6;
_a_var_ty = tmp4_7;
_a_varName = tmp4_8;
_a_varInits = tmp4_9;
_a_varInits = omc_Tpl_writeText(threadData, _a_varInits, _a_varName);
_a_varInits = omc_Tpl_writeTok(threadData, _a_varInits, _OMC_LIT2127);
_a_varInits = omc_CodegenCFunctions_expTypeShort(threadData, _a_varInits, _a_var_ty);
_a_varInits = omc_Tpl_writeTok(threadData, _a_varInits, _OMC_LIT823);
_a_varInits = omc_Tpl_writeTok(threadData, _a_varInits, _OMC_LIT89);
_a_varAssign = omc_Tpl_writeStr(threadData, _a_varAssign, _a_dest);
_a_varAssign = omc_Tpl_writeTok(threadData, _a_varAssign, _OMC_LIT997);
_a_varAssign = omc_Tpl_writeStr(threadData, _a_varAssign, intString(_a_ix));
_a_varAssign = omc_Tpl_writeTok(threadData, _a_varAssign, _OMC_LIT121);
_a_varAssign = omc_Tpl_writeText(threadData, _a_varAssign, _a_varName);
_a_varAssign = omc_Tpl_writeTok(threadData, _a_varAssign, _OMC_LIT105);
_a_varAssign = omc_Tpl_writeTok(threadData, _a_varAssign, _OMC_LIT89);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_varAssign;
tmpMeta[0+2] = _a_varInits;
goto tmp3_done;
}
case 1: {
_txt = tmp4_1;
_i_instDims = tmp4_2;
_a_instDimsInit = tmp4_3;
_a_ix = tmp4_4;
_a_dest = tmp4_5;
_a_varAssign = tmp4_6;
_a_var_ty = tmp4_7;
_a_varName = tmp4_8;
_a_varInits = tmp4_9;
_a_varInits = omc_Tpl_writeTok(threadData, _a_varInits, _OMC_LIT296);
_a_varInits = omc_CodegenCFunctions_expTypeShort(threadData, _a_varInits, _a_var_ty);
_a_varInits = omc_Tpl_writeTok(threadData, _a_varInits, _OMC_LIT556);
_a_varInits = omc_Tpl_writeText(threadData, _a_varInits, _a_varName);
_a_varInits = omc_Tpl_writeTok(threadData, _a_varInits, _OMC_LIT292);
_ret_0 = listLength(_i_instDims);
_a_varInits = omc_Tpl_writeStr(threadData, _a_varInits, intString(_ret_0));
_a_varInits = omc_Tpl_writeTok(threadData, _a_varInits, _OMC_LIT292);
_a_varInits = omc_Tpl_writeText(threadData, _a_varInits, _a_instDimsInit);
_a_varInits = omc_Tpl_writeTok(threadData, _a_varInits, _OMC_LIT290);
_a_varInits = omc_Tpl_writeTok(threadData, _a_varInits, _OMC_LIT89);
_a_varAssign = omc_Tpl_writeStr(threadData, _a_varAssign, _a_dest);
_a_varAssign = omc_Tpl_writeTok(threadData, _a_varAssign, _OMC_LIT997);
_a_varAssign = omc_Tpl_writeStr(threadData, _a_varAssign, intString(_a_ix));
_a_varAssign = omc_Tpl_writeTok(threadData, _a_varAssign, _OMC_LIT121);
_a_varAssign = omc_Tpl_writeText(threadData, _a_varAssign, _a_varName);
_a_varAssign = omc_Tpl_writeTok(threadData, _a_varAssign, _OMC_LIT105);
_a_varAssign = omc_Tpl_writeTok(threadData, _a_varAssign, _OMC_LIT89);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_varAssign;
tmpMeta[0+2] = _a_varInits;
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta[0+0];
_out_a_varAssign = tmpMeta[0+1];
_out_a_varInits = tmpMeta[0+2];
_return: OMC_LABEL_UNUSED
if (out_out_a_varAssign) { *out_out_a_varAssign = _out_a_varAssign; }
if (out_out_a_varInits) { *out_out_a_varInits = _out_a_varInits; }
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__386(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_instDims, modelica_metatype _in_a_instDimsInit, modelica_metatype _in_a_ix, modelica_metatype _in_a_dest, modelica_metatype _in_a_varAssign, modelica_metatype _in_a_var_ty, modelica_metatype _in_a_varName, modelica_metatype _in_a_varInits, modelica_metatype *out_out_a_varAssign, modelica_metatype *out_out_a_varInits)
{
modelica_integer tmp1;
modelica_metatype _out_txt = NULL;
tmp1 = mmc_unbox_integer(_in_a_ix);
_out_txt = omc_CodegenCFunctions_fun__386(threadData, _in_txt, _in_a_instDims, _in_a_instDimsInit, tmp1, _in_a_dest, _in_a_varAssign, _in_a_var_ty, _in_a_varName, _in_a_varInits, out_out_a_varAssign, out_out_a_varInits);
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_lm__385(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_items, modelica_metatype _in_a_auxFunction, modelica_metatype _in_a_varDecls, modelica_metatype _in_a_varInits, modelica_metatype *out_out_a_auxFunction, modelica_metatype *out_out_a_varDecls, modelica_metatype *out_out_a_varInits)
{
modelica_metatype _out_txt = NULL;
modelica_metatype _out_a_auxFunction = NULL;
modelica_metatype _out_a_varDecls = NULL;
modelica_metatype _out_a_varInits = NULL;
modelica_metatype tmpMeta[6] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_metatype tmp4_2;modelica_metatype tmp4_3;modelica_metatype tmp4_4;modelica_metatype tmp4_5;
tmp4_1 = _in_txt;
tmp4_2 = _in_items;
tmp4_3 = _in_a_auxFunction;
tmp4_4 = _in_a_varDecls;
tmp4_5 = _in_a_varInits;
{
modelica_metatype _txt = NULL;
modelica_metatype _rest = NULL;
modelica_metatype _a_auxFunction = NULL;
modelica_metatype _a_varDecls = NULL;
modelica_metatype _a_varInits = NULL;
modelica_metatype _i_dim = NULL;
volatile mmc_switch_type tmp4;
int tmp5;
tmp4 = 0;
for (; tmp4 < 2; tmp4++) {
switch (MMC_SWITCH_CAST(tmp4)) {
case 0: {
if (!listEmpty(tmp4_2)) goto tmp3_end;
_txt = tmp4_1;
_a_auxFunction = tmp4_3;
_a_varDecls = tmp4_4;
_a_varInits = tmp4_5;
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_auxFunction;
tmpMeta[0+2] = _a_varDecls;
tmpMeta[0+3] = _a_varInits;
goto tmp3_done;
}
case 1: {
if (listEmpty(tmp4_2)) goto tmp3_end;
tmpMeta[4] = MMC_CAR(tmp4_2);
tmpMeta[5] = MMC_CDR(tmp4_2);
_i_dim = tmpMeta[4];
_rest = tmpMeta[5];
_txt = tmp4_1;
_a_auxFunction = tmp4_3;
_a_varDecls = tmp4_4;
_a_varInits = tmp4_5;
_txt = omc_CodegenCFunctions_dimension(threadData, _txt, _i_dim, _OMC_LIT1356, _a_varInits, _a_varDecls, _a_auxFunction ,&_a_varInits ,&_a_varDecls ,&_a_auxFunction);
_txt = omc_Tpl_nextIter(threadData, _txt);
_in_txt = _txt;
_in_items = _rest;
_in_a_auxFunction = _a_auxFunction;
_in_a_varDecls = _a_varDecls;
_in_a_varInits = _a_varInits;
goto _tailrecursive;
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta[0+0];
_out_a_auxFunction = tmpMeta[0+1];
_out_a_varDecls = tmpMeta[0+2];
_out_a_varInits = tmpMeta[0+3];
_return: OMC_LABEL_UNUSED
if (out_out_a_auxFunction) { *out_out_a_auxFunction = _out_a_auxFunction; }
if (out_out_a_varDecls) { *out_out_a_varDecls = _out_a_varDecls; }
if (out_out_a_varInits) { *out_out_a_varInits = _out_a_varInits; }
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__384(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_instDims, modelica_metatype _in_a_instDimsInit, modelica_integer _in_a_ix, modelica_string _in_a_dest, modelica_metatype _in_a_varAssign, modelica_metatype _in_a_var_ty, modelica_metatype _in_a_varName, modelica_metatype _in_a_varInits, modelica_metatype *out_out_a_varAssign, modelica_metatype *out_out_a_varInits)
{
modelica_metatype _out_txt = NULL;
modelica_metatype _out_a_varAssign = NULL;
modelica_metatype _out_a_varInits = NULL;
modelica_metatype tmpMeta[3] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_metatype tmp4_2;modelica_metatype tmp4_3;modelica_integer tmp4_4;modelica_string tmp4_5;modelica_metatype tmp4_6;modelica_metatype tmp4_7;modelica_metatype tmp4_8;modelica_metatype tmp4_9;
tmp4_1 = _in_txt;
tmp4_2 = _in_a_instDims;
tmp4_3 = _in_a_instDimsInit;
tmp4_4 = _in_a_ix;
tmp4_5 = _in_a_dest;
tmp4_6 = _in_a_varAssign;
tmp4_7 = _in_a_var_ty;
tmp4_8 = _in_a_varName;
tmp4_9 = _in_a_varInits;
{
modelica_metatype _txt = NULL;
modelica_metatype _a_instDimsInit = NULL;
modelica_integer _a_ix;
modelica_string _a_dest = NULL;
modelica_metatype _a_varAssign = NULL;
modelica_metatype _a_var_ty = NULL;
modelica_metatype _a_varName = NULL;
modelica_metatype _a_varInits = NULL;
modelica_metatype _i_instDims = NULL;
modelica_integer _ret_0;
volatile mmc_switch_type tmp4;
int tmp5;
tmp4 = 0;
for (; tmp4 < 2; tmp4++) {
switch (MMC_SWITCH_CAST(tmp4)) {
case 0: {
if (!listEmpty(tmp4_2)) goto tmp3_end;
_txt = tmp4_1;
_a_ix = tmp4_4;
_a_dest = tmp4_5;
_a_varAssign = tmp4_6;
_a_var_ty = tmp4_7;
_a_varName = tmp4_8;
_a_varInits = tmp4_9;
_a_varInits = omc_Tpl_writeText(threadData, _a_varInits, _a_varName);
_a_varInits = omc_Tpl_writeTok(threadData, _a_varInits, _OMC_LIT2127);
_a_varInits = omc_CodegenCFunctions_expTypeShort(threadData, _a_varInits, _a_var_ty);
_a_varInits = omc_Tpl_writeTok(threadData, _a_varInits, _OMC_LIT823);
_a_varInits = omc_Tpl_writeTok(threadData, _a_varInits, _OMC_LIT89);
_a_varAssign = omc_Tpl_writeStr(threadData, _a_varAssign, _a_dest);
_a_varAssign = omc_Tpl_writeTok(threadData, _a_varAssign, _OMC_LIT997);
_a_varAssign = omc_Tpl_writeStr(threadData, _a_varAssign, intString(_a_ix));
_a_varAssign = omc_Tpl_writeTok(threadData, _a_varAssign, _OMC_LIT121);
_a_varAssign = omc_Tpl_writeText(threadData, _a_varAssign, _a_varName);
_a_varAssign = omc_Tpl_writeTok(threadData, _a_varAssign, _OMC_LIT105);
_a_varAssign = omc_Tpl_writeTok(threadData, _a_varAssign, _OMC_LIT89);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_varAssign;
tmpMeta[0+2] = _a_varInits;
goto tmp3_done;
}
case 1: {
_txt = tmp4_1;
_i_instDims = tmp4_2;
_a_instDimsInit = tmp4_3;
_a_ix = tmp4_4;
_a_dest = tmp4_5;
_a_varAssign = tmp4_6;
_a_var_ty = tmp4_7;
_a_varName = tmp4_8;
_a_varInits = tmp4_9;
_a_varInits = omc_Tpl_writeTok(threadData, _a_varInits, _OMC_LIT296);
_a_varInits = omc_CodegenCFunctions_expTypeShort(threadData, _a_varInits, _a_var_ty);
_a_varInits = omc_Tpl_writeTok(threadData, _a_varInits, _OMC_LIT556);
_a_varInits = omc_Tpl_writeText(threadData, _a_varInits, _a_varName);
_a_varInits = omc_Tpl_writeTok(threadData, _a_varInits, _OMC_LIT292);
_ret_0 = listLength(_i_instDims);
_a_varInits = omc_Tpl_writeStr(threadData, _a_varInits, intString(_ret_0));
_a_varInits = omc_Tpl_writeTok(threadData, _a_varInits, _OMC_LIT292);
_a_varInits = omc_Tpl_writeText(threadData, _a_varInits, _a_instDimsInit);
_a_varInits = omc_Tpl_writeTok(threadData, _a_varInits, _OMC_LIT290);
_a_varInits = omc_Tpl_writeTok(threadData, _a_varInits, _OMC_LIT89);
_a_varAssign = omc_Tpl_writeStr(threadData, _a_varAssign, _a_dest);
_a_varAssign = omc_Tpl_writeTok(threadData, _a_varAssign, _OMC_LIT997);
_a_varAssign = omc_Tpl_writeStr(threadData, _a_varAssign, intString(_a_ix));
_a_varAssign = omc_Tpl_writeTok(threadData, _a_varAssign, _OMC_LIT121);
_a_varAssign = omc_Tpl_writeText(threadData, _a_varAssign, _a_varName);
_a_varAssign = omc_Tpl_writeTok(threadData, _a_varAssign, _OMC_LIT105);
_a_varAssign = omc_Tpl_writeTok(threadData, _a_varAssign, _OMC_LIT89);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_varAssign;
tmpMeta[0+2] = _a_varInits;
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta[0+0];
_out_a_varAssign = tmpMeta[0+1];
_out_a_varInits = tmpMeta[0+2];
_return: OMC_LABEL_UNUSED
if (out_out_a_varAssign) { *out_out_a_varAssign = _out_a_varAssign; }
if (out_out_a_varInits) { *out_out_a_varInits = _out_a_varInits; }
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__384(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_instDims, modelica_metatype _in_a_instDimsInit, modelica_metatype _in_a_ix, modelica_metatype _in_a_dest, modelica_metatype _in_a_varAssign, modelica_metatype _in_a_var_ty, modelica_metatype _in_a_varName, modelica_metatype _in_a_varInits, modelica_metatype *out_out_a_varAssign, modelica_metatype *out_out_a_varInits)
{
modelica_integer tmp1;
modelica_metatype _out_txt = NULL;
tmp1 = mmc_unbox_integer(_in_a_ix);
_out_txt = omc_CodegenCFunctions_fun__384(threadData, _in_txt, _in_a_instDims, _in_a_instDimsInit, tmp1, _in_a_dest, _in_a_varAssign, _in_a_var_ty, _in_a_varName, _in_a_varInits, out_out_a_varAssign, out_out_a_varInits);
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_lm__383(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_items, modelica_metatype _in_a_auxFunction, modelica_metatype _in_a_varDecls, modelica_metatype _in_a_varInits, modelica_metatype *out_out_a_auxFunction, modelica_metatype *out_out_a_varDecls, modelica_metatype *out_out_a_varInits)
{
modelica_metatype _out_txt = NULL;
modelica_metatype _out_a_auxFunction = NULL;
modelica_metatype _out_a_varDecls = NULL;
modelica_metatype _out_a_varInits = NULL;
modelica_metatype tmpMeta[6] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_metatype tmp4_2;modelica_metatype tmp4_3;modelica_metatype tmp4_4;modelica_metatype tmp4_5;
tmp4_1 = _in_txt;
tmp4_2 = _in_items;
tmp4_3 = _in_a_auxFunction;
tmp4_4 = _in_a_varDecls;
tmp4_5 = _in_a_varInits;
{
modelica_metatype _txt = NULL;
modelica_metatype _rest = NULL;
modelica_metatype _a_auxFunction = NULL;
modelica_metatype _a_varDecls = NULL;
modelica_metatype _a_varInits = NULL;
modelica_metatype _i_dim = NULL;
volatile mmc_switch_type tmp4;
int tmp5;
tmp4 = 0;
for (; tmp4 < 2; tmp4++) {
switch (MMC_SWITCH_CAST(tmp4)) {
case 0: {
if (!listEmpty(tmp4_2)) goto tmp3_end;
_txt = tmp4_1;
_a_auxFunction = tmp4_3;
_a_varDecls = tmp4_4;
_a_varInits = tmp4_5;
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_auxFunction;
tmpMeta[0+2] = _a_varDecls;
tmpMeta[0+3] = _a_varInits;
goto tmp3_done;
}
case 1: {
if (listEmpty(tmp4_2)) goto tmp3_end;
tmpMeta[4] = MMC_CAR(tmp4_2);
tmpMeta[5] = MMC_CDR(tmp4_2);
_i_dim = tmpMeta[4];
_rest = tmpMeta[5];
_txt = tmp4_1;
_a_auxFunction = tmp4_3;
_a_varDecls = tmp4_4;
_a_varInits = tmp4_5;
_txt = omc_CodegenCFunctions_dimension(threadData, _txt, _i_dim, _OMC_LIT1356, _a_varInits, _a_varDecls, _a_auxFunction ,&_a_varInits ,&_a_varDecls ,&_a_auxFunction);
_txt = omc_Tpl_nextIter(threadData, _txt);
_in_txt = _txt;
_in_items = _rest;
_in_a_auxFunction = _a_auxFunction;
_in_a_varDecls = _a_varDecls;
_in_a_varInits = _a_varInits;
goto _tailrecursive;
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta[0+0];
_out_a_auxFunction = tmpMeta[0+1];
_out_a_varDecls = tmpMeta[0+2];
_out_a_varInits = tmpMeta[0+3];
_return: OMC_LABEL_UNUSED
if (out_out_a_auxFunction) { *out_out_a_auxFunction = _out_a_auxFunction; }
if (out_out_a_varDecls) { *out_out_a_varDecls = _out_a_varDecls; }
if (out_out_a_varInits) { *out_out_a_varInits = _out_a_varInits; }
return _out_txt;
}
DLLExport
modelica_metatype omc_CodegenCFunctions_varOutput(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_var)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta[4] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp3_1;modelica_metatype tmp3_2;
tmp3_1 = _in_txt;
tmp3_2 = _in_a_var;
{
modelica_metatype _txt = NULL;
modelica_metatype _i_instDims = NULL;
modelica_metatype _i_var_ty = NULL;
modelica_metatype _i_var = NULL;
volatile mmc_switch_type tmp3;
int tmp4;
tmp3 = 0;
for (; tmp3 < 6; tmp3++) {
switch (MMC_SWITCH_CAST(tmp3)) {
case 0: {
if (mmc__uniontype__metarecord__typedef__equal(tmp3_2,1,4) == 0) goto tmp2_end;
_i_var = tmp3_2;
_txt = tmp3_1;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT2129);
_txt = omc_CodegenCFunctions_funArgName(threadData, _txt, _i_var);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT2131);
_txt = omc_CodegenCFunctions_funArgName(threadData, _txt, _i_var);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT2133);
_txt = omc_CodegenCFunctions_funArgName(threadData, _txt, _i_var);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT2135);
tmpMeta[0] = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT89);
goto tmp2_done;
}
case 1: {
if (mmc__uniontype__metarecord__typedef__equal(tmp3_2,0,7) == 0) goto tmp2_end;
tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_2), 3));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[1],6,2) == 0) goto tmp2_end;
tmpMeta[2] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_2), 6));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[2],0,0) == 0) goto tmp2_end;
_i_var = tmp3_2;
_i_var_ty = tmpMeta[1];
_txt = tmp3_1;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT2129);
_txt = omc_CodegenCFunctions_funArgName(threadData, _txt, _i_var);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT2137);
_txt = omc_CodegenCFunctions_funArgName(threadData, _txt, _i_var);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT2139);
_txt = omc_CodegenCFunctions_expTypeShort(threadData, _txt, _i_var_ty);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT2141);
_txt = omc_CodegenCFunctions_funArgName(threadData, _txt, _i_var);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT2143);
_txt = omc_CodegenCFunctions_funArgName(threadData, _txt, _i_var);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT2145);
_txt = omc_CodegenCFunctions_expTypeShort(threadData, _txt, _i_var_ty);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT2147);
_txt = omc_CodegenCFunctions_funArgName(threadData, _txt, _i_var);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT2149);
_txt = omc_CodegenCFunctions_funArgName(threadData, _txt, _i_var);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT2151);
tmpMeta[0] = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT89);
goto tmp2_done;
}
case 2: {
if (mmc__uniontype__metarecord__typedef__equal(tmp3_2,0,7) == 0) goto tmp2_end;
tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_2), 3));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[1],6,2) == 0) goto tmp2_end;
_i_var = tmp3_2;
_i_var_ty = tmpMeta[1];
_txt = tmp3_1;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT2129);
_txt = omc_CodegenCFunctions_funArgName(threadData, _txt, _i_var);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT2137);
_txt = omc_CodegenCFunctions_funArgName(threadData, _txt, _i_var);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT2153);
_txt = omc_CodegenCFunctions_expTypeShort(threadData, _txt, _i_var_ty);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT2141);
_txt = omc_CodegenCFunctions_funArgName(threadData, _txt, _i_var);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT2143);
_txt = omc_CodegenCFunctions_funArgName(threadData, _txt, _i_var);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT2145);
_txt = omc_CodegenCFunctions_expTypeShort(threadData, _txt, _i_var_ty);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT2147);
_txt = omc_CodegenCFunctions_funArgName(threadData, _txt, _i_var);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT2149);
_txt = omc_CodegenCFunctions_funArgName(threadData, _txt, _i_var);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT2151);
tmpMeta[0] = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT89);
goto tmp2_done;
}
case 3: {
if (mmc__uniontype__metarecord__typedef__equal(tmp3_2,0,7) == 0) goto tmp2_end;
tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_2), 3));
tmpMeta[2] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_2), 5));
tmpMeta[3] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_2), 6));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[3],0,0) == 0) goto tmp2_end;
_i_var = tmp3_2;
_i_var_ty = tmpMeta[1];
_i_instDims = tmpMeta[2];
_txt = tmp3_1;
tmpMeta[0] = omc_CodegenCFunctions_fun__380(threadData, _txt, _i_instDims, _i_var_ty, _i_var);
goto tmp2_done;
}
case 4: {
if (mmc__uniontype__metarecord__typedef__equal(tmp3_2,0,7) == 0) goto tmp2_end;
tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_2), 3));
tmpMeta[2] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_2), 5));
_i_var = tmp3_2;
_i_var_ty = tmpMeta[1];
_i_instDims = tmpMeta[2];
_txt = tmp3_1;
tmpMeta[0] = omc_CodegenCFunctions_fun__381(threadData, _txt, _i_instDims, _i_var_ty, _i_var);
goto tmp2_done;
}
case 5: {
_txt = tmp3_1;
tmpMeta[0] = omc_CodegenUtil_error(threadData, _txt, omc_Tpl_sourceInfo(threadData, _OMC_LIT27, ((modelica_integer) 2279), ((modelica_integer) 14)), _OMC_LIT2154);
goto tmp2_done;
}
}
goto tmp2_end;
tmp2_end: ;
}
goto goto_1;
goto_1:;
MMC_THROW_INTERNAL();
goto tmp2_done;
tmp2_done:;
}
}
_out_txt = tmpMeta[0];
_return: OMC_LABEL_UNUSED
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__381(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_instDims, modelica_metatype _in_a_var_ty, modelica_metatype _in_a_var)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta[1] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp3_1;modelica_metatype tmp3_2;modelica_metatype tmp3_3;modelica_metatype tmp3_4;
tmp3_1 = _in_txt;
tmp3_2 = _in_a_instDims;
tmp3_3 = _in_a_var_ty;
tmp3_4 = _in_a_var;
{
modelica_metatype _txt = NULL;
modelica_metatype _a_var_ty = NULL;
modelica_metatype _a_var = NULL;
volatile mmc_switch_type tmp3;
int tmp4;
tmp3 = 0;
for (; tmp3 < 2; tmp3++) {
switch (MMC_SWITCH_CAST(tmp3)) {
case 0: {
if (!listEmpty(tmp3_2)) goto tmp2_end;
_txt = tmp3_1;
_a_var = tmp3_4;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT2129);
_txt = omc_CodegenCFunctions_funArgName(threadData, _txt, _a_var);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT2131);
_txt = omc_CodegenCFunctions_funArgName(threadData, _txt, _a_var);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT121);
_txt = omc_CodegenCFunctions_funArgName(threadData, _txt, _a_var);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT2135);
tmpMeta[0] = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT89);
goto tmp2_done;
}
case 1: {
_txt = tmp3_1;
_a_var_ty = tmp3_3;
_a_var = tmp3_4;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT2129);
_txt = omc_CodegenCFunctions_funArgName(threadData, _txt, _a_var);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT2137);
_txt = omc_CodegenCFunctions_funArgName(threadData, _txt, _a_var);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT2153);
_txt = omc_CodegenCFunctions_expTypeShort(threadData, _txt, _a_var_ty);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT2141);
_txt = omc_CodegenCFunctions_funArgName(threadData, _txt, _a_var);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT2143);
_txt = omc_CodegenCFunctions_funArgName(threadData, _txt, _a_var);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT2145);
_txt = omc_CodegenCFunctions_expTypeShort(threadData, _txt, _a_var_ty);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT2147);
_txt = omc_CodegenCFunctions_funArgName(threadData, _txt, _a_var);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT2149);
_txt = omc_CodegenCFunctions_funArgName(threadData, _txt, _a_var);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT2151);
tmpMeta[0] = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT89);
goto tmp2_done;
}
}
goto tmp2_end;
tmp2_end: ;
}
goto goto_1;
goto_1:;
MMC_THROW_INTERNAL();
goto tmp2_done;
tmp2_done:;
}
}
_out_txt = tmpMeta[0];
_return: OMC_LABEL_UNUSED
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__380(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_instDims, modelica_metatype _in_a_var_ty, modelica_metatype _in_a_var)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta[1] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp3_1;modelica_metatype tmp3_2;modelica_metatype tmp3_3;modelica_metatype tmp3_4;
tmp3_1 = _in_txt;
tmp3_2 = _in_a_instDims;
tmp3_3 = _in_a_var_ty;
tmp3_4 = _in_a_var;
{
modelica_metatype _txt = NULL;
modelica_metatype _a_var_ty = NULL;
modelica_metatype _a_var = NULL;
volatile mmc_switch_type tmp3;
int tmp4;
tmp3 = 0;
for (; tmp3 < 2; tmp3++) {
switch (MMC_SWITCH_CAST(tmp3)) {
case 0: {
if (!listEmpty(tmp3_2)) goto tmp2_end;
_txt = tmp3_1;
_a_var = tmp3_4;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT2129);
_txt = omc_CodegenCFunctions_funArgName(threadData, _txt, _a_var);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT2131);
_txt = omc_CodegenCFunctions_funArgName(threadData, _txt, _a_var);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT121);
_txt = omc_CodegenCFunctions_funArgName(threadData, _txt, _a_var);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT2135);
tmpMeta[0] = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT89);
goto tmp2_done;
}
case 1: {
_txt = tmp3_1;
_a_var_ty = tmp3_3;
_a_var = tmp3_4;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT2129);
_txt = omc_CodegenCFunctions_funArgName(threadData, _txt, _a_var);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT183);
_txt = omc_Tpl_pushBlock(threadData, _txt, _OMC_LIT97);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT2129);
_txt = omc_CodegenCFunctions_funArgName(threadData, _txt, _a_var);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT2163);
_txt = omc_Tpl_pushBlock(threadData, _txt, _OMC_LIT97);
_txt = omc_CodegenCFunctions_expTypeShort(threadData, _txt, _a_var_ty);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT2147);
_txt = omc_CodegenCFunctions_funArgName(threadData, _txt, _a_var);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT2149);
_txt = omc_CodegenCFunctions_funArgName(threadData, _txt, _a_var);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT375);
_txt = omc_Tpl_popBlock(threadData, _txt);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT159);
_txt = omc_Tpl_popBlock(threadData, _txt);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT103);
tmpMeta[0] = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT89);
goto tmp2_done;
}
}
goto tmp2_end;
tmp2_end: ;
}
goto goto_1;
goto_1:;
MMC_THROW_INTERNAL();
goto tmp2_done;
tmp2_done:;
}
}
_out_txt = tmpMeta[0];
_return: OMC_LABEL_UNUSED
return _out_txt;
}
DLLExport
modelica_metatype omc_CodegenCFunctions_varAllocDefaultValue(threadData_t *threadData, modelica_metatype _txt, modelica_metatype _a_var, modelica_string _a_outStruct, modelica_string _a_lhsVarName, modelica_metatype _a_allocNoDefault, modelica_metatype _a_varDecls, modelica_metatype _a_varInits, modelica_metatype _a_auxFunction, modelica_metatype *out_out_a_allocNoDefault, modelica_metatype *out_out_a_varDecls, modelica_metatype *out_out_a_varInits, modelica_metatype *out_out_a_auxFunction)
{
modelica_metatype _out_txt = NULL;
modelica_metatype _out_a_allocNoDefault = NULL;
modelica_metatype _out_a_varDecls = NULL;
modelica_metatype _out_a_varInits = NULL;
modelica_metatype _out_a_auxFunction = NULL;
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
_out_txt = omc_CodegenCFunctions_fun__378(threadData, _txt, _a_var, _a_lhsVarName, _a_allocNoDefault, _a_varDecls, _a_varInits, _a_auxFunction ,&_out_a_varDecls ,&_out_a_varInits ,&_out_a_auxFunction);
_out_a_allocNoDefault = _a_allocNoDefault;
_return: OMC_LABEL_UNUSED
if (out_out_a_allocNoDefault) { *out_out_a_allocNoDefault = _out_a_allocNoDefault; }
if (out_out_a_varDecls) { *out_out_a_varDecls = _out_a_varDecls; }
if (out_out_a_varInits) { *out_out_a_varInits = _out_a_varInits; }
if (out_out_a_auxFunction) { *out_out_a_auxFunction = _out_a_auxFunction; }
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__378(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_var, modelica_string _in_a_lhsVarName, modelica_metatype _in_a_allocNoDefault, modelica_metatype _in_a_varDecls, modelica_metatype _in_a_varInits, modelica_metatype _in_a_auxFunction, modelica_metatype *out_out_a_varDecls, modelica_metatype *out_out_a_varInits, modelica_metatype *out_out_a_auxFunction)
{
modelica_metatype _out_txt = NULL;
modelica_metatype _out_a_varDecls = NULL;
modelica_metatype _out_a_varInits = NULL;
modelica_metatype _out_a_auxFunction = NULL;
modelica_metatype tmpMeta[7] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_metatype tmp4_2;modelica_string tmp4_3;modelica_metatype tmp4_4;modelica_metatype tmp4_5;modelica_metatype tmp4_6;modelica_metatype tmp4_7;
tmp4_1 = _in_txt;
tmp4_2 = _in_a_var;
tmp4_3 = _in_a_lhsVarName;
tmp4_4 = _in_a_allocNoDefault;
tmp4_5 = _in_a_varDecls;
tmp4_6 = _in_a_varInits;
tmp4_7 = _in_a_auxFunction;
{
modelica_metatype _txt = NULL;
modelica_string _a_lhsVarName = NULL;
modelica_metatype _a_allocNoDefault = NULL;
modelica_metatype _a_varDecls = NULL;
modelica_metatype _a_varInits = NULL;
modelica_metatype _a_auxFunction = NULL;
modelica_metatype _i_var_name = NULL;
modelica_metatype _i_var_ty = NULL;
modelica_metatype _i_value = NULL;
volatile mmc_switch_type tmp4;
int tmp5;
tmp4 = 0;
for (; tmp4 < 2; tmp4++) {
switch (MMC_SWITCH_CAST(tmp4)) {
case 0: {
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,0,7) == 0) goto tmp3_end;
tmpMeta[4] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
tmpMeta[5] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 3));
tmpMeta[6] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 4));
_i_var_name = tmpMeta[4];
_i_var_ty = tmpMeta[5];
_i_value = tmpMeta[6];
_txt = tmp4_1;
_a_lhsVarName = tmp4_3;
_a_allocNoDefault = tmp4_4;
_a_varDecls = tmp4_5;
_a_varInits = tmp4_6;
_a_auxFunction = tmp4_7;
_txt = omc_CodegenCFunctions_fun__377(threadData, _txt, _i_value, _i_var_name, _a_allocNoDefault, _a_lhsVarName, _a_auxFunction, _a_varDecls, _a_varInits, _i_var_ty ,&_a_auxFunction ,&_a_varDecls ,&_a_varInits);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_varDecls;
tmpMeta[0+2] = _a_varInits;
tmpMeta[0+3] = _a_auxFunction;
goto tmp3_done;
}
case 1: {
_txt = tmp4_1;
_a_varDecls = tmp4_5;
_a_varInits = tmp4_6;
_a_auxFunction = tmp4_7;
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_varDecls;
tmpMeta[0+2] = _a_varInits;
tmpMeta[0+3] = _a_auxFunction;
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta[0+0];
_out_a_varDecls = tmpMeta[0+1];
_out_a_varInits = tmpMeta[0+2];
_out_a_auxFunction = tmpMeta[0+3];
_return: OMC_LABEL_UNUSED
if (out_out_a_varDecls) { *out_out_a_varDecls = _out_a_varDecls; }
if (out_out_a_varInits) { *out_out_a_varInits = _out_a_varInits; }
if (out_out_a_auxFunction) { *out_out_a_auxFunction = _out_a_auxFunction; }
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__377(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_value, modelica_metatype _in_a_var_name, modelica_metatype _in_a_allocNoDefault, modelica_string _in_a_lhsVarName, modelica_metatype _in_a_auxFunction, modelica_metatype _in_a_varDecls, modelica_metatype _in_a_varInits, modelica_metatype _in_a_var_ty, modelica_metatype *out_out_a_auxFunction, modelica_metatype *out_out_a_varDecls, modelica_metatype *out_out_a_varInits)
{
modelica_metatype _out_txt = NULL;
modelica_metatype _out_a_auxFunction = NULL;
modelica_metatype _out_a_varDecls = NULL;
modelica_metatype _out_a_varInits = NULL;
modelica_metatype tmpMeta[10] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_metatype tmp4_2;modelica_metatype tmp4_3;modelica_metatype tmp4_4;modelica_string tmp4_5;modelica_metatype tmp4_6;modelica_metatype tmp4_7;modelica_metatype tmp4_8;modelica_metatype tmp4_9;
tmp4_1 = _in_txt;
tmp4_2 = _in_a_value;
tmp4_3 = _in_a_var_name;
tmp4_4 = _in_a_allocNoDefault;
tmp4_5 = _in_a_lhsVarName;
tmp4_6 = _in_a_auxFunction;
tmp4_7 = _in_a_varDecls;
tmp4_8 = _in_a_varInits;
tmp4_9 = _in_a_var_ty;
{
modelica_metatype _txt = NULL;
modelica_metatype _a_var_name = NULL;
modelica_metatype _a_allocNoDefault = NULL;
modelica_string _a_lhsVarName = NULL;
modelica_metatype _a_auxFunction = NULL;
modelica_metatype _a_varDecls = NULL;
modelica_metatype _a_varInits = NULL;
modelica_metatype _a_var_ty = NULL;
modelica_metatype _i_exp = NULL;
modelica_metatype _i_arr = NULL;
modelica_boolean _i_arr_scalar;
modelica_metatype _i_arr_array = NULL;
modelica_metatype _i_record__state = NULL;
modelica_metatype _i_cr = NULL;
modelica_metatype _l_arrayExp = NULL;
modelica_metatype _l_params = NULL;
modelica_metatype _l_preExp = NULL;
modelica_metatype _ret_2 = NULL;
modelica_metatype _l_rec__name = NULL;
modelica_metatype _l_varName = NULL;
volatile mmc_switch_type tmp4;
int tmp5;
tmp4 = 0;
for (; tmp4 < 6; tmp4++) {
switch (MMC_SWITCH_CAST(tmp4)) {
case 0: {
if (optionNone(tmp4_2)) goto tmp3_end;
tmpMeta[4] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 1));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[4],6,2) == 0) goto tmp3_end;
tmpMeta[5] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[4]), 2));
_i_cr = tmpMeta[5];
_txt = tmp4_1;
_a_lhsVarName = tmp4_5;
_a_auxFunction = tmp4_6;
_a_varDecls = tmp4_7;
_a_varInits = tmp4_8;
_a_var_ty = tmp4_9;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT2055);
_txt = omc_CodegenCFunctions_expTypeShort(threadData, _txt, _a_var_ty);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT2141);
_txt = omc_CodegenCFunctions_contextCref(threadData, _txt, _i_cr, _OMC_LIT1356, _a_varInits, _a_varDecls, _a_auxFunction ,&_a_varInits ,&_a_varDecls ,&_a_auxFunction);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT123);
_txt = omc_Tpl_writeStr(threadData, _txt, _a_lhsVarName);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT290);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT89);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_auxFunction;
tmpMeta[0+2] = _a_varDecls;
tmpMeta[0+3] = _a_varInits;
goto tmp3_done;
}
case 1: {
modelica_integer tmp6;
if (optionNone(tmp4_2)) goto tmp3_end;
tmpMeta[4] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 1));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[4],16,3) == 0) goto tmp3_end;
tmpMeta[5] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[4]), 2));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[5],6,2) == 0) goto tmp3_end;
tmpMeta[6] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[5]), 2));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[6],9,3) == 0) goto tmp3_end;
tmpMeta[7] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[6]), 2));
tmpMeta[8] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[4]), 3));
tmp6 = mmc_unbox_integer(tmpMeta[8]);
tmpMeta[9] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[4]), 4));
_i_record__state = tmpMeta[7];
_i_arr_scalar = tmp6;
_i_arr_array = tmpMeta[9];
_txt = tmp4_1;
_a_var_name = tmp4_3;
_a_allocNoDefault = tmp4_4;
_a_auxFunction = tmp4_6;
_a_varDecls = tmp4_7;
_a_varInits = tmp4_8;
_a_varInits = omc_Tpl_writeText(threadData, _a_varInits, _a_allocNoDefault);
_l_varName = omc_CodegenCFunctions_contextCrefNoPrevExp(threadData, _OMC_LIT20, _a_var_name, _OMC_LIT1356, _a_auxFunction ,&_a_auxFunction);
_ret_2 = omc_ClassInf_getStateName(threadData, _i_record__state);
_l_rec__name = omc_CodegenUtil_underscorePath(threadData, _OMC_LIT20, _ret_2);
_l_preExp = _OMC_LIT20;
_l_params = omc_Tpl_pushIter(threadData, _OMC_LIT20, _OMC_LIT464);
_l_params = omc_CodegenCFunctions_lm__376(threadData, _l_params, _i_arr_array, _a_auxFunction, _a_varDecls, _l_preExp, _l_varName, _l_rec__name, _i_arr_scalar ,&_a_auxFunction ,&_a_varDecls ,&_l_preExp);
_l_params = omc_Tpl_popIter(threadData, _l_params);
_txt = omc_Tpl_writeText(threadData, _txt, _l_preExp);
_txt = omc_Tpl_softNewLine(threadData, _txt);
_txt = omc_Tpl_writeText(threadData, _txt, _l_params);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_auxFunction;
tmpMeta[0+2] = _a_varDecls;
tmpMeta[0+3] = _a_varInits;
goto tmp3_done;
}
case 2: {
if (optionNone(tmp4_2)) goto tmp3_end;
tmpMeta[4] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 1));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[4],36,2) == 0) goto tmp3_end;
_i_arr = tmpMeta[4];
_txt = tmp4_1;
_a_lhsVarName = tmp4_5;
_a_auxFunction = tmp4_6;
_a_varDecls = tmp4_7;
_a_varInits = tmp4_8;
_a_var_ty = tmp4_9;
_l_arrayExp = omc_CodegenCFunctions_daeExp(threadData, _OMC_LIT20, _i_arr, _OMC_LIT1356, _a_varInits, _a_varDecls, _a_auxFunction ,&_a_varInits ,&_a_varDecls ,&_a_auxFunction);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT2055);
_txt = omc_CodegenCFunctions_expTypeShort(threadData, _txt, _a_var_ty);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT2141);
_txt = omc_Tpl_writeText(threadData, _txt, _l_arrayExp);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT123);
_txt = omc_Tpl_writeStr(threadData, _txt, _a_lhsVarName);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT290);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT89);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_auxFunction;
tmpMeta[0+2] = _a_varDecls;
tmpMeta[0+3] = _a_varInits;
goto tmp3_done;
}
case 3: {
if (optionNone(tmp4_2)) goto tmp3_end;
tmpMeta[4] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 1));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[4],16,3) == 0) goto tmp3_end;
_i_arr = tmpMeta[4];
_txt = tmp4_1;
_a_lhsVarName = tmp4_5;
_a_auxFunction = tmp4_6;
_a_varDecls = tmp4_7;
_a_varInits = tmp4_8;
_a_var_ty = tmp4_9;
_l_arrayExp = omc_CodegenCFunctions_daeExp(threadData, _OMC_LIT20, _i_arr, _OMC_LIT1356, _a_varInits, _a_varDecls, _a_auxFunction ,&_a_varInits ,&_a_varDecls ,&_a_auxFunction);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT2055);
_txt = omc_CodegenCFunctions_expTypeShort(threadData, _txt, _a_var_ty);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT2141);
_txt = omc_Tpl_writeText(threadData, _txt, _l_arrayExp);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT123);
_txt = omc_Tpl_writeStr(threadData, _txt, _a_lhsVarName);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT290);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT89);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_auxFunction;
tmpMeta[0+2] = _a_varDecls;
tmpMeta[0+3] = _a_varInits;
goto tmp3_done;
}
case 4: {
if (optionNone(tmp4_2)) goto tmp3_end;
tmpMeta[4] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 1));
_i_exp = tmpMeta[4];
_txt = tmp4_1;
_a_lhsVarName = tmp4_5;
_a_auxFunction = tmp4_6;
_a_varDecls = tmp4_7;
_a_varInits = tmp4_8;
_txt = omc_Tpl_writeStr(threadData, _txt, _a_lhsVarName);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT121);
_txt = omc_CodegenCFunctions_daeExp(threadData, _txt, _i_exp, _OMC_LIT1356, _a_varInits, _a_varDecls, _a_auxFunction ,&_a_varInits ,&_a_varDecls ,&_a_auxFunction);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT105);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT89);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_auxFunction;
tmpMeta[0+2] = _a_varDecls;
tmpMeta[0+3] = _a_varInits;
goto tmp3_done;
}
case 5: {
_txt = tmp4_1;
_a_allocNoDefault = tmp4_4;
_a_auxFunction = tmp4_6;
_a_varDecls = tmp4_7;
_a_varInits = tmp4_8;
_a_varInits = omc_Tpl_writeText(threadData, _a_varInits, _a_allocNoDefault);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_auxFunction;
tmpMeta[0+2] = _a_varDecls;
tmpMeta[0+3] = _a_varInits;
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta[0+0];
_out_a_auxFunction = tmpMeta[0+1];
_out_a_varDecls = tmpMeta[0+2];
_out_a_varInits = tmpMeta[0+3];
_return: OMC_LABEL_UNUSED
if (out_out_a_auxFunction) { *out_out_a_auxFunction = _out_a_auxFunction; }
if (out_out_a_varDecls) { *out_out_a_varDecls = _out_a_varDecls; }
if (out_out_a_varInits) { *out_out_a_varInits = _out_a_varInits; }
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_lm__376(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_items, modelica_metatype _in_a_auxFunction, modelica_metatype _in_a_varDecls, modelica_metatype _in_a_preExp, modelica_metatype _in_a_varName, modelica_metatype _in_a_rec__name, modelica_boolean _in_a_arr_scalar, modelica_metatype *out_out_a_auxFunction, modelica_metatype *out_out_a_varDecls, modelica_metatype *out_out_a_preExp)
{
modelica_metatype _out_txt = NULL;
modelica_metatype _out_a_auxFunction = NULL;
modelica_metatype _out_a_varDecls = NULL;
modelica_metatype _out_a_preExp = NULL;
modelica_metatype tmpMeta[6] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_metatype tmp4_2;modelica_metatype tmp4_3;modelica_metatype tmp4_4;modelica_metatype tmp4_5;modelica_metatype tmp4_6;modelica_metatype tmp4_7;modelica_boolean tmp4_8;
tmp4_1 = _in_txt;
tmp4_2 = _in_items;
tmp4_3 = _in_a_auxFunction;
tmp4_4 = _in_a_varDecls;
tmp4_5 = _in_a_preExp;
tmp4_6 = _in_a_varName;
tmp4_7 = _in_a_rec__name;
tmp4_8 = _in_a_arr_scalar;
{
modelica_metatype _txt = NULL;
modelica_metatype _rest = NULL;
modelica_metatype _a_auxFunction = NULL;
modelica_metatype _a_varDecls = NULL;
modelica_metatype _a_preExp = NULL;
modelica_metatype _a_varName = NULL;
modelica_metatype _a_rec__name = NULL;
modelica_boolean _a_arr_scalar;
modelica_integer _x_i1;
modelica_metatype _i_e = NULL;
modelica_metatype _l_prefix = NULL;
volatile mmc_switch_type tmp4;
int tmp5;
tmp4 = 0;
for (; tmp4 < 2; tmp4++) {
switch (MMC_SWITCH_CAST(tmp4)) {
case 0: {
if (!listEmpty(tmp4_2)) goto tmp3_end;
_txt = tmp4_1;
_a_auxFunction = tmp4_3;
_a_varDecls = tmp4_4;
_a_preExp = tmp4_5;
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_auxFunction;
tmpMeta[0+2] = _a_varDecls;
tmpMeta[0+3] = _a_preExp;
goto tmp3_done;
}
case 1: {
if (listEmpty(tmp4_2)) goto tmp3_end;
tmpMeta[4] = MMC_CAR(tmp4_2);
tmpMeta[5] = MMC_CDR(tmp4_2);
_i_e = tmpMeta[4];
_rest = tmpMeta[5];
_txt = tmp4_1;
_a_auxFunction = tmp4_3;
_a_varDecls = tmp4_4;
_a_preExp = tmp4_5;
_a_varName = tmp4_6;
_a_rec__name = tmp4_7;
_a_arr_scalar = tmp4_8;
_x_i1 = omc_Tpl_getIteri__i0(threadData, _txt);
_l_prefix = omc_CodegenCFunctions_fun__375(threadData, _OMC_LIT20, _a_arr_scalar, _i_e);
_txt = omc_Tpl_writeText(threadData, _txt, _a_rec__name);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT349);
_txt = omc_Tpl_writeText(threadData, _txt, _a_varName);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT351);
_txt = omc_Tpl_writeStr(threadData, _txt, intString(_x_i1));
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT595);
_txt = omc_Tpl_writeText(threadData, _txt, _l_prefix);
_txt = omc_CodegenCFunctions_daeExp(threadData, _txt, _i_e, _OMC_LIT1356, _a_preExp, _a_varDecls, _a_auxFunction ,&_a_preExp ,&_a_varDecls ,&_a_auxFunction);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT105);
_txt = omc_Tpl_nextIter(threadData, _txt);
_in_txt = _txt;
_in_items = _rest;
_in_a_auxFunction = _a_auxFunction;
_in_a_varDecls = _a_varDecls;
_in_a_preExp = _a_preExp;
_in_a_varName = _a_varName;
_in_a_rec__name = _a_rec__name;
_in_a_arr_scalar = _a_arr_scalar;
goto _tailrecursive;
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta[0+0];
_out_a_auxFunction = tmpMeta[0+1];
_out_a_varDecls = tmpMeta[0+2];
_out_a_preExp = tmpMeta[0+3];
_return: OMC_LABEL_UNUSED
if (out_out_a_auxFunction) { *out_out_a_auxFunction = _out_a_auxFunction; }
if (out_out_a_varDecls) { *out_out_a_varDecls = _out_a_varDecls; }
if (out_out_a_preExp) { *out_out_a_preExp = _out_a_preExp; }
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_lm__376(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_items, modelica_metatype _in_a_auxFunction, modelica_metatype _in_a_varDecls, modelica_metatype _in_a_preExp, modelica_metatype _in_a_varName, modelica_metatype _in_a_rec__name, modelica_metatype _in_a_arr_scalar, modelica_metatype *out_out_a_auxFunction, modelica_metatype *out_out_a_varDecls, modelica_metatype *out_out_a_preExp)
{
modelica_integer tmp1;
modelica_metatype _out_txt = NULL;
tmp1 = mmc_unbox_integer(_in_a_arr_scalar);
_out_txt = omc_CodegenCFunctions_lm__376(threadData, _in_txt, _in_items, _in_a_auxFunction, _in_a_varDecls, _in_a_preExp, _in_a_varName, _in_a_rec__name, tmp1, out_out_a_auxFunction, out_out_a_varDecls, out_out_a_preExp);
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__375(threadData_t *threadData, modelica_metatype _in_txt, modelica_boolean _in_a_arr_scalar, modelica_metatype _in_a_e)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta[1] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp3_1;modelica_boolean tmp3_2;modelica_metatype tmp3_3;
tmp3_1 = _in_txt;
tmp3_2 = _in_a_arr_scalar;
tmp3_3 = _in_a_e;
{
modelica_metatype _txt = NULL;
modelica_metatype _a_e = NULL;
volatile mmc_switch_type tmp3;
int tmp4;
tmp3 = 0;
for (; tmp3 < 2; tmp3++) {
switch (MMC_SWITCH_CAST(tmp3)) {
case 0: {
if (0 != tmp3_2) goto tmp2_end;
_txt = tmp3_1;
tmpMeta[0] = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT582);
goto tmp2_done;
}
case 1: {
_txt = tmp3_1;
_a_e = tmp3_3;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT68);
_txt = omc_CodegenCFunctions_expTypeFromExpModelica(threadData, _txt, _a_e);
tmpMeta[0] = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT78);
goto tmp2_done;
}
}
goto tmp2_end;
tmp2_end: ;
}
goto goto_1;
goto_1:;
MMC_THROW_INTERNAL();
goto tmp2_done;
tmp2_done:;
}
}
_out_txt = tmpMeta[0];
_return: OMC_LABEL_UNUSED
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__375(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_arr_scalar, modelica_metatype _in_a_e)
{
modelica_integer tmp1;
modelica_metatype _out_txt = NULL;
tmp1 = mmc_unbox_integer(_in_a_arr_scalar);
_out_txt = omc_CodegenCFunctions_fun__375(threadData, _in_txt, tmp1, _in_a_e);
return _out_txt;
}
DLLExport
modelica_metatype omc_CodegenCFunctions_varInitParallel(threadData_t *threadData, modelica_metatype _txt, modelica_metatype _a_var, modelica_string _a_outStruct, modelica_integer _a_i, modelica_metatype _a_varDecls, modelica_metatype _a_varInits, modelica_metatype _a_varFrees, modelica_metatype _a_auxFunction, modelica_metatype *out_out_a_varDecls, modelica_metatype *out_out_a_varInits, modelica_metatype *out_out_a_varFrees, modelica_metatype *out_out_a_auxFunction)
{
modelica_metatype _out_txt = NULL;
modelica_metatype _out_a_varDecls = NULL;
modelica_metatype _out_a_varInits = NULL;
modelica_metatype _out_a_varFrees = NULL;
modelica_metatype _out_a_auxFunction = NULL;
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
_out_txt = omc_CodegenCFunctions_fun__373(threadData, _txt, _a_var, _a_outStruct, _a_i, _a_varDecls, _a_varInits, _a_auxFunction ,&_out_a_varDecls ,&_out_a_varInits ,&_out_a_auxFunction);
_out_a_varFrees = _a_varFrees;
_return: OMC_LABEL_UNUSED
if (out_out_a_varDecls) { *out_out_a_varDecls = _out_a_varDecls; }
if (out_out_a_varInits) { *out_out_a_varInits = _out_a_varInits; }
if (out_out_a_varFrees) { *out_out_a_varFrees = _out_a_varFrees; }
if (out_out_a_auxFunction) { *out_out_a_auxFunction = _out_a_auxFunction; }
return _out_txt;
}
modelica_metatype boxptr_CodegenCFunctions_varInitParallel(threadData_t *threadData, modelica_metatype _txt, modelica_metatype _a_var, modelica_metatype _a_outStruct, modelica_metatype _a_i, modelica_metatype _a_varDecls, modelica_metatype _a_varInits, modelica_metatype _a_varFrees, modelica_metatype _a_auxFunction, modelica_metatype *out_out_a_varDecls, modelica_metatype *out_out_a_varInits, modelica_metatype *out_out_a_varFrees, modelica_metatype *out_out_a_auxFunction)
{
modelica_integer tmp1;
modelica_metatype _out_txt = NULL;
tmp1 = mmc_unbox_integer(_a_i);
_out_txt = omc_CodegenCFunctions_varInitParallel(threadData, _txt, _a_var, _a_outStruct, tmp1, _a_varDecls, _a_varInits, _a_varFrees, _a_auxFunction, out_out_a_varDecls, out_out_a_varInits, out_out_a_varFrees, out_out_a_auxFunction);
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__373(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_var, modelica_string _in_a_outStruct, modelica_integer _in_a_i, modelica_metatype _in_a_varDecls, modelica_metatype _in_a_varInits, modelica_metatype _in_a_auxFunction, modelica_metatype *out_out_a_varDecls, modelica_metatype *out_out_a_varInits, modelica_metatype *out_out_a_auxFunction)
{
modelica_metatype _out_txt = NULL;
modelica_metatype _out_a_varDecls = NULL;
modelica_metatype _out_a_varInits = NULL;
modelica_metatype _out_a_auxFunction = NULL;
modelica_metatype tmpMeta[8] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_metatype tmp4_2;modelica_string tmp4_3;modelica_integer tmp4_4;modelica_metatype tmp4_5;modelica_metatype tmp4_6;modelica_metatype tmp4_7;
tmp4_1 = _in_txt;
tmp4_2 = _in_a_var;
tmp4_3 = _in_a_outStruct;
tmp4_4 = _in_a_i;
tmp4_5 = _in_a_varDecls;
tmp4_6 = _in_a_varInits;
tmp4_7 = _in_a_auxFunction;
{
modelica_metatype _txt = NULL;
modelica_string _a_outStruct = NULL;
modelica_integer _a_i;
modelica_metatype _a_varDecls = NULL;
modelica_metatype _a_varInits = NULL;
modelica_metatype _a_auxFunction = NULL;
modelica_metatype _i_var_ty = NULL;
modelica_metatype _i_var_value = NULL;
modelica_metatype _i_instDims = NULL;
modelica_metatype _i_var_name = NULL;
modelica_metatype _i_var = NULL;
modelica_metatype _l_instDimsInit = NULL;
modelica_metatype _l_varName = NULL;
volatile mmc_switch_type tmp4;
int tmp5;
tmp4 = 0;
for (; tmp4 < 3; tmp4++) {
switch (MMC_SWITCH_CAST(tmp4)) {
case 0: {
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,0,7) == 0) goto tmp3_end;
tmpMeta[4] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
tmpMeta[5] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 3));
tmpMeta[6] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 4));
tmpMeta[7] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 5));
_i_var = tmp4_2;
_i_var_name = tmpMeta[4];
_i_var_ty = tmpMeta[5];
_i_var_value = tmpMeta[6];
_i_instDims = tmpMeta[7];
_txt = tmp4_1;
_a_outStruct = tmp4_3;
_a_i = tmp4_4;
_a_varDecls = tmp4_5;
_a_varInits = tmp4_6;
_a_auxFunction = tmp4_7;
_a_varDecls = omc_CodegenCFunctions_fun__368(threadData, _a_varDecls, _a_outStruct, _a_auxFunction, _i_var_name, _i_var ,&_a_auxFunction);
_l_varName = omc_CodegenCFunctions_fun__369(threadData, _OMC_LIT20, _a_outStruct, _a_i, _a_auxFunction, _i_var_name ,&_a_auxFunction);
_l_instDimsInit = omc_Tpl_pushIter(threadData, _OMC_LIT20, _OMC_LIT294);
_l_instDimsInit = omc_CodegenCFunctions_lm__370(threadData, _l_instDimsInit, _i_instDims, _a_auxFunction, _a_varDecls, _a_varInits ,&_a_auxFunction ,&_a_varDecls ,&_a_varInits);
_l_instDimsInit = omc_Tpl_popIter(threadData, _l_instDimsInit);
tmpMeta[0+0] = omc_CodegenCFunctions_fun__372(threadData, _txt, _i_instDims, _a_outStruct, _i_var, _l_instDimsInit, _l_varName, _i_var_ty, _a_varDecls, _a_varInits, _a_auxFunction, _i_var_name, _i_var_value, &tmpMeta[0+1], &tmpMeta[0+2], &tmpMeta[0+3]);
goto tmp3_done;
}
case 1: {
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,1,4) == 0) goto tmp3_end;
_txt = tmp4_1;
_a_varDecls = tmp4_5;
_a_varInits = tmp4_6;
_a_auxFunction = tmp4_7;
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_varDecls;
tmpMeta[0+2] = _a_varInits;
tmpMeta[0+3] = _a_auxFunction;
goto tmp3_done;
}
case 2: {
_txt = tmp4_1;
_a_varDecls = tmp4_5;
_a_varInits = tmp4_6;
_a_auxFunction = tmp4_7;
_a_varDecls = omc_Tpl_writeTok(threadData, _a_varDecls, _OMC_LIT2165);
_a_varDecls = omc_Tpl_writeTok(threadData, _a_varDecls, _OMC_LIT89);
_txt = omc_CodegenUtil_error(threadData, _txt, omc_Tpl_sourceInfo(threadData, _OMC_LIT27, ((modelica_integer) 2207), ((modelica_integer) 9)), _OMC_LIT2166);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_varDecls;
tmpMeta[0+2] = _a_varInits;
tmpMeta[0+3] = _a_auxFunction;
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta[0+0];
_out_a_varDecls = tmpMeta[0+1];
_out_a_varInits = tmpMeta[0+2];
_out_a_auxFunction = tmpMeta[0+3];
_return: OMC_LABEL_UNUSED
if (out_out_a_varDecls) { *out_out_a_varDecls = _out_a_varDecls; }
if (out_out_a_varInits) { *out_out_a_varInits = _out_a_varInits; }
if (out_out_a_auxFunction) { *out_out_a_auxFunction = _out_a_auxFunction; }
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__373(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_var, modelica_metatype _in_a_outStruct, modelica_metatype _in_a_i, modelica_metatype _in_a_varDecls, modelica_metatype _in_a_varInits, modelica_metatype _in_a_auxFunction, modelica_metatype *out_out_a_varDecls, modelica_metatype *out_out_a_varInits, modelica_metatype *out_out_a_auxFunction)
{
modelica_integer tmp1;
modelica_metatype _out_txt = NULL;
tmp1 = mmc_unbox_integer(_in_a_i);
_out_txt = omc_CodegenCFunctions_fun__373(threadData, _in_txt, _in_a_var, _in_a_outStruct, tmp1, _in_a_varDecls, _in_a_varInits, _in_a_auxFunction, out_out_a_varDecls, out_out_a_varInits, out_out_a_auxFunction);
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__372(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_instDims, modelica_string _in_a_outStruct, modelica_metatype _in_a_var, modelica_metatype _in_a_instDimsInit, modelica_metatype _in_a_varName, modelica_metatype _in_a_var_ty, modelica_metatype _in_a_varDecls, modelica_metatype _in_a_varInits, modelica_metatype _in_a_auxFunction, modelica_metatype _in_a_var_name, modelica_metatype _in_a_var_value, modelica_metatype *out_out_a_varDecls, modelica_metatype *out_out_a_varInits, modelica_metatype *out_out_a_auxFunction)
{
modelica_metatype _out_txt = NULL;
modelica_metatype _out_a_varDecls = NULL;
modelica_metatype _out_a_varInits = NULL;
modelica_metatype _out_a_auxFunction = NULL;
modelica_metatype tmpMeta[4] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_metatype tmp4_2;modelica_string tmp4_3;modelica_metatype tmp4_4;modelica_metatype tmp4_5;modelica_metatype tmp4_6;modelica_metatype tmp4_7;modelica_metatype tmp4_8;modelica_metatype tmp4_9;modelica_metatype tmp4_10;modelica_metatype tmp4_11;modelica_metatype tmp4_12;
tmp4_1 = _in_txt;
tmp4_2 = _in_a_instDims;
tmp4_3 = _in_a_outStruct;
tmp4_4 = _in_a_var;
tmp4_5 = _in_a_instDimsInit;
tmp4_6 = _in_a_varName;
tmp4_7 = _in_a_var_ty;
tmp4_8 = _in_a_varDecls;
tmp4_9 = _in_a_varInits;
tmp4_10 = _in_a_auxFunction;
tmp4_11 = _in_a_var_name;
tmp4_12 = _in_a_var_value;
{
modelica_metatype _txt = NULL;
modelica_string _a_outStruct = NULL;
modelica_metatype _a_var = NULL;
modelica_metatype _a_instDimsInit = NULL;
modelica_metatype _a_varName = NULL;
modelica_metatype _a_var_ty = NULL;
modelica_metatype _a_varDecls = NULL;
modelica_metatype _a_varInits = NULL;
modelica_metatype _a_auxFunction = NULL;
modelica_metatype _a_var_name = NULL;
modelica_metatype _a_var_value = NULL;
modelica_metatype _i_instDims = NULL;
modelica_metatype _l_defaultValue = NULL;
modelica_integer _ret_2;
modelica_integer _ret_1;
modelica_metatype _l_defaultAlloc = NULL;
volatile mmc_switch_type tmp4;
int tmp5;
tmp4 = 0;
for (; tmp4 < 2; tmp4++) {
switch (MMC_SWITCH_CAST(tmp4)) {
case 0: {
if (!listEmpty(tmp4_2)) goto tmp3_end;
_txt = tmp4_1;
_a_varDecls = tmp4_8;
_a_varInits = tmp4_9;
_a_auxFunction = tmp4_10;
_a_var_name = tmp4_11;
_a_var_value = tmp4_12;
tmpMeta[0+0] = omc_CodegenCFunctions_fun__371(threadData, _txt, _a_var_value, _a_varDecls, _a_varInits, _a_auxFunction, _a_var_name, &tmpMeta[0+1], &tmpMeta[0+2], &tmpMeta[0+3]);
goto tmp3_done;
}
case 1: {
_txt = tmp4_1;
_i_instDims = tmp4_2;
_a_outStruct = tmp4_3;
_a_var = tmp4_4;
_a_instDimsInit = tmp4_5;
_a_varName = tmp4_6;
_a_var_ty = tmp4_7;
_a_varDecls = tmp4_8;
_a_varInits = tmp4_9;
_a_auxFunction = tmp4_10;
_l_defaultAlloc = omc_Tpl_writeTok(threadData, _OMC_LIT20, _OMC_LIT296);
_l_defaultAlloc = omc_CodegenCFunctions_expTypeShort(threadData, _l_defaultAlloc, _a_var_ty);
_l_defaultAlloc = omc_Tpl_writeTok(threadData, _l_defaultAlloc, _OMC_LIT2168);
_ret_1 = listLength(_i_instDims);
_l_defaultAlloc = omc_Tpl_writeStr(threadData, _l_defaultAlloc, intString(_ret_1));
_l_defaultAlloc = omc_Tpl_writeTok(threadData, _l_defaultAlloc, _OMC_LIT298);
_l_defaultAlloc = omc_Tpl_writeText(threadData, _l_defaultAlloc, _a_varName);
_l_defaultAlloc = omc_Tpl_writeTok(threadData, _l_defaultAlloc, _OMC_LIT292);
_ret_2 = listLength(_i_instDims);
_l_defaultAlloc = omc_Tpl_writeStr(threadData, _l_defaultAlloc, intString(_ret_2));
_l_defaultAlloc = omc_Tpl_writeTok(threadData, _l_defaultAlloc, _OMC_LIT292);
_l_defaultAlloc = omc_Tpl_writeText(threadData, _l_defaultAlloc, _a_instDimsInit);
_l_defaultAlloc = omc_Tpl_writeTok(threadData, _l_defaultAlloc, _OMC_LIT2170);
_l_defaultAlloc = omc_Tpl_writeTok(threadData, _l_defaultAlloc, _OMC_LIT89);
_l_defaultValue = omc_CodegenCFunctions_varAllocDefaultValue(threadData, _OMC_LIT20, _a_var, _a_outStruct, omc_Tpl_textString(threadData, _a_varName), _l_defaultAlloc, _a_varDecls, _a_varInits, _a_auxFunction ,&_l_defaultAlloc ,&_a_varDecls ,&_a_varInits ,&_a_auxFunction);
_a_varInits = omc_Tpl_writeText(threadData, _a_varInits, _l_defaultValue);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT29);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_varDecls;
tmpMeta[0+2] = _a_varInits;
tmpMeta[0+3] = _a_auxFunction;
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta[0+0];
_out_a_varDecls = tmpMeta[0+1];
_out_a_varInits = tmpMeta[0+2];
_out_a_auxFunction = tmpMeta[0+3];
_return: OMC_LABEL_UNUSED
if (out_out_a_varDecls) { *out_out_a_varDecls = _out_a_varDecls; }
if (out_out_a_varInits) { *out_out_a_varInits = _out_a_varInits; }
if (out_out_a_auxFunction) { *out_out_a_auxFunction = _out_a_auxFunction; }
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__371(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_var_value, modelica_metatype _in_a_varDecls, modelica_metatype _in_a_varInits, modelica_metatype _in_a_auxFunction, modelica_metatype _in_a_var_name, modelica_metatype *out_out_a_varDecls, modelica_metatype *out_out_a_varInits, modelica_metatype *out_out_a_auxFunction)
{
modelica_metatype _out_txt = NULL;
modelica_metatype _out_a_varDecls = NULL;
modelica_metatype _out_a_varInits = NULL;
modelica_metatype _out_a_auxFunction = NULL;
modelica_metatype tmpMeta[5] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_metatype tmp4_2;modelica_metatype tmp4_3;modelica_metatype tmp4_4;modelica_metatype tmp4_5;modelica_metatype tmp4_6;
tmp4_1 = _in_txt;
tmp4_2 = _in_a_var_value;
tmp4_3 = _in_a_varDecls;
tmp4_4 = _in_a_varInits;
tmp4_5 = _in_a_auxFunction;
tmp4_6 = _in_a_var_name;
{
modelica_metatype _txt = NULL;
modelica_metatype _a_varDecls = NULL;
modelica_metatype _a_varInits = NULL;
modelica_metatype _a_auxFunction = NULL;
modelica_metatype _a_var_name = NULL;
modelica_metatype _i_exp = NULL;
modelica_metatype _l_defaultValue = NULL;
volatile mmc_switch_type tmp4;
int tmp5;
tmp4 = 0;
for (; tmp4 < 2; tmp4++) {
switch (MMC_SWITCH_CAST(tmp4)) {
case 0: {
if (optionNone(tmp4_2)) goto tmp3_end;
tmpMeta[4] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 1));
_i_exp = tmpMeta[4];
_txt = tmp4_1;
_a_varDecls = tmp4_3;
_a_varInits = tmp4_4;
_a_auxFunction = tmp4_5;
_a_var_name = tmp4_6;
_l_defaultValue = omc_CodegenCFunctions_contextCrefNoPrevExp(threadData, _OMC_LIT20, _a_var_name, _OMC_LIT1356, _a_auxFunction ,&_a_auxFunction);
_l_defaultValue = omc_Tpl_writeTok(threadData, _l_defaultValue, _OMC_LIT121);
_l_defaultValue = omc_CodegenCFunctions_daeExp(threadData, _l_defaultValue, _i_exp, _OMC_LIT1356, _a_varInits, _a_varDecls, _a_auxFunction ,&_a_varInits ,&_a_varDecls ,&_a_auxFunction);
_l_defaultValue = omc_Tpl_writeTok(threadData, _l_defaultValue, _OMC_LIT105);
_l_defaultValue = omc_Tpl_writeTok(threadData, _l_defaultValue, _OMC_LIT89);
_a_varInits = omc_Tpl_writeText(threadData, _a_varInits, _l_defaultValue);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT29);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_varDecls;
tmpMeta[0+2] = _a_varInits;
tmpMeta[0+3] = _a_auxFunction;
goto tmp3_done;
}
case 1: {
_txt = tmp4_1;
_a_varDecls = tmp4_3;
_a_varInits = tmp4_4;
_a_auxFunction = tmp4_5;
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_varDecls;
tmpMeta[0+2] = _a_varInits;
tmpMeta[0+3] = _a_auxFunction;
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta[0+0];
_out_a_varDecls = tmpMeta[0+1];
_out_a_varInits = tmpMeta[0+2];
_out_a_auxFunction = tmpMeta[0+3];
_return: OMC_LABEL_UNUSED
if (out_out_a_varDecls) { *out_out_a_varDecls = _out_a_varDecls; }
if (out_out_a_varInits) { *out_out_a_varInits = _out_a_varInits; }
if (out_out_a_auxFunction) { *out_out_a_auxFunction = _out_a_auxFunction; }
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_lm__370(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_items, modelica_metatype _in_a_auxFunction, modelica_metatype _in_a_varDecls, modelica_metatype _in_a_varInits, modelica_metatype *out_out_a_auxFunction, modelica_metatype *out_out_a_varDecls, modelica_metatype *out_out_a_varInits)
{
modelica_metatype _out_txt = NULL;
modelica_metatype _out_a_auxFunction = NULL;
modelica_metatype _out_a_varDecls = NULL;
modelica_metatype _out_a_varInits = NULL;
modelica_metatype tmpMeta[6] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_metatype tmp4_2;modelica_metatype tmp4_3;modelica_metatype tmp4_4;modelica_metatype tmp4_5;
tmp4_1 = _in_txt;
tmp4_2 = _in_items;
tmp4_3 = _in_a_auxFunction;
tmp4_4 = _in_a_varDecls;
tmp4_5 = _in_a_varInits;
{
modelica_metatype _txt = NULL;
modelica_metatype _rest = NULL;
modelica_metatype _a_auxFunction = NULL;
modelica_metatype _a_varDecls = NULL;
modelica_metatype _a_varInits = NULL;
modelica_metatype _i_dim = NULL;
volatile mmc_switch_type tmp4;
int tmp5;
tmp4 = 0;
for (; tmp4 < 2; tmp4++) {
switch (MMC_SWITCH_CAST(tmp4)) {
case 0: {
if (!listEmpty(tmp4_2)) goto tmp3_end;
_txt = tmp4_1;
_a_auxFunction = tmp4_3;
_a_varDecls = tmp4_4;
_a_varInits = tmp4_5;
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_auxFunction;
tmpMeta[0+2] = _a_varDecls;
tmpMeta[0+3] = _a_varInits;
goto tmp3_done;
}
case 1: {
if (listEmpty(tmp4_2)) goto tmp3_end;
tmpMeta[4] = MMC_CAR(tmp4_2);
tmpMeta[5] = MMC_CDR(tmp4_2);
_i_dim = tmpMeta[4];
_rest = tmpMeta[5];
_txt = tmp4_1;
_a_auxFunction = tmp4_3;
_a_varDecls = tmp4_4;
_a_varInits = tmp4_5;
_txt = omc_CodegenCFunctions_dimension(threadData, _txt, _i_dim, _OMC_LIT1356, _a_varInits, _a_varDecls, _a_auxFunction ,&_a_varInits ,&_a_varDecls ,&_a_auxFunction);
_txt = omc_Tpl_nextIter(threadData, _txt);
_in_txt = _txt;
_in_items = _rest;
_in_a_auxFunction = _a_auxFunction;
_in_a_varDecls = _a_varDecls;
_in_a_varInits = _a_varInits;
goto _tailrecursive;
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta[0+0];
_out_a_auxFunction = tmpMeta[0+1];
_out_a_varDecls = tmpMeta[0+2];
_out_a_varInits = tmpMeta[0+3];
_return: OMC_LABEL_UNUSED
if (out_out_a_auxFunction) { *out_out_a_auxFunction = _out_a_auxFunction; }
if (out_out_a_varDecls) { *out_out_a_varDecls = _out_a_varDecls; }
if (out_out_a_varInits) { *out_out_a_varInits = _out_a_varInits; }
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__369(threadData_t *threadData, modelica_metatype _in_txt, modelica_string _in_a_outStruct, modelica_integer _in_a_i, modelica_metatype _in_a_auxFunction, modelica_metatype _in_a_var_name, modelica_metatype *out_out_a_auxFunction)
{
modelica_metatype _out_txt = NULL;
modelica_metatype _out_a_auxFunction = NULL;
modelica_metatype tmpMeta[2] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_string tmp4_2;modelica_integer tmp4_3;modelica_metatype tmp4_4;modelica_metatype tmp4_5;
tmp4_1 = _in_txt;
tmp4_2 = _in_a_outStruct;
tmp4_3 = _in_a_i;
tmp4_4 = _in_a_auxFunction;
tmp4_5 = _in_a_var_name;
{
modelica_metatype _txt = NULL;
modelica_integer _a_i;
modelica_metatype _a_auxFunction = NULL;
modelica_metatype _a_var_name = NULL;
modelica_string _i_outStruct = NULL;
volatile mmc_switch_type tmp4;
int tmp5;
tmp4 = 0;
for (; tmp4 < 2; tmp4++) {
switch (MMC_SWITCH_CAST(tmp4)) {
case 0: {
if (0 != MMC_STRLEN(tmp4_2) || strcmp(MMC_STRINGDATA(_OMC_LIT91), MMC_STRINGDATA(tmp4_2)) != 0) goto tmp3_end;
_txt = tmp4_1;
_a_auxFunction = tmp4_4;
_a_var_name = tmp4_5;
tmpMeta[0+0] = omc_CodegenCFunctions_contextCrefNoPrevExp(threadData, _txt, _a_var_name, _OMC_LIT1356, _a_auxFunction, &tmpMeta[0+1]);
goto tmp3_done;
}
case 1: {
_txt = tmp4_1;
_i_outStruct = tmp4_2;
_a_i = tmp4_3;
_a_auxFunction = tmp4_4;
_txt = omc_Tpl_writeStr(threadData, _txt, _i_outStruct);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT2172);
_txt = omc_Tpl_writeStr(threadData, _txt, intString(_a_i));
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_auxFunction;
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta[0+0];
_out_a_auxFunction = tmpMeta[0+1];
_return: OMC_LABEL_UNUSED
if (out_out_a_auxFunction) { *out_out_a_auxFunction = _out_a_auxFunction; }
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__369(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_outStruct, modelica_metatype _in_a_i, modelica_metatype _in_a_auxFunction, modelica_metatype _in_a_var_name, modelica_metatype *out_out_a_auxFunction)
{
modelica_integer tmp1;
modelica_metatype _out_txt = NULL;
tmp1 = mmc_unbox_integer(_in_a_i);
_out_txt = omc_CodegenCFunctions_fun__369(threadData, _in_txt, _in_a_outStruct, tmp1, _in_a_auxFunction, _in_a_var_name, out_out_a_auxFunction);
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__368(threadData_t *threadData, modelica_metatype _in_txt, modelica_string _in_a_outStruct, modelica_metatype _in_a_auxFunction, modelica_metatype _in_a_var_name, modelica_metatype _in_a_var, modelica_metatype *out_out_a_auxFunction)
{
modelica_metatype _out_txt = NULL;
modelica_metatype _out_a_auxFunction = NULL;
modelica_metatype tmpMeta[2] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_string tmp4_2;modelica_metatype tmp4_3;modelica_metatype tmp4_4;modelica_metatype tmp4_5;
tmp4_1 = _in_txt;
tmp4_2 = _in_a_outStruct;
tmp4_3 = _in_a_auxFunction;
tmp4_4 = _in_a_var_name;
tmp4_5 = _in_a_var;
{
modelica_metatype _txt = NULL;
modelica_metatype _a_auxFunction = NULL;
modelica_metatype _a_var_name = NULL;
modelica_metatype _a_var = NULL;
volatile mmc_switch_type tmp4;
int tmp5;
tmp4 = 0;
for (; tmp4 < 2; tmp4++) {
switch (MMC_SWITCH_CAST(tmp4)) {
case 0: {
if (0 != MMC_STRLEN(tmp4_2) || strcmp(MMC_STRINGDATA(_OMC_LIT91), MMC_STRINGDATA(tmp4_2)) != 0) goto tmp3_end;
_txt = tmp4_1;
_a_auxFunction = tmp4_3;
_a_var_name = tmp4_4;
_a_var = tmp4_5;
_txt = omc_CodegenCFunctions_varType(threadData, _txt, _a_var);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT29);
_txt = omc_CodegenCFunctions_contextCrefNoPrevExp(threadData, _txt, _a_var_name, _OMC_LIT1356, _a_auxFunction ,&_a_auxFunction);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT105);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT89);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_auxFunction;
goto tmp3_done;
}
case 1: {
_txt = tmp4_1;
_a_auxFunction = tmp4_3;
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_auxFunction;
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta[0+0];
_out_a_auxFunction = tmpMeta[0+1];
_return: OMC_LABEL_UNUSED
if (out_out_a_auxFunction) { *out_out_a_auxFunction = _out_a_auxFunction; }
return _out_txt;
}
DLLExport
modelica_metatype omc_CodegenCFunctions_parVarInit(threadData_t *threadData, modelica_metatype _txt, modelica_metatype _a_var, modelica_string _a_outStruct, modelica_metatype _a_varDecls, modelica_metatype _a_varInits, modelica_metatype _a_varFrees, modelica_metatype _a_auxFunction, modelica_metatype *out_out_a_varDecls, modelica_metatype *out_out_a_varInits, modelica_metatype *out_out_a_varFrees, modelica_metatype *out_out_a_auxFunction)
{
modelica_metatype _out_txt = NULL;
modelica_metatype _out_a_varDecls = NULL;
modelica_metatype _out_a_varInits = NULL;
modelica_metatype _out_a_varFrees = NULL;
modelica_metatype _out_a_auxFunction = NULL;
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
_out_txt = omc_CodegenCFunctions_fun__366(threadData, _txt, _a_var, _a_outStruct, _a_varDecls, _a_varInits, _a_auxFunction ,&_out_a_varDecls ,&_out_a_varInits ,&_out_a_auxFunction);
_out_a_varFrees = _a_varFrees;
_return: OMC_LABEL_UNUSED
if (out_out_a_varDecls) { *out_out_a_varDecls = _out_a_varDecls; }
if (out_out_a_varInits) { *out_out_a_varInits = _out_a_varInits; }
if (out_out_a_varFrees) { *out_out_a_varFrees = _out_a_varFrees; }
if (out_out_a_auxFunction) { *out_out_a_auxFunction = _out_a_auxFunction; }
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__366(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_var, modelica_string _in_a_outStruct, modelica_metatype _in_a_varDecls, modelica_metatype _in_a_varInits, modelica_metatype _in_a_auxFunction, modelica_metatype *out_out_a_varDecls, modelica_metatype *out_out_a_varInits, modelica_metatype *out_out_a_auxFunction)
{
modelica_metatype _out_txt = NULL;
modelica_metatype _out_a_varDecls = NULL;
modelica_metatype _out_a_varInits = NULL;
modelica_metatype _out_a_auxFunction = NULL;
modelica_metatype tmpMeta[9] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_metatype tmp4_2;modelica_string tmp4_3;modelica_metatype tmp4_4;modelica_metatype tmp4_5;modelica_metatype tmp4_6;
tmp4_1 = _in_txt;
tmp4_2 = _in_a_var;
tmp4_3 = _in_a_outStruct;
tmp4_4 = _in_a_varDecls;
tmp4_5 = _in_a_varInits;
tmp4_6 = _in_a_auxFunction;
{
modelica_metatype _txt = NULL;
modelica_string _a_outStruct = NULL;
modelica_metatype _a_varDecls = NULL;
modelica_metatype _a_varInits = NULL;
modelica_metatype _a_auxFunction = NULL;
modelica_metatype _i_var_ty = NULL;
modelica_metatype _i_var = NULL;
modelica_metatype _i_var_value = NULL;
modelica_metatype _i_instDims = NULL;
modelica_metatype _i_var_name = NULL;
modelica_metatype _l_instDimsInit = NULL;
modelica_metatype _l_varName = NULL;
volatile mmc_switch_type tmp4;
int tmp5;
tmp4 = 0;
for (; tmp4 < 3; tmp4++) {
switch (MMC_SWITCH_CAST(tmp4)) {
case 0: {
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,0,7) == 0) goto tmp3_end;
tmpMeta[4] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
tmpMeta[5] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 3));
tmpMeta[6] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 4));
tmpMeta[7] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 5));
tmpMeta[8] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 6));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[8],0,0) == 0) goto tmp3_end;
_i_var = tmp4_2;
_i_var_name = tmpMeta[4];
_i_var_ty = tmpMeta[5];
_i_var_value = tmpMeta[6];
_i_instDims = tmpMeta[7];
_txt = tmp4_1;
_a_outStruct = tmp4_3;
_a_varDecls = tmp4_4;
_a_varInits = tmp4_5;
_a_auxFunction = tmp4_6;
_l_varName = omc_CodegenCFunctions_contextCrefNoPrevExp(threadData, _OMC_LIT20, _i_var_name, _OMC_LIT1356, _a_auxFunction ,&_a_auxFunction);
_l_instDimsInit = omc_Tpl_pushIter(threadData, _OMC_LIT20, _OMC_LIT294);
_l_instDimsInit = omc_CodegenCFunctions_lm__360(threadData, _l_instDimsInit, _i_instDims, _a_auxFunction, _a_varDecls, _a_varInits ,&_a_auxFunction ,&_a_varDecls ,&_a_varInits);
_l_instDimsInit = omc_Tpl_popIter(threadData, _l_instDimsInit);
_txt = omc_CodegenCFunctions_fun__362(threadData, _txt, _i_instDims, _a_outStruct, _l_instDimsInit, _i_var_ty, _a_varInits, _a_auxFunction, _i_var_name, _l_varName, _i_var, _a_varDecls, _i_var_value ,&_a_varInits ,&_a_auxFunction ,&_a_varDecls);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_varDecls;
tmpMeta[0+2] = _a_varInits;
tmpMeta[0+3] = _a_auxFunction;
goto tmp3_done;
}
case 1: {
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,0,7) == 0) goto tmp3_end;
tmpMeta[4] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
tmpMeta[5] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 3));
tmpMeta[6] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 4));
tmpMeta[7] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 5));
tmpMeta[8] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 6));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[8],1,0) == 0) goto tmp3_end;
_i_var = tmp4_2;
_i_var_name = tmpMeta[4];
_i_var_ty = tmpMeta[5];
_i_var_value = tmpMeta[6];
_i_instDims = tmpMeta[7];
_txt = tmp4_1;
_a_outStruct = tmp4_3;
_a_varDecls = tmp4_4;
_a_varInits = tmp4_5;
_a_auxFunction = tmp4_6;
_l_varName = omc_CodegenCFunctions_contextCrefNoPrevExp(threadData, _OMC_LIT20, _i_var_name, _OMC_LIT1356, _a_auxFunction ,&_a_auxFunction);
_l_instDimsInit = omc_Tpl_pushIter(threadData, _OMC_LIT20, _OMC_LIT294);
_l_instDimsInit = omc_CodegenCFunctions_lm__363(threadData, _l_instDimsInit, _i_instDims, _a_auxFunction, _a_varDecls, _a_varInits ,&_a_auxFunction ,&_a_varDecls ,&_a_varInits);
_l_instDimsInit = omc_Tpl_popIter(threadData, _l_instDimsInit);
_txt = omc_CodegenCFunctions_fun__365(threadData, _txt, _i_instDims, _a_outStruct, _l_instDimsInit, _i_var_ty, _a_varInits, _a_auxFunction, _i_var_name, _l_varName, _i_var, _a_varDecls, _i_var_value ,&_a_varInits ,&_a_auxFunction ,&_a_varDecls);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_varDecls;
tmpMeta[0+2] = _a_varInits;
tmpMeta[0+3] = _a_auxFunction;
goto tmp3_done;
}
case 2: {
_txt = tmp4_1;
_a_varDecls = tmp4_4;
_a_varInits = tmp4_5;
_a_auxFunction = tmp4_6;
_a_varDecls = omc_Tpl_writeTok(threadData, _a_varDecls, _OMC_LIT2174);
_a_varDecls = omc_Tpl_writeTok(threadData, _a_varDecls, _OMC_LIT89);
_txt = omc_CodegenUtil_error(threadData, _txt, omc_Tpl_sourceInfo(threadData, _OMC_LIT27, ((modelica_integer) 2177), ((modelica_integer) 9)), _OMC_LIT2175);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_varDecls;
tmpMeta[0+2] = _a_varInits;
tmpMeta[0+3] = _a_auxFunction;
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta[0+0];
_out_a_varDecls = tmpMeta[0+1];
_out_a_varInits = tmpMeta[0+2];
_out_a_auxFunction = tmpMeta[0+3];
_return: OMC_LABEL_UNUSED
if (out_out_a_varDecls) { *out_out_a_varDecls = _out_a_varDecls; }
if (out_out_a_varInits) { *out_out_a_varInits = _out_a_varInits; }
if (out_out_a_auxFunction) { *out_out_a_auxFunction = _out_a_auxFunction; }
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__365(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_instDims, modelica_string _in_a_outStruct, modelica_metatype _in_a_instDimsInit, modelica_metatype _in_a_var_ty, modelica_metatype _in_a_varInits, modelica_metatype _in_a_auxFunction, modelica_metatype _in_a_var_name, modelica_metatype _in_a_varName, modelica_metatype _in_a_var, modelica_metatype _in_a_varDecls, modelica_metatype _in_a_var_value, modelica_metatype *out_out_a_varInits, modelica_metatype *out_out_a_auxFunction, modelica_metatype *out_out_a_varDecls)
{
modelica_metatype _out_txt = NULL;
modelica_metatype _out_a_varInits = NULL;
modelica_metatype _out_a_auxFunction = NULL;
modelica_metatype _out_a_varDecls = NULL;
modelica_metatype tmpMeta[4] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_metatype tmp4_2;modelica_string tmp4_3;modelica_metatype tmp4_4;modelica_metatype tmp4_5;modelica_metatype tmp4_6;modelica_metatype tmp4_7;modelica_metatype tmp4_8;modelica_metatype tmp4_9;modelica_metatype tmp4_10;modelica_metatype tmp4_11;modelica_metatype tmp4_12;
tmp4_1 = _in_txt;
tmp4_2 = _in_a_instDims;
tmp4_3 = _in_a_outStruct;
tmp4_4 = _in_a_instDimsInit;
tmp4_5 = _in_a_var_ty;
tmp4_6 = _in_a_varInits;
tmp4_7 = _in_a_auxFunction;
tmp4_8 = _in_a_var_name;
tmp4_9 = _in_a_varName;
tmp4_10 = _in_a_var;
tmp4_11 = _in_a_varDecls;
tmp4_12 = _in_a_var_value;
{
modelica_metatype _txt = NULL;
modelica_string _a_outStruct = NULL;
modelica_metatype _a_instDimsInit = NULL;
modelica_metatype _a_var_ty = NULL;
modelica_metatype _a_varInits = NULL;
modelica_metatype _a_auxFunction = NULL;
modelica_metatype _a_var_name = NULL;
modelica_metatype _a_varName = NULL;
modelica_metatype _a_var = NULL;
modelica_metatype _a_varDecls = NULL;
modelica_metatype _a_var_value = NULL;
modelica_metatype _i_instDims = NULL;
modelica_metatype _l_defaultValue = NULL;
modelica_integer _ret_1;
modelica_metatype _l_defaultAlloc = NULL;
volatile mmc_switch_type tmp4;
int tmp5;
tmp4 = 0;
for (; tmp4 < 2; tmp4++) {
switch (MMC_SWITCH_CAST(tmp4)) {
case 0: {
if (!listEmpty(tmp4_2)) goto tmp3_end;
_txt = tmp4_1;
_a_varInits = tmp4_6;
_a_auxFunction = tmp4_7;
_a_var_name = tmp4_8;
_a_varName = tmp4_9;
_a_var = tmp4_10;
_a_varDecls = tmp4_11;
_a_var_value = tmp4_12;
tmpMeta[0+0] = omc_CodegenCFunctions_fun__364(threadData, _txt, _a_var_value, _a_varInits, _a_auxFunction, _a_var_name, _a_varName, _a_var, _a_varDecls, &tmpMeta[0+1], &tmpMeta[0+2], &tmpMeta[0+3]);
goto tmp3_done;
}
case 1: {
_txt = tmp4_1;
_i_instDims = tmp4_2;
_a_outStruct = tmp4_3;
_a_instDimsInit = tmp4_4;
_a_var_ty = tmp4_5;
_a_varInits = tmp4_6;
_a_auxFunction = tmp4_7;
_a_varName = tmp4_9;
_a_var = tmp4_10;
_a_varDecls = tmp4_11;
_a_varDecls = omc_Tpl_writeTok(threadData, _a_varDecls, _OMC_LIT1631);
_a_varDecls = omc_CodegenCFunctions_expTypeShort(threadData, _a_varDecls, _a_var_ty);
_a_varDecls = omc_Tpl_writeTok(threadData, _a_varDecls, _OMC_LIT2177);
_a_varDecls = omc_Tpl_writeText(threadData, _a_varDecls, _a_varName);
_a_varDecls = omc_Tpl_writeTok(threadData, _a_varDecls, _OMC_LIT105);
_a_varDecls = omc_Tpl_writeTok(threadData, _a_varDecls, _OMC_LIT89);
_l_defaultAlloc = omc_Tpl_writeTok(threadData, _OMC_LIT20, _OMC_LIT2179);
_l_defaultAlloc = omc_CodegenCFunctions_expTypeShort(threadData, _l_defaultAlloc, _a_var_ty);
_l_defaultAlloc = omc_Tpl_writeTok(threadData, _l_defaultAlloc, _OMC_LIT556);
_l_defaultAlloc = omc_Tpl_writeText(threadData, _l_defaultAlloc, _a_varName);
_l_defaultAlloc = omc_Tpl_writeTok(threadData, _l_defaultAlloc, _OMC_LIT292);
_ret_1 = listLength(_i_instDims);
_l_defaultAlloc = omc_Tpl_writeStr(threadData, _l_defaultAlloc, intString(_ret_1));
_l_defaultAlloc = omc_Tpl_writeTok(threadData, _l_defaultAlloc, _OMC_LIT292);
_l_defaultAlloc = omc_Tpl_writeText(threadData, _l_defaultAlloc, _a_instDimsInit);
_l_defaultAlloc = omc_Tpl_writeTok(threadData, _l_defaultAlloc, _OMC_LIT290);
_l_defaultAlloc = omc_Tpl_writeTok(threadData, _l_defaultAlloc, _OMC_LIT89);
_l_defaultValue = omc_CodegenCFunctions_varAllocDefaultValue(threadData, _OMC_LIT20, _a_var, _a_outStruct, omc_Tpl_textString(threadData, _a_varName), _l_defaultAlloc, _a_varDecls, _a_varInits, _a_auxFunction ,&_l_defaultAlloc ,&_a_varDecls ,&_a_varInits ,&_a_auxFunction);
_a_varInits = omc_Tpl_writeText(threadData, _a_varInits, _l_defaultValue);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_varInits;
tmpMeta[0+2] = _a_auxFunction;
tmpMeta[0+3] = _a_varDecls;
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta[0+0];
_out_a_varInits = tmpMeta[0+1];
_out_a_auxFunction = tmpMeta[0+2];
_out_a_varDecls = tmpMeta[0+3];
_return: OMC_LABEL_UNUSED
if (out_out_a_varInits) { *out_out_a_varInits = _out_a_varInits; }
if (out_out_a_auxFunction) { *out_out_a_auxFunction = _out_a_auxFunction; }
if (out_out_a_varDecls) { *out_out_a_varDecls = _out_a_varDecls; }
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__364(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_var_value, modelica_metatype _in_a_varInits, modelica_metatype _in_a_auxFunction, modelica_metatype _in_a_var_name, modelica_metatype _in_a_varName, modelica_metatype _in_a_var, modelica_metatype _in_a_varDecls, modelica_metatype *out_out_a_varInits, modelica_metatype *out_out_a_auxFunction, modelica_metatype *out_out_a_varDecls)
{
modelica_metatype _out_txt = NULL;
modelica_metatype _out_a_varInits = NULL;
modelica_metatype _out_a_auxFunction = NULL;
modelica_metatype _out_a_varDecls = NULL;
modelica_metatype tmpMeta[5] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_metatype tmp4_2;modelica_metatype tmp4_3;modelica_metatype tmp4_4;modelica_metatype tmp4_5;modelica_metatype tmp4_6;modelica_metatype tmp4_7;modelica_metatype tmp4_8;
tmp4_1 = _in_txt;
tmp4_2 = _in_a_var_value;
tmp4_3 = _in_a_varInits;
tmp4_4 = _in_a_auxFunction;
tmp4_5 = _in_a_var_name;
tmp4_6 = _in_a_varName;
tmp4_7 = _in_a_var;
tmp4_8 = _in_a_varDecls;
{
modelica_metatype _txt = NULL;
modelica_metatype _a_varInits = NULL;
modelica_metatype _a_auxFunction = NULL;
modelica_metatype _a_var_name = NULL;
modelica_metatype _a_varName = NULL;
modelica_metatype _a_var = NULL;
modelica_metatype _a_varDecls = NULL;
modelica_metatype _i_exp = NULL;
modelica_metatype _l_defaultValue = NULL;
volatile mmc_switch_type tmp4;
int tmp5;
tmp4 = 0;
for (; tmp4 < 2; tmp4++) {
switch (MMC_SWITCH_CAST(tmp4)) {
case 0: {
if (optionNone(tmp4_2)) goto tmp3_end;
tmpMeta[4] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 1));
_i_exp = tmpMeta[4];
_txt = tmp4_1;
_a_varInits = tmp4_3;
_a_auxFunction = tmp4_4;
_a_var_name = tmp4_5;
_a_varName = tmp4_6;
_a_var = tmp4_7;
_a_varDecls = tmp4_8;
_a_varDecls = omc_CodegenCFunctions_varType(threadData, _a_varDecls, _a_var);
_a_varDecls = omc_Tpl_writeTok(threadData, _a_varDecls, _OMC_LIT29);
_a_varDecls = omc_Tpl_writeText(threadData, _a_varDecls, _a_varName);
_a_varDecls = omc_Tpl_writeTok(threadData, _a_varDecls, _OMC_LIT105);
_a_varDecls = omc_Tpl_writeTok(threadData, _a_varDecls, _OMC_LIT89);
_l_defaultValue = omc_CodegenCFunctions_contextCrefNoPrevExp(threadData, _OMC_LIT20, _a_var_name, _OMC_LIT1356, _a_auxFunction ,&_a_auxFunction);
_l_defaultValue = omc_Tpl_writeTok(threadData, _l_defaultValue, _OMC_LIT121);
_l_defaultValue = omc_CodegenCFunctions_daeExp(threadData, _l_defaultValue, _i_exp, _OMC_LIT1356, _a_varInits, _a_varDecls, _a_auxFunction ,&_a_varInits ,&_a_varDecls ,&_a_auxFunction);
_l_defaultValue = omc_Tpl_writeTok(threadData, _l_defaultValue, _OMC_LIT105);
_l_defaultValue = omc_Tpl_writeTok(threadData, _l_defaultValue, _OMC_LIT89);
_a_varInits = omc_Tpl_writeText(threadData, _a_varInits, _l_defaultValue);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT29);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_varInits;
tmpMeta[0+2] = _a_auxFunction;
tmpMeta[0+3] = _a_varDecls;
goto tmp3_done;
}
case 1: {
_txt = tmp4_1;
_a_varInits = tmp4_3;
_a_auxFunction = tmp4_4;
_a_varName = tmp4_6;
_a_var = tmp4_7;
_a_varDecls = tmp4_8;
_a_varDecls = omc_CodegenCFunctions_varType(threadData, _a_varDecls, _a_var);
_a_varDecls = omc_Tpl_writeTok(threadData, _a_varDecls, _OMC_LIT29);
_a_varDecls = omc_Tpl_writeText(threadData, _a_varDecls, _a_varName);
_a_varDecls = omc_Tpl_writeTok(threadData, _a_varDecls, _OMC_LIT105);
_a_varDecls = omc_Tpl_writeTok(threadData, _a_varDecls, _OMC_LIT89);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_varInits;
tmpMeta[0+2] = _a_auxFunction;
tmpMeta[0+3] = _a_varDecls;
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta[0+0];
_out_a_varInits = tmpMeta[0+1];
_out_a_auxFunction = tmpMeta[0+2];
_out_a_varDecls = tmpMeta[0+3];
_return: OMC_LABEL_UNUSED
if (out_out_a_varInits) { *out_out_a_varInits = _out_a_varInits; }
if (out_out_a_auxFunction) { *out_out_a_auxFunction = _out_a_auxFunction; }
if (out_out_a_varDecls) { *out_out_a_varDecls = _out_a_varDecls; }
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_lm__363(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_items, modelica_metatype _in_a_auxFunction, modelica_metatype _in_a_varDecls, modelica_metatype _in_a_varInits, modelica_metatype *out_out_a_auxFunction, modelica_metatype *out_out_a_varDecls, modelica_metatype *out_out_a_varInits)
{
modelica_metatype _out_txt = NULL;
modelica_metatype _out_a_auxFunction = NULL;
modelica_metatype _out_a_varDecls = NULL;
modelica_metatype _out_a_varInits = NULL;
modelica_metatype tmpMeta[6] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_metatype tmp4_2;modelica_metatype tmp4_3;modelica_metatype tmp4_4;modelica_metatype tmp4_5;
tmp4_1 = _in_txt;
tmp4_2 = _in_items;
tmp4_3 = _in_a_auxFunction;
tmp4_4 = _in_a_varDecls;
tmp4_5 = _in_a_varInits;
{
modelica_metatype _txt = NULL;
modelica_metatype _rest = NULL;
modelica_metatype _a_auxFunction = NULL;
modelica_metatype _a_varDecls = NULL;
modelica_metatype _a_varInits = NULL;
modelica_metatype _i_dim = NULL;
volatile mmc_switch_type tmp4;
int tmp5;
tmp4 = 0;
for (; tmp4 < 2; tmp4++) {
switch (MMC_SWITCH_CAST(tmp4)) {
case 0: {
if (!listEmpty(tmp4_2)) goto tmp3_end;
_txt = tmp4_1;
_a_auxFunction = tmp4_3;
_a_varDecls = tmp4_4;
_a_varInits = tmp4_5;
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_auxFunction;
tmpMeta[0+2] = _a_varDecls;
tmpMeta[0+3] = _a_varInits;
goto tmp3_done;
}
case 1: {
if (listEmpty(tmp4_2)) goto tmp3_end;
tmpMeta[4] = MMC_CAR(tmp4_2);
tmpMeta[5] = MMC_CDR(tmp4_2);
_i_dim = tmpMeta[4];
_rest = tmpMeta[5];
_txt = tmp4_1;
_a_auxFunction = tmp4_3;
_a_varDecls = tmp4_4;
_a_varInits = tmp4_5;
_txt = omc_CodegenCFunctions_dimension(threadData, _txt, _i_dim, _OMC_LIT1356, _a_varInits, _a_varDecls, _a_auxFunction ,&_a_varInits ,&_a_varDecls ,&_a_auxFunction);
_txt = omc_Tpl_nextIter(threadData, _txt);
_in_txt = _txt;
_in_items = _rest;
_in_a_auxFunction = _a_auxFunction;
_in_a_varDecls = _a_varDecls;
_in_a_varInits = _a_varInits;
goto _tailrecursive;
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta[0+0];
_out_a_auxFunction = tmpMeta[0+1];
_out_a_varDecls = tmpMeta[0+2];
_out_a_varInits = tmpMeta[0+3];
_return: OMC_LABEL_UNUSED
if (out_out_a_auxFunction) { *out_out_a_auxFunction = _out_a_auxFunction; }
if (out_out_a_varDecls) { *out_out_a_varDecls = _out_a_varDecls; }
if (out_out_a_varInits) { *out_out_a_varInits = _out_a_varInits; }
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__362(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_instDims, modelica_string _in_a_outStruct, modelica_metatype _in_a_instDimsInit, modelica_metatype _in_a_var_ty, modelica_metatype _in_a_varInits, modelica_metatype _in_a_auxFunction, modelica_metatype _in_a_var_name, modelica_metatype _in_a_varName, modelica_metatype _in_a_var, modelica_metatype _in_a_varDecls, modelica_metatype _in_a_var_value, modelica_metatype *out_out_a_varInits, modelica_metatype *out_out_a_auxFunction, modelica_metatype *out_out_a_varDecls)
{
modelica_metatype _out_txt = NULL;
modelica_metatype _out_a_varInits = NULL;
modelica_metatype _out_a_auxFunction = NULL;
modelica_metatype _out_a_varDecls = NULL;
modelica_metatype tmpMeta[4] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_metatype tmp4_2;modelica_string tmp4_3;modelica_metatype tmp4_4;modelica_metatype tmp4_5;modelica_metatype tmp4_6;modelica_metatype tmp4_7;modelica_metatype tmp4_8;modelica_metatype tmp4_9;modelica_metatype tmp4_10;modelica_metatype tmp4_11;modelica_metatype tmp4_12;
tmp4_1 = _in_txt;
tmp4_2 = _in_a_instDims;
tmp4_3 = _in_a_outStruct;
tmp4_4 = _in_a_instDimsInit;
tmp4_5 = _in_a_var_ty;
tmp4_6 = _in_a_varInits;
tmp4_7 = _in_a_auxFunction;
tmp4_8 = _in_a_var_name;
tmp4_9 = _in_a_varName;
tmp4_10 = _in_a_var;
tmp4_11 = _in_a_varDecls;
tmp4_12 = _in_a_var_value;
{
modelica_metatype _txt = NULL;
modelica_string _a_outStruct = NULL;
modelica_metatype _a_instDimsInit = NULL;
modelica_metatype _a_var_ty = NULL;
modelica_metatype _a_varInits = NULL;
modelica_metatype _a_auxFunction = NULL;
modelica_metatype _a_var_name = NULL;
modelica_metatype _a_varName = NULL;
modelica_metatype _a_var = NULL;
modelica_metatype _a_varDecls = NULL;
modelica_metatype _a_var_value = NULL;
modelica_metatype _i_instDims = NULL;
modelica_metatype _l_defaultValue = NULL;
modelica_integer _ret_1;
modelica_metatype _l_defaultAlloc = NULL;
volatile mmc_switch_type tmp4;
int tmp5;
tmp4 = 0;
for (; tmp4 < 2; tmp4++) {
switch (MMC_SWITCH_CAST(tmp4)) {
case 0: {
if (!listEmpty(tmp4_2)) goto tmp3_end;
_txt = tmp4_1;
_a_varInits = tmp4_6;
_a_auxFunction = tmp4_7;
_a_var_name = tmp4_8;
_a_varName = tmp4_9;
_a_var = tmp4_10;
_a_varDecls = tmp4_11;
_a_var_value = tmp4_12;
tmpMeta[0+0] = omc_CodegenCFunctions_fun__361(threadData, _txt, _a_var_value, _a_varInits, _a_auxFunction, _a_var_name, _a_varName, _a_var, _a_varDecls, &tmpMeta[0+1], &tmpMeta[0+2], &tmpMeta[0+3]);
goto tmp3_done;
}
case 1: {
_txt = tmp4_1;
_i_instDims = tmp4_2;
_a_outStruct = tmp4_3;
_a_instDimsInit = tmp4_4;
_a_var_ty = tmp4_5;
_a_varInits = tmp4_6;
_a_auxFunction = tmp4_7;
_a_varName = tmp4_9;
_a_var = tmp4_10;
_a_varDecls = tmp4_11;
_a_varDecls = omc_Tpl_writeTok(threadData, _a_varDecls, _OMC_LIT1629);
_a_varDecls = omc_CodegenCFunctions_expTypeShort(threadData, _a_varDecls, _a_var_ty);
_a_varDecls = omc_Tpl_writeTok(threadData, _a_varDecls, _OMC_LIT2177);
_a_varDecls = omc_Tpl_writeText(threadData, _a_varDecls, _a_varName);
_a_varDecls = omc_Tpl_writeTok(threadData, _a_varDecls, _OMC_LIT105);
_a_varDecls = omc_Tpl_writeTok(threadData, _a_varDecls, _OMC_LIT89);
_l_defaultAlloc = omc_Tpl_writeTok(threadData, _OMC_LIT20, _OMC_LIT296);
_l_defaultAlloc = omc_CodegenCFunctions_expTypeShort(threadData, _l_defaultAlloc, _a_var_ty);
_l_defaultAlloc = omc_Tpl_writeTok(threadData, _l_defaultAlloc, _OMC_LIT556);
_l_defaultAlloc = omc_Tpl_writeText(threadData, _l_defaultAlloc, _a_varName);
_l_defaultAlloc = omc_Tpl_writeTok(threadData, _l_defaultAlloc, _OMC_LIT292);
_ret_1 = listLength(_i_instDims);
_l_defaultAlloc = omc_Tpl_writeStr(threadData, _l_defaultAlloc, intString(_ret_1));
_l_defaultAlloc = omc_Tpl_writeTok(threadData, _l_defaultAlloc, _OMC_LIT292);
_l_defaultAlloc = omc_Tpl_writeText(threadData, _l_defaultAlloc, _a_instDimsInit);
_l_defaultAlloc = omc_Tpl_writeTok(threadData, _l_defaultAlloc, _OMC_LIT290);
_l_defaultAlloc = omc_Tpl_writeTok(threadData, _l_defaultAlloc, _OMC_LIT89);
_l_defaultValue = omc_CodegenCFunctions_varAllocDefaultValue(threadData, _OMC_LIT20, _a_var, _a_outStruct, omc_Tpl_textString(threadData, _a_varName), _l_defaultAlloc, _a_varDecls, _a_varInits, _a_auxFunction ,&_l_defaultAlloc ,&_a_varDecls ,&_a_varInits ,&_a_auxFunction);
_a_varInits = omc_Tpl_writeText(threadData, _a_varInits, _l_defaultValue);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_varInits;
tmpMeta[0+2] = _a_auxFunction;
tmpMeta[0+3] = _a_varDecls;
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta[0+0];
_out_a_varInits = tmpMeta[0+1];
_out_a_auxFunction = tmpMeta[0+2];
_out_a_varDecls = tmpMeta[0+3];
_return: OMC_LABEL_UNUSED
if (out_out_a_varInits) { *out_out_a_varInits = _out_a_varInits; }
if (out_out_a_auxFunction) { *out_out_a_auxFunction = _out_a_auxFunction; }
if (out_out_a_varDecls) { *out_out_a_varDecls = _out_a_varDecls; }
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__361(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_var_value, modelica_metatype _in_a_varInits, modelica_metatype _in_a_auxFunction, modelica_metatype _in_a_var_name, modelica_metatype _in_a_varName, modelica_metatype _in_a_var, modelica_metatype _in_a_varDecls, modelica_metatype *out_out_a_varInits, modelica_metatype *out_out_a_auxFunction, modelica_metatype *out_out_a_varDecls)
{
modelica_metatype _out_txt = NULL;
modelica_metatype _out_a_varInits = NULL;
modelica_metatype _out_a_auxFunction = NULL;
modelica_metatype _out_a_varDecls = NULL;
modelica_metatype tmpMeta[5] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_metatype tmp4_2;modelica_metatype tmp4_3;modelica_metatype tmp4_4;modelica_metatype tmp4_5;modelica_metatype tmp4_6;modelica_metatype tmp4_7;modelica_metatype tmp4_8;
tmp4_1 = _in_txt;
tmp4_2 = _in_a_var_value;
tmp4_3 = _in_a_varInits;
tmp4_4 = _in_a_auxFunction;
tmp4_5 = _in_a_var_name;
tmp4_6 = _in_a_varName;
tmp4_7 = _in_a_var;
tmp4_8 = _in_a_varDecls;
{
modelica_metatype _txt = NULL;
modelica_metatype _a_varInits = NULL;
modelica_metatype _a_auxFunction = NULL;
modelica_metatype _a_var_name = NULL;
modelica_metatype _a_varName = NULL;
modelica_metatype _a_var = NULL;
modelica_metatype _a_varDecls = NULL;
modelica_metatype _i_exp = NULL;
modelica_metatype _l_defaultValue = NULL;
volatile mmc_switch_type tmp4;
int tmp5;
tmp4 = 0;
for (; tmp4 < 2; tmp4++) {
switch (MMC_SWITCH_CAST(tmp4)) {
case 0: {
if (optionNone(tmp4_2)) goto tmp3_end;
tmpMeta[4] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 1));
_i_exp = tmpMeta[4];
_txt = tmp4_1;
_a_varInits = tmp4_3;
_a_auxFunction = tmp4_4;
_a_var_name = tmp4_5;
_a_varName = tmp4_6;
_a_var = tmp4_7;
_a_varDecls = tmp4_8;
_a_varDecls = omc_CodegenCFunctions_varType(threadData, _a_varDecls, _a_var);
_a_varDecls = omc_Tpl_writeTok(threadData, _a_varDecls, _OMC_LIT29);
_a_varDecls = omc_Tpl_writeText(threadData, _a_varDecls, _a_varName);
_a_varDecls = omc_Tpl_writeTok(threadData, _a_varDecls, _OMC_LIT105);
_a_varDecls = omc_Tpl_writeTok(threadData, _a_varDecls, _OMC_LIT89);
_l_defaultValue = omc_CodegenCFunctions_contextCrefNoPrevExp(threadData, _OMC_LIT20, _a_var_name, _OMC_LIT1356, _a_auxFunction ,&_a_auxFunction);
_l_defaultValue = omc_Tpl_writeTok(threadData, _l_defaultValue, _OMC_LIT121);
_l_defaultValue = omc_CodegenCFunctions_daeExp(threadData, _l_defaultValue, _i_exp, _OMC_LIT1356, _a_varInits, _a_varDecls, _a_auxFunction ,&_a_varInits ,&_a_varDecls ,&_a_auxFunction);
_l_defaultValue = omc_Tpl_writeTok(threadData, _l_defaultValue, _OMC_LIT105);
_l_defaultValue = omc_Tpl_writeTok(threadData, _l_defaultValue, _OMC_LIT89);
_a_varInits = omc_Tpl_writeText(threadData, _a_varInits, _l_defaultValue);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT29);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_varInits;
tmpMeta[0+2] = _a_auxFunction;
tmpMeta[0+3] = _a_varDecls;
goto tmp3_done;
}
case 1: {
_txt = tmp4_1;
_a_varInits = tmp4_3;
_a_auxFunction = tmp4_4;
_a_varName = tmp4_6;
_a_var = tmp4_7;
_a_varDecls = tmp4_8;
_a_varDecls = omc_CodegenCFunctions_varType(threadData, _a_varDecls, _a_var);
_a_varDecls = omc_Tpl_writeTok(threadData, _a_varDecls, _OMC_LIT29);
_a_varDecls = omc_Tpl_writeText(threadData, _a_varDecls, _a_varName);
_a_varDecls = omc_Tpl_writeTok(threadData, _a_varDecls, _OMC_LIT105);
_a_varDecls = omc_Tpl_writeTok(threadData, _a_varDecls, _OMC_LIT89);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_varInits;
tmpMeta[0+2] = _a_auxFunction;
tmpMeta[0+3] = _a_varDecls;
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta[0+0];
_out_a_varInits = tmpMeta[0+1];
_out_a_auxFunction = tmpMeta[0+2];
_out_a_varDecls = tmpMeta[0+3];
_return: OMC_LABEL_UNUSED
if (out_out_a_varInits) { *out_out_a_varInits = _out_a_varInits; }
if (out_out_a_auxFunction) { *out_out_a_auxFunction = _out_a_auxFunction; }
if (out_out_a_varDecls) { *out_out_a_varDecls = _out_a_varDecls; }
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_lm__360(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_items, modelica_metatype _in_a_auxFunction, modelica_metatype _in_a_varDecls, modelica_metatype _in_a_varInits, modelica_metatype *out_out_a_auxFunction, modelica_metatype *out_out_a_varDecls, modelica_metatype *out_out_a_varInits)
{
modelica_metatype _out_txt = NULL;
modelica_metatype _out_a_auxFunction = NULL;
modelica_metatype _out_a_varDecls = NULL;
modelica_metatype _out_a_varInits = NULL;
modelica_metatype tmpMeta[6] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_metatype tmp4_2;modelica_metatype tmp4_3;modelica_metatype tmp4_4;modelica_metatype tmp4_5;
tmp4_1 = _in_txt;
tmp4_2 = _in_items;
tmp4_3 = _in_a_auxFunction;
tmp4_4 = _in_a_varDecls;
tmp4_5 = _in_a_varInits;
{
modelica_metatype _txt = NULL;
modelica_metatype _rest = NULL;
modelica_metatype _a_auxFunction = NULL;
modelica_metatype _a_varDecls = NULL;
modelica_metatype _a_varInits = NULL;
modelica_metatype _i_dim = NULL;
volatile mmc_switch_type tmp4;
int tmp5;
tmp4 = 0;
for (; tmp4 < 2; tmp4++) {
switch (MMC_SWITCH_CAST(tmp4)) {
case 0: {
if (!listEmpty(tmp4_2)) goto tmp3_end;
_txt = tmp4_1;
_a_auxFunction = tmp4_3;
_a_varDecls = tmp4_4;
_a_varInits = tmp4_5;
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_auxFunction;
tmpMeta[0+2] = _a_varDecls;
tmpMeta[0+3] = _a_varInits;
goto tmp3_done;
}
case 1: {
if (listEmpty(tmp4_2)) goto tmp3_end;
tmpMeta[4] = MMC_CAR(tmp4_2);
tmpMeta[5] = MMC_CDR(tmp4_2);
_i_dim = tmpMeta[4];
_rest = tmpMeta[5];
_txt = tmp4_1;
_a_auxFunction = tmp4_3;
_a_varDecls = tmp4_4;
_a_varInits = tmp4_5;
_txt = omc_CodegenCFunctions_dimension(threadData, _txt, _i_dim, _OMC_LIT1356, _a_varInits, _a_varDecls, _a_auxFunction ,&_a_varInits ,&_a_varDecls ,&_a_auxFunction);
_txt = omc_Tpl_nextIter(threadData, _txt);
_in_txt = _txt;
_in_items = _rest;
_in_a_auxFunction = _a_auxFunction;
_in_a_varDecls = _a_varDecls;
_in_a_varInits = _a_varInits;
goto _tailrecursive;
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta[0+0];
_out_a_auxFunction = tmpMeta[0+1];
_out_a_varDecls = tmpMeta[0+2];
_out_a_varInits = tmpMeta[0+3];
_return: OMC_LABEL_UNUSED
if (out_out_a_auxFunction) { *out_out_a_auxFunction = _out_a_auxFunction; }
if (out_out_a_varDecls) { *out_out_a_varDecls = _out_a_varDecls; }
if (out_out_a_varInits) { *out_out_a_varInits = _out_a_varInits; }
return _out_txt;
}
DLLExport
modelica_metatype omc_CodegenCFunctions_varInit(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_var, modelica_string _in_a_outStruct, modelica_metatype _in_a_varDecls, modelica_metatype _in_a_varInits, modelica_metatype _in_a_varFrees, modelica_metatype _in_a_auxFunction, modelica_metatype *out_out_a_varDecls, modelica_metatype *out_out_a_varInits, modelica_metatype *out_out_a_varFrees, modelica_metatype *out_out_a_auxFunction)
{
modelica_metatype _out_txt = NULL;
modelica_metatype _out_a_varDecls = NULL;
modelica_metatype _out_a_varInits = NULL;
modelica_metatype _out_a_varFrees = NULL;
modelica_metatype _out_a_auxFunction = NULL;
modelica_metatype tmpMeta[11] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_metatype tmp4_2;modelica_string tmp4_3;modelica_metatype tmp4_4;modelica_metatype tmp4_5;modelica_metatype tmp4_6;modelica_metatype tmp4_7;
tmp4_1 = _in_txt;
tmp4_2 = _in_a_var;
tmp4_3 = _in_a_outStruct;
tmp4_4 = _in_a_varDecls;
tmp4_5 = _in_a_varInits;
tmp4_6 = _in_a_varFrees;
tmp4_7 = _in_a_auxFunction;
{
modelica_metatype _txt = NULL;
modelica_string _a_outStruct = NULL;
modelica_metatype _a_varDecls = NULL;
modelica_metatype _a_varInits = NULL;
modelica_metatype _a_varFrees = NULL;
modelica_metatype _a_auxFunction = NULL;
modelica_metatype _i_defaultValue = NULL;
modelica_string _i_name = NULL;
modelica_boolean _i_var_bind__from__outside;
modelica_metatype _i_var_value = NULL;
modelica_metatype _i_var_ty = NULL;
modelica_metatype _i_instDims = NULL;
modelica_metatype _i_var = NULL;
modelica_metatype _i_var_name = NULL;
modelica_metatype _l_varInitText = NULL;
modelica_string _str_3 = NULL;
modelica_metatype _l_initVar = NULL;
modelica_metatype _l_typeNameFull = NULL;
modelica_metatype _l_varName = NULL;
volatile mmc_switch_type tmp4;
int tmp5;
tmp4 = 0;
for (; tmp4 < 4; tmp4++) {
switch (MMC_SWITCH_CAST(tmp4)) {
case 0: {
modelica_integer tmp6;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,0,7) == 0) goto tmp3_end;
tmpMeta[5] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
tmpMeta[6] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 3));
tmpMeta[7] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 4));
tmpMeta[8] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 5));
tmpMeta[9] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 6));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[9],2,0) == 0) goto tmp3_end;
tmpMeta[10] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 8));
tmp6 = mmc_unbox_integer(tmpMeta[10]);
_i_var = tmp4_2;
_i_var_name = tmpMeta[5];
_i_var_ty = tmpMeta[6];
_i_var_value = tmpMeta[7];
_i_instDims = tmpMeta[8];
_i_var_bind__from__outside = tmp6;
_txt = tmp4_1;
_a_outStruct = tmp4_3;
_a_varDecls = tmp4_4;
_a_varInits = tmp4_5;
_a_varFrees = tmp4_6;
_a_auxFunction = tmp4_7;
_l_varName = omc_CodegenCFunctions_contextCrefNoPrevExp(threadData, _OMC_LIT20, _i_var_name, _OMC_LIT1356, _a_auxFunction ,&_a_auxFunction);
_l_typeNameFull = omc_CodegenCFunctions_varType(threadData, _OMC_LIT20, _i_var);
_str_3 = omc_Tpl_textString(threadData, _l_typeNameFull);
_l_initVar = omc_CodegenCFunctions_fun__354(threadData, _OMC_LIT20, _str_3);
_a_varDecls = omc_CodegenCFunctions_fun__355(threadData, _a_varDecls, _a_outStruct, _l_initVar, _l_varName, _l_typeNameFull);
_txt = omc_CodegenCFunctions_fun__357(threadData, _txt, _i_instDims, _a_auxFunction, _a_varDecls, _i_var_bind__from__outside, _i_var_name, _i_var_value, _a_varInits, _i_var_ty ,&_a_auxFunction ,&_a_varDecls ,&_a_varInits);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_varDecls;
tmpMeta[0+2] = _a_varInits;
tmpMeta[0+3] = _a_varFrees;
tmpMeta[0+4] = _a_auxFunction;
goto tmp3_done;
}
case 1: {
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,0,7) == 0) goto tmp3_end;
_i_var = tmp4_2;
_txt = tmp4_1;
_a_outStruct = tmp4_3;
_a_varDecls = tmp4_4;
_a_varInits = tmp4_5;
_a_varFrees = tmp4_6;
_a_auxFunction = tmp4_7;
tmpMeta[0+0] = omc_CodegenCFunctions_parVarInit(threadData, _txt, _i_var, _a_outStruct, _a_varDecls, _a_varInits, _a_varFrees, _a_auxFunction, &tmpMeta[0+1], &tmpMeta[0+2], &tmpMeta[0+3], &tmpMeta[0+4]);
goto tmp3_done;
}
case 2: {
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,1,4) == 0) goto tmp3_end;
tmpMeta[5] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
tmpMeta[6] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 5));
_i_name = tmpMeta[5];
_i_defaultValue = tmpMeta[6];
_txt = tmp4_1;
_a_varDecls = tmp4_4;
_a_varInits = tmp4_5;
_a_varFrees = tmp4_6;
_a_auxFunction = tmp4_7;
_a_varDecls = omc_Tpl_writeTok(threadData, _a_varDecls, _OMC_LIT2181);
_a_varDecls = omc_Tpl_writeStr(threadData, _a_varDecls, _i_name);
_a_varDecls = omc_Tpl_writeTok(threadData, _a_varDecls, _OMC_LIT105);
_a_varDecls = omc_Tpl_writeTok(threadData, _a_varDecls, _OMC_LIT89);
_l_varInitText = omc_CodegenCFunctions_fun__358(threadData, _OMC_LIT20, _i_defaultValue, _i_name, _a_auxFunction, _a_varDecls, _a_varInits ,&_a_auxFunction ,&_a_varDecls ,&_a_varInits);
_a_varInits = omc_Tpl_writeText(threadData, _a_varInits, _l_varInitText);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_varDecls;
tmpMeta[0+2] = _a_varInits;
tmpMeta[0+3] = _a_varFrees;
tmpMeta[0+4] = _a_auxFunction;
goto tmp3_done;
}
case 3: {
_txt = tmp4_1;
_a_varDecls = tmp4_4;
_a_varInits = tmp4_5;
_a_varFrees = tmp4_6;
_a_auxFunction = tmp4_7;
_txt = omc_CodegenUtil_error(threadData, _txt, omc_Tpl_sourceInfo(threadData, _OMC_LIT27, ((modelica_integer) 2117), ((modelica_integer) 12)), _OMC_LIT2182);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_varDecls;
tmpMeta[0+2] = _a_varInits;
tmpMeta[0+3] = _a_varFrees;
tmpMeta[0+4] = _a_auxFunction;
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta[0+0];
_out_a_varDecls = tmpMeta[0+1];
_out_a_varInits = tmpMeta[0+2];
_out_a_varFrees = tmpMeta[0+3];
_out_a_auxFunction = tmpMeta[0+4];
_return: OMC_LABEL_UNUSED
if (out_out_a_varDecls) { *out_out_a_varDecls = _out_a_varDecls; }
if (out_out_a_varInits) { *out_out_a_varInits = _out_a_varInits; }
if (out_out_a_varFrees) { *out_out_a_varFrees = _out_a_varFrees; }
if (out_out_a_auxFunction) { *out_out_a_auxFunction = _out_a_auxFunction; }
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__358(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_defaultValue, modelica_string _in_a_name, modelica_metatype _in_a_auxFunction, modelica_metatype _in_a_varDecls, modelica_metatype _in_a_varInits, modelica_metatype *out_out_a_auxFunction, modelica_metatype *out_out_a_varDecls, modelica_metatype *out_out_a_varInits)
{
modelica_metatype _out_txt = NULL;
modelica_metatype _out_a_auxFunction = NULL;
modelica_metatype _out_a_varDecls = NULL;
modelica_metatype _out_a_varInits = NULL;
modelica_metatype tmpMeta[5] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_metatype tmp4_2;modelica_string tmp4_3;modelica_metatype tmp4_4;modelica_metatype tmp4_5;modelica_metatype tmp4_6;
tmp4_1 = _in_txt;
tmp4_2 = _in_a_defaultValue;
tmp4_3 = _in_a_name;
tmp4_4 = _in_a_auxFunction;
tmp4_5 = _in_a_varDecls;
tmp4_6 = _in_a_varInits;
{
modelica_metatype _txt = NULL;
modelica_string _a_name = NULL;
modelica_metatype _a_auxFunction = NULL;
modelica_metatype _a_varDecls = NULL;
modelica_metatype _a_varInits = NULL;
modelica_metatype _i_exp = NULL;
modelica_metatype _l_v = NULL;
volatile mmc_switch_type tmp4;
int tmp5;
tmp4 = 0;
for (; tmp4 < 2; tmp4++) {
switch (MMC_SWITCH_CAST(tmp4)) {
case 0: {
if (optionNone(tmp4_2)) goto tmp3_end;
tmpMeta[4] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 1));
_i_exp = tmpMeta[4];
_txt = tmp4_1;
_a_name = tmp4_3;
_a_auxFunction = tmp4_4;
_a_varDecls = tmp4_5;
_a_varInits = tmp4_6;
_l_v = omc_CodegenCFunctions_daeExp(threadData, _OMC_LIT20, _i_exp, _OMC_LIT1356, _a_varInits, _a_varDecls, _a_auxFunction ,&_a_varInits ,&_a_varDecls ,&_a_auxFunction);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT236);
_txt = omc_Tpl_writeStr(threadData, _txt, _a_name);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT121);
_txt = omc_Tpl_writeText(threadData, _txt, _l_v);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT105);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT89);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_auxFunction;
tmpMeta[0+2] = _a_varDecls;
tmpMeta[0+3] = _a_varInits;
goto tmp3_done;
}
case 1: {
_txt = tmp4_1;
_a_auxFunction = tmp4_4;
_a_varDecls = tmp4_5;
_a_varInits = tmp4_6;
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_auxFunction;
tmpMeta[0+2] = _a_varDecls;
tmpMeta[0+3] = _a_varInits;
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta[0+0];
_out_a_auxFunction = tmpMeta[0+1];
_out_a_varDecls = tmpMeta[0+2];
_out_a_varInits = tmpMeta[0+3];
_return: OMC_LABEL_UNUSED
if (out_out_a_auxFunction) { *out_out_a_auxFunction = _out_a_auxFunction; }
if (out_out_a_varDecls) { *out_out_a_varDecls = _out_a_varDecls; }
if (out_out_a_varInits) { *out_out_a_varInits = _out_a_varInits; }
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__357(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_instDims, modelica_metatype _in_a_auxFunction, modelica_metatype _in_a_varDecls, modelica_boolean _in_a_var_bind__from__outside, modelica_metatype _in_a_var_name, modelica_metatype _in_a_var_value, modelica_metatype _in_a_varInits, modelica_metatype _in_a_var_ty, modelica_metatype *out_out_a_auxFunction, modelica_metatype *out_out_a_varDecls, modelica_metatype *out_out_a_varInits)
{
modelica_metatype _out_txt = NULL;
modelica_metatype _out_a_auxFunction = NULL;
modelica_metatype _out_a_varDecls = NULL;
modelica_metatype _out_a_varInits = NULL;
modelica_metatype tmpMeta[4] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_metatype tmp4_2;modelica_metatype tmp4_3;modelica_metatype tmp4_4;modelica_boolean tmp4_5;modelica_metatype tmp4_6;modelica_metatype tmp4_7;modelica_metatype tmp4_8;modelica_metatype tmp4_9;
tmp4_1 = _in_txt;
tmp4_2 = _in_a_instDims;
tmp4_3 = _in_a_auxFunction;
tmp4_4 = _in_a_varDecls;
tmp4_5 = _in_a_var_bind__from__outside;
tmp4_6 = _in_a_var_name;
tmp4_7 = _in_a_var_value;
tmp4_8 = _in_a_varInits;
tmp4_9 = _in_a_var_ty;
{
modelica_metatype _txt = NULL;
modelica_metatype _a_auxFunction = NULL;
modelica_metatype _a_varDecls = NULL;
modelica_boolean _a_var_bind__from__outside;
modelica_metatype _a_var_name = NULL;
modelica_metatype _a_var_value = NULL;
modelica_metatype _a_varInits = NULL;
modelica_metatype _a_var_ty = NULL;
modelica_metatype _i_instDims = NULL;
modelica_boolean _ret_0;
volatile mmc_switch_type tmp4;
int tmp5;
tmp4 = 0;
for (; tmp4 < 2; tmp4++) {
switch (MMC_SWITCH_CAST(tmp4)) {
case 0: {
if (!listEmpty(tmp4_2)) goto tmp3_end;
_txt = tmp4_1;
_a_auxFunction = tmp4_3;
_a_varDecls = tmp4_4;
_a_var_bind__from__outside = tmp4_5;
_a_var_name = tmp4_6;
_a_var_value = tmp4_7;
_a_varInits = tmp4_8;
_a_var_ty = tmp4_9;
_ret_0 = omc_Expression_isRecordType(threadData, _a_var_ty);
tmpMeta[0+0] = omc_CodegenCFunctions_fun__356(threadData, _txt, _ret_0, _a_var_ty, _a_auxFunction, _a_varDecls, _a_var_bind__from__outside, _a_var_name, _a_var_value, _a_varInits, &tmpMeta[0+1], &tmpMeta[0+2], &tmpMeta[0+3]);
goto tmp3_done;
}
case 1: {
_txt = tmp4_1;
_i_instDims = tmp4_2;
_a_auxFunction = tmp4_3;
_a_varDecls = tmp4_4;
_a_var_bind__from__outside = tmp4_5;
_a_var_name = tmp4_6;
_a_var_value = tmp4_7;
_a_varInits = tmp4_8;
_a_var_ty = tmp4_9;
_a_varInits = omc_CodegenCFunctions_arrayVarAllocInit(threadData, _a_varInits, _a_var_name, _a_var_ty, _i_instDims, _a_var_value, _a_var_bind__from__outside, _OMC_LIT1356, _a_varDecls, _a_auxFunction ,&_a_varDecls ,&_a_auxFunction);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_auxFunction;
tmpMeta[0+2] = _a_varDecls;
tmpMeta[0+3] = _a_varInits;
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta[0+0];
_out_a_auxFunction = tmpMeta[0+1];
_out_a_varDecls = tmpMeta[0+2];
_out_a_varInits = tmpMeta[0+3];
_return: OMC_LABEL_UNUSED
if (out_out_a_auxFunction) { *out_out_a_auxFunction = _out_a_auxFunction; }
if (out_out_a_varDecls) { *out_out_a_varDecls = _out_a_varDecls; }
if (out_out_a_varInits) { *out_out_a_varInits = _out_a_varInits; }
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__357(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_instDims, modelica_metatype _in_a_auxFunction, modelica_metatype _in_a_varDecls, modelica_metatype _in_a_var_bind__from__outside, modelica_metatype _in_a_var_name, modelica_metatype _in_a_var_value, modelica_metatype _in_a_varInits, modelica_metatype _in_a_var_ty, modelica_metatype *out_out_a_auxFunction, modelica_metatype *out_out_a_varDecls, modelica_metatype *out_out_a_varInits)
{
modelica_integer tmp1;
modelica_metatype _out_txt = NULL;
tmp1 = mmc_unbox_integer(_in_a_var_bind__from__outside);
_out_txt = omc_CodegenCFunctions_fun__357(threadData, _in_txt, _in_a_instDims, _in_a_auxFunction, _in_a_varDecls, tmp1, _in_a_var_name, _in_a_var_value, _in_a_varInits, _in_a_var_ty, out_out_a_auxFunction, out_out_a_varDecls, out_out_a_varInits);
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__356(threadData_t *threadData, modelica_metatype _in_txt, modelica_boolean _in_mArg, modelica_metatype _in_a_var_ty, modelica_metatype _in_a_auxFunction, modelica_metatype _in_a_varDecls, modelica_boolean _in_a_var_bind__from__outside, modelica_metatype _in_a_var_name, modelica_metatype _in_a_var_value, modelica_metatype _in_a_varInits, modelica_metatype *out_out_a_auxFunction, modelica_metatype *out_out_a_varDecls, modelica_metatype *out_out_a_varInits)
{
modelica_metatype _out_txt = NULL;
modelica_metatype _out_a_auxFunction = NULL;
modelica_metatype _out_a_varDecls = NULL;
modelica_metatype _out_a_varInits = NULL;
modelica_metatype tmpMeta[4] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_boolean tmp4_2;modelica_metatype tmp4_3;modelica_metatype tmp4_4;modelica_metatype tmp4_5;modelica_boolean tmp4_6;modelica_metatype tmp4_7;modelica_metatype tmp4_8;modelica_metatype tmp4_9;
tmp4_1 = _in_txt;
tmp4_2 = _in_mArg;
tmp4_3 = _in_a_var_ty;
tmp4_4 = _in_a_auxFunction;
tmp4_5 = _in_a_varDecls;
tmp4_6 = _in_a_var_bind__from__outside;
tmp4_7 = _in_a_var_name;
tmp4_8 = _in_a_var_value;
tmp4_9 = _in_a_varInits;
{
modelica_metatype _txt = NULL;
modelica_metatype _a_var_ty = NULL;
modelica_metatype _a_auxFunction = NULL;
modelica_metatype _a_varDecls = NULL;
modelica_boolean _a_var_bind__from__outside;
modelica_metatype _a_var_name = NULL;
modelica_metatype _a_var_value = NULL;
modelica_metatype _a_varInits = NULL;
volatile mmc_switch_type tmp4;
int tmp5;
tmp4 = 0;
for (; tmp4 < 2; tmp4++) {
switch (MMC_SWITCH_CAST(tmp4)) {
case 0: {
if (0 != tmp4_2) goto tmp3_end;
_txt = tmp4_1;
_a_auxFunction = tmp4_4;
_a_varDecls = tmp4_5;
_a_var_bind__from__outside = tmp4_6;
_a_var_name = tmp4_7;
_a_var_value = tmp4_8;
_a_varInits = tmp4_9;
_a_varInits = omc_CodegenCFunctions_simpleVarInit(threadData, _a_varInits, _a_var_value, _a_var_name, _a_var_bind__from__outside, _OMC_LIT1356, _a_varDecls, _a_auxFunction ,&_a_varDecls ,&_a_auxFunction);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_auxFunction;
tmpMeta[0+2] = _a_varDecls;
tmpMeta[0+3] = _a_varInits;
goto tmp3_done;
}
case 1: {
_txt = tmp4_1;
_a_var_ty = tmp4_3;
_a_auxFunction = tmp4_4;
_a_varDecls = tmp4_5;
_a_var_bind__from__outside = tmp4_6;
_a_var_name = tmp4_7;
_a_var_value = tmp4_8;
_a_varInits = tmp4_9;
_a_varInits = omc_CodegenCFunctions_recordVarAllocInit(threadData, _a_varInits, _a_var_value, _a_var_name, _a_var_bind__from__outside, _a_var_ty, _OMC_LIT1356, _a_varDecls, _a_auxFunction ,&_a_varDecls ,&_a_auxFunction);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_auxFunction;
tmpMeta[0+2] = _a_varDecls;
tmpMeta[0+3] = _a_varInits;
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta[0+0];
_out_a_auxFunction = tmpMeta[0+1];
_out_a_varDecls = tmpMeta[0+2];
_out_a_varInits = tmpMeta[0+3];
_return: OMC_LABEL_UNUSED
if (out_out_a_auxFunction) { *out_out_a_auxFunction = _out_a_auxFunction; }
if (out_out_a_varDecls) { *out_out_a_varDecls = _out_a_varDecls; }
if (out_out_a_varInits) { *out_out_a_varInits = _out_a_varInits; }
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__356(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_mArg, modelica_metatype _in_a_var_ty, modelica_metatype _in_a_auxFunction, modelica_metatype _in_a_varDecls, modelica_metatype _in_a_var_bind__from__outside, modelica_metatype _in_a_var_name, modelica_metatype _in_a_var_value, modelica_metatype _in_a_varInits, modelica_metatype *out_out_a_auxFunction, modelica_metatype *out_out_a_varDecls, modelica_metatype *out_out_a_varInits)
{
modelica_integer tmp1;
modelica_integer tmp2;
modelica_metatype _out_txt = NULL;
tmp1 = mmc_unbox_integer(_in_mArg);
tmp2 = mmc_unbox_integer(_in_a_var_bind__from__outside);
_out_txt = omc_CodegenCFunctions_fun__356(threadData, _in_txt, tmp1, _in_a_var_ty, _in_a_auxFunction, _in_a_varDecls, tmp2, _in_a_var_name, _in_a_var_value, _in_a_varInits, out_out_a_auxFunction, out_out_a_varDecls, out_out_a_varInits);
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__355(threadData_t *threadData, modelica_metatype _in_txt, modelica_string _in_a_outStruct, modelica_metatype _in_a_initVar, modelica_metatype _in_a_varName, modelica_metatype _in_a_typeNameFull)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta[1] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp3_1;modelica_string tmp3_2;modelica_metatype tmp3_3;modelica_metatype tmp3_4;modelica_metatype tmp3_5;
tmp3_1 = _in_txt;
tmp3_2 = _in_a_outStruct;
tmp3_3 = _in_a_initVar;
tmp3_4 = _in_a_varName;
tmp3_5 = _in_a_typeNameFull;
{
modelica_metatype _txt = NULL;
modelica_metatype _a_initVar = NULL;
modelica_metatype _a_varName = NULL;
modelica_metatype _a_typeNameFull = NULL;
volatile mmc_switch_type tmp3;
int tmp4;
tmp3 = 0;
for (; tmp3 < 2; tmp3++) {
switch (MMC_SWITCH_CAST(tmp3)) {
case 0: {
if (0 != MMC_STRLEN(tmp3_2) || strcmp(MMC_STRINGDATA(_OMC_LIT91), MMC_STRINGDATA(tmp3_2)) != 0) goto tmp2_end;
_txt = tmp3_1;
_a_initVar = tmp3_3;
_a_varName = tmp3_4;
_a_typeNameFull = tmp3_5;
_txt = omc_Tpl_writeText(threadData, _txt, _a_typeNameFull);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT29);
_txt = omc_Tpl_writeText(threadData, _txt, _a_varName);
_txt = omc_Tpl_writeText(threadData, _txt, _a_initVar);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT105);
tmpMeta[0] = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT89);
goto tmp2_done;
}
case 1: {
_txt = tmp3_1;
tmpMeta[0] = _txt;
goto tmp2_done;
}
}
goto tmp2_end;
tmp2_end: ;
}
goto goto_1;
goto_1:;
MMC_THROW_INTERNAL();
goto tmp2_done;
tmp2_done:;
}
}
_out_txt = tmpMeta[0];
_return: OMC_LABEL_UNUSED
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__354(threadData_t *threadData, modelica_metatype _in_txt, modelica_string _in_mArg)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta[1] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp3_1;modelica_string tmp3_2;
tmp3_1 = _in_txt;
tmp3_2 = _in_mArg;
{
modelica_metatype _txt = NULL;
volatile mmc_switch_type tmp3;
int tmp4;
tmp3 = 0;
for (; tmp3 < 3; tmp3++) {
switch (MMC_SWITCH_CAST(tmp3)) {
case 0: {
if (17 != MMC_STRLEN(tmp3_2) || strcmp(MMC_STRINGDATA(_OMC_LIT311), MMC_STRINGDATA(tmp3_2)) != 0) goto tmp2_end;
_txt = tmp3_1;
tmpMeta[0] = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT2184);
goto tmp2_done;
}
case 1: {
if (15 != MMC_STRLEN(tmp3_2) || strcmp(MMC_STRINGDATA(_OMC_LIT799), MMC_STRINGDATA(tmp3_2)) != 0) goto tmp2_end;
_txt = tmp3_1;
tmpMeta[0] = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT2184);
goto tmp2_done;
}
case 2: {
_txt = tmp3_1;
tmpMeta[0] = _txt;
goto tmp2_done;
}
}
goto tmp2_end;
tmp2_end: ;
}
goto goto_1;
goto_1:;
MMC_THROW_INTERNAL();
goto tmp2_done;
tmp2_done:;
}
}
_out_txt = tmpMeta[0];
_return: OMC_LABEL_UNUSED
return _out_txt;
}
DLLExport
modelica_metatype omc_CodegenCFunctions_writeOutVarRecordMembers(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_type, modelica_string _in_a_prefix)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta[3] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp3_1;modelica_metatype tmp3_2;modelica_string tmp3_3;
tmp3_1 = _in_txt;
tmp3_2 = _in_a_type;
tmp3_3 = _in_a_prefix;
{
modelica_metatype _txt = NULL;
modelica_string _a_prefix = NULL;
modelica_metatype _i_vl = NULL;
modelica_metatype _i_n = NULL;
modelica_metatype _l_args = NULL;
modelica_metatype _ret_1 = NULL;
modelica_metatype _l_basename = NULL;
volatile mmc_switch_type tmp3;
int tmp4;
tmp3 = 0;
for (; tmp3 < 2; tmp3++) {
switch (MMC_SWITCH_CAST(tmp3)) {
case 0: {
if (mmc__uniontype__metarecord__typedef__equal(tmp3_2,9,3) == 0) goto tmp2_end;
tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_2), 2));
tmpMeta[2] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_2), 3));
_i_n = tmpMeta[1];
_i_vl = tmpMeta[2];
_txt = tmp3_1;
_a_prefix = tmp3_3;
_ret_1 = omc_ClassInf_getStateName(threadData, _i_n);
_l_basename = omc_CodegenUtil_underscorePath(threadData, _OMC_LIT20, _ret_1);
_l_args = omc_Tpl_pushIter(threadData, _OMC_LIT20, _OMC_LIT294);
_l_args = omc_CodegenCFunctions_lm__351(threadData, _l_args, _i_vl, _a_prefix);
_l_args = omc_Tpl_popIter(threadData, _l_args);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT582);
_txt = omc_Tpl_writeText(threadData, _txt, _l_basename);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1331);
_txt = omc_CodegenCFunctions_fun__352(threadData, _txt, _l_args);
tmpMeta[0] = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT2186);
goto tmp2_done;
}
case 1: {
_txt = tmp3_1;
tmpMeta[0] = _txt;
goto tmp2_done;
}
}
goto tmp2_end;
tmp2_end: ;
}
goto goto_1;
goto_1:;
MMC_THROW_INTERNAL();
goto tmp2_done;
tmp2_done:;
}
}
_out_txt = tmpMeta[0];
_return: OMC_LABEL_UNUSED
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__352(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_args)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta[2] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp3_1;modelica_metatype tmp3_2;
tmp3_1 = _in_txt;
tmp3_2 = _in_a_args;
{
modelica_metatype _txt = NULL;
modelica_metatype _i_args = NULL;
volatile mmc_switch_type tmp3;
int tmp4;
tmp3 = 0;
for (; tmp3 < 2; tmp3++) {
switch (MMC_SWITCH_CAST(tmp3)) {
case 0: {
if (mmc__uniontype__metarecord__typedef__equal(tmp3_2,0,2) == 0) goto tmp2_end;
tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_2), 2));
if (!listEmpty(tmpMeta[1])) goto tmp2_end;
_txt = tmp3_1;
tmpMeta[0] = _txt;
goto tmp2_done;
}
case 1: {
_txt = tmp3_1;
_i_args = tmp3_2;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT292);
tmpMeta[0] = omc_Tpl_writeText(threadData, _txt, _i_args);
goto tmp2_done;
}
}
goto tmp2_end;
tmp2_end: ;
}
goto goto_1;
goto_1:;
MMC_THROW_INTERNAL();
goto tmp2_done;
tmp2_done:;
}
}
_out_txt = tmpMeta[0];
_return: OMC_LABEL_UNUSED
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_lm__351(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_items, modelica_string _in_a_prefix)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta[5] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp3_1;modelica_metatype tmp3_2;modelica_string tmp3_3;
tmp3_1 = _in_txt;
tmp3_2 = _in_items;
tmp3_3 = _in_a_prefix;
{
modelica_metatype _txt = NULL;
modelica_metatype _rest = NULL;
modelica_string _a_prefix = NULL;
modelica_string _i_subvar_name = NULL;
modelica_metatype _i_ty = NULL;
volatile mmc_switch_type tmp3;
int tmp4;
tmp3 = 0;
for (; tmp3 < 3; tmp3++) {
switch (MMC_SWITCH_CAST(tmp3)) {
case 0: {
if (!listEmpty(tmp3_2)) goto tmp2_end;
_txt = tmp3_1;
tmpMeta[0] = _txt;
goto tmp2_done;
}
case 1: {
if (listEmpty(tmp3_2)) goto tmp2_end;
tmpMeta[1] = MMC_CAR(tmp3_2);
tmpMeta[2] = MMC_CDR(tmp3_2);
tmpMeta[3] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[1]), 2));
tmpMeta[4] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[1]), 4));
_i_subvar_name = tmpMeta[3];
_i_ty = tmpMeta[4];
_rest = tmpMeta[2];
_txt = tmp3_1;
_a_prefix = tmp3_3;
_txt = omc_CodegenCFunctions_fun__350(threadData, _txt, _i_ty, _i_subvar_name, _a_prefix);
_txt = omc_Tpl_nextIter(threadData, _txt);
_in_txt = _txt;
_in_items = _rest;
_in_a_prefix = _a_prefix;
goto _tailrecursive;
goto tmp2_done;
}
case 2: {
if (listEmpty(tmp3_2)) goto tmp2_end;
tmpMeta[1] = MMC_CAR(tmp3_2);
tmpMeta[2] = MMC_CDR(tmp3_2);
_rest = tmpMeta[2];
_txt = tmp3_1;
_a_prefix = tmp3_3;
_in_txt = _txt;
_in_items = _rest;
_in_a_prefix = _a_prefix;
goto _tailrecursive;
goto tmp2_done;
}
}
goto tmp2_end;
tmp2_end: ;
}
goto goto_1;
goto_1:;
MMC_THROW_INTERNAL();
goto tmp2_done;
tmp2_done:;
}
}
_out_txt = tmpMeta[0];
_return: OMC_LABEL_UNUSED
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__350(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_ty, modelica_string _in_a_subvar_name, modelica_string _in_a_prefix)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta[1] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp3_1;modelica_metatype tmp3_2;modelica_string tmp3_3;modelica_string tmp3_4;
tmp3_1 = _in_txt;
tmp3_2 = _in_a_ty;
tmp3_3 = _in_a_subvar_name;
tmp3_4 = _in_a_prefix;
{
modelica_metatype _txt = NULL;
modelica_string _a_subvar_name = NULL;
modelica_string _a_prefix = NULL;
modelica_metatype _i_ty = NULL;
modelica_metatype _l_newPrefix = NULL;
volatile mmc_switch_type tmp3;
int tmp4;
tmp3 = 0;
for (; tmp3 < 2; tmp3++) {
switch (MMC_SWITCH_CAST(tmp3)) {
case 0: {
if (mmc__uniontype__metarecord__typedef__equal(tmp3_2,9,3) == 0) goto tmp2_end;
_i_ty = tmp3_2;
_txt = tmp3_1;
_a_subvar_name = tmp3_3;
_a_prefix = tmp3_4;
_l_newPrefix = omc_Tpl_writeStr(threadData, _OMC_LIT20, _a_prefix);
_l_newPrefix = omc_Tpl_writeTok(threadData, _l_newPrefix, _OMC_LIT518);
_l_newPrefix = omc_Tpl_writeStr(threadData, _l_newPrefix, _a_subvar_name);
_txt = omc_CodegenCFunctions_expTypeRW(threadData, _txt, _i_ty);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT292);
tmpMeta[0] = omc_CodegenCFunctions_writeOutVarRecordMembers(threadData, _txt, _i_ty, omc_Tpl_textString(threadData, _l_newPrefix));
goto tmp2_done;
}
case 1: {
_txt = tmp3_1;
_i_ty = tmp3_2;
_a_subvar_name = tmp3_3;
_a_prefix = tmp3_4;
_txt = omc_CodegenCFunctions_expTypeRW(threadData, _txt, _i_ty);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT2188);
_txt = omc_Tpl_writeStr(threadData, _txt, _a_prefix);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT518);
_txt = omc_Tpl_writeStr(threadData, _txt, _a_subvar_name);
tmpMeta[0] = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT78);
goto tmp2_done;
}
}
goto tmp2_end;
tmp2_end: ;
}
goto goto_1;
goto_1:;
MMC_THROW_INTERNAL();
goto tmp2_done;
tmp2_done:;
}
}
_out_txt = tmpMeta[0];
_return: OMC_LABEL_UNUSED
return _out_txt;
}
DLLExport
modelica_metatype omc_CodegenCFunctions_writeOutVar(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_var)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta[3] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp3_1;modelica_metatype tmp3_2;
tmp3_1 = _in_txt;
tmp3_2 = _in_a_var;
{
modelica_metatype _txt = NULL;
modelica_metatype _i_var = NULL;
modelica_metatype _i_ty = NULL;
modelica_metatype _txt_0 = NULL;
volatile mmc_switch_type tmp3;
int tmp4;
tmp3 = 0;
for (; tmp3 < 3; tmp3++) {
switch (MMC_SWITCH_CAST(tmp3)) {
case 0: {
if (mmc__uniontype__metarecord__typedef__equal(tmp3_2,0,7) == 0) goto tmp2_end;
tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_2), 3));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[1],9,3) == 0) goto tmp2_end;
tmpMeta[2] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[1]), 2));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[2],3,1) == 0) goto tmp2_end;
_i_var = tmp3_2;
_i_ty = tmpMeta[1];
_txt = tmp3_1;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT2190);
_txt_0 = omc_CodegenCFunctions_funArgName(threadData, _OMC_LIT20, _i_var);
_txt = omc_CodegenCFunctions_writeOutVarRecordMembers(threadData, _txt, _i_ty, omc_Tpl_textString(threadData, _txt_0));
tmpMeta[0] = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT290);
goto tmp2_done;
}
case 1: {
if (mmc__uniontype__metarecord__typedef__equal(tmp3_2,0,7) == 0) goto tmp2_end;
_i_var = tmp3_2;
_txt = tmp3_1;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT2192);
_txt = omc_CodegenCFunctions_varType(threadData, _txt, _i_var);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT2194);
_txt = omc_CodegenCFunctions_funArgName(threadData, _txt, _i_var);
tmpMeta[0] = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT290);
goto tmp2_done;
}
case 2: {
_txt = tmp3_1;
tmpMeta[0] = _txt;
goto tmp2_done;
}
}
goto tmp2_end;
tmp2_end: ;
}
goto goto_1;
goto_1:;
MMC_THROW_INTERNAL();
goto tmp2_done;
tmp2_done:;
}
}
_out_txt = tmpMeta[0];
_return: OMC_LABEL_UNUSED
return _out_txt;
}
DLLExport
modelica_metatype omc_CodegenCFunctions_readInVarRecordMembers(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_type, modelica_string _in_a_prefix)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta[2] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp3_1;modelica_metatype tmp3_2;modelica_string tmp3_3;
tmp3_1 = _in_txt;
tmp3_2 = _in_a_type;
tmp3_3 = _in_a_prefix;
{
modelica_metatype _txt = NULL;
modelica_string _a_prefix = NULL;
modelica_metatype _i_vl = NULL;
volatile mmc_switch_type tmp3;
int tmp4;
tmp3 = 0;
for (; tmp3 < 2; tmp3++) {
switch (MMC_SWITCH_CAST(tmp3)) {
case 0: {
if (mmc__uniontype__metarecord__typedef__equal(tmp3_2,9,3) == 0) goto tmp2_end;
tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_2), 3));
_i_vl = tmpMeta[1];
_txt = tmp3_1;
_a_prefix = tmp3_3;
_txt = omc_Tpl_pushIter(threadData, _txt, _OMC_LIT294);
_txt = omc_CodegenCFunctions_lm__347(threadData, _txt, _i_vl, _a_prefix);
tmpMeta[0] = omc_Tpl_popIter(threadData, _txt);
goto tmp2_done;
}
case 1: {
_txt = tmp3_1;
tmpMeta[0] = _txt;
goto tmp2_done;
}
}
goto tmp2_end;
tmp2_end: ;
}
goto goto_1;
goto_1:;
MMC_THROW_INTERNAL();
goto tmp2_done;
tmp2_done:;
}
}
_out_txt = tmpMeta[0];
_return: OMC_LABEL_UNUSED
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_lm__347(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_items, modelica_string _in_a_prefix)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta[5] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp3_1;modelica_metatype tmp3_2;modelica_string tmp3_3;
tmp3_1 = _in_txt;
tmp3_2 = _in_items;
tmp3_3 = _in_a_prefix;
{
modelica_metatype _txt = NULL;
modelica_metatype _rest = NULL;
modelica_string _a_prefix = NULL;
modelica_string _i_subvar_name = NULL;
modelica_metatype _i_ty = NULL;
volatile mmc_switch_type tmp3;
int tmp4;
tmp3 = 0;
for (; tmp3 < 3; tmp3++) {
switch (MMC_SWITCH_CAST(tmp3)) {
case 0: {
if (!listEmpty(tmp3_2)) goto tmp2_end;
_txt = tmp3_1;
tmpMeta[0] = _txt;
goto tmp2_done;
}
case 1: {
if (listEmpty(tmp3_2)) goto tmp2_end;
tmpMeta[1] = MMC_CAR(tmp3_2);
tmpMeta[2] = MMC_CDR(tmp3_2);
tmpMeta[3] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[1]), 2));
tmpMeta[4] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[1]), 4));
_i_subvar_name = tmpMeta[3];
_i_ty = tmpMeta[4];
_rest = tmpMeta[2];
_txt = tmp3_1;
_a_prefix = tmp3_3;
_txt = omc_CodegenCFunctions_fun__346(threadData, _txt, _i_ty, _i_subvar_name, _a_prefix);
_txt = omc_Tpl_nextIter(threadData, _txt);
_in_txt = _txt;
_in_items = _rest;
_in_a_prefix = _a_prefix;
goto _tailrecursive;
goto tmp2_done;
}
case 2: {
if (listEmpty(tmp3_2)) goto tmp2_end;
tmpMeta[1] = MMC_CAR(tmp3_2);
tmpMeta[2] = MMC_CDR(tmp3_2);
_rest = tmpMeta[2];
_txt = tmp3_1;
_a_prefix = tmp3_3;
_in_txt = _txt;
_in_items = _rest;
_in_a_prefix = _a_prefix;
goto _tailrecursive;
goto tmp2_done;
}
}
goto tmp2_end;
tmp2_end: ;
}
goto goto_1;
goto_1:;
MMC_THROW_INTERNAL();
goto tmp2_done;
tmp2_done:;
}
}
_out_txt = tmpMeta[0];
_return: OMC_LABEL_UNUSED
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__346(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_ty, modelica_string _in_a_subvar_name, modelica_string _in_a_prefix)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta[1] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp3_1;modelica_metatype tmp3_2;modelica_string tmp3_3;modelica_string tmp3_4;
tmp3_1 = _in_txt;
tmp3_2 = _in_a_ty;
tmp3_3 = _in_a_subvar_name;
tmp3_4 = _in_a_prefix;
{
modelica_metatype _txt = NULL;
modelica_string _a_subvar_name = NULL;
modelica_string _a_prefix = NULL;
modelica_metatype _i_ty = NULL;
modelica_metatype _l_newPrefix = NULL;
volatile mmc_switch_type tmp3;
int tmp4;
tmp3 = 0;
for (; tmp3 < 2; tmp3++) {
switch (MMC_SWITCH_CAST(tmp3)) {
case 0: {
if (mmc__uniontype__metarecord__typedef__equal(tmp3_2,9,3) == 0) goto tmp2_end;
_i_ty = tmp3_2;
_txt = tmp3_1;
_a_subvar_name = tmp3_3;
_a_prefix = tmp3_4;
_l_newPrefix = omc_Tpl_writeStr(threadData, _OMC_LIT20, _a_prefix);
_l_newPrefix = omc_Tpl_writeTok(threadData, _l_newPrefix, _OMC_LIT518);
_l_newPrefix = omc_Tpl_writeStr(threadData, _l_newPrefix, _a_subvar_name);
tmpMeta[0] = omc_CodegenCFunctions_readInVarRecordMembers(threadData, _txt, _i_ty, omc_Tpl_textString(threadData, _l_newPrefix));
goto tmp2_done;
}
case 1: {
_txt = tmp3_1;
_a_subvar_name = tmp3_3;
_a_prefix = tmp3_4;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT2196);
_txt = omc_Tpl_writeStr(threadData, _txt, _a_prefix);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT518);
_txt = omc_Tpl_writeStr(threadData, _txt, _a_subvar_name);
tmpMeta[0] = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT78);
goto tmp2_done;
}
}
goto tmp2_end;
tmp2_end: ;
}
goto goto_1;
goto_1:;
MMC_THROW_INTERNAL();
goto tmp2_done;
tmp2_done:;
}
}
_out_txt = tmpMeta[0];
_return: OMC_LABEL_UNUSED
return _out_txt;
}
DLLExport
modelica_metatype omc_CodegenCFunctions_readInVar(threadData_t *threadData, modelica_metatype _txt, modelica_metatype _a_var)
{
modelica_metatype _out_txt = NULL;
modelica_metatype _l_auxFunction = NULL;
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
_l_auxFunction = _OMC_LIT20;
_out_txt = omc_CodegenCFunctions_fun__344(threadData, _txt, _a_var, _l_auxFunction ,&_l_auxFunction);
_return: OMC_LABEL_UNUSED
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__344(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_var, modelica_metatype _in_a_auxFunction, modelica_metatype *out_out_a_auxFunction)
{
modelica_metatype _out_txt = NULL;
modelica_metatype _out_a_auxFunction = NULL;
modelica_metatype tmpMeta[5] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_metatype tmp4_2;modelica_metatype tmp4_3;
tmp4_1 = _in_txt;
tmp4_2 = _in_a_var;
tmp4_3 = _in_a_auxFunction;
{
modelica_metatype _txt = NULL;
modelica_metatype _a_auxFunction = NULL;
modelica_metatype _i_name = NULL;
modelica_metatype _i_cr = NULL;
modelica_metatype _i_ty = NULL;
modelica_boolean _ret_1;
modelica_metatype _txt_0 = NULL;
volatile mmc_switch_type tmp4;
int tmp5;
tmp4 = 0;
for (; tmp4 < 4; tmp4++) {
switch (MMC_SWITCH_CAST(tmp4)) {
case 0: {
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,0,7) == 0) goto tmp3_end;
tmpMeta[2] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
tmpMeta[3] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 3));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[3],9,3) == 0) goto tmp3_end;
tmpMeta[4] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[3]), 2));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[4],3,1) == 0) goto tmp3_end;
_i_cr = tmpMeta[2];
_i_ty = tmpMeta[3];
_txt = tmp4_1;
_a_auxFunction = tmp4_3;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT2198);
_txt_0 = omc_CodegenCFunctions_contextCrefNoPrevExp(threadData, _OMC_LIT20, _i_cr, _OMC_LIT1356, _a_auxFunction ,&_a_auxFunction);
_txt = omc_CodegenCFunctions_readInVarRecordMembers(threadData, _txt, _i_ty, omc_Tpl_textString(threadData, _txt_0));
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT2200);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_auxFunction;
goto tmp3_done;
}
case 1: {
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,0,7) == 0) goto tmp3_end;
tmpMeta[2] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
tmpMeta[3] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 3));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[3],2,1) == 0) goto tmp3_end;
_i_name = tmpMeta[2];
_i_ty = tmpMeta[3];
_txt = tmp4_1;
_a_auxFunction = tmp4_3;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT2202);
_txt = omc_CodegenCFunctions_expTypeArrayIf(threadData, _txt, _i_ty);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT2204);
_ret_1 = omc_Config_acceptMetaModelicaGrammar(threadData);
_txt = omc_CodegenCFunctions_fun__343(threadData, _txt, _ret_1);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT2206);
_txt = omc_CodegenCFunctions_contextCrefNoPrevExp(threadData, _txt, _i_name, _OMC_LIT1356, _a_auxFunction ,&_a_auxFunction);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT2200);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_auxFunction;
goto tmp3_done;
}
case 2: {
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,0,7) == 0) goto tmp3_end;
tmpMeta[2] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
tmpMeta[3] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 3));
_i_name = tmpMeta[2];
_i_ty = tmpMeta[3];
_txt = tmp4_1;
_a_auxFunction = tmp4_3;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT2202);
_txt = omc_CodegenCFunctions_expTypeArrayIf(threadData, _txt, _i_ty);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT2208);
_txt = omc_CodegenCFunctions_contextCrefNoPrevExp(threadData, _txt, _i_name, _OMC_LIT1356, _a_auxFunction ,&_a_auxFunction);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT2200);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_auxFunction;
goto tmp3_done;
}
case 3: {
_txt = tmp4_1;
_a_auxFunction = tmp4_3;
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_auxFunction;
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta[0+0];
_out_a_auxFunction = tmpMeta[0+1];
_return: OMC_LABEL_UNUSED
if (out_out_a_auxFunction) { *out_out_a_auxFunction = _out_a_auxFunction; }
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__343(threadData_t *threadData, modelica_metatype _in_txt, modelica_boolean _in_mArg)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta[1] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp3_1;modelica_boolean tmp3_2;
tmp3_1 = _in_txt;
tmp3_2 = _in_mArg;
{
modelica_metatype _txt = NULL;
volatile mmc_switch_type tmp3;
int tmp4;
tmp3 = 0;
for (; tmp3 < 2; tmp3++) {
switch (MMC_SWITCH_CAST(tmp3)) {
case 0: {
if (0 != tmp3_2) goto tmp2_end;
_txt = tmp3_1;
tmpMeta[0] = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT2210);
goto tmp2_done;
}
case 1: {
_txt = tmp3_1;
tmpMeta[0] = _txt;
goto tmp2_done;
}
}
goto tmp2_end;
tmp2_end: ;
}
goto goto_1;
goto_1:;
MMC_THROW_INTERNAL();
goto tmp2_done;
tmp2_done:;
}
}
_out_txt = tmpMeta[0];
_return: OMC_LABEL_UNUSED
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__343(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_mArg)
{
modelica_integer tmp1;
modelica_metatype _out_txt = NULL;
tmp1 = mmc_unbox_integer(_in_mArg);
_out_txt = omc_CodegenCFunctions_fun__343(threadData, _in_txt, tmp1);
return _out_txt;
}
DLLExport
modelica_metatype omc_CodegenCFunctions_mmcConstructor(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_type, modelica_string _in_a_varName, modelica_metatype _in_a_preExp, modelica_metatype _in_a_varDecls, modelica_metatype *out_out_a_preExp, modelica_metatype *out_out_a_varDecls)
{
modelica_metatype _out_txt = NULL;
modelica_metatype _out_a_preExp = NULL;
modelica_metatype _out_a_varDecls = NULL;
modelica_metatype tmpMeta[6] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_metatype tmp4_2;modelica_string tmp4_3;modelica_metatype tmp4_4;modelica_metatype tmp4_5;
tmp4_1 = _in_txt;
tmp4_2 = _in_a_type;
tmp4_3 = _in_a_varName;
tmp4_4 = _in_a_preExp;
tmp4_5 = _in_a_varDecls;
{
modelica_metatype _txt = NULL;
modelica_string _a_varName = NULL;
modelica_metatype _a_preExp = NULL;
modelica_metatype _a_varDecls = NULL;
modelica_metatype _i_path = NULL;
modelica_metatype _i_vars = NULL;
modelica_metatype _l_varsStr = NULL;
modelica_integer _ret_2;
modelica_integer _ret_1;
modelica_metatype _l_varCount = NULL;
volatile mmc_switch_type tmp4;
int tmp5;
tmp4 = 0;
for (; tmp4 < 9; tmp4++) {
switch (MMC_SWITCH_CAST(tmp4)) {
case 0: {
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,0,1) == 0) goto tmp3_end;
_txt = tmp4_1;
_a_varName = tmp4_3;
_a_preExp = tmp4_4;
_a_varDecls = tmp4_5;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT2212);
_txt = omc_Tpl_writeStr(threadData, _txt, _a_varName);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT78);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_preExp;
tmpMeta[0+2] = _a_varDecls;
goto tmp3_done;
}
case 1: {
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,3,1) == 0) goto tmp3_end;
_txt = tmp4_1;
_a_varName = tmp4_3;
_a_preExp = tmp4_4;
_a_varDecls = tmp4_5;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT2212);
_txt = omc_Tpl_writeStr(threadData, _txt, _a_varName);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT78);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_preExp;
tmpMeta[0+2] = _a_varDecls;
goto tmp3_done;
}
case 2: {
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,1,1) == 0) goto tmp3_end;
_txt = tmp4_1;
_a_varName = tmp4_3;
_a_preExp = tmp4_4;
_a_varDecls = tmp4_5;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT2214);
_txt = omc_Tpl_writeStr(threadData, _txt, _a_varName);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT78);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_preExp;
tmpMeta[0+2] = _a_varDecls;
goto tmp3_done;
}
case 3: {
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,2,1) == 0) goto tmp3_end;
_txt = tmp4_1;
_a_varName = tmp4_3;
_a_preExp = tmp4_4;
_a_varDecls = tmp4_5;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT2216);
_txt = omc_Tpl_writeStr(threadData, _txt, _a_varName);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT78);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_preExp;
tmpMeta[0+2] = _a_varDecls;
goto tmp3_done;
}
case 4: {
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,5,5) == 0) goto tmp3_end;
_txt = tmp4_1;
_a_varName = tmp4_3;
_a_preExp = tmp4_4;
_a_varDecls = tmp4_5;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT2212);
_txt = omc_Tpl_writeStr(threadData, _txt, _a_varName);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT78);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_preExp;
tmpMeta[0+2] = _a_varDecls;
goto tmp3_done;
}
case 5: {
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,6,2) == 0) goto tmp3_end;
_txt = tmp4_1;
_a_varName = tmp4_3;
_a_preExp = tmp4_4;
_a_varDecls = tmp4_5;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT2218);
_txt = omc_Tpl_writeStr(threadData, _txt, _a_varName);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT78);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_preExp;
tmpMeta[0+2] = _a_varDecls;
goto tmp3_done;
}
case 6: {
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,9,3) == 0) goto tmp3_end;
tmpMeta[3] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[3],3,1) == 0) goto tmp3_end;
tmpMeta[4] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[3]), 2));
tmpMeta[5] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 3));
_i_path = tmpMeta[4];
_i_vars = tmpMeta[5];
_txt = tmp4_1;
_a_varName = tmp4_3;
_a_preExp = tmp4_4;
_a_varDecls = tmp4_5;
_ret_1 = listLength(_i_vars);
_ret_2 = omc_SimCodeFunctionUtil_incrementInt(threadData, _ret_1, ((modelica_integer) 1));
_l_varCount = omc_CodegenCFunctions_daeExpMetaHelperBoxStart(threadData, _OMC_LIT20, _ret_2);
_l_varsStr = omc_CodegenCFunctions_lm__341(threadData, _OMC_LIT20, _i_vars, _a_preExp, _a_varName, _a_varDecls ,&_a_preExp ,&_a_varDecls);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1329);
_txt = omc_Tpl_writeText(threadData, _txt, _l_varCount);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT2220);
_txt = omc_CodegenUtil_underscorePath(threadData, _txt, _i_path);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1331);
_txt = omc_Tpl_writeText(threadData, _txt, _l_varsStr);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT78);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_preExp;
tmpMeta[0+2] = _a_varDecls;
goto tmp3_done;
}
case 7: {
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,9,3) == 0) goto tmp3_end;
_txt = tmp4_1;
_a_varName = tmp4_3;
_a_preExp = tmp4_4;
_a_varDecls = tmp4_5;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT2222);
_txt = omc_Tpl_writeStr(threadData, _txt, _a_varName);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT78);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_preExp;
tmpMeta[0+2] = _a_varDecls;
goto tmp3_done;
}
case 8: {
_txt = tmp4_1;
_a_preExp = tmp4_4;
_a_varDecls = tmp4_5;
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_preExp;
tmpMeta[0+2] = _a_varDecls;
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta[0+0];
_out_a_preExp = tmpMeta[0+1];
_out_a_varDecls = tmpMeta[0+2];
_return: OMC_LABEL_UNUSED
if (out_out_a_preExp) { *out_out_a_preExp = _out_a_preExp; }
if (out_out_a_varDecls) { *out_out_a_varDecls = _out_a_varDecls; }
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_lm__341(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_items, modelica_metatype _in_a_preExp, modelica_string _in_a_varName, modelica_metatype _in_a_varDecls, modelica_metatype *out_out_a_preExp, modelica_metatype *out_out_a_varDecls)
{
modelica_metatype _out_txt = NULL;
modelica_metatype _out_a_preExp = NULL;
modelica_metatype _out_a_varDecls = NULL;
modelica_metatype tmpMeta[7] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_metatype tmp4_2;modelica_metatype tmp4_3;modelica_string tmp4_4;modelica_metatype tmp4_5;
tmp4_1 = _in_txt;
tmp4_2 = _in_items;
tmp4_3 = _in_a_preExp;
tmp4_4 = _in_a_varName;
tmp4_5 = _in_a_varDecls;
{
modelica_metatype _txt = NULL;
modelica_metatype _rest = NULL;
modelica_metatype _a_preExp = NULL;
modelica_string _a_varName = NULL;
modelica_metatype _a_varDecls = NULL;
modelica_metatype _i_ty = NULL;
modelica_string _i_name = NULL;
modelica_metatype _l_varname = NULL;
modelica_metatype _l_tmp = NULL;
volatile mmc_switch_type tmp4;
int tmp5;
tmp4 = 0;
for (; tmp4 < 3; tmp4++) {
switch (MMC_SWITCH_CAST(tmp4)) {
case 0: {
if (!listEmpty(tmp4_2)) goto tmp3_end;
_txt = tmp4_1;
_a_preExp = tmp4_3;
_a_varDecls = tmp4_5;
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_preExp;
tmpMeta[0+2] = _a_varDecls;
goto tmp3_done;
}
case 1: {
if (listEmpty(tmp4_2)) goto tmp3_end;
tmpMeta[3] = MMC_CAR(tmp4_2);
tmpMeta[4] = MMC_CDR(tmp4_2);
tmpMeta[5] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[3]), 2));
tmpMeta[6] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[3]), 4));
_i_name = tmpMeta[5];
_i_ty = tmpMeta[6];
_rest = tmpMeta[4];
_txt = tmp4_1;
_a_preExp = tmp4_3;
_a_varName = tmp4_4;
_a_varDecls = tmp4_5;
_l_tmp = omc_CodegenCFunctions_tempDecl(threadData, _OMC_LIT20, _OMC_LIT311, _a_varDecls ,&_a_varDecls);
_l_varname = omc_Tpl_writeStr(threadData, _OMC_LIT20, _a_varName);
_l_varname = omc_Tpl_writeTok(threadData, _l_varname, _OMC_LIT518);
_l_varname = omc_Tpl_writeStr(threadData, _l_varname, _i_name);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT292);
_txt = omc_CodegenCFunctions_funArgBox(threadData, _txt, omc_Tpl_textString(threadData, _l_tmp), omc_Tpl_textString(threadData, _l_varname), _OMC_LIT91, _i_ty, _a_preExp, _a_varDecls ,&_a_preExp ,&_a_varDecls);
_in_txt = _txt;
_in_items = _rest;
_in_a_preExp = _a_preExp;
_in_a_varName = _a_varName;
_in_a_varDecls = _a_varDecls;
goto _tailrecursive;
goto tmp3_done;
}
case 2: {
if (listEmpty(tmp4_2)) goto tmp3_end;
tmpMeta[3] = MMC_CAR(tmp4_2);
tmpMeta[4] = MMC_CDR(tmp4_2);
_rest = tmpMeta[4];
_txt = tmp4_1;
_a_preExp = tmp4_3;
_a_varName = tmp4_4;
_a_varDecls = tmp4_5;
_in_txt = _txt;
_in_items = _rest;
_in_a_preExp = _a_preExp;
_in_a_varName = _a_varName;
_in_a_varDecls = _a_varDecls;
goto _tailrecursive;
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta[0+0];
_out_a_preExp = tmpMeta[0+1];
_out_a_varDecls = tmpMeta[0+2];
_return: OMC_LABEL_UNUSED
if (out_out_a_preExp) { *out_out_a_preExp = _out_a_preExp; }
if (out_out_a_varDecls) { *out_out_a_varDecls = _out_a_varDecls; }
return _out_txt;
}
DLLExport
modelica_metatype omc_CodegenCFunctions_mmcConstructorType(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_type)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta[2] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp3_1;modelica_metatype tmp3_2;
tmp3_1 = _in_txt;
tmp3_2 = _in_a_type;
{
modelica_metatype _txt = NULL;
volatile mmc_switch_type tmp3;
int tmp4;
tmp3 = 0;
for (; tmp3 < 7; tmp3++) {
switch (MMC_SWITCH_CAST(tmp3)) {
case 0: {
if (mmc__uniontype__metarecord__typedef__equal(tmp3_2,0,1) == 0) goto tmp2_end;
_txt = tmp3_1;
tmpMeta[0] = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT611);
goto tmp2_done;
}
case 1: {
if (mmc__uniontype__metarecord__typedef__equal(tmp3_2,3,1) == 0) goto tmp2_end;
_txt = tmp3_1;
tmpMeta[0] = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT611);
goto tmp2_done;
}
case 2: {
if (mmc__uniontype__metarecord__typedef__equal(tmp3_2,1,1) == 0) goto tmp2_end;
_txt = tmp3_1;
tmpMeta[0] = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT611);
goto tmp2_done;
}
case 3: {
if (mmc__uniontype__metarecord__typedef__equal(tmp3_2,5,5) == 0) goto tmp2_end;
_txt = tmp3_1;
tmpMeta[0] = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT611);
goto tmp2_done;
}
case 4: {
if (mmc__uniontype__metarecord__typedef__equal(tmp3_2,6,2) == 0) goto tmp2_end;
_txt = tmp3_1;
tmpMeta[0] = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT611);
goto tmp2_done;
}
case 5: {
if (mmc__uniontype__metarecord__typedef__equal(tmp3_2,9,3) == 0) goto tmp2_end;
tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_2), 2));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[1],3,1) == 0) goto tmp2_end;
_txt = tmp3_1;
tmpMeta[0] = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT611);
goto tmp2_done;
}
case 6: {
_txt = tmp3_1;
tmpMeta[0] = _txt;
goto tmp2_done;
}
}
goto tmp2_end;
tmp2_end: ;
}
goto goto_1;
goto_1:;
MMC_THROW_INTERNAL();
goto tmp2_done;
tmp2_done:;
}
}
_out_txt = tmpMeta[0];
_return: OMC_LABEL_UNUSED
return _out_txt;
}
DLLExport
modelica_metatype omc_CodegenCFunctions_funArgBox(threadData_t *threadData, modelica_metatype _txt, modelica_string _a_outName, modelica_string _a_varName, modelica_string _a_condition, modelica_metatype _a_ty, modelica_metatype _a_varUnbox, modelica_metatype _a_varDecls, modelica_metatype *out_out_a_varUnbox, modelica_metatype *out_out_a_varDecls)
{
modelica_metatype _out_txt = NULL;
modelica_metatype _out_a_varUnbox = NULL;
modelica_metatype _out_a_varDecls = NULL;
modelica_metatype _l_constructorType = NULL;
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
_l_constructorType = omc_CodegenCFunctions_mmcConstructorType(threadData, _OMC_LIT20, _a_ty);
_out_txt = omc_CodegenCFunctions_fun__338(threadData, _txt, _l_constructorType, _a_outName, _a_condition, _a_varDecls, _a_ty, _a_varName, _a_varUnbox ,&_out_a_varDecls ,&_out_a_varUnbox);
_return: OMC_LABEL_UNUSED
if (out_out_a_varUnbox) { *out_out_a_varUnbox = _out_a_varUnbox; }
if (out_out_a_varDecls) { *out_out_a_varDecls = _out_a_varDecls; }
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__338(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_constructorType, modelica_string _in_a_outName, modelica_string _in_a_condition, modelica_metatype _in_a_varDecls, modelica_metatype _in_a_ty, modelica_string _in_a_varName, modelica_metatype _in_a_varUnbox, modelica_metatype *out_out_a_varDecls, modelica_metatype *out_out_a_varUnbox)
{
modelica_metatype _out_txt = NULL;
modelica_metatype _out_a_varDecls = NULL;
modelica_metatype _out_a_varUnbox = NULL;
modelica_metatype tmpMeta[4] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_metatype tmp4_2;modelica_string tmp4_3;modelica_string tmp4_4;modelica_metatype tmp4_5;modelica_metatype tmp4_6;modelica_string tmp4_7;modelica_metatype tmp4_8;
tmp4_1 = _in_txt;
tmp4_2 = _in_a_constructorType;
tmp4_3 = _in_a_outName;
tmp4_4 = _in_a_condition;
tmp4_5 = _in_a_varDecls;
tmp4_6 = _in_a_ty;
tmp4_7 = _in_a_varName;
tmp4_8 = _in_a_varUnbox;
{
modelica_metatype _txt = NULL;
modelica_string _a_outName = NULL;
modelica_string _a_condition = NULL;
modelica_metatype _a_varDecls = NULL;
modelica_metatype _a_ty = NULL;
modelica_string _a_varName = NULL;
modelica_metatype _a_varUnbox = NULL;
modelica_metatype _l_constructor = NULL;
modelica_string _ret_0 = NULL;
volatile mmc_switch_type tmp4;
int tmp5;
tmp4 = 0;
for (; tmp4 < 2; tmp4++) {
switch (MMC_SWITCH_CAST(tmp4)) {
case 0: {
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,0,2) == 0) goto tmp3_end;
tmpMeta[3] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
if (!listEmpty(tmpMeta[3])) goto tmp3_end;
_txt = tmp4_1;
_a_varDecls = tmp4_5;
_a_ty = tmp4_6;
_a_varName = tmp4_7;
_a_varUnbox = tmp4_8;
_a_varUnbox = omc_Tpl_writeTok(threadData, _a_varUnbox, _OMC_LIT2224);
_a_varUnbox = omc_Tpl_writeStr(threadData, _a_varUnbox, _a_varName);
_a_varUnbox = omc_Tpl_writeTok(threadData, _a_varUnbox, _OMC_LIT200);
_ret_0 = omc_Types_unparseType(threadData, _a_ty);
_a_varUnbox = omc_Tpl_writeStr(threadData, _a_varUnbox, _ret_0);
_a_varUnbox = omc_Tpl_writeTok(threadData, _a_varUnbox, _OMC_LIT22);
_a_varUnbox = omc_Tpl_writeTok(threadData, _a_varUnbox, _OMC_LIT89);
_txt = omc_Tpl_writeStr(threadData, _txt, _a_varName);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_varDecls;
tmpMeta[0+2] = _a_varUnbox;
goto tmp3_done;
}
case 1: {
_txt = tmp4_1;
_a_outName = tmp4_3;
_a_condition = tmp4_4;
_a_varDecls = tmp4_5;
_a_ty = tmp4_6;
_a_varName = tmp4_7;
_a_varUnbox = tmp4_8;
_l_constructor = omc_CodegenCFunctions_mmcConstructor(threadData, _OMC_LIT20, _a_ty, _a_varName, _a_varUnbox, _a_varDecls ,&_a_varUnbox ,&_a_varDecls);
_a_varUnbox = omc_CodegenCFunctions_fun__337(threadData, _a_varUnbox, _a_condition, _l_constructor, _a_outName);
_txt = omc_Tpl_writeStr(threadData, _txt, _a_outName);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_varDecls;
tmpMeta[0+2] = _a_varUnbox;
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta[0+0];
_out_a_varDecls = tmpMeta[0+1];
_out_a_varUnbox = tmpMeta[0+2];
_return: OMC_LABEL_UNUSED
if (out_out_a_varDecls) { *out_out_a_varDecls = _out_a_varDecls; }
if (out_out_a_varUnbox) { *out_out_a_varUnbox = _out_a_varUnbox; }
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__337(threadData_t *threadData, modelica_metatype _in_txt, modelica_string _in_a_condition, modelica_metatype _in_a_constructor, modelica_string _in_a_outName)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta[1] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp3_1;modelica_string tmp3_2;modelica_metatype tmp3_3;modelica_string tmp3_4;
tmp3_1 = _in_txt;
tmp3_2 = _in_a_condition;
tmp3_3 = _in_a_constructor;
tmp3_4 = _in_a_outName;
{
modelica_metatype _txt = NULL;
modelica_metatype _a_constructor = NULL;
modelica_string _a_outName = NULL;
modelica_string _i_condition = NULL;
volatile mmc_switch_type tmp3;
int tmp4;
tmp3 = 0;
for (; tmp3 < 2; tmp3++) {
switch (MMC_SWITCH_CAST(tmp3)) {
case 0: {
if (0 != MMC_STRLEN(tmp3_2) || strcmp(MMC_STRINGDATA(_OMC_LIT91), MMC_STRINGDATA(tmp3_2)) != 0) goto tmp2_end;
_txt = tmp3_1;
_a_constructor = tmp3_3;
_a_outName = tmp3_4;
_txt = omc_Tpl_writeStr(threadData, _txt, _a_outName);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT121);
_txt = omc_Tpl_writeText(threadData, _txt, _a_constructor);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT105);
tmpMeta[0] = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT89);
goto tmp2_done;
}
case 1: {
_txt = tmp3_1;
_i_condition = tmp3_2;
_a_constructor = tmp3_3;
_a_outName = tmp3_4;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT248);
_txt = omc_Tpl_writeStr(threadData, _txt, _i_condition);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT2226);
_txt = omc_Tpl_writeStr(threadData, _txt, _a_outName);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT121);
_txt = omc_Tpl_writeText(threadData, _txt, _a_constructor);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT2135);
tmpMeta[0] = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT89);
goto tmp2_done;
}
}
goto tmp2_end;
tmp2_end: ;
}
goto goto_1;
goto_1:;
MMC_THROW_INTERNAL();
goto tmp2_done;
tmp2_done:;
}
}
_out_txt = tmpMeta[0];
_return: OMC_LABEL_UNUSED
return _out_txt;
}
DLLExport
modelica_metatype omc_CodegenCFunctions_unboxRecord(threadData_t *threadData, modelica_metatype _txt, modelica_string _a_recordVar, modelica_metatype _a_ty, modelica_metatype _a_preExp, modelica_metatype _a_varDecls, modelica_metatype *out_out_a_preExp, modelica_metatype *out_out_a_varDecls)
{
modelica_metatype _out_txt = NULL;
modelica_metatype _out_a_preExp = NULL;
modelica_metatype _out_a_varDecls = NULL;
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
_out_txt = omc_CodegenCFunctions_fun__335(threadData, _txt, _a_ty, _a_recordVar, _a_preExp, _a_varDecls ,&_out_a_preExp ,&_out_a_varDecls);
_return: OMC_LABEL_UNUSED
if (out_out_a_preExp) { *out_out_a_preExp = _out_a_preExp; }
if (out_out_a_varDecls) { *out_out_a_varDecls = _out_a_varDecls; }
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__335(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_ty, modelica_string _in_a_recordVar, modelica_metatype _in_a_preExp, modelica_metatype _in_a_varDecls, modelica_metatype *out_out_a_preExp, modelica_metatype *out_out_a_varDecls)
{
modelica_metatype _out_txt = NULL;
modelica_metatype _out_a_preExp = NULL;
modelica_metatype _out_a_varDecls = NULL;
modelica_metatype tmpMeta[6] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_metatype tmp4_2;modelica_string tmp4_3;modelica_metatype tmp4_4;modelica_metatype tmp4_5;
tmp4_1 = _in_txt;
tmp4_2 = _in_a_ty;
tmp4_3 = _in_a_recordVar;
tmp4_4 = _in_a_preExp;
tmp4_5 = _in_a_varDecls;
{
modelica_metatype _txt = NULL;
modelica_string _a_recordVar = NULL;
modelica_metatype _a_preExp = NULL;
modelica_metatype _a_varDecls = NULL;
modelica_metatype _i_vars = NULL;
modelica_metatype _i_path = NULL;
modelica_metatype _txt_1 = NULL;
modelica_metatype _l_tmpVar = NULL;
volatile mmc_switch_type tmp4;
int tmp5;
tmp4 = 0;
for (; tmp4 < 2; tmp4++) {
switch (MMC_SWITCH_CAST(tmp4)) {
case 0: {
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,9,3) == 0) goto tmp3_end;
tmpMeta[3] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[3],3,1) == 0) goto tmp3_end;
tmpMeta[4] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[3]), 2));
tmpMeta[5] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 3));
_i_path = tmpMeta[4];
_i_vars = tmpMeta[5];
_txt = tmp4_1;
_a_recordVar = tmp4_3;
_a_preExp = tmp4_4;
_a_varDecls = tmp4_5;
_txt_1 = omc_CodegenUtil_underscorePath(threadData, _OMC_LIT20, _i_path);
_l_tmpVar = omc_CodegenCFunctions_tempDecl(threadData, _OMC_LIT20, omc_Tpl_textString(threadData, _txt_1), _a_varDecls ,&_a_varDecls);
_a_preExp = omc_Tpl_pushIter(threadData, _a_preExp, _OMC_LIT2227);
_a_preExp = omc_CodegenCFunctions_lm__334(threadData, _a_preExp, _i_vars, _l_tmpVar, _a_recordVar, _a_varDecls ,&_a_varDecls);
_a_preExp = omc_Tpl_popIter(threadData, _a_preExp);
_txt = omc_Tpl_writeText(threadData, _txt, _l_tmpVar);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_preExp;
tmpMeta[0+2] = _a_varDecls;
goto tmp3_done;
}
case 1: {
_txt = tmp4_1;
_a_preExp = tmp4_4;
_a_varDecls = tmp4_5;
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_preExp;
tmpMeta[0+2] = _a_varDecls;
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta[0+0];
_out_a_preExp = tmpMeta[0+1];
_out_a_varDecls = tmpMeta[0+2];
_return: OMC_LABEL_UNUSED
if (out_out_a_preExp) { *out_out_a_preExp = _out_a_preExp; }
if (out_out_a_varDecls) { *out_out_a_varDecls = _out_a_varDecls; }
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_lm__334(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_items, modelica_metatype _in_a_tmpVar, modelica_string _in_a_recordVar, modelica_metatype _in_a_varDecls, modelica_metatype *out_out_a_varDecls)
{
modelica_metatype _out_txt = NULL;
modelica_metatype _out_a_varDecls = NULL;
modelica_metatype tmpMeta[6] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_metatype tmp4_2;modelica_metatype tmp4_3;modelica_string tmp4_4;modelica_metatype tmp4_5;
tmp4_1 = _in_txt;
tmp4_2 = _in_items;
tmp4_3 = _in_a_tmpVar;
tmp4_4 = _in_a_recordVar;
tmp4_5 = _in_a_varDecls;
{
modelica_metatype _txt = NULL;
modelica_metatype _rest = NULL;
modelica_metatype _a_tmpVar = NULL;
modelica_string _a_recordVar = NULL;
modelica_metatype _a_varDecls = NULL;
modelica_integer _x_offset;
modelica_string _i_compname = NULL;
modelica_metatype _i_ty = NULL;
modelica_metatype _l_unboxStr = NULL;
modelica_metatype _l_unboxBuf = NULL;
modelica_metatype _l_untagTmp = NULL;
volatile mmc_switch_type tmp4;
int tmp5;
tmp4 = 0;
for (; tmp4 < 3; tmp4++) {
switch (MMC_SWITCH_CAST(tmp4)) {
case 0: {
if (!listEmpty(tmp4_2)) goto tmp3_end;
_txt = tmp4_1;
_a_varDecls = tmp4_5;
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_varDecls;
goto tmp3_done;
}
case 1: {
if (listEmpty(tmp4_2)) goto tmp3_end;
tmpMeta[2] = MMC_CAR(tmp4_2);
tmpMeta[3] = MMC_CDR(tmp4_2);
tmpMeta[4] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[2]), 2));
tmpMeta[5] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[2]), 4));
_i_compname = tmpMeta[4];
_i_ty = tmpMeta[5];
_rest = tmpMeta[3];
_txt = tmp4_1;
_a_tmpVar = tmp4_3;
_a_recordVar = tmp4_4;
_a_varDecls = tmp4_5;
_x_offset = omc_Tpl_getIteri__i0(threadData, _txt);
omc_CodegenCFunctions_mmcTypeShort(threadData, _OMC_LIT20, _i_ty);
_l_untagTmp = omc_CodegenCFunctions_tempDecl(threadData, _OMC_LIT20, _OMC_LIT311, _a_varDecls ,&_a_varDecls);
_l_unboxBuf = _OMC_LIT20;
_l_unboxStr = omc_CodegenCFunctions_unboxVariable(threadData, _OMC_LIT20, omc_Tpl_textString(threadData, _l_untagTmp), _i_ty, _l_unboxBuf, _a_varDecls ,&_l_unboxBuf ,&_a_varDecls);
_txt = omc_Tpl_writeText(threadData, _txt, _l_untagTmp);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT2229);
_txt = omc_Tpl_writeStr(threadData, _txt, _a_recordVar);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT522);
_txt = omc_Tpl_writeStr(threadData, _txt, intString(_x_offset));
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT2231);
_txt = omc_Tpl_writeText(threadData, _txt, _l_unboxBuf);
_txt = omc_Tpl_softNewLine(threadData, _txt);
_txt = omc_Tpl_writeText(threadData, _txt, _a_tmpVar);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT518);
_txt = omc_Tpl_writeStr(threadData, _txt, _i_compname);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT121);
_txt = omc_Tpl_writeText(threadData, _txt, _l_unboxStr);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT105);
_txt = omc_Tpl_nextIter(threadData, _txt);
_in_txt = _txt;
_in_items = _rest;
_in_a_tmpVar = _a_tmpVar;
_in_a_recordVar = _a_recordVar;
_in_a_varDecls = _a_varDecls;
goto _tailrecursive;
goto tmp3_done;
}
case 2: {
if (listEmpty(tmp4_2)) goto tmp3_end;
tmpMeta[2] = MMC_CAR(tmp4_2);
tmpMeta[3] = MMC_CDR(tmp4_2);
_rest = tmpMeta[3];
_txt = tmp4_1;
_a_tmpVar = tmp4_3;
_a_recordVar = tmp4_4;
_a_varDecls = tmp4_5;
_in_txt = _txt;
_in_items = _rest;
_in_a_tmpVar = _a_tmpVar;
_in_a_recordVar = _a_recordVar;
_in_a_varDecls = _a_varDecls;
goto _tailrecursive;
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta[0+0];
_out_a_varDecls = tmpMeta[0+1];
_return: OMC_LABEL_UNUSED
if (out_out_a_varDecls) { *out_out_a_varDecls = _out_a_varDecls; }
return _out_txt;
}
DLLExport
modelica_metatype omc_CodegenCFunctions_unboxVariable(threadData_t *threadData, modelica_metatype _txt, modelica_string _a_varName, modelica_metatype _a_varType, modelica_metatype _a_preExp, modelica_metatype _a_varDecls, modelica_metatype *out_out_a_preExp, modelica_metatype *out_out_a_varDecls)
{
modelica_metatype _out_txt = NULL;
modelica_metatype _out_a_preExp = NULL;
modelica_metatype _out_a_varDecls = NULL;
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
_out_txt = omc_CodegenCFunctions_fun__332(threadData, _txt, _a_varType, _a_varName, _a_preExp, _a_varDecls ,&_out_a_preExp ,&_out_a_varDecls);
_return: OMC_LABEL_UNUSED
if (out_out_a_preExp) { *out_out_a_preExp = _out_a_preExp; }
if (out_out_a_varDecls) { *out_out_a_varDecls = _out_a_varDecls; }
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__332(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_varType, modelica_string _in_a_varName, modelica_metatype _in_a_preExp, modelica_metatype _in_a_varDecls, modelica_metatype *out_out_a_preExp, modelica_metatype *out_out_a_varDecls)
{
modelica_metatype _out_txt = NULL;
modelica_metatype _out_a_preExp = NULL;
modelica_metatype _out_a_varDecls = NULL;
modelica_metatype tmpMeta[4] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_metatype tmp4_2;modelica_string tmp4_3;modelica_metatype tmp4_4;modelica_metatype tmp4_5;
tmp4_1 = _in_txt;
tmp4_2 = _in_a_varType;
tmp4_3 = _in_a_varName;
tmp4_4 = _in_a_preExp;
tmp4_5 = _in_a_varDecls;
{
modelica_metatype _txt = NULL;
modelica_string _a_varName = NULL;
modelica_metatype _a_preExp = NULL;
modelica_metatype _a_varDecls = NULL;
modelica_metatype _i_varType = NULL;
modelica_metatype _l_tmpVar = NULL;
modelica_metatype _l_ty = NULL;
modelica_metatype _l_shortType = NULL;
volatile mmc_switch_type tmp4;
int tmp5;
tmp4 = 0;
for (; tmp4 < 14; tmp4++) {
switch (MMC_SWITCH_CAST(tmp4)) {
case 0: {
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,9,3) == 0) goto tmp3_end;
tmpMeta[3] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[3],17,1) == 0) goto tmp3_end;
_txt = tmp4_1;
_a_varName = tmp4_3;
_a_preExp = tmp4_4;
_a_varDecls = tmp4_5;
_txt = omc_Tpl_writeStr(threadData, _txt, _a_varName);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_preExp;
tmpMeta[0+2] = _a_varDecls;
goto tmp3_done;
}
case 1: {
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,2,1) == 0) goto tmp3_end;
_txt = tmp4_1;
_a_varName = tmp4_3;
_a_preExp = tmp4_4;
_a_varDecls = tmp4_5;
_txt = omc_Tpl_writeStr(threadData, _txt, _a_varName);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_preExp;
tmpMeta[0+2] = _a_varDecls;
goto tmp3_done;
}
case 2: {
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,25,1) == 0) goto tmp3_end;
_txt = tmp4_1;
_a_varName = tmp4_3;
_a_preExp = tmp4_4;
_a_varDecls = tmp4_5;
_txt = omc_Tpl_writeStr(threadData, _txt, _a_varName);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_preExp;
tmpMeta[0+2] = _a_varDecls;
goto tmp3_done;
}
case 3: {
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,21,6) == 0) goto tmp3_end;
_txt = tmp4_1;
_a_varName = tmp4_3;
_a_preExp = tmp4_4;
_a_varDecls = tmp4_5;
_txt = omc_Tpl_writeStr(threadData, _txt, _a_varName);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_preExp;
tmpMeta[0+2] = _a_varDecls;
goto tmp3_done;
}
case 4: {
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,20,5) == 0) goto tmp3_end;
_txt = tmp4_1;
_a_varName = tmp4_3;
_a_preExp = tmp4_4;
_a_varDecls = tmp4_5;
_txt = omc_Tpl_writeStr(threadData, _txt, _a_varName);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_preExp;
tmpMeta[0+2] = _a_varDecls;
goto tmp3_done;
}
case 5: {
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,17,1) == 0) goto tmp3_end;
_txt = tmp4_1;
_a_varName = tmp4_3;
_a_preExp = tmp4_4;
_a_varDecls = tmp4_5;
_txt = omc_Tpl_writeStr(threadData, _txt, _a_varName);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_preExp;
tmpMeta[0+2] = _a_varDecls;
goto tmp3_done;
}
case 6: {
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,22,1) == 0) goto tmp3_end;
_txt = tmp4_1;
_a_varName = tmp4_3;
_a_preExp = tmp4_4;
_a_varDecls = tmp4_5;
_txt = omc_Tpl_writeStr(threadData, _txt, _a_varName);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_preExp;
tmpMeta[0+2] = _a_varDecls;
goto tmp3_done;
}
case 7: {
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,24,1) == 0) goto tmp3_end;
_txt = tmp4_1;
_a_varName = tmp4_3;
_a_preExp = tmp4_4;
_a_varDecls = tmp4_5;
_txt = omc_Tpl_writeStr(threadData, _txt, _a_varName);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_preExp;
tmpMeta[0+2] = _a_varDecls;
goto tmp3_done;
}
case 8: {
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,19,1) == 0) goto tmp3_end;
_txt = tmp4_1;
_a_varName = tmp4_3;
_a_preExp = tmp4_4;
_a_varDecls = tmp4_5;
_txt = omc_Tpl_writeStr(threadData, _txt, _a_varName);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_preExp;
tmpMeta[0+2] = _a_varDecls;
goto tmp3_done;
}
case 9: {
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,18,1) == 0) goto tmp3_end;
_txt = tmp4_1;
_a_varName = tmp4_3;
_a_preExp = tmp4_4;
_a_varDecls = tmp4_5;
_txt = omc_Tpl_writeStr(threadData, _txt, _a_varName);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_preExp;
tmpMeta[0+2] = _a_varDecls;
goto tmp3_done;
}
case 10: {
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,23,1) == 0) goto tmp3_end;
_txt = tmp4_1;
_a_varName = tmp4_3;
_a_preExp = tmp4_4;
_a_varDecls = tmp4_5;
_txt = omc_Tpl_writeStr(threadData, _txt, _a_varName);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_preExp;
tmpMeta[0+2] = _a_varDecls;
goto tmp3_done;
}
case 11: {
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,9,3) == 0) goto tmp3_end;
tmpMeta[3] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[3],3,1) == 0) goto tmp3_end;
_i_varType = tmp4_2;
_txt = tmp4_1;
_a_varName = tmp4_3;
_a_preExp = tmp4_4;
_a_varDecls = tmp4_5;
tmpMeta[0+0] = omc_CodegenCFunctions_unboxRecord(threadData, _txt, _a_varName, _i_varType, _a_preExp, _a_varDecls, &tmpMeta[0+1], &tmpMeta[0+2]);
goto tmp3_done;
}
case 12: {
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,6,2) == 0) goto tmp3_end;
_txt = tmp4_1;
_a_varName = tmp4_3;
_a_preExp = tmp4_4;
_a_varDecls = tmp4_5;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT2233);
_txt = omc_Tpl_writeStr(threadData, _txt, _a_varName);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT78);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_preExp;
tmpMeta[0+2] = _a_varDecls;
goto tmp3_done;
}
case 13: {
_txt = tmp4_1;
_i_varType = tmp4_2;
_a_varName = tmp4_3;
_a_preExp = tmp4_4;
_a_varDecls = tmp4_5;
_l_shortType = omc_CodegenCFunctions_mmcTypeShort(threadData, _OMC_LIT20, _i_varType);
_l_ty = omc_Tpl_writeTok(threadData, _OMC_LIT20, _OMC_LIT1584);
_l_ty = omc_Tpl_writeText(threadData, _l_ty, _l_shortType);
_l_tmpVar = omc_CodegenCFunctions_tempDecl(threadData, _OMC_LIT20, omc_Tpl_textString(threadData, _l_ty), _a_varDecls ,&_a_varDecls);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _l_tmpVar);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT2235);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _l_shortType);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT68);
_a_preExp = omc_Tpl_writeStr(threadData, _a_preExp, _a_varName);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT290);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT89);
_txt = omc_Tpl_writeText(threadData, _txt, _l_tmpVar);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_preExp;
tmpMeta[0+2] = _a_varDecls;
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta[0+0];
_out_a_preExp = tmpMeta[0+1];
_out_a_varDecls = tmpMeta[0+2];
_return: OMC_LABEL_UNUSED
if (out_out_a_preExp) { *out_out_a_preExp = _out_a_preExp; }
if (out_out_a_varDecls) { *out_out_a_varDecls = _out_a_varDecls; }
return _out_txt;
}
DLLExport
modelica_metatype omc_CodegenCFunctions_funArgUnbox(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_var, modelica_metatype _in_a_varDecls, modelica_metatype _in_a_varBox, modelica_metatype _in_a_auxFunction, modelica_metatype *out_out_a_varDecls, modelica_metatype *out_out_a_varBox, modelica_metatype *out_out_a_auxFunction)
{
modelica_metatype _out_txt = NULL;
modelica_metatype _out_a_varDecls = NULL;
modelica_metatype _out_a_varBox = NULL;
modelica_metatype _out_a_auxFunction = NULL;
modelica_metatype tmpMeta[6] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_metatype tmp4_2;modelica_metatype tmp4_3;modelica_metatype tmp4_4;modelica_metatype tmp4_5;
tmp4_1 = _in_txt;
tmp4_2 = _in_a_var;
tmp4_3 = _in_a_varDecls;
tmp4_4 = _in_a_varBox;
tmp4_5 = _in_a_auxFunction;
{
modelica_metatype _txt = NULL;
modelica_metatype _a_varDecls = NULL;
modelica_metatype _a_varBox = NULL;
modelica_metatype _a_auxFunction = NULL;
modelica_string _i_name_1 = NULL;
modelica_metatype _i_ty = NULL;
modelica_metatype _i_name = NULL;
modelica_metatype _l_varName = NULL;
volatile mmc_switch_type tmp4;
int tmp5;
tmp4 = 0;
for (; tmp4 < 5; tmp4++) {
switch (MMC_SWITCH_CAST(tmp4)) {
case 0: {
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,0,7) == 0) goto tmp3_end;
tmpMeta[4] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 3));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[4],6,2) == 0) goto tmp3_end;
tmpMeta[5] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 6));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[5],0,0) == 0) goto tmp3_end;
_txt = tmp4_1;
_a_varDecls = tmp4_3;
_a_varBox = tmp4_4;
_a_auxFunction = tmp4_5;
_txt = omc_CodegenUtil_error(threadData, _txt, omc_Tpl_sourceInfo(threadData, _OMC_LIT27, ((modelica_integer) 1912), ((modelica_integer) 9)), _OMC_LIT2236);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_varDecls;
tmpMeta[0+2] = _a_varBox;
tmpMeta[0+3] = _a_auxFunction;
goto tmp3_done;
}
case 1: {
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,0,7) == 0) goto tmp3_end;
tmpMeta[4] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 3));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[4],6,2) == 0) goto tmp3_end;
tmpMeta[5] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 6));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[5],1,0) == 0) goto tmp3_end;
_txt = tmp4_1;
_a_varDecls = tmp4_3;
_a_varBox = tmp4_4;
_a_auxFunction = tmp4_5;
_txt = omc_CodegenUtil_error(threadData, _txt, omc_Tpl_sourceInfo(threadData, _OMC_LIT27, ((modelica_integer) 1914), ((modelica_integer) 10)), _OMC_LIT2237);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_varDecls;
tmpMeta[0+2] = _a_varBox;
tmpMeta[0+3] = _a_auxFunction;
goto tmp3_done;
}
case 2: {
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,0,7) == 0) goto tmp3_end;
tmpMeta[4] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
tmpMeta[5] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 3));
_i_name = tmpMeta[4];
_i_ty = tmpMeta[5];
_txt = tmp4_1;
_a_varDecls = tmp4_3;
_a_varBox = tmp4_4;
_a_auxFunction = tmp4_5;
_l_varName = omc_CodegenCFunctions_contextCrefNoPrevExp(threadData, _OMC_LIT20, _i_name, _OMC_LIT1356, _a_auxFunction ,&_a_auxFunction);
_txt = omc_CodegenCFunctions_unboxVariable(threadData, _txt, omc_Tpl_textString(threadData, _l_varName), _i_ty, _a_varBox, _a_varDecls ,&_a_varBox ,&_a_varDecls);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_varDecls;
tmpMeta[0+2] = _a_varBox;
tmpMeta[0+3] = _a_auxFunction;
goto tmp3_done;
}
case 3: {
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,1,4) == 0) goto tmp3_end;
tmpMeta[4] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
_i_name_1 = tmpMeta[4];
_txt = tmp4_1;
_a_varDecls = tmp4_3;
_a_varBox = tmp4_4;
_a_auxFunction = tmp4_5;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT236);
_txt = omc_Tpl_writeStr(threadData, _txt, _i_name_1);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_varDecls;
tmpMeta[0+2] = _a_varBox;
tmpMeta[0+3] = _a_auxFunction;
goto tmp3_done;
}
case 4: {
_txt = tmp4_1;
_a_varDecls = tmp4_3;
_a_varBox = tmp4_4;
_a_auxFunction = tmp4_5;
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_varDecls;
tmpMeta[0+2] = _a_varBox;
tmpMeta[0+3] = _a_auxFunction;
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta[0+0];
_out_a_varDecls = tmpMeta[0+1];
_out_a_varBox = tmpMeta[0+2];
_out_a_auxFunction = tmpMeta[0+3];
_return: OMC_LABEL_UNUSED
if (out_out_a_varDecls) { *out_out_a_varDecls = _out_a_varDecls; }
if (out_out_a_varBox) { *out_out_a_varBox = _out_a_varBox; }
if (out_out_a_auxFunction) { *out_out_a_auxFunction = _out_a_auxFunction; }
return _out_txt;
}
DLLExport
modelica_metatype omc_CodegenCFunctions_boxRecordConstructor(threadData_t *threadData, modelica_metatype _txt, modelica_metatype _a_fn, modelica_boolean _a_isSimulation)
{
modelica_metatype _out_txt = NULL;
modelica_metatype _l_auxFunction = NULL;
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
_l_auxFunction = _OMC_LIT20;
_out_txt = omc_CodegenCFunctions_fun__329(threadData, _txt, _a_fn, _a_isSimulation, _l_auxFunction ,&_l_auxFunction);
_return: OMC_LABEL_UNUSED
return _out_txt;
}
modelica_metatype boxptr_CodegenCFunctions_boxRecordConstructor(threadData_t *threadData, modelica_metatype _txt, modelica_metatype _a_fn, modelica_metatype _a_isSimulation)
{
modelica_integer tmp1;
modelica_metatype _out_txt = NULL;
tmp1 = mmc_unbox_integer(_a_isSimulation);
_out_txt = omc_CodegenCFunctions_boxRecordConstructor(threadData, _txt, _a_fn, tmp1);
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__329(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_fn, modelica_boolean _in_a_isSimulation, modelica_metatype _in_a_auxFunction, modelica_metatype *out_out_a_auxFunction)
{
modelica_metatype _out_txt = NULL;
modelica_metatype _out_a_auxFunction = NULL;
modelica_metatype tmpMeta[5] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_metatype tmp4_2;modelica_boolean tmp4_3;modelica_metatype tmp4_4;
tmp4_1 = _in_txt;
tmp4_2 = _in_a_fn;
tmp4_3 = _in_a_isSimulation;
tmp4_4 = _in_a_auxFunction;
{
modelica_metatype _txt = NULL;
modelica_boolean _a_isSimulation;
modelica_metatype _a_auxFunction = NULL;
modelica_metatype _i_visibility = NULL;
modelica_metatype _i_funArgs = NULL;
modelica_metatype _i_name = NULL;
modelica_boolean _ret_7;
modelica_boolean _ret_6;
modelica_integer _ret_5;
modelica_integer _ret_4;
modelica_metatype _l_start = NULL;
modelica_metatype _l_funArgsStr = NULL;
modelica_metatype _l_retType = NULL;
modelica_metatype _l_fname = NULL;
volatile mmc_switch_type tmp4;
int tmp5;
tmp4 = 0;
for (; tmp4 < 2; tmp4++) {
switch (MMC_SWITCH_CAST(tmp4)) {
case 0: {
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,4,5) == 0) goto tmp3_end;
tmpMeta[2] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
tmpMeta[3] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 3));
tmpMeta[4] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 5));
_i_name = tmpMeta[2];
_i_funArgs = tmpMeta[3];
_i_visibility = tmpMeta[4];
_txt = tmp4_1;
_a_isSimulation = tmp4_3;
_a_auxFunction = tmp4_4;
omc_System_tmpTickReset(threadData, ((modelica_integer) 1));
_l_fname = omc_CodegenUtil_underscorePath(threadData, _OMC_LIT20, _i_name);
_l_retType = omc_Tpl_writeText(threadData, _OMC_LIT20, _l_fname);
_l_retType = omc_Tpl_writeTok(threadData, _l_retType, _OMC_LIT2239);
_l_funArgsStr = omc_CodegenCFunctions_lm__323(threadData, _OMC_LIT20, _i_funArgs, _a_auxFunction ,&_a_auxFunction);
_ret_4 = listLength(_i_funArgs);
_ret_5 = omc_SimCodeFunctionUtil_incrementInt(threadData, _ret_4, ((modelica_integer) 1));
_l_start = omc_CodegenCFunctions_daeExpMetaHelperBoxStart(threadData, _OMC_LIT20, _ret_5);
_txt = omc_CodegenCFunctions_fun__325(threadData, _txt, _a_isSimulation, _i_visibility);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT2241);
_ret_6 = omc_Flags_isSet(threadData, _OMC_LIT604);
_txt = omc_CodegenCFunctions_fun__326(threadData, _txt, _ret_6);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT236);
_txt = omc_Tpl_writeText(threadData, _txt, _l_fname);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT2243);
_txt = omc_CodegenCFunctions_lm__327(threadData, _txt, _i_funArgs);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT428);
_txt = omc_Tpl_pushBlock(threadData, _txt, _OMC_LIT97);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT2245);
_txt = omc_Tpl_writeText(threadData, _txt, _l_start);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT2220);
_txt = omc_Tpl_writeText(threadData, _txt, _l_fname);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1331);
_txt = omc_Tpl_writeText(threadData, _txt, _l_funArgsStr);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT375);
_txt = omc_Tpl_popBlock(threadData, _txt);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT159);
_ret_7 = omc_Flags_isSet(threadData, _OMC_LIT604);
_txt = omc_CodegenCFunctions_fun__328(threadData, _txt, _ret_7, _l_fname);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_auxFunction;
goto tmp3_done;
}
case 1: {
_txt = tmp4_1;
_a_auxFunction = tmp4_4;
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_auxFunction;
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta[0+0];
_out_a_auxFunction = tmpMeta[0+1];
_return: OMC_LABEL_UNUSED
if (out_out_a_auxFunction) { *out_out_a_auxFunction = _out_a_auxFunction; }
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__329(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_fn, modelica_metatype _in_a_isSimulation, modelica_metatype _in_a_auxFunction, modelica_metatype *out_out_a_auxFunction)
{
modelica_integer tmp1;
modelica_metatype _out_txt = NULL;
tmp1 = mmc_unbox_integer(_in_a_isSimulation);
_out_txt = omc_CodegenCFunctions_fun__329(threadData, _in_txt, _in_a_fn, tmp1, _in_a_auxFunction, out_out_a_auxFunction);
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__328(threadData_t *threadData, modelica_metatype _in_txt, modelica_boolean _in_mArg, modelica_metatype _in_a_fname)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta[1] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp3_1;modelica_boolean tmp3_2;modelica_metatype tmp3_3;
tmp3_1 = _in_txt;
tmp3_2 = _in_mArg;
tmp3_3 = _in_a_fname;
{
modelica_metatype _txt = NULL;
modelica_metatype _a_fname = NULL;
volatile mmc_switch_type tmp3;
int tmp4;
tmp3 = 0;
for (; tmp3 < 2; tmp3++) {
switch (MMC_SWITCH_CAST(tmp3)) {
case 0: {
if (0 != tmp3_2) goto tmp2_end;
_txt = tmp3_1;
tmpMeta[0] = _txt;
goto tmp2_done;
}
case 1: {
_txt = tmp3_1;
_a_fname = tmp3_3;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT2247);
_txt = omc_Tpl_writeText(threadData, _txt, _a_fname);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT2249);
_txt = omc_Tpl_writeText(threadData, _txt, _a_fname);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT2251);
_txt = omc_Tpl_writeText(threadData, _txt, _a_fname);
tmpMeta[0] = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT105);
goto tmp2_done;
}
}
goto tmp2_end;
tmp2_end: ;
}
goto goto_1;
goto_1:;
MMC_THROW_INTERNAL();
goto tmp2_done;
tmp2_done:;
}
}
_out_txt = tmpMeta[0];
_return: OMC_LABEL_UNUSED
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__328(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_mArg, modelica_metatype _in_a_fname)
{
modelica_integer tmp1;
modelica_metatype _out_txt = NULL;
tmp1 = mmc_unbox_integer(_in_mArg);
_out_txt = omc_CodegenCFunctions_fun__328(threadData, _in_txt, tmp1, _in_a_fname);
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_lm__327(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_items)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta[3] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp3_1;modelica_metatype tmp3_2;
tmp3_1 = _in_txt;
tmp3_2 = _in_items;
{
modelica_metatype _txt = NULL;
modelica_metatype _rest = NULL;
modelica_metatype _i_var = NULL;
volatile mmc_switch_type tmp3;
int tmp4;
tmp3 = 0;
for (; tmp3 < 2; tmp3++) {
switch (MMC_SWITCH_CAST(tmp3)) {
case 0: {
if (!listEmpty(tmp3_2)) goto tmp2_end;
_txt = tmp3_1;
tmpMeta[0] = _txt;
goto tmp2_done;
}
case 1: {
if (listEmpty(tmp3_2)) goto tmp2_end;
tmpMeta[1] = MMC_CAR(tmp3_2);
tmpMeta[2] = MMC_CDR(tmp3_2);
_i_var = tmpMeta[1];
_rest = tmpMeta[2];
_txt = tmp3_1;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT292);
_txt = omc_CodegenCFunctions_funArgBoxedDefinition(threadData, _txt, _i_var);
_in_txt = _txt;
_in_items = _rest;
goto _tailrecursive;
goto tmp2_done;
}
}
goto tmp2_end;
tmp2_end: ;
}
goto goto_1;
goto_1:;
MMC_THROW_INTERNAL();
goto tmp2_done;
tmp2_done:;
}
}
_out_txt = tmpMeta[0];
_return: OMC_LABEL_UNUSED
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__326(threadData_t *threadData, modelica_metatype _in_txt, modelica_boolean _in_mArg)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta[1] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp3_1;modelica_boolean tmp3_2;
tmp3_1 = _in_txt;
tmp3_2 = _in_mArg;
{
modelica_metatype _txt = NULL;
volatile mmc_switch_type tmp3;
int tmp4;
tmp3 = 0;
for (; tmp3 < 2; tmp3++) {
switch (MMC_SWITCH_CAST(tmp3)) {
case 0: {
if (0 != tmp3_2) goto tmp2_end;
_txt = tmp3_1;
tmpMeta[0] = _txt;
goto tmp2_done;
}
case 1: {
_txt = tmp3_1;
tmpMeta[0] = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT2253);
goto tmp2_done;
}
}
goto tmp2_end;
tmp2_end: ;
}
goto goto_1;
goto_1:;
MMC_THROW_INTERNAL();
goto tmp2_done;
tmp2_done:;
}
}
_out_txt = tmpMeta[0];
_return: OMC_LABEL_UNUSED
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__326(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_mArg)
{
modelica_integer tmp1;
modelica_metatype _out_txt = NULL;
tmp1 = mmc_unbox_integer(_in_mArg);
_out_txt = omc_CodegenCFunctions_fun__326(threadData, _in_txt, tmp1);
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__325(threadData_t *threadData, modelica_metatype _in_txt, modelica_boolean _in_a_isSimulation, modelica_metatype _in_a_visibility)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta[1] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp3_1;modelica_boolean tmp3_2;modelica_metatype tmp3_3;
tmp3_1 = _in_txt;
tmp3_2 = _in_a_isSimulation;
tmp3_3 = _in_a_visibility;
{
modelica_metatype _txt = NULL;
modelica_metatype _a_visibility = NULL;
volatile mmc_switch_type tmp3;
int tmp4;
tmp3 = 0;
for (; tmp3 < 2; tmp3++) {
switch (MMC_SWITCH_CAST(tmp3)) {
case 0: {
if (0 != tmp3_2) goto tmp2_end;
_txt = tmp3_1;
_a_visibility = tmp3_3;
tmpMeta[0] = omc_CodegenCFunctions_fun__324(threadData, _txt, _a_visibility);
goto tmp2_done;
}
case 1: {
_txt = tmp3_1;
tmpMeta[0] = _txt;
goto tmp2_done;
}
}
goto tmp2_end;
tmp2_end: ;
}
goto goto_1;
goto_1:;
MMC_THROW_INTERNAL();
goto tmp2_done;
tmp2_done:;
}
}
_out_txt = tmpMeta[0];
_return: OMC_LABEL_UNUSED
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__325(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_isSimulation, modelica_metatype _in_a_visibility)
{
modelica_integer tmp1;
modelica_metatype _out_txt = NULL;
tmp1 = mmc_unbox_integer(_in_a_isSimulation);
_out_txt = omc_CodegenCFunctions_fun__325(threadData, _in_txt, tmp1, _in_a_visibility);
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__324(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_visibility)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta[1] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp3_1;modelica_metatype tmp3_2;
tmp3_1 = _in_txt;
tmp3_2 = _in_a_visibility;
{
modelica_metatype _txt = NULL;
volatile mmc_switch_type tmp3;
int tmp4;
tmp3 = 0;
for (; tmp3 < 2; tmp3++) {
switch (MMC_SWITCH_CAST(tmp3)) {
case 0: {
if (mmc__uniontype__metarecord__typedef__equal(tmp3_2,1,0) == 0) goto tmp2_end;
_txt = tmp3_1;
tmpMeta[0] = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT2255);
goto tmp2_done;
}
case 1: {
_txt = tmp3_1;
tmpMeta[0] = _txt;
goto tmp2_done;
}
}
goto tmp2_end;
tmp2_end: ;
}
goto goto_1;
goto_1:;
MMC_THROW_INTERNAL();
goto tmp2_done;
tmp2_done:;
}
}
_out_txt = tmpMeta[0];
_return: OMC_LABEL_UNUSED
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_lm__323(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_items, modelica_metatype _in_a_auxFunction, modelica_metatype *out_out_a_auxFunction)
{
modelica_metatype _out_txt = NULL;
modelica_metatype _out_a_auxFunction = NULL;
modelica_metatype tmpMeta[4] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_metatype tmp4_2;modelica_metatype tmp4_3;
tmp4_1 = _in_txt;
tmp4_2 = _in_items;
tmp4_3 = _in_a_auxFunction;
{
modelica_metatype _txt = NULL;
modelica_metatype _rest = NULL;
modelica_metatype _a_auxFunction = NULL;
modelica_metatype _i_var = NULL;
volatile mmc_switch_type tmp4;
int tmp5;
tmp4 = 0;
for (; tmp4 < 2; tmp4++) {
switch (MMC_SWITCH_CAST(tmp4)) {
case 0: {
if (!listEmpty(tmp4_2)) goto tmp3_end;
_txt = tmp4_1;
_a_auxFunction = tmp4_3;
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_auxFunction;
goto tmp3_done;
}
case 1: {
if (listEmpty(tmp4_2)) goto tmp3_end;
tmpMeta[2] = MMC_CAR(tmp4_2);
tmpMeta[3] = MMC_CDR(tmp4_2);
_i_var = tmpMeta[2];
_rest = tmpMeta[3];
_txt = tmp4_1;
_a_auxFunction = tmp4_3;
_txt = omc_CodegenCFunctions_fun__322(threadData, _txt, _i_var, _a_auxFunction ,&_a_auxFunction);
_in_txt = _txt;
_in_items = _rest;
_in_a_auxFunction = _a_auxFunction;
goto _tailrecursive;
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta[0+0];
_out_a_auxFunction = tmpMeta[0+1];
_return: OMC_LABEL_UNUSED
if (out_out_a_auxFunction) { *out_out_a_auxFunction = _out_a_auxFunction; }
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__322(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_var, modelica_metatype _in_a_auxFunction, modelica_metatype *out_out_a_auxFunction)
{
modelica_metatype _out_txt = NULL;
modelica_metatype _out_a_auxFunction = NULL;
modelica_metatype tmpMeta[3] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_metatype tmp4_2;modelica_metatype tmp4_3;
tmp4_1 = _in_txt;
tmp4_2 = _in_a_var;
tmp4_3 = _in_a_auxFunction;
{
modelica_metatype _txt = NULL;
modelica_metatype _a_auxFunction = NULL;
modelica_string _i_name_1 = NULL;
modelica_metatype _i_name = NULL;
int tmp4;
{
switch (MMC_SWITCH_CAST(valueConstructor(tmp4_2))) {
case 3: {
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,0,7) == 0) goto tmp3_end;
tmpMeta[2] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
_i_name = tmpMeta[2];
_txt = tmp4_1;
_a_auxFunction = tmp4_3;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT292);
tmpMeta[0+0] = omc_CodegenCFunctions_contextCrefNoPrevExp(threadData, _txt, _i_name, _OMC_LIT1356, _a_auxFunction, &tmpMeta[0+1]);
goto tmp3_done;
}
case 4: {
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,1,4) == 0) goto tmp3_end;
tmpMeta[2] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
_i_name_1 = tmpMeta[2];
_txt = tmp4_1;
_a_auxFunction = tmp4_3;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT292);
_txt = omc_Tpl_writeStr(threadData, _txt, _i_name_1);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_auxFunction;
goto tmp3_done;
}
default:
tmp3_default: OMC_LABEL_UNUSED; {
_txt = tmp4_1;
_a_auxFunction = tmp4_3;
_txt = omc_CodegenUtil_error(threadData, _txt, omc_Tpl_sourceInfo(threadData, _OMC_LIT27, ((modelica_integer) 1897), ((modelica_integer) 17)), _OMC_LIT2256);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_auxFunction;
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta[0+0];
_out_a_auxFunction = tmpMeta[0+1];
_return: OMC_LABEL_UNUSED
if (out_out_a_auxFunction) { *out_out_a_auxFunction = _out_a_auxFunction; }
return _out_txt;
}
DLLExport
modelica_metatype omc_CodegenCFunctions_functionBodyBoxedImpl(threadData_t *threadData, modelica_metatype _txt, modelica_metatype _a_name, modelica_metatype _a_funargs, modelica_metatype _a_outvars, modelica_metatype _a_visibility, modelica_boolean _a_isSimulation)
{
modelica_metatype _out_txt = NULL;
modelica_metatype _l_prototype = NULL;
modelica_metatype _l_afterBody = NULL;
modelica_metatype _ret_15 = NULL;
modelica_metatype _l_0__ = NULL;
modelica_metatype _l_retvar = NULL;
modelica_metatype _ret_12 = NULL;
modelica_metatype _l_outputs = NULL;
modelica_metatype _l_auxFunctionIgnore = NULL;
modelica_metatype _l_varFreesIgnore = NULL;
modelica_metatype _l_outputAllocIgnore = NULL;
modelica_metatype _l_varBoxIgnore = NULL;
modelica_metatype _l_args = NULL;
modelica_metatype _l_auxFunction = NULL;
modelica_metatype _l_varUnbox = NULL;
modelica_metatype _l_varBox = NULL;
modelica_metatype _l_varDecls = NULL;
modelica_metatype _l_retTypeBoxed = NULL;
modelica_metatype _l_fname = NULL;
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
omc_System_tmpTickReset(threadData, ((modelica_integer) 1));
omc_System_tmpTickResetIndex(threadData, ((modelica_integer) 0), ((modelica_integer) 1));
_l_fname = omc_CodegenUtil_underscorePath(threadData, _OMC_LIT20, _a_name);
_l_retTypeBoxed = omc_CodegenCFunctions_fun__311(threadData, _OMC_LIT20, _a_outvars);
_l_varDecls = _OMC_LIT20;
_l_varBox = _OMC_LIT20;
_l_varUnbox = _OMC_LIT20;
_l_auxFunction = _OMC_LIT20;
_l_args = omc_CodegenCFunctions_lm__312(threadData, _OMC_LIT20, _a_funargs, _l_auxFunction, _l_varBox, _l_varDecls ,&_l_auxFunction ,&_l_varBox ,&_l_varDecls);
_l_varBoxIgnore = _OMC_LIT20;
_l_outputAllocIgnore = _OMC_LIT20;
_l_varFreesIgnore = _OMC_LIT20;
_l_auxFunctionIgnore = _OMC_LIT20;
_ret_12 = omc_List_restOrEmpty(threadData, _a_outvars);
_l_outputs = omc_Tpl_pushIter(threadData, _OMC_LIT20, _OMC_LIT139);
_l_outputs = omc_CodegenCFunctions_lm__315(threadData, _l_outputs, _ret_12, _l_auxFunctionIgnore, _l_varFreesIgnore, _l_outputAllocIgnore, _l_varDecls ,&_l_auxFunctionIgnore ,&_l_varFreesIgnore ,&_l_outputAllocIgnore ,&_l_varDecls);
_l_outputs = omc_Tpl_popIter(threadData, _l_outputs);
_l_retvar = omc_CodegenCFunctions_fun__317(threadData, _OMC_LIT20, _a_outvars, _l_varUnbox, _l_auxFunctionIgnore, _l_varFreesIgnore, _l_outputAllocIgnore, _l_varDecls ,&_l_varUnbox ,&_l_auxFunctionIgnore ,&_l_varFreesIgnore ,&_l_outputAllocIgnore ,&_l_varDecls);
_ret_15 = omc_List_restOrEmpty(threadData, _a_outvars);
_l_0__ = omc_Tpl_pushIter(threadData, _OMC_LIT20, _OMC_LIT96);
_l_0__ = omc_CodegenCFunctions_lm__318(threadData, _l_0__, _ret_15, _l_varDecls, _l_varUnbox ,&_l_varDecls ,&_l_varUnbox);
_l_0__ = omc_Tpl_popIter(threadData, _l_0__);
_l_afterBody = _OMC_LIT20;
_l_prototype = omc_CodegenCFunctions_functionPrototype(threadData, _OMC_LIT20, omc_Tpl_textString(threadData, _l_fname), _a_funargs, _a_outvars, 1, _a_visibility, _a_isSimulation, 0, _l_afterBody ,&_l_afterBody);
_out_txt = omc_Tpl_writeText(threadData, _txt, _l_auxFunction);
_out_txt = omc_Tpl_softNewLine(threadData, _out_txt);
_out_txt = omc_Tpl_writeText(threadData, _out_txt, _l_prototype);
_out_txt = omc_Tpl_softNewLine(threadData, _out_txt);
_out_txt = omc_Tpl_writeTok(threadData, _out_txt, _OMC_LIT146);
_out_txt = omc_Tpl_pushBlock(threadData, _out_txt, _OMC_LIT97);
_out_txt = omc_Tpl_writeText(threadData, _out_txt, _l_varDecls);
_out_txt = omc_Tpl_softNewLine(threadData, _out_txt);
_out_txt = omc_CodegenCFunctions_addRootsTempArray(threadData, _out_txt);
_out_txt = omc_Tpl_softNewLine(threadData, _out_txt);
_out_txt = omc_Tpl_writeText(threadData, _out_txt, _l_varBox);
_out_txt = omc_Tpl_softNewLine(threadData, _out_txt);
_out_txt = omc_CodegenCFunctions_fun__319(threadData, _out_txt, _a_outvars);
_out_txt = omc_Tpl_writeTok(threadData, _out_txt, _OMC_LIT627);
_out_txt = omc_Tpl_writeText(threadData, _out_txt, _l_fname);
_out_txt = omc_Tpl_writeTok(threadData, _out_txt, _OMC_LIT1291);
_out_txt = omc_Tpl_writeText(threadData, _out_txt, _l_args);
_out_txt = omc_Tpl_writeText(threadData, _out_txt, _l_outputs);
_out_txt = omc_Tpl_writeTok(threadData, _out_txt, _OMC_LIT375);
_out_txt = omc_Tpl_writeText(threadData, _out_txt, _l_varUnbox);
_out_txt = omc_Tpl_softNewLine(threadData, _out_txt);
_out_txt = omc_CodegenCFunctions_fun__320(threadData, _out_txt, _a_outvars, _l_retvar);
_out_txt = omc_Tpl_softNewLine(threadData, _out_txt);
_out_txt = omc_Tpl_popBlock(threadData, _out_txt);
_out_txt = omc_Tpl_writeTok(threadData, _out_txt, _OMC_LIT159);
_out_txt = omc_Tpl_writeText(threadData, _out_txt, _l_afterBody);
_return: OMC_LABEL_UNUSED
return _out_txt;
}
modelica_metatype boxptr_CodegenCFunctions_functionBodyBoxedImpl(threadData_t *threadData, modelica_metatype _txt, modelica_metatype _a_name, modelica_metatype _a_funargs, modelica_metatype _a_outvars, modelica_metatype _a_visibility, modelica_metatype _a_isSimulation)
{
modelica_integer tmp1;
modelica_metatype _out_txt = NULL;
tmp1 = mmc_unbox_integer(_a_isSimulation);
_out_txt = omc_CodegenCFunctions_functionBodyBoxedImpl(threadData, _txt, _a_name, _a_funargs, _a_outvars, _a_visibility, tmp1);
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__320(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_outvars, modelica_metatype _in_a_retvar)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta[3] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp3_1;modelica_metatype tmp3_2;modelica_metatype tmp3_3;
tmp3_1 = _in_txt;
tmp3_2 = _in_a_outvars;
tmp3_3 = _in_a_retvar;
{
modelica_metatype _txt = NULL;
modelica_metatype _a_retvar = NULL;
volatile mmc_switch_type tmp3;
int tmp4;
tmp3 = 0;
for (; tmp3 < 2; tmp3++) {
switch (MMC_SWITCH_CAST(tmp3)) {
case 0: {
if (listEmpty(tmp3_2)) goto tmp2_end;
tmpMeta[1] = MMC_CAR(tmp3_2);
tmpMeta[2] = MMC_CDR(tmp3_2);
_txt = tmp3_1;
_a_retvar = tmp3_3;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT995);
_txt = omc_Tpl_writeText(threadData, _txt, _a_retvar);
tmpMeta[0] = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT105);
goto tmp2_done;
}
case 1: {
_txt = tmp3_1;
tmpMeta[0] = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT2258);
goto tmp2_done;
}
}
goto tmp2_end;
tmp2_end: ;
}
goto goto_1;
goto_1:;
MMC_THROW_INTERNAL();
goto tmp2_done;
tmp2_done:;
}
}
_out_txt = tmpMeta[0];
_return: OMC_LABEL_UNUSED
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__319(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_outvars)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta[3] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp3_1;modelica_metatype tmp3_2;
tmp3_1 = _in_txt;
tmp3_2 = _in_a_outvars;
{
modelica_metatype _txt = NULL;
modelica_metatype _i_v = NULL;
volatile mmc_switch_type tmp3;
int tmp4;
tmp3 = 0;
for (; tmp3 < 2; tmp3++) {
switch (MMC_SWITCH_CAST(tmp3)) {
case 0: {
if (listEmpty(tmp3_2)) goto tmp2_end;
tmpMeta[1] = MMC_CAR(tmp3_2);
tmpMeta[2] = MMC_CDR(tmp3_2);
_i_v = tmpMeta[1];
_txt = tmp3_1;
_txt = omc_CodegenCFunctions_funArgName(threadData, _txt, _i_v);
tmpMeta[0] = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT121);
goto tmp2_done;
}
case 1: {
_txt = tmp3_1;
tmpMeta[0] = _txt;
goto tmp2_done;
}
}
goto tmp2_end;
tmp2_end: ;
}
goto goto_1;
goto_1:;
MMC_THROW_INTERNAL();
goto tmp2_done;
tmp2_done:;
}
}
_out_txt = tmpMeta[0];
_return: OMC_LABEL_UNUSED
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_lm__318(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_items, modelica_metatype _in_a_varDecls, modelica_metatype _in_a_varUnbox, modelica_metatype *out_out_a_varDecls, modelica_metatype *out_out_a_varUnbox)
{
modelica_metatype _out_txt = NULL;
modelica_metatype _out_a_varDecls = NULL;
modelica_metatype _out_a_varUnbox = NULL;
modelica_metatype tmpMeta[7] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_metatype tmp4_2;modelica_metatype tmp4_3;modelica_metatype tmp4_4;
tmp4_1 = _in_txt;
tmp4_2 = _in_items;
tmp4_3 = _in_a_varDecls;
tmp4_4 = _in_a_varUnbox;
{
modelica_metatype _txt = NULL;
modelica_metatype _rest = NULL;
modelica_metatype _a_varDecls = NULL;
modelica_metatype _a_varUnbox = NULL;
modelica_metatype _i_var_instDims = NULL;
modelica_metatype _i_var_ty = NULL;
modelica_metatype _i_var = NULL;
modelica_metatype _ret_3 = NULL;
modelica_metatype _txt_2 = NULL;
modelica_metatype _txt_1 = NULL;
modelica_metatype _l_arg = NULL;
volatile mmc_switch_type tmp4;
int tmp5;
tmp4 = 0;
for (; tmp4 < 3; tmp4++) {
switch (MMC_SWITCH_CAST(tmp4)) {
case 0: {
if (!listEmpty(tmp4_2)) goto tmp3_end;
_txt = tmp4_1;
_a_varDecls = tmp4_3;
_a_varUnbox = tmp4_4;
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_varDecls;
tmpMeta[0+2] = _a_varUnbox;
goto tmp3_done;
}
case 1: {
if (listEmpty(tmp4_2)) goto tmp3_end;
tmpMeta[3] = MMC_CAR(tmp4_2);
tmpMeta[4] = MMC_CDR(tmp4_2);
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[3],0,7) == 0) goto tmp3_end;
tmpMeta[5] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[3]), 3));
tmpMeta[6] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[3]), 5));
_i_var = tmpMeta[3];
_i_var_ty = tmpMeta[5];
_i_var_instDims = tmpMeta[6];
_rest = tmpMeta[4];
_txt = tmp4_1;
_a_varDecls = tmp4_3;
_a_varUnbox = tmp4_4;
_l_arg = omc_CodegenCFunctions_funArgName(threadData, _OMC_LIT20, _i_var);
_txt_1 = omc_Tpl_writeTok(threadData, _OMC_LIT20, _OMC_LIT2260);
_txt_1 = omc_Tpl_writeText(threadData, _txt_1, _l_arg);
_txt_2 = omc_Tpl_writeTok(threadData, _OMC_LIT20, _OMC_LIT2262);
_txt_2 = omc_Tpl_writeText(threadData, _txt_2, _l_arg);
_ret_3 = omc_Types_liftTypeWithDims(threadData, _i_var_ty, _i_var_instDims);
_txt = omc_CodegenCFunctions_funArgBox(threadData, _txt, omc_Tpl_textString(threadData, _txt_1), omc_Tpl_textString(threadData, _l_arg), omc_Tpl_textString(threadData, _txt_2), _ret_3, _a_varUnbox, _a_varDecls ,&_a_varUnbox ,&_a_varDecls);
_txt = omc_Tpl_nextIter(threadData, _txt);
_in_txt = _txt;
_in_items = _rest;
_in_a_varDecls = _a_varDecls;
_in_a_varUnbox = _a_varUnbox;
goto _tailrecursive;
goto tmp3_done;
}
case 2: {
if (listEmpty(tmp4_2)) goto tmp3_end;
tmpMeta[3] = MMC_CAR(tmp4_2);
tmpMeta[4] = MMC_CDR(tmp4_2);
_rest = tmpMeta[4];
_txt = tmp4_1;
_a_varDecls = tmp4_3;
_a_varUnbox = tmp4_4;
_in_txt = _txt;
_in_items = _rest;
_in_a_varDecls = _a_varDecls;
_in_a_varUnbox = _a_varUnbox;
goto _tailrecursive;
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta[0+0];
_out_a_varDecls = tmpMeta[0+1];
_out_a_varUnbox = tmpMeta[0+2];
_return: OMC_LABEL_UNUSED
if (out_out_a_varDecls) { *out_out_a_varDecls = _out_a_varDecls; }
if (out_out_a_varUnbox) { *out_out_a_varUnbox = _out_a_varUnbox; }
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__317(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_outvars, modelica_metatype _in_a_varUnbox, modelica_metatype _in_a_auxFunctionIgnore, modelica_metatype _in_a_varFreesIgnore, modelica_metatype _in_a_outputAllocIgnore, modelica_metatype _in_a_varDecls, modelica_metatype *out_out_a_varUnbox, modelica_metatype *out_out_a_auxFunctionIgnore, modelica_metatype *out_out_a_varFreesIgnore, modelica_metatype *out_out_a_outputAllocIgnore, modelica_metatype *out_out_a_varDecls)
{
modelica_metatype _out_txt = NULL;
modelica_metatype _out_a_varUnbox = NULL;
modelica_metatype _out_a_auxFunctionIgnore = NULL;
modelica_metatype _out_a_varFreesIgnore = NULL;
modelica_metatype _out_a_outputAllocIgnore = NULL;
modelica_metatype _out_a_varDecls = NULL;
modelica_metatype tmpMeta[10] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_metatype tmp4_2;modelica_metatype tmp4_3;modelica_metatype tmp4_4;modelica_metatype tmp4_5;modelica_metatype tmp4_6;modelica_metatype tmp4_7;
tmp4_1 = _in_txt;
tmp4_2 = _in_a_outvars;
tmp4_3 = _in_a_varUnbox;
tmp4_4 = _in_a_auxFunctionIgnore;
tmp4_5 = _in_a_varFreesIgnore;
tmp4_6 = _in_a_outputAllocIgnore;
tmp4_7 = _in_a_varDecls;
{
modelica_metatype _txt = NULL;
modelica_metatype _a_varUnbox = NULL;
modelica_metatype _a_auxFunctionIgnore = NULL;
modelica_metatype _a_varFreesIgnore = NULL;
modelica_metatype _a_outputAllocIgnore = NULL;
modelica_metatype _a_varDecls = NULL;
modelica_metatype _i_v_instDims = NULL;
modelica_metatype _i_v_ty = NULL;
modelica_metatype _i_v = NULL;
modelica_metatype _txt_6 = NULL;
modelica_metatype _ret_5 = NULL;
modelica_metatype _ret_4 = NULL;
modelica_metatype _txt_3 = NULL;
modelica_metatype _l_out = NULL;
volatile mmc_switch_type tmp4;
int tmp5;
tmp4 = 0;
for (; tmp4 < 4; tmp4++) {
switch (MMC_SWITCH_CAST(tmp4)) {
case 0: {
if (!listEmpty(tmp4_2)) goto tmp3_end;
_txt = tmp4_1;
_a_varUnbox = tmp4_3;
_a_auxFunctionIgnore = tmp4_4;
_a_varFreesIgnore = tmp4_5;
_a_outputAllocIgnore = tmp4_6;
_a_varDecls = tmp4_7;
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_varUnbox;
tmpMeta[0+2] = _a_auxFunctionIgnore;
tmpMeta[0+3] = _a_varFreesIgnore;
tmpMeta[0+4] = _a_outputAllocIgnore;
tmpMeta[0+5] = _a_varDecls;
goto tmp3_done;
}
case 1: {
if (listEmpty(tmp4_2)) goto tmp3_end;
tmpMeta[6] = MMC_CAR(tmp4_2);
tmpMeta[7] = MMC_CDR(tmp4_2);
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[6],0,7) == 0) goto tmp3_end;
tmpMeta[8] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[6]), 3));
tmpMeta[9] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[6]), 5));
_i_v = tmpMeta[6];
_i_v_ty = tmpMeta[8];
_i_v_instDims = tmpMeta[9];
_txt = tmp4_1;
_a_varUnbox = tmp4_3;
_a_auxFunctionIgnore = tmp4_4;
_a_varFreesIgnore = tmp4_5;
_a_outputAllocIgnore = tmp4_6;
_a_varDecls = tmp4_7;
omc_CodegenCFunctions_varInit(threadData, _OMC_LIT20, _i_v, _OMC_LIT91, _a_varDecls, _a_outputAllocIgnore, _a_varFreesIgnore, _a_auxFunctionIgnore ,&_a_varDecls ,&_a_outputAllocIgnore ,&_a_varFreesIgnore ,&_a_auxFunctionIgnore);
_l_out = omc_Tpl_writeTok(threadData, _OMC_LIT20, _OMC_LIT2262);
_l_out = omc_CodegenCFunctions_funArgName(threadData, _l_out, _i_v);
_txt_3 = omc_CodegenCFunctions_funArgName(threadData, _OMC_LIT20, _i_v);
_ret_4 = omc_Types_liftTypeWithDims(threadData, _i_v_ty, _i_v_instDims);
omc_CodegenCFunctions_funArgBox(threadData, _OMC_LIT20, omc_Tpl_textString(threadData, _l_out), omc_Tpl_textString(threadData, _txt_3), _OMC_LIT91, _ret_4, _a_varUnbox, _a_varDecls ,&_a_varUnbox ,&_a_varDecls);
_ret_5 = omc_Types_liftTypeWithDims(threadData, _i_v_ty, _i_v_instDims);
_txt_6 = omc_CodegenCFunctions_mmcConstructorType(threadData, _OMC_LIT20, _ret_5);
_txt = omc_CodegenCFunctions_fun__316(threadData, _txt, _txt_6, _l_out, _a_varDecls, _i_v ,&_a_varDecls);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_varUnbox;
tmpMeta[0+2] = _a_auxFunctionIgnore;
tmpMeta[0+3] = _a_varFreesIgnore;
tmpMeta[0+4] = _a_outputAllocIgnore;
tmpMeta[0+5] = _a_varDecls;
goto tmp3_done;
}
case 2: {
if (listEmpty(tmp4_2)) goto tmp3_end;
tmpMeta[6] = MMC_CAR(tmp4_2);
tmpMeta[7] = MMC_CDR(tmp4_2);
_i_v = tmpMeta[6];
_txt = tmp4_1;
_a_varUnbox = tmp4_3;
_a_auxFunctionIgnore = tmp4_4;
_a_varFreesIgnore = tmp4_5;
_a_outputAllocIgnore = tmp4_6;
_a_varDecls = tmp4_7;
omc_CodegenCFunctions_varInit(threadData, _OMC_LIT20, _i_v, _OMC_LIT91, _a_varDecls, _a_outputAllocIgnore, _a_varFreesIgnore, _a_auxFunctionIgnore ,&_a_varDecls ,&_a_outputAllocIgnore ,&_a_varFreesIgnore ,&_a_auxFunctionIgnore);
_txt = omc_CodegenCFunctions_funArgName(threadData, _txt, _i_v);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_varUnbox;
tmpMeta[0+2] = _a_auxFunctionIgnore;
tmpMeta[0+3] = _a_varFreesIgnore;
tmpMeta[0+4] = _a_outputAllocIgnore;
tmpMeta[0+5] = _a_varDecls;
goto tmp3_done;
}
case 3: {
_txt = tmp4_1;
_a_varUnbox = tmp4_3;
_a_auxFunctionIgnore = tmp4_4;
_a_varFreesIgnore = tmp4_5;
_a_outputAllocIgnore = tmp4_6;
_a_varDecls = tmp4_7;
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_varUnbox;
tmpMeta[0+2] = _a_auxFunctionIgnore;
tmpMeta[0+3] = _a_varFreesIgnore;
tmpMeta[0+4] = _a_outputAllocIgnore;
tmpMeta[0+5] = _a_varDecls;
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta[0+0];
_out_a_varUnbox = tmpMeta[0+1];
_out_a_auxFunctionIgnore = tmpMeta[0+2];
_out_a_varFreesIgnore = tmpMeta[0+3];
_out_a_outputAllocIgnore = tmpMeta[0+4];
_out_a_varDecls = tmpMeta[0+5];
_return: OMC_LABEL_UNUSED
if (out_out_a_varUnbox) { *out_out_a_varUnbox = _out_a_varUnbox; }
if (out_out_a_auxFunctionIgnore) { *out_out_a_auxFunctionIgnore = _out_a_auxFunctionIgnore; }
if (out_out_a_varFreesIgnore) { *out_out_a_varFreesIgnore = _out_a_varFreesIgnore; }
if (out_out_a_outputAllocIgnore) { *out_out_a_outputAllocIgnore = _out_a_outputAllocIgnore; }
if (out_out_a_varDecls) { *out_out_a_varDecls = _out_a_varDecls; }
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__316(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_mArg, modelica_metatype _in_a_out, modelica_metatype _in_a_varDecls, modelica_metatype _in_a_v, modelica_metatype *out_out_a_varDecls)
{
modelica_metatype _out_txt = NULL;
modelica_metatype _out_a_varDecls = NULL;
modelica_metatype tmpMeta[3] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_metatype tmp4_2;modelica_metatype tmp4_3;modelica_metatype tmp4_4;modelica_metatype tmp4_5;
tmp4_1 = _in_txt;
tmp4_2 = _in_mArg;
tmp4_3 = _in_a_out;
tmp4_4 = _in_a_varDecls;
tmp4_5 = _in_a_v;
{
modelica_metatype _txt = NULL;
modelica_metatype _a_out = NULL;
modelica_metatype _a_varDecls = NULL;
modelica_metatype _a_v = NULL;
volatile mmc_switch_type tmp4;
int tmp5;
tmp4 = 0;
for (; tmp4 < 2; tmp4++) {
switch (MMC_SWITCH_CAST(tmp4)) {
case 0: {
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,0,2) == 0) goto tmp3_end;
tmpMeta[2] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
if (!listEmpty(tmpMeta[2])) goto tmp3_end;
_txt = tmp4_1;
_a_varDecls = tmp4_4;
_a_v = tmp4_5;
_txt = omc_CodegenCFunctions_funArgName(threadData, _txt, _a_v);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_varDecls;
goto tmp3_done;
}
case 1: {
_txt = tmp4_1;
_a_out = tmp4_3;
_a_varDecls = tmp4_4;
_a_varDecls = omc_Tpl_writeTok(threadData, _a_varDecls, _OMC_LIT416);
_a_varDecls = omc_Tpl_writeText(threadData, _a_varDecls, _a_out);
_a_varDecls = omc_Tpl_writeTok(threadData, _a_varDecls, _OMC_LIT105);
_a_varDecls = omc_Tpl_writeTok(threadData, _a_varDecls, _OMC_LIT89);
_txt = omc_Tpl_writeText(threadData, _txt, _a_out);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_varDecls;
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta[0+0];
_out_a_varDecls = tmpMeta[0+1];
_return: OMC_LABEL_UNUSED
if (out_out_a_varDecls) { *out_out_a_varDecls = _out_a_varDecls; }
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_lm__315(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_items, modelica_metatype _in_a_auxFunctionIgnore, modelica_metatype _in_a_varFreesIgnore, modelica_metatype _in_a_outputAllocIgnore, modelica_metatype _in_a_varDecls, modelica_metatype *out_out_a_auxFunctionIgnore, modelica_metatype *out_out_a_varFreesIgnore, modelica_metatype *out_out_a_outputAllocIgnore, modelica_metatype *out_out_a_varDecls)
{
modelica_metatype _out_txt = NULL;
modelica_metatype _out_a_auxFunctionIgnore = NULL;
modelica_metatype _out_a_varFreesIgnore = NULL;
modelica_metatype _out_a_outputAllocIgnore = NULL;
modelica_metatype _out_a_varDecls = NULL;
modelica_metatype tmpMeta[7] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_metatype tmp4_2;modelica_metatype tmp4_3;modelica_metatype tmp4_4;modelica_metatype tmp4_5;modelica_metatype tmp4_6;
tmp4_1 = _in_txt;
tmp4_2 = _in_items;
tmp4_3 = _in_a_auxFunctionIgnore;
tmp4_4 = _in_a_varFreesIgnore;
tmp4_5 = _in_a_outputAllocIgnore;
tmp4_6 = _in_a_varDecls;
{
modelica_metatype _txt = NULL;
modelica_metatype _rest = NULL;
modelica_metatype _a_auxFunctionIgnore = NULL;
modelica_metatype _a_varFreesIgnore = NULL;
modelica_metatype _a_outputAllocIgnore = NULL;
modelica_metatype _a_varDecls = NULL;
modelica_metatype _i_var = NULL;
volatile mmc_switch_type tmp4;
int tmp5;
tmp4 = 0;
for (; tmp4 < 2; tmp4++) {
switch (MMC_SWITCH_CAST(tmp4)) {
case 0: {
if (!listEmpty(tmp4_2)) goto tmp3_end;
_txt = tmp4_1;
_a_auxFunctionIgnore = tmp4_3;
_a_varFreesIgnore = tmp4_4;
_a_outputAllocIgnore = tmp4_5;
_a_varDecls = tmp4_6;
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_auxFunctionIgnore;
tmpMeta[0+2] = _a_varFreesIgnore;
tmpMeta[0+3] = _a_outputAllocIgnore;
tmpMeta[0+4] = _a_varDecls;
goto tmp3_done;
}
case 1: {
if (listEmpty(tmp4_2)) goto tmp3_end;
tmpMeta[5] = MMC_CAR(tmp4_2);
tmpMeta[6] = MMC_CDR(tmp4_2);
_i_var = tmpMeta[5];
_rest = tmpMeta[6];
_txt = tmp4_1;
_a_auxFunctionIgnore = tmp4_3;
_a_varFreesIgnore = tmp4_4;
_a_outputAllocIgnore = tmp4_5;
_a_varDecls = tmp4_6;
_txt = omc_CodegenCFunctions_fun__314(threadData, _txt, _i_var, _a_auxFunctionIgnore, _a_varFreesIgnore, _a_outputAllocIgnore, _a_varDecls ,&_a_auxFunctionIgnore ,&_a_varFreesIgnore ,&_a_outputAllocIgnore ,&_a_varDecls);
_txt = omc_Tpl_nextIter(threadData, _txt);
_in_txt = _txt;
_in_items = _rest;
_in_a_auxFunctionIgnore = _a_auxFunctionIgnore;
_in_a_varFreesIgnore = _a_varFreesIgnore;
_in_a_outputAllocIgnore = _a_outputAllocIgnore;
_in_a_varDecls = _a_varDecls;
goto _tailrecursive;
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta[0+0];
_out_a_auxFunctionIgnore = tmpMeta[0+1];
_out_a_varFreesIgnore = tmpMeta[0+2];
_out_a_outputAllocIgnore = tmpMeta[0+3];
_out_a_varDecls = tmpMeta[0+4];
_return: OMC_LABEL_UNUSED
if (out_out_a_auxFunctionIgnore) { *out_out_a_auxFunctionIgnore = _out_a_auxFunctionIgnore; }
if (out_out_a_varFreesIgnore) { *out_out_a_varFreesIgnore = _out_a_varFreesIgnore; }
if (out_out_a_outputAllocIgnore) { *out_out_a_outputAllocIgnore = _out_a_outputAllocIgnore; }
if (out_out_a_varDecls) { *out_out_a_varDecls = _out_a_varDecls; }
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__314(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_var, modelica_metatype _in_a_auxFunctionIgnore, modelica_metatype _in_a_varFreesIgnore, modelica_metatype _in_a_outputAllocIgnore, modelica_metatype _in_a_varDecls, modelica_metatype *out_out_a_auxFunctionIgnore, modelica_metatype *out_out_a_varFreesIgnore, modelica_metatype *out_out_a_outputAllocIgnore, modelica_metatype *out_out_a_varDecls)
{
modelica_metatype _out_txt = NULL;
modelica_metatype _out_a_auxFunctionIgnore = NULL;
modelica_metatype _out_a_varFreesIgnore = NULL;
modelica_metatype _out_a_outputAllocIgnore = NULL;
modelica_metatype _out_a_varDecls = NULL;
modelica_metatype tmpMeta[7] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_metatype tmp4_2;modelica_metatype tmp4_3;modelica_metatype tmp4_4;modelica_metatype tmp4_5;modelica_metatype tmp4_6;
tmp4_1 = _in_txt;
tmp4_2 = _in_a_var;
tmp4_3 = _in_a_auxFunctionIgnore;
tmp4_4 = _in_a_varFreesIgnore;
tmp4_5 = _in_a_outputAllocIgnore;
tmp4_6 = _in_a_varDecls;
{
modelica_metatype _txt = NULL;
modelica_metatype _a_auxFunctionIgnore = NULL;
modelica_metatype _a_varFreesIgnore = NULL;
modelica_metatype _a_outputAllocIgnore = NULL;
modelica_metatype _a_varDecls = NULL;
modelica_metatype _i_var = NULL;
modelica_metatype _i_v = NULL;
modelica_metatype _i_v_instDims = NULL;
modelica_metatype _i_v_ty = NULL;
modelica_metatype _txt_1 = NULL;
modelica_metatype _ret_0 = NULL;
volatile mmc_switch_type tmp4;
int tmp5;
tmp4 = 0;
for (; tmp4 < 3; tmp4++) {
switch (MMC_SWITCH_CAST(tmp4)) {
case 0: {
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,0,7) == 0) goto tmp3_end;
tmpMeta[5] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 3));
tmpMeta[6] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 5));
_i_v = tmp4_2;
_i_v_ty = tmpMeta[5];
_i_v_instDims = tmpMeta[6];
_txt = tmp4_1;
_a_auxFunctionIgnore = tmp4_3;
_a_varFreesIgnore = tmp4_4;
_a_outputAllocIgnore = tmp4_5;
_a_varDecls = tmp4_6;
_ret_0 = omc_Types_liftTypeWithDims(threadData, _i_v_ty, _i_v_instDims);
_txt_1 = omc_CodegenCFunctions_mmcConstructorType(threadData, _OMC_LIT20, _ret_0);
tmpMeta[0+0] = omc_CodegenCFunctions_fun__313(threadData, _txt, _txt_1, _a_auxFunctionIgnore, _a_varFreesIgnore, _a_outputAllocIgnore, _a_varDecls, _i_v, &tmpMeta[0+1], &tmpMeta[0+2], &tmpMeta[0+3], &tmpMeta[0+4]);
goto tmp3_done;
}
case 1: {
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,1,4) == 0) goto tmp3_end;
_i_var = tmp4_2;
_txt = tmp4_1;
_a_auxFunctionIgnore = tmp4_3;
_a_varFreesIgnore = tmp4_4;
_a_outputAllocIgnore = tmp4_5;
_a_varDecls = tmp4_6;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT2143);
_txt = omc_CodegenCFunctions_funArgName(threadData, _txt, _i_var);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_auxFunctionIgnore;
tmpMeta[0+2] = _a_varFreesIgnore;
tmpMeta[0+3] = _a_outputAllocIgnore;
tmpMeta[0+4] = _a_varDecls;
goto tmp3_done;
}
case 2: {
_txt = tmp4_1;
_a_auxFunctionIgnore = tmp4_3;
_a_varFreesIgnore = tmp4_4;
_a_outputAllocIgnore = tmp4_5;
_a_varDecls = tmp4_6;
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_auxFunctionIgnore;
tmpMeta[0+2] = _a_varFreesIgnore;
tmpMeta[0+3] = _a_outputAllocIgnore;
tmpMeta[0+4] = _a_varDecls;
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta[0+0];
_out_a_auxFunctionIgnore = tmpMeta[0+1];
_out_a_varFreesIgnore = tmpMeta[0+2];
_out_a_outputAllocIgnore = tmpMeta[0+3];
_out_a_varDecls = tmpMeta[0+4];
_return: OMC_LABEL_UNUSED
if (out_out_a_auxFunctionIgnore) { *out_out_a_auxFunctionIgnore = _out_a_auxFunctionIgnore; }
if (out_out_a_varFreesIgnore) { *out_out_a_varFreesIgnore = _out_a_varFreesIgnore; }
if (out_out_a_outputAllocIgnore) { *out_out_a_outputAllocIgnore = _out_a_outputAllocIgnore; }
if (out_out_a_varDecls) { *out_out_a_varDecls = _out_a_varDecls; }
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__313(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_mArg, modelica_metatype _in_a_auxFunctionIgnore, modelica_metatype _in_a_varFreesIgnore, modelica_metatype _in_a_outputAllocIgnore, modelica_metatype _in_a_varDecls, modelica_metatype _in_a_var, modelica_metatype *out_out_a_auxFunctionIgnore, modelica_metatype *out_out_a_varFreesIgnore, modelica_metatype *out_out_a_outputAllocIgnore, modelica_metatype *out_out_a_varDecls)
{
modelica_metatype _out_txt = NULL;
modelica_metatype _out_a_auxFunctionIgnore = NULL;
modelica_metatype _out_a_varFreesIgnore = NULL;
modelica_metatype _out_a_outputAllocIgnore = NULL;
modelica_metatype _out_a_varDecls = NULL;
modelica_metatype tmpMeta[6] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_metatype tmp4_2;modelica_metatype tmp4_3;modelica_metatype tmp4_4;modelica_metatype tmp4_5;modelica_metatype tmp4_6;modelica_metatype tmp4_7;
tmp4_1 = _in_txt;
tmp4_2 = _in_mArg;
tmp4_3 = _in_a_auxFunctionIgnore;
tmp4_4 = _in_a_varFreesIgnore;
tmp4_5 = _in_a_outputAllocIgnore;
tmp4_6 = _in_a_varDecls;
tmp4_7 = _in_a_var;
{
modelica_metatype _txt = NULL;
modelica_metatype _a_auxFunctionIgnore = NULL;
modelica_metatype _a_varFreesIgnore = NULL;
modelica_metatype _a_outputAllocIgnore = NULL;
modelica_metatype _a_varDecls = NULL;
modelica_metatype _a_var = NULL;
volatile mmc_switch_type tmp4;
int tmp5;
tmp4 = 0;
for (; tmp4 < 2; tmp4++) {
switch (MMC_SWITCH_CAST(tmp4)) {
case 0: {
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,0,2) == 0) goto tmp3_end;
tmpMeta[5] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
if (!listEmpty(tmpMeta[5])) goto tmp3_end;
_txt = tmp4_1;
_a_auxFunctionIgnore = tmp4_3;
_a_varFreesIgnore = tmp4_4;
_a_outputAllocIgnore = tmp4_5;
_a_varDecls = tmp4_6;
_a_var = tmp4_7;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT2143);
_txt = omc_CodegenCFunctions_funArgName(threadData, _txt, _a_var);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_auxFunctionIgnore;
tmpMeta[0+2] = _a_varFreesIgnore;
tmpMeta[0+3] = _a_outputAllocIgnore;
tmpMeta[0+4] = _a_varDecls;
goto tmp3_done;
}
case 1: {
_txt = tmp4_1;
_a_auxFunctionIgnore = tmp4_3;
_a_varFreesIgnore = tmp4_4;
_a_outputAllocIgnore = tmp4_5;
_a_varDecls = tmp4_6;
_a_var = tmp4_7;
omc_CodegenCFunctions_varInit(threadData, _OMC_LIT20, _a_var, _OMC_LIT91, _a_varDecls, _a_outputAllocIgnore, _a_varFreesIgnore, _a_auxFunctionIgnore ,&_a_varDecls ,&_a_outputAllocIgnore ,&_a_varFreesIgnore ,&_a_auxFunctionIgnore);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT123);
_txt = omc_CodegenCFunctions_funArgName(threadData, _txt, _a_var);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_auxFunctionIgnore;
tmpMeta[0+2] = _a_varFreesIgnore;
tmpMeta[0+3] = _a_outputAllocIgnore;
tmpMeta[0+4] = _a_varDecls;
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta[0+0];
_out_a_auxFunctionIgnore = tmpMeta[0+1];
_out_a_varFreesIgnore = tmpMeta[0+2];
_out_a_outputAllocIgnore = tmpMeta[0+3];
_out_a_varDecls = tmpMeta[0+4];
_return: OMC_LABEL_UNUSED
if (out_out_a_auxFunctionIgnore) { *out_out_a_auxFunctionIgnore = _out_a_auxFunctionIgnore; }
if (out_out_a_varFreesIgnore) { *out_out_a_varFreesIgnore = _out_a_varFreesIgnore; }
if (out_out_a_outputAllocIgnore) { *out_out_a_outputAllocIgnore = _out_a_outputAllocIgnore; }
if (out_out_a_varDecls) { *out_out_a_varDecls = _out_a_varDecls; }
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_lm__312(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_items, modelica_metatype _in_a_auxFunction, modelica_metatype _in_a_varBox, modelica_metatype _in_a_varDecls, modelica_metatype *out_out_a_auxFunction, modelica_metatype *out_out_a_varBox, modelica_metatype *out_out_a_varDecls)
{
modelica_metatype _out_txt = NULL;
modelica_metatype _out_a_auxFunction = NULL;
modelica_metatype _out_a_varBox = NULL;
modelica_metatype _out_a_varDecls = NULL;
modelica_metatype tmpMeta[6] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_metatype tmp4_2;modelica_metatype tmp4_3;modelica_metatype tmp4_4;modelica_metatype tmp4_5;
tmp4_1 = _in_txt;
tmp4_2 = _in_items;
tmp4_3 = _in_a_auxFunction;
tmp4_4 = _in_a_varBox;
tmp4_5 = _in_a_varDecls;
{
modelica_metatype _txt = NULL;
modelica_metatype _rest = NULL;
modelica_metatype _a_auxFunction = NULL;
modelica_metatype _a_varBox = NULL;
modelica_metatype _a_varDecls = NULL;
modelica_metatype _i_arg = NULL;
volatile mmc_switch_type tmp4;
int tmp5;
tmp4 = 0;
for (; tmp4 < 2; tmp4++) {
switch (MMC_SWITCH_CAST(tmp4)) {
case 0: {
if (!listEmpty(tmp4_2)) goto tmp3_end;
_txt = tmp4_1;
_a_auxFunction = tmp4_3;
_a_varBox = tmp4_4;
_a_varDecls = tmp4_5;
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_auxFunction;
tmpMeta[0+2] = _a_varBox;
tmpMeta[0+3] = _a_varDecls;
goto tmp3_done;
}
case 1: {
if (listEmpty(tmp4_2)) goto tmp3_end;
tmpMeta[4] = MMC_CAR(tmp4_2);
tmpMeta[5] = MMC_CDR(tmp4_2);
_i_arg = tmpMeta[4];
_rest = tmpMeta[5];
_txt = tmp4_1;
_a_auxFunction = tmp4_3;
_a_varBox = tmp4_4;
_a_varDecls = tmp4_5;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT292);
_txt = omc_CodegenCFunctions_funArgUnbox(threadData, _txt, _i_arg, _a_varDecls, _a_varBox, _a_auxFunction ,&_a_varDecls ,&_a_varBox ,&_a_auxFunction);
_in_txt = _txt;
_in_items = _rest;
_in_a_auxFunction = _a_auxFunction;
_in_a_varBox = _a_varBox;
_in_a_varDecls = _a_varDecls;
goto _tailrecursive;
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta[0+0];
_out_a_auxFunction = tmpMeta[0+1];
_out_a_varBox = tmpMeta[0+2];
_out_a_varDecls = tmpMeta[0+3];
_return: OMC_LABEL_UNUSED
if (out_out_a_auxFunction) { *out_out_a_auxFunction = _out_a_auxFunction; }
if (out_out_a_varBox) { *out_out_a_varBox = _out_a_varBox; }
if (out_out_a_varDecls) { *out_out_a_varDecls = _out_a_varDecls; }
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__311(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_outvars)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta[1] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp3_1;modelica_metatype tmp3_2;
tmp3_1 = _in_txt;
tmp3_2 = _in_a_outvars;
{
modelica_metatype _txt = NULL;
volatile mmc_switch_type tmp3;
int tmp4;
tmp3 = 0;
for (; tmp3 < 2; tmp3++) {
switch (MMC_SWITCH_CAST(tmp3)) {
case 0: {
if (!listEmpty(tmp3_2)) goto tmp2_end;
_txt = tmp3_1;
tmpMeta[0] = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT610);
goto tmp2_done;
}
case 1: {
_txt = tmp3_1;
tmpMeta[0] = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT611);
goto tmp2_done;
}
}
goto tmp2_end;
tmp2_end: ;
}
goto goto_1;
goto_1:;
MMC_THROW_INTERNAL();
goto tmp2_done;
tmp2_done:;
}
}
_out_txt = tmpMeta[0];
_return: OMC_LABEL_UNUSED
return _out_txt;
}
DLLExport
modelica_metatype omc_CodegenCFunctions_functionBodyBoxed(threadData_t *threadData, modelica_metatype _txt, modelica_metatype _a_fn, modelica_boolean _a_isSimulation)
{
modelica_metatype _out_txt = NULL;
modelica_metatype _l_fname = NULL;
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
_l_fname = omc_CodegenCFunctions_fun__306(threadData, _OMC_LIT20, _a_fn);
_out_txt = omc_CodegenCFunctions_fun__309(threadData, _txt, _a_fn, _a_isSimulation);
_return: OMC_LABEL_UNUSED
return _out_txt;
}
modelica_metatype boxptr_CodegenCFunctions_functionBodyBoxed(threadData_t *threadData, modelica_metatype _txt, modelica_metatype _a_fn, modelica_metatype _a_isSimulation)
{
modelica_integer tmp1;
modelica_metatype _out_txt = NULL;
tmp1 = mmc_unbox_integer(_a_isSimulation);
_out_txt = omc_CodegenCFunctions_functionBodyBoxed(threadData, _txt, _a_fn, tmp1);
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__309(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_fn, modelica_boolean _in_a_isSimulation)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta[5] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp3_1;modelica_metatype tmp3_2;modelica_boolean tmp3_3;
tmp3_1 = _in_txt;
tmp3_2 = _in_a_fn;
tmp3_3 = _in_a_isSimulation;
{
modelica_metatype _txt = NULL;
modelica_boolean _a_isSimulation;
modelica_metatype _i_funArgs = NULL;
modelica_metatype _i_visibility = NULL;
modelica_metatype _i_outVars = NULL;
modelica_metatype _i_functionArguments = NULL;
modelica_metatype _i_name = NULL;
modelica_metatype _i_fn = NULL;
modelica_boolean _ret_1;
modelica_boolean _ret_0;
volatile mmc_switch_type tmp3;
int tmp4;
tmp3 = 0;
for (; tmp3 < 4; tmp3++) {
switch (MMC_SWITCH_CAST(tmp3)) {
case 0: {
if (mmc__uniontype__metarecord__typedef__equal(tmp3_2,0,7) == 0) goto tmp2_end;
tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_2), 2));
tmpMeta[2] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_2), 3));
tmpMeta[3] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_2), 4));
tmpMeta[4] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_2), 7));
_i_fn = tmp3_2;
_i_name = tmpMeta[1];
_i_outVars = tmpMeta[2];
_i_functionArguments = tmpMeta[3];
_i_visibility = tmpMeta[4];
_txt = tmp3_1;
_a_isSimulation = tmp3_3;
_ret_0 = omc_SimCodeFunctionUtil_isBoxedFunction(threadData, _i_fn);
tmpMeta[0] = omc_CodegenCFunctions_fun__307(threadData, _txt, _ret_0, _a_isSimulation, _i_visibility, _i_outVars, _i_functionArguments, _i_name);
goto tmp2_done;
}
case 1: {
if (mmc__uniontype__metarecord__typedef__equal(tmp3_2,3,14) == 0) goto tmp2_end;
tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_2), 2));
tmpMeta[2] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_2), 4));
tmpMeta[3] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_2), 8));
tmpMeta[4] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_2), 13));
_i_fn = tmp3_2;
_i_name = tmpMeta[1];
_i_funArgs = tmpMeta[2];
_i_outVars = tmpMeta[3];
_i_visibility = tmpMeta[4];
_txt = tmp3_1;
_a_isSimulation = tmp3_3;
_ret_1 = omc_SimCodeFunctionUtil_isBoxedFunction(threadData, _i_fn);
tmpMeta[0] = omc_CodegenCFunctions_fun__308(threadData, _txt, _ret_1, _a_isSimulation, _i_visibility, _i_outVars, _i_funArgs, _i_name);
goto tmp2_done;
}
case 2: {
if (mmc__uniontype__metarecord__typedef__equal(tmp3_2,4,5) == 0) goto tmp2_end;
_i_fn = tmp3_2;
_txt = tmp3_1;
_a_isSimulation = tmp3_3;
tmpMeta[0] = omc_CodegenCFunctions_boxRecordConstructor(threadData, _txt, _i_fn, _a_isSimulation);
goto tmp2_done;
}
case 3: {
_txt = tmp3_1;
tmpMeta[0] = _txt;
goto tmp2_done;
}
}
goto tmp2_end;
tmp2_end: ;
}
goto goto_1;
goto_1:;
MMC_THROW_INTERNAL();
goto tmp2_done;
tmp2_done:;
}
}
_out_txt = tmpMeta[0];
_return: OMC_LABEL_UNUSED
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__309(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_fn, modelica_metatype _in_a_isSimulation)
{
modelica_integer tmp1;
modelica_metatype _out_txt = NULL;
tmp1 = mmc_unbox_integer(_in_a_isSimulation);
_out_txt = omc_CodegenCFunctions_fun__309(threadData, _in_txt, _in_a_fn, tmp1);
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__308(threadData_t *threadData, modelica_metatype _in_txt, modelica_boolean _in_mArg, modelica_boolean _in_a_isSimulation, modelica_metatype _in_a_visibility, modelica_metatype _in_a_outVars, modelica_metatype _in_a_funArgs, modelica_metatype _in_a_name)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta[1] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp3_1;modelica_boolean tmp3_2;modelica_boolean tmp3_3;modelica_metatype tmp3_4;modelica_metatype tmp3_5;modelica_metatype tmp3_6;modelica_metatype tmp3_7;
tmp3_1 = _in_txt;
tmp3_2 = _in_mArg;
tmp3_3 = _in_a_isSimulation;
tmp3_4 = _in_a_visibility;
tmp3_5 = _in_a_outVars;
tmp3_6 = _in_a_funArgs;
tmp3_7 = _in_a_name;
{
modelica_metatype _txt = NULL;
modelica_boolean _a_isSimulation;
modelica_metatype _a_visibility = NULL;
modelica_metatype _a_outVars = NULL;
modelica_metatype _a_funArgs = NULL;
modelica_metatype _a_name = NULL;
volatile mmc_switch_type tmp3;
int tmp4;
tmp3 = 0;
for (; tmp3 < 2; tmp3++) {
switch (MMC_SWITCH_CAST(tmp3)) {
case 0: {
if (0 != tmp3_2) goto tmp2_end;
_txt = tmp3_1;
_a_isSimulation = tmp3_3;
_a_visibility = tmp3_4;
_a_outVars = tmp3_5;
_a_funArgs = tmp3_6;
_a_name = tmp3_7;
tmpMeta[0] = omc_CodegenCFunctions_functionBodyBoxedImpl(threadData, _txt, _a_name, _a_funArgs, _a_outVars, _a_visibility, _a_isSimulation);
goto tmp2_done;
}
case 1: {
_txt = tmp3_1;
tmpMeta[0] = _txt;
goto tmp2_done;
}
}
goto tmp2_end;
tmp2_end: ;
}
goto goto_1;
goto_1:;
MMC_THROW_INTERNAL();
goto tmp2_done;
tmp2_done:;
}
}
_out_txt = tmpMeta[0];
_return: OMC_LABEL_UNUSED
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__308(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_mArg, modelica_metatype _in_a_isSimulation, modelica_metatype _in_a_visibility, modelica_metatype _in_a_outVars, modelica_metatype _in_a_funArgs, modelica_metatype _in_a_name)
{
modelica_integer tmp1;
modelica_integer tmp2;
modelica_metatype _out_txt = NULL;
tmp1 = mmc_unbox_integer(_in_mArg);
tmp2 = mmc_unbox_integer(_in_a_isSimulation);
_out_txt = omc_CodegenCFunctions_fun__308(threadData, _in_txt, tmp1, tmp2, _in_a_visibility, _in_a_outVars, _in_a_funArgs, _in_a_name);
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__307(threadData_t *threadData, modelica_metatype _in_txt, modelica_boolean _in_mArg, modelica_boolean _in_a_isSimulation, modelica_metatype _in_a_visibility, modelica_metatype _in_a_outVars, modelica_metatype _in_a_functionArguments, modelica_metatype _in_a_name)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta[1] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp3_1;modelica_boolean tmp3_2;modelica_boolean tmp3_3;modelica_metatype tmp3_4;modelica_metatype tmp3_5;modelica_metatype tmp3_6;modelica_metatype tmp3_7;
tmp3_1 = _in_txt;
tmp3_2 = _in_mArg;
tmp3_3 = _in_a_isSimulation;
tmp3_4 = _in_a_visibility;
tmp3_5 = _in_a_outVars;
tmp3_6 = _in_a_functionArguments;
tmp3_7 = _in_a_name;
{
modelica_metatype _txt = NULL;
modelica_boolean _a_isSimulation;
modelica_metatype _a_visibility = NULL;
modelica_metatype _a_outVars = NULL;
modelica_metatype _a_functionArguments = NULL;
modelica_metatype _a_name = NULL;
volatile mmc_switch_type tmp3;
int tmp4;
tmp3 = 0;
for (; tmp3 < 2; tmp3++) {
switch (MMC_SWITCH_CAST(tmp3)) {
case 0: {
if (0 != tmp3_2) goto tmp2_end;
_txt = tmp3_1;
_a_isSimulation = tmp3_3;
_a_visibility = tmp3_4;
_a_outVars = tmp3_5;
_a_functionArguments = tmp3_6;
_a_name = tmp3_7;
tmpMeta[0] = omc_CodegenCFunctions_functionBodyBoxedImpl(threadData, _txt, _a_name, _a_functionArguments, _a_outVars, _a_visibility, _a_isSimulation);
goto tmp2_done;
}
case 1: {
_txt = tmp3_1;
tmpMeta[0] = _txt;
goto tmp2_done;
}
}
goto tmp2_end;
tmp2_end: ;
}
goto goto_1;
goto_1:;
MMC_THROW_INTERNAL();
goto tmp2_done;
tmp2_done:;
}
}
_out_txt = tmpMeta[0];
_return: OMC_LABEL_UNUSED
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__307(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_mArg, modelica_metatype _in_a_isSimulation, modelica_metatype _in_a_visibility, modelica_metatype _in_a_outVars, modelica_metatype _in_a_functionArguments, modelica_metatype _in_a_name)
{
modelica_integer tmp1;
modelica_integer tmp2;
modelica_metatype _out_txt = NULL;
tmp1 = mmc_unbox_integer(_in_mArg);
tmp2 = mmc_unbox_integer(_in_a_isSimulation);
_out_txt = omc_CodegenCFunctions_fun__307(threadData, _in_txt, tmp1, tmp2, _in_a_visibility, _in_a_outVars, _in_a_functionArguments, _in_a_name);
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__306(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_fn)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta[2] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp3_1;modelica_metatype tmp3_2;
tmp3_1 = _in_txt;
tmp3_2 = _in_a_fn;
{
modelica_metatype _txt = NULL;
modelica_metatype _i_name = NULL;
int tmp3;
{
switch (MMC_SWITCH_CAST(valueConstructor(tmp3_2))) {
case 3: {
if (mmc__uniontype__metarecord__typedef__equal(tmp3_2,0,7) == 0) goto tmp2_end;
tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_2), 2));
_i_name = tmpMeta[1];
_txt = tmp3_1;
tmpMeta[0] = omc_CodegenUtil_underscorePath(threadData, _txt, _i_name);
goto tmp2_done;
}
case 6: {
if (mmc__uniontype__metarecord__typedef__equal(tmp3_2,3,14) == 0) goto tmp2_end;
tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_2), 2));
_i_name = tmpMeta[1];
_txt = tmp3_1;
tmpMeta[0] = omc_CodegenUtil_underscorePath(threadData, _txt, _i_name);
goto tmp2_done;
}
case 7: {
if (mmc__uniontype__metarecord__typedef__equal(tmp3_2,4,5) == 0) goto tmp2_end;
tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_2), 2));
_i_name = tmpMeta[1];
_txt = tmp3_1;
tmpMeta[0] = omc_CodegenUtil_underscorePath(threadData, _txt, _i_name);
goto tmp2_done;
}
default:
tmp2_default: OMC_LABEL_UNUSED; {
_txt = tmp3_1;
tmpMeta[0] = _txt;
goto tmp2_done;
}
}
goto tmp2_end;
tmp2_end: ;
}
goto goto_1;
goto_1:;
MMC_THROW_INTERNAL();
goto tmp2_done;
tmp2_done:;
}
}
_out_txt = tmpMeta[0];
_return: OMC_LABEL_UNUSED
return _out_txt;
}
DLLExport
modelica_metatype omc_CodegenCFunctions_varInitRecord(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_var, modelica_string _in_a_prefix, modelica_metatype _in_a_varDecls, modelica_metatype _in_a_varInits, modelica_metatype _in_a_auxFunction, modelica_metatype *out_out_a_varDecls, modelica_metatype *out_out_a_varInits, modelica_metatype *out_out_a_auxFunction)
{
modelica_metatype _out_txt = NULL;
modelica_metatype _out_a_varDecls = NULL;
modelica_metatype _out_a_varInits = NULL;
modelica_metatype _out_a_auxFunction = NULL;
modelica_metatype tmpMeta[9] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_metatype tmp4_2;modelica_string tmp4_3;modelica_metatype tmp4_4;modelica_metatype tmp4_5;modelica_metatype tmp4_6;
tmp4_1 = _in_txt;
tmp4_2 = _in_a_var;
tmp4_3 = _in_a_prefix;
tmp4_4 = _in_a_varDecls;
tmp4_5 = _in_a_varInits;
tmp4_6 = _in_a_auxFunction;
{
modelica_metatype _txt = NULL;
modelica_string _a_prefix = NULL;
modelica_metatype _a_varDecls = NULL;
modelica_metatype _a_varInits = NULL;
modelica_metatype _a_auxFunction = NULL;
modelica_metatype _i_var_ty = NULL;
modelica_metatype _i_var_value = NULL;
modelica_metatype _i_instDims = NULL;
modelica_metatype _i_var = NULL;
modelica_metatype _i_var_name = NULL;
modelica_metatype _l_instDimsInit = NULL;
modelica_metatype _l_initRecords = NULL;
modelica_metatype _l_varName = NULL;
volatile mmc_switch_type tmp4;
int tmp5;
tmp4 = 0;
for (; tmp4 < 3; tmp4++) {
switch (MMC_SWITCH_CAST(tmp4)) {
case 0: {
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,0,7) == 0) goto tmp3_end;
tmpMeta[4] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
tmpMeta[5] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 3));
tmpMeta[6] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 4));
tmpMeta[7] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 5));
tmpMeta[8] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 6));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[8],2,0) == 0) goto tmp3_end;
_i_var = tmp4_2;
_i_var_name = tmpMeta[4];
_i_var_ty = tmpMeta[5];
_i_var_value = tmpMeta[6];
_i_instDims = tmpMeta[7];
_txt = tmp4_1;
_a_prefix = tmp4_3;
_a_varDecls = tmp4_4;
_a_varInits = tmp4_5;
_a_auxFunction = tmp4_6;
_l_varName = omc_Tpl_writeStr(threadData, _OMC_LIT20, _a_prefix);
_l_varName = omc_Tpl_writeTok(threadData, _l_varName, _OMC_LIT518);
_l_varName = omc_CodegenUtil_crefStr(threadData, _l_varName, _i_var_name);
_l_initRecords = omc_CodegenCFunctions_initRecordMembers(threadData, _OMC_LIT20, _i_var, _a_varDecls, _a_varInits, _a_auxFunction ,&_a_varDecls ,&_a_varInits ,&_a_auxFunction);
_a_varInits = omc_Tpl_writeText(threadData, _a_varInits, _l_initRecords);
_l_instDimsInit = omc_Tpl_pushIter(threadData, _OMC_LIT20, _OMC_LIT294);
_l_instDimsInit = omc_CodegenCFunctions_lm__302(threadData, _l_instDimsInit, _i_instDims, _a_auxFunction, _a_varDecls, _a_varInits ,&_a_auxFunction ,&_a_varDecls ,&_a_varInits);
_l_instDimsInit = omc_Tpl_popIter(threadData, _l_instDimsInit);
_txt = omc_CodegenCFunctions_fun__304(threadData, _txt, _i_instDims, _i_var, _l_instDimsInit, _i_var_ty, _a_auxFunction, _a_varDecls, _a_varInits, _l_varName, _i_var_value ,&_a_auxFunction ,&_a_varDecls ,&_a_varInits);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_varDecls;
tmpMeta[0+2] = _a_varInits;
tmpMeta[0+3] = _a_auxFunction;
goto tmp3_done;
}
case 1: {
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,1,4) == 0) goto tmp3_end;
_txt = tmp4_1;
_a_varDecls = tmp4_4;
_a_varInits = tmp4_5;
_a_auxFunction = tmp4_6;
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_varDecls;
tmpMeta[0+2] = _a_varInits;
tmpMeta[0+3] = _a_auxFunction;
goto tmp3_done;
}
case 2: {
_txt = tmp4_1;
_a_varDecls = tmp4_4;
_a_varInits = tmp4_5;
_a_auxFunction = tmp4_6;
_txt = omc_CodegenUtil_error(threadData, _txt, omc_Tpl_sourceInfo(threadData, _OMC_LIT27, ((modelica_integer) 1801), ((modelica_integer) 12)), _OMC_LIT2263);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_varDecls;
tmpMeta[0+2] = _a_varInits;
tmpMeta[0+3] = _a_auxFunction;
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta[0+0];
_out_a_varDecls = tmpMeta[0+1];
_out_a_varInits = tmpMeta[0+2];
_out_a_auxFunction = tmpMeta[0+3];
_return: OMC_LABEL_UNUSED
if (out_out_a_varDecls) { *out_out_a_varDecls = _out_a_varDecls; }
if (out_out_a_varInits) { *out_out_a_varInits = _out_a_varInits; }
if (out_out_a_auxFunction) { *out_out_a_auxFunction = _out_a_auxFunction; }
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__304(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_instDims, modelica_metatype _in_a_var, modelica_metatype _in_a_instDimsInit, modelica_metatype _in_a_var_ty, modelica_metatype _in_a_auxFunction, modelica_metatype _in_a_varDecls, modelica_metatype _in_a_varInits, modelica_metatype _in_a_varName, modelica_metatype _in_a_var_value, modelica_metatype *out_out_a_auxFunction, modelica_metatype *out_out_a_varDecls, modelica_metatype *out_out_a_varInits)
{
modelica_metatype _out_txt = NULL;
modelica_metatype _out_a_auxFunction = NULL;
modelica_metatype _out_a_varDecls = NULL;
modelica_metatype _out_a_varInits = NULL;
modelica_metatype tmpMeta[4] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_metatype tmp4_2;modelica_metatype tmp4_3;modelica_metatype tmp4_4;modelica_metatype tmp4_5;modelica_metatype tmp4_6;modelica_metatype tmp4_7;modelica_metatype tmp4_8;modelica_metatype tmp4_9;modelica_metatype tmp4_10;
tmp4_1 = _in_txt;
tmp4_2 = _in_a_instDims;
tmp4_3 = _in_a_var;
tmp4_4 = _in_a_instDimsInit;
tmp4_5 = _in_a_var_ty;
tmp4_6 = _in_a_auxFunction;
tmp4_7 = _in_a_varDecls;
tmp4_8 = _in_a_varInits;
tmp4_9 = _in_a_varName;
tmp4_10 = _in_a_var_value;
{
modelica_metatype _txt = NULL;
modelica_metatype _a_var = NULL;
modelica_metatype _a_instDimsInit = NULL;
modelica_metatype _a_var_ty = NULL;
modelica_metatype _a_auxFunction = NULL;
modelica_metatype _a_varDecls = NULL;
modelica_metatype _a_varInits = NULL;
modelica_metatype _a_varName = NULL;
modelica_metatype _a_var_value = NULL;
modelica_metatype _i_instDims = NULL;
modelica_metatype _l_defaultValue = NULL;
modelica_integer _ret_1;
modelica_metatype _l_defaultAlloc = NULL;
volatile mmc_switch_type tmp4;
int tmp5;
tmp4 = 0;
for (; tmp4 < 2; tmp4++) {
switch (MMC_SWITCH_CAST(tmp4)) {
case 0: {
if (!listEmpty(tmp4_2)) goto tmp3_end;
_txt = tmp4_1;
_a_auxFunction = tmp4_6;
_a_varDecls = tmp4_7;
_a_varInits = tmp4_8;
_a_varName = tmp4_9;
_a_var_value = tmp4_10;
tmpMeta[0+0] = omc_CodegenCFunctions_fun__303(threadData, _txt, _a_var_value, _a_auxFunction, _a_varDecls, _a_varInits, _a_varName, &tmpMeta[0+1], &tmpMeta[0+2], &tmpMeta[0+3]);
goto tmp3_done;
}
case 1: {
_txt = tmp4_1;
_i_instDims = tmp4_2;
_a_var = tmp4_3;
_a_instDimsInit = tmp4_4;
_a_var_ty = tmp4_5;
_a_auxFunction = tmp4_6;
_a_varDecls = tmp4_7;
_a_varInits = tmp4_8;
_a_varName = tmp4_9;
_l_defaultAlloc = omc_Tpl_writeTok(threadData, _OMC_LIT20, _OMC_LIT296);
_l_defaultAlloc = omc_CodegenCFunctions_expTypeShort(threadData, _l_defaultAlloc, _a_var_ty);
_l_defaultAlloc = omc_Tpl_writeTok(threadData, _l_defaultAlloc, _OMC_LIT556);
_l_defaultAlloc = omc_Tpl_writeText(threadData, _l_defaultAlloc, _a_varName);
_l_defaultAlloc = omc_Tpl_writeTok(threadData, _l_defaultAlloc, _OMC_LIT292);
_ret_1 = listLength(_i_instDims);
_l_defaultAlloc = omc_Tpl_writeStr(threadData, _l_defaultAlloc, intString(_ret_1));
_l_defaultAlloc = omc_Tpl_writeTok(threadData, _l_defaultAlloc, _OMC_LIT292);
_l_defaultAlloc = omc_Tpl_writeText(threadData, _l_defaultAlloc, _a_instDimsInit);
_l_defaultAlloc = omc_Tpl_writeTok(threadData, _l_defaultAlloc, _OMC_LIT290);
_l_defaultAlloc = omc_Tpl_writeTok(threadData, _l_defaultAlloc, _OMC_LIT89);
_l_defaultValue = omc_CodegenCFunctions_varAllocDefaultValue(threadData, _OMC_LIT20, _a_var, _OMC_LIT91, omc_Tpl_textString(threadData, _a_varName), _l_defaultAlloc, _a_varDecls, _a_varInits, _a_auxFunction ,&_l_defaultAlloc ,&_a_varDecls ,&_a_varInits ,&_a_auxFunction);
_a_varInits = omc_Tpl_writeText(threadData, _a_varInits, _l_defaultValue);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_auxFunction;
tmpMeta[0+2] = _a_varDecls;
tmpMeta[0+3] = _a_varInits;
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta[0+0];
_out_a_auxFunction = tmpMeta[0+1];
_out_a_varDecls = tmpMeta[0+2];
_out_a_varInits = tmpMeta[0+3];
_return: OMC_LABEL_UNUSED
if (out_out_a_auxFunction) { *out_out_a_auxFunction = _out_a_auxFunction; }
if (out_out_a_varDecls) { *out_out_a_varDecls = _out_a_varDecls; }
if (out_out_a_varInits) { *out_out_a_varInits = _out_a_varInits; }
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__303(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_var_value, modelica_metatype _in_a_auxFunction, modelica_metatype _in_a_varDecls, modelica_metatype _in_a_varInits, modelica_metatype _in_a_varName, modelica_metatype *out_out_a_auxFunction, modelica_metatype *out_out_a_varDecls, modelica_metatype *out_out_a_varInits)
{
modelica_metatype _out_txt = NULL;
modelica_metatype _out_a_auxFunction = NULL;
modelica_metatype _out_a_varDecls = NULL;
modelica_metatype _out_a_varInits = NULL;
modelica_metatype tmpMeta[5] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_metatype tmp4_2;modelica_metatype tmp4_3;modelica_metatype tmp4_4;modelica_metatype tmp4_5;modelica_metatype tmp4_6;
tmp4_1 = _in_txt;
tmp4_2 = _in_a_var_value;
tmp4_3 = _in_a_auxFunction;
tmp4_4 = _in_a_varDecls;
tmp4_5 = _in_a_varInits;
tmp4_6 = _in_a_varName;
{
modelica_metatype _txt = NULL;
modelica_metatype _a_auxFunction = NULL;
modelica_metatype _a_varDecls = NULL;
modelica_metatype _a_varInits = NULL;
modelica_metatype _a_varName = NULL;
modelica_metatype _i_exp = NULL;
modelica_metatype _l_defaultValue = NULL;
volatile mmc_switch_type tmp4;
int tmp5;
tmp4 = 0;
for (; tmp4 < 2; tmp4++) {
switch (MMC_SWITCH_CAST(tmp4)) {
case 0: {
if (optionNone(tmp4_2)) goto tmp3_end;
tmpMeta[4] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 1));
_i_exp = tmpMeta[4];
_txt = tmp4_1;
_a_auxFunction = tmp4_3;
_a_varDecls = tmp4_4;
_a_varInits = tmp4_5;
_a_varName = tmp4_6;
_l_defaultValue = omc_Tpl_writeText(threadData, _OMC_LIT20, _a_varName);
_l_defaultValue = omc_Tpl_writeTok(threadData, _l_defaultValue, _OMC_LIT121);
_l_defaultValue = omc_CodegenCFunctions_daeExp(threadData, _l_defaultValue, _i_exp, _OMC_LIT1356, _a_varInits, _a_varDecls, _a_auxFunction ,&_a_varInits ,&_a_varDecls ,&_a_auxFunction);
_l_defaultValue = omc_Tpl_writeTok(threadData, _l_defaultValue, _OMC_LIT105);
_l_defaultValue = omc_Tpl_writeTok(threadData, _l_defaultValue, _OMC_LIT89);
_a_varInits = omc_Tpl_writeText(threadData, _a_varInits, _l_defaultValue);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT29);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_auxFunction;
tmpMeta[0+2] = _a_varDecls;
tmpMeta[0+3] = _a_varInits;
goto tmp3_done;
}
case 1: {
_txt = tmp4_1;
_a_auxFunction = tmp4_3;
_a_varDecls = tmp4_4;
_a_varInits = tmp4_5;
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_auxFunction;
tmpMeta[0+2] = _a_varDecls;
tmpMeta[0+3] = _a_varInits;
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta[0+0];
_out_a_auxFunction = tmpMeta[0+1];
_out_a_varDecls = tmpMeta[0+2];
_out_a_varInits = tmpMeta[0+3];
_return: OMC_LABEL_UNUSED
if (out_out_a_auxFunction) { *out_out_a_auxFunction = _out_a_auxFunction; }
if (out_out_a_varDecls) { *out_out_a_varDecls = _out_a_varDecls; }
if (out_out_a_varInits) { *out_out_a_varInits = _out_a_varInits; }
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_lm__302(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_items, modelica_metatype _in_a_auxFunction, modelica_metatype _in_a_varDecls, modelica_metatype _in_a_varInits, modelica_metatype *out_out_a_auxFunction, modelica_metatype *out_out_a_varDecls, modelica_metatype *out_out_a_varInits)
{
modelica_metatype _out_txt = NULL;
modelica_metatype _out_a_auxFunction = NULL;
modelica_metatype _out_a_varDecls = NULL;
modelica_metatype _out_a_varInits = NULL;
modelica_metatype tmpMeta[6] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_metatype tmp4_2;modelica_metatype tmp4_3;modelica_metatype tmp4_4;modelica_metatype tmp4_5;
tmp4_1 = _in_txt;
tmp4_2 = _in_items;
tmp4_3 = _in_a_auxFunction;
tmp4_4 = _in_a_varDecls;
tmp4_5 = _in_a_varInits;
{
modelica_metatype _txt = NULL;
modelica_metatype _rest = NULL;
modelica_metatype _a_auxFunction = NULL;
modelica_metatype _a_varDecls = NULL;
modelica_metatype _a_varInits = NULL;
modelica_metatype _i_dim = NULL;
volatile mmc_switch_type tmp4;
int tmp5;
tmp4 = 0;
for (; tmp4 < 2; tmp4++) {
switch (MMC_SWITCH_CAST(tmp4)) {
case 0: {
if (!listEmpty(tmp4_2)) goto tmp3_end;
_txt = tmp4_1;
_a_auxFunction = tmp4_3;
_a_varDecls = tmp4_4;
_a_varInits = tmp4_5;
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_auxFunction;
tmpMeta[0+2] = _a_varDecls;
tmpMeta[0+3] = _a_varInits;
goto tmp3_done;
}
case 1: {
if (listEmpty(tmp4_2)) goto tmp3_end;
tmpMeta[4] = MMC_CAR(tmp4_2);
tmpMeta[5] = MMC_CDR(tmp4_2);
_i_dim = tmpMeta[4];
_rest = tmpMeta[5];
_txt = tmp4_1;
_a_auxFunction = tmp4_3;
_a_varDecls = tmp4_4;
_a_varInits = tmp4_5;
_txt = omc_CodegenCFunctions_dimension(threadData, _txt, _i_dim, _OMC_LIT1356, _a_varInits, _a_varDecls, _a_auxFunction ,&_a_varInits ,&_a_varDecls ,&_a_auxFunction);
_txt = omc_Tpl_nextIter(threadData, _txt);
_in_txt = _txt;
_in_items = _rest;
_in_a_auxFunction = _a_auxFunction;
_in_a_varDecls = _a_varDecls;
_in_a_varInits = _a_varInits;
goto _tailrecursive;
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta[0+0];
_out_a_auxFunction = tmpMeta[0+1];
_out_a_varDecls = tmpMeta[0+2];
_out_a_varInits = tmpMeta[0+3];
_return: OMC_LABEL_UNUSED
if (out_out_a_auxFunction) { *out_out_a_auxFunction = _out_a_auxFunction; }
if (out_out_a_varDecls) { *out_out_a_varDecls = _out_a_varDecls; }
if (out_out_a_varInits) { *out_out_a_varInits = _out_a_varInits; }
return _out_txt;
}
DLLExport
modelica_metatype omc_CodegenCFunctions_functionBodyRecordConstructor(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_fn, modelica_boolean _in_a_isSimulation)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta[4] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp3_1;modelica_metatype tmp3_2;modelica_boolean tmp3_3;
tmp3_1 = _in_txt;
tmp3_2 = _in_a_fn;
tmp3_3 = _in_a_isSimulation;
{
modelica_metatype _txt = NULL;
modelica_boolean _a_isSimulation;
modelica_metatype _i_funArgs = NULL;
modelica_metatype _i_fn = NULL;
modelica_metatype _i_locals = NULL;
modelica_metatype _i_name = NULL;
modelica_boolean _ret_10;
modelica_boolean _ret_9;
modelica_metatype _l_boxedFn = NULL;
modelica_metatype _l_0__ = NULL;
modelica_metatype _l_structVar = NULL;
modelica_metatype _l_structType = NULL;
modelica_metatype _l_fname = NULL;
modelica_metatype _l_auxFunction = NULL;
modelica_metatype _l_varInits = NULL;
modelica_metatype _l_varDecls = NULL;
volatile mmc_switch_type tmp3;
int tmp4;
tmp3 = 0;
for (; tmp3 < 2; tmp3++) {
switch (MMC_SWITCH_CAST(tmp3)) {
case 0: {
if (mmc__uniontype__metarecord__typedef__equal(tmp3_2,4,5) == 0) goto tmp2_end;
tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_2), 2));
tmpMeta[2] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_2), 3));
tmpMeta[3] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_2), 4));
_i_fn = tmp3_2;
_i_name = tmpMeta[1];
_i_funArgs = tmpMeta[2];
_i_locals = tmpMeta[3];
_txt = tmp3_1;
_a_isSimulation = tmp3_3;
omc_System_tmpTickReset(threadData, ((modelica_integer) 1));
_l_varDecls = _OMC_LIT20;
_l_varInits = _OMC_LIT20;
_l_auxFunction = _OMC_LIT20;
_l_fname = omc_CodegenUtil_underscorePath(threadData, _OMC_LIT20, _i_name);
_l_structType = omc_Tpl_writeText(threadData, _OMC_LIT20, _l_fname);
_l_structVar = omc_CodegenCFunctions_tempDecl(threadData, _OMC_LIT20, omc_Tpl_textString(threadData, _l_structType), _l_varDecls ,&_l_varDecls);
_l_0__ = omc_Tpl_pushIter(threadData, _OMC_LIT20, _OMC_LIT94);
_l_0__ = omc_CodegenCFunctions_lm__296(threadData, _l_0__, _i_locals, _l_auxFunction, _l_varInits, _l_varDecls, _l_structVar ,&_l_auxFunction ,&_l_varInits ,&_l_varDecls);
_l_0__ = omc_Tpl_popIter(threadData, _l_0__);
_l_boxedFn = omc_CodegenCFunctions_functionBodyBoxed(threadData, _OMC_LIT20, _i_fn, _a_isSimulation);
_txt = omc_Tpl_writeText(threadData, _txt, _l_auxFunction);
_txt = omc_Tpl_softNewLine(threadData, _txt);
_txt = omc_Tpl_writeText(threadData, _txt, _l_fname);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT2265);
_ret_9 = omc_Flags_isSet(threadData, _OMC_LIT604);
_txt = omc_CodegenCFunctions_fun__297(threadData, _txt, _ret_9);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT236);
_txt = omc_Tpl_writeText(threadData, _txt, _l_fname);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT2243);
_txt = omc_CodegenCFunctions_lm__298(threadData, _txt, _i_funArgs);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT428);
_txt = omc_Tpl_pushBlock(threadData, _txt, _OMC_LIT97);
_txt = omc_Tpl_writeText(threadData, _txt, _l_varDecls);
_txt = omc_Tpl_softNewLine(threadData, _txt);
_txt = omc_Tpl_writeText(threadData, _txt, _l_varInits);
_txt = omc_Tpl_softNewLine(threadData, _txt);
_txt = omc_Tpl_pushIter(threadData, _txt, _OMC_LIT96);
_txt = omc_CodegenCFunctions_lm__299(threadData, _txt, _i_funArgs, _l_structVar);
_txt = omc_Tpl_popIter(threadData, _txt);
_txt = omc_Tpl_softNewLine(threadData, _txt);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT995);
_txt = omc_Tpl_writeText(threadData, _txt, _l_structVar);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT161);
_txt = omc_Tpl_popBlock(threadData, _txt);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT159);
_ret_10 = omc_Flags_isSet(threadData, _OMC_LIT604);
_txt = omc_CodegenCFunctions_fun__300(threadData, _txt, _ret_10, _l_fname);
_txt = omc_Tpl_softNewLine(threadData, _txt);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT89);
tmpMeta[0] = omc_Tpl_writeText(threadData, _txt, _l_boxedFn);
goto tmp2_done;
}
case 1: {
_txt = tmp3_1;
tmpMeta[0] = _txt;
goto tmp2_done;
}
}
goto tmp2_end;
tmp2_end: ;
}
goto goto_1;
goto_1:;
MMC_THROW_INTERNAL();
goto tmp2_done;
tmp2_done:;
}
}
_out_txt = tmpMeta[0];
_return: OMC_LABEL_UNUSED
return _out_txt;
}
modelica_metatype boxptr_CodegenCFunctions_functionBodyRecordConstructor(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_fn, modelica_metatype _in_a_isSimulation)
{
modelica_integer tmp1;
modelica_metatype _out_txt = NULL;
tmp1 = mmc_unbox_integer(_in_a_isSimulation);
_out_txt = omc_CodegenCFunctions_functionBodyRecordConstructor(threadData, _in_txt, _in_a_fn, tmp1);
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__300(threadData_t *threadData, modelica_metatype _in_txt, modelica_boolean _in_mArg, modelica_metatype _in_a_fname)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta[1] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp3_1;modelica_boolean tmp3_2;modelica_metatype tmp3_3;
tmp3_1 = _in_txt;
tmp3_2 = _in_mArg;
tmp3_3 = _in_a_fname;
{
modelica_metatype _txt = NULL;
modelica_metatype _a_fname = NULL;
volatile mmc_switch_type tmp3;
int tmp4;
tmp3 = 0;
for (; tmp3 < 2; tmp3++) {
switch (MMC_SWITCH_CAST(tmp3)) {
case 0: {
if (0 != tmp3_2) goto tmp2_end;
_txt = tmp3_1;
tmpMeta[0] = _txt;
goto tmp2_done;
}
case 1: {
_txt = tmp3_1;
_a_fname = tmp3_3;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT2267);
_txt = omc_Tpl_writeText(threadData, _txt, _a_fname);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT2269);
_txt = omc_Tpl_writeText(threadData, _txt, _a_fname);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT2271);
_txt = omc_Tpl_writeText(threadData, _txt, _a_fname);
tmpMeta[0] = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT105);
goto tmp2_done;
}
}
goto tmp2_end;
tmp2_end: ;
}
goto goto_1;
goto_1:;
MMC_THROW_INTERNAL();
goto tmp2_done;
tmp2_done:;
}
}
_out_txt = tmpMeta[0];
_return: OMC_LABEL_UNUSED
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__300(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_mArg, modelica_metatype _in_a_fname)
{
modelica_integer tmp1;
modelica_metatype _out_txt = NULL;
tmp1 = mmc_unbox_integer(_in_mArg);
_out_txt = omc_CodegenCFunctions_fun__300(threadData, _in_txt, tmp1, _in_a_fname);
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_lm__299(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_items, modelica_metatype _in_a_structVar)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta[4] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp3_1;modelica_metatype tmp3_2;modelica_metatype tmp3_3;
tmp3_1 = _in_txt;
tmp3_2 = _in_items;
tmp3_3 = _in_a_structVar;
{
modelica_metatype _txt = NULL;
modelica_metatype _rest = NULL;
modelica_metatype _a_structVar = NULL;
modelica_metatype _i_name = NULL;
volatile mmc_switch_type tmp3;
int tmp4;
tmp3 = 0;
for (; tmp3 < 3; tmp3++) {
switch (MMC_SWITCH_CAST(tmp3)) {
case 0: {
if (!listEmpty(tmp3_2)) goto tmp2_end;
_txt = tmp3_1;
tmpMeta[0] = _txt;
goto tmp2_done;
}
case 1: {
if (listEmpty(tmp3_2)) goto tmp2_end;
tmpMeta[1] = MMC_CAR(tmp3_2);
tmpMeta[2] = MMC_CDR(tmp3_2);
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[1],0,7) == 0) goto tmp2_end;
tmpMeta[3] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[1]), 2));
_i_name = tmpMeta[3];
_rest = tmpMeta[2];
_txt = tmp3_1;
_a_structVar = tmp3_3;
_txt = omc_Tpl_writeText(threadData, _txt, _a_structVar);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT518);
_txt = omc_CodegenUtil_crefStr(threadData, _txt, _i_name);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT2273);
_txt = omc_CodegenUtil_crefStr(threadData, _txt, _i_name);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT105);
_txt = omc_Tpl_nextIter(threadData, _txt);
_in_txt = _txt;
_in_items = _rest;
_in_a_structVar = _a_structVar;
goto _tailrecursive;
goto tmp2_done;
}
case 2: {
if (listEmpty(tmp3_2)) goto tmp2_end;
tmpMeta[1] = MMC_CAR(tmp3_2);
tmpMeta[2] = MMC_CDR(tmp3_2);
_rest = tmpMeta[2];
_txt = tmp3_1;
_a_structVar = tmp3_3;
_in_txt = _txt;
_in_items = _rest;
_in_a_structVar = _a_structVar;
goto _tailrecursive;
goto tmp2_done;
}
}
goto tmp2_end;
tmp2_end: ;
}
goto goto_1;
goto_1:;
MMC_THROW_INTERNAL();
goto tmp2_done;
tmp2_done:;
}
}
_out_txt = tmpMeta[0];
_return: OMC_LABEL_UNUSED
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_lm__298(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_items)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta[5] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp3_1;modelica_metatype tmp3_2;
tmp3_1 = _in_txt;
tmp3_2 = _in_items;
{
modelica_metatype _txt = NULL;
modelica_metatype _rest = NULL;
modelica_metatype _i_name = NULL;
modelica_metatype _i_ty = NULL;
volatile mmc_switch_type tmp3;
int tmp4;
tmp3 = 0;
for (; tmp3 < 3; tmp3++) {
switch (MMC_SWITCH_CAST(tmp3)) {
case 0: {
if (!listEmpty(tmp3_2)) goto tmp2_end;
_txt = tmp3_1;
tmpMeta[0] = _txt;
goto tmp2_done;
}
case 1: {
if (listEmpty(tmp3_2)) goto tmp2_end;
tmpMeta[1] = MMC_CAR(tmp3_2);
tmpMeta[2] = MMC_CDR(tmp3_2);
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[1],0,7) == 0) goto tmp2_end;
tmpMeta[3] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[1]), 2));
tmpMeta[4] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[1]), 3));
_i_name = tmpMeta[3];
_i_ty = tmpMeta[4];
_rest = tmpMeta[2];
_txt = tmp3_1;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT292);
_txt = omc_CodegenCFunctions_expTypeArrayIf(threadData, _txt, _i_ty);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT2269);
_txt = omc_CodegenUtil_crefStr(threadData, _txt, _i_name);
_in_txt = _txt;
_in_items = _rest;
goto _tailrecursive;
goto tmp2_done;
}
case 2: {
if (listEmpty(tmp3_2)) goto tmp2_end;
tmpMeta[1] = MMC_CAR(tmp3_2);
tmpMeta[2] = MMC_CDR(tmp3_2);
_rest = tmpMeta[2];
_txt = tmp3_1;
_in_txt = _txt;
_in_items = _rest;
goto _tailrecursive;
goto tmp2_done;
}
}
goto tmp2_end;
tmp2_end: ;
}
goto goto_1;
goto_1:;
MMC_THROW_INTERNAL();
goto tmp2_done;
tmp2_done:;
}
}
_out_txt = tmpMeta[0];
_return: OMC_LABEL_UNUSED
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__297(threadData_t *threadData, modelica_metatype _in_txt, modelica_boolean _in_mArg)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta[1] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp3_1;modelica_boolean tmp3_2;
tmp3_1 = _in_txt;
tmp3_2 = _in_mArg;
{
modelica_metatype _txt = NULL;
volatile mmc_switch_type tmp3;
int tmp4;
tmp3 = 0;
for (; tmp3 < 2; tmp3++) {
switch (MMC_SWITCH_CAST(tmp3)) {
case 0: {
if (0 != tmp3_2) goto tmp2_end;
_txt = tmp3_1;
tmpMeta[0] = _txt;
goto tmp2_done;
}
case 1: {
_txt = tmp3_1;
tmpMeta[0] = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT2253);
goto tmp2_done;
}
}
goto tmp2_end;
tmp2_end: ;
}
goto goto_1;
goto_1:;
MMC_THROW_INTERNAL();
goto tmp2_done;
tmp2_done:;
}
}
_out_txt = tmpMeta[0];
_return: OMC_LABEL_UNUSED
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__297(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_mArg)
{
modelica_integer tmp1;
modelica_metatype _out_txt = NULL;
tmp1 = mmc_unbox_integer(_in_mArg);
_out_txt = omc_CodegenCFunctions_fun__297(threadData, _in_txt, tmp1);
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_lm__296(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_items, modelica_metatype _in_a_auxFunction, modelica_metatype _in_a_varInits, modelica_metatype _in_a_varDecls, modelica_metatype _in_a_structVar, modelica_metatype *out_out_a_auxFunction, modelica_metatype *out_out_a_varInits, modelica_metatype *out_out_a_varDecls)
{
modelica_metatype _out_txt = NULL;
modelica_metatype _out_a_auxFunction = NULL;
modelica_metatype _out_a_varInits = NULL;
modelica_metatype _out_a_varDecls = NULL;
modelica_metatype tmpMeta[6] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_metatype tmp4_2;modelica_metatype tmp4_3;modelica_metatype tmp4_4;modelica_metatype tmp4_5;modelica_metatype tmp4_6;
tmp4_1 = _in_txt;
tmp4_2 = _in_items;
tmp4_3 = _in_a_auxFunction;
tmp4_4 = _in_a_varInits;
tmp4_5 = _in_a_varDecls;
tmp4_6 = _in_a_structVar;
{
modelica_metatype _txt = NULL;
modelica_metatype _rest = NULL;
modelica_metatype _a_auxFunction = NULL;
modelica_metatype _a_varInits = NULL;
modelica_metatype _a_varDecls = NULL;
modelica_metatype _a_structVar = NULL;
modelica_metatype _i_var = NULL;
volatile mmc_switch_type tmp4;
int tmp5;
tmp4 = 0;
for (; tmp4 < 2; tmp4++) {
switch (MMC_SWITCH_CAST(tmp4)) {
case 0: {
if (!listEmpty(tmp4_2)) goto tmp3_end;
_txt = tmp4_1;
_a_auxFunction = tmp4_3;
_a_varInits = tmp4_4;
_a_varDecls = tmp4_5;
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_auxFunction;
tmpMeta[0+2] = _a_varInits;
tmpMeta[0+3] = _a_varDecls;
goto tmp3_done;
}
case 1: {
if (listEmpty(tmp4_2)) goto tmp3_end;
tmpMeta[4] = MMC_CAR(tmp4_2);
tmpMeta[5] = MMC_CDR(tmp4_2);
_i_var = tmpMeta[4];
_rest = tmpMeta[5];
_txt = tmp4_1;
_a_auxFunction = tmp4_3;
_a_varInits = tmp4_4;
_a_varDecls = tmp4_5;
_a_structVar = tmp4_6;
_txt = omc_CodegenCFunctions_varInitRecord(threadData, _txt, _i_var, omc_Tpl_textString(threadData, _a_structVar), _a_varDecls, _a_varInits, _a_auxFunction ,&_a_varDecls ,&_a_varInits ,&_a_auxFunction);
_txt = omc_Tpl_nextIter(threadData, _txt);
_in_txt = _txt;
_in_items = _rest;
_in_a_auxFunction = _a_auxFunction;
_in_a_varInits = _a_varInits;
_in_a_varDecls = _a_varDecls;
_in_a_structVar = _a_structVar;
goto _tailrecursive;
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta[0+0];
_out_a_auxFunction = tmpMeta[0+1];
_out_a_varInits = tmpMeta[0+2];
_out_a_varDecls = tmpMeta[0+3];
_return: OMC_LABEL_UNUSED
if (out_out_a_auxFunction) { *out_out_a_auxFunction = _out_a_auxFunction; }
if (out_out_a_varInits) { *out_out_a_varInits = _out_a_varInits; }
if (out_out_a_varDecls) { *out_out_a_varDecls = _out_a_varDecls; }
return _out_txt;
}
DLLExport
modelica_metatype omc_CodegenCFunctions_functionBodyExternalFunction(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_fn, modelica_boolean _in_a_inFunc, modelica_boolean _in_a_isSimulation)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta[9] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp3_1;modelica_metatype tmp3_2;modelica_boolean tmp3_3;modelica_boolean tmp3_4;
tmp3_1 = _in_txt;
tmp3_2 = _in_a_fn;
tmp3_3 = _in_a_inFunc;
tmp3_4 = _in_a_isSimulation;
{
modelica_metatype _txt = NULL;
modelica_boolean _a_inFunc;
modelica_boolean _a_isSimulation;
modelica_string _i_language = NULL;
modelica_string _i_extName = NULL;
modelica_boolean _i_dynamicLoad;
modelica_metatype _i_info = NULL;
modelica_metatype _i_visibility = NULL;
modelica_metatype _i_funArgs = NULL;
modelica_metatype _i_efn = NULL;
modelica_metatype _i_outVars = NULL;
modelica_metatype _i_name = NULL;
modelica_metatype _l_fnBody = NULL;
modelica_metatype _l_prototype = NULL;
modelica_metatype _l_afterBody = NULL;
modelica_metatype _l_boxedFn = NULL;
modelica_metatype _ret_10 = NULL;
modelica_metatype _l_outVarAssign = NULL;
modelica_metatype _l_0__ = NULL;
modelica_metatype _l_callPart = NULL;
modelica_metatype _l_auxFunction = NULL;
modelica_metatype _l_outputAlloc = NULL;
modelica_metatype _l_varFrees = NULL;
modelica_metatype _l_varDecls = NULL;
modelica_metatype _l_preExp = NULL;
modelica_metatype _l_fname = NULL;
volatile mmc_switch_type tmp3;
int tmp4;
tmp3 = 0;
for (; tmp3 < 2; tmp3++) {
switch (MMC_SWITCH_CAST(tmp3)) {
case 0: {
modelica_integer tmp5;
if (mmc__uniontype__metarecord__typedef__equal(tmp3_2,3,14) == 0) goto tmp2_end;
tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_2), 2));
tmpMeta[2] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_2), 3));
tmpMeta[3] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_2), 4));
tmpMeta[4] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_2), 8));
tmpMeta[5] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_2), 12));
tmpMeta[6] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_2), 13));
tmpMeta[7] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_2), 14));
tmpMeta[8] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_2), 15));
tmp5 = mmc_unbox_integer(tmpMeta[8]);
_i_efn = tmp3_2;
_i_name = tmpMeta[1];
_i_extName = tmpMeta[2];
_i_funArgs = tmpMeta[3];
_i_outVars = tmpMeta[4];
_i_language = tmpMeta[5];
_i_visibility = tmpMeta[6];
_i_info = tmpMeta[7];
_i_dynamicLoad = tmp5;
_txt = tmp3_1;
_a_inFunc = tmp3_3;
_a_isSimulation = tmp3_4;
omc_System_tmpTickReset(threadData, ((modelica_integer) 1));
omc_System_tmpTickResetIndex(threadData, ((modelica_integer) 0), ((modelica_integer) 1));
_l_fname = omc_CodegenUtil_underscorePath(threadData, _OMC_LIT20, _i_name);
omc_CodegenCFunctions_fun__289(threadData, _OMC_LIT20, _i_outVars, _l_fname);
_l_preExp = _OMC_LIT20;
_l_varDecls = _OMC_LIT20;
_l_varFrees = _OMC_LIT20;
_l_outputAlloc = _OMC_LIT20;
_l_auxFunction = _OMC_LIT20;
_l_callPart = omc_CodegenCFunctions_extFunCall(threadData, _OMC_LIT20, _i_efn, _l_preExp, _l_varDecls, _l_outputAlloc, _l_auxFunction ,&_l_preExp ,&_l_varDecls ,&_l_outputAlloc ,&_l_auxFunction);
_l_0__ = omc_Tpl_pushIter(threadData, _OMC_LIT20, _OMC_LIT94);
_l_0__ = omc_CodegenCFunctions_lm__290(threadData, _l_0__, _i_outVars, _l_auxFunction, _l_varFrees, _l_outputAlloc, _l_varDecls ,&_l_auxFunction ,&_l_varFrees ,&_l_outputAlloc ,&_l_varDecls);
_l_0__ = omc_Tpl_popIter(threadData, _l_0__);
_ret_10 = omc_List_restOrEmpty(threadData, _i_outVars);
_l_outVarAssign = omc_CodegenCFunctions_lm__291(threadData, _OMC_LIT20, _ret_10);
_l_varDecls = omc_CodegenCFunctions_addRootsTempArray(threadData, _l_varDecls);
_l_boxedFn = omc_CodegenCFunctions_functionBodyBoxed(threadData, _OMC_LIT20, _i_efn, _a_isSimulation);
_l_afterBody = _OMC_LIT20;
_l_prototype = omc_CodegenCFunctions_functionPrototype(threadData, _OMC_LIT20, omc_Tpl_textString(threadData, _l_fname), _i_funArgs, _i_outVars, 0, _i_visibility, _a_isSimulation, 0, _l_afterBody ,&_l_afterBody);
_l_fnBody = omc_Tpl_writeText(threadData, _OMC_LIT20, _l_auxFunction);
_l_fnBody = omc_Tpl_softNewLine(threadData, _l_fnBody);
_l_fnBody = omc_Tpl_writeText(threadData, _l_fnBody, _l_prototype);
_l_fnBody = omc_Tpl_softNewLine(threadData, _l_fnBody);
_l_fnBody = omc_Tpl_writeTok(threadData, _l_fnBody, _OMC_LIT146);
_l_fnBody = omc_Tpl_pushBlock(threadData, _l_fnBody, _OMC_LIT97);
_l_fnBody = omc_Tpl_writeText(threadData, _l_fnBody, _l_varDecls);
_l_fnBody = omc_Tpl_softNewLine(threadData, _l_fnBody);
_l_fnBody = omc_CodegenCFunctions_modelicaLine(threadData, _l_fnBody, _i_info);
_l_fnBody = omc_Tpl_softNewLine(threadData, _l_fnBody);
_l_fnBody = omc_Tpl_writeText(threadData, _l_fnBody, _l_outputAlloc);
_l_fnBody = omc_Tpl_softNewLine(threadData, _l_fnBody);
_l_fnBody = omc_Tpl_writeText(threadData, _l_fnBody, _l_preExp);
_l_fnBody = omc_Tpl_softNewLine(threadData, _l_fnBody);
_l_fnBody = omc_Tpl_writeText(threadData, _l_fnBody, _l_callPart);
_l_fnBody = omc_Tpl_softNewLine(threadData, _l_fnBody);
_l_fnBody = omc_Tpl_writeText(threadData, _l_fnBody, _l_outVarAssign);
_l_fnBody = omc_Tpl_softNewLine(threadData, _l_fnBody);
_l_fnBody = omc_CodegenCFunctions_fun__292(threadData, _l_fnBody, _i_outVars);
_l_fnBody = omc_Tpl_softNewLine(threadData, _l_fnBody);
_l_fnBody = omc_Tpl_popBlock(threadData, _l_fnBody);
_l_fnBody = omc_Tpl_writeTok(threadData, _l_fnBody, _OMC_LIT159);
_l_fnBody = omc_Tpl_writeText(threadData, _l_fnBody, _l_afterBody);
_txt = omc_CodegenCFunctions_fun__293(threadData, _txt, _i_dynamicLoad, _i_language, _i_extName);
_txt = omc_Tpl_softNewLine(threadData, _txt);
_txt = omc_Tpl_writeText(threadData, _txt, _l_fnBody);
_txt = omc_Tpl_softNewLine(threadData, _txt);
_txt = omc_CodegenCFunctions_fun__294(threadData, _txt, _a_inFunc, _i_outVars, _i_funArgs, _l_fname ,&_l_fname);
_txt = omc_Tpl_softNewLine(threadData, _txt);
tmpMeta[0] = omc_Tpl_writeText(threadData, _txt, _l_boxedFn);
goto tmp2_done;
}
case 1: {
_txt = tmp3_1;
tmpMeta[0] = _txt;
goto tmp2_done;
}
}
goto tmp2_end;
tmp2_end: ;
}
goto goto_1;
goto_1:;
MMC_THROW_INTERNAL();
goto tmp2_done;
tmp2_done:;
}
}
_out_txt = tmpMeta[0];
_return: OMC_LABEL_UNUSED
return _out_txt;
}
modelica_metatype boxptr_CodegenCFunctions_functionBodyExternalFunction(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_fn, modelica_metatype _in_a_inFunc, modelica_metatype _in_a_isSimulation)
{
modelica_integer tmp1;
modelica_integer tmp2;
modelica_metatype _out_txt = NULL;
tmp1 = mmc_unbox_integer(_in_a_inFunc);
tmp2 = mmc_unbox_integer(_in_a_isSimulation);
_out_txt = omc_CodegenCFunctions_functionBodyExternalFunction(threadData, _in_txt, _in_a_fn, tmp1, tmp2);
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__294(threadData_t *threadData, modelica_metatype _in_txt, modelica_boolean _in_a_inFunc, modelica_metatype _in_a_outVars, modelica_metatype _in_a_funArgs, modelica_metatype _in_a_fname, modelica_metatype *out_out_a_fname)
{
modelica_metatype _out_txt = NULL;
modelica_metatype _out_a_fname = NULL;
modelica_metatype tmpMeta[2] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_boolean tmp4_2;modelica_metatype tmp4_3;modelica_metatype tmp4_4;modelica_metatype tmp4_5;
tmp4_1 = _in_txt;
tmp4_2 = _in_a_inFunc;
tmp4_3 = _in_a_outVars;
tmp4_4 = _in_a_funArgs;
tmp4_5 = _in_a_fname;
{
modelica_metatype _txt = NULL;
modelica_metatype _a_outVars = NULL;
modelica_metatype _a_funArgs = NULL;
modelica_metatype _a_fname = NULL;
volatile mmc_switch_type tmp4;
int tmp5;
tmp4 = 0;
for (; tmp4 < 2; tmp4++) {
switch (MMC_SWITCH_CAST(tmp4)) {
case 0: {
if (0 != tmp4_2) goto tmp3_end;
_txt = tmp4_1;
_a_fname = tmp4_5;
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_fname;
goto tmp3_done;
}
case 1: {
_txt = tmp4_1;
_a_outVars = tmp4_3;
_a_funArgs = tmp4_4;
_a_fname = tmp4_5;
tmpMeta[0+0] = omc_CodegenCFunctions_generateInFunc(threadData, _txt, _a_fname, _a_funArgs, _a_outVars, &tmpMeta[0+1]);
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta[0+0];
_out_a_fname = tmpMeta[0+1];
_return: OMC_LABEL_UNUSED
if (out_out_a_fname) { *out_out_a_fname = _out_a_fname; }
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__294(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_inFunc, modelica_metatype _in_a_outVars, modelica_metatype _in_a_funArgs, modelica_metatype _in_a_fname, modelica_metatype *out_out_a_fname)
{
modelica_integer tmp1;
modelica_metatype _out_txt = NULL;
tmp1 = mmc_unbox_integer(_in_a_inFunc);
_out_txt = omc_CodegenCFunctions_fun__294(threadData, _in_txt, tmp1, _in_a_outVars, _in_a_funArgs, _in_a_fname, out_out_a_fname);
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__293(threadData_t *threadData, modelica_metatype _in_txt, modelica_boolean _in_a_dynamicLoad, modelica_string _in_a_language, modelica_string _in_a_extName)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta[1] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp3_1;modelica_boolean tmp3_2;modelica_string tmp3_3;modelica_string tmp3_4;
tmp3_1 = _in_txt;
tmp3_2 = _in_a_dynamicLoad;
tmp3_3 = _in_a_language;
tmp3_4 = _in_a_extName;
{
modelica_metatype _txt = NULL;
modelica_string _a_language = NULL;
modelica_string _a_extName = NULL;
volatile mmc_switch_type tmp3;
int tmp4;
tmp3 = 0;
for (; tmp3 < 2; tmp3++) {
switch (MMC_SWITCH_CAST(tmp3)) {
case 0: {
if (0 != tmp3_2) goto tmp2_end;
_txt = tmp3_1;
tmpMeta[0] = _txt;
goto tmp2_done;
}
case 1: {
_txt = tmp3_1;
_a_language = tmp3_3;
_a_extName = tmp3_4;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT2275);
_txt = omc_CodegenCFunctions_extFunctionName(threadData, _txt, _a_extName, _a_language);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT2277);
_txt = omc_CodegenCFunctions_extFunctionName(threadData, _txt, _a_extName, _a_language);
tmpMeta[0] = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT2279);
goto tmp2_done;
}
}
goto tmp2_end;
tmp2_end: ;
}
goto goto_1;
goto_1:;
MMC_THROW_INTERNAL();
goto tmp2_done;
tmp2_done:;
}
}
_out_txt = tmpMeta[0];
_return: OMC_LABEL_UNUSED
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__293(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_dynamicLoad, modelica_metatype _in_a_language, modelica_metatype _in_a_extName)
{
modelica_integer tmp1;
modelica_metatype _out_txt = NULL;
tmp1 = mmc_unbox_integer(_in_a_dynamicLoad);
_out_txt = omc_CodegenCFunctions_fun__293(threadData, _in_txt, tmp1, _in_a_language, _in_a_extName);
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__292(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_outVars)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta[3] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp3_1;modelica_metatype tmp3_2;
tmp3_1 = _in_txt;
tmp3_2 = _in_a_outVars;
{
modelica_metatype _txt = NULL;
modelica_metatype _i_v = NULL;
volatile mmc_switch_type tmp3;
int tmp4;
tmp3 = 0;
for (; tmp3 < 2; tmp3++) {
switch (MMC_SWITCH_CAST(tmp3)) {
case 0: {
if (listEmpty(tmp3_2)) goto tmp2_end;
tmpMeta[1] = MMC_CAR(tmp3_2);
tmpMeta[2] = MMC_CDR(tmp3_2);
_i_v = tmpMeta[1];
_txt = tmp3_1;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT995);
_txt = omc_CodegenCFunctions_funArgName(threadData, _txt, _i_v);
tmpMeta[0] = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT105);
goto tmp2_done;
}
case 1: {
_txt = tmp3_1;
tmpMeta[0] = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT2258);
goto tmp2_done;
}
}
goto tmp2_end;
tmp2_end: ;
}
goto goto_1;
goto_1:;
MMC_THROW_INTERNAL();
goto tmp2_done;
tmp2_done:;
}
}
_out_txt = tmpMeta[0];
_return: OMC_LABEL_UNUSED
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_lm__291(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_items)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta[3] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp3_1;modelica_metatype tmp3_2;
tmp3_1 = _in_txt;
tmp3_2 = _in_items;
{
modelica_metatype _txt = NULL;
modelica_metatype _rest = NULL;
modelica_metatype _i_var = NULL;
volatile mmc_switch_type tmp3;
int tmp4;
tmp3 = 0;
for (; tmp3 < 2; tmp3++) {
switch (MMC_SWITCH_CAST(tmp3)) {
case 0: {
if (!listEmpty(tmp3_2)) goto tmp2_end;
_txt = tmp3_1;
tmpMeta[0] = _txt;
goto tmp2_done;
}
case 1: {
if (listEmpty(tmp3_2)) goto tmp2_end;
tmpMeta[1] = MMC_CAR(tmp3_2);
tmpMeta[2] = MMC_CDR(tmp3_2);
_i_var = tmpMeta[1];
_rest = tmpMeta[2];
_txt = tmp3_1;
_txt = omc_CodegenCFunctions_varOutput(threadData, _txt, _i_var);
_in_txt = _txt;
_in_items = _rest;
goto _tailrecursive;
goto tmp2_done;
}
}
goto tmp2_end;
tmp2_end: ;
}
goto goto_1;
goto_1:;
MMC_THROW_INTERNAL();
goto tmp2_done;
tmp2_done:;
}
}
_out_txt = tmpMeta[0];
_return: OMC_LABEL_UNUSED
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_lm__290(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_items, modelica_metatype _in_a_auxFunction, modelica_metatype _in_a_varFrees, modelica_metatype _in_a_outputAlloc, modelica_metatype _in_a_varDecls, modelica_metatype *out_out_a_auxFunction, modelica_metatype *out_out_a_varFrees, modelica_metatype *out_out_a_outputAlloc, modelica_metatype *out_out_a_varDecls)
{
modelica_metatype _out_txt = NULL;
modelica_metatype _out_a_auxFunction = NULL;
modelica_metatype _out_a_varFrees = NULL;
modelica_metatype _out_a_outputAlloc = NULL;
modelica_metatype _out_a_varDecls = NULL;
modelica_metatype tmpMeta[7] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_metatype tmp4_2;modelica_metatype tmp4_3;modelica_metatype tmp4_4;modelica_metatype tmp4_5;modelica_metatype tmp4_6;
tmp4_1 = _in_txt;
tmp4_2 = _in_items;
tmp4_3 = _in_a_auxFunction;
tmp4_4 = _in_a_varFrees;
tmp4_5 = _in_a_outputAlloc;
tmp4_6 = _in_a_varDecls;
{
modelica_metatype _txt = NULL;
modelica_metatype _rest = NULL;
modelica_metatype _a_auxFunction = NULL;
modelica_metatype _a_varFrees = NULL;
modelica_metatype _a_outputAlloc = NULL;
modelica_metatype _a_varDecls = NULL;
modelica_metatype _i_var = NULL;
volatile mmc_switch_type tmp4;
int tmp5;
tmp4 = 0;
for (; tmp4 < 2; tmp4++) {
switch (MMC_SWITCH_CAST(tmp4)) {
case 0: {
if (!listEmpty(tmp4_2)) goto tmp3_end;
_txt = tmp4_1;
_a_auxFunction = tmp4_3;
_a_varFrees = tmp4_4;
_a_outputAlloc = tmp4_5;
_a_varDecls = tmp4_6;
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_auxFunction;
tmpMeta[0+2] = _a_varFrees;
tmpMeta[0+3] = _a_outputAlloc;
tmpMeta[0+4] = _a_varDecls;
goto tmp3_done;
}
case 1: {
if (listEmpty(tmp4_2)) goto tmp3_end;
tmpMeta[5] = MMC_CAR(tmp4_2);
tmpMeta[6] = MMC_CDR(tmp4_2);
_i_var = tmpMeta[5];
_rest = tmpMeta[6];
_txt = tmp4_1;
_a_auxFunction = tmp4_3;
_a_varFrees = tmp4_4;
_a_outputAlloc = tmp4_5;
_a_varDecls = tmp4_6;
_txt = omc_CodegenCFunctions_varInit(threadData, _txt, _i_var, _OMC_LIT91, _a_varDecls, _a_outputAlloc, _a_varFrees, _a_auxFunction ,&_a_varDecls ,&_a_outputAlloc ,&_a_varFrees ,&_a_auxFunction);
_txt = omc_Tpl_nextIter(threadData, _txt);
_in_txt = _txt;
_in_items = _rest;
_in_a_auxFunction = _a_auxFunction;
_in_a_varFrees = _a_varFrees;
_in_a_outputAlloc = _a_outputAlloc;
_in_a_varDecls = _a_varDecls;
goto _tailrecursive;
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta[0+0];
_out_a_auxFunction = tmpMeta[0+1];
_out_a_varFrees = tmpMeta[0+2];
_out_a_outputAlloc = tmpMeta[0+3];
_out_a_varDecls = tmpMeta[0+4];
_return: OMC_LABEL_UNUSED
if (out_out_a_auxFunction) { *out_out_a_auxFunction = _out_a_auxFunction; }
if (out_out_a_varFrees) { *out_out_a_varFrees = _out_a_varFrees; }
if (out_out_a_outputAlloc) { *out_out_a_outputAlloc = _out_a_outputAlloc; }
if (out_out_a_varDecls) { *out_out_a_varDecls = _out_a_varDecls; }
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__289(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_outVars, modelica_metatype _in_a_fname)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta[1] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp3_1;modelica_metatype tmp3_2;modelica_metatype tmp3_3;
tmp3_1 = _in_txt;
tmp3_2 = _in_a_outVars;
tmp3_3 = _in_a_fname;
{
modelica_metatype _txt = NULL;
modelica_metatype _a_fname = NULL;
volatile mmc_switch_type tmp3;
int tmp4;
tmp3 = 0;
for (; tmp3 < 2; tmp3++) {
switch (MMC_SWITCH_CAST(tmp3)) {
case 0: {
if (!listEmpty(tmp3_2)) goto tmp2_end;
_txt = tmp3_1;
tmpMeta[0] = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT610);
goto tmp2_done;
}
case 1: {
_txt = tmp3_1;
_a_fname = tmp3_3;
_txt = omc_Tpl_writeText(threadData, _txt, _a_fname);
tmpMeta[0] = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT2281);
goto tmp2_done;
}
}
goto tmp2_end;
tmp2_end: ;
}
goto goto_1;
goto_1:;
MMC_THROW_INTERNAL();
goto tmp2_done;
tmp2_done:;
}
}
_out_txt = tmpMeta[0];
_return: OMC_LABEL_UNUSED
return _out_txt;
}
DLLExport
modelica_metatype omc_CodegenCFunctions_setKernelArgFormTupleLoopVars__ith(threadData_t *threadData, modelica_metatype _txt, modelica_metatype _a_tupleVar, modelica_metatype _a_KernelName, modelica_metatype _a_argNr, modelica_metatype _a_parVarList, modelica_metatype _a_context, modelica_metatype *out_out_a_KernelName, modelica_metatype *out_out_a_argNr, modelica_metatype *out_out_a_parVarList)
{
modelica_metatype _out_txt = NULL;
modelica_metatype _out_a_KernelName = NULL;
modelica_metatype _out_a_argNr = NULL;
modelica_metatype _out_a_parVarList = NULL;
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
_out_txt = omc_CodegenCFunctions_fun__287(threadData, _txt, _a_tupleVar, _a_KernelName, _a_argNr, _a_parVarList, _a_context ,&_out_a_parVarList);
_out_a_KernelName = _a_KernelName;
_out_a_argNr = _a_argNr;
_return: OMC_LABEL_UNUSED
if (out_out_a_KernelName) { *out_out_a_KernelName = _out_a_KernelName; }
if (out_out_a_argNr) { *out_out_a_argNr = _out_a_argNr; }
if (out_out_a_parVarList) { *out_out_a_parVarList = _out_a_parVarList; }
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__287(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_tupleVar, modelica_metatype _in_a_KernelName, modelica_metatype _in_a_argNr, modelica_metatype _in_a_parVarList, modelica_metatype _in_a_context, modelica_metatype *out_out_a_parVarList)
{
modelica_metatype _out_txt = NULL;
modelica_metatype _out_a_parVarList = NULL;
modelica_metatype tmpMeta[4] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_metatype tmp4_2;modelica_metatype tmp4_3;modelica_metatype tmp4_4;modelica_metatype tmp4_5;modelica_metatype tmp4_6;
tmp4_1 = _in_txt;
tmp4_2 = _in_a_tupleVar;
tmp4_3 = _in_a_KernelName;
tmp4_4 = _in_a_argNr;
tmp4_5 = _in_a_parVarList;
tmp4_6 = _in_a_context;
{
modelica_metatype _txt = NULL;
modelica_metatype _a_KernelName = NULL;
modelica_metatype _a_argNr = NULL;
modelica_metatype _a_parVarList = NULL;
modelica_metatype _a_context = NULL;
modelica_metatype _i_cref = NULL;
modelica_metatype _l_varName = NULL;
volatile mmc_switch_type tmp4;
int tmp5;
tmp4 = 0;
for (; tmp4 < 3; tmp4++) {
switch (MMC_SWITCH_CAST(tmp4)) {
case 0: {
tmpMeta[2] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 1));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[2],1,3) == 0) goto tmp3_end;
tmpMeta[3] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[2]), 3));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[3],6,2) == 0) goto tmp3_end;
_i_cref = tmpMeta[2];
_txt = tmp4_1;
_a_KernelName = tmp4_3;
_a_argNr = tmp4_4;
_a_parVarList = tmp4_5;
_a_context = tmp4_6;
_l_varName = omc_CodegenCFunctions_contextArrayCref(threadData, _OMC_LIT20, _i_cref, _a_context);
_a_parVarList = omc_Tpl_writeTok(threadData, _a_parVarList, _OMC_LIT2282);
_a_parVarList = omc_Tpl_writeText(threadData, _a_parVarList, _a_KernelName);
_a_parVarList = omc_Tpl_writeTok(threadData, _a_parVarList, _OMC_LIT292);
_a_parVarList = omc_Tpl_writeText(threadData, _a_parVarList, _a_argNr);
_a_parVarList = omc_Tpl_writeTok(threadData, _a_parVarList, _OMC_LIT292);
_a_parVarList = omc_Tpl_writeText(threadData, _a_parVarList, _l_varName);
_a_parVarList = omc_Tpl_writeTok(threadData, _a_parVarList, _OMC_LIT2284);
_a_parVarList = omc_Tpl_writeText(threadData, _a_parVarList, _a_argNr);
_a_parVarList = omc_Tpl_writeTok(threadData, _a_parVarList, _OMC_LIT200);
_a_parVarList = omc_Tpl_writeTok(threadData, _a_parVarList, _OMC_LIT89);
_a_parVarList = omc_Tpl_writeTok(threadData, _a_parVarList, _OMC_LIT2282);
_a_parVarList = omc_Tpl_writeText(threadData, _a_parVarList, _a_KernelName);
_a_parVarList = omc_Tpl_writeTok(threadData, _a_parVarList, _OMC_LIT292);
_a_parVarList = omc_Tpl_writeText(threadData, _a_parVarList, _a_argNr);
_a_parVarList = omc_Tpl_writeTok(threadData, _a_parVarList, _OMC_LIT292);
_a_parVarList = omc_Tpl_writeText(threadData, _a_parVarList, _l_varName);
_a_parVarList = omc_Tpl_writeTok(threadData, _a_parVarList, _OMC_LIT2286);
_a_parVarList = omc_Tpl_writeText(threadData, _a_parVarList, _a_argNr);
_a_parVarList = omc_Tpl_writeTok(threadData, _a_parVarList, _OMC_LIT200);
_a_parVarList = omc_Tpl_writeTok(threadData, _a_parVarList, _OMC_LIT89);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_parVarList;
goto tmp3_done;
}
case 1: {
tmpMeta[2] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 1));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[2],1,3) == 0) goto tmp3_end;
_i_cref = tmpMeta[2];
_txt = tmp4_1;
_a_KernelName = tmp4_3;
_a_argNr = tmp4_4;
_a_parVarList = tmp4_5;
_a_context = tmp4_6;
_l_varName = omc_CodegenCFunctions_contextArrayCref(threadData, _OMC_LIT20, _i_cref, _a_context);
_a_parVarList = omc_Tpl_writeTok(threadData, _a_parVarList, _OMC_LIT2282);
_a_parVarList = omc_Tpl_writeText(threadData, _a_parVarList, _a_KernelName);
_a_parVarList = omc_Tpl_writeTok(threadData, _a_parVarList, _OMC_LIT292);
_a_parVarList = omc_Tpl_writeText(threadData, _a_parVarList, _a_argNr);
_a_parVarList = omc_Tpl_writeTok(threadData, _a_parVarList, _OMC_LIT292);
_a_parVarList = omc_Tpl_writeText(threadData, _a_parVarList, _l_varName);
_a_parVarList = omc_Tpl_writeTok(threadData, _a_parVarList, _OMC_LIT1896);
_a_parVarList = omc_Tpl_writeText(threadData, _a_parVarList, _a_argNr);
_a_parVarList = omc_Tpl_writeTok(threadData, _a_parVarList, _OMC_LIT200);
_a_parVarList = omc_Tpl_writeTok(threadData, _a_parVarList, _OMC_LIT89);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_parVarList;
goto tmp3_done;
}
case 2: {
_txt = tmp4_1;
_a_parVarList = tmp4_5;
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_parVarList;
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta[0+0];
_out_a_parVarList = tmpMeta[0+1];
_return: OMC_LABEL_UNUSED
if (out_out_a_parVarList) { *out_out_a_parVarList = _out_a_parVarList; }
return _out_txt;
}
DLLExport
modelica_metatype omc_CodegenCFunctions_setKernelArg__ith(threadData_t *threadData, modelica_metatype _txt, modelica_metatype _a_var, modelica_metatype _a_KernelName, modelica_metatype _a_argNr, modelica_metatype _a_parVarList, modelica_metatype *out_out_a_KernelName, modelica_metatype *out_out_a_argNr, modelica_metatype *out_out_a_parVarList)
{
modelica_metatype _out_txt = NULL;
modelica_metatype _out_a_KernelName = NULL;
modelica_metatype _out_a_argNr = NULL;
modelica_metatype _out_a_parVarList = NULL;
modelica_metatype _l_auxFunction = NULL;
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
_l_auxFunction = _OMC_LIT20;
_out_txt = omc_CodegenCFunctions_fun__285(threadData, _txt, _a_var, _a_argNr, _a_KernelName, _a_parVarList, _l_auxFunction ,&_out_a_parVarList ,&_l_auxFunction);
_out_a_KernelName = _a_KernelName;
_out_a_argNr = _a_argNr;
_return: OMC_LABEL_UNUSED
if (out_out_a_KernelName) { *out_out_a_KernelName = _out_a_KernelName; }
if (out_out_a_argNr) { *out_out_a_argNr = _out_a_argNr; }
if (out_out_a_parVarList) { *out_out_a_parVarList = _out_a_parVarList; }
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__285(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_var, modelica_metatype _in_a_argNr, modelica_metatype _in_a_KernelName, modelica_metatype _in_a_parVarList, modelica_metatype _in_a_auxFunction, modelica_metatype *out_out_a_parVarList, modelica_metatype *out_out_a_auxFunction)
{
modelica_metatype _out_txt = NULL;
modelica_metatype _out_a_parVarList = NULL;
modelica_metatype _out_a_auxFunction = NULL;
modelica_metatype tmpMeta[6] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_metatype tmp4_2;modelica_metatype tmp4_3;modelica_metatype tmp4_4;modelica_metatype tmp4_5;modelica_metatype tmp4_6;
tmp4_1 = _in_txt;
tmp4_2 = _in_a_var;
tmp4_3 = _in_a_argNr;
tmp4_4 = _in_a_KernelName;
tmp4_5 = _in_a_parVarList;
tmp4_6 = _in_a_auxFunction;
{
modelica_metatype _txt = NULL;
modelica_metatype _a_argNr = NULL;
modelica_metatype _a_KernelName = NULL;
modelica_metatype _a_parVarList = NULL;
modelica_metatype _a_auxFunction = NULL;
modelica_metatype _i_instDims = NULL;
modelica_metatype _i_var_ty = NULL;
modelica_metatype _i_var_name = NULL;
modelica_metatype _l_varName = NULL;
volatile mmc_switch_type tmp4;
int tmp5;
tmp4 = 0;
for (; tmp4 < 4; tmp4++) {
switch (MMC_SWITCH_CAST(tmp4)) {
case 0: {
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,0,7) == 0) goto tmp3_end;
tmpMeta[3] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
tmpMeta[4] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 3));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[4],6,2) == 0) goto tmp3_end;
tmpMeta[5] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 6));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[5],0,0) == 0) goto tmp3_end;
_i_var_name = tmpMeta[3];
_txt = tmp4_1;
_a_argNr = tmp4_3;
_a_KernelName = tmp4_4;
_a_parVarList = tmp4_5;
_a_auxFunction = tmp4_6;
_l_varName = omc_CodegenCFunctions_contextCrefNoPrevExp(threadData, _OMC_LIT20, _i_var_name, _OMC_LIT1356, _a_auxFunction ,&_a_auxFunction);
_a_parVarList = omc_Tpl_writeTok(threadData, _a_parVarList, _OMC_LIT2282);
_a_parVarList = omc_Tpl_writeText(threadData, _a_parVarList, _a_KernelName);
_a_parVarList = omc_Tpl_writeTok(threadData, _a_parVarList, _OMC_LIT292);
_a_parVarList = omc_Tpl_writeText(threadData, _a_parVarList, _a_argNr);
_a_parVarList = omc_Tpl_writeTok(threadData, _a_parVarList, _OMC_LIT292);
_a_parVarList = omc_Tpl_writeText(threadData, _a_parVarList, _l_varName);
_a_parVarList = omc_Tpl_writeTok(threadData, _a_parVarList, _OMC_LIT2284);
_a_parVarList = omc_Tpl_writeText(threadData, _a_parVarList, _a_argNr);
_a_parVarList = omc_Tpl_writeTok(threadData, _a_parVarList, _OMC_LIT200);
_a_parVarList = omc_Tpl_writeTok(threadData, _a_parVarList, _OMC_LIT89);
_a_parVarList = omc_Tpl_writeTok(threadData, _a_parVarList, _OMC_LIT2282);
_a_parVarList = omc_Tpl_writeText(threadData, _a_parVarList, _a_KernelName);
_a_parVarList = omc_Tpl_writeTok(threadData, _a_parVarList, _OMC_LIT292);
_a_parVarList = omc_Tpl_writeText(threadData, _a_parVarList, _a_argNr);
_a_parVarList = omc_Tpl_writeTok(threadData, _a_parVarList, _OMC_LIT292);
_a_parVarList = omc_Tpl_writeText(threadData, _a_parVarList, _l_varName);
_a_parVarList = omc_Tpl_writeTok(threadData, _a_parVarList, _OMC_LIT2286);
_a_parVarList = omc_Tpl_writeText(threadData, _a_parVarList, _a_argNr);
_a_parVarList = omc_Tpl_writeTok(threadData, _a_parVarList, _OMC_LIT200);
_a_parVarList = omc_Tpl_writeTok(threadData, _a_parVarList, _OMC_LIT89);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_parVarList;
tmpMeta[0+2] = _a_auxFunction;
goto tmp3_done;
}
case 1: {
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,0,7) == 0) goto tmp3_end;
tmpMeta[3] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
tmpMeta[4] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 3));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[4],6,2) == 0) goto tmp3_end;
tmpMeta[5] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 6));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[5],1,0) == 0) goto tmp3_end;
_i_var_name = tmpMeta[3];
_i_var_ty = tmpMeta[4];
_txt = tmp4_1;
_a_argNr = tmp4_3;
_a_KernelName = tmp4_4;
_a_parVarList = tmp4_5;
_a_auxFunction = tmp4_6;
_l_varName = omc_CodegenCFunctions_contextCrefNoPrevExp(threadData, _OMC_LIT20, _i_var_name, _OMC_LIT1356, _a_auxFunction ,&_a_auxFunction);
_a_parVarList = omc_Tpl_writeTok(threadData, _a_parVarList, _OMC_LIT2288);
_a_parVarList = omc_Tpl_writeText(threadData, _a_parVarList, _a_KernelName);
_a_parVarList = omc_Tpl_writeTok(threadData, _a_parVarList, _OMC_LIT292);
_a_parVarList = omc_Tpl_writeText(threadData, _a_parVarList, _a_argNr);
_a_parVarList = omc_Tpl_writeTok(threadData, _a_parVarList, _OMC_LIT2290);
_a_parVarList = omc_CodegenCFunctions_expTypeShort(threadData, _a_parVarList, _i_var_ty);
_a_parVarList = omc_Tpl_writeTok(threadData, _a_parVarList, _OMC_LIT2292);
_a_parVarList = omc_Tpl_writeText(threadData, _a_parVarList, _l_varName);
_a_parVarList = omc_Tpl_writeTok(threadData, _a_parVarList, _OMC_LIT2294);
_a_parVarList = omc_Tpl_writeText(threadData, _a_parVarList, _a_argNr);
_a_parVarList = omc_Tpl_writeTok(threadData, _a_parVarList, _OMC_LIT200);
_a_parVarList = omc_Tpl_writeTok(threadData, _a_parVarList, _OMC_LIT89);
_a_parVarList = omc_Tpl_writeTok(threadData, _a_parVarList, _OMC_LIT2288);
_a_parVarList = omc_Tpl_writeText(threadData, _a_parVarList, _a_KernelName);
_a_parVarList = omc_Tpl_writeTok(threadData, _a_parVarList, _OMC_LIT292);
_a_parVarList = omc_Tpl_writeText(threadData, _a_parVarList, _a_argNr);
_a_parVarList = omc_Tpl_writeTok(threadData, _a_parVarList, _OMC_LIT2296);
_a_parVarList = omc_Tpl_writeText(threadData, _a_parVarList, _l_varName);
_a_parVarList = omc_Tpl_writeTok(threadData, _a_parVarList, _OMC_LIT2298);
_a_parVarList = omc_Tpl_writeText(threadData, _a_parVarList, _a_argNr);
_a_parVarList = omc_Tpl_writeTok(threadData, _a_parVarList, _OMC_LIT200);
_a_parVarList = omc_Tpl_writeTok(threadData, _a_parVarList, _OMC_LIT89);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_parVarList;
tmpMeta[0+2] = _a_auxFunction;
goto tmp3_done;
}
case 2: {
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,0,7) == 0) goto tmp3_end;
tmpMeta[3] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
tmpMeta[4] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 5));
_i_var_name = tmpMeta[3];
_i_instDims = tmpMeta[4];
_txt = tmp4_1;
_a_argNr = tmp4_3;
_a_KernelName = tmp4_4;
_a_parVarList = tmp4_5;
_a_auxFunction = tmp4_6;
_l_varName = omc_CodegenCFunctions_contextCrefNoPrevExp(threadData, _OMC_LIT20, _i_var_name, _OMC_LIT1356, _a_auxFunction ,&_a_auxFunction);
_txt = omc_CodegenCFunctions_fun__284(threadData, _txt, _i_instDims, _l_varName, _a_argNr, _a_KernelName, _a_parVarList ,&_a_parVarList);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_parVarList;
tmpMeta[0+2] = _a_auxFunction;
goto tmp3_done;
}
case 3: {
_txt = tmp4_1;
_a_parVarList = tmp4_5;
_a_auxFunction = tmp4_6;
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_parVarList;
tmpMeta[0+2] = _a_auxFunction;
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta[0+0];
_out_a_parVarList = tmpMeta[0+1];
_out_a_auxFunction = tmpMeta[0+2];
_return: OMC_LABEL_UNUSED
if (out_out_a_parVarList) { *out_out_a_parVarList = _out_a_parVarList; }
if (out_out_a_auxFunction) { *out_out_a_auxFunction = _out_a_auxFunction; }
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__284(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_instDims, modelica_metatype _in_a_varName, modelica_metatype _in_a_argNr, modelica_metatype _in_a_KernelName, modelica_metatype _in_a_parVarList, modelica_metatype *out_out_a_parVarList)
{
modelica_metatype _out_txt = NULL;
modelica_metatype _out_a_parVarList = NULL;
modelica_metatype tmpMeta[2] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_metatype tmp4_2;modelica_metatype tmp4_3;modelica_metatype tmp4_4;modelica_metatype tmp4_5;modelica_metatype tmp4_6;
tmp4_1 = _in_txt;
tmp4_2 = _in_a_instDims;
tmp4_3 = _in_a_varName;
tmp4_4 = _in_a_argNr;
tmp4_5 = _in_a_KernelName;
tmp4_6 = _in_a_parVarList;
{
modelica_metatype _txt = NULL;
modelica_metatype _a_varName = NULL;
modelica_metatype _a_argNr = NULL;
modelica_metatype _a_KernelName = NULL;
modelica_metatype _a_parVarList = NULL;
volatile mmc_switch_type tmp4;
int tmp5;
tmp4 = 0;
for (; tmp4 < 2; tmp4++) {
switch (MMC_SWITCH_CAST(tmp4)) {
case 0: {
if (!listEmpty(tmp4_2)) goto tmp3_end;
_txt = tmp4_1;
_a_varName = tmp4_3;
_a_argNr = tmp4_4;
_a_KernelName = tmp4_5;
_a_parVarList = tmp4_6;
_a_parVarList = omc_Tpl_writeTok(threadData, _a_parVarList, _OMC_LIT2282);
_a_parVarList = omc_Tpl_writeText(threadData, _a_parVarList, _a_KernelName);
_a_parVarList = omc_Tpl_writeTok(threadData, _a_parVarList, _OMC_LIT292);
_a_parVarList = omc_Tpl_writeText(threadData, _a_parVarList, _a_argNr);
_a_parVarList = omc_Tpl_writeTok(threadData, _a_parVarList, _OMC_LIT292);
_a_parVarList = omc_Tpl_writeText(threadData, _a_parVarList, _a_varName);
_a_parVarList = omc_Tpl_writeTok(threadData, _a_parVarList, _OMC_LIT1896);
_a_parVarList = omc_Tpl_writeText(threadData, _a_parVarList, _a_argNr);
_a_parVarList = omc_Tpl_writeTok(threadData, _a_parVarList, _OMC_LIT200);
_a_parVarList = omc_Tpl_writeTok(threadData, _a_parVarList, _OMC_LIT89);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_parVarList;
goto tmp3_done;
}
case 1: {
_txt = tmp4_1;
_a_varName = tmp4_3;
_a_argNr = tmp4_4;
_a_KernelName = tmp4_5;
_a_parVarList = tmp4_6;
_a_parVarList = omc_Tpl_writeTok(threadData, _a_parVarList, _OMC_LIT2282);
_a_parVarList = omc_Tpl_writeText(threadData, _a_parVarList, _a_KernelName);
_a_parVarList = omc_Tpl_writeTok(threadData, _a_parVarList, _OMC_LIT292);
_a_parVarList = omc_Tpl_writeText(threadData, _a_parVarList, _a_argNr);
_a_parVarList = omc_Tpl_writeTok(threadData, _a_parVarList, _OMC_LIT292);
_a_parVarList = omc_Tpl_writeText(threadData, _a_parVarList, _a_varName);
_a_parVarList = omc_Tpl_writeTok(threadData, _a_parVarList, _OMC_LIT2284);
_a_parVarList = omc_Tpl_writeText(threadData, _a_parVarList, _a_argNr);
_a_parVarList = omc_Tpl_writeTok(threadData, _a_parVarList, _OMC_LIT200);
_a_parVarList = omc_Tpl_writeTok(threadData, _a_parVarList, _OMC_LIT89);
_a_parVarList = omc_Tpl_writeTok(threadData, _a_parVarList, _OMC_LIT2282);
_a_parVarList = omc_Tpl_writeText(threadData, _a_parVarList, _a_KernelName);
_a_parVarList = omc_Tpl_writeTok(threadData, _a_parVarList, _OMC_LIT292);
_a_parVarList = omc_Tpl_writeText(threadData, _a_parVarList, _a_argNr);
_a_parVarList = omc_Tpl_writeTok(threadData, _a_parVarList, _OMC_LIT292);
_a_parVarList = omc_Tpl_writeText(threadData, _a_parVarList, _a_varName);
_a_parVarList = omc_Tpl_writeTok(threadData, _a_parVarList, _OMC_LIT2286);
_a_parVarList = omc_Tpl_writeText(threadData, _a_parVarList, _a_argNr);
_a_parVarList = omc_Tpl_writeTok(threadData, _a_parVarList, _OMC_LIT200);
_a_parVarList = omc_Tpl_writeTok(threadData, _a_parVarList, _OMC_LIT89);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_parVarList;
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta[0+0];
_out_a_parVarList = tmpMeta[0+1];
_return: OMC_LABEL_UNUSED
if (out_out_a_parVarList) { *out_out_a_parVarList = _out_a_parVarList; }
return _out_txt;
}
DLLExport
modelica_metatype omc_CodegenCFunctions_functionBodyKernelFunctionInterface(threadData_t *threadData, modelica_metatype _txt, modelica_metatype _a_fn, modelica_boolean _a_inFunc)
{
modelica_metatype _out_txt = NULL;
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
_out_txt = omc_CodegenCFunctions_fun__282(threadData, _txt, _a_fn);
_return: OMC_LABEL_UNUSED
return _out_txt;
}
modelica_metatype boxptr_CodegenCFunctions_functionBodyKernelFunctionInterface(threadData_t *threadData, modelica_metatype _txt, modelica_metatype _a_fn, modelica_metatype _a_inFunc)
{
modelica_integer tmp1;
modelica_metatype _out_txt = NULL;
tmp1 = mmc_unbox_integer(_a_inFunc);
_out_txt = omc_CodegenCFunctions_functionBodyKernelFunctionInterface(threadData, _txt, _a_fn, tmp1);
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__282(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_fn)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta[5] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp3_1;modelica_metatype tmp3_2;
tmp3_1 = _in_txt;
tmp3_2 = _in_a_fn;
{
modelica_metatype _txt = NULL;
modelica_metatype _i_functionArguments = NULL;
modelica_metatype _i_outVars = NULL;
modelica_metatype _i_variableDeclarations = NULL;
modelica_metatype _i_name = NULL;
modelica_metatype _l_kernelArgSets = NULL;
modelica_metatype _l_kernel__arg__number = NULL;
modelica_metatype _l_cl__kernelVar = NULL;
modelica_metatype _ret_8 = NULL;
modelica_metatype _l_outVarAssign = NULL;
modelica_metatype _l_0___1 = NULL;
modelica_metatype _l_0__ = NULL;
modelica_metatype _l_auxFunction = NULL;
modelica_metatype _l_varFrees = NULL;
modelica_metatype _l_varInits = NULL;
modelica_metatype _l_varDecls = NULL;
modelica_metatype _l_fname = NULL;
volatile mmc_switch_type tmp3;
int tmp4;
tmp3 = 0;
for (; tmp3 < 2; tmp3++) {
switch (MMC_SWITCH_CAST(tmp3)) {
case 0: {
if (mmc__uniontype__metarecord__typedef__equal(tmp3_2,2,6) == 0) goto tmp2_end;
tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_2), 2));
tmpMeta[2] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_2), 3));
tmpMeta[3] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_2), 4));
tmpMeta[4] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_2), 5));
_i_name = tmpMeta[1];
_i_outVars = tmpMeta[2];
_i_functionArguments = tmpMeta[3];
_i_variableDeclarations = tmpMeta[4];
_txt = tmp3_1;
omc_SimCodeFunctionUtil_codegenResetTryThrowIndex(threadData);
omc_System_tmpTickReset(threadData, ((modelica_integer) 1));
omc_System_tmpTickResetIndex(threadData, ((modelica_integer) 0), ((modelica_integer) 1));
_l_fname = omc_CodegenUtil_underscorePath(threadData, _OMC_LIT20, _i_name);
_l_varDecls = _OMC_LIT20;
_l_varInits = _OMC_LIT20;
_l_varFrees = _OMC_LIT20;
_l_auxFunction = _OMC_LIT20;
_l_0__ = omc_Tpl_pushIter(threadData, _OMC_LIT20, _OMC_LIT139);
_l_0__ = omc_CodegenCFunctions_lm__276(threadData, _l_0__, _i_variableDeclarations, _l_auxFunction, _l_varFrees, _l_varInits, _l_varDecls ,&_l_auxFunction ,&_l_varFrees ,&_l_varInits ,&_l_varDecls);
_l_0__ = omc_Tpl_popIter(threadData, _l_0__);
_l_0___1 = omc_Tpl_pushIter(threadData, _OMC_LIT20, _OMC_LIT139);
_l_0___1 = omc_CodegenCFunctions_lm__277(threadData, _l_0___1, _i_outVars, _l_auxFunction, _l_varFrees, _l_varInits, _l_varDecls ,&_l_auxFunction ,&_l_varFrees ,&_l_varInits ,&_l_varDecls);
_l_0___1 = omc_Tpl_popIter(threadData, _l_0___1);
_ret_8 = omc_List_restOrEmpty(threadData, _i_outVars);
_l_outVarAssign = omc_CodegenCFunctions_lm__278(threadData, _OMC_LIT20, _ret_8);
_l_cl__kernelVar = omc_CodegenCFunctions_tempDecl(threadData, _OMC_LIT20, _OMC_LIT1879, _l_varDecls ,&_l_varDecls);
_l_kernel__arg__number = omc_Tpl_writeText(threadData, _OMC_LIT20, _l_fname);
_l_kernel__arg__number = omc_Tpl_writeTok(threadData, _l_kernel__arg__number, _OMC_LIT1883);
_l_kernelArgSets = _OMC_LIT20;
omc_CodegenCFunctions_lm__279(threadData, _OMC_LIT20, _i_functionArguments, _l_kernelArgSets, _l_kernel__arg__number, _l_cl__kernelVar ,&_l_kernelArgSets ,&_l_kernel__arg__number ,&_l_cl__kernelVar);
omc_CodegenCFunctions_lm__280(threadData, _OMC_LIT20, _i_outVars, _l_kernelArgSets, _l_kernel__arg__number, _l_cl__kernelVar ,&_l_kernelArgSets ,&_l_kernel__arg__number ,&_l_cl__kernelVar);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT89);
_txt = omc_CodegenCFunctions_functionHeaderKernelFunctionInterfacePrototype(threadData, _txt, omc_Tpl_textString(threadData, _l_fname), _i_functionArguments, _i_outVars);
_txt = omc_Tpl_softNewLine(threadData, _txt);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT2302);
_txt = omc_Tpl_pushBlock(threadData, _txt, _OMC_LIT97);
_txt = omc_Tpl_writeText(threadData, _txt, _l_varDecls);
_txt = omc_Tpl_softNewLine(threadData, _txt);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT2304);
_txt = omc_Tpl_writeText(threadData, _txt, _l_varInits);
_txt = omc_Tpl_softNewLine(threadData, _txt);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT2308);
_txt = omc_Tpl_writeText(threadData, _txt, _l_fname);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT2311);
_txt = omc_Tpl_writeText(threadData, _txt, _l_kernel__arg__number);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT196);
_txt = omc_Tpl_writeText(threadData, _txt, _l_cl__kernelVar);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT2313);
_txt = omc_Tpl_writeText(threadData, _txt, _l_fname);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT765);
_txt = omc_Tpl_writeText(threadData, _txt, _l_kernelArgSets);
_txt = omc_Tpl_softNewLine(threadData, _txt);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT2314);
_txt = omc_Tpl_writeText(threadData, _txt, _l_cl__kernelVar);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1905);
_txt = omc_Tpl_writeText(threadData, _txt, _l_cl__kernelVar);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT2318);
_txt = omc_Tpl_writeText(threadData, _txt, _l_fname);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT2324);
_txt = omc_Tpl_writeText(threadData, _txt, _l_outVarAssign);
_txt = omc_Tpl_softNewLine(threadData, _txt);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT2330);
_txt = omc_Tpl_writeText(threadData, _txt, _l_varFrees);
_txt = omc_Tpl_softNewLine(threadData, _txt);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT2336);
_txt = omc_CodegenCFunctions_fun__281(threadData, _txt, _i_outVars);
_txt = omc_Tpl_softNewLine(threadData, _txt);
_txt = omc_Tpl_popBlock(threadData, _txt);
tmpMeta[0] = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT2338);
goto tmp2_done;
}
case 1: {
_txt = tmp3_1;
tmpMeta[0] = _txt;
goto tmp2_done;
}
}
goto tmp2_end;
tmp2_end: ;
}
goto goto_1;
goto_1:;
MMC_THROW_INTERNAL();
goto tmp2_done;
tmp2_done:;
}
}
_out_txt = tmpMeta[0];
_return: OMC_LABEL_UNUSED
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__281(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_outVars)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta[3] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp3_1;modelica_metatype tmp3_2;
tmp3_1 = _in_txt;
tmp3_2 = _in_a_outVars;
{
modelica_metatype _txt = NULL;
modelica_metatype _i_var = NULL;
volatile mmc_switch_type tmp3;
int tmp4;
tmp3 = 0;
for (; tmp3 < 2; tmp3++) {
switch (MMC_SWITCH_CAST(tmp3)) {
case 0: {
if (listEmpty(tmp3_2)) goto tmp2_end;
tmpMeta[1] = MMC_CAR(tmp3_2);
tmpMeta[2] = MMC_CDR(tmp3_2);
_i_var = tmpMeta[1];
_txt = tmp3_1;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT995);
_txt = omc_CodegenCFunctions_funArgName(threadData, _txt, _i_var);
tmpMeta[0] = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT105);
goto tmp2_done;
}
case 1: {
_txt = tmp3_1;
tmpMeta[0] = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT2258);
goto tmp2_done;
}
}
goto tmp2_end;
tmp2_end: ;
}
goto goto_1;
goto_1:;
MMC_THROW_INTERNAL();
goto tmp2_done;
tmp2_done:;
}
}
_out_txt = tmpMeta[0];
_return: OMC_LABEL_UNUSED
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_lm__280(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_items, modelica_metatype _in_a_kernelArgSets, modelica_metatype _in_a_kernel__arg__number, modelica_metatype _in_a_cl__kernelVar, modelica_metatype *out_out_a_kernelArgSets, modelica_metatype *out_out_a_kernel__arg__number, modelica_metatype *out_out_a_cl__kernelVar)
{
modelica_metatype _out_txt = NULL;
modelica_metatype _out_a_kernelArgSets = NULL;
modelica_metatype _out_a_kernel__arg__number = NULL;
modelica_metatype _out_a_cl__kernelVar = NULL;
modelica_metatype tmpMeta[6] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_metatype tmp4_2;modelica_metatype tmp4_3;modelica_metatype tmp4_4;modelica_metatype tmp4_5;
tmp4_1 = _in_txt;
tmp4_2 = _in_items;
tmp4_3 = _in_a_kernelArgSets;
tmp4_4 = _in_a_kernel__arg__number;
tmp4_5 = _in_a_cl__kernelVar;
{
modelica_metatype _txt = NULL;
modelica_metatype _rest = NULL;
modelica_metatype _a_kernelArgSets = NULL;
modelica_metatype _a_kernel__arg__number = NULL;
modelica_metatype _a_cl__kernelVar = NULL;
modelica_metatype _i_var = NULL;
volatile mmc_switch_type tmp4;
int tmp5;
tmp4 = 0;
for (; tmp4 < 2; tmp4++) {
switch (MMC_SWITCH_CAST(tmp4)) {
case 0: {
if (!listEmpty(tmp4_2)) goto tmp3_end;
_txt = tmp4_1;
_a_kernelArgSets = tmp4_3;
_a_kernel__arg__number = tmp4_4;
_a_cl__kernelVar = tmp4_5;
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_kernelArgSets;
tmpMeta[0+2] = _a_kernel__arg__number;
tmpMeta[0+3] = _a_cl__kernelVar;
goto tmp3_done;
}
case 1: {
if (listEmpty(tmp4_2)) goto tmp3_end;
tmpMeta[4] = MMC_CAR(tmp4_2);
tmpMeta[5] = MMC_CDR(tmp4_2);
_i_var = tmpMeta[4];
_rest = tmpMeta[5];
_txt = tmp4_1;
_a_kernelArgSets = tmp4_3;
_a_kernel__arg__number = tmp4_4;
_a_cl__kernelVar = tmp4_5;
_txt = omc_CodegenCFunctions_setKernelArg__ith(threadData, _txt, _i_var, _a_cl__kernelVar, _a_kernel__arg__number, _a_kernelArgSets ,&_a_cl__kernelVar ,&_a_kernel__arg__number ,&_a_kernelArgSets);
_in_txt = _txt;
_in_items = _rest;
_in_a_kernelArgSets = _a_kernelArgSets;
_in_a_kernel__arg__number = _a_kernel__arg__number;
_in_a_cl__kernelVar = _a_cl__kernelVar;
goto _tailrecursive;
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta[0+0];
_out_a_kernelArgSets = tmpMeta[0+1];
_out_a_kernel__arg__number = tmpMeta[0+2];
_out_a_cl__kernelVar = tmpMeta[0+3];
_return: OMC_LABEL_UNUSED
if (out_out_a_kernelArgSets) { *out_out_a_kernelArgSets = _out_a_kernelArgSets; }
if (out_out_a_kernel__arg__number) { *out_out_a_kernel__arg__number = _out_a_kernel__arg__number; }
if (out_out_a_cl__kernelVar) { *out_out_a_cl__kernelVar = _out_a_cl__kernelVar; }
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_lm__279(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_items, modelica_metatype _in_a_kernelArgSets, modelica_metatype _in_a_kernel__arg__number, modelica_metatype _in_a_cl__kernelVar, modelica_metatype *out_out_a_kernelArgSets, modelica_metatype *out_out_a_kernel__arg__number, modelica_metatype *out_out_a_cl__kernelVar)
{
modelica_metatype _out_txt = NULL;
modelica_metatype _out_a_kernelArgSets = NULL;
modelica_metatype _out_a_kernel__arg__number = NULL;
modelica_metatype _out_a_cl__kernelVar = NULL;
modelica_metatype tmpMeta[6] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_metatype tmp4_2;modelica_metatype tmp4_3;modelica_metatype tmp4_4;modelica_metatype tmp4_5;
tmp4_1 = _in_txt;
tmp4_2 = _in_items;
tmp4_3 = _in_a_kernelArgSets;
tmp4_4 = _in_a_kernel__arg__number;
tmp4_5 = _in_a_cl__kernelVar;
{
modelica_metatype _txt = NULL;
modelica_metatype _rest = NULL;
modelica_metatype _a_kernelArgSets = NULL;
modelica_metatype _a_kernel__arg__number = NULL;
modelica_metatype _a_cl__kernelVar = NULL;
modelica_metatype _i_var = NULL;
volatile mmc_switch_type tmp4;
int tmp5;
tmp4 = 0;
for (; tmp4 < 2; tmp4++) {
switch (MMC_SWITCH_CAST(tmp4)) {
case 0: {
if (!listEmpty(tmp4_2)) goto tmp3_end;
_txt = tmp4_1;
_a_kernelArgSets = tmp4_3;
_a_kernel__arg__number = tmp4_4;
_a_cl__kernelVar = tmp4_5;
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_kernelArgSets;
tmpMeta[0+2] = _a_kernel__arg__number;
tmpMeta[0+3] = _a_cl__kernelVar;
goto tmp3_done;
}
case 1: {
if (listEmpty(tmp4_2)) goto tmp3_end;
tmpMeta[4] = MMC_CAR(tmp4_2);
tmpMeta[5] = MMC_CDR(tmp4_2);
_i_var = tmpMeta[4];
_rest = tmpMeta[5];
_txt = tmp4_1;
_a_kernelArgSets = tmp4_3;
_a_kernel__arg__number = tmp4_4;
_a_cl__kernelVar = tmp4_5;
_txt = omc_CodegenCFunctions_setKernelArg__ith(threadData, _txt, _i_var, _a_cl__kernelVar, _a_kernel__arg__number, _a_kernelArgSets ,&_a_cl__kernelVar ,&_a_kernel__arg__number ,&_a_kernelArgSets);
_in_txt = _txt;
_in_items = _rest;
_in_a_kernelArgSets = _a_kernelArgSets;
_in_a_kernel__arg__number = _a_kernel__arg__number;
_in_a_cl__kernelVar = _a_cl__kernelVar;
goto _tailrecursive;
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta[0+0];
_out_a_kernelArgSets = tmpMeta[0+1];
_out_a_kernel__arg__number = tmpMeta[0+2];
_out_a_cl__kernelVar = tmpMeta[0+3];
_return: OMC_LABEL_UNUSED
if (out_out_a_kernelArgSets) { *out_out_a_kernelArgSets = _out_a_kernelArgSets; }
if (out_out_a_kernel__arg__number) { *out_out_a_kernel__arg__number = _out_a_kernel__arg__number; }
if (out_out_a_cl__kernelVar) { *out_out_a_cl__kernelVar = _out_a_cl__kernelVar; }
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_lm__278(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_items)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta[3] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp3_1;modelica_metatype tmp3_2;
tmp3_1 = _in_txt;
tmp3_2 = _in_items;
{
modelica_metatype _txt = NULL;
modelica_metatype _rest = NULL;
modelica_metatype _i_var = NULL;
volatile mmc_switch_type tmp3;
int tmp4;
tmp3 = 0;
for (; tmp3 < 2; tmp3++) {
switch (MMC_SWITCH_CAST(tmp3)) {
case 0: {
if (!listEmpty(tmp3_2)) goto tmp2_end;
_txt = tmp3_1;
tmpMeta[0] = _txt;
goto tmp2_done;
}
case 1: {
if (listEmpty(tmp3_2)) goto tmp2_end;
tmpMeta[1] = MMC_CAR(tmp3_2);
tmpMeta[2] = MMC_CDR(tmp3_2);
_i_var = tmpMeta[1];
_rest = tmpMeta[2];
_txt = tmp3_1;
_txt = omc_CodegenCFunctions_varOutput(threadData, _txt, _i_var);
_in_txt = _txt;
_in_items = _rest;
goto _tailrecursive;
goto tmp2_done;
}
}
goto tmp2_end;
tmp2_end: ;
}
goto goto_1;
goto_1:;
MMC_THROW_INTERNAL();
goto tmp2_done;
tmp2_done:;
}
}
_out_txt = tmpMeta[0];
_return: OMC_LABEL_UNUSED
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_lm__277(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_items, modelica_metatype _in_a_auxFunction, modelica_metatype _in_a_varFrees, modelica_metatype _in_a_varInits, modelica_metatype _in_a_varDecls, modelica_metatype *out_out_a_auxFunction, modelica_metatype *out_out_a_varFrees, modelica_metatype *out_out_a_varInits, modelica_metatype *out_out_a_varDecls)
{
modelica_metatype _out_txt = NULL;
modelica_metatype _out_a_auxFunction = NULL;
modelica_metatype _out_a_varFrees = NULL;
modelica_metatype _out_a_varInits = NULL;
modelica_metatype _out_a_varDecls = NULL;
modelica_metatype tmpMeta[7] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_metatype tmp4_2;modelica_metatype tmp4_3;modelica_metatype tmp4_4;modelica_metatype tmp4_5;modelica_metatype tmp4_6;
tmp4_1 = _in_txt;
tmp4_2 = _in_items;
tmp4_3 = _in_a_auxFunction;
tmp4_4 = _in_a_varFrees;
tmp4_5 = _in_a_varInits;
tmp4_6 = _in_a_varDecls;
{
modelica_metatype _txt = NULL;
modelica_metatype _rest = NULL;
modelica_metatype _a_auxFunction = NULL;
modelica_metatype _a_varFrees = NULL;
modelica_metatype _a_varInits = NULL;
modelica_metatype _a_varDecls = NULL;
modelica_metatype _i_var = NULL;
volatile mmc_switch_type tmp4;
int tmp5;
tmp4 = 0;
for (; tmp4 < 2; tmp4++) {
switch (MMC_SWITCH_CAST(tmp4)) {
case 0: {
if (!listEmpty(tmp4_2)) goto tmp3_end;
_txt = tmp4_1;
_a_auxFunction = tmp4_3;
_a_varFrees = tmp4_4;
_a_varInits = tmp4_5;
_a_varDecls = tmp4_6;
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_auxFunction;
tmpMeta[0+2] = _a_varFrees;
tmpMeta[0+3] = _a_varInits;
tmpMeta[0+4] = _a_varDecls;
goto tmp3_done;
}
case 1: {
if (listEmpty(tmp4_2)) goto tmp3_end;
tmpMeta[5] = MMC_CAR(tmp4_2);
tmpMeta[6] = MMC_CDR(tmp4_2);
_i_var = tmpMeta[5];
_rest = tmpMeta[6];
_txt = tmp4_1;
_a_auxFunction = tmp4_3;
_a_varFrees = tmp4_4;
_a_varInits = tmp4_5;
_a_varDecls = tmp4_6;
_txt = omc_CodegenCFunctions_varInit(threadData, _txt, _i_var, _OMC_LIT91, _a_varDecls, _a_varInits, _a_varFrees, _a_auxFunction ,&_a_varDecls ,&_a_varInits ,&_a_varFrees ,&_a_auxFunction);
_txt = omc_Tpl_nextIter(threadData, _txt);
_in_txt = _txt;
_in_items = _rest;
_in_a_auxFunction = _a_auxFunction;
_in_a_varFrees = _a_varFrees;
_in_a_varInits = _a_varInits;
_in_a_varDecls = _a_varDecls;
goto _tailrecursive;
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta[0+0];
_out_a_auxFunction = tmpMeta[0+1];
_out_a_varFrees = tmpMeta[0+2];
_out_a_varInits = tmpMeta[0+3];
_out_a_varDecls = tmpMeta[0+4];
_return: OMC_LABEL_UNUSED
if (out_out_a_auxFunction) { *out_out_a_auxFunction = _out_a_auxFunction; }
if (out_out_a_varFrees) { *out_out_a_varFrees = _out_a_varFrees; }
if (out_out_a_varInits) { *out_out_a_varInits = _out_a_varInits; }
if (out_out_a_varDecls) { *out_out_a_varDecls = _out_a_varDecls; }
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_lm__276(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_items, modelica_metatype _in_a_auxFunction, modelica_metatype _in_a_varFrees, modelica_metatype _in_a_varInits, modelica_metatype _in_a_varDecls, modelica_metatype *out_out_a_auxFunction, modelica_metatype *out_out_a_varFrees, modelica_metatype *out_out_a_varInits, modelica_metatype *out_out_a_varDecls)
{
modelica_metatype _out_txt = NULL;
modelica_metatype _out_a_auxFunction = NULL;
modelica_metatype _out_a_varFrees = NULL;
modelica_metatype _out_a_varInits = NULL;
modelica_metatype _out_a_varDecls = NULL;
modelica_metatype tmpMeta[7] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_metatype tmp4_2;modelica_metatype tmp4_3;modelica_metatype tmp4_4;modelica_metatype tmp4_5;modelica_metatype tmp4_6;
tmp4_1 = _in_txt;
tmp4_2 = _in_items;
tmp4_3 = _in_a_auxFunction;
tmp4_4 = _in_a_varFrees;
tmp4_5 = _in_a_varInits;
tmp4_6 = _in_a_varDecls;
{
modelica_metatype _txt = NULL;
modelica_metatype _rest = NULL;
modelica_metatype _a_auxFunction = NULL;
modelica_metatype _a_varFrees = NULL;
modelica_metatype _a_varInits = NULL;
modelica_metatype _a_varDecls = NULL;
modelica_metatype _i_var = NULL;
volatile mmc_switch_type tmp4;
int tmp5;
tmp4 = 0;
for (; tmp4 < 2; tmp4++) {
switch (MMC_SWITCH_CAST(tmp4)) {
case 0: {
if (!listEmpty(tmp4_2)) goto tmp3_end;
_txt = tmp4_1;
_a_auxFunction = tmp4_3;
_a_varFrees = tmp4_4;
_a_varInits = tmp4_5;
_a_varDecls = tmp4_6;
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_auxFunction;
tmpMeta[0+2] = _a_varFrees;
tmpMeta[0+3] = _a_varInits;
tmpMeta[0+4] = _a_varDecls;
goto tmp3_done;
}
case 1: {
if (listEmpty(tmp4_2)) goto tmp3_end;
tmpMeta[5] = MMC_CAR(tmp4_2);
tmpMeta[6] = MMC_CDR(tmp4_2);
_i_var = tmpMeta[5];
_rest = tmpMeta[6];
_txt = tmp4_1;
_a_auxFunction = tmp4_3;
_a_varFrees = tmp4_4;
_a_varInits = tmp4_5;
_a_varDecls = tmp4_6;
_txt = omc_CodegenCFunctions_varInit(threadData, _txt, _i_var, _OMC_LIT91, _a_varDecls, _a_varInits, _a_varFrees, _a_auxFunction ,&_a_varDecls ,&_a_varInits ,&_a_varFrees ,&_a_auxFunction);
_txt = omc_Tpl_nextIter(threadData, _txt);
_in_txt = _txt;
_in_items = _rest;
_in_a_auxFunction = _a_auxFunction;
_in_a_varFrees = _a_varFrees;
_in_a_varInits = _a_varInits;
_in_a_varDecls = _a_varDecls;
goto _tailrecursive;
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta[0+0];
_out_a_auxFunction = tmpMeta[0+1];
_out_a_varFrees = tmpMeta[0+2];
_out_a_varInits = tmpMeta[0+3];
_out_a_varDecls = tmpMeta[0+4];
_return: OMC_LABEL_UNUSED
if (out_out_a_auxFunction) { *out_out_a_auxFunction = _out_a_auxFunction; }
if (out_out_a_varFrees) { *out_out_a_varFrees = _out_a_varFrees; }
if (out_out_a_varInits) { *out_out_a_varInits = _out_a_varInits; }
if (out_out_a_varDecls) { *out_out_a_varDecls = _out_a_varDecls; }
return _out_txt;
}
DLLExport
modelica_metatype omc_CodegenCFunctions_functionBodyParallelFunction(threadData_t *threadData, modelica_metatype _txt, modelica_metatype _a_fn, modelica_boolean _a_inFunc)
{
modelica_metatype _out_txt = NULL;
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
_out_txt = omc_CodegenCFunctions_fun__274(threadData, _txt, _a_fn);
_return: OMC_LABEL_UNUSED
return _out_txt;
}
modelica_metatype boxptr_CodegenCFunctions_functionBodyParallelFunction(threadData_t *threadData, modelica_metatype _txt, modelica_metatype _a_fn, modelica_metatype _a_inFunc)
{
modelica_integer tmp1;
modelica_metatype _out_txt = NULL;
tmp1 = mmc_unbox_integer(_a_inFunc);
_out_txt = omc_CodegenCFunctions_functionBodyParallelFunction(threadData, _txt, _a_fn, tmp1);
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__274(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_fn)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta[6] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp3_1;modelica_metatype tmp3_2;
tmp3_1 = _in_txt;
tmp3_2 = _in_a_fn;
{
modelica_metatype _txt = NULL;
modelica_metatype _i_functionArguments = NULL;
modelica_metatype _i_outVars = NULL;
modelica_metatype _i_body = NULL;
modelica_metatype _i_variableDeclarations = NULL;
modelica_metatype _i_name = NULL;
modelica_metatype _ret_10 = NULL;
modelica_metatype _l_outVarAssign = NULL;
modelica_metatype _l_bodyPart = NULL;
modelica_metatype _l_0__ = NULL;
modelica_metatype _l_auxFunction_1 = NULL;
modelica_metatype _l_varFrees = NULL;
modelica_metatype _l_varInits = NULL;
modelica_metatype _l_varDecls = NULL;
modelica_metatype _l_fname = NULL;
volatile mmc_switch_type tmp3;
int tmp4;
tmp3 = 0;
for (; tmp3 < 2; tmp3++) {
switch (MMC_SWITCH_CAST(tmp3)) {
case 0: {
if (mmc__uniontype__metarecord__typedef__equal(tmp3_2,1,6) == 0) goto tmp2_end;
tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_2), 2));
tmpMeta[2] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_2), 3));
tmpMeta[3] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_2), 4));
tmpMeta[4] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_2), 5));
tmpMeta[5] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_2), 6));
_i_name = tmpMeta[1];
_i_outVars = tmpMeta[2];
_i_functionArguments = tmpMeta[3];
_i_variableDeclarations = tmpMeta[4];
_i_body = tmpMeta[5];
_txt = tmp3_1;
omc_SimCodeFunctionUtil_codegenResetTryThrowIndex(threadData);
omc_System_tmpTickReset(threadData, ((modelica_integer) 1));
omc_System_tmpTickResetIndex(threadData, ((modelica_integer) 0), ((modelica_integer) 1));
_l_fname = omc_CodegenUtil_underscorePath(threadData, _OMC_LIT20, _i_name);
_l_varDecls = _OMC_LIT20;
_l_varInits = _OMC_LIT20;
_l_varFrees = _OMC_LIT20;
_l_auxFunction_1 = _OMC_LIT20;
_l_0__ = omc_Tpl_pushIter(threadData, _OMC_LIT20, _OMC_LIT94);
_l_0__ = omc_CodegenCFunctions_lm__271(threadData, _l_0__, _i_variableDeclarations, _l_auxFunction_1, _l_varFrees, _l_varInits, _l_varDecls ,&_l_auxFunction_1 ,&_l_varFrees ,&_l_varInits ,&_l_varDecls);
_l_0__ = omc_Tpl_popIter(threadData, _l_0__);
_l_bodyPart = omc_CodegenCFunctions_parModelicafunStatement(threadData, _OMC_LIT20, _i_body, _l_varDecls, _l_auxFunction_1 ,&_l_varDecls ,&_l_auxFunction_1);
_ret_10 = omc_List_restOrEmpty(threadData, _i_outVars);
_l_outVarAssign = omc_CodegenCFunctions_lm__272(threadData, _OMC_LIT20, _ret_10);
_l_varDecls = omc_CodegenCFunctions_addRootsTempArray(threadData, _l_varDecls);
_txt = omc_Tpl_writeText(threadData, _txt, _l_auxFunction_1);
_txt = omc_Tpl_softNewLine(threadData, _txt);
_txt = omc_CodegenCFunctions_functionHeaderParallelImpl(threadData, _txt, omc_Tpl_textString(threadData, _l_fname), _i_functionArguments, _i_outVars, 0, 0);
_txt = omc_Tpl_softNewLine(threadData, _txt);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT146);
_txt = omc_Tpl_pushBlock(threadData, _txt, _OMC_LIT97);
_txt = omc_Tpl_writeText(threadData, _txt, _l_varDecls);
_txt = omc_Tpl_softNewLine(threadData, _txt);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT89);
_txt = omc_Tpl_writeText(threadData, _txt, _l_varInits);
_txt = omc_Tpl_softNewLine(threadData, _txt);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT89);
_txt = omc_Tpl_writeText(threadData, _txt, _l_bodyPart);
_txt = omc_Tpl_softNewLine(threadData, _txt);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT89);
_txt = omc_Tpl_writeText(threadData, _txt, _l_outVarAssign);
_txt = omc_Tpl_softNewLine(threadData, _txt);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT89);
_txt = omc_CodegenCFunctions_fun__273(threadData, _txt, _i_outVars);
_txt = omc_Tpl_softNewLine(threadData, _txt);
_txt = omc_Tpl_popBlock(threadData, _txt);
tmpMeta[0] = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT2340);
goto tmp2_done;
}
case 1: {
_txt = tmp3_1;
tmpMeta[0] = _txt;
goto tmp2_done;
}
}
goto tmp2_end;
tmp2_end: ;
}
goto goto_1;
goto_1:;
MMC_THROW_INTERNAL();
goto tmp2_done;
tmp2_done:;
}
}
_out_txt = tmpMeta[0];
_return: OMC_LABEL_UNUSED
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__273(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_outVars)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta[3] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp3_1;modelica_metatype tmp3_2;
tmp3_1 = _in_txt;
tmp3_2 = _in_a_outVars;
{
modelica_metatype _txt = NULL;
modelica_metatype _i_v = NULL;
volatile mmc_switch_type tmp3;
int tmp4;
tmp3 = 0;
for (; tmp3 < 2; tmp3++) {
switch (MMC_SWITCH_CAST(tmp3)) {
case 0: {
if (listEmpty(tmp3_2)) goto tmp2_end;
tmpMeta[1] = MMC_CAR(tmp3_2);
tmpMeta[2] = MMC_CDR(tmp3_2);
_i_v = tmpMeta[1];
_txt = tmp3_1;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT995);
_txt = omc_CodegenCFunctions_funArgName(threadData, _txt, _i_v);
tmpMeta[0] = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT105);
goto tmp2_done;
}
case 1: {
_txt = tmp3_1;
tmpMeta[0] = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT2258);
goto tmp2_done;
}
}
goto tmp2_end;
tmp2_end: ;
}
goto goto_1;
goto_1:;
MMC_THROW_INTERNAL();
goto tmp2_done;
tmp2_done:;
}
}
_out_txt = tmpMeta[0];
_return: OMC_LABEL_UNUSED
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_lm__272(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_items)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta[3] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp3_1;modelica_metatype tmp3_2;
tmp3_1 = _in_txt;
tmp3_2 = _in_items;
{
modelica_metatype _txt = NULL;
modelica_metatype _rest = NULL;
modelica_metatype _i_var = NULL;
volatile mmc_switch_type tmp3;
int tmp4;
tmp3 = 0;
for (; tmp3 < 2; tmp3++) {
switch (MMC_SWITCH_CAST(tmp3)) {
case 0: {
if (!listEmpty(tmp3_2)) goto tmp2_end;
_txt = tmp3_1;
tmpMeta[0] = _txt;
goto tmp2_done;
}
case 1: {
if (listEmpty(tmp3_2)) goto tmp2_end;
tmpMeta[1] = MMC_CAR(tmp3_2);
tmpMeta[2] = MMC_CDR(tmp3_2);
_i_var = tmpMeta[1];
_rest = tmpMeta[2];
_txt = tmp3_1;
_txt = omc_CodegenCFunctions_varOutput(threadData, _txt, _i_var);
_in_txt = _txt;
_in_items = _rest;
goto _tailrecursive;
goto tmp2_done;
}
}
goto tmp2_end;
tmp2_end: ;
}
goto goto_1;
goto_1:;
MMC_THROW_INTERNAL();
goto tmp2_done;
tmp2_done:;
}
}
_out_txt = tmpMeta[0];
_return: OMC_LABEL_UNUSED
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_lm__271(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_items, modelica_metatype _in_a_auxFunction, modelica_metatype _in_a_varFrees, modelica_metatype _in_a_varInits, modelica_metatype _in_a_varDecls, modelica_metatype *out_out_a_auxFunction, modelica_metatype *out_out_a_varFrees, modelica_metatype *out_out_a_varInits, modelica_metatype *out_out_a_varDecls)
{
modelica_metatype _out_txt = NULL;
modelica_metatype _out_a_auxFunction = NULL;
modelica_metatype _out_a_varFrees = NULL;
modelica_metatype _out_a_varInits = NULL;
modelica_metatype _out_a_varDecls = NULL;
modelica_metatype tmpMeta[7] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_metatype tmp4_2;modelica_metatype tmp4_3;modelica_metatype tmp4_4;modelica_metatype tmp4_5;modelica_metatype tmp4_6;
tmp4_1 = _in_txt;
tmp4_2 = _in_items;
tmp4_3 = _in_a_auxFunction;
tmp4_4 = _in_a_varFrees;
tmp4_5 = _in_a_varInits;
tmp4_6 = _in_a_varDecls;
{
modelica_metatype _txt = NULL;
modelica_metatype _rest = NULL;
modelica_metatype _a_auxFunction = NULL;
modelica_metatype _a_varFrees = NULL;
modelica_metatype _a_varInits = NULL;
modelica_metatype _a_varDecls = NULL;
modelica_metatype _i_var = NULL;
volatile mmc_switch_type tmp4;
int tmp5;
tmp4 = 0;
for (; tmp4 < 2; tmp4++) {
switch (MMC_SWITCH_CAST(tmp4)) {
case 0: {
if (!listEmpty(tmp4_2)) goto tmp3_end;
_txt = tmp4_1;
_a_auxFunction = tmp4_3;
_a_varFrees = tmp4_4;
_a_varInits = tmp4_5;
_a_varDecls = tmp4_6;
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_auxFunction;
tmpMeta[0+2] = _a_varFrees;
tmpMeta[0+3] = _a_varInits;
tmpMeta[0+4] = _a_varDecls;
goto tmp3_done;
}
case 1: {
if (listEmpty(tmp4_2)) goto tmp3_end;
tmpMeta[5] = MMC_CAR(tmp4_2);
tmpMeta[6] = MMC_CDR(tmp4_2);
_i_var = tmpMeta[5];
_rest = tmpMeta[6];
_txt = tmp4_1;
_a_auxFunction = tmp4_3;
_a_varFrees = tmp4_4;
_a_varInits = tmp4_5;
_a_varDecls = tmp4_6;
_txt = omc_CodegenCFunctions_varInit(threadData, _txt, _i_var, _OMC_LIT91, _a_varDecls, _a_varInits, _a_varFrees, _a_auxFunction ,&_a_varDecls ,&_a_varInits ,&_a_varFrees ,&_a_auxFunction);
_txt = omc_Tpl_nextIter(threadData, _txt);
_in_txt = _txt;
_in_items = _rest;
_in_a_auxFunction = _a_auxFunction;
_in_a_varFrees = _a_varFrees;
_in_a_varInits = _a_varInits;
_in_a_varDecls = _a_varDecls;
goto _tailrecursive;
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta[0+0];
_out_a_auxFunction = tmpMeta[0+1];
_out_a_varFrees = tmpMeta[0+2];
_out_a_varInits = tmpMeta[0+3];
_out_a_varDecls = tmpMeta[0+4];
_return: OMC_LABEL_UNUSED
if (out_out_a_auxFunction) { *out_out_a_auxFunction = _out_a_auxFunction; }
if (out_out_a_varFrees) { *out_out_a_varFrees = _out_a_varFrees; }
if (out_out_a_varInits) { *out_out_a_varInits = _out_a_varInits; }
if (out_out_a_varDecls) { *out_out_a_varDecls = _out_a_varDecls; }
return _out_txt;
}
DLLExport
modelica_metatype omc_CodegenCFunctions_functionBodyKernelFunction(threadData_t *threadData, modelica_metatype _txt, modelica_metatype _a_fn, modelica_boolean _a_inFunc)
{
modelica_metatype _out_txt = NULL;
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
_out_txt = omc_CodegenCFunctions_fun__269(threadData, _txt, _a_fn);
_return: OMC_LABEL_UNUSED
return _out_txt;
}
modelica_metatype boxptr_CodegenCFunctions_functionBodyKernelFunction(threadData_t *threadData, modelica_metatype _txt, modelica_metatype _a_fn, modelica_metatype _a_inFunc)
{
modelica_integer tmp1;
modelica_metatype _out_txt = NULL;
tmp1 = mmc_unbox_integer(_a_inFunc);
_out_txt = omc_CodegenCFunctions_functionBodyKernelFunction(threadData, _txt, _a_fn, tmp1);
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__269(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_fn)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta[6] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp3_1;modelica_metatype tmp3_2;
tmp3_1 = _in_txt;
tmp3_2 = _in_a_fn;
{
modelica_metatype _txt = NULL;
modelica_metatype _i_body = NULL;
modelica_metatype _i_outVars = NULL;
modelica_metatype _i_functionArguments = NULL;
modelica_metatype _i_variableDeclarations = NULL;
modelica_metatype _i_name = NULL;
modelica_metatype _l_bodyPart = NULL;
modelica_metatype _l_reconstrucedArrays = NULL;
modelica_metatype _l_0___1 = NULL;
modelica_metatype _l_argStr = NULL;
modelica_metatype _l_0__ = NULL;
modelica_metatype _l_auxFunction = NULL;
modelica_metatype _l_varFrees = NULL;
modelica_metatype _l_varInits = NULL;
modelica_metatype _l_varDecls = NULL;
modelica_metatype _l_fname = NULL;
volatile mmc_switch_type tmp3;
int tmp4;
tmp3 = 0;
for (; tmp3 < 2; tmp3++) {
switch (MMC_SWITCH_CAST(tmp3)) {
case 0: {
if (mmc__uniontype__metarecord__typedef__equal(tmp3_2,2,6) == 0) goto tmp2_end;
tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_2), 2));
tmpMeta[2] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_2), 3));
tmpMeta[3] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_2), 4));
tmpMeta[4] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_2), 5));
tmpMeta[5] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_2), 6));
_i_name = tmpMeta[1];
_i_outVars = tmpMeta[2];
_i_functionArguments = tmpMeta[3];
_i_variableDeclarations = tmpMeta[4];
_i_body = tmpMeta[5];
_txt = tmp3_1;
omc_System_tmpTickReset(threadData, ((modelica_integer) 1));
omc_System_tmpTickResetIndex(threadData, ((modelica_integer) 0), ((modelica_integer) 1));
_l_fname = omc_CodegenUtil_underscorePath(threadData, _OMC_LIT20, _i_name);
_l_varDecls = _OMC_LIT20;
_l_varInits = _OMC_LIT20;
_l_varFrees = _OMC_LIT20;
_l_auxFunction = _OMC_LIT20;
_l_0__ = omc_Tpl_pushIter(threadData, _OMC_LIT20, _OMC_LIT94);
_l_0__ = omc_CodegenCFunctions_lm__264(threadData, _l_0__, _i_variableDeclarations, _l_auxFunction, _l_varFrees, _l_varInits, _l_varDecls ,&_l_auxFunction ,&_l_varFrees ,&_l_varInits ,&_l_varDecls);
_l_0__ = omc_Tpl_popIter(threadData, _l_0__);
_l_argStr = omc_Tpl_pushIter(threadData, _OMC_LIT20, _OMC_LIT2346);
_l_argStr = omc_CodegenCFunctions_lm__265(threadData, _l_argStr, _i_functionArguments);
_l_argStr = omc_Tpl_popIter(threadData, _l_argStr);
_l_0___1 = omc_Tpl_pushIter(threadData, _OMC_LIT20, _OMC_LIT2350);
_l_0___1 = omc_CodegenCFunctions_lm__266(threadData, _l_0___1, _i_outVars, _l_argStr ,&_l_argStr);
_l_0___1 = omc_Tpl_popIter(threadData, _l_0___1);
_l_reconstrucedArrays = _OMC_LIT20;
omc_CodegenCFunctions_lm__267(threadData, _OMC_LIT20, _i_functionArguments, _l_reconstrucedArrays ,&_l_reconstrucedArrays);
omc_CodegenCFunctions_lm__268(threadData, _OMC_LIT20, _i_outVars, _l_reconstrucedArrays ,&_l_reconstrucedArrays);
_l_bodyPart = omc_CodegenCFunctions_parModelicafunStatement(threadData, _OMC_LIT20, _i_body, _l_varDecls, _l_auxFunction ,&_l_varDecls ,&_l_auxFunction);
_l_varDecls = omc_CodegenCFunctions_addRootsTempArray(threadData, _l_varDecls);
_txt = omc_Tpl_writeText(threadData, _txt, _l_auxFunction);
_txt = omc_Tpl_softNewLine(threadData, _txt);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT2354);
_txt = omc_Tpl_writeText(threadData, _txt, _l_fname);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT2355);
_txt = omc_Tpl_pushBlock(threadData, _txt, _OMC_LIT97);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT2357);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT2357);
_txt = omc_Tpl_writeText(threadData, _txt, _l_argStr);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1928);
_txt = omc_Tpl_popBlock(threadData, _txt);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT2361);
_txt = omc_Tpl_pushBlock(threadData, _txt, _OMC_LIT97);
_txt = omc_Tpl_writeText(threadData, _txt, _l_reconstrucedArrays);
_txt = omc_Tpl_softNewLine(threadData, _txt);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT2365);
_txt = omc_Tpl_writeText(threadData, _txt, _l_varDecls);
_txt = omc_Tpl_softNewLine(threadData, _txt);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT2369);
_txt = omc_Tpl_writeText(threadData, _txt, _l_varInits);
_txt = omc_Tpl_softNewLine(threadData, _txt);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT2371);
_txt = omc_Tpl_writeText(threadData, _txt, _l_bodyPart);
_txt = omc_Tpl_softNewLine(threadData, _txt);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT2375);
_txt = omc_Tpl_writeText(threadData, _txt, _l_varFrees);
_txt = omc_Tpl_softNewLine(threadData, _txt);
_txt = omc_Tpl_popBlock(threadData, _txt);
tmpMeta[0] = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT2338);
goto tmp2_done;
}
case 1: {
_txt = tmp3_1;
tmpMeta[0] = _txt;
goto tmp2_done;
}
}
goto tmp2_end;
tmp2_end: ;
}
goto goto_1;
goto_1:;
MMC_THROW_INTERNAL();
goto tmp2_done;
tmp2_done:;
}
}
_out_txt = tmpMeta[0];
_return: OMC_LABEL_UNUSED
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_lm__268(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_items, modelica_metatype _in_a_reconstrucedArrays, modelica_metatype *out_out_a_reconstrucedArrays)
{
modelica_metatype _out_txt = NULL;
modelica_metatype _out_a_reconstrucedArrays = NULL;
modelica_metatype tmpMeta[4] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_metatype tmp4_2;modelica_metatype tmp4_3;
tmp4_1 = _in_txt;
tmp4_2 = _in_items;
tmp4_3 = _in_a_reconstrucedArrays;
{
modelica_metatype _txt = NULL;
modelica_metatype _rest = NULL;
modelica_metatype _a_reconstrucedArrays = NULL;
modelica_metatype _i_var = NULL;
volatile mmc_switch_type tmp4;
int tmp5;
tmp4 = 0;
for (; tmp4 < 2; tmp4++) {
switch (MMC_SWITCH_CAST(tmp4)) {
case 0: {
if (!listEmpty(tmp4_2)) goto tmp3_end;
_txt = tmp4_1;
_a_reconstrucedArrays = tmp4_3;
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_reconstrucedArrays;
goto tmp3_done;
}
case 1: {
if (listEmpty(tmp4_2)) goto tmp3_end;
tmpMeta[2] = MMC_CAR(tmp4_2);
tmpMeta[3] = MMC_CDR(tmp4_2);
_i_var = tmpMeta[2];
_rest = tmpMeta[3];
_txt = tmp4_1;
_a_reconstrucedArrays = tmp4_3;
_txt = omc_CodegenCFunctions_reconstructKernelArrays(threadData, _txt, _i_var, _a_reconstrucedArrays ,&_a_reconstrucedArrays);
_in_txt = _txt;
_in_items = _rest;
_in_a_reconstrucedArrays = _a_reconstrucedArrays;
goto _tailrecursive;
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta[0+0];
_out_a_reconstrucedArrays = tmpMeta[0+1];
_return: OMC_LABEL_UNUSED
if (out_out_a_reconstrucedArrays) { *out_out_a_reconstrucedArrays = _out_a_reconstrucedArrays; }
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_lm__267(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_items, modelica_metatype _in_a_reconstrucedArrays, modelica_metatype *out_out_a_reconstrucedArrays)
{
modelica_metatype _out_txt = NULL;
modelica_metatype _out_a_reconstrucedArrays = NULL;
modelica_metatype tmpMeta[4] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_metatype tmp4_2;modelica_metatype tmp4_3;
tmp4_1 = _in_txt;
tmp4_2 = _in_items;
tmp4_3 = _in_a_reconstrucedArrays;
{
modelica_metatype _txt = NULL;
modelica_metatype _rest = NULL;
modelica_metatype _a_reconstrucedArrays = NULL;
modelica_metatype _i_var = NULL;
volatile mmc_switch_type tmp4;
int tmp5;
tmp4 = 0;
for (; tmp4 < 2; tmp4++) {
switch (MMC_SWITCH_CAST(tmp4)) {
case 0: {
if (!listEmpty(tmp4_2)) goto tmp3_end;
_txt = tmp4_1;
_a_reconstrucedArrays = tmp4_3;
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_reconstrucedArrays;
goto tmp3_done;
}
case 1: {
if (listEmpty(tmp4_2)) goto tmp3_end;
tmpMeta[2] = MMC_CAR(tmp4_2);
tmpMeta[3] = MMC_CDR(tmp4_2);
_i_var = tmpMeta[2];
_rest = tmpMeta[3];
_txt = tmp4_1;
_a_reconstrucedArrays = tmp4_3;
_txt = omc_CodegenCFunctions_reconstructKernelArrays(threadData, _txt, _i_var, _a_reconstrucedArrays ,&_a_reconstrucedArrays);
_in_txt = _txt;
_in_items = _rest;
_in_a_reconstrucedArrays = _a_reconstrucedArrays;
goto _tailrecursive;
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta[0+0];
_out_a_reconstrucedArrays = tmpMeta[0+1];
_return: OMC_LABEL_UNUSED
if (out_out_a_reconstrucedArrays) { *out_out_a_reconstrucedArrays = _out_a_reconstrucedArrays; }
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_lm__266(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_items, modelica_metatype _in_a_argStr, modelica_metatype *out_out_a_argStr)
{
modelica_metatype _out_txt = NULL;
modelica_metatype _out_a_argStr = NULL;
modelica_metatype tmpMeta[4] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_metatype tmp4_2;modelica_metatype tmp4_3;
tmp4_1 = _in_txt;
tmp4_2 = _in_items;
tmp4_3 = _in_a_argStr;
{
modelica_metatype _txt = NULL;
modelica_metatype _rest = NULL;
modelica_metatype _a_argStr = NULL;
modelica_metatype _i_var = NULL;
volatile mmc_switch_type tmp4;
int tmp5;
tmp4 = 0;
for (; tmp4 < 2; tmp4++) {
switch (MMC_SWITCH_CAST(tmp4)) {
case 0: {
if (!listEmpty(tmp4_2)) goto tmp3_end;
_txt = tmp4_1;
_a_argStr = tmp4_3;
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_argStr;
goto tmp3_done;
}
case 1: {
if (listEmpty(tmp4_2)) goto tmp3_end;
tmpMeta[2] = MMC_CAR(tmp4_2);
tmpMeta[3] = MMC_CDR(tmp4_2);
_i_var = tmpMeta[2];
_rest = tmpMeta[3];
_txt = tmp4_1;
_a_argStr = tmp4_3;
_txt = omc_CodegenCFunctions_funArgDefinitionKernelFunctionBody2(threadData, _txt, _i_var, _a_argStr ,&_a_argStr);
_txt = omc_Tpl_nextIter(threadData, _txt);
_in_txt = _txt;
_in_items = _rest;
_in_a_argStr = _a_argStr;
goto _tailrecursive;
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta[0+0];
_out_a_argStr = tmpMeta[0+1];
_return: OMC_LABEL_UNUSED
if (out_out_a_argStr) { *out_out_a_argStr = _out_a_argStr; }
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_lm__265(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_items)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta[3] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp3_1;modelica_metatype tmp3_2;
tmp3_1 = _in_txt;
tmp3_2 = _in_items;
{
modelica_metatype _txt = NULL;
modelica_metatype _rest = NULL;
modelica_metatype _i_var = NULL;
volatile mmc_switch_type tmp3;
int tmp4;
tmp3 = 0;
for (; tmp3 < 2; tmp3++) {
switch (MMC_SWITCH_CAST(tmp3)) {
case 0: {
if (!listEmpty(tmp3_2)) goto tmp2_end;
_txt = tmp3_1;
tmpMeta[0] = _txt;
goto tmp2_done;
}
case 1: {
if (listEmpty(tmp3_2)) goto tmp2_end;
tmpMeta[1] = MMC_CAR(tmp3_2);
tmpMeta[2] = MMC_CDR(tmp3_2);
_i_var = tmpMeta[1];
_rest = tmpMeta[2];
_txt = tmp3_1;
_txt = omc_CodegenCFunctions_funArgDefinitionKernelFunctionBody(threadData, _txt, _i_var);
_txt = omc_Tpl_nextIter(threadData, _txt);
_in_txt = _txt;
_in_items = _rest;
goto _tailrecursive;
goto tmp2_done;
}
}
goto tmp2_end;
tmp2_end: ;
}
goto goto_1;
goto_1:;
MMC_THROW_INTERNAL();
goto tmp2_done;
tmp2_done:;
}
}
_out_txt = tmpMeta[0];
_return: OMC_LABEL_UNUSED
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_lm__264(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_items, modelica_metatype _in_a_auxFunction, modelica_metatype _in_a_varFrees, modelica_metatype _in_a_varInits, modelica_metatype _in_a_varDecls, modelica_metatype *out_out_a_auxFunction, modelica_metatype *out_out_a_varFrees, modelica_metatype *out_out_a_varInits, modelica_metatype *out_out_a_varDecls)
{
modelica_metatype _out_txt = NULL;
modelica_metatype _out_a_auxFunction = NULL;
modelica_metatype _out_a_varFrees = NULL;
modelica_metatype _out_a_varInits = NULL;
modelica_metatype _out_a_varDecls = NULL;
modelica_metatype tmpMeta[7] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_metatype tmp4_2;modelica_metatype tmp4_3;modelica_metatype tmp4_4;modelica_metatype tmp4_5;modelica_metatype tmp4_6;
tmp4_1 = _in_txt;
tmp4_2 = _in_items;
tmp4_3 = _in_a_auxFunction;
tmp4_4 = _in_a_varFrees;
tmp4_5 = _in_a_varInits;
tmp4_6 = _in_a_varDecls;
{
modelica_metatype _txt = NULL;
modelica_metatype _rest = NULL;
modelica_metatype _a_auxFunction = NULL;
modelica_metatype _a_varFrees = NULL;
modelica_metatype _a_varInits = NULL;
modelica_metatype _a_varDecls = NULL;
modelica_metatype _i_var = NULL;
volatile mmc_switch_type tmp4;
int tmp5;
tmp4 = 0;
for (; tmp4 < 2; tmp4++) {
switch (MMC_SWITCH_CAST(tmp4)) {
case 0: {
if (!listEmpty(tmp4_2)) goto tmp3_end;
_txt = tmp4_1;
_a_auxFunction = tmp4_3;
_a_varFrees = tmp4_4;
_a_varInits = tmp4_5;
_a_varDecls = tmp4_6;
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_auxFunction;
tmpMeta[0+2] = _a_varFrees;
tmpMeta[0+3] = _a_varInits;
tmpMeta[0+4] = _a_varDecls;
goto tmp3_done;
}
case 1: {
if (listEmpty(tmp4_2)) goto tmp3_end;
tmpMeta[5] = MMC_CAR(tmp4_2);
tmpMeta[6] = MMC_CDR(tmp4_2);
_i_var = tmpMeta[5];
_rest = tmpMeta[6];
_txt = tmp4_1;
_a_auxFunction = tmp4_3;
_a_varFrees = tmp4_4;
_a_varInits = tmp4_5;
_a_varDecls = tmp4_6;
_txt = omc_CodegenCFunctions_varInit(threadData, _txt, _i_var, _OMC_LIT91, _a_varDecls, _a_varInits, _a_varFrees, _a_auxFunction ,&_a_varDecls ,&_a_varInits ,&_a_varFrees ,&_a_auxFunction);
_txt = omc_Tpl_nextIter(threadData, _txt);
_in_txt = _txt;
_in_items = _rest;
_in_a_auxFunction = _a_auxFunction;
_in_a_varFrees = _a_varFrees;
_in_a_varInits = _a_varInits;
_in_a_varDecls = _a_varDecls;
goto _tailrecursive;
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta[0+0];
_out_a_auxFunction = tmpMeta[0+1];
_out_a_varFrees = tmpMeta[0+2];
_out_a_varInits = tmpMeta[0+3];
_out_a_varDecls = tmpMeta[0+4];
_return: OMC_LABEL_UNUSED
if (out_out_a_auxFunction) { *out_out_a_auxFunction = _out_a_auxFunction; }
if (out_out_a_varFrees) { *out_out_a_varFrees = _out_a_varFrees; }
if (out_out_a_varInits) { *out_out_a_varInits = _out_a_varInits; }
if (out_out_a_varDecls) { *out_out_a_varDecls = _out_a_varDecls; }
return _out_txt;
}
DLLExport
modelica_metatype omc_CodegenCFunctions_generateInFunc(threadData_t *threadData, modelica_metatype _txt, modelica_metatype _a_fname, modelica_metatype _a_functionArguments, modelica_metatype _a_outVars, modelica_metatype *out_out_a_fname)
{
modelica_metatype _out_txt = NULL;
modelica_metatype _out_a_fname = NULL;
modelica_boolean _ret_3;
modelica_metatype _txt_2 = NULL;
modelica_metatype _ret_1 = NULL;
modelica_metatype _ret_0 = NULL;
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
_out_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT2380);
_out_txt = omc_Tpl_writeText(threadData, _out_txt, _a_fname);
_out_txt = omc_Tpl_writeTok(threadData, _out_txt, _OMC_LIT2386);
_out_txt = omc_Tpl_pushBlock(threadData, _out_txt, _OMC_LIT97);
_out_txt = omc_Tpl_pushIter(threadData, _out_txt, _OMC_LIT96);
_out_txt = omc_CodegenCFunctions_lm__254(threadData, _out_txt, _a_functionArguments);
_out_txt = omc_Tpl_popIter(threadData, _out_txt);
_out_txt = omc_Tpl_softNewLine(threadData, _out_txt);
_out_txt = omc_Tpl_pushIter(threadData, _out_txt, _OMC_LIT96);
_out_txt = omc_CodegenCFunctions_lm__255(threadData, _out_txt, _a_outVars);
_out_txt = omc_Tpl_popIter(threadData, _out_txt);
_out_txt = omc_Tpl_softNewLine(threadData, _out_txt);
_out_txt = omc_Tpl_pushIter(threadData, _out_txt, _OMC_LIT96);
_out_txt = omc_CodegenCFunctions_lm__256(threadData, _out_txt, _a_functionArguments);
_out_txt = omc_Tpl_popIter(threadData, _out_txt);
_out_txt = omc_Tpl_softNewLine(threadData, _out_txt);
_out_txt = omc_Tpl_writeTok(threadData, _out_txt, _OMC_LIT2388);
_out_txt = omc_CodegenCFunctions_fun__257(threadData, _out_txt, _a_outVars);
_out_txt = omc_Tpl_writeTok(threadData, _out_txt, _OMC_LIT627);
_out_txt = omc_Tpl_writeText(threadData, _out_txt, _a_fname);
_out_txt = omc_Tpl_writeTok(threadData, _out_txt, _OMC_LIT1291);
_out_txt = omc_CodegenCFunctions_lm__258(threadData, _out_txt, _a_functionArguments);
_ret_0 = omc_List_restOrEmpty(threadData, _a_outVars);
_out_txt = omc_CodegenCFunctions_lm__259(threadData, _out_txt, _ret_0);
_out_txt = omc_Tpl_writeTok(threadData, _out_txt, _OMC_LIT2392);
_out_txt = omc_CodegenCFunctions_fun__260(threadData, _out_txt, _a_outVars);
_out_txt = omc_Tpl_softNewLine(threadData, _out_txt);
_ret_1 = omc_List_restOrEmpty(threadData, _a_outVars);
_out_txt = omc_Tpl_pushIter(threadData, _out_txt, _OMC_LIT1961);
_out_txt = omc_CodegenCFunctions_lm__261(threadData, _out_txt, _ret_1);
_out_txt = omc_Tpl_popIter(threadData, _out_txt);
_out_txt = omc_Tpl_softNewLine(threadData, _out_txt);
_out_txt = omc_Tpl_writeTok(threadData, _out_txt, _OMC_LIT2397);
_out_txt = omc_Tpl_popBlock(threadData, _out_txt);
_out_txt = omc_Tpl_writeTok(threadData, _out_txt, _OMC_LIT2439);
_out_txt = omc_Tpl_pushBlock(threadData, _out_txt, _OMC_LIT97);
_txt_2 = omc_Tpl_writeTok(threadData, _OMC_LIT20, _OMC_LIT627);
_txt_2 = omc_Tpl_writeText(threadData, _txt_2, _a_fname);
_txt_2 = omc_Tpl_writeTok(threadData, _txt_2, _OMC_LIT2441);
_out_txt = omc_CodegenCFunctions_mainTop(threadData, _out_txt, _txt_2, _OMC_LIT2442 ,&_txt_2);
_out_txt = omc_Tpl_softNewLine(threadData, _out_txt);
_out_txt = omc_Tpl_writeTok(threadData, _out_txt, _OMC_LIT2338);
_ret_3 = omc_Flags_isSet(threadData, _OMC_LIT2446);
_out_txt = omc_CodegenCFunctions_fun__262(threadData, _out_txt, _ret_3);
_out_txt = omc_Tpl_softNewLine(threadData, _out_txt);
_out_txt = omc_Tpl_writeTok(threadData, _out_txt, _OMC_LIT2450);
_out_txt = omc_Tpl_popBlock(threadData, _out_txt);
_out_txt = omc_Tpl_writeTok(threadData, _out_txt, _OMC_LIT2454);
_out_a_fname = _a_fname;
_return: OMC_LABEL_UNUSED
if (out_out_a_fname) { *out_out_a_fname = _out_a_fname; }
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__262(threadData_t *threadData, modelica_metatype _in_txt, modelica_boolean _in_mArg)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta[1] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp3_1;modelica_boolean tmp3_2;
tmp3_1 = _in_txt;
tmp3_2 = _in_mArg;
{
modelica_metatype _txt = NULL;
volatile mmc_switch_type tmp3;
int tmp4;
tmp3 = 0;
for (; tmp3 < 2; tmp3++) {
switch (MMC_SWITCH_CAST(tmp3)) {
case 0: {
if (0 != tmp3_2) goto tmp2_end;
_txt = tmp3_1;
tmpMeta[0] = _txt;
goto tmp2_done;
}
case 1: {
_txt = tmp3_1;
tmpMeta[0] = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT2456);
goto tmp2_done;
}
}
goto tmp2_end;
tmp2_end: ;
}
goto goto_1;
goto_1:;
MMC_THROW_INTERNAL();
goto tmp2_done;
tmp2_done:;
}
}
_out_txt = tmpMeta[0];
_return: OMC_LABEL_UNUSED
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__262(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_mArg)
{
modelica_integer tmp1;
modelica_metatype _out_txt = NULL;
tmp1 = mmc_unbox_integer(_in_mArg);
_out_txt = omc_CodegenCFunctions_fun__262(threadData, _in_txt, tmp1);
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_lm__261(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_items)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta[3] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp3_1;modelica_metatype tmp3_2;
tmp3_1 = _in_txt;
tmp3_2 = _in_items;
{
modelica_metatype _txt = NULL;
modelica_metatype _rest = NULL;
modelica_metatype _i_var = NULL;
volatile mmc_switch_type tmp3;
int tmp4;
tmp3 = 0;
for (; tmp3 < 2; tmp3++) {
switch (MMC_SWITCH_CAST(tmp3)) {
case 0: {
if (!listEmpty(tmp3_2)) goto tmp2_end;
_txt = tmp3_1;
tmpMeta[0] = _txt;
goto tmp2_done;
}
case 1: {
if (listEmpty(tmp3_2)) goto tmp2_end;
tmpMeta[1] = MMC_CAR(tmp3_2);
tmpMeta[2] = MMC_CDR(tmp3_2);
_i_var = tmpMeta[1];
_rest = tmpMeta[2];
_txt = tmp3_1;
_txt = omc_CodegenCFunctions_writeOutVar(threadData, _txt, _i_var);
_txt = omc_Tpl_nextIter(threadData, _txt);
_in_txt = _txt;
_in_items = _rest;
goto _tailrecursive;
goto tmp2_done;
}
}
goto tmp2_end;
tmp2_end: ;
}
goto goto_1;
goto_1:;
MMC_THROW_INTERNAL();
goto tmp2_done;
tmp2_done:;
}
}
_out_txt = tmpMeta[0];
_return: OMC_LABEL_UNUSED
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__260(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_outVars)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta[3] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp3_1;modelica_metatype tmp3_2;
tmp3_1 = _in_txt;
tmp3_2 = _in_a_outVars;
{
modelica_metatype _txt = NULL;
modelica_metatype _i_first = NULL;
volatile mmc_switch_type tmp3;
int tmp4;
tmp3 = 0;
for (; tmp3 < 2; tmp3++) {
switch (MMC_SWITCH_CAST(tmp3)) {
case 0: {
if (listEmpty(tmp3_2)) goto tmp2_end;
tmpMeta[1] = MMC_CAR(tmp3_2);
tmpMeta[2] = MMC_CDR(tmp3_2);
_i_first = tmpMeta[1];
_txt = tmp3_1;
tmpMeta[0] = omc_CodegenCFunctions_writeOutVar(threadData, _txt, _i_first);
goto tmp2_done;
}
case 1: {
_txt = tmp3_1;
tmpMeta[0] = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT2458);
goto tmp2_done;
}
}
goto tmp2_end;
tmp2_end: ;
}
goto goto_1;
goto_1:;
MMC_THROW_INTERNAL();
goto tmp2_done;
tmp2_done:;
}
}
_out_txt = tmpMeta[0];
_return: OMC_LABEL_UNUSED
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_lm__259(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_items)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta[3] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp3_1;modelica_metatype tmp3_2;
tmp3_1 = _in_txt;
tmp3_2 = _in_items;
{
modelica_metatype _txt = NULL;
modelica_metatype _rest = NULL;
modelica_metatype _i_var = NULL;
volatile mmc_switch_type tmp3;
int tmp4;
tmp3 = 0;
for (; tmp3 < 2; tmp3++) {
switch (MMC_SWITCH_CAST(tmp3)) {
case 0: {
if (!listEmpty(tmp3_2)) goto tmp2_end;
_txt = tmp3_1;
tmpMeta[0] = _txt;
goto tmp2_done;
}
case 1: {
if (listEmpty(tmp3_2)) goto tmp2_end;
tmpMeta[1] = MMC_CAR(tmp3_2);
tmpMeta[2] = MMC_CDR(tmp3_2);
_i_var = tmpMeta[1];
_rest = tmpMeta[2];
_txt = tmp3_1;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT123);
_txt = omc_CodegenCFunctions_funArgName(threadData, _txt, _i_var);
_in_txt = _txt;
_in_items = _rest;
goto _tailrecursive;
goto tmp2_done;
}
}
goto tmp2_end;
tmp2_end: ;
}
goto goto_1;
goto_1:;
MMC_THROW_INTERNAL();
goto tmp2_done;
tmp2_done:;
}
}
_out_txt = tmpMeta[0];
_return: OMC_LABEL_UNUSED
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_lm__258(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_items)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta[3] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp3_1;modelica_metatype tmp3_2;
tmp3_1 = _in_txt;
tmp3_2 = _in_items;
{
modelica_metatype _txt = NULL;
modelica_metatype _rest = NULL;
modelica_metatype _i_var = NULL;
volatile mmc_switch_type tmp3;
int tmp4;
tmp3 = 0;
for (; tmp3 < 2; tmp3++) {
switch (MMC_SWITCH_CAST(tmp3)) {
case 0: {
if (!listEmpty(tmp3_2)) goto tmp2_end;
_txt = tmp3_1;
tmpMeta[0] = _txt;
goto tmp2_done;
}
case 1: {
if (listEmpty(tmp3_2)) goto tmp2_end;
tmpMeta[1] = MMC_CAR(tmp3_2);
tmpMeta[2] = MMC_CDR(tmp3_2);
_i_var = tmpMeta[1];
_rest = tmpMeta[2];
_txt = tmp3_1;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT292);
_txt = omc_CodegenCFunctions_funArgName(threadData, _txt, _i_var);
_in_txt = _txt;
_in_items = _rest;
goto _tailrecursive;
goto tmp2_done;
}
}
goto tmp2_end;
tmp2_end: ;
}
goto goto_1;
goto_1:;
MMC_THROW_INTERNAL();
goto tmp2_done;
tmp2_done:;
}
}
_out_txt = tmpMeta[0];
_return: OMC_LABEL_UNUSED
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__257(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_outVars)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta[3] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp3_1;modelica_metatype tmp3_2;
tmp3_1 = _in_txt;
tmp3_2 = _in_a_outVars;
{
modelica_metatype _txt = NULL;
modelica_metatype _i_v = NULL;
volatile mmc_switch_type tmp3;
int tmp4;
tmp3 = 0;
for (; tmp3 < 2; tmp3++) {
switch (MMC_SWITCH_CAST(tmp3)) {
case 0: {
if (listEmpty(tmp3_2)) goto tmp2_end;
tmpMeta[1] = MMC_CAR(tmp3_2);
tmpMeta[2] = MMC_CDR(tmp3_2);
_i_v = tmpMeta[1];
_txt = tmp3_1;
_txt = omc_CodegenCFunctions_funArgName(threadData, _txt, _i_v);
tmpMeta[0] = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT121);
goto tmp2_done;
}
case 1: {
_txt = tmp3_1;
tmpMeta[0] = _txt;
goto tmp2_done;
}
}
goto tmp2_end;
tmp2_end: ;
}
goto goto_1;
goto_1:;
MMC_THROW_INTERNAL();
goto tmp2_done;
tmp2_done:;
}
}
_out_txt = tmpMeta[0];
_return: OMC_LABEL_UNUSED
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_lm__256(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_items)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta[3] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp3_1;modelica_metatype tmp3_2;
tmp3_1 = _in_txt;
tmp3_2 = _in_items;
{
modelica_metatype _txt = NULL;
modelica_metatype _rest = NULL;
modelica_metatype _i_arg = NULL;
volatile mmc_switch_type tmp3;
int tmp4;
tmp3 = 0;
for (; tmp3 < 2; tmp3++) {
switch (MMC_SWITCH_CAST(tmp3)) {
case 0: {
if (!listEmpty(tmp3_2)) goto tmp2_end;
_txt = tmp3_1;
tmpMeta[0] = _txt;
goto tmp2_done;
}
case 1: {
if (listEmpty(tmp3_2)) goto tmp2_end;
tmpMeta[1] = MMC_CAR(tmp3_2);
tmpMeta[2] = MMC_CDR(tmp3_2);
_i_arg = tmpMeta[1];
_rest = tmpMeta[2];
_txt = tmp3_1;
_txt = omc_CodegenCFunctions_readInVar(threadData, _txt, _i_arg);
_txt = omc_Tpl_nextIter(threadData, _txt);
_in_txt = _txt;
_in_items = _rest;
goto _tailrecursive;
goto tmp2_done;
}
}
goto tmp2_end;
tmp2_end: ;
}
goto goto_1;
goto_1:;
MMC_THROW_INTERNAL();
goto tmp2_done;
tmp2_done:;
}
}
_out_txt = tmpMeta[0];
_return: OMC_LABEL_UNUSED
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_lm__255(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_items)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta[3] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp3_1;modelica_metatype tmp3_2;
tmp3_1 = _in_txt;
tmp3_2 = _in_items;
{
modelica_metatype _txt = NULL;
modelica_metatype _rest = NULL;
modelica_metatype _i_var = NULL;
volatile mmc_switch_type tmp3;
int tmp4;
tmp3 = 0;
for (; tmp3 < 2; tmp3++) {
switch (MMC_SWITCH_CAST(tmp3)) {
case 0: {
if (!listEmpty(tmp3_2)) goto tmp2_end;
_txt = tmp3_1;
tmpMeta[0] = _txt;
goto tmp2_done;
}
case 1: {
if (listEmpty(tmp3_2)) goto tmp2_end;
tmpMeta[1] = MMC_CAR(tmp3_2);
tmpMeta[2] = MMC_CDR(tmp3_2);
_i_var = tmpMeta[1];
_rest = tmpMeta[2];
_txt = tmp3_1;
_txt = omc_CodegenCFunctions_funArgDefinition(threadData, _txt, _i_var);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT105);
_txt = omc_Tpl_nextIter(threadData, _txt);
_in_txt = _txt;
_in_items = _rest;
goto _tailrecursive;
goto tmp2_done;
}
}
goto tmp2_end;
tmp2_end: ;
}
goto goto_1;
goto_1:;
MMC_THROW_INTERNAL();
goto tmp2_done;
tmp2_done:;
}
}
_out_txt = tmpMeta[0];
_return: OMC_LABEL_UNUSED
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_lm__254(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_items)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta[3] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp3_1;modelica_metatype tmp3_2;
tmp3_1 = _in_txt;
tmp3_2 = _in_items;
{
modelica_metatype _txt = NULL;
modelica_metatype _rest = NULL;
modelica_metatype _i_var = NULL;
volatile mmc_switch_type tmp3;
int tmp4;
tmp3 = 0;
for (; tmp3 < 2; tmp3++) {
switch (MMC_SWITCH_CAST(tmp3)) {
case 0: {
if (!listEmpty(tmp3_2)) goto tmp2_end;
_txt = tmp3_1;
tmpMeta[0] = _txt;
goto tmp2_done;
}
case 1: {
if (listEmpty(tmp3_2)) goto tmp2_end;
tmpMeta[1] = MMC_CAR(tmp3_2);
tmpMeta[2] = MMC_CDR(tmp3_2);
_i_var = tmpMeta[1];
_rest = tmpMeta[2];
_txt = tmp3_1;
_txt = omc_CodegenCFunctions_funArgDefinition(threadData, _txt, _i_var);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT105);
_txt = omc_Tpl_nextIter(threadData, _txt);
_in_txt = _txt;
_in_items = _rest;
goto _tailrecursive;
goto tmp2_done;
}
}
goto tmp2_end;
tmp2_end: ;
}
goto goto_1;
goto_1:;
MMC_THROW_INTERNAL();
goto tmp2_done;
tmp2_done:;
}
}
_out_txt = tmpMeta[0];
_return: OMC_LABEL_UNUSED
return _out_txt;
}
DLLExport
modelica_metatype omc_CodegenCFunctions_functionBodyRegularFunction(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_fn, modelica_boolean _in_a_inFunc, modelica_boolean _in_a_isSimulation)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta[7] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp3_1;modelica_metatype tmp3_2;modelica_boolean tmp3_3;modelica_boolean tmp3_4;
tmp3_1 = _in_txt;
tmp3_2 = _in_a_fn;
tmp3_3 = _in_a_inFunc;
tmp3_4 = _in_a_isSimulation;
{
modelica_metatype _txt = NULL;
modelica_boolean _a_inFunc;
modelica_boolean _a_isSimulation;
modelica_metatype _i_visibility = NULL;
modelica_metatype _i_functionArguments = NULL;
modelica_metatype _i_fn = NULL;
modelica_metatype _i_outVars = NULL;
modelica_metatype _i_variableDeclarations = NULL;
modelica_metatype _i_body = NULL;
modelica_metatype _i_name = NULL;
modelica_boolean _ret_17;
modelica_boolean _ret_16;
modelica_metatype _l_prototype = NULL;
modelica_metatype _l_afterBody = NULL;
modelica_boolean _ret_13;
modelica_metatype _l_boxedFn = NULL;
modelica_metatype _l_freeConstructedExternalObjects = NULL;
modelica_metatype _ret_10 = NULL;
modelica_metatype _l_outVarAssign = NULL;
modelica_metatype _l_bodyPart = NULL;
modelica_metatype _l_0__ = NULL;
modelica_boolean _ret_6;
modelica_metatype _l_restoreJmpbuf = NULL;
modelica_metatype _l_auxFunction = NULL;
modelica_metatype _l_varFrees = NULL;
modelica_metatype _l_varInits = NULL;
modelica_metatype _l_varDecls = NULL;
modelica_metatype _l_fname = NULL;
volatile mmc_switch_type tmp3;
int tmp4;
tmp3 = 0;
for (; tmp3 < 2; tmp3++) {
switch (MMC_SWITCH_CAST(tmp3)) {
case 0: {
if (mmc__uniontype__metarecord__typedef__equal(tmp3_2,0,7) == 0) goto tmp2_end;
tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_2), 2));
tmpMeta[2] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_2), 3));
tmpMeta[3] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_2), 4));
tmpMeta[4] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_2), 5));
tmpMeta[5] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_2), 6));
tmpMeta[6] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_2), 7));
_i_fn = tmp3_2;
_i_name = tmpMeta[1];
_i_outVars = tmpMeta[2];
_i_functionArguments = tmpMeta[3];
_i_variableDeclarations = tmpMeta[4];
_i_body = tmpMeta[5];
_i_visibility = tmpMeta[6];
_txt = tmp3_1;
_a_inFunc = tmp3_3;
_a_isSimulation = tmp3_4;
omc_SimCodeFunctionUtil_codegenResetTryThrowIndex(threadData);
omc_System_tmpTickReset(threadData, ((modelica_integer) 1));
omc_System_tmpTickResetIndex(threadData, ((modelica_integer) 0), ((modelica_integer) 1));
_l_fname = omc_CodegenUtil_underscorePath(threadData, _OMC_LIT20, _i_name);
_l_varDecls = _OMC_LIT20;
_l_varInits = _OMC_LIT20;
_l_varFrees = _OMC_LIT20;
_l_auxFunction = _OMC_LIT20;
_ret_6 = omc_DAEUtil_statementsContainReturn(threadData, _i_body);
_l_restoreJmpbuf = omc_CodegenCFunctions_fun__243(threadData, _OMC_LIT20, _ret_6, _l_varDecls, _i_body ,&_l_varDecls);
_l_0__ = omc_Tpl_pushIter(threadData, _OMC_LIT20, _OMC_LIT139);
_l_0__ = omc_CodegenCFunctions_lm__244(threadData, _l_0__, _i_variableDeclarations, _l_auxFunction, _l_varFrees, _l_varInits, _l_varDecls ,&_l_auxFunction ,&_l_varFrees ,&_l_varInits ,&_l_varDecls);
_l_0__ = omc_Tpl_popIter(threadData, _l_0__);
_l_bodyPart = omc_CodegenCFunctions_funStatement(threadData, _OMC_LIT20, _i_body, _l_varDecls, _l_auxFunction ,&_l_varDecls ,&_l_auxFunction);
_ret_10 = omc_List_restOrEmpty(threadData, _i_outVars);
_l_outVarAssign = omc_CodegenCFunctions_lm__245(threadData, _OMC_LIT20, _ret_10);
_l_freeConstructedExternalObjects = omc_Tpl_pushIter(threadData, _OMC_LIT20, _OMC_LIT96);
_l_freeConstructedExternalObjects = omc_CodegenCFunctions_lm__246(threadData, _l_freeConstructedExternalObjects, _i_variableDeclarations, _l_auxFunction ,&_l_auxFunction);
_l_freeConstructedExternalObjects = omc_Tpl_popIter(threadData, _l_freeConstructedExternalObjects);
_l_varDecls = omc_CodegenCFunctions_addRootsTempArray(threadData, _l_varDecls);
_ret_13 = omc_SimCodeFunctionUtil_funcHasParallelInOutArrays(threadData, _i_fn);
_l_boxedFn = omc_CodegenCFunctions_fun__247(threadData, _OMC_LIT20, _ret_13, _a_isSimulation, _i_fn);
_l_afterBody = _OMC_LIT20;
_l_prototype = omc_CodegenCFunctions_functionPrototype(threadData, _OMC_LIT20, omc_Tpl_textString(threadData, _l_fname), _i_functionArguments, _i_outVars, 0, _i_visibility, _a_isSimulation, 0, _l_afterBody ,&_l_afterBody);
_txt = omc_Tpl_writeText(threadData, _txt, _l_auxFunction);
_txt = omc_Tpl_softNewLine(threadData, _txt);
_txt = omc_CodegenCFunctions_fun__248(threadData, _txt, _i_visibility);
_txt = omc_Tpl_softNewLine(threadData, _txt);
_txt = omc_Tpl_writeText(threadData, _txt, _l_prototype);
_txt = omc_Tpl_softNewLine(threadData, _txt);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT146);
_txt = omc_Tpl_pushBlock(threadData, _txt, _OMC_LIT97);
_txt = omc_Tpl_writeText(threadData, _txt, _l_varDecls);
_txt = omc_Tpl_softNewLine(threadData, _txt);
_ret_16 = (!_a_isSimulation);
_txt = omc_CodegenCFunctions_fun__249(threadData, _txt, _ret_16);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT2460);
_txt = omc_Tpl_writeText(threadData, _txt, _l_varInits);
_txt = omc_Tpl_softNewLine(threadData, _txt);
_txt = omc_Tpl_writeText(threadData, _txt, _l_bodyPart);
_txt = omc_Tpl_softNewLine(threadData, _txt);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT2462);
_txt = omc_Tpl_writeText(threadData, _txt, _l_outVarAssign);
_txt = omc_Tpl_writeText(threadData, _txt, _l_restoreJmpbuf);
_txt = omc_Tpl_softNewLine(threadData, _txt);
_ret_17 = omc_Config_acceptParModelicaGrammar(threadData);
_txt = omc_CodegenCFunctions_fun__250(threadData, _txt, _ret_17, _l_varFrees);
_txt = omc_Tpl_softNewLine(threadData, _txt);
_txt = omc_Tpl_writeText(threadData, _txt, _l_freeConstructedExternalObjects);
_txt = omc_Tpl_softNewLine(threadData, _txt);
_txt = omc_CodegenCFunctions_fun__251(threadData, _txt, _i_outVars);
_txt = omc_Tpl_softNewLine(threadData, _txt);
_txt = omc_Tpl_popBlock(threadData, _txt);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT159);
_txt = omc_Tpl_writeText(threadData, _txt, _l_afterBody);
_txt = omc_Tpl_softNewLine(threadData, _txt);
_txt = omc_CodegenCFunctions_fun__252(threadData, _txt, _a_inFunc, _i_outVars, _i_functionArguments, _l_fname ,&_l_fname);
_txt = omc_Tpl_softNewLine(threadData, _txt);
tmpMeta[0] = omc_Tpl_writeText(threadData, _txt, _l_boxedFn);
goto tmp2_done;
}
case 1: {
_txt = tmp3_1;
tmpMeta[0] = _txt;
goto tmp2_done;
}
}
goto tmp2_end;
tmp2_end: ;
}
goto goto_1;
goto_1:;
MMC_THROW_INTERNAL();
goto tmp2_done;
tmp2_done:;
}
}
_out_txt = tmpMeta[0];
_return: OMC_LABEL_UNUSED
return _out_txt;
}
modelica_metatype boxptr_CodegenCFunctions_functionBodyRegularFunction(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_fn, modelica_metatype _in_a_inFunc, modelica_metatype _in_a_isSimulation)
{
modelica_integer tmp1;
modelica_integer tmp2;
modelica_metatype _out_txt = NULL;
tmp1 = mmc_unbox_integer(_in_a_inFunc);
tmp2 = mmc_unbox_integer(_in_a_isSimulation);
_out_txt = omc_CodegenCFunctions_functionBodyRegularFunction(threadData, _in_txt, _in_a_fn, tmp1, tmp2);
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__252(threadData_t *threadData, modelica_metatype _in_txt, modelica_boolean _in_a_inFunc, modelica_metatype _in_a_outVars, modelica_metatype _in_a_functionArguments, modelica_metatype _in_a_fname, modelica_metatype *out_out_a_fname)
{
modelica_metatype _out_txt = NULL;
modelica_metatype _out_a_fname = NULL;
modelica_metatype tmpMeta[2] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_boolean tmp4_2;modelica_metatype tmp4_3;modelica_metatype tmp4_4;modelica_metatype tmp4_5;
tmp4_1 = _in_txt;
tmp4_2 = _in_a_inFunc;
tmp4_3 = _in_a_outVars;
tmp4_4 = _in_a_functionArguments;
tmp4_5 = _in_a_fname;
{
modelica_metatype _txt = NULL;
modelica_metatype _a_outVars = NULL;
modelica_metatype _a_functionArguments = NULL;
modelica_metatype _a_fname = NULL;
volatile mmc_switch_type tmp4;
int tmp5;
tmp4 = 0;
for (; tmp4 < 2; tmp4++) {
switch (MMC_SWITCH_CAST(tmp4)) {
case 0: {
if (0 != tmp4_2) goto tmp3_end;
_txt = tmp4_1;
_a_fname = tmp4_5;
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_fname;
goto tmp3_done;
}
case 1: {
_txt = tmp4_1;
_a_outVars = tmp4_3;
_a_functionArguments = tmp4_4;
_a_fname = tmp4_5;
tmpMeta[0+0] = omc_CodegenCFunctions_generateInFunc(threadData, _txt, _a_fname, _a_functionArguments, _a_outVars, &tmpMeta[0+1]);
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta[0+0];
_out_a_fname = tmpMeta[0+1];
_return: OMC_LABEL_UNUSED
if (out_out_a_fname) { *out_out_a_fname = _out_a_fname; }
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__252(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_inFunc, modelica_metatype _in_a_outVars, modelica_metatype _in_a_functionArguments, modelica_metatype _in_a_fname, modelica_metatype *out_out_a_fname)
{
modelica_integer tmp1;
modelica_metatype _out_txt = NULL;
tmp1 = mmc_unbox_integer(_in_a_inFunc);
_out_txt = omc_CodegenCFunctions_fun__252(threadData, _in_txt, tmp1, _in_a_outVars, _in_a_functionArguments, _in_a_fname, out_out_a_fname);
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__251(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_outVars)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta[3] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp3_1;modelica_metatype tmp3_2;
tmp3_1 = _in_txt;
tmp3_2 = _in_a_outVars;
{
modelica_metatype _txt = NULL;
modelica_metatype _i_v = NULL;
volatile mmc_switch_type tmp3;
int tmp4;
tmp3 = 0;
for (; tmp3 < 2; tmp3++) {
switch (MMC_SWITCH_CAST(tmp3)) {
case 0: {
if (listEmpty(tmp3_2)) goto tmp2_end;
tmpMeta[1] = MMC_CAR(tmp3_2);
tmpMeta[2] = MMC_CDR(tmp3_2);
_i_v = tmpMeta[1];
_txt = tmp3_1;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT995);
_txt = omc_CodegenCFunctions_funArgName(threadData, _txt, _i_v);
tmpMeta[0] = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT105);
goto tmp2_done;
}
case 1: {
_txt = tmp3_1;
tmpMeta[0] = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT2258);
goto tmp2_done;
}
}
goto tmp2_end;
tmp2_end: ;
}
goto goto_1;
goto_1:;
MMC_THROW_INTERNAL();
goto tmp2_done;
tmp2_done:;
}
}
_out_txt = tmpMeta[0];
_return: OMC_LABEL_UNUSED
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__250(threadData_t *threadData, modelica_metatype _in_txt, modelica_boolean _in_mArg, modelica_metatype _in_a_varFrees)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta[1] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp3_1;modelica_boolean tmp3_2;modelica_metatype tmp3_3;
tmp3_1 = _in_txt;
tmp3_2 = _in_mArg;
tmp3_3 = _in_a_varFrees;
{
modelica_metatype _txt = NULL;
modelica_metatype _a_varFrees = NULL;
volatile mmc_switch_type tmp3;
int tmp4;
tmp3 = 0;
for (; tmp3 < 2; tmp3++) {
switch (MMC_SWITCH_CAST(tmp3)) {
case 0: {
if (0 != tmp3_2) goto tmp2_end;
_txt = tmp3_1;
tmpMeta[0] = _txt;
goto tmp2_done;
}
case 1: {
_txt = tmp3_1;
_a_varFrees = tmp3_3;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT2464);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT89);
tmpMeta[0] = omc_Tpl_writeText(threadData, _txt, _a_varFrees);
goto tmp2_done;
}
}
goto tmp2_end;
tmp2_end: ;
}
goto goto_1;
goto_1:;
MMC_THROW_INTERNAL();
goto tmp2_done;
tmp2_done:;
}
}
_out_txt = tmpMeta[0];
_return: OMC_LABEL_UNUSED
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__250(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_mArg, modelica_metatype _in_a_varFrees)
{
modelica_integer tmp1;
modelica_metatype _out_txt = NULL;
tmp1 = mmc_unbox_integer(_in_mArg);
_out_txt = omc_CodegenCFunctions_fun__250(threadData, _in_txt, tmp1, _in_a_varFrees);
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__249(threadData_t *threadData, modelica_metatype _in_txt, modelica_boolean _in_mArg)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta[1] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp3_1;modelica_boolean tmp3_2;
tmp3_1 = _in_txt;
tmp3_2 = _in_mArg;
{
modelica_metatype _txt = NULL;
volatile mmc_switch_type tmp3;
int tmp4;
tmp3 = 0;
for (; tmp3 < 2; tmp3++) {
switch (MMC_SWITCH_CAST(tmp3)) {
case 0: {
if (0 != tmp3_2) goto tmp2_end;
_txt = tmp3_1;
tmpMeta[0] = _txt;
goto tmp2_done;
}
case 1: {
_txt = tmp3_1;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT2466);
tmpMeta[0] = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT89);
goto tmp2_done;
}
}
goto tmp2_end;
tmp2_end: ;
}
goto goto_1;
goto_1:;
MMC_THROW_INTERNAL();
goto tmp2_done;
tmp2_done:;
}
}
_out_txt = tmpMeta[0];
_return: OMC_LABEL_UNUSED
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__249(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_mArg)
{
modelica_integer tmp1;
modelica_metatype _out_txt = NULL;
tmp1 = mmc_unbox_integer(_in_mArg);
_out_txt = omc_CodegenCFunctions_fun__249(threadData, _in_txt, tmp1);
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__248(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_visibility)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta[1] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp3_1;modelica_metatype tmp3_2;
tmp3_1 = _in_txt;
tmp3_2 = _in_a_visibility;
{
modelica_metatype _txt = NULL;
volatile mmc_switch_type tmp3;
int tmp4;
tmp3 = 0;
for (; tmp3 < 2; tmp3++) {
switch (MMC_SWITCH_CAST(tmp3)) {
case 0: {
if (mmc__uniontype__metarecord__typedef__equal(tmp3_2,0,0) == 0) goto tmp2_end;
_txt = tmp3_1;
tmpMeta[0] = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT2468);
goto tmp2_done;
}
case 1: {
_txt = tmp3_1;
tmpMeta[0] = _txt;
goto tmp2_done;
}
}
goto tmp2_end;
tmp2_end: ;
}
goto goto_1;
goto_1:;
MMC_THROW_INTERNAL();
goto tmp2_done;
tmp2_done:;
}
}
_out_txt = tmpMeta[0];
_return: OMC_LABEL_UNUSED
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__247(threadData_t *threadData, modelica_metatype _in_txt, modelica_boolean _in_mArg, modelica_boolean _in_a_isSimulation, modelica_metatype _in_a_fn)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta[1] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp3_1;modelica_boolean tmp3_2;modelica_boolean tmp3_3;modelica_metatype tmp3_4;
tmp3_1 = _in_txt;
tmp3_2 = _in_mArg;
tmp3_3 = _in_a_isSimulation;
tmp3_4 = _in_a_fn;
{
modelica_metatype _txt = NULL;
modelica_boolean _a_isSimulation;
modelica_metatype _a_fn = NULL;
volatile mmc_switch_type tmp3;
int tmp4;
tmp3 = 0;
for (; tmp3 < 2; tmp3++) {
switch (MMC_SWITCH_CAST(tmp3)) {
case 0: {
if (0 != tmp3_2) goto tmp2_end;
_txt = tmp3_1;
_a_isSimulation = tmp3_3;
_a_fn = tmp3_4;
tmpMeta[0] = omc_CodegenCFunctions_functionBodyBoxed(threadData, _txt, _a_fn, _a_isSimulation);
goto tmp2_done;
}
case 1: {
_txt = tmp3_1;
tmpMeta[0] = _txt;
goto tmp2_done;
}
}
goto tmp2_end;
tmp2_end: ;
}
goto goto_1;
goto_1:;
MMC_THROW_INTERNAL();
goto tmp2_done;
tmp2_done:;
}
}
_out_txt = tmpMeta[0];
_return: OMC_LABEL_UNUSED
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__247(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_mArg, modelica_metatype _in_a_isSimulation, modelica_metatype _in_a_fn)
{
modelica_integer tmp1;
modelica_integer tmp2;
modelica_metatype _out_txt = NULL;
tmp1 = mmc_unbox_integer(_in_mArg);
tmp2 = mmc_unbox_integer(_in_a_isSimulation);
_out_txt = omc_CodegenCFunctions_fun__247(threadData, _in_txt, tmp1, tmp2, _in_a_fn);
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_lm__246(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_items, modelica_metatype _in_a_auxFunction, modelica_metatype *out_out_a_auxFunction)
{
modelica_metatype _out_txt = NULL;
modelica_metatype _out_a_auxFunction = NULL;
modelica_metatype tmpMeta[8] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_metatype tmp4_2;modelica_metatype tmp4_3;
tmp4_1 = _in_txt;
tmp4_2 = _in_items;
tmp4_3 = _in_a_auxFunction;
{
modelica_metatype _txt = NULL;
modelica_metatype _rest = NULL;
modelica_metatype _a_auxFunction = NULL;
modelica_metatype _i_var_name = NULL;
modelica_metatype _i_path__ext = NULL;
volatile mmc_switch_type tmp4;
int tmp5;
tmp4 = 0;
for (; tmp4 < 3; tmp4++) {
switch (MMC_SWITCH_CAST(tmp4)) {
case 0: {
if (!listEmpty(tmp4_2)) goto tmp3_end;
_txt = tmp4_1;
_a_auxFunction = tmp4_3;
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_auxFunction;
goto tmp3_done;
}
case 1: {
if (listEmpty(tmp4_2)) goto tmp3_end;
tmpMeta[2] = MMC_CAR(tmp4_2);
tmpMeta[3] = MMC_CDR(tmp4_2);
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[2],0,7) == 0) goto tmp3_end;
tmpMeta[4] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[2]), 2));
tmpMeta[5] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[2]), 3));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[5],9,3) == 0) goto tmp3_end;
tmpMeta[6] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[5]), 2));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[6],17,1) == 0) goto tmp3_end;
tmpMeta[7] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[6]), 2));
_i_var_name = tmpMeta[4];
_i_path__ext = tmpMeta[7];
_rest = tmpMeta[3];
_txt = tmp4_1;
_a_auxFunction = tmp4_3;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT627);
_txt = omc_CodegenUtil_underscorePath(threadData, _txt, _i_path__ext);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT2470);
_txt = omc_CodegenCFunctions_contextCrefNoPrevExp(threadData, _txt, _i_var_name, _OMC_LIT1356, _a_auxFunction ,&_a_auxFunction);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT290);
_txt = omc_Tpl_nextIter(threadData, _txt);
_in_txt = _txt;
_in_items = _rest;
_in_a_auxFunction = _a_auxFunction;
goto _tailrecursive;
goto tmp3_done;
}
case 2: {
if (listEmpty(tmp4_2)) goto tmp3_end;
tmpMeta[2] = MMC_CAR(tmp4_2);
tmpMeta[3] = MMC_CDR(tmp4_2);
_rest = tmpMeta[3];
_txt = tmp4_1;
_a_auxFunction = tmp4_3;
_in_txt = _txt;
_in_items = _rest;
_in_a_auxFunction = _a_auxFunction;
goto _tailrecursive;
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta[0+0];
_out_a_auxFunction = tmpMeta[0+1];
_return: OMC_LABEL_UNUSED
if (out_out_a_auxFunction) { *out_out_a_auxFunction = _out_a_auxFunction; }
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_lm__245(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_items)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta[3] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp3_1;modelica_metatype tmp3_2;
tmp3_1 = _in_txt;
tmp3_2 = _in_items;
{
modelica_metatype _txt = NULL;
modelica_metatype _rest = NULL;
modelica_metatype _i_var = NULL;
volatile mmc_switch_type tmp3;
int tmp4;
tmp3 = 0;
for (; tmp3 < 2; tmp3++) {
switch (MMC_SWITCH_CAST(tmp3)) {
case 0: {
if (!listEmpty(tmp3_2)) goto tmp2_end;
_txt = tmp3_1;
tmpMeta[0] = _txt;
goto tmp2_done;
}
case 1: {
if (listEmpty(tmp3_2)) goto tmp2_end;
tmpMeta[1] = MMC_CAR(tmp3_2);
tmpMeta[2] = MMC_CDR(tmp3_2);
_i_var = tmpMeta[1];
_rest = tmpMeta[2];
_txt = tmp3_1;
_txt = omc_CodegenCFunctions_varOutput(threadData, _txt, _i_var);
_in_txt = _txt;
_in_items = _rest;
goto _tailrecursive;
goto tmp2_done;
}
}
goto tmp2_end;
tmp2_end: ;
}
goto goto_1;
goto_1:;
MMC_THROW_INTERNAL();
goto tmp2_done;
tmp2_done:;
}
}
_out_txt = tmpMeta[0];
_return: OMC_LABEL_UNUSED
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_lm__244(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_items, modelica_metatype _in_a_auxFunction, modelica_metatype _in_a_varFrees, modelica_metatype _in_a_varInits, modelica_metatype _in_a_varDecls, modelica_metatype *out_out_a_auxFunction, modelica_metatype *out_out_a_varFrees, modelica_metatype *out_out_a_varInits, modelica_metatype *out_out_a_varDecls)
{
modelica_metatype _out_txt = NULL;
modelica_metatype _out_a_auxFunction = NULL;
modelica_metatype _out_a_varFrees = NULL;
modelica_metatype _out_a_varInits = NULL;
modelica_metatype _out_a_varDecls = NULL;
modelica_metatype tmpMeta[7] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_metatype tmp4_2;modelica_metatype tmp4_3;modelica_metatype tmp4_4;modelica_metatype tmp4_5;modelica_metatype tmp4_6;
tmp4_1 = _in_txt;
tmp4_2 = _in_items;
tmp4_3 = _in_a_auxFunction;
tmp4_4 = _in_a_varFrees;
tmp4_5 = _in_a_varInits;
tmp4_6 = _in_a_varDecls;
{
modelica_metatype _txt = NULL;
modelica_metatype _rest = NULL;
modelica_metatype _a_auxFunction = NULL;
modelica_metatype _a_varFrees = NULL;
modelica_metatype _a_varInits = NULL;
modelica_metatype _a_varDecls = NULL;
modelica_metatype _i_var = NULL;
volatile mmc_switch_type tmp4;
int tmp5;
tmp4 = 0;
for (; tmp4 < 2; tmp4++) {
switch (MMC_SWITCH_CAST(tmp4)) {
case 0: {
if (!listEmpty(tmp4_2)) goto tmp3_end;
_txt = tmp4_1;
_a_auxFunction = tmp4_3;
_a_varFrees = tmp4_4;
_a_varInits = tmp4_5;
_a_varDecls = tmp4_6;
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_auxFunction;
tmpMeta[0+2] = _a_varFrees;
tmpMeta[0+3] = _a_varInits;
tmpMeta[0+4] = _a_varDecls;
goto tmp3_done;
}
case 1: {
if (listEmpty(tmp4_2)) goto tmp3_end;
tmpMeta[5] = MMC_CAR(tmp4_2);
tmpMeta[6] = MMC_CDR(tmp4_2);
_i_var = tmpMeta[5];
_rest = tmpMeta[6];
_txt = tmp4_1;
_a_auxFunction = tmp4_3;
_a_varFrees = tmp4_4;
_a_varInits = tmp4_5;
_a_varDecls = tmp4_6;
_txt = omc_CodegenCFunctions_varInit(threadData, _txt, _i_var, _OMC_LIT91, _a_varDecls, _a_varInits, _a_varFrees, _a_auxFunction ,&_a_varDecls ,&_a_varInits ,&_a_varFrees ,&_a_auxFunction);
_txt = omc_Tpl_nextIter(threadData, _txt);
_in_txt = _txt;
_in_items = _rest;
_in_a_auxFunction = _a_auxFunction;
_in_a_varFrees = _a_varFrees;
_in_a_varInits = _a_varInits;
_in_a_varDecls = _a_varDecls;
goto _tailrecursive;
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta[0+0];
_out_a_auxFunction = tmpMeta[0+1];
_out_a_varFrees = tmpMeta[0+2];
_out_a_varInits = tmpMeta[0+3];
_out_a_varDecls = tmpMeta[0+4];
_return: OMC_LABEL_UNUSED
if (out_out_a_auxFunction) { *out_out_a_auxFunction = _out_a_auxFunction; }
if (out_out_a_varFrees) { *out_out_a_varFrees = _out_a_varFrees; }
if (out_out_a_varInits) { *out_out_a_varInits = _out_a_varInits; }
if (out_out_a_varDecls) { *out_out_a_varDecls = _out_a_varDecls; }
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__243(threadData_t *threadData, modelica_metatype _in_txt, modelica_boolean _in_mArg, modelica_metatype _in_a_varDecls, modelica_metatype _in_a_body, modelica_metatype *out_out_a_varDecls)
{
modelica_metatype _out_txt = NULL;
modelica_metatype _out_a_varDecls = NULL;
modelica_metatype tmpMeta[2] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_boolean tmp4_2;modelica_metatype tmp4_3;modelica_metatype tmp4_4;
tmp4_1 = _in_txt;
tmp4_2 = _in_mArg;
tmp4_3 = _in_a_varDecls;
tmp4_4 = _in_a_body;
{
modelica_metatype _txt = NULL;
modelica_metatype _a_varDecls = NULL;
modelica_metatype _a_body = NULL;
modelica_boolean _ret_0;
volatile mmc_switch_type tmp4;
int tmp5;
tmp4 = 0;
for (; tmp4 < 2; tmp4++) {
switch (MMC_SWITCH_CAST(tmp4)) {
case 0: {
if (0 != tmp4_2) goto tmp3_end;
_txt = tmp4_1;
_a_varDecls = tmp4_3;
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_varDecls;
goto tmp3_done;
}
case 1: {
_txt = tmp4_1;
_a_varDecls = tmp4_3;
_a_body = tmp4_4;
_ret_0 = omc_DAEUtil_statementsContainTryBlock(threadData, _a_body);
tmpMeta[0+0] = omc_CodegenCFunctions_fun__242(threadData, _txt, _ret_0, _a_varDecls, &tmpMeta[0+1]);
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta[0+0];
_out_a_varDecls = tmpMeta[0+1];
_return: OMC_LABEL_UNUSED
if (out_out_a_varDecls) { *out_out_a_varDecls = _out_a_varDecls; }
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__243(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_mArg, modelica_metatype _in_a_varDecls, modelica_metatype _in_a_body, modelica_metatype *out_out_a_varDecls)
{
modelica_integer tmp1;
modelica_metatype _out_txt = NULL;
tmp1 = mmc_unbox_integer(_in_mArg);
_out_txt = omc_CodegenCFunctions_fun__243(threadData, _in_txt, tmp1, _in_a_varDecls, _in_a_body, out_out_a_varDecls);
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__242(threadData_t *threadData, modelica_metatype _in_txt, modelica_boolean _in_mArg, modelica_metatype _in_a_varDecls, modelica_metatype *out_out_a_varDecls)
{
modelica_metatype _out_txt = NULL;
modelica_metatype _out_a_varDecls = NULL;
modelica_metatype tmpMeta[2] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_boolean tmp4_2;modelica_metatype tmp4_3;
tmp4_1 = _in_txt;
tmp4_2 = _in_mArg;
tmp4_3 = _in_a_varDecls;
{
modelica_metatype _txt = NULL;
modelica_metatype _a_varDecls = NULL;
volatile mmc_switch_type tmp4;
int tmp5;
tmp4 = 0;
for (; tmp4 < 2; tmp4++) {
switch (MMC_SWITCH_CAST(tmp4)) {
case 0: {
if (0 != tmp4_2) goto tmp3_end;
_txt = tmp4_1;
_a_varDecls = tmp4_3;
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_varDecls;
goto tmp3_done;
}
case 1: {
_txt = tmp4_1;
_a_varDecls = tmp4_3;
_a_varDecls = omc_Tpl_writeTok(threadData, _a_varDecls, _OMC_LIT2472);
_a_varDecls = omc_Tpl_writeTok(threadData, _a_varDecls, _OMC_LIT89);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT2474);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT89);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_varDecls;
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta[0+0];
_out_a_varDecls = tmpMeta[0+1];
_return: OMC_LABEL_UNUSED
if (out_out_a_varDecls) { *out_out_a_varDecls = _out_a_varDecls; }
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__242(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_mArg, modelica_metatype _in_a_varDecls, modelica_metatype *out_out_a_varDecls)
{
modelica_integer tmp1;
modelica_metatype _out_txt = NULL;
tmp1 = mmc_unbox_integer(_in_mArg);
_out_txt = omc_CodegenCFunctions_fun__242(threadData, _in_txt, tmp1, _in_a_varDecls, out_out_a_varDecls);
return _out_txt;
}
DLLExport
modelica_metatype omc_CodegenCFunctions_extractParforBodies(threadData_t *threadData, modelica_metatype _txt, modelica_metatype _a_fn, modelica_boolean _a_inFunc)
{
modelica_metatype _out_txt = NULL;
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
_out_txt = omc_CodegenCFunctions_fun__240(threadData, _txt, _a_fn);
_return: OMC_LABEL_UNUSED
return _out_txt;
}
modelica_metatype boxptr_CodegenCFunctions_extractParforBodies(threadData_t *threadData, modelica_metatype _txt, modelica_metatype _a_fn, modelica_metatype _a_inFunc)
{
modelica_integer tmp1;
modelica_metatype _out_txt = NULL;
tmp1 = mmc_unbox_integer(_a_inFunc);
_out_txt = omc_CodegenCFunctions_extractParforBodies(threadData, _txt, _a_fn, tmp1);
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__240(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_fn)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta[2] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp3_1;modelica_metatype tmp3_2;
tmp3_1 = _in_txt;
tmp3_2 = _in_a_fn;
{
modelica_metatype _txt = NULL;
modelica_metatype _i_body = NULL;
modelica_metatype _l_bodyPart = NULL;
modelica_metatype _l_auxFunction = NULL;
modelica_metatype _l_varDecls = NULL;
volatile mmc_switch_type tmp3;
int tmp4;
tmp3 = 0;
for (; tmp3 < 2; tmp3++) {
switch (MMC_SWITCH_CAST(tmp3)) {
case 0: {
if (mmc__uniontype__metarecord__typedef__equal(tmp3_2,0,7) == 0) goto tmp2_end;
tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_2), 6));
_i_body = tmpMeta[1];
_txt = tmp3_1;
omc_System_tmpTickResetIndex(threadData, ((modelica_integer) 0), ((modelica_integer) 1));
_l_varDecls = _OMC_LIT20;
_l_auxFunction = _OMC_LIT20;
_l_bodyPart = omc_CodegenCFunctions_extractParFors(threadData, _OMC_LIT20, _i_body, _l_varDecls, _l_auxFunction ,&_l_varDecls ,&_l_auxFunction);
_txt = omc_Tpl_writeText(threadData, _txt, _l_auxFunction);
_txt = omc_Tpl_softNewLine(threadData, _txt);
tmpMeta[0] = omc_Tpl_writeText(threadData, _txt, _l_bodyPart);
goto tmp2_done;
}
case 1: {
_txt = tmp3_1;
tmpMeta[0] = _txt;
goto tmp2_done;
}
}
goto tmp2_end;
tmp2_end: ;
}
goto goto_1;
goto_1:;
MMC_THROW_INTERNAL();
goto tmp2_done;
tmp2_done:;
}
}
_out_txt = tmpMeta[0];
_return: OMC_LABEL_UNUSED
return _out_txt;
}
DLLExport
modelica_metatype omc_CodegenCFunctions_functionBodyParModelica(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_fn, modelica_boolean _in_a_inFunc)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta[1] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp3_1;modelica_metatype tmp3_2;modelica_boolean tmp3_3;
tmp3_1 = _in_txt;
tmp3_2 = _in_a_fn;
tmp3_3 = _in_a_inFunc;
{
modelica_metatype _txt = NULL;
modelica_boolean _a_inFunc;
modelica_metatype _i_fn = NULL;
volatile mmc_switch_type tmp3;
int tmp4;
tmp3 = 0;
for (; tmp3 < 4; tmp3++) {
switch (MMC_SWITCH_CAST(tmp3)) {
case 0: {
if (mmc__uniontype__metarecord__typedef__equal(tmp3_2,0,7) == 0) goto tmp2_end;
_i_fn = tmp3_2;
_txt = tmp3_1;
_a_inFunc = tmp3_3;
tmpMeta[0] = omc_CodegenCFunctions_extractParforBodies(threadData, _txt, _i_fn, _a_inFunc);
goto tmp2_done;
}
case 1: {
if (mmc__uniontype__metarecord__typedef__equal(tmp3_2,2,6) == 0) goto tmp2_end;
_i_fn = tmp3_2;
_txt = tmp3_1;
_a_inFunc = tmp3_3;
tmpMeta[0] = omc_CodegenCFunctions_functionBodyKernelFunction(threadData, _txt, _i_fn, _a_inFunc);
goto tmp2_done;
}
case 2: {
if (mmc__uniontype__metarecord__typedef__equal(tmp3_2,1,6) == 0) goto tmp2_end;
_i_fn = tmp3_2;
_txt = tmp3_1;
_a_inFunc = tmp3_3;
tmpMeta[0] = omc_CodegenCFunctions_functionBodyParallelFunction(threadData, _txt, _i_fn, _a_inFunc);
goto tmp2_done;
}
case 3: {
_txt = tmp3_1;
tmpMeta[0] = _txt;
goto tmp2_done;
}
}
goto tmp2_end;
tmp2_end: ;
}
goto goto_1;
goto_1:;
MMC_THROW_INTERNAL();
goto tmp2_done;
tmp2_done:;
}
}
_out_txt = tmpMeta[0];
_return: OMC_LABEL_UNUSED
return _out_txt;
}
modelica_metatype boxptr_CodegenCFunctions_functionBodyParModelica(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_fn, modelica_metatype _in_a_inFunc)
{
modelica_integer tmp1;
modelica_metatype _out_txt = NULL;
tmp1 = mmc_unbox_integer(_in_a_inFunc);
_out_txt = omc_CodegenCFunctions_functionBodyParModelica(threadData, _in_txt, _in_a_fn, tmp1);
return _out_txt;
}
DLLExport
modelica_metatype omc_CodegenCFunctions_functionBody(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_fn, modelica_boolean _in_a_inFunc, modelica_boolean _in_a_isSimulation)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta[1] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp3_1;modelica_metatype tmp3_2;modelica_boolean tmp3_3;modelica_boolean tmp3_4;
tmp3_1 = _in_txt;
tmp3_2 = _in_a_fn;
tmp3_3 = _in_a_inFunc;
tmp3_4 = _in_a_isSimulation;
{
modelica_metatype _txt = NULL;
modelica_boolean _a_inFunc;
modelica_boolean _a_isSimulation;
modelica_metatype _i_fn = NULL;
volatile mmc_switch_type tmp3;
int tmp4;
tmp3 = 0;
for (; tmp3 < 5; tmp3++) {
switch (MMC_SWITCH_CAST(tmp3)) {
case 0: {
if (mmc__uniontype__metarecord__typedef__equal(tmp3_2,0,7) == 0) goto tmp2_end;
_i_fn = tmp3_2;
_txt = tmp3_1;
_a_inFunc = tmp3_3;
_a_isSimulation = tmp3_4;
tmpMeta[0] = omc_CodegenCFunctions_functionBodyRegularFunction(threadData, _txt, _i_fn, _a_inFunc, _a_isSimulation);
goto tmp2_done;
}
case 1: {
if (mmc__uniontype__metarecord__typedef__equal(tmp3_2,2,6) == 0) goto tmp2_end;
_i_fn = tmp3_2;
_txt = tmp3_1;
_a_inFunc = tmp3_3;
tmpMeta[0] = omc_CodegenCFunctions_functionBodyKernelFunctionInterface(threadData, _txt, _i_fn, _a_inFunc);
goto tmp2_done;
}
case 2: {
if (mmc__uniontype__metarecord__typedef__equal(tmp3_2,3,14) == 0) goto tmp2_end;
_i_fn = tmp3_2;
_txt = tmp3_1;
_a_inFunc = tmp3_3;
_a_isSimulation = tmp3_4;
tmpMeta[0] = omc_CodegenCFunctions_functionBodyExternalFunction(threadData, _txt, _i_fn, _a_inFunc, _a_isSimulation);
goto tmp2_done;
}
case 3: {
if (mmc__uniontype__metarecord__typedef__equal(tmp3_2,4,5) == 0) goto tmp2_end;
_i_fn = tmp3_2;
_txt = tmp3_1;
_a_isSimulation = tmp3_4;
tmpMeta[0] = omc_CodegenCFunctions_functionBodyRecordConstructor(threadData, _txt, _i_fn, _a_isSimulation);
goto tmp2_done;
}
case 4: {
_txt = tmp3_1;
tmpMeta[0] = _txt;
goto tmp2_done;
}
}
goto tmp2_end;
tmp2_end: ;
}
goto goto_1;
goto_1:;
MMC_THROW_INTERNAL();
goto tmp2_done;
tmp2_done:;
}
}
_out_txt = tmpMeta[0];
_return: OMC_LABEL_UNUSED
return _out_txt;
}
modelica_metatype boxptr_CodegenCFunctions_functionBody(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_fn, modelica_metatype _in_a_inFunc, modelica_metatype _in_a_isSimulation)
{
modelica_integer tmp1;
modelica_integer tmp2;
modelica_metatype _out_txt = NULL;
tmp1 = mmc_unbox_integer(_in_a_inFunc);
tmp2 = mmc_unbox_integer(_in_a_isSimulation);
_out_txt = omc_CodegenCFunctions_functionBody(threadData, _in_txt, _in_a_fn, tmp1, tmp2);
return _out_txt;
}
DLLExport
modelica_metatype omc_CodegenCFunctions_functionBodiesParModelica(threadData_t *threadData, modelica_metatype _txt, modelica_metatype _a_functions)
{
modelica_metatype _out_txt = NULL;
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
_out_txt = omc_Tpl_pushIter(threadData, _txt, _OMC_LIT96);
_out_txt = omc_CodegenCFunctions_lm__236(threadData, _out_txt, _a_functions);
_out_txt = omc_Tpl_popIter(threadData, _out_txt);
_return: OMC_LABEL_UNUSED
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_lm__236(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_items)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta[3] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp3_1;modelica_metatype tmp3_2;
tmp3_1 = _in_txt;
tmp3_2 = _in_items;
{
modelica_metatype _txt = NULL;
modelica_metatype _rest = NULL;
modelica_metatype _i_fn = NULL;
volatile mmc_switch_type tmp3;
int tmp4;
tmp3 = 0;
for (; tmp3 < 2; tmp3++) {
switch (MMC_SWITCH_CAST(tmp3)) {
case 0: {
if (!listEmpty(tmp3_2)) goto tmp2_end;
_txt = tmp3_1;
tmpMeta[0] = _txt;
goto tmp2_done;
}
case 1: {
if (listEmpty(tmp3_2)) goto tmp2_end;
tmpMeta[1] = MMC_CAR(tmp3_2);
tmpMeta[2] = MMC_CDR(tmp3_2);
_i_fn = tmpMeta[1];
_rest = tmpMeta[2];
_txt = tmp3_1;
_txt = omc_CodegenCFunctions_functionBodyParModelica(threadData, _txt, _i_fn, 0);
_txt = omc_Tpl_nextIter(threadData, _txt);
_in_txt = _txt;
_in_items = _rest;
goto _tailrecursive;
goto tmp2_done;
}
}
goto tmp2_end;
tmp2_end: ;
}
goto goto_1;
goto_1:;
MMC_THROW_INTERNAL();
goto tmp2_done;
tmp2_done:;
}
}
_out_txt = tmpMeta[0];
_return: OMC_LABEL_UNUSED
return _out_txt;
}
DLLExport
modelica_metatype omc_CodegenCFunctions_functionBodies(threadData_t *threadData, modelica_metatype _txt, modelica_metatype _a_functions, modelica_boolean _a_isSimulation)
{
modelica_metatype _out_txt = NULL;
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
_out_txt = omc_Tpl_pushIter(threadData, _txt, _OMC_LIT96);
_out_txt = omc_CodegenCFunctions_lm__234(threadData, _out_txt, _a_functions, _a_isSimulation);
_out_txt = omc_Tpl_popIter(threadData, _out_txt);
_return: OMC_LABEL_UNUSED
return _out_txt;
}
modelica_metatype boxptr_CodegenCFunctions_functionBodies(threadData_t *threadData, modelica_metatype _txt, modelica_metatype _a_functions, modelica_metatype _a_isSimulation)
{
modelica_integer tmp1;
modelica_metatype _out_txt = NULL;
tmp1 = mmc_unbox_integer(_a_isSimulation);
_out_txt = omc_CodegenCFunctions_functionBodies(threadData, _txt, _a_functions, tmp1);
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_lm__234(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_items, modelica_boolean _in_a_isSimulation)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta[3] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp3_1;modelica_metatype tmp3_2;modelica_boolean tmp3_3;
tmp3_1 = _in_txt;
tmp3_2 = _in_items;
tmp3_3 = _in_a_isSimulation;
{
modelica_metatype _txt = NULL;
modelica_metatype _rest = NULL;
modelica_boolean _a_isSimulation;
modelica_metatype _i_fn = NULL;
volatile mmc_switch_type tmp3;
int tmp4;
tmp3 = 0;
for (; tmp3 < 2; tmp3++) {
switch (MMC_SWITCH_CAST(tmp3)) {
case 0: {
if (!listEmpty(tmp3_2)) goto tmp2_end;
_txt = tmp3_1;
tmpMeta[0] = _txt;
goto tmp2_done;
}
case 1: {
if (listEmpty(tmp3_2)) goto tmp2_end;
tmpMeta[1] = MMC_CAR(tmp3_2);
tmpMeta[2] = MMC_CDR(tmp3_2);
_i_fn = tmpMeta[1];
_rest = tmpMeta[2];
_txt = tmp3_1;
_a_isSimulation = tmp3_3;
_txt = omc_CodegenCFunctions_functionBody(threadData, _txt, _i_fn, 0, _a_isSimulation);
_txt = omc_Tpl_nextIter(threadData, _txt);
_in_txt = _txt;
_in_items = _rest;
_in_a_isSimulation = _a_isSimulation;
goto _tailrecursive;
goto tmp2_done;
}
}
goto tmp2_end;
tmp2_end: ;
}
goto goto_1;
goto_1:;
MMC_THROW_INTERNAL();
goto tmp2_done;
tmp2_done:;
}
}
_out_txt = tmpMeta[0];
_return: OMC_LABEL_UNUSED
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_lm__234(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_items, modelica_metatype _in_a_isSimulation)
{
modelica_integer tmp1;
modelica_metatype _out_txt = NULL;
tmp1 = mmc_unbox_integer(_in_a_isSimulation);
_out_txt = omc_CodegenCFunctions_lm__234(threadData, _in_txt, _in_items, tmp1);
return _out_txt;
}
DLLExport
modelica_metatype omc_CodegenCFunctions_functionName(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_fn, modelica_boolean _in_a_dotPath)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta[2] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp3_1;modelica_metatype tmp3_2;modelica_boolean tmp3_3;
tmp3_1 = _in_txt;
tmp3_2 = _in_a_fn;
tmp3_3 = _in_a_dotPath;
{
modelica_metatype _txt = NULL;
modelica_boolean _a_dotPath;
modelica_metatype _i_name = NULL;
int tmp3;
{
switch (MMC_SWITCH_CAST(valueConstructor(tmp3_2))) {
case 3: {
if (mmc__uniontype__metarecord__typedef__equal(tmp3_2,0,7) == 0) goto tmp2_end;
tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_2), 2));
_i_name = tmpMeta[1];
_txt = tmp3_1;
_a_dotPath = tmp3_3;
tmpMeta[0] = omc_CodegenCFunctions_fun__230(threadData, _txt, _a_dotPath, _i_name);
goto tmp2_done;
}
case 6: {
if (mmc__uniontype__metarecord__typedef__equal(tmp3_2,3,14) == 0) goto tmp2_end;
tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_2), 2));
_i_name = tmpMeta[1];
_txt = tmp3_1;
_a_dotPath = tmp3_3;
tmpMeta[0] = omc_CodegenCFunctions_fun__231(threadData, _txt, _a_dotPath, _i_name);
goto tmp2_done;
}
case 7: {
if (mmc__uniontype__metarecord__typedef__equal(tmp3_2,4,5) == 0) goto tmp2_end;
tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_2), 2));
_i_name = tmpMeta[1];
_txt = tmp3_1;
_a_dotPath = tmp3_3;
tmpMeta[0] = omc_CodegenCFunctions_fun__232(threadData, _txt, _a_dotPath, _i_name);
goto tmp2_done;
}
default:
tmp2_default: OMC_LABEL_UNUSED; {
_txt = tmp3_1;
tmpMeta[0] = _txt;
goto tmp2_done;
}
}
goto tmp2_end;
tmp2_end: ;
}
goto goto_1;
goto_1:;
MMC_THROW_INTERNAL();
goto tmp2_done;
tmp2_done:;
}
}
_out_txt = tmpMeta[0];
_return: OMC_LABEL_UNUSED
return _out_txt;
}
modelica_metatype boxptr_CodegenCFunctions_functionName(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_fn, modelica_metatype _in_a_dotPath)
{
modelica_integer tmp1;
modelica_metatype _out_txt = NULL;
tmp1 = mmc_unbox_integer(_in_a_dotPath);
_out_txt = omc_CodegenCFunctions_functionName(threadData, _in_txt, _in_a_fn, tmp1);
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__232(threadData_t *threadData, modelica_metatype _in_txt, modelica_boolean _in_a_dotPath, modelica_metatype _in_a_name)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta[1] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp3_1;modelica_boolean tmp3_2;modelica_metatype tmp3_3;
tmp3_1 = _in_txt;
tmp3_2 = _in_a_dotPath;
tmp3_3 = _in_a_name;
{
modelica_metatype _txt = NULL;
modelica_metatype _a_name = NULL;
volatile mmc_switch_type tmp3;
int tmp4;
tmp3 = 0;
for (; tmp3 < 2; tmp3++) {
switch (MMC_SWITCH_CAST(tmp3)) {
case 0: {
if (0 != tmp3_2) goto tmp2_end;
_txt = tmp3_1;
_a_name = tmp3_3;
tmpMeta[0] = omc_CodegenUtil_underscorePath(threadData, _txt, _a_name);
goto tmp2_done;
}
case 1: {
_txt = tmp3_1;
_a_name = tmp3_3;
tmpMeta[0] = omc_CodegenUtil_dotPath(threadData, _txt, _a_name);
goto tmp2_done;
}
}
goto tmp2_end;
tmp2_end: ;
}
goto goto_1;
goto_1:;
MMC_THROW_INTERNAL();
goto tmp2_done;
tmp2_done:;
}
}
_out_txt = tmpMeta[0];
_return: OMC_LABEL_UNUSED
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__232(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_dotPath, modelica_metatype _in_a_name)
{
modelica_integer tmp1;
modelica_metatype _out_txt = NULL;
tmp1 = mmc_unbox_integer(_in_a_dotPath);
_out_txt = omc_CodegenCFunctions_fun__232(threadData, _in_txt, tmp1, _in_a_name);
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__231(threadData_t *threadData, modelica_metatype _in_txt, modelica_boolean _in_a_dotPath, modelica_metatype _in_a_name)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta[1] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp3_1;modelica_boolean tmp3_2;modelica_metatype tmp3_3;
tmp3_1 = _in_txt;
tmp3_2 = _in_a_dotPath;
tmp3_3 = _in_a_name;
{
modelica_metatype _txt = NULL;
modelica_metatype _a_name = NULL;
volatile mmc_switch_type tmp3;
int tmp4;
tmp3 = 0;
for (; tmp3 < 2; tmp3++) {
switch (MMC_SWITCH_CAST(tmp3)) {
case 0: {
if (0 != tmp3_2) goto tmp2_end;
_txt = tmp3_1;
_a_name = tmp3_3;
tmpMeta[0] = omc_CodegenUtil_underscorePath(threadData, _txt, _a_name);
goto tmp2_done;
}
case 1: {
_txt = tmp3_1;
_a_name = tmp3_3;
tmpMeta[0] = omc_CodegenUtil_dotPath(threadData, _txt, _a_name);
goto tmp2_done;
}
}
goto tmp2_end;
tmp2_end: ;
}
goto goto_1;
goto_1:;
MMC_THROW_INTERNAL();
goto tmp2_done;
tmp2_done:;
}
}
_out_txt = tmpMeta[0];
_return: OMC_LABEL_UNUSED
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__231(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_dotPath, modelica_metatype _in_a_name)
{
modelica_integer tmp1;
modelica_metatype _out_txt = NULL;
tmp1 = mmc_unbox_integer(_in_a_dotPath);
_out_txt = omc_CodegenCFunctions_fun__231(threadData, _in_txt, tmp1, _in_a_name);
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__230(threadData_t *threadData, modelica_metatype _in_txt, modelica_boolean _in_a_dotPath, modelica_metatype _in_a_name)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta[1] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp3_1;modelica_boolean tmp3_2;modelica_metatype tmp3_3;
tmp3_1 = _in_txt;
tmp3_2 = _in_a_dotPath;
tmp3_3 = _in_a_name;
{
modelica_metatype _txt = NULL;
modelica_metatype _a_name = NULL;
volatile mmc_switch_type tmp3;
int tmp4;
tmp3 = 0;
for (; tmp3 < 2; tmp3++) {
switch (MMC_SWITCH_CAST(tmp3)) {
case 0: {
if (0 != tmp3_2) goto tmp2_end;
_txt = tmp3_1;
_a_name = tmp3_3;
tmpMeta[0] = omc_CodegenUtil_underscorePath(threadData, _txt, _a_name);
goto tmp2_done;
}
case 1: {
_txt = tmp3_1;
_a_name = tmp3_3;
tmpMeta[0] = omc_CodegenUtil_dotPath(threadData, _txt, _a_name);
goto tmp2_done;
}
}
goto tmp2_end;
tmp2_end: ;
}
goto goto_1;
goto_1:;
MMC_THROW_INTERNAL();
goto tmp2_done;
tmp2_done:;
}
}
_out_txt = tmpMeta[0];
_return: OMC_LABEL_UNUSED
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__230(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_dotPath, modelica_metatype _in_a_name)
{
modelica_integer tmp1;
modelica_metatype _out_txt = NULL;
tmp1 = mmc_unbox_integer(_in_a_dotPath);
_out_txt = omc_CodegenCFunctions_fun__230(threadData, _in_txt, tmp1, _in_a_name);
return _out_txt;
}
DLLExport
modelica_metatype omc_CodegenCFunctions_extFunDefArgF77(threadData_t *threadData, modelica_metatype _txt, modelica_metatype _a_extArg)
{
modelica_metatype _out_txt = NULL;
modelica_metatype _l_auxFunction = NULL;
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
_l_auxFunction = _OMC_LIT20;
_out_txt = omc_CodegenCFunctions_fun__228(threadData, _txt, _a_extArg, _l_auxFunction ,&_l_auxFunction);
_return: OMC_LABEL_UNUSED
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__228(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_extArg, modelica_metatype _in_a_auxFunction, modelica_metatype *out_out_a_auxFunction)
{
modelica_metatype _out_txt = NULL;
modelica_metatype _out_a_auxFunction = NULL;
modelica_metatype tmpMeta[4] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_metatype tmp4_2;modelica_metatype tmp4_3;
tmp4_1 = _in_txt;
tmp4_2 = _in_a_extArg;
tmp4_3 = _in_a_auxFunction;
{
modelica_metatype _txt = NULL;
modelica_metatype _a_auxFunction = NULL;
modelica_metatype _i_type__ = NULL;
modelica_metatype _i_t = NULL;
modelica_metatype _i_c = NULL;
modelica_metatype _l_typeStr = NULL;
modelica_metatype _l_name = NULL;
int tmp4;
{
switch (MMC_SWITCH_CAST(valueConstructor(tmp4_2))) {
case 3: {
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,0,6) == 0) goto tmp3_end;
tmpMeta[2] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
tmpMeta[3] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 7));
_i_c = tmpMeta[2];
_i_t = tmpMeta[3];
_txt = tmp4_1;
_a_auxFunction = tmp4_3;
_l_name = omc_CodegenCFunctions_contextCrefNoPrevExp(threadData, _OMC_LIT20, _i_c, _OMC_LIT1356, _a_auxFunction ,&_a_auxFunction);
_l_typeStr = omc_CodegenCFunctions_extTypeF77(threadData, _OMC_LIT20, _i_t, 1);
_txt = omc_Tpl_writeText(threadData, _txt, _l_typeStr);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT2476);
_txt = omc_Tpl_writeText(threadData, _txt, _l_name);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1397);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_auxFunction;
goto tmp3_done;
}
case 4: {
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,1,2) == 0) goto tmp3_end;
tmpMeta[2] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 3));
_i_type__ = tmpMeta[2];
_txt = tmp4_1;
_a_auxFunction = tmp4_3;
_txt = omc_CodegenCFunctions_extTypeF77(threadData, _txt, _i_type__, 1);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_auxFunction;
goto tmp3_done;
}
case 5: {
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,2,5) == 0) goto tmp3_end;
_txt = tmp4_1;
_a_auxFunction = tmp4_3;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT2478);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_auxFunction;
goto tmp3_done;
}
default:
tmp3_default: OMC_LABEL_UNUSED; {
_txt = tmp4_1;
_a_auxFunction = tmp4_3;
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_auxFunction;
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta[0+0];
_out_a_auxFunction = tmpMeta[0+1];
_return: OMC_LABEL_UNUSED
if (out_out_a_auxFunction) { *out_out_a_auxFunction = _out_a_auxFunction; }
return _out_txt;
}
DLLExport
modelica_metatype omc_CodegenCFunctions_extFunDefArg(threadData_t *threadData, modelica_metatype _txt, modelica_metatype _a_extArg)
{
modelica_metatype _out_txt = NULL;
modelica_metatype _l_auxFunction = NULL;
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
_l_auxFunction = _OMC_LIT20;
_out_txt = omc_CodegenCFunctions_fun__226(threadData, _txt, _a_extArg, _l_auxFunction ,&_l_auxFunction);
_return: OMC_LABEL_UNUSED
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__226(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_extArg, modelica_metatype _in_a_auxFunction, modelica_metatype *out_out_a_auxFunction)
{
modelica_metatype _out_txt = NULL;
modelica_metatype _out_a_auxFunction = NULL;
modelica_metatype tmpMeta[6] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_metatype tmp4_2;modelica_metatype tmp4_3;
tmp4_1 = _in_txt;
tmp4_2 = _in_a_extArg;
tmp4_3 = _in_a_auxFunction;
{
modelica_metatype _txt = NULL;
modelica_metatype _a_auxFunction = NULL;
modelica_metatype _i_type__ = NULL;
modelica_boolean _i_ia;
modelica_boolean _i_ii;
modelica_metatype _i_t = NULL;
modelica_metatype _i_c = NULL;
modelica_metatype _l_typeStr = NULL;
modelica_metatype _l_name = NULL;
int tmp4;
{
switch (MMC_SWITCH_CAST(valueConstructor(tmp4_2))) {
case 3: {
modelica_integer tmp5;
modelica_integer tmp6;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,0,6) == 0) goto tmp3_end;
tmpMeta[2] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
tmpMeta[3] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 3));
tmp5 = mmc_unbox_integer(tmpMeta[3]);
tmpMeta[4] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 5));
tmp6 = mmc_unbox_integer(tmpMeta[4]);
tmpMeta[5] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 7));
_i_c = tmpMeta[2];
_i_ii = tmp5;
_i_ia = tmp6;
_i_t = tmpMeta[5];
_txt = tmp4_1;
_a_auxFunction = tmp4_3;
_l_name = omc_CodegenCFunctions_contextCrefNoPrevExp(threadData, _OMC_LIT20, _i_c, _OMC_LIT1356, _a_auxFunction ,&_a_auxFunction);
_l_typeStr = omc_CodegenCFunctions_extType(threadData, _OMC_LIT20, _i_t, _i_ii, _i_ia, 0);
_txt = omc_Tpl_writeText(threadData, _txt, _l_typeStr);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT2476);
_txt = omc_Tpl_writeText(threadData, _txt, _l_name);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1397);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_auxFunction;
goto tmp3_done;
}
case 4: {
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,1,2) == 0) goto tmp3_end;
tmpMeta[2] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 3));
_i_type__ = tmpMeta[2];
_txt = tmp4_1;
_a_auxFunction = tmp4_3;
_l_typeStr = omc_CodegenCFunctions_extType(threadData, _OMC_LIT20, _i_type__, 1, 0, 0);
_txt = omc_Tpl_writeText(threadData, _txt, _l_typeStr);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_auxFunction;
goto tmp3_done;
}
case 5: {
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,2,5) == 0) goto tmp3_end;
_txt = tmp4_1;
_a_auxFunction = tmp4_3;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT2480);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_auxFunction;
goto tmp3_done;
}
default:
tmp3_default: OMC_LABEL_UNUSED; {
_txt = tmp4_1;
_a_auxFunction = tmp4_3;
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_auxFunction;
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta[0+0];
_out_a_auxFunction = tmpMeta[0+1];
_return: OMC_LABEL_UNUSED
if (out_out_a_auxFunction) { *out_out_a_auxFunction = _out_a_auxFunction; }
return _out_txt;
}
DLLExport
modelica_metatype omc_CodegenCFunctions_extTypeF77(threadData_t *threadData, modelica_metatype _txt, modelica_metatype _a_type, modelica_boolean _a_isReference)
{
modelica_metatype _out_txt = NULL;
modelica_metatype _l_s = NULL;
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
_l_s = omc_CodegenCFunctions_fun__222(threadData, _OMC_LIT20, _a_type);
_out_txt = omc_CodegenCFunctions_fun__224(threadData, _txt, _a_type, _a_isReference, _l_s);
_return: OMC_LABEL_UNUSED
return _out_txt;
}
modelica_metatype boxptr_CodegenCFunctions_extTypeF77(threadData_t *threadData, modelica_metatype _txt, modelica_metatype _a_type, modelica_metatype _a_isReference)
{
modelica_integer tmp1;
modelica_metatype _out_txt = NULL;
tmp1 = mmc_unbox_integer(_a_isReference);
_out_txt = omc_CodegenCFunctions_extTypeF77(threadData, _txt, _a_type, tmp1);
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__224(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_type, modelica_boolean _in_a_isReference, modelica_metatype _in_a_s)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta[1] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp3_1;modelica_metatype tmp3_2;modelica_boolean tmp3_3;modelica_metatype tmp3_4;
tmp3_1 = _in_txt;
tmp3_2 = _in_a_type;
tmp3_3 = _in_a_isReference;
tmp3_4 = _in_a_s;
{
modelica_metatype _txt = NULL;
modelica_boolean _a_isReference;
modelica_metatype _a_s = NULL;
volatile mmc_switch_type tmp3;
int tmp4;
tmp3 = 0;
for (; tmp3 < 2; tmp3++) {
switch (MMC_SWITCH_CAST(tmp3)) {
case 0: {
if (mmc__uniontype__metarecord__typedef__equal(tmp3_2,6,2) == 0) goto tmp2_end;
_txt = tmp3_1;
_a_s = tmp3_4;
tmpMeta[0] = omc_Tpl_writeText(threadData, _txt, _a_s);
goto tmp2_done;
}
case 1: {
_txt = tmp3_1;
_a_isReference = tmp3_3;
_a_s = tmp3_4;
tmpMeta[0] = omc_CodegenCFunctions_fun__223(threadData, _txt, _a_isReference, _a_s);
goto tmp2_done;
}
}
goto tmp2_end;
tmp2_end: ;
}
goto goto_1;
goto_1:;
MMC_THROW_INTERNAL();
goto tmp2_done;
tmp2_done:;
}
}
_out_txt = tmpMeta[0];
_return: OMC_LABEL_UNUSED
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__224(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_type, modelica_metatype _in_a_isReference, modelica_metatype _in_a_s)
{
modelica_integer tmp1;
modelica_metatype _out_txt = NULL;
tmp1 = mmc_unbox_integer(_in_a_isReference);
_out_txt = omc_CodegenCFunctions_fun__224(threadData, _in_txt, _in_a_type, tmp1, _in_a_s);
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__223(threadData_t *threadData, modelica_metatype _in_txt, modelica_boolean _in_a_isReference, modelica_metatype _in_a_s)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta[1] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp3_1;modelica_boolean tmp3_2;modelica_metatype tmp3_3;
tmp3_1 = _in_txt;
tmp3_2 = _in_a_isReference;
tmp3_3 = _in_a_s;
{
modelica_metatype _txt = NULL;
modelica_metatype _a_s = NULL;
volatile mmc_switch_type tmp3;
int tmp4;
tmp3 = 0;
for (; tmp3 < 2; tmp3++) {
switch (MMC_SWITCH_CAST(tmp3)) {
case 0: {
if (0 != tmp3_2) goto tmp2_end;
_txt = tmp3_1;
_a_s = tmp3_3;
tmpMeta[0] = omc_Tpl_writeText(threadData, _txt, _a_s);
goto tmp2_done;
}
case 1: {
_txt = tmp3_1;
_a_s = tmp3_3;
_txt = omc_Tpl_writeText(threadData, _txt, _a_s);
tmpMeta[0] = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT256);
goto tmp2_done;
}
}
goto tmp2_end;
tmp2_end: ;
}
goto goto_1;
goto_1:;
MMC_THROW_INTERNAL();
goto tmp2_done;
tmp2_done:;
}
}
_out_txt = tmpMeta[0];
_return: OMC_LABEL_UNUSED
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__223(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_isReference, modelica_metatype _in_a_s)
{
modelica_integer tmp1;
modelica_metatype _out_txt = NULL;
tmp1 = mmc_unbox_integer(_in_a_isReference);
_out_txt = omc_CodegenCFunctions_fun__223(threadData, _in_txt, tmp1, _in_a_s);
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__222(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_type)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta[3] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp3_1;modelica_metatype tmp3_2;
tmp3_1 = _in_txt;
tmp3_2 = _in_a_type;
{
modelica_metatype _txt = NULL;
modelica_metatype _i_type = NULL;
modelica_metatype _i_rname = NULL;
modelica_metatype _i_ty = NULL;
modelica_metatype _txt_0 = NULL;
modelica_string _ret_0 = NULL;
volatile mmc_switch_type tmp3;
int tmp4;
tmp3 = 0;
for (; tmp3 < 11; tmp3++) {
switch (MMC_SWITCH_CAST(tmp3)) {
case 0: {
if (mmc__uniontype__metarecord__typedef__equal(tmp3_2,0,1) == 0) goto tmp2_end;
_txt = tmp3_1;
tmpMeta[0] = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1573);
goto tmp2_done;
}
case 1: {
if (mmc__uniontype__metarecord__typedef__equal(tmp3_2,1,1) == 0) goto tmp2_end;
_txt = tmp3_1;
tmpMeta[0] = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1579);
goto tmp2_done;
}
case 2: {
if (mmc__uniontype__metarecord__typedef__equal(tmp3_2,2,1) == 0) goto tmp2_end;
_txt = tmp3_1;
tmpMeta[0] = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT2482);
goto tmp2_done;
}
case 3: {
if (mmc__uniontype__metarecord__typedef__equal(tmp3_2,3,1) == 0) goto tmp2_end;
_txt = tmp3_1;
tmpMeta[0] = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1573);
goto tmp2_done;
}
case 4: {
if (mmc__uniontype__metarecord__typedef__equal(tmp3_2,5,5) == 0) goto tmp2_end;
_txt = tmp3_1;
tmpMeta[0] = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1573);
goto tmp2_done;
}
case 5: {
if (mmc__uniontype__metarecord__typedef__equal(tmp3_2,6,2) == 0) goto tmp2_end;
tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_2), 2));
_i_ty = tmpMeta[1];
_txt = tmp3_1;
tmpMeta[0] = omc_CodegenCFunctions_extTypeF77(threadData, _txt, _i_ty, 1);
goto tmp2_done;
}
case 6: {
if (mmc__uniontype__metarecord__typedef__equal(tmp3_2,9,3) == 0) goto tmp2_end;
tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_2), 2));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[1],17,1) == 0) goto tmp2_end;
_txt = tmp3_1;
tmpMeta[0] = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT2484);
goto tmp2_done;
}
case 7: {
if (mmc__uniontype__metarecord__typedef__equal(tmp3_2,9,3) == 0) goto tmp2_end;
tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_2), 2));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[1],3,1) == 0) goto tmp2_end;
tmpMeta[2] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[1]), 2));
_i_rname = tmpMeta[2];
_txt = tmp3_1;
tmpMeta[0] = omc_CodegenUtil_underscorePath(threadData, _txt, _i_rname);
goto tmp2_done;
}
case 8: {
if (mmc__uniontype__metarecord__typedef__equal(tmp3_2,25,1) == 0) goto tmp2_end;
_txt = tmp3_1;
tmpMeta[0] = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT2484);
goto tmp2_done;
}
case 9: {
if (mmc__uniontype__metarecord__typedef__equal(tmp3_2,23,1) == 0) goto tmp2_end;
_txt = tmp3_1;
tmpMeta[0] = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT2484);
goto tmp2_done;
}
case 10: {
_txt = tmp3_1;
_i_type = tmp3_2;
_txt_0 = omc_Tpl_writeTok(threadData, _OMC_LIT20, _OMC_LIT2486);
_ret_0 = omc_Types_unparseType(threadData, _i_type);
_txt_0 = omc_Tpl_writeStr(threadData, _txt_0, _ret_0);
tmpMeta[0] = omc_CodegenUtil_error(threadData, _txt, omc_Tpl_sourceInfo(threadData, _OMC_LIT27, ((modelica_integer) 1239), ((modelica_integer) 14)), omc_Tpl_textString(threadData, _txt_0));
goto tmp2_done;
}
}
goto tmp2_end;
tmp2_end: ;
}
goto goto_1;
goto_1:;
MMC_THROW_INTERNAL();
goto tmp2_done;
tmp2_done:;
}
}
_out_txt = tmpMeta[0];
_return: OMC_LABEL_UNUSED
return _out_txt;
}
DLLExport
modelica_metatype omc_CodegenCFunctions_extType(threadData_t *threadData, modelica_metatype _txt, modelica_metatype _a_type, modelica_boolean _a_isInput, modelica_boolean _a_isArray, modelica_boolean _a_returnType)
{
modelica_metatype _out_txt = NULL;
modelica_metatype _l_s = NULL;
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
_l_s = omc_CodegenCFunctions_fun__216(threadData, _OMC_LIT20, _a_type, _a_returnType, _a_isInput);
_out_txt = omc_CodegenCFunctions_fun__220(threadData, _txt, _a_type, _a_isArray, _a_isInput, _l_s);
_return: OMC_LABEL_UNUSED
return _out_txt;
}
modelica_metatype boxptr_CodegenCFunctions_extType(threadData_t *threadData, modelica_metatype _txt, modelica_metatype _a_type, modelica_metatype _a_isInput, modelica_metatype _a_isArray, modelica_metatype _a_returnType)
{
modelica_integer tmp1;
modelica_integer tmp2;
modelica_integer tmp3;
modelica_metatype _out_txt = NULL;
tmp1 = mmc_unbox_integer(_a_isInput);
tmp2 = mmc_unbox_integer(_a_isArray);
tmp3 = mmc_unbox_integer(_a_returnType);
_out_txt = omc_CodegenCFunctions_extType(threadData, _txt, _a_type, tmp1, tmp2, tmp3);
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__220(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_type, modelica_boolean _in_a_isArray, modelica_boolean _in_a_isInput, modelica_metatype _in_a_s)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta[1] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp3_1;modelica_metatype tmp3_2;modelica_boolean tmp3_3;modelica_boolean tmp3_4;modelica_metatype tmp3_5;
tmp3_1 = _in_txt;
tmp3_2 = _in_a_type;
tmp3_3 = _in_a_isArray;
tmp3_4 = _in_a_isInput;
tmp3_5 = _in_a_s;
{
modelica_metatype _txt = NULL;
modelica_boolean _a_isArray;
modelica_boolean _a_isInput;
modelica_metatype _a_s = NULL;
volatile mmc_switch_type tmp3;
int tmp4;
tmp3 = 0;
for (; tmp3 < 2; tmp3++) {
switch (MMC_SWITCH_CAST(tmp3)) {
case 0: {
if (mmc__uniontype__metarecord__typedef__equal(tmp3_2,6,2) == 0) goto tmp2_end;
_txt = tmp3_1;
_a_s = tmp3_5;
tmpMeta[0] = omc_Tpl_writeText(threadData, _txt, _a_s);
goto tmp2_done;
}
case 1: {
_txt = tmp3_1;
_a_isArray = tmp3_3;
_a_isInput = tmp3_4;
_a_s = tmp3_5;
tmpMeta[0] = omc_CodegenCFunctions_fun__219(threadData, _txt, _a_isInput, _a_isArray, _a_s);
goto tmp2_done;
}
}
goto tmp2_end;
tmp2_end: ;
}
goto goto_1;
goto_1:;
MMC_THROW_INTERNAL();
goto tmp2_done;
tmp2_done:;
}
}
_out_txt = tmpMeta[0];
_return: OMC_LABEL_UNUSED
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__220(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_type, modelica_metatype _in_a_isArray, modelica_metatype _in_a_isInput, modelica_metatype _in_a_s)
{
modelica_integer tmp1;
modelica_integer tmp2;
modelica_metatype _out_txt = NULL;
tmp1 = mmc_unbox_integer(_in_a_isArray);
tmp2 = mmc_unbox_integer(_in_a_isInput);
_out_txt = omc_CodegenCFunctions_fun__220(threadData, _in_txt, _in_a_type, tmp1, tmp2, _in_a_s);
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__219(threadData_t *threadData, modelica_metatype _in_txt, modelica_boolean _in_a_isInput, modelica_boolean _in_a_isArray, modelica_metatype _in_a_s)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta[1] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp3_1;modelica_boolean tmp3_2;modelica_boolean tmp3_3;modelica_metatype tmp3_4;
tmp3_1 = _in_txt;
tmp3_2 = _in_a_isInput;
tmp3_3 = _in_a_isArray;
tmp3_4 = _in_a_s;
{
modelica_metatype _txt = NULL;
modelica_boolean _a_isArray;
modelica_metatype _a_s = NULL;
volatile mmc_switch_type tmp3;
int tmp4;
tmp3 = 0;
for (; tmp3 < 2; tmp3++) {
switch (MMC_SWITCH_CAST(tmp3)) {
case 0: {
if (0 != tmp3_2) goto tmp2_end;
_txt = tmp3_1;
_a_s = tmp3_4;
_txt = omc_Tpl_writeText(threadData, _txt, _a_s);
tmpMeta[0] = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT256);
goto tmp2_done;
}
case 1: {
_txt = tmp3_1;
_a_isArray = tmp3_3;
_a_s = tmp3_4;
tmpMeta[0] = omc_CodegenCFunctions_fun__218(threadData, _txt, _a_isArray, _a_s);
goto tmp2_done;
}
}
goto tmp2_end;
tmp2_end: ;
}
goto goto_1;
goto_1:;
MMC_THROW_INTERNAL();
goto tmp2_done;
tmp2_done:;
}
}
_out_txt = tmpMeta[0];
_return: OMC_LABEL_UNUSED
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__219(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_isInput, modelica_metatype _in_a_isArray, modelica_metatype _in_a_s)
{
modelica_integer tmp1;
modelica_integer tmp2;
modelica_metatype _out_txt = NULL;
tmp1 = mmc_unbox_integer(_in_a_isInput);
tmp2 = mmc_unbox_integer(_in_a_isArray);
_out_txt = omc_CodegenCFunctions_fun__219(threadData, _in_txt, tmp1, tmp2, _in_a_s);
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__218(threadData_t *threadData, modelica_metatype _in_txt, modelica_boolean _in_a_isArray, modelica_metatype _in_a_s)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta[1] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp3_1;modelica_boolean tmp3_2;modelica_metatype tmp3_3;
tmp3_1 = _in_txt;
tmp3_2 = _in_a_isArray;
tmp3_3 = _in_a_s;
{
modelica_metatype _txt = NULL;
modelica_metatype _a_s = NULL;
modelica_string _str_0 = NULL;
volatile mmc_switch_type tmp3;
int tmp4;
tmp3 = 0;
for (; tmp3 < 2; tmp3++) {
switch (MMC_SWITCH_CAST(tmp3)) {
case 0: {
if (0 != tmp3_2) goto tmp2_end;
_txt = tmp3_1;
_a_s = tmp3_3;
tmpMeta[0] = omc_Tpl_writeText(threadData, _txt, _a_s);
goto tmp2_done;
}
case 1: {
_txt = tmp3_1;
_a_s = tmp3_3;
_str_0 = omc_Tpl_textString(threadData, _a_s);
_txt = omc_CodegenCFunctions_fun__217(threadData, _txt, _str_0);
_txt = omc_Tpl_writeText(threadData, _txt, _a_s);
tmpMeta[0] = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT256);
goto tmp2_done;
}
}
goto tmp2_end;
tmp2_end: ;
}
goto goto_1;
goto_1:;
MMC_THROW_INTERNAL();
goto tmp2_done;
tmp2_done:;
}
}
_out_txt = tmpMeta[0];
_return: OMC_LABEL_UNUSED
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__218(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_isArray, modelica_metatype _in_a_s)
{
modelica_integer tmp1;
modelica_metatype _out_txt = NULL;
tmp1 = mmc_unbox_integer(_in_a_isArray);
_out_txt = omc_CodegenCFunctions_fun__218(threadData, _in_txt, tmp1, _in_a_s);
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__217(threadData_t *threadData, modelica_metatype _in_txt, modelica_string _in_mArg)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta[1] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp3_1;modelica_string tmp3_2;
tmp3_1 = _in_txt;
tmp3_2 = _in_mArg;
{
modelica_metatype _txt = NULL;
volatile mmc_switch_type tmp3;
int tmp4;
tmp3 = 0;
for (; tmp3 < 2; tmp3++) {
switch (MMC_SWITCH_CAST(tmp3)) {
case 0: {
if (11 != MMC_STRLEN(tmp3_2) || strcmp(MMC_STRINGDATA(_OMC_LIT916), MMC_STRINGDATA(tmp3_2)) != 0) goto tmp2_end;
_txt = tmp3_1;
tmpMeta[0] = _txt;
goto tmp2_done;
}
case 1: {
_txt = tmp3_1;
tmpMeta[0] = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT2488);
goto tmp2_done;
}
}
goto tmp2_end;
tmp2_end: ;
}
goto goto_1;
goto_1:;
MMC_THROW_INTERNAL();
goto tmp2_done;
tmp2_done:;
}
}
_out_txt = tmpMeta[0];
_return: OMC_LABEL_UNUSED
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__216(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_type, modelica_boolean _in_a_returnType, modelica_boolean _in_a_isInput)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta[3] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp3_1;modelica_metatype tmp3_2;modelica_boolean tmp3_3;modelica_boolean tmp3_4;
tmp3_1 = _in_txt;
tmp3_2 = _in_a_type;
tmp3_3 = _in_a_returnType;
tmp3_4 = _in_a_isInput;
{
modelica_metatype _txt = NULL;
modelica_boolean _a_returnType;
modelica_boolean _a_isInput;
modelica_metatype _i_type = NULL;
modelica_metatype _i_rname = NULL;
modelica_metatype _i_ty = NULL;
modelica_metatype _txt_0 = NULL;
modelica_string _ret_0 = NULL;
volatile mmc_switch_type tmp3;
int tmp4;
tmp3 = 0;
for (; tmp3 < 12; tmp3++) {
switch (MMC_SWITCH_CAST(tmp3)) {
case 0: {
if (mmc__uniontype__metarecord__typedef__equal(tmp3_2,0,1) == 0) goto tmp2_end;
_txt = tmp3_1;
tmpMeta[0] = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1573);
goto tmp2_done;
}
case 1: {
if (mmc__uniontype__metarecord__typedef__equal(tmp3_2,1,1) == 0) goto tmp2_end;
_txt = tmp3_1;
tmpMeta[0] = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1579);
goto tmp2_done;
}
case 2: {
if (mmc__uniontype__metarecord__typedef__equal(tmp3_2,2,1) == 0) goto tmp2_end;
_txt = tmp3_1;
tmpMeta[0] = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1580);
goto tmp2_done;
}
case 3: {
if (mmc__uniontype__metarecord__typedef__equal(tmp3_2,3,1) == 0) goto tmp2_end;
_txt = tmp3_1;
tmpMeta[0] = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1573);
goto tmp2_done;
}
case 4: {
if (mmc__uniontype__metarecord__typedef__equal(tmp3_2,5,5) == 0) goto tmp2_end;
_txt = tmp3_1;
tmpMeta[0] = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1573);
goto tmp2_done;
}
case 5: {
if (mmc__uniontype__metarecord__typedef__equal(tmp3_2,6,2) == 0) goto tmp2_end;
tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_2), 2));
_i_ty = tmpMeta[1];
_txt = tmp3_1;
_a_returnType = tmp3_3;
_a_isInput = tmp3_4;
tmpMeta[0] = omc_CodegenCFunctions_extType(threadData, _txt, _i_ty, _a_isInput, 1, _a_returnType);
goto tmp2_done;
}
case 6: {
if (mmc__uniontype__metarecord__typedef__equal(tmp3_2,9,3) == 0) goto tmp2_end;
tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_2), 2));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[1],17,1) == 0) goto tmp2_end;
_txt = tmp3_1;
tmpMeta[0] = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT2025);
goto tmp2_done;
}
case 7: {
if (mmc__uniontype__metarecord__typedef__equal(tmp3_2,9,3) == 0) goto tmp2_end;
tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_2), 2));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[1],3,1) == 0) goto tmp2_end;
tmpMeta[2] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[1]), 2));
_i_rname = tmpMeta[2];
_txt = tmp3_1;
_a_returnType = tmp3_3;
_txt = omc_CodegenUtil_underscorePath(threadData, _txt, _i_rname);
tmpMeta[0] = omc_CodegenCFunctions_fun__215(threadData, _txt, _a_returnType);
goto tmp2_done;
}
case 8: {
if (mmc__uniontype__metarecord__typedef__equal(tmp3_2,25,1) == 0) goto tmp2_end;
_txt = tmp3_1;
tmpMeta[0] = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT611);
goto tmp2_done;
}
case 9: {
if (mmc__uniontype__metarecord__typedef__equal(tmp3_2,23,1) == 0) goto tmp2_end;
_txt = tmp3_1;
tmpMeta[0] = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT611);
goto tmp2_done;
}
case 10: {
if (mmc__uniontype__metarecord__typedef__equal(tmp3_2,12,1) == 0) goto tmp2_end;
_txt = tmp3_1;
tmpMeta[0] = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1627);
goto tmp2_done;
}
case 11: {
_txt = tmp3_1;
_i_type = tmp3_2;
_txt_0 = omc_Tpl_writeTok(threadData, _OMC_LIT20, _OMC_LIT2490);
_ret_0 = omc_Types_unparseType(threadData, _i_type);
_txt_0 = omc_Tpl_writeStr(threadData, _txt_0, _ret_0);
tmpMeta[0] = omc_CodegenUtil_error(threadData, _txt, omc_Tpl_sourceInfo(threadData, _OMC_LIT27, ((modelica_integer) 1220), ((modelica_integer) 14)), omc_Tpl_textString(threadData, _txt_0));
goto tmp2_done;
}
}
goto tmp2_end;
tmp2_end: ;
}
goto goto_1;
goto_1:;
MMC_THROW_INTERNAL();
goto tmp2_done;
tmp2_done:;
}
}
_out_txt = tmpMeta[0];
_return: OMC_LABEL_UNUSED
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__216(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_type, modelica_metatype _in_a_returnType, modelica_metatype _in_a_isInput)
{
modelica_integer tmp1;
modelica_integer tmp2;
modelica_metatype _out_txt = NULL;
tmp1 = mmc_unbox_integer(_in_a_returnType);
tmp2 = mmc_unbox_integer(_in_a_isInput);
_out_txt = omc_CodegenCFunctions_fun__216(threadData, _in_txt, _in_a_type, tmp1, tmp2);
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__215(threadData_t *threadData, modelica_metatype _in_txt, modelica_boolean _in_a_returnType)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta[1] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp3_1;modelica_boolean tmp3_2;
tmp3_1 = _in_txt;
tmp3_2 = _in_a_returnType;
{
modelica_metatype _txt = NULL;
volatile mmc_switch_type tmp3;
int tmp4;
tmp3 = 0;
for (; tmp3 < 2; tmp3++) {
switch (MMC_SWITCH_CAST(tmp3)) {
case 0: {
if (0 != tmp3_2) goto tmp2_end;
_txt = tmp3_1;
tmpMeta[0] = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT256);
goto tmp2_done;
}
case 1: {
_txt = tmp3_1;
tmpMeta[0] = _txt;
goto tmp2_done;
}
}
goto tmp2_end;
tmp2_end: ;
}
goto goto_1;
goto_1:;
MMC_THROW_INTERNAL();
goto tmp2_done;
tmp2_done:;
}
}
_out_txt = tmpMeta[0];
_return: OMC_LABEL_UNUSED
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__215(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_returnType)
{
modelica_integer tmp1;
modelica_metatype _out_txt = NULL;
tmp1 = mmc_unbox_integer(_in_a_returnType);
_out_txt = omc_CodegenCFunctions_fun__215(threadData, _in_txt, tmp1);
return _out_txt;
}
DLLExport
modelica_metatype omc_CodegenCFunctions_extReturnType(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_extArg)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta[2] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp3_1;modelica_metatype tmp3_2;
tmp3_1 = _in_txt;
tmp3_2 = _in_a_extArg;
{
modelica_metatype _txt = NULL;
modelica_metatype _i_exp = NULL;
modelica_metatype _i_type__ = NULL;
modelica_metatype _txt_0 = NULL;
int tmp3;
{
switch (MMC_SWITCH_CAST(valueConstructor(tmp3_2))) {
case 3: {
if (mmc__uniontype__metarecord__typedef__equal(tmp3_2,0,6) == 0) goto tmp2_end;
tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_2), 7));
_i_type__ = tmpMeta[1];
_txt = tmp3_1;
tmpMeta[0] = omc_CodegenCFunctions_extType(threadData, _txt, _i_type__, 1, 0, 1);
goto tmp2_done;
}
case 6: {
if (mmc__uniontype__metarecord__typedef__equal(tmp3_2,3,0) == 0) goto tmp2_end;
_txt = tmp3_1;
tmpMeta[0] = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT610);
goto tmp2_done;
}
case 4: {
if (mmc__uniontype__metarecord__typedef__equal(tmp3_2,1,2) == 0) goto tmp2_end;
tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_2), 2));
_i_exp = tmpMeta[1];
_txt = tmp3_1;
_txt_0 = omc_Tpl_writeTok(threadData, _OMC_LIT20, _OMC_LIT2492);
_txt_0 = omc_ExpressionDumpTpl_dumpExp(threadData, _txt_0, _i_exp, _OMC_LIT231);
tmpMeta[0] = omc_CodegenUtil_error(threadData, _txt, omc_Tpl_sourceInfo(threadData, _OMC_LIT27, ((modelica_integer) 1197), ((modelica_integer) 36)), omc_Tpl_textString(threadData, _txt_0));
goto tmp2_done;
}
default:
tmp2_default: OMC_LABEL_UNUSED; {
_txt = tmp3_1;
tmpMeta[0] = omc_CodegenUtil_error(threadData, _txt, omc_Tpl_sourceInfo(threadData, _OMC_LIT27, ((modelica_integer) 1198), ((modelica_integer) 14)), _OMC_LIT2493);
goto tmp2_done;
}
}
goto tmp2_end;
tmp2_end: ;
}
goto goto_1;
goto_1:;
MMC_THROW_INTERNAL();
goto tmp2_done;
tmp2_done:;
}
}
_out_txt = tmpMeta[0];
_return: OMC_LABEL_UNUSED
return _out_txt;
}
DLLExport
modelica_metatype omc_CodegenCFunctions_extFunDefArgs(threadData_t *threadData, modelica_metatype _txt, modelica_metatype _a_args, modelica_string _a_language)
{
modelica_metatype _out_txt = NULL;
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
_out_txt = omc_CodegenCFunctions_fun__212(threadData, _txt, _a_language, _a_args);
_return: OMC_LABEL_UNUSED
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__212(threadData_t *threadData, modelica_metatype _in_txt, modelica_string _in_a_language, modelica_metatype _in_a_args)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta[1] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp3_1;modelica_string tmp3_2;modelica_metatype tmp3_3;
tmp3_1 = _in_txt;
tmp3_2 = _in_a_language;
tmp3_3 = _in_a_args;
{
modelica_metatype _txt = NULL;
modelica_metatype _a_args = NULL;
modelica_string _i_language = NULL;
modelica_metatype _txt_0 = NULL;
volatile mmc_switch_type tmp3;
int tmp4;
tmp3 = 0;
for (; tmp3 < 4; tmp3++) {
switch (MMC_SWITCH_CAST(tmp3)) {
case 0: {
if (7 != MMC_STRLEN(tmp3_2) || strcmp(MMC_STRINGDATA(_OMC_LIT2119), MMC_STRINGDATA(tmp3_2)) != 0) goto tmp2_end;
_txt = tmp3_1;
_a_args = tmp3_3;
_txt = omc_Tpl_pushIter(threadData, _txt, _OMC_LIT294);
_txt = omc_CodegenCFunctions_lm__209(threadData, _txt, _a_args);
tmpMeta[0] = omc_Tpl_popIter(threadData, _txt);
goto tmp2_done;
}
case 1: {
if (1 != MMC_STRLEN(tmp3_2) || strcmp(MMC_STRINGDATA(_OMC_LIT2120), MMC_STRINGDATA(tmp3_2)) != 0) goto tmp2_end;
_txt = tmp3_1;
_a_args = tmp3_3;
_txt = omc_Tpl_pushIter(threadData, _txt, _OMC_LIT294);
_txt = omc_CodegenCFunctions_lm__210(threadData, _txt, _a_args);
tmpMeta[0] = omc_Tpl_popIter(threadData, _txt);
goto tmp2_done;
}
case 2: {
if (10 != MMC_STRLEN(tmp3_2) || strcmp(MMC_STRINGDATA(_OMC_LIT2121), MMC_STRINGDATA(tmp3_2)) != 0) goto tmp2_end;
_txt = tmp3_1;
_a_args = tmp3_3;
_txt = omc_Tpl_pushIter(threadData, _txt, _OMC_LIT294);
_txt = omc_CodegenCFunctions_lm__211(threadData, _txt, _a_args);
tmpMeta[0] = omc_Tpl_popIter(threadData, _txt);
goto tmp2_done;
}
case 3: {
_txt = tmp3_1;
_i_language = tmp3_2;
_txt_0 = omc_Tpl_writeTok(threadData, _OMC_LIT20, _OMC_LIT2118);
_txt_0 = omc_Tpl_writeStr(threadData, _txt_0, _i_language);
tmpMeta[0] = omc_CodegenUtil_error(threadData, _txt, omc_Tpl_sourceInfo(threadData, _OMC_LIT27, ((modelica_integer) 1188), ((modelica_integer) 14)), omc_Tpl_textString(threadData, _txt_0));
goto tmp2_done;
}
}
goto tmp2_end;
tmp2_end: ;
}
goto goto_1;
goto_1:;
MMC_THROW_INTERNAL();
goto tmp2_done;
tmp2_done:;
}
}
_out_txt = tmpMeta[0];
_return: OMC_LABEL_UNUSED
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_lm__211(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_items)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta[3] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp3_1;modelica_metatype tmp3_2;
tmp3_1 = _in_txt;
tmp3_2 = _in_items;
{
modelica_metatype _txt = NULL;
modelica_metatype _rest = NULL;
modelica_metatype _i_arg = NULL;
volatile mmc_switch_type tmp3;
int tmp4;
tmp3 = 0;
for (; tmp3 < 2; tmp3++) {
switch (MMC_SWITCH_CAST(tmp3)) {
case 0: {
if (!listEmpty(tmp3_2)) goto tmp2_end;
_txt = tmp3_1;
tmpMeta[0] = _txt;
goto tmp2_done;
}
case 1: {
if (listEmpty(tmp3_2)) goto tmp2_end;
tmpMeta[1] = MMC_CAR(tmp3_2);
tmpMeta[2] = MMC_CDR(tmp3_2);
_i_arg = tmpMeta[1];
_rest = tmpMeta[2];
_txt = tmp3_1;
_txt = omc_CodegenCFunctions_extFunDefArgF77(threadData, _txt, _i_arg);
_txt = omc_Tpl_nextIter(threadData, _txt);
_in_txt = _txt;
_in_items = _rest;
goto _tailrecursive;
goto tmp2_done;
}
}
goto tmp2_end;
tmp2_end: ;
}
goto goto_1;
goto_1:;
MMC_THROW_INTERNAL();
goto tmp2_done;
tmp2_done:;
}
}
_out_txt = tmpMeta[0];
_return: OMC_LABEL_UNUSED
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_lm__210(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_items)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta[3] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp3_1;modelica_metatype tmp3_2;
tmp3_1 = _in_txt;
tmp3_2 = _in_items;
{
modelica_metatype _txt = NULL;
modelica_metatype _rest = NULL;
modelica_metatype _i_arg = NULL;
volatile mmc_switch_type tmp3;
int tmp4;
tmp3 = 0;
for (; tmp3 < 2; tmp3++) {
switch (MMC_SWITCH_CAST(tmp3)) {
case 0: {
if (!listEmpty(tmp3_2)) goto tmp2_end;
_txt = tmp3_1;
tmpMeta[0] = _txt;
goto tmp2_done;
}
case 1: {
if (listEmpty(tmp3_2)) goto tmp2_end;
tmpMeta[1] = MMC_CAR(tmp3_2);
tmpMeta[2] = MMC_CDR(tmp3_2);
_i_arg = tmpMeta[1];
_rest = tmpMeta[2];
_txt = tmp3_1;
_txt = omc_CodegenCFunctions_extFunDefArg(threadData, _txt, _i_arg);
_txt = omc_Tpl_nextIter(threadData, _txt);
_in_txt = _txt;
_in_items = _rest;
goto _tailrecursive;
goto tmp2_done;
}
}
goto tmp2_end;
tmp2_end: ;
}
goto goto_1;
goto_1:;
MMC_THROW_INTERNAL();
goto tmp2_done;
tmp2_done:;
}
}
_out_txt = tmpMeta[0];
_return: OMC_LABEL_UNUSED
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_lm__209(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_items)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta[3] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp3_1;modelica_metatype tmp3_2;
tmp3_1 = _in_txt;
tmp3_2 = _in_items;
{
modelica_metatype _txt = NULL;
modelica_metatype _rest = NULL;
modelica_metatype _i_arg = NULL;
volatile mmc_switch_type tmp3;
int tmp4;
tmp3 = 0;
for (; tmp3 < 2; tmp3++) {
switch (MMC_SWITCH_CAST(tmp3)) {
case 0: {
if (!listEmpty(tmp3_2)) goto tmp2_end;
_txt = tmp3_1;
tmpMeta[0] = _txt;
goto tmp2_done;
}
case 1: {
if (listEmpty(tmp3_2)) goto tmp2_end;
tmpMeta[1] = MMC_CAR(tmp3_2);
tmpMeta[2] = MMC_CDR(tmp3_2);
_i_arg = tmpMeta[1];
_rest = tmpMeta[2];
_txt = tmp3_1;
_txt = omc_CodegenCFunctions_extFunDefArg(threadData, _txt, _i_arg);
_txt = omc_Tpl_nextIter(threadData, _txt);
_in_txt = _txt;
_in_items = _rest;
goto _tailrecursive;
goto tmp2_done;
}
}
goto tmp2_end;
tmp2_end: ;
}
goto goto_1;
goto_1:;
MMC_THROW_INTERNAL();
goto tmp2_done;
tmp2_done:;
}
}
_out_txt = tmpMeta[0];
_return: OMC_LABEL_UNUSED
return _out_txt;
}
DLLExport
modelica_metatype omc_CodegenCFunctions_extFunctionName(threadData_t *threadData, modelica_metatype _txt, modelica_string _a_name, modelica_string _a_language)
{
modelica_metatype _out_txt = NULL;
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
_out_txt = omc_CodegenCFunctions_fun__207(threadData, _txt, _a_language, _a_name);
_return: OMC_LABEL_UNUSED
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__207(threadData_t *threadData, modelica_metatype _in_txt, modelica_string _in_a_language, modelica_string _in_a_name)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta[1] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp3_1;modelica_string tmp3_2;modelica_string tmp3_3;
tmp3_1 = _in_txt;
tmp3_2 = _in_a_language;
tmp3_3 = _in_a_name;
{
modelica_metatype _txt = NULL;
modelica_string _a_name = NULL;
modelica_string _i_language = NULL;
modelica_metatype _txt_0 = NULL;
volatile mmc_switch_type tmp3;
int tmp4;
tmp3 = 0;
for (; tmp3 < 4; tmp3++) {
switch (MMC_SWITCH_CAST(tmp3)) {
case 0: {
if (7 != MMC_STRLEN(tmp3_2) || strcmp(MMC_STRINGDATA(_OMC_LIT2119), MMC_STRINGDATA(tmp3_2)) != 0) goto tmp2_end;
_txt = tmp3_1;
_a_name = tmp3_3;
tmpMeta[0] = omc_Tpl_writeStr(threadData, _txt, _a_name);
goto tmp2_done;
}
case 1: {
if (1 != MMC_STRLEN(tmp3_2) || strcmp(MMC_STRINGDATA(_OMC_LIT2120), MMC_STRINGDATA(tmp3_2)) != 0) goto tmp2_end;
_txt = tmp3_1;
_a_name = tmp3_3;
tmpMeta[0] = omc_Tpl_writeStr(threadData, _txt, _a_name);
goto tmp2_done;
}
case 2: {
if (10 != MMC_STRLEN(tmp3_2) || strcmp(MMC_STRINGDATA(_OMC_LIT2121), MMC_STRINGDATA(tmp3_2)) != 0) goto tmp2_end;
_txt = tmp3_1;
_a_name = tmp3_3;
_txt = omc_Tpl_writeStr(threadData, _txt, _a_name);
tmpMeta[0] = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT236);
goto tmp2_done;
}
case 3: {
_txt = tmp3_1;
_i_language = tmp3_2;
_txt_0 = omc_Tpl_writeTok(threadData, _OMC_LIT20, _OMC_LIT2118);
_txt_0 = omc_Tpl_writeStr(threadData, _txt_0, _i_language);
tmpMeta[0] = omc_CodegenUtil_error(threadData, _txt, omc_Tpl_sourceInfo(threadData, _OMC_LIT27, ((modelica_integer) 1179), ((modelica_integer) 14)), omc_Tpl_textString(threadData, _txt_0));
goto tmp2_done;
}
}
goto tmp2_end;
tmp2_end: ;
}
goto goto_1;
goto_1:;
MMC_THROW_INTERNAL();
goto tmp2_done;
tmp2_done:;
}
}
_out_txt = tmpMeta[0];
_return: OMC_LABEL_UNUSED
return _out_txt;
}
DLLExport
modelica_metatype omc_CodegenCFunctions_extFunDefDynamic(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_fn)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta[5] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp3_1;modelica_metatype tmp3_2;
tmp3_1 = _in_txt;
tmp3_2 = _in_a_fn;
{
modelica_metatype _txt = NULL;
modelica_metatype _i_extReturn = NULL;
modelica_metatype _i_extArgs = NULL;
modelica_string _i_language = NULL;
modelica_string _i_extName = NULL;
modelica_metatype _l_fargsStr = NULL;
modelica_metatype _l_fn__name = NULL;
volatile mmc_switch_type tmp3;
int tmp4;
tmp3 = 0;
for (; tmp3 < 2; tmp3++) {
switch (MMC_SWITCH_CAST(tmp3)) {
case 0: {
if (mmc__uniontype__metarecord__typedef__equal(tmp3_2,3,14) == 0) goto tmp2_end;
tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_2), 3));
tmpMeta[2] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_2), 5));
tmpMeta[3] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_2), 6));
tmpMeta[4] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_2), 12));
_i_extName = tmpMeta[1];
_i_extArgs = tmpMeta[2];
_i_extReturn = tmpMeta[3];
_i_language = tmpMeta[4];
_txt = tmp3_1;
_l_fn__name = omc_CodegenCFunctions_extFunctionName(threadData, _OMC_LIT20, _i_extName, _i_language);
_l_fargsStr = omc_CodegenCFunctions_extFunDefArgs(threadData, _OMC_LIT20, _i_extArgs, _i_language);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT2495);
_txt = omc_CodegenCFunctions_extReturnType(threadData, _txt, _i_extReturn);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT2497);
_txt = omc_Tpl_writeText(threadData, _txt, _l_fn__name);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT2499);
_txt = omc_Tpl_writeText(threadData, _txt, _l_fargsStr);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT2503);
_txt = omc_Tpl_writeText(threadData, _txt, _l_fn__name);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT2277);
_txt = omc_Tpl_writeText(threadData, _txt, _l_fn__name);
tmpMeta[0] = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT105);
goto tmp2_done;
}
case 1: {
_txt = tmp3_1;
tmpMeta[0] = _txt;
goto tmp2_done;
}
}
goto tmp2_end;
tmp2_end: ;
}
goto goto_1;
goto_1:;
MMC_THROW_INTERNAL();
goto tmp2_done;
tmp2_done:;
}
}
_out_txt = tmpMeta[0];
_return: OMC_LABEL_UNUSED
return _out_txt;
}
DLLExport
modelica_metatype omc_CodegenCFunctions_extFunDef(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_fn)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta[6] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp3_1;modelica_metatype tmp3_2;
tmp3_1 = _in_txt;
tmp3_2 = _in_a_fn;
{
modelica_metatype _txt = NULL;
modelica_metatype _i_extReturn = NULL;
modelica_metatype _i_includes = NULL;
modelica_metatype _i_extArgs = NULL;
modelica_string _i_language = NULL;
modelica_string _i_extName = NULL;
modelica_boolean _ret_8;
modelica_boolean _ret_7;
modelica_boolean _ret_6;
modelica_boolean _ret_5;
modelica_boolean _ret_4;
modelica_metatype _l_isBuiltin = NULL;
modelica_metatype _l_fargsStrEscaped = NULL;
modelica_metatype _l_fargsStr = NULL;
modelica_metatype _l_fn__name = NULL;
volatile mmc_switch_type tmp3;
int tmp4;
tmp3 = 0;
for (; tmp3 < 2; tmp3++) {
switch (MMC_SWITCH_CAST(tmp3)) {
case 0: {
if (mmc__uniontype__metarecord__typedef__equal(tmp3_2,3,14) == 0) goto tmp2_end;
tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_2), 3));
tmpMeta[2] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_2), 5));
tmpMeta[3] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_2), 6));
tmpMeta[4] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_2), 10));
tmpMeta[5] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_2), 12));
_i_extName = tmpMeta[1];
_i_extArgs = tmpMeta[2];
_i_extReturn = tmpMeta[3];
_i_includes = tmpMeta[4];
_i_language = tmpMeta[5];
_txt = tmp3_1;
_l_fn__name = omc_CodegenCFunctions_extFunctionName(threadData, _OMC_LIT20, _i_extName, _i_language);
_l_fargsStr = omc_CodegenCFunctions_extFunDefArgs(threadData, _OMC_LIT20, _i_extArgs, _i_language);
_l_fargsStrEscaped = omc_CodegenUtil_escapeCComments(threadData, _OMC_LIT20, omc_Tpl_textString(threadData, _l_fargsStr));
_l_isBuiltin = omc_CodegenCFunctions_fun__203(threadData, _OMC_LIT20, _i_language);
_ret_4 = listEmpty(_i_includes);
_ret_5 = (!_ret_4);
_ret_6 = (stringEqual(omc_Tpl_textString(threadData, _l_isBuiltin), _OMC_LIT91));
_ret_7 = (!_ret_6);
_ret_8 = (_ret_5 || _ret_7);
tmpMeta[0] = omc_CodegenCFunctions_fun__204(threadData, _txt, _ret_8, _l_fargsStrEscaped, _l_fargsStr, _l_fn__name, _i_extReturn);
goto tmp2_done;
}
case 1: {
_txt = tmp3_1;
tmpMeta[0] = _txt;
goto tmp2_done;
}
}
goto tmp2_end;
tmp2_end: ;
}
goto goto_1;
goto_1:;
MMC_THROW_INTERNAL();
goto tmp2_done;
tmp2_done:;
}
}
_out_txt = tmpMeta[0];
_return: OMC_LABEL_UNUSED
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__204(threadData_t *threadData, modelica_metatype _in_txt, modelica_boolean _in_mArg, modelica_metatype _in_a_fargsStrEscaped, modelica_metatype _in_a_fargsStr, modelica_metatype _in_a_fn__name, modelica_metatype _in_a_extReturn)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta[1] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp3_1;modelica_boolean tmp3_2;modelica_metatype tmp3_3;modelica_metatype tmp3_4;modelica_metatype tmp3_5;modelica_metatype tmp3_6;
tmp3_1 = _in_txt;
tmp3_2 = _in_mArg;
tmp3_3 = _in_a_fargsStrEscaped;
tmp3_4 = _in_a_fargsStr;
tmp3_5 = _in_a_fn__name;
tmp3_6 = _in_a_extReturn;
{
modelica_metatype _txt = NULL;
modelica_metatype _a_fargsStrEscaped = NULL;
modelica_metatype _a_fargsStr = NULL;
modelica_metatype _a_fn__name = NULL;
modelica_metatype _a_extReturn = NULL;
volatile mmc_switch_type tmp3;
int tmp4;
tmp3 = 0;
for (; tmp3 < 2; tmp3++) {
switch (MMC_SWITCH_CAST(tmp3)) {
case 0: {
if (0 != tmp3_2) goto tmp2_end;
_txt = tmp3_1;
_a_fargsStr = tmp3_4;
_a_fn__name = tmp3_5;
_a_extReturn = tmp3_6;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT2505);
_txt = omc_CodegenCFunctions_extReturnType(threadData, _txt, _a_extReturn);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT29);
_txt = omc_Tpl_writeText(threadData, _txt, _a_fn__name);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT68);
_txt = omc_Tpl_writeText(threadData, _txt, _a_fargsStr);
tmpMeta[0] = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT290);
goto tmp2_done;
}
case 1: {
_txt = tmp3_1;
_a_fargsStrEscaped = tmp3_3;
_a_fn__name = tmp3_5;
_a_extReturn = tmp3_6;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT2513);
_txt = omc_Tpl_pushBlock(threadData, _txt, _OMC_LIT1283);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT2515);
_txt = omc_CodegenCFunctions_extReturnType(threadData, _txt, _a_extReturn);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT29);
_txt = omc_Tpl_writeText(threadData, _txt, _a_fn__name);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT68);
_txt = omc_Tpl_writeText(threadData, _txt, _a_fargsStrEscaped);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT2518);
tmpMeta[0] = omc_Tpl_popBlock(threadData, _txt);
goto tmp2_done;
}
}
goto tmp2_end;
tmp2_end: ;
}
goto goto_1;
goto_1:;
MMC_THROW_INTERNAL();
goto tmp2_done;
tmp2_done:;
}
}
_out_txt = tmpMeta[0];
_return: OMC_LABEL_UNUSED
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__204(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_mArg, modelica_metatype _in_a_fargsStrEscaped, modelica_metatype _in_a_fargsStr, modelica_metatype _in_a_fn__name, modelica_metatype _in_a_extReturn)
{
modelica_integer tmp1;
modelica_metatype _out_txt = NULL;
tmp1 = mmc_unbox_integer(_in_mArg);
_out_txt = omc_CodegenCFunctions_fun__204(threadData, _in_txt, tmp1, _in_a_fargsStrEscaped, _in_a_fargsStr, _in_a_fn__name, _in_a_extReturn);
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__203(threadData_t *threadData, modelica_metatype _in_txt, modelica_string _in_a_language)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta[1] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp3_1;modelica_string tmp3_2;
tmp3_1 = _in_txt;
tmp3_2 = _in_a_language;
{
modelica_metatype _txt = NULL;
volatile mmc_switch_type tmp3;
int tmp4;
tmp3 = 0;
for (; tmp3 < 2; tmp3++) {
switch (MMC_SWITCH_CAST(tmp3)) {
case 0: {
if (7 != MMC_STRLEN(tmp3_2) || strcmp(MMC_STRINGDATA(_OMC_LIT2119), MMC_STRINGDATA(tmp3_2)) != 0) goto tmp2_end;
_txt = tmp3_1;
tmpMeta[0] = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1039);
goto tmp2_done;
}
case 1: {
_txt = tmp3_1;
tmpMeta[0] = _txt;
goto tmp2_done;
}
}
goto tmp2_end;
tmp2_end: ;
}
goto goto_1;
goto_1:;
MMC_THROW_INTERNAL();
goto tmp2_done;
tmp2_done:;
}
}
_out_txt = tmpMeta[0];
_return: OMC_LABEL_UNUSED
return _out_txt;
}
DLLExport
modelica_metatype omc_CodegenCFunctions_funArgBoxedDefinition(threadData_t *threadData, modelica_metatype _txt, modelica_metatype _a_var)
{
modelica_metatype _out_txt = NULL;
modelica_metatype _l_auxFunction = NULL;
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
_l_auxFunction = _OMC_LIT20;
_out_txt = omc_CodegenCFunctions_fun__201(threadData, _txt, _a_var, _l_auxFunction ,&_l_auxFunction);
_return: OMC_LABEL_UNUSED
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__201(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_var, modelica_metatype _in_a_auxFunction, modelica_metatype *out_out_a_auxFunction)
{
modelica_metatype _out_txt = NULL;
modelica_metatype _out_a_auxFunction = NULL;
modelica_metatype tmpMeta[3] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_metatype tmp4_2;modelica_metatype tmp4_3;
tmp4_1 = _in_txt;
tmp4_2 = _in_a_var;
tmp4_3 = _in_a_auxFunction;
{
modelica_metatype _txt = NULL;
modelica_metatype _a_auxFunction = NULL;
modelica_string _i_name_1 = NULL;
modelica_metatype _i_name = NULL;
modelica_string _ret_0 = NULL;
int tmp4;
{
switch (MMC_SWITCH_CAST(valueConstructor(tmp4_2))) {
case 3: {
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,0,7) == 0) goto tmp3_end;
tmpMeta[2] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
_i_name = tmpMeta[2];
_txt = tmp4_1;
_a_auxFunction = tmp4_3;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT416);
tmpMeta[0+0] = omc_CodegenCFunctions_contextCrefNoPrevExp(threadData, _txt, _i_name, _OMC_LIT1356, _a_auxFunction, &tmpMeta[0+1]);
goto tmp3_done;
}
case 4: {
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,1,4) == 0) goto tmp3_end;
tmpMeta[2] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
_i_name_1 = tmpMeta[2];
_txt = tmp4_1;
_a_auxFunction = tmp4_3;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT2181);
_ret_0 = omc_System_unquoteIdentifier(threadData, _i_name_1);
_txt = omc_Tpl_writeStr(threadData, _txt, _ret_0);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_auxFunction;
goto tmp3_done;
}
default:
tmp3_default: OMC_LABEL_UNUSED; {
_txt = tmp4_1;
_a_auxFunction = tmp4_3;
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_auxFunction;
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta[0+0];
_out_a_auxFunction = tmpMeta[0+1];
_return: OMC_LABEL_UNUSED
if (out_out_a_auxFunction) { *out_out_a_auxFunction = _out_a_auxFunction; }
return _out_txt;
}
DLLExport
modelica_metatype omc_CodegenCFunctions_reconstructKernelArrays(threadData_t *threadData, modelica_metatype _txt, modelica_metatype _a_var, modelica_metatype _a_reconstructedArrs, modelica_metatype *out_out_a_reconstructedArrs)
{
modelica_metatype _out_txt = NULL;
modelica_metatype _out_a_reconstructedArrs = NULL;
modelica_metatype _l_auxFunction = NULL;
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
_l_auxFunction = _OMC_LIT20;
_out_txt = omc_CodegenCFunctions_fun__199(threadData, _txt, _a_var, _a_reconstructedArrs, _l_auxFunction ,&_out_a_reconstructedArrs ,&_l_auxFunction);
_return: OMC_LABEL_UNUSED
if (out_out_a_reconstructedArrs) { *out_out_a_reconstructedArrs = _out_a_reconstructedArrs; }
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__199(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_var, modelica_metatype _in_a_reconstructedArrs, modelica_metatype _in_a_auxFunction, modelica_metatype *out_out_a_reconstructedArrs, modelica_metatype *out_out_a_auxFunction)
{
modelica_metatype _out_txt = NULL;
modelica_metatype _out_a_reconstructedArrs = NULL;
modelica_metatype _out_a_auxFunction = NULL;
modelica_metatype tmpMeta[6] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_metatype tmp4_2;modelica_metatype tmp4_3;modelica_metatype tmp4_4;
tmp4_1 = _in_txt;
tmp4_2 = _in_a_var;
tmp4_3 = _in_a_reconstructedArrs;
tmp4_4 = _in_a_auxFunction;
{
modelica_metatype _txt = NULL;
modelica_metatype _a_reconstructedArrs = NULL;
modelica_metatype _a_auxFunction = NULL;
modelica_metatype _i_instDims = NULL;
modelica_metatype _i_var_ty = NULL;
modelica_metatype _i_var_name = NULL;
modelica_metatype _l_varName = NULL;
volatile mmc_switch_type tmp4;
int tmp5;
tmp4 = 0;
for (; tmp4 < 4; tmp4++) {
switch (MMC_SWITCH_CAST(tmp4)) {
case 0: {
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,0,7) == 0) goto tmp3_end;
tmpMeta[3] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
tmpMeta[4] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 3));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[4],6,2) == 0) goto tmp3_end;
tmpMeta[5] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 6));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[5],0,0) == 0) goto tmp3_end;
_i_var_name = tmpMeta[3];
_i_var_ty = tmpMeta[4];
_txt = tmp4_1;
_a_reconstructedArrs = tmp4_3;
_a_auxFunction = tmp4_4;
_l_varName = omc_CodegenCFunctions_contextCrefNoPrevExp(threadData, _OMC_LIT20, _i_var_name, _OMC_LIT2011, _a_auxFunction ,&_a_auxFunction);
_a_reconstructedArrs = omc_CodegenCFunctions_expTypeShort(threadData, _a_reconstructedArrs, _i_var_ty);
_a_reconstructedArrs = omc_Tpl_writeTok(threadData, _a_reconstructedArrs, _OMC_LIT2177);
_a_reconstructedArrs = omc_Tpl_writeText(threadData, _a_reconstructedArrs, _l_varName);
_a_reconstructedArrs = omc_Tpl_writeTok(threadData, _a_reconstructedArrs, _OMC_LIT200);
_a_reconstructedArrs = omc_Tpl_writeTok(threadData, _a_reconstructedArrs, _OMC_LIT89);
_a_reconstructedArrs = omc_Tpl_writeText(threadData, _a_reconstructedArrs, _l_varName);
_a_reconstructedArrs = omc_Tpl_writeTok(threadData, _a_reconstructedArrs, _OMC_LIT2520);
_a_reconstructedArrs = omc_Tpl_writeText(threadData, _a_reconstructedArrs, _l_varName);
_a_reconstructedArrs = omc_Tpl_writeTok(threadData, _a_reconstructedArrs, _OMC_LIT200);
_a_reconstructedArrs = omc_Tpl_writeTok(threadData, _a_reconstructedArrs, _OMC_LIT89);
_a_reconstructedArrs = omc_Tpl_writeText(threadData, _a_reconstructedArrs, _l_varName);
_a_reconstructedArrs = omc_Tpl_writeTok(threadData, _a_reconstructedArrs, _OMC_LIT2522);
_a_reconstructedArrs = omc_Tpl_writeText(threadData, _a_reconstructedArrs, _l_varName);
_a_reconstructedArrs = omc_Tpl_writeTok(threadData, _a_reconstructedArrs, _OMC_LIT2524);
_a_reconstructedArrs = omc_Tpl_writeTok(threadData, _a_reconstructedArrs, _OMC_LIT89);
_a_reconstructedArrs = omc_Tpl_writeText(threadData, _a_reconstructedArrs, _l_varName);
_a_reconstructedArrs = omc_Tpl_writeTok(threadData, _a_reconstructedArrs, _OMC_LIT2526);
_a_reconstructedArrs = omc_Tpl_writeText(threadData, _a_reconstructedArrs, _l_varName);
_a_reconstructedArrs = omc_Tpl_writeTok(threadData, _a_reconstructedArrs, _OMC_LIT2528);
_a_reconstructedArrs = omc_Tpl_writeTok(threadData, _a_reconstructedArrs, _OMC_LIT89);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_reconstructedArrs;
tmpMeta[0+2] = _a_auxFunction;
goto tmp3_done;
}
case 1: {
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,0,7) == 0) goto tmp3_end;
tmpMeta[3] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
tmpMeta[4] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 3));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[4],6,2) == 0) goto tmp3_end;
tmpMeta[5] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 6));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[5],1,0) == 0) goto tmp3_end;
_i_var_name = tmpMeta[3];
_i_var_ty = tmpMeta[4];
_txt = tmp4_1;
_a_reconstructedArrs = tmp4_3;
_a_auxFunction = tmp4_4;
_l_varName = omc_CodegenCFunctions_contextCrefNoPrevExp(threadData, _OMC_LIT20, _i_var_name, _OMC_LIT2011, _a_auxFunction ,&_a_auxFunction);
_a_reconstructedArrs = omc_Tpl_writeTok(threadData, _a_reconstructedArrs, _OMC_LIT2530);
_a_reconstructedArrs = omc_CodegenCFunctions_expTypeShort(threadData, _a_reconstructedArrs, _i_var_ty);
_a_reconstructedArrs = omc_Tpl_writeTok(threadData, _a_reconstructedArrs, _OMC_LIT2177);
_a_reconstructedArrs = omc_Tpl_writeText(threadData, _a_reconstructedArrs, _l_varName);
_a_reconstructedArrs = omc_Tpl_writeTok(threadData, _a_reconstructedArrs, _OMC_LIT200);
_a_reconstructedArrs = omc_Tpl_writeTok(threadData, _a_reconstructedArrs, _OMC_LIT89);
_a_reconstructedArrs = omc_Tpl_writeText(threadData, _a_reconstructedArrs, _l_varName);
_a_reconstructedArrs = omc_Tpl_writeTok(threadData, _a_reconstructedArrs, _OMC_LIT2520);
_a_reconstructedArrs = omc_Tpl_writeText(threadData, _a_reconstructedArrs, _l_varName);
_a_reconstructedArrs = omc_Tpl_writeTok(threadData, _a_reconstructedArrs, _OMC_LIT200);
_a_reconstructedArrs = omc_Tpl_writeTok(threadData, _a_reconstructedArrs, _OMC_LIT89);
_a_reconstructedArrs = omc_Tpl_writeText(threadData, _a_reconstructedArrs, _l_varName);
_a_reconstructedArrs = omc_Tpl_writeTok(threadData, _a_reconstructedArrs, _OMC_LIT2522);
_a_reconstructedArrs = omc_Tpl_writeText(threadData, _a_reconstructedArrs, _l_varName);
_a_reconstructedArrs = omc_Tpl_writeTok(threadData, _a_reconstructedArrs, _OMC_LIT2524);
_a_reconstructedArrs = omc_Tpl_writeTok(threadData, _a_reconstructedArrs, _OMC_LIT89);
_a_reconstructedArrs = omc_Tpl_writeText(threadData, _a_reconstructedArrs, _l_varName);
_a_reconstructedArrs = omc_Tpl_writeTok(threadData, _a_reconstructedArrs, _OMC_LIT2526);
_a_reconstructedArrs = omc_Tpl_writeText(threadData, _a_reconstructedArrs, _l_varName);
_a_reconstructedArrs = omc_Tpl_writeTok(threadData, _a_reconstructedArrs, _OMC_LIT2528);
_a_reconstructedArrs = omc_Tpl_writeTok(threadData, _a_reconstructedArrs, _OMC_LIT89);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_reconstructedArrs;
tmpMeta[0+2] = _a_auxFunction;
goto tmp3_done;
}
case 2: {
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,0,7) == 0) goto tmp3_end;
tmpMeta[3] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
tmpMeta[4] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 3));
tmpMeta[5] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 5));
_i_var_name = tmpMeta[3];
_i_var_ty = tmpMeta[4];
_i_instDims = tmpMeta[5];
_txt = tmp4_1;
_a_reconstructedArrs = tmp4_3;
_a_auxFunction = tmp4_4;
_l_varName = omc_CodegenCFunctions_contextCrefNoPrevExp(threadData, _OMC_LIT20, _i_var_name, _OMC_LIT2011, _a_auxFunction ,&_a_auxFunction);
_txt = omc_CodegenCFunctions_fun__198(threadData, _txt, _i_instDims, _l_varName, _i_var_ty, _a_reconstructedArrs ,&_a_reconstructedArrs);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_reconstructedArrs;
tmpMeta[0+2] = _a_auxFunction;
goto tmp3_done;
}
case 3: {
_txt = tmp4_1;
_a_reconstructedArrs = tmp4_3;
_a_auxFunction = tmp4_4;
_a_reconstructedArrs = omc_Tpl_writeTok(threadData, _a_reconstructedArrs, _OMC_LIT2532);
_a_reconstructedArrs = omc_Tpl_writeTok(threadData, _a_reconstructedArrs, _OMC_LIT89);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_reconstructedArrs;
tmpMeta[0+2] = _a_auxFunction;
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta[0+0];
_out_a_reconstructedArrs = tmpMeta[0+1];
_out_a_auxFunction = tmpMeta[0+2];
_return: OMC_LABEL_UNUSED
if (out_out_a_reconstructedArrs) { *out_out_a_reconstructedArrs = _out_a_reconstructedArrs; }
if (out_out_a_auxFunction) { *out_out_a_auxFunction = _out_a_auxFunction; }
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__198(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_instDims, modelica_metatype _in_a_varName, modelica_metatype _in_a_var_ty, modelica_metatype _in_a_reconstructedArrs, modelica_metatype *out_out_a_reconstructedArrs)
{
modelica_metatype _out_txt = NULL;
modelica_metatype _out_a_reconstructedArrs = NULL;
modelica_metatype tmpMeta[2] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_metatype tmp4_2;modelica_metatype tmp4_3;modelica_metatype tmp4_4;modelica_metatype tmp4_5;
tmp4_1 = _in_txt;
tmp4_2 = _in_a_instDims;
tmp4_3 = _in_a_varName;
tmp4_4 = _in_a_var_ty;
tmp4_5 = _in_a_reconstructedArrs;
{
modelica_metatype _txt = NULL;
modelica_metatype _a_varName = NULL;
modelica_metatype _a_var_ty = NULL;
modelica_metatype _a_reconstructedArrs = NULL;
volatile mmc_switch_type tmp4;
int tmp5;
tmp4 = 0;
for (; tmp4 < 2; tmp4++) {
switch (MMC_SWITCH_CAST(tmp4)) {
case 0: {
if (!listEmpty(tmp4_2)) goto tmp3_end;
_txt = tmp4_1;
_a_reconstructedArrs = tmp4_5;
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_reconstructedArrs;
goto tmp3_done;
}
case 1: {
_txt = tmp4_1;
_a_varName = tmp4_3;
_a_var_ty = tmp4_4;
_a_reconstructedArrs = tmp4_5;
_a_reconstructedArrs = omc_CodegenCFunctions_expTypeShort(threadData, _a_reconstructedArrs, _a_var_ty);
_a_reconstructedArrs = omc_Tpl_writeTok(threadData, _a_reconstructedArrs, _OMC_LIT2177);
_a_reconstructedArrs = omc_Tpl_writeText(threadData, _a_reconstructedArrs, _a_varName);
_a_reconstructedArrs = omc_Tpl_writeTok(threadData, _a_reconstructedArrs, _OMC_LIT200);
_a_reconstructedArrs = omc_Tpl_writeTok(threadData, _a_reconstructedArrs, _OMC_LIT89);
_a_reconstructedArrs = omc_Tpl_writeText(threadData, _a_reconstructedArrs, _a_varName);
_a_reconstructedArrs = omc_Tpl_writeTok(threadData, _a_reconstructedArrs, _OMC_LIT2520);
_a_reconstructedArrs = omc_Tpl_writeText(threadData, _a_reconstructedArrs, _a_varName);
_a_reconstructedArrs = omc_Tpl_writeTok(threadData, _a_reconstructedArrs, _OMC_LIT200);
_a_reconstructedArrs = omc_Tpl_writeTok(threadData, _a_reconstructedArrs, _OMC_LIT89);
_a_reconstructedArrs = omc_Tpl_writeText(threadData, _a_reconstructedArrs, _a_varName);
_a_reconstructedArrs = omc_Tpl_writeTok(threadData, _a_reconstructedArrs, _OMC_LIT2522);
_a_reconstructedArrs = omc_Tpl_writeText(threadData, _a_reconstructedArrs, _a_varName);
_a_reconstructedArrs = omc_Tpl_writeTok(threadData, _a_reconstructedArrs, _OMC_LIT2524);
_a_reconstructedArrs = omc_Tpl_writeTok(threadData, _a_reconstructedArrs, _OMC_LIT89);
_a_reconstructedArrs = omc_Tpl_writeText(threadData, _a_reconstructedArrs, _a_varName);
_a_reconstructedArrs = omc_Tpl_writeTok(threadData, _a_reconstructedArrs, _OMC_LIT2526);
_a_reconstructedArrs = omc_Tpl_writeText(threadData, _a_reconstructedArrs, _a_varName);
_a_reconstructedArrs = omc_Tpl_writeTok(threadData, _a_reconstructedArrs, _OMC_LIT2528);
_a_reconstructedArrs = omc_Tpl_writeTok(threadData, _a_reconstructedArrs, _OMC_LIT89);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT29);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_reconstructedArrs;
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta[0+0];
_out_a_reconstructedArrs = tmpMeta[0+1];
_return: OMC_LABEL_UNUSED
if (out_out_a_reconstructedArrs) { *out_out_a_reconstructedArrs = _out_a_reconstructedArrs; }
return _out_txt;
}
DLLExport
modelica_metatype omc_CodegenCFunctions_reconstructKernelArraysFromLooptupleVars(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_tupleVar, modelica_metatype _in_a_reconstructedArrs, modelica_metatype *out_out_a_reconstructedArrs)
{
modelica_metatype _out_txt = NULL;
modelica_metatype _out_a_reconstructedArrs = NULL;
modelica_metatype tmpMeta[4] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_metatype tmp4_2;modelica_metatype tmp4_3;
tmp4_1 = _in_txt;
tmp4_2 = _in_a_tupleVar;
tmp4_3 = _in_a_reconstructedArrs;
{
modelica_metatype _txt = NULL;
modelica_metatype _a_reconstructedArrs = NULL;
modelica_metatype _i_cref_identType = NULL;
modelica_metatype _i_cref = NULL;
modelica_metatype _l_varName = NULL;
volatile mmc_switch_type tmp4;
int tmp5;
tmp4 = 0;
for (; tmp4 < 2; tmp4++) {
switch (MMC_SWITCH_CAST(tmp4)) {
case 0: {
tmpMeta[2] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 1));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[2],1,3) == 0) goto tmp3_end;
tmpMeta[3] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[2]), 3));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[3],6,2) == 0) goto tmp3_end;
_i_cref = tmpMeta[2];
_i_cref_identType = tmpMeta[3];
_txt = tmp4_1;
_a_reconstructedArrs = tmp4_3;
_l_varName = omc_CodegenCFunctions_contextArrayCref(threadData, _OMC_LIT20, _i_cref, _OMC_LIT2011);
tmpMeta[0+0] = omc_CodegenCFunctions_fun__196(threadData, _txt, _i_cref_identType, _l_varName, _a_reconstructedArrs, &tmpMeta[0+1]);
goto tmp3_done;
}
case 1: {
_txt = tmp4_1;
_a_reconstructedArrs = tmp4_3;
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_reconstructedArrs;
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta[0+0];
_out_a_reconstructedArrs = tmpMeta[0+1];
_return: OMC_LABEL_UNUSED
if (out_out_a_reconstructedArrs) { *out_out_a_reconstructedArrs = _out_a_reconstructedArrs; }
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__196(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_cref_identType, modelica_metatype _in_a_varName, modelica_metatype _in_a_reconstructedArrs, modelica_metatype *out_out_a_reconstructedArrs)
{
modelica_metatype _out_txt = NULL;
modelica_metatype _out_a_reconstructedArrs = NULL;
modelica_metatype tmpMeta[3] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_metatype tmp4_2;modelica_metatype tmp4_3;modelica_metatype tmp4_4;
tmp4_1 = _in_txt;
tmp4_2 = _in_a_cref_identType;
tmp4_3 = _in_a_varName;
tmp4_4 = _in_a_reconstructedArrs;
{
modelica_metatype _txt = NULL;
modelica_metatype _a_varName = NULL;
modelica_metatype _a_reconstructedArrs = NULL;
volatile mmc_switch_type tmp4;
int tmp5;
tmp4 = 0;
for (; tmp4 < 3; tmp4++) {
switch (MMC_SWITCH_CAST(tmp4)) {
case 0: {
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,6,2) == 0) goto tmp3_end;
tmpMeta[2] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[2],0,1) == 0) goto tmp3_end;
_txt = tmp4_1;
_a_varName = tmp4_3;
_a_reconstructedArrs = tmp4_4;
_a_reconstructedArrs = omc_Tpl_writeTok(threadData, _a_reconstructedArrs, _OMC_LIT2077);
_a_reconstructedArrs = omc_Tpl_writeText(threadData, _a_reconstructedArrs, _a_varName);
_a_reconstructedArrs = omc_Tpl_writeTok(threadData, _a_reconstructedArrs, _OMC_LIT200);
_a_reconstructedArrs = omc_Tpl_writeTok(threadData, _a_reconstructedArrs, _OMC_LIT89);
_a_reconstructedArrs = omc_Tpl_writeText(threadData, _a_reconstructedArrs, _a_varName);
_a_reconstructedArrs = omc_Tpl_writeTok(threadData, _a_reconstructedArrs, _OMC_LIT2520);
_a_reconstructedArrs = omc_Tpl_writeText(threadData, _a_reconstructedArrs, _a_varName);
_a_reconstructedArrs = omc_Tpl_writeTok(threadData, _a_reconstructedArrs, _OMC_LIT200);
_a_reconstructedArrs = omc_Tpl_writeTok(threadData, _a_reconstructedArrs, _OMC_LIT89);
_a_reconstructedArrs = omc_Tpl_writeText(threadData, _a_reconstructedArrs, _a_varName);
_a_reconstructedArrs = omc_Tpl_writeTok(threadData, _a_reconstructedArrs, _OMC_LIT2522);
_a_reconstructedArrs = omc_Tpl_writeText(threadData, _a_reconstructedArrs, _a_varName);
_a_reconstructedArrs = omc_Tpl_writeTok(threadData, _a_reconstructedArrs, _OMC_LIT2524);
_a_reconstructedArrs = omc_Tpl_writeTok(threadData, _a_reconstructedArrs, _OMC_LIT89);
_a_reconstructedArrs = omc_Tpl_writeText(threadData, _a_reconstructedArrs, _a_varName);
_a_reconstructedArrs = omc_Tpl_writeTok(threadData, _a_reconstructedArrs, _OMC_LIT2526);
_a_reconstructedArrs = omc_Tpl_writeText(threadData, _a_reconstructedArrs, _a_varName);
_a_reconstructedArrs = omc_Tpl_writeTok(threadData, _a_reconstructedArrs, _OMC_LIT2528);
_a_reconstructedArrs = omc_Tpl_writeTok(threadData, _a_reconstructedArrs, _OMC_LIT89);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_reconstructedArrs;
goto tmp3_done;
}
case 1: {
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,6,2) == 0) goto tmp3_end;
tmpMeta[2] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[2],1,1) == 0) goto tmp3_end;
_txt = tmp4_1;
_a_varName = tmp4_3;
_a_reconstructedArrs = tmp4_4;
_a_reconstructedArrs = omc_Tpl_writeTok(threadData, _a_reconstructedArrs, _OMC_LIT2534);
_a_reconstructedArrs = omc_Tpl_writeText(threadData, _a_reconstructedArrs, _a_varName);
_a_reconstructedArrs = omc_Tpl_writeTok(threadData, _a_reconstructedArrs, _OMC_LIT200);
_a_reconstructedArrs = omc_Tpl_writeTok(threadData, _a_reconstructedArrs, _OMC_LIT89);
_a_reconstructedArrs = omc_Tpl_writeText(threadData, _a_reconstructedArrs, _a_varName);
_a_reconstructedArrs = omc_Tpl_writeTok(threadData, _a_reconstructedArrs, _OMC_LIT2520);
_a_reconstructedArrs = omc_Tpl_writeText(threadData, _a_reconstructedArrs, _a_varName);
_a_reconstructedArrs = omc_Tpl_writeTok(threadData, _a_reconstructedArrs, _OMC_LIT200);
_a_reconstructedArrs = omc_Tpl_writeTok(threadData, _a_reconstructedArrs, _OMC_LIT89);
_a_reconstructedArrs = omc_Tpl_writeText(threadData, _a_reconstructedArrs, _a_varName);
_a_reconstructedArrs = omc_Tpl_writeTok(threadData, _a_reconstructedArrs, _OMC_LIT2522);
_a_reconstructedArrs = omc_Tpl_writeText(threadData, _a_reconstructedArrs, _a_varName);
_a_reconstructedArrs = omc_Tpl_writeTok(threadData, _a_reconstructedArrs, _OMC_LIT2524);
_a_reconstructedArrs = omc_Tpl_writeTok(threadData, _a_reconstructedArrs, _OMC_LIT89);
_a_reconstructedArrs = omc_Tpl_writeText(threadData, _a_reconstructedArrs, _a_varName);
_a_reconstructedArrs = omc_Tpl_writeTok(threadData, _a_reconstructedArrs, _OMC_LIT2526);
_a_reconstructedArrs = omc_Tpl_writeText(threadData, _a_reconstructedArrs, _a_varName);
_a_reconstructedArrs = omc_Tpl_writeTok(threadData, _a_reconstructedArrs, _OMC_LIT2528);
_a_reconstructedArrs = omc_Tpl_writeTok(threadData, _a_reconstructedArrs, _OMC_LIT89);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_reconstructedArrs;
goto tmp3_done;
}
case 2: {
_txt = tmp4_1;
_a_reconstructedArrs = tmp4_4;
_a_reconstructedArrs = omc_Tpl_writeTok(threadData, _a_reconstructedArrs, _OMC_LIT2532);
_a_reconstructedArrs = omc_Tpl_writeTok(threadData, _a_reconstructedArrs, _OMC_LIT89);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_reconstructedArrs;
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta[0+0];
_out_a_reconstructedArrs = tmpMeta[0+1];
_return: OMC_LABEL_UNUSED
if (out_out_a_reconstructedArrs) { *out_out_a_reconstructedArrs = _out_a_reconstructedArrs; }
return _out_txt;
}
DLLExport
modelica_metatype omc_CodegenCFunctions_parFunArgDefinitionFromLooptupleVar(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_tupleVar)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta[3] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp3_1;modelica_metatype tmp3_2;
tmp3_1 = _in_txt;
tmp3_2 = _in_a_tupleVar;
{
modelica_metatype _txt = NULL;
modelica_metatype _i_cref_identType = NULL;
modelica_metatype _i_cref = NULL;
modelica_metatype _l_varName = NULL;
volatile mmc_switch_type tmp3;
int tmp4;
tmp3 = 0;
for (; tmp3 < 3; tmp3++) {
switch (MMC_SWITCH_CAST(tmp3)) {
case 0: {
tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_2), 1));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[1],1,3) == 0) goto tmp2_end;
tmpMeta[2] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[1]), 3));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[2],6,2) == 0) goto tmp2_end;
_i_cref = tmpMeta[1];
_i_cref_identType = tmpMeta[2];
_txt = tmp3_1;
_l_varName = omc_CodegenCFunctions_contextArrayCref(threadData, _OMC_LIT20, _i_cref, _OMC_LIT2011);
tmpMeta[0] = omc_CodegenCFunctions_fun__193(threadData, _txt, _i_cref_identType, _l_varName);
goto tmp2_done;
}
case 1: {
tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_2), 1));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[1],1,3) == 0) goto tmp2_end;
tmpMeta[2] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[1]), 3));
_i_cref = tmpMeta[1];
_i_cref_identType = tmpMeta[2];
_txt = tmp3_1;
_l_varName = omc_CodegenCFunctions_contextArrayCref(threadData, _OMC_LIT20, _i_cref, _OMC_LIT2011);
tmpMeta[0] = omc_CodegenCFunctions_fun__194(threadData, _txt, _i_cref_identType, _l_varName);
goto tmp2_done;
}
case 2: {
_txt = tmp3_1;
tmpMeta[0] = _txt;
goto tmp2_done;
}
}
goto tmp2_end;
tmp2_end: ;
}
goto goto_1;
goto_1:;
MMC_THROW_INTERNAL();
goto tmp2_done;
tmp2_done:;
}
}
_out_txt = tmpMeta[0];
_return: OMC_LABEL_UNUSED
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__194(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_cref_identType, modelica_metatype _in_a_varName)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta[1] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp3_1;modelica_metatype tmp3_2;modelica_metatype tmp3_3;
tmp3_1 = _in_txt;
tmp3_2 = _in_a_cref_identType;
tmp3_3 = _in_a_varName;
{
modelica_metatype _txt = NULL;
modelica_metatype _a_varName = NULL;
int tmp3;
{
switch (MMC_SWITCH_CAST(valueConstructor(tmp3_2))) {
case 3: {
if (mmc__uniontype__metarecord__typedef__equal(tmp3_2,0,1) == 0) goto tmp2_end;
_txt = tmp3_1;
_a_varName = tmp3_3;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT395);
tmpMeta[0] = omc_Tpl_writeText(threadData, _txt, _a_varName);
goto tmp2_done;
}
case 4: {
if (mmc__uniontype__metarecord__typedef__equal(tmp3_2,1,1) == 0) goto tmp2_end;
_txt = tmp3_1;
_a_varName = tmp3_3;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT2536);
tmpMeta[0] = omc_Tpl_writeText(threadData, _txt, _a_varName);
goto tmp2_done;
}
default:
tmp2_default: OMC_LABEL_UNUSED; {
_txt = tmp3_1;
tmpMeta[0] = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT2538);
goto tmp2_done;
}
}
goto tmp2_end;
tmp2_end: ;
}
goto goto_1;
goto_1:;
MMC_THROW_INTERNAL();
goto tmp2_done;
tmp2_done:;
}
}
_out_txt = tmpMeta[0];
_return: OMC_LABEL_UNUSED
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__193(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_cref_identType, modelica_metatype _in_a_varName)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta[2] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp3_1;modelica_metatype tmp3_2;modelica_metatype tmp3_3;
tmp3_1 = _in_txt;
tmp3_2 = _in_a_cref_identType;
tmp3_3 = _in_a_varName;
{
modelica_metatype _txt = NULL;
modelica_metatype _a_varName = NULL;
volatile mmc_switch_type tmp3;
int tmp4;
tmp3 = 0;
for (; tmp3 < 3; tmp3++) {
switch (MMC_SWITCH_CAST(tmp3)) {
case 0: {
if (mmc__uniontype__metarecord__typedef__equal(tmp3_2,6,2) == 0) goto tmp2_end;
tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_2), 2));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[1],0,1) == 0) goto tmp2_end;
_txt = tmp3_1;
_a_varName = tmp3_3;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT2540);
_txt = omc_Tpl_writeText(threadData, _txt, _a_varName);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT226);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT89);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT2542);
tmpMeta[0] = omc_Tpl_writeText(threadData, _txt, _a_varName);
goto tmp2_done;
}
case 1: {
if (mmc__uniontype__metarecord__typedef__equal(tmp3_2,6,2) == 0) goto tmp2_end;
tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_2), 2));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[1],1,1) == 0) goto tmp2_end;
_txt = tmp3_1;
_a_varName = tmp3_3;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT2544);
_txt = omc_Tpl_writeText(threadData, _txt, _a_varName);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT226);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT89);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT2542);
tmpMeta[0] = omc_Tpl_writeText(threadData, _txt, _a_varName);
goto tmp2_done;
}
case 2: {
_txt = tmp3_1;
tmpMeta[0] = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT2546);
goto tmp2_done;
}
}
goto tmp2_end;
tmp2_end: ;
}
goto goto_1;
goto_1:;
MMC_THROW_INTERNAL();
goto tmp2_done;
tmp2_done:;
}
}
_out_txt = tmpMeta[0];
_return: OMC_LABEL_UNUSED
return _out_txt;
}
DLLExport
modelica_metatype omc_CodegenCFunctions_funArgDefinitionKernelFunctionBody2(threadData_t *threadData, modelica_metatype _txt, modelica_metatype _a_var, modelica_metatype _a_parArgList, modelica_metatype *out_out_a_parArgList)
{
modelica_metatype _out_txt = NULL;
modelica_metatype _out_a_parArgList = NULL;
modelica_metatype _l_auxFunction = NULL;
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
_l_auxFunction = _OMC_LIT20;
_out_txt = omc_CodegenCFunctions_fun__191(threadData, _txt, _a_var, _a_parArgList, _l_auxFunction ,&_out_a_parArgList ,&_l_auxFunction);
_return: OMC_LABEL_UNUSED
if (out_out_a_parArgList) { *out_out_a_parArgList = _out_a_parArgList; }
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__191(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_var, modelica_metatype _in_a_parArgList, modelica_metatype _in_a_auxFunction, modelica_metatype *out_out_a_parArgList, modelica_metatype *out_out_a_auxFunction)
{
modelica_metatype _out_txt = NULL;
modelica_metatype _out_a_parArgList = NULL;
modelica_metatype _out_a_auxFunction = NULL;
modelica_metatype tmpMeta[6] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_metatype tmp4_2;modelica_metatype tmp4_3;modelica_metatype tmp4_4;
tmp4_1 = _in_txt;
tmp4_2 = _in_a_var;
tmp4_3 = _in_a_parArgList;
tmp4_4 = _in_a_auxFunction;
{
modelica_metatype _txt = NULL;
modelica_metatype _a_parArgList = NULL;
modelica_metatype _a_auxFunction = NULL;
modelica_metatype _i_instDims = NULL;
modelica_metatype _i_var_ty = NULL;
modelica_metatype _i_var_name = NULL;
modelica_metatype _l_varName = NULL;
volatile mmc_switch_type tmp4;
int tmp5;
tmp4 = 0;
for (; tmp4 < 3; tmp4++) {
switch (MMC_SWITCH_CAST(tmp4)) {
case 0: {
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,0,7) == 0) goto tmp3_end;
tmpMeta[3] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
tmpMeta[4] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 3));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[4],6,2) == 0) goto tmp3_end;
_i_var_name = tmpMeta[3];
_i_var_ty = tmpMeta[4];
_txt = tmp4_1;
_a_parArgList = tmp4_3;
_a_auxFunction = tmp4_4;
_l_varName = omc_CodegenCFunctions_contextCrefNoPrevExp(threadData, _OMC_LIT20, _i_var_name, _OMC_LIT2011, _a_auxFunction ,&_a_auxFunction);
_a_parArgList = omc_Tpl_writeTok(threadData, _a_parArgList, _OMC_LIT226);
_a_parArgList = omc_Tpl_writeTok(threadData, _a_parArgList, _OMC_LIT89);
_a_parArgList = omc_Tpl_writeTok(threadData, _a_parArgList, _OMC_LIT2548);
_a_parArgList = omc_CodegenCFunctions_expTypeShort(threadData, _a_parArgList, _i_var_ty);
_a_parArgList = omc_Tpl_writeTok(threadData, _a_parArgList, _OMC_LIT2550);
_a_parArgList = omc_Tpl_writeText(threadData, _a_parArgList, _l_varName);
_a_parArgList = omc_Tpl_writeTok(threadData, _a_parArgList, _OMC_LIT226);
_a_parArgList = omc_Tpl_writeTok(threadData, _a_parArgList, _OMC_LIT89);
_a_parArgList = omc_Tpl_writeTok(threadData, _a_parArgList, _OMC_LIT2552);
_a_parArgList = omc_Tpl_writeText(threadData, _a_parArgList, _l_varName);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_parArgList;
tmpMeta[0+2] = _a_auxFunction;
goto tmp3_done;
}
case 1: {
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,0,7) == 0) goto tmp3_end;
tmpMeta[3] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
tmpMeta[4] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 3));
tmpMeta[5] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 5));
_i_var_name = tmpMeta[3];
_i_var_ty = tmpMeta[4];
_i_instDims = tmpMeta[5];
_txt = tmp4_1;
_a_parArgList = tmp4_3;
_a_auxFunction = tmp4_4;
_l_varName = omc_CodegenCFunctions_contextCrefNoPrevExp(threadData, _OMC_LIT20, _i_var_name, _OMC_LIT2011, _a_auxFunction ,&_a_auxFunction);
_txt = omc_CodegenCFunctions_fun__190(threadData, _txt, _i_instDims, _l_varName, _i_var_ty, _a_parArgList ,&_a_parArgList);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_parArgList;
tmpMeta[0+2] = _a_auxFunction;
goto tmp3_done;
}
case 2: {
_txt = tmp4_1;
_a_parArgList = tmp4_3;
_a_auxFunction = tmp4_4;
_a_parArgList = omc_Tpl_pushBlock(threadData, _a_parArgList, _OMC_LIT2553);
_a_parArgList = omc_Tpl_writeTok(threadData, _a_parArgList, _OMC_LIT2555);
_a_parArgList = omc_Tpl_writeTok(threadData, _a_parArgList, _OMC_LIT89);
_a_parArgList = omc_Tpl_popBlock(threadData, _a_parArgList);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_parArgList;
tmpMeta[0+2] = _a_auxFunction;
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta[0+0];
_out_a_parArgList = tmpMeta[0+1];
_out_a_auxFunction = tmpMeta[0+2];
_return: OMC_LABEL_UNUSED
if (out_out_a_parArgList) { *out_out_a_parArgList = _out_a_parArgList; }
if (out_out_a_auxFunction) { *out_out_a_auxFunction = _out_a_auxFunction; }
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__190(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_instDims, modelica_metatype _in_a_varName, modelica_metatype _in_a_var_ty, modelica_metatype _in_a_parArgList, modelica_metatype *out_out_a_parArgList)
{
modelica_metatype _out_txt = NULL;
modelica_metatype _out_a_parArgList = NULL;
modelica_metatype tmpMeta[2] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_metatype tmp4_2;modelica_metatype tmp4_3;modelica_metatype tmp4_4;modelica_metatype tmp4_5;
tmp4_1 = _in_txt;
tmp4_2 = _in_a_instDims;
tmp4_3 = _in_a_varName;
tmp4_4 = _in_a_var_ty;
tmp4_5 = _in_a_parArgList;
{
modelica_metatype _txt = NULL;
modelica_metatype _a_varName = NULL;
modelica_metatype _a_var_ty = NULL;
modelica_metatype _a_parArgList = NULL;
volatile mmc_switch_type tmp4;
int tmp5;
tmp4 = 0;
for (; tmp4 < 2; tmp4++) {
switch (MMC_SWITCH_CAST(tmp4)) {
case 0: {
if (!listEmpty(tmp4_2)) goto tmp3_end;
_txt = tmp4_1;
_a_varName = tmp4_3;
_a_var_ty = tmp4_4;
_a_parArgList = tmp4_5;
_a_parArgList = omc_Tpl_writeTok(threadData, _a_parArgList, _OMC_LIT226);
_a_parArgList = omc_Tpl_writeTok(threadData, _a_parArgList, _OMC_LIT89);
_a_parArgList = omc_Tpl_writeTok(threadData, _a_parArgList, _OMC_LIT2557);
_a_parArgList = omc_CodegenCFunctions_expTypeShort(threadData, _a_parArgList, _a_var_ty);
_a_parArgList = omc_Tpl_writeTok(threadData, _a_parArgList, _OMC_LIT29);
_a_parArgList = omc_Tpl_writeText(threadData, _a_parArgList, _a_varName);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_parArgList;
goto tmp3_done;
}
case 1: {
_txt = tmp4_1;
_a_varName = tmp4_3;
_a_var_ty = tmp4_4;
_a_parArgList = tmp4_5;
_a_parArgList = omc_Tpl_writeTok(threadData, _a_parArgList, _OMC_LIT226);
_a_parArgList = omc_Tpl_writeTok(threadData, _a_parArgList, _OMC_LIT89);
_a_parArgList = omc_Tpl_writeTok(threadData, _a_parArgList, _OMC_LIT2548);
_a_parArgList = omc_CodegenCFunctions_expTypeShort(threadData, _a_parArgList, _a_var_ty);
_a_parArgList = omc_Tpl_writeTok(threadData, _a_parArgList, _OMC_LIT2550);
_a_parArgList = omc_Tpl_writeText(threadData, _a_parArgList, _a_varName);
_a_parArgList = omc_Tpl_writeTok(threadData, _a_parArgList, _OMC_LIT226);
_a_parArgList = omc_Tpl_writeTok(threadData, _a_parArgList, _OMC_LIT89);
_a_parArgList = omc_Tpl_writeTok(threadData, _a_parArgList, _OMC_LIT2552);
_a_parArgList = omc_Tpl_writeText(threadData, _a_parArgList, _a_varName);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT29);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_parArgList;
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta[0+0];
_out_a_parArgList = tmpMeta[0+1];
_return: OMC_LABEL_UNUSED
if (out_out_a_parArgList) { *out_out_a_parArgList = _out_a_parArgList; }
return _out_txt;
}
DLLExport
modelica_metatype omc_CodegenCFunctions_funArgDefinitionKernelFunctionBody(threadData_t *threadData, modelica_metatype _txt, modelica_metatype _a_var)
{
modelica_metatype _out_txt = NULL;
modelica_metatype _l_auxFunction = NULL;
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
_l_auxFunction = _OMC_LIT20;
_out_txt = omc_CodegenCFunctions_fun__188(threadData, _txt, _a_var, _l_auxFunction ,&_l_auxFunction);
_return: OMC_LABEL_UNUSED
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__188(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_var, modelica_metatype _in_a_auxFunction, modelica_metatype *out_out_a_auxFunction)
{
modelica_metatype _out_txt = NULL;
modelica_metatype _out_a_auxFunction = NULL;
modelica_metatype tmpMeta[6] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_metatype tmp4_2;modelica_metatype tmp4_3;
tmp4_1 = _in_txt;
tmp4_2 = _in_a_var;
tmp4_3 = _in_a_auxFunction;
{
modelica_metatype _txt = NULL;
modelica_metatype _a_auxFunction = NULL;
modelica_metatype _i_parallelism = NULL;
modelica_metatype _i_instDims = NULL;
modelica_metatype _i_var_ty = NULL;
modelica_metatype _i_var_name = NULL;
modelica_metatype _l_varName = NULL;
volatile mmc_switch_type tmp4;
int tmp5;
tmp4 = 0;
for (; tmp4 < 4; tmp4++) {
switch (MMC_SWITCH_CAST(tmp4)) {
case 0: {
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,0,7) == 0) goto tmp3_end;
tmpMeta[2] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
tmpMeta[3] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 3));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[3],6,2) == 0) goto tmp3_end;
tmpMeta[4] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 6));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[4],0,0) == 0) goto tmp3_end;
_i_var_name = tmpMeta[2];
_i_var_ty = tmpMeta[3];
_txt = tmp4_1;
_a_auxFunction = tmp4_3;
_l_varName = omc_CodegenCFunctions_contextCrefNoPrevExp(threadData, _OMC_LIT20, _i_var_name, _OMC_LIT2011, _a_auxFunction ,&_a_auxFunction);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT2559);
_txt = omc_CodegenCFunctions_expTypeShort(threadData, _txt, _i_var_ty);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT2550);
_txt = omc_Tpl_writeText(threadData, _txt, _l_varName);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT226);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT89);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT2552);
_txt = omc_Tpl_writeText(threadData, _txt, _l_varName);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_auxFunction;
goto tmp3_done;
}
case 1: {
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,0,7) == 0) goto tmp3_end;
tmpMeta[2] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
tmpMeta[3] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 3));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[3],6,2) == 0) goto tmp3_end;
tmpMeta[4] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 6));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[4],1,0) == 0) goto tmp3_end;
_i_var_name = tmpMeta[2];
_i_var_ty = tmpMeta[3];
_txt = tmp4_1;
_a_auxFunction = tmp4_3;
_l_varName = omc_CodegenCFunctions_contextCrefNoPrevExp(threadData, _OMC_LIT20, _i_var_name, _OMC_LIT2011, _a_auxFunction ,&_a_auxFunction);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT2561);
_txt = omc_CodegenCFunctions_expTypeShort(threadData, _txt, _i_var_ty);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT2550);
_txt = omc_Tpl_writeText(threadData, _txt, _l_varName);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT226);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT89);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT2563);
_txt = omc_Tpl_writeText(threadData, _txt, _l_varName);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_auxFunction;
goto tmp3_done;
}
case 2: {
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,0,7) == 0) goto tmp3_end;
tmpMeta[2] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
tmpMeta[3] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 3));
tmpMeta[4] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 5));
tmpMeta[5] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 6));
_i_var_name = tmpMeta[2];
_i_var_ty = tmpMeta[3];
_i_instDims = tmpMeta[4];
_i_parallelism = tmpMeta[5];
_txt = tmp4_1;
_a_auxFunction = tmp4_3;
_l_varName = omc_CodegenCFunctions_contextCrefNoPrevExp(threadData, _OMC_LIT20, _i_var_name, _OMC_LIT2011, _a_auxFunction ,&_a_auxFunction);
_txt = omc_CodegenCFunctions_fun__187(threadData, _txt, _i_instDims, _i_parallelism, _l_varName, _i_var_ty);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_auxFunction;
goto tmp3_done;
}
case 3: {
_txt = tmp4_1;
_a_auxFunction = tmp4_3;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT2565);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT89);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_auxFunction;
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta[0+0];
_out_a_auxFunction = tmpMeta[0+1];
_return: OMC_LABEL_UNUSED
if (out_out_a_auxFunction) { *out_out_a_auxFunction = _out_a_auxFunction; }
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__187(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_instDims, modelica_metatype _in_a_parallelism, modelica_metatype _in_a_varName, modelica_metatype _in_a_var_ty)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta[1] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp3_1;modelica_metatype tmp3_2;modelica_metatype tmp3_3;modelica_metatype tmp3_4;modelica_metatype tmp3_5;
tmp3_1 = _in_txt;
tmp3_2 = _in_a_instDims;
tmp3_3 = _in_a_parallelism;
tmp3_4 = _in_a_varName;
tmp3_5 = _in_a_var_ty;
{
modelica_metatype _txt = NULL;
modelica_metatype _a_parallelism = NULL;
modelica_metatype _a_varName = NULL;
modelica_metatype _a_var_ty = NULL;
volatile mmc_switch_type tmp3;
int tmp4;
tmp3 = 0;
for (; tmp3 < 2; tmp3++) {
switch (MMC_SWITCH_CAST(tmp3)) {
case 0: {
if (!listEmpty(tmp3_2)) goto tmp2_end;
_txt = tmp3_1;
_a_varName = tmp3_4;
_a_var_ty = tmp3_5;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1584);
_txt = omc_CodegenCFunctions_expTypeShort(threadData, _txt, _a_var_ty);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT29);
tmpMeta[0] = omc_Tpl_writeText(threadData, _txt, _a_varName);
goto tmp2_done;
}
case 1: {
_txt = tmp3_1;
_a_parallelism = tmp3_3;
_a_varName = tmp3_4;
_a_var_ty = tmp3_5;
tmpMeta[0] = omc_CodegenCFunctions_fun__186(threadData, _txt, _a_parallelism, _a_varName, _a_var_ty);
goto tmp2_done;
}
}
goto tmp2_end;
tmp2_end: ;
}
goto goto_1;
goto_1:;
MMC_THROW_INTERNAL();
goto tmp2_done;
tmp2_done:;
}
}
_out_txt = tmpMeta[0];
_return: OMC_LABEL_UNUSED
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__186(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_parallelism, modelica_metatype _in_a_varName, modelica_metatype _in_a_var_ty)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta[1] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp3_1;modelica_metatype tmp3_2;modelica_metatype tmp3_3;modelica_metatype tmp3_4;
tmp3_1 = _in_txt;
tmp3_2 = _in_a_parallelism;
tmp3_3 = _in_a_varName;
tmp3_4 = _in_a_var_ty;
{
modelica_metatype _txt = NULL;
modelica_metatype _a_varName = NULL;
modelica_metatype _a_var_ty = NULL;
int tmp3;
{
switch (MMC_SWITCH_CAST(valueConstructor(tmp3_2))) {
case 3: {
if (mmc__uniontype__metarecord__typedef__equal(tmp3_2,0,0) == 0) goto tmp2_end;
_txt = tmp3_1;
_a_varName = tmp3_3;
_a_var_ty = tmp3_4;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT2559);
_txt = omc_CodegenCFunctions_expTypeShort(threadData, _txt, _a_var_ty);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT2550);
_txt = omc_Tpl_writeText(threadData, _txt, _a_varName);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT226);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT89);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT2552);
tmpMeta[0] = omc_Tpl_writeText(threadData, _txt, _a_varName);
goto tmp2_done;
}
case 4: {
if (mmc__uniontype__metarecord__typedef__equal(tmp3_2,1,0) == 0) goto tmp2_end;
_txt = tmp3_1;
_a_varName = tmp3_3;
_a_var_ty = tmp3_4;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT2561);
_txt = omc_CodegenCFunctions_expTypeShort(threadData, _txt, _a_var_ty);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT2550);
_txt = omc_Tpl_writeText(threadData, _txt, _a_varName);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT226);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT89);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT2563);
tmpMeta[0] = omc_Tpl_writeText(threadData, _txt, _a_varName);
goto tmp2_done;
}
default:
tmp2_default: OMC_LABEL_UNUSED; {
_txt = tmp3_1;
tmpMeta[0] = _txt;
goto tmp2_done;
}
}
goto tmp2_end;
tmp2_end: ;
}
goto goto_1;
goto_1:;
MMC_THROW_INTERNAL();
goto tmp2_done;
tmp2_done:;
}
}
_out_txt = tmpMeta[0];
_return: OMC_LABEL_UNUSED
return _out_txt;
}
DLLExport
modelica_metatype omc_CodegenCFunctions_tupleOutfunArgDefinitionKernelFunctionInterface(threadData_t *threadData, modelica_metatype _txt, modelica_metatype _a_var)
{
modelica_metatype _out_txt = NULL;
modelica_metatype _l_auxFunction = NULL;
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
_l_auxFunction = _OMC_LIT20;
_out_txt = omc_CodegenCFunctions_fun__184(threadData, _txt, _a_var);
_return: OMC_LABEL_UNUSED
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__184(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_var)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta[1] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp3_1;modelica_metatype tmp3_2;
tmp3_1 = _in_txt;
tmp3_2 = _in_a_var;
{
modelica_metatype _txt = NULL;
modelica_metatype _i_var = NULL;
volatile mmc_switch_type tmp3;
int tmp4;
tmp3 = 0;
for (; tmp3 < 2; tmp3++) {
switch (MMC_SWITCH_CAST(tmp3)) {
case 0: {
if (mmc__uniontype__metarecord__typedef__equal(tmp3_2,0,7) == 0) goto tmp2_end;
_i_var = tmp3_2;
_txt = tmp3_1;
_txt = omc_CodegenCFunctions_varType(threadData, _txt, _i_var);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT2567);
tmpMeta[0] = omc_CodegenCFunctions_funArgName(threadData, _txt, _i_var);
goto tmp2_done;
}
case 1: {
_txt = tmp3_1;
tmpMeta[0] = omc_CodegenUtil_error(threadData, _txt, omc_Tpl_sourceInfo(threadData, _OMC_LIT27, ((modelica_integer) 983), ((modelica_integer) 14)), _OMC_LIT2568);
goto tmp2_done;
}
}
goto tmp2_end;
tmp2_end: ;
}
goto goto_1;
goto_1:;
MMC_THROW_INTERNAL();
goto tmp2_done;
tmp2_done:;
}
}
_out_txt = tmpMeta[0];
_return: OMC_LABEL_UNUSED
return _out_txt;
}
DLLExport
modelica_metatype omc_CodegenCFunctions_funArgDefinitionKernelFunctionInterface(threadData_t *threadData, modelica_metatype _txt, modelica_metatype _a_var)
{
modelica_metatype _out_txt = NULL;
modelica_metatype _l_auxFunction = NULL;
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
_l_auxFunction = _OMC_LIT20;
_out_txt = omc_CodegenCFunctions_fun__182(threadData, _txt, _a_var);
_return: OMC_LABEL_UNUSED
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__182(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_var)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta[1] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp3_1;modelica_metatype tmp3_2;
tmp3_1 = _in_txt;
tmp3_2 = _in_a_var;
{
modelica_metatype _txt = NULL;
modelica_metatype _i_var = NULL;
volatile mmc_switch_type tmp3;
int tmp4;
tmp3 = 0;
for (; tmp3 < 2; tmp3++) {
switch (MMC_SWITCH_CAST(tmp3)) {
case 0: {
if (mmc__uniontype__metarecord__typedef__equal(tmp3_2,0,7) == 0) goto tmp2_end;
_i_var = tmp3_2;
_txt = tmp3_1;
_txt = omc_CodegenCFunctions_varType(threadData, _txt, _i_var);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT29);
tmpMeta[0] = omc_CodegenCFunctions_funArgName(threadData, _txt, _i_var);
goto tmp2_done;
}
case 1: {
_txt = tmp3_1;
tmpMeta[0] = omc_CodegenUtil_error(threadData, _txt, omc_Tpl_sourceInfo(threadData, _OMC_LIT27, ((modelica_integer) 974), ((modelica_integer) 14)), _OMC_LIT2569);
goto tmp2_done;
}
}
goto tmp2_end;
tmp2_end: ;
}
goto goto_1;
goto_1:;
MMC_THROW_INTERNAL();
goto tmp2_done;
tmp2_done:;
}
}
_out_txt = tmpMeta[0];
_return: OMC_LABEL_UNUSED
return _out_txt;
}
DLLExport
modelica_metatype omc_CodegenCFunctions_funArgDefinition(threadData_t *threadData, modelica_metatype _txt, modelica_metatype _a_var)
{
modelica_metatype _out_txt = NULL;
modelica_metatype _l_auxFunction = NULL;
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
_l_auxFunction = _OMC_LIT20;
_out_txt = omc_CodegenCFunctions_fun__180(threadData, _txt, _a_var, _l_auxFunction ,&_l_auxFunction);
_return: OMC_LABEL_UNUSED
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__180(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_var, modelica_metatype _in_a_auxFunction, modelica_metatype *out_out_a_auxFunction)
{
modelica_metatype _out_txt = NULL;
modelica_metatype _out_a_auxFunction = NULL;
modelica_metatype tmpMeta[4] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_metatype tmp4_2;modelica_metatype tmp4_3;
tmp4_1 = _in_txt;
tmp4_2 = _in_a_var;
tmp4_3 = _in_a_auxFunction;
{
modelica_metatype _txt = NULL;
modelica_metatype _a_auxFunction = NULL;
modelica_string _i_name_1 = NULL;
modelica_metatype _i_var_instDims = NULL;
modelica_metatype _i_name = NULL;
modelica_metatype _i_var = NULL;
modelica_string _ret_0 = NULL;
volatile mmc_switch_type tmp4;
int tmp5;
tmp4 = 0;
for (; tmp4 < 3; tmp4++) {
switch (MMC_SWITCH_CAST(tmp4)) {
case 0: {
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,0,7) == 0) goto tmp3_end;
tmpMeta[2] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
tmpMeta[3] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 5));
_i_var = tmp4_2;
_i_name = tmpMeta[2];
_i_var_instDims = tmpMeta[3];
_txt = tmp4_1;
_a_auxFunction = tmp4_3;
_txt = omc_CodegenCFunctions_varType(threadData, _txt, _i_var);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT29);
_txt = omc_CodegenCFunctions_contextCrefNoPrevExp(threadData, _txt, _i_name, _OMC_LIT1356, _a_auxFunction ,&_a_auxFunction);
_txt = omc_CodegenCFunctions_fun__179(threadData, _txt, _i_var_instDims);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_auxFunction;
goto tmp3_done;
}
case 1: {
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,1,4) == 0) goto tmp3_end;
tmpMeta[2] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
_i_name_1 = tmpMeta[2];
_txt = tmp4_1;
_a_auxFunction = tmp4_3;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT2181);
_ret_0 = omc_System_unquoteIdentifier(threadData, _i_name_1);
_txt = omc_Tpl_writeStr(threadData, _txt, _ret_0);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_auxFunction;
goto tmp3_done;
}
case 2: {
_txt = tmp4_1;
_a_auxFunction = tmp4_3;
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_auxFunction;
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta[0+0];
_out_a_auxFunction = tmpMeta[0+1];
_return: OMC_LABEL_UNUSED
if (out_out_a_auxFunction) { *out_out_a_auxFunction = _out_a_auxFunction; }
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__179(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_var_instDims)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta[1] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp3_1;modelica_metatype tmp3_2;
tmp3_1 = _in_txt;
tmp3_2 = _in_a_var_instDims;
{
modelica_metatype _txt = NULL;
volatile mmc_switch_type tmp3;
int tmp4;
tmp3 = 0;
for (; tmp3 < 2; tmp3++) {
switch (MMC_SWITCH_CAST(tmp3)) {
case 0: {
if (!listEmpty(tmp3_2)) goto tmp2_end;
_txt = tmp3_1;
tmpMeta[0] = _txt;
goto tmp2_done;
}
case 1: {
_txt = tmp3_1;
tmpMeta[0] = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT2571);
goto tmp2_done;
}
}
goto tmp2_end;
tmp2_end: ;
}
goto goto_1;
goto_1:;
MMC_THROW_INTERNAL();
goto tmp2_done;
tmp2_done:;
}
}
_out_txt = tmpMeta[0];
_return: OMC_LABEL_UNUSED
return _out_txt;
}
DLLExport
modelica_metatype omc_CodegenCFunctions_funArgName(threadData_t *threadData, modelica_metatype _txt, modelica_metatype _a_var)
{
modelica_metatype _out_txt = NULL;
modelica_metatype _l_auxFunction = NULL;
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
_l_auxFunction = _OMC_LIT20;
_out_txt = omc_CodegenCFunctions_fun__177(threadData, _txt, _a_var, _l_auxFunction ,&_l_auxFunction);
_return: OMC_LABEL_UNUSED
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__177(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_var, modelica_metatype _in_a_auxFunction, modelica_metatype *out_out_a_auxFunction)
{
modelica_metatype _out_txt = NULL;
modelica_metatype _out_a_auxFunction = NULL;
modelica_metatype tmpMeta[3] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_metatype tmp4_2;modelica_metatype tmp4_3;
tmp4_1 = _in_txt;
tmp4_2 = _in_a_var;
tmp4_3 = _in_a_auxFunction;
{
modelica_metatype _txt = NULL;
modelica_metatype _a_auxFunction = NULL;
modelica_string _i_name_1 = NULL;
modelica_metatype _i_name = NULL;
modelica_string _ret_0 = NULL;
int tmp4;
{
switch (MMC_SWITCH_CAST(valueConstructor(tmp4_2))) {
case 3: {
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,0,7) == 0) goto tmp3_end;
tmpMeta[2] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
_i_name = tmpMeta[2];
_txt = tmp4_1;
_a_auxFunction = tmp4_3;
tmpMeta[0+0] = omc_CodegenCFunctions_contextCrefNoPrevExp(threadData, _txt, _i_name, _OMC_LIT1356, _a_auxFunction, &tmpMeta[0+1]);
goto tmp3_done;
}
case 4: {
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,1,4) == 0) goto tmp3_end;
tmpMeta[2] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
_i_name_1 = tmpMeta[2];
_txt = tmp4_1;
_a_auxFunction = tmp4_3;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT236);
_ret_0 = omc_System_unquoteIdentifier(threadData, _i_name_1);
_txt = omc_Tpl_writeStr(threadData, _txt, _ret_0);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_auxFunction;
goto tmp3_done;
}
default:
tmp3_default: OMC_LABEL_UNUSED; {
_txt = tmp4_1;
_a_auxFunction = tmp4_3;
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_auxFunction;
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta[0+0];
_out_a_auxFunction = tmpMeta[0+1];
_return: OMC_LABEL_UNUSED
if (out_out_a_auxFunction) { *out_out_a_auxFunction = _out_a_auxFunction; }
return _out_txt;
}
DLLExport
modelica_metatype omc_CodegenCFunctions_functionHeaderKernelFunctionInterfacePrototype(threadData_t *threadData, modelica_metatype _txt, modelica_string _a_fname, modelica_metatype _a_fargs, modelica_metatype _a_outVars)
{
modelica_metatype _out_txt = NULL;
modelica_metatype _l_fargsStr = NULL;
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
_l_fargsStr = omc_Tpl_writeTok(threadData, _OMC_LIT20, _OMC_LIT2573);
_l_fargsStr = omc_CodegenCFunctions_fun__172(threadData, _l_fargsStr, _a_fargs);
_out_txt = omc_CodegenCFunctions_fun__175(threadData, _txt, _a_outVars, _l_fargsStr, _a_fname ,&_l_fargsStr);
_return: OMC_LABEL_UNUSED
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__175(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_outVars, modelica_metatype _in_a_fargsStr, modelica_string _in_a_fname, modelica_metatype *out_out_a_fargsStr)
{
modelica_metatype _out_txt = NULL;
modelica_metatype _out_a_fargsStr = NULL;
modelica_metatype tmpMeta[4] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_metatype tmp4_2;modelica_metatype tmp4_3;modelica_string tmp4_4;
tmp4_1 = _in_txt;
tmp4_2 = _in_a_outVars;
tmp4_3 = _in_a_fargsStr;
tmp4_4 = _in_a_fname;
{
modelica_metatype _txt = NULL;
modelica_metatype _a_fargsStr = NULL;
modelica_string _a_fname = NULL;
modelica_metatype _i_rest = NULL;
modelica_metatype _i_fvar = NULL;
modelica_metatype _l_rettype = NULL;
volatile mmc_switch_type tmp4;
int tmp5;
tmp4 = 0;
for (; tmp4 < 3; tmp4++) {
switch (MMC_SWITCH_CAST(tmp4)) {
case 0: {
if (!listEmpty(tmp4_2)) goto tmp3_end;
_txt = tmp4_1;
_a_fargsStr = tmp4_3;
_a_fname = tmp4_4;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT2575);
_txt = omc_Tpl_writeStr(threadData, _txt, _a_fname);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT68);
_txt = omc_Tpl_writeText(threadData, _txt, _a_fargsStr);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT78);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_fargsStr;
goto tmp3_done;
}
case 1: {
if (listEmpty(tmp4_2)) goto tmp3_end;
tmpMeta[2] = MMC_CAR(tmp4_2);
tmpMeta[3] = MMC_CDR(tmp4_2);
_i_fvar = tmpMeta[2];
_i_rest = tmpMeta[3];
_txt = tmp4_1;
_a_fargsStr = tmp4_3;
_a_fname = tmp4_4;
_l_rettype = omc_CodegenCFunctions_varType(threadData, _OMC_LIT20, _i_fvar);
_a_fargsStr = omc_CodegenCFunctions_fun__174(threadData, _a_fargsStr, _i_rest);
_txt = omc_Tpl_writeText(threadData, _txt, _l_rettype);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT2269);
_txt = omc_Tpl_writeStr(threadData, _txt, _a_fname);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT68);
_txt = omc_Tpl_writeText(threadData, _txt, _a_fargsStr);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT78);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_fargsStr;
goto tmp3_done;
}
case 2: {
_txt = tmp4_1;
_a_fargsStr = tmp4_3;
_txt = omc_CodegenUtil_error(threadData, _txt, omc_Tpl_sourceInfo(threadData, _OMC_LIT27, ((modelica_integer) 949), ((modelica_integer) 13)), _OMC_LIT2576);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_fargsStr;
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta[0+0];
_out_a_fargsStr = tmpMeta[0+1];
_return: OMC_LABEL_UNUSED
if (out_out_a_fargsStr) { *out_out_a_fargsStr = _out_a_fargsStr; }
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__174(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_rest)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta[1] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp3_1;modelica_metatype tmp3_2;
tmp3_1 = _in_txt;
tmp3_2 = _in_a_rest;
{
modelica_metatype _txt = NULL;
modelica_metatype _i_rest = NULL;
volatile mmc_switch_type tmp3;
int tmp4;
tmp3 = 0;
for (; tmp3 < 2; tmp3++) {
switch (MMC_SWITCH_CAST(tmp3)) {
case 0: {
if (!listEmpty(tmp3_2)) goto tmp2_end;
_txt = tmp3_1;
tmpMeta[0] = _txt;
goto tmp2_done;
}
case 1: {
_txt = tmp3_1;
_i_rest = tmp3_2;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT292);
_txt = omc_Tpl_pushIter(threadData, _txt, _OMC_LIT294);
_txt = omc_CodegenCFunctions_lm__173(threadData, _txt, _i_rest);
tmpMeta[0] = omc_Tpl_popIter(threadData, _txt);
goto tmp2_done;
}
}
goto tmp2_end;
tmp2_end: ;
}
goto goto_1;
goto_1:;
MMC_THROW_INTERNAL();
goto tmp2_done;
tmp2_done:;
}
}
_out_txt = tmpMeta[0];
_return: OMC_LABEL_UNUSED
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_lm__173(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_items)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta[3] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp3_1;modelica_metatype tmp3_2;
tmp3_1 = _in_txt;
tmp3_2 = _in_items;
{
modelica_metatype _txt = NULL;
modelica_metatype _rest = NULL;
modelica_metatype _i_var = NULL;
volatile mmc_switch_type tmp3;
int tmp4;
tmp3 = 0;
for (; tmp3 < 2; tmp3++) {
switch (MMC_SWITCH_CAST(tmp3)) {
case 0: {
if (!listEmpty(tmp3_2)) goto tmp2_end;
_txt = tmp3_1;
tmpMeta[0] = _txt;
goto tmp2_done;
}
case 1: {
if (listEmpty(tmp3_2)) goto tmp2_end;
tmpMeta[1] = MMC_CAR(tmp3_2);
tmpMeta[2] = MMC_CDR(tmp3_2);
_i_var = tmpMeta[1];
_rest = tmpMeta[2];
_txt = tmp3_1;
_txt = omc_CodegenCFunctions_tupleOutfunArgDefinitionKernelFunctionInterface(threadData, _txt, _i_var);
_txt = omc_Tpl_nextIter(threadData, _txt);
_in_txt = _txt;
_in_items = _rest;
goto _tailrecursive;
goto tmp2_done;
}
}
goto tmp2_end;
tmp2_end: ;
}
goto goto_1;
goto_1:;
MMC_THROW_INTERNAL();
goto tmp2_done;
tmp2_done:;
}
}
_out_txt = tmpMeta[0];
_return: OMC_LABEL_UNUSED
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__172(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_fargs)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta[1] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp3_1;modelica_metatype tmp3_2;
tmp3_1 = _in_txt;
tmp3_2 = _in_a_fargs;
{
modelica_metatype _txt = NULL;
modelica_metatype _i_fargs = NULL;
volatile mmc_switch_type tmp3;
int tmp4;
tmp3 = 0;
for (; tmp3 < 2; tmp3++) {
switch (MMC_SWITCH_CAST(tmp3)) {
case 0: {
if (!listEmpty(tmp3_2)) goto tmp2_end;
_txt = tmp3_1;
tmpMeta[0] = _txt;
goto tmp2_done;
}
case 1: {
_txt = tmp3_1;
_i_fargs = tmp3_2;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT292);
_txt = omc_Tpl_pushIter(threadData, _txt, _OMC_LIT294);
_txt = omc_CodegenCFunctions_lm__171(threadData, _txt, _i_fargs);
tmpMeta[0] = omc_Tpl_popIter(threadData, _txt);
goto tmp2_done;
}
}
goto tmp2_end;
tmp2_end: ;
}
goto goto_1;
goto_1:;
MMC_THROW_INTERNAL();
goto tmp2_done;
tmp2_done:;
}
}
_out_txt = tmpMeta[0];
_return: OMC_LABEL_UNUSED
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_lm__171(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_items)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta[3] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp3_1;modelica_metatype tmp3_2;
tmp3_1 = _in_txt;
tmp3_2 = _in_items;
{
modelica_metatype _txt = NULL;
modelica_metatype _rest = NULL;
modelica_metatype _i_var = NULL;
volatile mmc_switch_type tmp3;
int tmp4;
tmp3 = 0;
for (; tmp3 < 2; tmp3++) {
switch (MMC_SWITCH_CAST(tmp3)) {
case 0: {
if (!listEmpty(tmp3_2)) goto tmp2_end;
_txt = tmp3_1;
tmpMeta[0] = _txt;
goto tmp2_done;
}
case 1: {
if (listEmpty(tmp3_2)) goto tmp2_end;
tmpMeta[1] = MMC_CAR(tmp3_2);
tmpMeta[2] = MMC_CDR(tmp3_2);
_i_var = tmpMeta[1];
_rest = tmpMeta[2];
_txt = tmp3_1;
_txt = omc_CodegenCFunctions_funArgDefinitionKernelFunctionInterface(threadData, _txt, _i_var);
_txt = omc_Tpl_nextIter(threadData, _txt);
_in_txt = _txt;
_in_items = _rest;
goto _tailrecursive;
goto tmp2_done;
}
}
goto tmp2_end;
tmp2_end: ;
}
goto goto_1;
goto_1:;
MMC_THROW_INTERNAL();
goto tmp2_done;
tmp2_done:;
}
}
_out_txt = tmpMeta[0];
_return: OMC_LABEL_UNUSED
return _out_txt;
}
DLLExport
modelica_metatype omc_CodegenCFunctions_functionHeaderKernelFunctionInterface(threadData_t *threadData, modelica_metatype _txt, modelica_string _a_fname, modelica_metatype _a_fargs, modelica_metatype _a_outVars)
{
modelica_metatype _out_txt = NULL;
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
_out_txt = omc_CodegenCFunctions_functionHeaderKernelFunctionInterfacePrototype(threadData, _txt, _a_fname, _a_fargs, _a_outVars);
_out_txt = omc_Tpl_writeTok(threadData, _out_txt, _OMC_LIT105);
_return: OMC_LABEL_UNUSED
return _out_txt;
}
DLLExport
modelica_metatype omc_CodegenCFunctions_functionPrototype(threadData_t *threadData, modelica_metatype _txt, modelica_string _a_fname, modelica_metatype _a_fargs, modelica_metatype _a_outVars, modelica_boolean _a_boxed, modelica_metatype _a_visibility, modelica_boolean _a_isSimulation, modelica_boolean _a_isPrototype, modelica_metatype _a_afterBody, modelica_metatype *out_out_a_afterBody)
{
modelica_metatype _out_txt = NULL;
modelica_metatype _out_a_afterBody = NULL;
modelica_boolean _ret_11;
modelica_metatype _l_res = NULL;
modelica_boolean _ret_9;
modelica_metatype _l_fn__name__ptr__typedef = NULL;
modelica_boolean _ret_7;
modelica_metatype _l_fn__name__typedef = NULL;
modelica_metatype _l_fn__name__impl = NULL;
modelica_metatype _l_fn__name = NULL;
modelica_metatype _l_boxPtrStr = NULL;
modelica_metatype _l_outarg = NULL;
modelica_metatype _l_fargsStr = NULL;
modelica_metatype _l_static = NULL;
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
_l_static = omc_CodegenCFunctions_fun__151(threadData, _OMC_LIT20, _a_isSimulation, _a_visibility);
_l_fargsStr = omc_CodegenCFunctions_fun__154(threadData, _OMC_LIT20, _a_boxed, _a_fargs);
_l_outarg = omc_CodegenCFunctions_fun__157(threadData, _OMC_LIT20, _a_outVars, _a_boxed);
_l_boxPtrStr = omc_CodegenCFunctions_fun__158(threadData, _OMC_LIT20, _a_boxed);
_l_fn__name = omc_Tpl_writeText(threadData, _OMC_LIT20, _l_boxPtrStr);
_l_fn__name = omc_Tpl_writeTok(threadData, _l_fn__name, _OMC_LIT236);
_l_fn__name = omc_Tpl_writeStr(threadData, _l_fn__name, _a_fname);
_l_fn__name__impl = omc_CodegenCFunctions_fun__159(threadData, _OMC_LIT20, _a_isPrototype, _l_fn__name, _a_fname, _l_boxPtrStr);
_ret_7 = omc_Flags_isSet(threadData, _OMC_LIT604);
_l_fn__name__typedef = omc_CodegenCFunctions_fun__160(threadData, _OMC_LIT20, _ret_7, _a_fname, _l_boxPtrStr, _l_fn__name);
_ret_9 = omc_Flags_isSet(threadData, _OMC_LIT604);
_l_fn__name__ptr__typedef = omc_CodegenCFunctions_fun__162(threadData, _OMC_LIT20, _ret_9, _l_fn__name__typedef, _l_fn__name__impl, _a_isPrototype, _l_fn__name);
_l_res = omc_CodegenCFunctions_fun__166(threadData, _OMC_LIT20, _a_outVars, _l_outarg, _a_boxed, _l_fargsStr, _l_fn__name__ptr__typedef);
_ret_11 = omc_Flags_isSet(threadData, _OMC_LIT604);
_out_txt = omc_CodegenCFunctions_fun__168(threadData, _txt, _ret_11, _l_fn__name__impl, _l_fn__name, _l_fn__name__typedef, _a_afterBody, _a_isPrototype, _l_res, _l_static ,&_out_a_afterBody);
_return: OMC_LABEL_UNUSED
if (out_out_a_afterBody) { *out_out_a_afterBody = _out_a_afterBody; }
return _out_txt;
}
modelica_metatype boxptr_CodegenCFunctions_functionPrototype(threadData_t *threadData, modelica_metatype _txt, modelica_metatype _a_fname, modelica_metatype _a_fargs, modelica_metatype _a_outVars, modelica_metatype _a_boxed, modelica_metatype _a_visibility, modelica_metatype _a_isSimulation, modelica_metatype _a_isPrototype, modelica_metatype _a_afterBody, modelica_metatype *out_out_a_afterBody)
{
modelica_integer tmp1;
modelica_integer tmp2;
modelica_integer tmp3;
modelica_metatype _out_txt = NULL;
tmp1 = mmc_unbox_integer(_a_boxed);
tmp2 = mmc_unbox_integer(_a_isSimulation);
tmp3 = mmc_unbox_integer(_a_isPrototype);
_out_txt = omc_CodegenCFunctions_functionPrototype(threadData, _txt, _a_fname, _a_fargs, _a_outVars, tmp1, _a_visibility, tmp2, tmp3, _a_afterBody, out_out_a_afterBody);
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__168(threadData_t *threadData, modelica_metatype _in_txt, modelica_boolean _in_mArg, modelica_metatype _in_a_fn__name__impl, modelica_metatype _in_a_fn__name, modelica_metatype _in_a_fn__name__typedef, modelica_metatype _in_a_afterBody, modelica_boolean _in_a_isPrototype, modelica_metatype _in_a_res, modelica_metatype _in_a_static, modelica_metatype *out_out_a_afterBody)
{
modelica_metatype _out_txt = NULL;
modelica_metatype _out_a_afterBody = NULL;
modelica_metatype tmpMeta[2] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_boolean tmp4_2;modelica_metatype tmp4_3;modelica_metatype tmp4_4;modelica_metatype tmp4_5;modelica_metatype tmp4_6;modelica_boolean tmp4_7;modelica_metatype tmp4_8;modelica_metatype tmp4_9;
tmp4_1 = _in_txt;
tmp4_2 = _in_mArg;
tmp4_3 = _in_a_fn__name__impl;
tmp4_4 = _in_a_fn__name;
tmp4_5 = _in_a_fn__name__typedef;
tmp4_6 = _in_a_afterBody;
tmp4_7 = _in_a_isPrototype;
tmp4_8 = _in_a_res;
tmp4_9 = _in_a_static;
{
modelica_metatype _txt = NULL;
modelica_metatype _a_fn__name__impl = NULL;
modelica_metatype _a_fn__name = NULL;
modelica_metatype _a_fn__name__typedef = NULL;
modelica_metatype _a_afterBody = NULL;
modelica_boolean _a_isPrototype;
modelica_metatype _a_res = NULL;
modelica_metatype _a_static = NULL;
volatile mmc_switch_type tmp4;
int tmp5;
tmp4 = 0;
for (; tmp4 < 2; tmp4++) {
switch (MMC_SWITCH_CAST(tmp4)) {
case 0: {
if (0 != tmp4_2) goto tmp3_end;
_txt = tmp4_1;
_a_afterBody = tmp4_6;
_a_res = tmp4_8;
_a_static = tmp4_9;
_txt = omc_Tpl_writeText(threadData, _txt, _a_static);
_txt = omc_Tpl_writeText(threadData, _txt, _a_res);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_afterBody;
goto tmp3_done;
}
case 1: {
_txt = tmp4_1;
_a_fn__name__impl = tmp4_3;
_a_fn__name = tmp4_4;
_a_fn__name__typedef = tmp4_5;
_a_afterBody = tmp4_6;
_a_isPrototype = tmp4_7;
_a_res = tmp4_8;
tmpMeta[0+0] = omc_CodegenCFunctions_fun__167(threadData, _txt, _a_isPrototype, _a_res, _a_fn__name__impl, _a_fn__name, _a_fn__name__typedef, _a_afterBody, &tmpMeta[0+1]);
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta[0+0];
_out_a_afterBody = tmpMeta[0+1];
_return: OMC_LABEL_UNUSED
if (out_out_a_afterBody) { *out_out_a_afterBody = _out_a_afterBody; }
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__168(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_mArg, modelica_metatype _in_a_fn__name__impl, modelica_metatype _in_a_fn__name, modelica_metatype _in_a_fn__name__typedef, modelica_metatype _in_a_afterBody, modelica_metatype _in_a_isPrototype, modelica_metatype _in_a_res, modelica_metatype _in_a_static, modelica_metatype *out_out_a_afterBody)
{
modelica_integer tmp1;
modelica_integer tmp2;
modelica_metatype _out_txt = NULL;
tmp1 = mmc_unbox_integer(_in_mArg);
tmp2 = mmc_unbox_integer(_in_a_isPrototype);
_out_txt = omc_CodegenCFunctions_fun__168(threadData, _in_txt, tmp1, _in_a_fn__name__impl, _in_a_fn__name, _in_a_fn__name__typedef, _in_a_afterBody, tmp2, _in_a_res, _in_a_static, out_out_a_afterBody);
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__167(threadData_t *threadData, modelica_metatype _in_txt, modelica_boolean _in_a_isPrototype, modelica_metatype _in_a_res, modelica_metatype _in_a_fn__name__impl, modelica_metatype _in_a_fn__name, modelica_metatype _in_a_fn__name__typedef, modelica_metatype _in_a_afterBody, modelica_metatype *out_out_a_afterBody)
{
modelica_metatype _out_txt = NULL;
modelica_metatype _out_a_afterBody = NULL;
modelica_metatype tmpMeta[2] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_boolean tmp4_2;modelica_metatype tmp4_3;modelica_metatype tmp4_4;modelica_metatype tmp4_5;modelica_metatype tmp4_6;modelica_metatype tmp4_7;
tmp4_1 = _in_txt;
tmp4_2 = _in_a_isPrototype;
tmp4_3 = _in_a_res;
tmp4_4 = _in_a_fn__name__impl;
tmp4_5 = _in_a_fn__name;
tmp4_6 = _in_a_fn__name__typedef;
tmp4_7 = _in_a_afterBody;
{
modelica_metatype _txt = NULL;
modelica_metatype _a_res = NULL;
modelica_metatype _a_fn__name__impl = NULL;
modelica_metatype _a_fn__name = NULL;
modelica_metatype _a_fn__name__typedef = NULL;
modelica_metatype _a_afterBody = NULL;
volatile mmc_switch_type tmp4;
int tmp5;
tmp4 = 0;
for (; tmp4 < 2; tmp4++) {
switch (MMC_SWITCH_CAST(tmp4)) {
case 0: {
if (0 != tmp4_2) goto tmp3_end;
_txt = tmp4_1;
_a_res = tmp4_3;
_a_fn__name__impl = tmp4_4;
_a_fn__name = tmp4_5;
_a_fn__name__typedef = tmp4_6;
_a_afterBody = tmp4_7;
_a_afterBody = omc_Tpl_writeText(threadData, _a_afterBody, _a_fn__name__typedef);
_a_afterBody = omc_Tpl_writeTok(threadData, _a_afterBody, _OMC_LIT29);
_a_afterBody = omc_Tpl_writeText(threadData, _a_afterBody, _a_fn__name);
_a_afterBody = omc_Tpl_writeTok(threadData, _a_afterBody, _OMC_LIT121);
_a_afterBody = omc_Tpl_writeText(threadData, _a_afterBody, _a_fn__name__impl);
_a_afterBody = omc_Tpl_writeTok(threadData, _a_afterBody, _OMC_LIT105);
_txt = omc_Tpl_writeText(threadData, _txt, _a_res);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_afterBody;
goto tmp3_done;
}
case 1: {
_txt = tmp4_1;
_a_res = tmp4_3;
_a_fn__name = tmp4_5;
_a_fn__name__typedef = tmp4_6;
_a_afterBody = tmp4_7;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT2495);
_txt = omc_Tpl_writeText(threadData, _txt, _a_res);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT161);
_txt = omc_Tpl_writeText(threadData, _txt, _a_fn__name__typedef);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT29);
_txt = omc_Tpl_writeText(threadData, _txt, _a_fn__name);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_afterBody;
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta[0+0];
_out_a_afterBody = tmpMeta[0+1];
_return: OMC_LABEL_UNUSED
if (out_out_a_afterBody) { *out_out_a_afterBody = _out_a_afterBody; }
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__167(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_isPrototype, modelica_metatype _in_a_res, modelica_metatype _in_a_fn__name__impl, modelica_metatype _in_a_fn__name, modelica_metatype _in_a_fn__name__typedef, modelica_metatype _in_a_afterBody, modelica_metatype *out_out_a_afterBody)
{
modelica_integer tmp1;
modelica_metatype _out_txt = NULL;
tmp1 = mmc_unbox_integer(_in_a_isPrototype);
_out_txt = omc_CodegenCFunctions_fun__167(threadData, _in_txt, tmp1, _in_a_res, _in_a_fn__name__impl, _in_a_fn__name, _in_a_fn__name__typedef, _in_a_afterBody, out_out_a_afterBody);
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__166(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_outVars, modelica_metatype _in_a_outarg, modelica_boolean _in_a_boxed, modelica_metatype _in_a_fargsStr, modelica_metatype _in_a_fn__name__ptr__typedef)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta[1] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp3_1;modelica_metatype tmp3_2;modelica_metatype tmp3_3;modelica_boolean tmp3_4;modelica_metatype tmp3_5;modelica_metatype tmp3_6;
tmp3_1 = _in_txt;
tmp3_2 = _in_a_outVars;
tmp3_3 = _in_a_outarg;
tmp3_4 = _in_a_boxed;
tmp3_5 = _in_a_fargsStr;
tmp3_6 = _in_a_fn__name__ptr__typedef;
{
modelica_metatype _txt = NULL;
modelica_metatype _a_outarg = NULL;
modelica_boolean _a_boxed;
modelica_metatype _a_fargsStr = NULL;
modelica_metatype _a_fn__name__ptr__typedef = NULL;
modelica_metatype _i_outVars = NULL;
modelica_metatype _ret_1 = NULL;
modelica_metatype _l_outargs = NULL;
volatile mmc_switch_type tmp3;
int tmp4;
tmp3 = 0;
for (; tmp3 < 2; tmp3++) {
switch (MMC_SWITCH_CAST(tmp3)) {
case 0: {
if (!listEmpty(tmp3_2)) goto tmp2_end;
_txt = tmp3_1;
_a_fargsStr = tmp3_5;
_a_fn__name__ptr__typedef = tmp3_6;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT2578);
_txt = omc_Tpl_writeText(threadData, _txt, _a_fn__name__ptr__typedef);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT2243);
_txt = omc_Tpl_writeText(threadData, _txt, _a_fargsStr);
tmpMeta[0] = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT78);
goto tmp2_done;
}
case 1: {
_txt = tmp3_1;
_i_outVars = tmp3_2;
_a_outarg = tmp3_3;
_a_boxed = tmp3_4;
_a_fargsStr = tmp3_5;
_a_fn__name__ptr__typedef = tmp3_6;
_ret_1 = omc_List_rest(threadData, _i_outVars);
_l_outargs = omc_CodegenCFunctions_lm__165(threadData, _OMC_LIT20, _ret_1, _a_boxed);
_txt = omc_Tpl_writeText(threadData, _txt, _a_outarg);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT29);
_txt = omc_Tpl_writeText(threadData, _txt, _a_fn__name__ptr__typedef);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT2243);
_txt = omc_Tpl_writeText(threadData, _txt, _a_fargsStr);
_txt = omc_Tpl_writeText(threadData, _txt, _l_outargs);
tmpMeta[0] = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT78);
goto tmp2_done;
}
}
goto tmp2_end;
tmp2_end: ;
}
goto goto_1;
goto_1:;
MMC_THROW_INTERNAL();
goto tmp2_done;
tmp2_done:;
}
}
_out_txt = tmpMeta[0];
_return: OMC_LABEL_UNUSED
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__166(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_outVars, modelica_metatype _in_a_outarg, modelica_metatype _in_a_boxed, modelica_metatype _in_a_fargsStr, modelica_metatype _in_a_fn__name__ptr__typedef)
{
modelica_integer tmp1;
modelica_metatype _out_txt = NULL;
tmp1 = mmc_unbox_integer(_in_a_boxed);
_out_txt = omc_CodegenCFunctions_fun__166(threadData, _in_txt, _in_a_outVars, _in_a_outarg, tmp1, _in_a_fargsStr, _in_a_fn__name__ptr__typedef);
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_lm__165(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_items, modelica_boolean _in_a_boxed)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta[3] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp3_1;modelica_metatype tmp3_2;modelica_boolean tmp3_3;
tmp3_1 = _in_txt;
tmp3_2 = _in_items;
tmp3_3 = _in_a_boxed;
{
modelica_metatype _txt = NULL;
modelica_metatype _rest = NULL;
modelica_boolean _a_boxed;
modelica_metatype _i_var = NULL;
volatile mmc_switch_type tmp3;
int tmp4;
tmp3 = 0;
for (; tmp3 < 2; tmp3++) {
switch (MMC_SWITCH_CAST(tmp3)) {
case 0: {
if (!listEmpty(tmp3_2)) goto tmp2_end;
_txt = tmp3_1;
tmpMeta[0] = _txt;
goto tmp2_done;
}
case 1: {
if (listEmpty(tmp3_2)) goto tmp2_end;
tmpMeta[1] = MMC_CAR(tmp3_2);
tmpMeta[2] = MMC_CDR(tmp3_2);
_i_var = tmpMeta[1];
_rest = tmpMeta[2];
_txt = tmp3_1;
_a_boxed = tmp3_3;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT292);
_txt = omc_CodegenCFunctions_fun__164(threadData, _txt, _i_var, _a_boxed);
_in_txt = _txt;
_in_items = _rest;
_in_a_boxed = _a_boxed;
goto _tailrecursive;
goto tmp2_done;
}
}
goto tmp2_end;
tmp2_end: ;
}
goto goto_1;
goto_1:;
MMC_THROW_INTERNAL();
goto tmp2_done;
tmp2_done:;
}
}
_out_txt = tmpMeta[0];
_return: OMC_LABEL_UNUSED
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_lm__165(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_items, modelica_metatype _in_a_boxed)
{
modelica_integer tmp1;
modelica_metatype _out_txt = NULL;
tmp1 = mmc_unbox_integer(_in_a_boxed);
_out_txt = omc_CodegenCFunctions_lm__165(threadData, _in_txt, _in_items, tmp1);
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__164(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_var, modelica_boolean _in_a_boxed)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta[1] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp3_1;modelica_metatype tmp3_2;modelica_boolean tmp3_3;
tmp3_1 = _in_txt;
tmp3_2 = _in_a_var;
tmp3_3 = _in_a_boxed;
{
modelica_metatype _txt = NULL;
modelica_boolean _a_boxed;
modelica_metatype _i_var = NULL;
volatile mmc_switch_type tmp3;
int tmp4;
tmp3 = 0;
for (; tmp3 < 3; tmp3++) {
switch (MMC_SWITCH_CAST(tmp3)) {
case 0: {
if (mmc__uniontype__metarecord__typedef__equal(tmp3_2,0,7) == 0) goto tmp2_end;
_i_var = tmp3_2;
_txt = tmp3_1;
_a_boxed = tmp3_3;
_txt = omc_CodegenCFunctions_fun__163(threadData, _txt, _a_boxed, _i_var);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT2567);
tmpMeta[0] = omc_CodegenCFunctions_funArgName(threadData, _txt, _i_var);
goto tmp2_done;
}
case 1: {
if (mmc__uniontype__metarecord__typedef__equal(tmp3_2,1,4) == 0) goto tmp2_end;
_i_var = tmp3_2;
_txt = tmp3_1;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT2580);
tmpMeta[0] = omc_CodegenCFunctions_funArgName(threadData, _txt, _i_var);
goto tmp2_done;
}
case 2: {
_txt = tmp3_1;
tmpMeta[0] = _txt;
goto tmp2_done;
}
}
goto tmp2_end;
tmp2_end: ;
}
goto goto_1;
goto_1:;
MMC_THROW_INTERNAL();
goto tmp2_done;
tmp2_done:;
}
}
_out_txt = tmpMeta[0];
_return: OMC_LABEL_UNUSED
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__164(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_var, modelica_metatype _in_a_boxed)
{
modelica_integer tmp1;
modelica_metatype _out_txt = NULL;
tmp1 = mmc_unbox_integer(_in_a_boxed);
_out_txt = omc_CodegenCFunctions_fun__164(threadData, _in_txt, _in_a_var, tmp1);
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__163(threadData_t *threadData, modelica_metatype _in_txt, modelica_boolean _in_a_boxed, modelica_metatype _in_a_var)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta[1] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp3_1;modelica_boolean tmp3_2;modelica_metatype tmp3_3;
tmp3_1 = _in_txt;
tmp3_2 = _in_a_boxed;
tmp3_3 = _in_a_var;
{
modelica_metatype _txt = NULL;
modelica_metatype _a_var = NULL;
volatile mmc_switch_type tmp3;
int tmp4;
tmp3 = 0;
for (; tmp3 < 2; tmp3++) {
switch (MMC_SWITCH_CAST(tmp3)) {
case 0: {
if (0 != tmp3_2) goto tmp2_end;
_txt = tmp3_1;
_a_var = tmp3_3;
tmpMeta[0] = omc_CodegenCFunctions_varType(threadData, _txt, _a_var);
goto tmp2_done;
}
case 1: {
_txt = tmp3_1;
_a_var = tmp3_3;
tmpMeta[0] = omc_CodegenCFunctions_varTypeBoxed(threadData, _txt, _a_var);
goto tmp2_done;
}
}
goto tmp2_end;
tmp2_end: ;
}
goto goto_1;
goto_1:;
MMC_THROW_INTERNAL();
goto tmp2_done;
tmp2_done:;
}
}
_out_txt = tmpMeta[0];
_return: OMC_LABEL_UNUSED
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__163(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_boxed, modelica_metatype _in_a_var)
{
modelica_integer tmp1;
modelica_metatype _out_txt = NULL;
tmp1 = mmc_unbox_integer(_in_a_boxed);
_out_txt = omc_CodegenCFunctions_fun__163(threadData, _in_txt, tmp1, _in_a_var);
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__162(threadData_t *threadData, modelica_metatype _in_txt, modelica_boolean _in_mArg, modelica_metatype _in_a_fn__name__typedef, modelica_metatype _in_a_fn__name__impl, modelica_boolean _in_a_isPrototype, modelica_metatype _in_a_fn__name)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta[1] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp3_1;modelica_boolean tmp3_2;modelica_metatype tmp3_3;modelica_metatype tmp3_4;modelica_boolean tmp3_5;modelica_metatype tmp3_6;
tmp3_1 = _in_txt;
tmp3_2 = _in_mArg;
tmp3_3 = _in_a_fn__name__typedef;
tmp3_4 = _in_a_fn__name__impl;
tmp3_5 = _in_a_isPrototype;
tmp3_6 = _in_a_fn__name;
{
modelica_metatype _txt = NULL;
modelica_metatype _a_fn__name__typedef = NULL;
modelica_metatype _a_fn__name__impl = NULL;
modelica_boolean _a_isPrototype;
modelica_metatype _a_fn__name = NULL;
volatile mmc_switch_type tmp3;
int tmp4;
tmp3 = 0;
for (; tmp3 < 2; tmp3++) {
switch (MMC_SWITCH_CAST(tmp3)) {
case 0: {
if (0 != tmp3_2) goto tmp2_end;
_txt = tmp3_1;
_a_fn__name = tmp3_6;
tmpMeta[0] = omc_Tpl_writeText(threadData, _txt, _a_fn__name);
goto tmp2_done;
}
case 1: {
_txt = tmp3_1;
_a_fn__name__typedef = tmp3_3;
_a_fn__name__impl = tmp3_4;
_a_isPrototype = tmp3_5;
tmpMeta[0] = omc_CodegenCFunctions_fun__161(threadData, _txt, _a_isPrototype, _a_fn__name__typedef, _a_fn__name__impl);
goto tmp2_done;
}
}
goto tmp2_end;
tmp2_end: ;
}
goto goto_1;
goto_1:;
MMC_THROW_INTERNAL();
goto tmp2_done;
tmp2_done:;
}
}
_out_txt = tmpMeta[0];
_return: OMC_LABEL_UNUSED
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__162(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_mArg, modelica_metatype _in_a_fn__name__typedef, modelica_metatype _in_a_fn__name__impl, modelica_metatype _in_a_isPrototype, modelica_metatype _in_a_fn__name)
{
modelica_integer tmp1;
modelica_integer tmp2;
modelica_metatype _out_txt = NULL;
tmp1 = mmc_unbox_integer(_in_mArg);
tmp2 = mmc_unbox_integer(_in_a_isPrototype);
_out_txt = omc_CodegenCFunctions_fun__162(threadData, _in_txt, tmp1, _in_a_fn__name__typedef, _in_a_fn__name__impl, tmp2, _in_a_fn__name);
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__161(threadData_t *threadData, modelica_metatype _in_txt, modelica_boolean _in_a_isPrototype, modelica_metatype _in_a_fn__name__typedef, modelica_metatype _in_a_fn__name__impl)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta[1] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp3_1;modelica_boolean tmp3_2;modelica_metatype tmp3_3;modelica_metatype tmp3_4;
tmp3_1 = _in_txt;
tmp3_2 = _in_a_isPrototype;
tmp3_3 = _in_a_fn__name__typedef;
tmp3_4 = _in_a_fn__name__impl;
{
modelica_metatype _txt = NULL;
modelica_metatype _a_fn__name__typedef = NULL;
modelica_metatype _a_fn__name__impl = NULL;
volatile mmc_switch_type tmp3;
int tmp4;
tmp3 = 0;
for (; tmp3 < 2; tmp3++) {
switch (MMC_SWITCH_CAST(tmp3)) {
case 0: {
if (0 != tmp3_2) goto tmp2_end;
_txt = tmp3_1;
_a_fn__name__impl = tmp3_4;
tmpMeta[0] = omc_Tpl_writeText(threadData, _txt, _a_fn__name__impl);
goto tmp2_done;
}
case 1: {
_txt = tmp3_1;
_a_fn__name__typedef = tmp3_3;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1246);
_txt = omc_Tpl_writeText(threadData, _txt, _a_fn__name__typedef);
tmpMeta[0] = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT78);
goto tmp2_done;
}
}
goto tmp2_end;
tmp2_end: ;
}
goto goto_1;
goto_1:;
MMC_THROW_INTERNAL();
goto tmp2_done;
tmp2_done:;
}
}
_out_txt = tmpMeta[0];
_return: OMC_LABEL_UNUSED
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__161(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_isPrototype, modelica_metatype _in_a_fn__name__typedef, modelica_metatype _in_a_fn__name__impl)
{
modelica_integer tmp1;
modelica_metatype _out_txt = NULL;
tmp1 = mmc_unbox_integer(_in_a_isPrototype);
_out_txt = omc_CodegenCFunctions_fun__161(threadData, _in_txt, tmp1, _in_a_fn__name__typedef, _in_a_fn__name__impl);
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__160(threadData_t *threadData, modelica_metatype _in_txt, modelica_boolean _in_mArg, modelica_string _in_a_fname, modelica_metatype _in_a_boxPtrStr, modelica_metatype _in_a_fn__name)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta[1] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp3_1;modelica_boolean tmp3_2;modelica_string tmp3_3;modelica_metatype tmp3_4;modelica_metatype tmp3_5;
tmp3_1 = _in_txt;
tmp3_2 = _in_mArg;
tmp3_3 = _in_a_fname;
tmp3_4 = _in_a_boxPtrStr;
tmp3_5 = _in_a_fn__name;
{
modelica_metatype _txt = NULL;
modelica_string _a_fname = NULL;
modelica_metatype _a_boxPtrStr = NULL;
modelica_metatype _a_fn__name = NULL;
volatile mmc_switch_type tmp3;
int tmp4;
tmp3 = 0;
for (; tmp3 < 2; tmp3++) {
switch (MMC_SWITCH_CAST(tmp3)) {
case 0: {
if (0 != tmp3_2) goto tmp2_end;
_txt = tmp3_1;
_a_fn__name = tmp3_5;
tmpMeta[0] = omc_Tpl_writeText(threadData, _txt, _a_fn__name);
goto tmp2_done;
}
case 1: {
_txt = tmp3_1;
_a_fname = tmp3_3;
_a_boxPtrStr = tmp3_4;
_txt = omc_Tpl_writeText(threadData, _txt, _a_boxPtrStr);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT2582);
tmpMeta[0] = omc_Tpl_writeStr(threadData, _txt, _a_fname);
goto tmp2_done;
}
}
goto tmp2_end;
tmp2_end: ;
}
goto goto_1;
goto_1:;
MMC_THROW_INTERNAL();
goto tmp2_done;
tmp2_done:;
}
}
_out_txt = tmpMeta[0];
_return: OMC_LABEL_UNUSED
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__160(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_mArg, modelica_metatype _in_a_fname, modelica_metatype _in_a_boxPtrStr, modelica_metatype _in_a_fn__name)
{
modelica_integer tmp1;
modelica_metatype _out_txt = NULL;
tmp1 = mmc_unbox_integer(_in_mArg);
_out_txt = omc_CodegenCFunctions_fun__160(threadData, _in_txt, tmp1, _in_a_fname, _in_a_boxPtrStr, _in_a_fn__name);
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__159(threadData_t *threadData, modelica_metatype _in_txt, modelica_boolean _in_a_isPrototype, modelica_metatype _in_a_fn__name, modelica_string _in_a_fname, modelica_metatype _in_a_boxPtrStr)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta[1] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp3_1;modelica_boolean tmp3_2;modelica_metatype tmp3_3;modelica_string tmp3_4;modelica_metatype tmp3_5;
tmp3_1 = _in_txt;
tmp3_2 = _in_a_isPrototype;
tmp3_3 = _in_a_fn__name;
tmp3_4 = _in_a_fname;
tmp3_5 = _in_a_boxPtrStr;
{
modelica_metatype _txt = NULL;
modelica_metatype _a_fn__name = NULL;
modelica_string _a_fname = NULL;
modelica_metatype _a_boxPtrStr = NULL;
volatile mmc_switch_type tmp3;
int tmp4;
tmp3 = 0;
for (; tmp3 < 2; tmp3++) {
switch (MMC_SWITCH_CAST(tmp3)) {
case 0: {
if (0 != tmp3_2) goto tmp2_end;
_txt = tmp3_1;
_a_fname = tmp3_4;
_a_boxPtrStr = tmp3_5;
_txt = omc_Tpl_writeText(threadData, _txt, _a_boxPtrStr);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT2584);
tmpMeta[0] = omc_Tpl_writeStr(threadData, _txt, _a_fname);
goto tmp2_done;
}
case 1: {
_txt = tmp3_1;
_a_fn__name = tmp3_3;
tmpMeta[0] = omc_Tpl_writeText(threadData, _txt, _a_fn__name);
goto tmp2_done;
}
}
goto tmp2_end;
tmp2_end: ;
}
goto goto_1;
goto_1:;
MMC_THROW_INTERNAL();
goto tmp2_done;
tmp2_done:;
}
}
_out_txt = tmpMeta[0];
_return: OMC_LABEL_UNUSED
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__159(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_isPrototype, modelica_metatype _in_a_fn__name, modelica_metatype _in_a_fname, modelica_metatype _in_a_boxPtrStr)
{
modelica_integer tmp1;
modelica_metatype _out_txt = NULL;
tmp1 = mmc_unbox_integer(_in_a_isPrototype);
_out_txt = omc_CodegenCFunctions_fun__159(threadData, _in_txt, tmp1, _in_a_fn__name, _in_a_fname, _in_a_boxPtrStr);
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__158(threadData_t *threadData, modelica_metatype _in_txt, modelica_boolean _in_a_boxed)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta[1] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp3_1;modelica_boolean tmp3_2;
tmp3_1 = _in_txt;
tmp3_2 = _in_a_boxed;
{
modelica_metatype _txt = NULL;
volatile mmc_switch_type tmp3;
int tmp4;
tmp3 = 0;
for (; tmp3 < 2; tmp3++) {
switch (MMC_SWITCH_CAST(tmp3)) {
case 0: {
if (0 != tmp3_2) goto tmp2_end;
_txt = tmp3_1;
tmpMeta[0] = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT2586);
goto tmp2_done;
}
case 1: {
_txt = tmp3_1;
tmpMeta[0] = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT2588);
goto tmp2_done;
}
}
goto tmp2_end;
tmp2_end: ;
}
goto goto_1;
goto_1:;
MMC_THROW_INTERNAL();
goto tmp2_done;
tmp2_done:;
}
}
_out_txt = tmpMeta[0];
_return: OMC_LABEL_UNUSED
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__158(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_boxed)
{
modelica_integer tmp1;
modelica_metatype _out_txt = NULL;
tmp1 = mmc_unbox_integer(_in_a_boxed);
_out_txt = omc_CodegenCFunctions_fun__158(threadData, _in_txt, tmp1);
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__157(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_outVars, modelica_boolean _in_a_boxed)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta[3] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp3_1;modelica_metatype tmp3_2;modelica_boolean tmp3_3;
tmp3_1 = _in_txt;
tmp3_2 = _in_a_outVars;
tmp3_3 = _in_a_boxed;
{
modelica_metatype _txt = NULL;
modelica_boolean _a_boxed;
modelica_metatype _i_var = NULL;
volatile mmc_switch_type tmp3;
int tmp4;
tmp3 = 0;
for (; tmp3 < 2; tmp3++) {
switch (MMC_SWITCH_CAST(tmp3)) {
case 0: {
if (listEmpty(tmp3_2)) goto tmp2_end;
tmpMeta[1] = MMC_CAR(tmp3_2);
tmpMeta[2] = MMC_CDR(tmp3_2);
_i_var = tmpMeta[1];
_txt = tmp3_1;
_a_boxed = tmp3_3;
tmpMeta[0] = omc_CodegenCFunctions_fun__156(threadData, _txt, _i_var, _a_boxed);
goto tmp2_done;
}
case 1: {
_txt = tmp3_1;
tmpMeta[0] = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT610);
goto tmp2_done;
}
}
goto tmp2_end;
tmp2_end: ;
}
goto goto_1;
goto_1:;
MMC_THROW_INTERNAL();
goto tmp2_done;
tmp2_done:;
}
}
_out_txt = tmpMeta[0];
_return: OMC_LABEL_UNUSED
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__157(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_outVars, modelica_metatype _in_a_boxed)
{
modelica_integer tmp1;
modelica_metatype _out_txt = NULL;
tmp1 = mmc_unbox_integer(_in_a_boxed);
_out_txt = omc_CodegenCFunctions_fun__157(threadData, _in_txt, _in_a_outVars, tmp1);
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__156(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_var, modelica_boolean _in_a_boxed)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta[1] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp3_1;modelica_metatype tmp3_2;modelica_boolean tmp3_3;
tmp3_1 = _in_txt;
tmp3_2 = _in_a_var;
tmp3_3 = _in_a_boxed;
{
modelica_metatype _txt = NULL;
modelica_boolean _a_boxed;
modelica_metatype _i_var = NULL;
volatile mmc_switch_type tmp3;
int tmp4;
tmp3 = 0;
for (; tmp3 < 3; tmp3++) {
switch (MMC_SWITCH_CAST(tmp3)) {
case 0: {
if (mmc__uniontype__metarecord__typedef__equal(tmp3_2,0,7) == 0) goto tmp2_end;
_i_var = tmp3_2;
_txt = tmp3_1;
_a_boxed = tmp3_3;
tmpMeta[0] = omc_CodegenCFunctions_fun__155(threadData, _txt, _a_boxed, _i_var);
goto tmp2_done;
}
case 1: {
if (mmc__uniontype__metarecord__typedef__equal(tmp3_2,1,4) == 0) goto tmp2_end;
_txt = tmp3_1;
tmpMeta[0] = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1627);
goto tmp2_done;
}
case 2: {
_txt = tmp3_1;
tmpMeta[0] = _txt;
goto tmp2_done;
}
}
goto tmp2_end;
tmp2_end: ;
}
goto goto_1;
goto_1:;
MMC_THROW_INTERNAL();
goto tmp2_done;
tmp2_done:;
}
}
_out_txt = tmpMeta[0];
_return: OMC_LABEL_UNUSED
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__156(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_var, modelica_metatype _in_a_boxed)
{
modelica_integer tmp1;
modelica_metatype _out_txt = NULL;
tmp1 = mmc_unbox_integer(_in_a_boxed);
_out_txt = omc_CodegenCFunctions_fun__156(threadData, _in_txt, _in_a_var, tmp1);
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__155(threadData_t *threadData, modelica_metatype _in_txt, modelica_boolean _in_a_boxed, modelica_metatype _in_a_var)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta[1] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp3_1;modelica_boolean tmp3_2;modelica_metatype tmp3_3;
tmp3_1 = _in_txt;
tmp3_2 = _in_a_boxed;
tmp3_3 = _in_a_var;
{
modelica_metatype _txt = NULL;
modelica_metatype _a_var = NULL;
volatile mmc_switch_type tmp3;
int tmp4;
tmp3 = 0;
for (; tmp3 < 2; tmp3++) {
switch (MMC_SWITCH_CAST(tmp3)) {
case 0: {
if (0 != tmp3_2) goto tmp2_end;
_txt = tmp3_1;
_a_var = tmp3_3;
tmpMeta[0] = omc_CodegenCFunctions_varType(threadData, _txt, _a_var);
goto tmp2_done;
}
case 1: {
_txt = tmp3_1;
_a_var = tmp3_3;
tmpMeta[0] = omc_CodegenCFunctions_varTypeBoxed(threadData, _txt, _a_var);
goto tmp2_done;
}
}
goto tmp2_end;
tmp2_end: ;
}
goto goto_1;
goto_1:;
MMC_THROW_INTERNAL();
goto tmp2_done;
tmp2_done:;
}
}
_out_txt = tmpMeta[0];
_return: OMC_LABEL_UNUSED
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__155(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_boxed, modelica_metatype _in_a_var)
{
modelica_integer tmp1;
modelica_metatype _out_txt = NULL;
tmp1 = mmc_unbox_integer(_in_a_boxed);
_out_txt = omc_CodegenCFunctions_fun__155(threadData, _in_txt, tmp1, _in_a_var);
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__154(threadData_t *threadData, modelica_metatype _in_txt, modelica_boolean _in_a_boxed, modelica_metatype _in_a_fargs)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta[1] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp3_1;modelica_boolean tmp3_2;modelica_metatype tmp3_3;
tmp3_1 = _in_txt;
tmp3_2 = _in_a_boxed;
tmp3_3 = _in_a_fargs;
{
modelica_metatype _txt = NULL;
modelica_metatype _a_fargs = NULL;
volatile mmc_switch_type tmp3;
int tmp4;
tmp3 = 0;
for (; tmp3 < 2; tmp3++) {
switch (MMC_SWITCH_CAST(tmp3)) {
case 0: {
if (0 != tmp3_2) goto tmp2_end;
_txt = tmp3_1;
_a_fargs = tmp3_3;
tmpMeta[0] = omc_CodegenCFunctions_lm__152(threadData, _txt, _a_fargs);
goto tmp2_done;
}
case 1: {
_txt = tmp3_1;
_a_fargs = tmp3_3;
tmpMeta[0] = omc_CodegenCFunctions_lm__153(threadData, _txt, _a_fargs);
goto tmp2_done;
}
}
goto tmp2_end;
tmp2_end: ;
}
goto goto_1;
goto_1:;
MMC_THROW_INTERNAL();
goto tmp2_done;
tmp2_done:;
}
}
_out_txt = tmpMeta[0];
_return: OMC_LABEL_UNUSED
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__154(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_boxed, modelica_metatype _in_a_fargs)
{
modelica_integer tmp1;
modelica_metatype _out_txt = NULL;
tmp1 = mmc_unbox_integer(_in_a_boxed);
_out_txt = omc_CodegenCFunctions_fun__154(threadData, _in_txt, tmp1, _in_a_fargs);
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_lm__153(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_items)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta[3] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp3_1;modelica_metatype tmp3_2;
tmp3_1 = _in_txt;
tmp3_2 = _in_items;
{
modelica_metatype _txt = NULL;
modelica_metatype _rest = NULL;
modelica_metatype _i_var = NULL;
volatile mmc_switch_type tmp3;
int tmp4;
tmp3 = 0;
for (; tmp3 < 2; tmp3++) {
switch (MMC_SWITCH_CAST(tmp3)) {
case 0: {
if (!listEmpty(tmp3_2)) goto tmp2_end;
_txt = tmp3_1;
tmpMeta[0] = _txt;
goto tmp2_done;
}
case 1: {
if (listEmpty(tmp3_2)) goto tmp2_end;
tmpMeta[1] = MMC_CAR(tmp3_2);
tmpMeta[2] = MMC_CDR(tmp3_2);
_i_var = tmpMeta[1];
_rest = tmpMeta[2];
_txt = tmp3_1;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT292);
_txt = omc_CodegenCFunctions_funArgBoxedDefinition(threadData, _txt, _i_var);
_in_txt = _txt;
_in_items = _rest;
goto _tailrecursive;
goto tmp2_done;
}
}
goto tmp2_end;
tmp2_end: ;
}
goto goto_1;
goto_1:;
MMC_THROW_INTERNAL();
goto tmp2_done;
tmp2_done:;
}
}
_out_txt = tmpMeta[0];
_return: OMC_LABEL_UNUSED
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_lm__152(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_items)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta[3] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp3_1;modelica_metatype tmp3_2;
tmp3_1 = _in_txt;
tmp3_2 = _in_items;
{
modelica_metatype _txt = NULL;
modelica_metatype _rest = NULL;
modelica_metatype _i_var = NULL;
volatile mmc_switch_type tmp3;
int tmp4;
tmp3 = 0;
for (; tmp3 < 2; tmp3++) {
switch (MMC_SWITCH_CAST(tmp3)) {
case 0: {
if (!listEmpty(tmp3_2)) goto tmp2_end;
_txt = tmp3_1;
tmpMeta[0] = _txt;
goto tmp2_done;
}
case 1: {
if (listEmpty(tmp3_2)) goto tmp2_end;
tmpMeta[1] = MMC_CAR(tmp3_2);
tmpMeta[2] = MMC_CDR(tmp3_2);
_i_var = tmpMeta[1];
_rest = tmpMeta[2];
_txt = tmp3_1;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT292);
_txt = omc_CodegenCFunctions_funArgDefinition(threadData, _txt, _i_var);
_in_txt = _txt;
_in_items = _rest;
goto _tailrecursive;
goto tmp2_done;
}
}
goto tmp2_end;
tmp2_end: ;
}
goto goto_1;
goto_1:;
MMC_THROW_INTERNAL();
goto tmp2_done;
tmp2_done:;
}
}
_out_txt = tmpMeta[0];
_return: OMC_LABEL_UNUSED
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__151(threadData_t *threadData, modelica_metatype _in_txt, modelica_boolean _in_a_isSimulation, modelica_metatype _in_a_visibility)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta[1] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp3_1;modelica_boolean tmp3_2;modelica_metatype tmp3_3;
tmp3_1 = _in_txt;
tmp3_2 = _in_a_isSimulation;
tmp3_3 = _in_a_visibility;
{
modelica_metatype _txt = NULL;
modelica_metatype _a_visibility = NULL;
volatile mmc_switch_type tmp3;
int tmp4;
tmp3 = 0;
for (; tmp3 < 2; tmp3++) {
switch (MMC_SWITCH_CAST(tmp3)) {
case 0: {
if (0 != tmp3_2) goto tmp2_end;
_txt = tmp3_1;
_a_visibility = tmp3_3;
tmpMeta[0] = omc_CodegenCFunctions_fun__150(threadData, _txt, _a_visibility);
goto tmp2_done;
}
case 1: {
_txt = tmp3_1;
tmpMeta[0] = _txt;
goto tmp2_done;
}
}
goto tmp2_end;
tmp2_end: ;
}
goto goto_1;
goto_1:;
MMC_THROW_INTERNAL();
goto tmp2_done;
tmp2_done:;
}
}
_out_txt = tmpMeta[0];
_return: OMC_LABEL_UNUSED
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__151(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_isSimulation, modelica_metatype _in_a_visibility)
{
modelica_integer tmp1;
modelica_metatype _out_txt = NULL;
tmp1 = mmc_unbox_integer(_in_a_isSimulation);
_out_txt = omc_CodegenCFunctions_fun__151(threadData, _in_txt, tmp1, _in_a_visibility);
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__150(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_visibility)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta[1] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp3_1;modelica_metatype tmp3_2;
tmp3_1 = _in_txt;
tmp3_2 = _in_a_visibility;
{
modelica_metatype _txt = NULL;
volatile mmc_switch_type tmp3;
int tmp4;
tmp3 = 0;
for (; tmp3 < 2; tmp3++) {
switch (MMC_SWITCH_CAST(tmp3)) {
case 0: {
if (mmc__uniontype__metarecord__typedef__equal(tmp3_2,1,0) == 0) goto tmp2_end;
_txt = tmp3_1;
tmpMeta[0] = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT2255);
goto tmp2_done;
}
case 1: {
_txt = tmp3_1;
tmpMeta[0] = _txt;
goto tmp2_done;
}
}
goto tmp2_end;
tmp2_end: ;
}
goto goto_1;
goto_1:;
MMC_THROW_INTERNAL();
goto tmp2_done;
tmp2_done:;
}
}
_out_txt = tmpMeta[0];
_return: OMC_LABEL_UNUSED
return _out_txt;
}
DLLExport
modelica_metatype omc_CodegenCFunctions_functionHeaderImpl(threadData_t *threadData, modelica_metatype _txt, modelica_string _a_fname, modelica_metatype _a_fargs, modelica_metatype _a_outVars, modelica_boolean _a_inFunc, modelica_boolean _a_boxed, modelica_metatype _a_visibility, modelica_boolean _a_dynamicLoad, modelica_boolean _a_isSimulation, modelica_metatype _a_staticPrototypes, modelica_metatype *out_out_a_staticPrototypes)
{
modelica_metatype _out_txt = NULL;
modelica_metatype _out_a_staticPrototypes = NULL;
modelica_boolean _ret_3;
modelica_metatype _l_inFnStr = NULL;
modelica_metatype _l_prototype = NULL;
modelica_metatype _l_dummy = NULL;
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
_l_dummy = _OMC_LIT20;
_l_prototype = omc_CodegenCFunctions_functionPrototype(threadData, _OMC_LIT20, _a_fname, _a_fargs, _a_outVars, _a_boxed, _a_visibility, _a_isSimulation, 1, _l_dummy ,&_l_dummy);
_ret_3 = (_a_boxed && _a_inFunc);
_l_inFnStr = omc_CodegenCFunctions_fun__143(threadData, _OMC_LIT20, _ret_3, _a_fname);
_out_txt = omc_CodegenCFunctions_fun__148(threadData, _txt, _a_visibility, _l_inFnStr, _l_prototype, _a_dynamicLoad, _a_staticPrototypes, _a_isSimulation ,&_out_a_staticPrototypes);
_return: OMC_LABEL_UNUSED
if (out_out_a_staticPrototypes) { *out_out_a_staticPrototypes = _out_a_staticPrototypes; }
return _out_txt;
}
modelica_metatype boxptr_CodegenCFunctions_functionHeaderImpl(threadData_t *threadData, modelica_metatype _txt, modelica_metatype _a_fname, modelica_metatype _a_fargs, modelica_metatype _a_outVars, modelica_metatype _a_inFunc, modelica_metatype _a_boxed, modelica_metatype _a_visibility, modelica_metatype _a_dynamicLoad, modelica_metatype _a_isSimulation, modelica_metatype _a_staticPrototypes, modelica_metatype *out_out_a_staticPrototypes)
{
modelica_integer tmp1;
modelica_integer tmp2;
modelica_integer tmp3;
modelica_integer tmp4;
modelica_metatype _out_txt = NULL;
tmp1 = mmc_unbox_integer(_a_inFunc);
tmp2 = mmc_unbox_integer(_a_boxed);
tmp3 = mmc_unbox_integer(_a_dynamicLoad);
tmp4 = mmc_unbox_integer(_a_isSimulation);
_out_txt = omc_CodegenCFunctions_functionHeaderImpl(threadData, _txt, _a_fname, _a_fargs, _a_outVars, tmp1, tmp2, _a_visibility, tmp3, tmp4, _a_staticPrototypes, out_out_a_staticPrototypes);
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__148(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_visibility, modelica_metatype _in_a_inFnStr, modelica_metatype _in_a_prototype, modelica_boolean _in_a_dynamicLoad, modelica_metatype _in_a_staticPrototypes, modelica_boolean _in_a_isSimulation, modelica_metatype *out_out_a_staticPrototypes)
{
modelica_metatype _out_txt = NULL;
modelica_metatype _out_a_staticPrototypes = NULL;
modelica_metatype tmpMeta[2] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_metatype tmp4_2;modelica_metatype tmp4_3;modelica_metatype tmp4_4;modelica_boolean tmp4_5;modelica_metatype tmp4_6;modelica_boolean tmp4_7;
tmp4_1 = _in_txt;
tmp4_2 = _in_a_visibility;
tmp4_3 = _in_a_inFnStr;
tmp4_4 = _in_a_prototype;
tmp4_5 = _in_a_dynamicLoad;
tmp4_6 = _in_a_staticPrototypes;
tmp4_7 = _in_a_isSimulation;
{
modelica_metatype _txt = NULL;
modelica_metatype _a_inFnStr = NULL;
modelica_metatype _a_prototype = NULL;
modelica_boolean _a_dynamicLoad;
modelica_metatype _a_staticPrototypes = NULL;
modelica_boolean _a_isSimulation;
modelica_boolean _ret_1;
modelica_boolean _ret_0;
volatile mmc_switch_type tmp4;
int tmp5;
tmp4 = 0;
for (; tmp4 < 2; tmp4++) {
switch (MMC_SWITCH_CAST(tmp4)) {
case 0: {
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,1,0) == 0) goto tmp3_end;
_txt = tmp4_1;
_a_inFnStr = tmp4_3;
_a_prototype = tmp4_4;
_a_dynamicLoad = tmp4_5;
_a_staticPrototypes = tmp4_6;
_a_isSimulation = tmp4_7;
_ret_0 = omc_Flags_isSet(threadData, _OMC_LIT604);
_ret_1 = (_a_isSimulation || _ret_0);
tmpMeta[0+0] = omc_CodegenCFunctions_fun__146(threadData, _txt, _ret_1, _a_inFnStr, _a_prototype, _a_dynamicLoad, _a_staticPrototypes, &tmpMeta[0+1]);
goto tmp3_done;
}
case 1: {
_txt = tmp4_1;
_a_inFnStr = tmp4_3;
_a_prototype = tmp4_4;
_a_dynamicLoad = tmp4_5;
_a_staticPrototypes = tmp4_6;
_txt = omc_Tpl_writeText(threadData, _txt, _a_inFnStr);
_txt = omc_Tpl_softNewLine(threadData, _txt);
_txt = omc_CodegenCFunctions_fun__147(threadData, _txt, _a_dynamicLoad, _a_prototype);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_staticPrototypes;
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta[0+0];
_out_a_staticPrototypes = tmpMeta[0+1];
_return: OMC_LABEL_UNUSED
if (out_out_a_staticPrototypes) { *out_out_a_staticPrototypes = _out_a_staticPrototypes; }
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__148(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_visibility, modelica_metatype _in_a_inFnStr, modelica_metatype _in_a_prototype, modelica_metatype _in_a_dynamicLoad, modelica_metatype _in_a_staticPrototypes, modelica_metatype _in_a_isSimulation, modelica_metatype *out_out_a_staticPrototypes)
{
modelica_integer tmp1;
modelica_integer tmp2;
modelica_metatype _out_txt = NULL;
tmp1 = mmc_unbox_integer(_in_a_dynamicLoad);
tmp2 = mmc_unbox_integer(_in_a_isSimulation);
_out_txt = omc_CodegenCFunctions_fun__148(threadData, _in_txt, _in_a_visibility, _in_a_inFnStr, _in_a_prototype, tmp1, _in_a_staticPrototypes, tmp2, out_out_a_staticPrototypes);
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__147(threadData_t *threadData, modelica_metatype _in_txt, modelica_boolean _in_a_dynamicLoad, modelica_metatype _in_a_prototype)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta[1] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp3_1;modelica_boolean tmp3_2;modelica_metatype tmp3_3;
tmp3_1 = _in_txt;
tmp3_2 = _in_a_dynamicLoad;
tmp3_3 = _in_a_prototype;
{
modelica_metatype _txt = NULL;
modelica_metatype _a_prototype = NULL;
volatile mmc_switch_type tmp3;
int tmp4;
tmp3 = 0;
for (; tmp3 < 2; tmp3++) {
switch (MMC_SWITCH_CAST(tmp3)) {
case 0: {
if (0 != tmp3_2) goto tmp2_end;
_txt = tmp3_1;
_a_prototype = tmp3_3;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT2468);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT89);
_txt = omc_Tpl_writeText(threadData, _txt, _a_prototype);
tmpMeta[0] = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT105);
goto tmp2_done;
}
case 1: {
_txt = tmp3_1;
tmpMeta[0] = _txt;
goto tmp2_done;
}
}
goto tmp2_end;
tmp2_end: ;
}
goto goto_1;
goto_1:;
MMC_THROW_INTERNAL();
goto tmp2_done;
tmp2_done:;
}
}
_out_txt = tmpMeta[0];
_return: OMC_LABEL_UNUSED
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__147(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_dynamicLoad, modelica_metatype _in_a_prototype)
{
modelica_integer tmp1;
modelica_metatype _out_txt = NULL;
tmp1 = mmc_unbox_integer(_in_a_dynamicLoad);
_out_txt = omc_CodegenCFunctions_fun__147(threadData, _in_txt, tmp1, _in_a_prototype);
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__146(threadData_t *threadData, modelica_metatype _in_txt, modelica_boolean _in_mArg, modelica_metatype _in_a_inFnStr, modelica_metatype _in_a_prototype, modelica_boolean _in_a_dynamicLoad, modelica_metatype _in_a_staticPrototypes, modelica_metatype *out_out_a_staticPrototypes)
{
modelica_metatype _out_txt = NULL;
modelica_metatype _out_a_staticPrototypes = NULL;
modelica_metatype tmpMeta[2] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_boolean tmp4_2;modelica_metatype tmp4_3;modelica_metatype tmp4_4;modelica_boolean tmp4_5;modelica_metatype tmp4_6;
tmp4_1 = _in_txt;
tmp4_2 = _in_mArg;
tmp4_3 = _in_a_inFnStr;
tmp4_4 = _in_a_prototype;
tmp4_5 = _in_a_dynamicLoad;
tmp4_6 = _in_a_staticPrototypes;
{
modelica_metatype _txt = NULL;
modelica_metatype _a_inFnStr = NULL;
modelica_metatype _a_prototype = NULL;
modelica_boolean _a_dynamicLoad;
modelica_metatype _a_staticPrototypes = NULL;
volatile mmc_switch_type tmp4;
int tmp5;
tmp4 = 0;
for (; tmp4 < 2; tmp4++) {
switch (MMC_SWITCH_CAST(tmp4)) {
case 0: {
if (0 != tmp4_2) goto tmp3_end;
_txt = tmp4_1;
_a_inFnStr = tmp4_3;
_a_prototype = tmp4_4;
_a_dynamicLoad = tmp4_5;
_a_staticPrototypes = tmp4_6;
_a_staticPrototypes = omc_CodegenCFunctions_fun__144(threadData, _a_staticPrototypes, _a_dynamicLoad, _a_prototype);
_txt = omc_Tpl_writeText(threadData, _txt, _a_inFnStr);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_staticPrototypes;
goto tmp3_done;
}
case 1: {
_txt = tmp4_1;
_a_prototype = tmp4_4;
_a_dynamicLoad = tmp4_5;
_a_staticPrototypes = tmp4_6;
_txt = omc_CodegenCFunctions_fun__145(threadData, _txt, _a_dynamicLoad, _a_prototype);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_staticPrototypes;
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta[0+0];
_out_a_staticPrototypes = tmpMeta[0+1];
_return: OMC_LABEL_UNUSED
if (out_out_a_staticPrototypes) { *out_out_a_staticPrototypes = _out_a_staticPrototypes; }
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__146(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_mArg, modelica_metatype _in_a_inFnStr, modelica_metatype _in_a_prototype, modelica_metatype _in_a_dynamicLoad, modelica_metatype _in_a_staticPrototypes, modelica_metatype *out_out_a_staticPrototypes)
{
modelica_integer tmp1;
modelica_integer tmp2;
modelica_metatype _out_txt = NULL;
tmp1 = mmc_unbox_integer(_in_mArg);
tmp2 = mmc_unbox_integer(_in_a_dynamicLoad);
_out_txt = omc_CodegenCFunctions_fun__146(threadData, _in_txt, tmp1, _in_a_inFnStr, _in_a_prototype, tmp2, _in_a_staticPrototypes, out_out_a_staticPrototypes);
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__145(threadData_t *threadData, modelica_metatype _in_txt, modelica_boolean _in_a_dynamicLoad, modelica_metatype _in_a_prototype)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta[1] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp3_1;modelica_boolean tmp3_2;modelica_metatype tmp3_3;
tmp3_1 = _in_txt;
tmp3_2 = _in_a_dynamicLoad;
tmp3_3 = _in_a_prototype;
{
modelica_metatype _txt = NULL;
modelica_metatype _a_prototype = NULL;
volatile mmc_switch_type tmp3;
int tmp4;
tmp3 = 0;
for (; tmp3 < 2; tmp3++) {
switch (MMC_SWITCH_CAST(tmp3)) {
case 0: {
if (0 != tmp3_2) goto tmp2_end;
_txt = tmp3_1;
_a_prototype = tmp3_3;
_txt = omc_Tpl_writeText(threadData, _txt, _a_prototype);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT105);
tmpMeta[0] = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT89);
goto tmp2_done;
}
case 1: {
_txt = tmp3_1;
tmpMeta[0] = _txt;
goto tmp2_done;
}
}
goto tmp2_end;
tmp2_end: ;
}
goto goto_1;
goto_1:;
MMC_THROW_INTERNAL();
goto tmp2_done;
tmp2_done:;
}
}
_out_txt = tmpMeta[0];
_return: OMC_LABEL_UNUSED
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__145(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_dynamicLoad, modelica_metatype _in_a_prototype)
{
modelica_integer tmp1;
modelica_metatype _out_txt = NULL;
tmp1 = mmc_unbox_integer(_in_a_dynamicLoad);
_out_txt = omc_CodegenCFunctions_fun__145(threadData, _in_txt, tmp1, _in_a_prototype);
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__144(threadData_t *threadData, modelica_metatype _in_txt, modelica_boolean _in_a_dynamicLoad, modelica_metatype _in_a_prototype)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta[1] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp3_1;modelica_boolean tmp3_2;modelica_metatype tmp3_3;
tmp3_1 = _in_txt;
tmp3_2 = _in_a_dynamicLoad;
tmp3_3 = _in_a_prototype;
{
modelica_metatype _txt = NULL;
modelica_metatype _a_prototype = NULL;
volatile mmc_switch_type tmp3;
int tmp4;
tmp3 = 0;
for (; tmp3 < 2; tmp3++) {
switch (MMC_SWITCH_CAST(tmp3)) {
case 0: {
if (0 != tmp3_2) goto tmp2_end;
_txt = tmp3_1;
_a_prototype = tmp3_3;
_txt = omc_Tpl_writeText(threadData, _txt, _a_prototype);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT105);
tmpMeta[0] = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT89);
goto tmp2_done;
}
case 1: {
_txt = tmp3_1;
tmpMeta[0] = _txt;
goto tmp2_done;
}
}
goto tmp2_end;
tmp2_end: ;
}
goto goto_1;
goto_1:;
MMC_THROW_INTERNAL();
goto tmp2_done;
tmp2_done:;
}
}
_out_txt = tmpMeta[0];
_return: OMC_LABEL_UNUSED
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__144(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_dynamicLoad, modelica_metatype _in_a_prototype)
{
modelica_integer tmp1;
modelica_metatype _out_txt = NULL;
tmp1 = mmc_unbox_integer(_in_a_dynamicLoad);
_out_txt = omc_CodegenCFunctions_fun__144(threadData, _in_txt, tmp1, _in_a_prototype);
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__143(threadData_t *threadData, modelica_metatype _in_txt, modelica_boolean _in_mArg, modelica_string _in_a_fname)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta[1] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp3_1;modelica_boolean tmp3_2;modelica_string tmp3_3;
tmp3_1 = _in_txt;
tmp3_2 = _in_mArg;
tmp3_3 = _in_a_fname;
{
modelica_metatype _txt = NULL;
modelica_string _a_fname = NULL;
volatile mmc_switch_type tmp3;
int tmp4;
tmp3 = 0;
for (; tmp3 < 2; tmp3++) {
switch (MMC_SWITCH_CAST(tmp3)) {
case 0: {
if (0 != tmp3_2) goto tmp2_end;
_txt = tmp3_1;
tmpMeta[0] = _txt;
goto tmp2_done;
}
case 1: {
_txt = tmp3_1;
_a_fname = tmp3_3;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT2380);
_txt = omc_Tpl_writeStr(threadData, _txt, _a_fname);
tmpMeta[0] = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT2590);
goto tmp2_done;
}
}
goto tmp2_end;
tmp2_end: ;
}
goto goto_1;
goto_1:;
MMC_THROW_INTERNAL();
goto tmp2_done;
tmp2_done:;
}
}
_out_txt = tmpMeta[0];
_return: OMC_LABEL_UNUSED
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__143(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_mArg, modelica_metatype _in_a_fname)
{
modelica_integer tmp1;
modelica_metatype _out_txt = NULL;
tmp1 = mmc_unbox_integer(_in_mArg);
_out_txt = omc_CodegenCFunctions_fun__143(threadData, _in_txt, tmp1, _in_a_fname);
return _out_txt;
}
DLLExport
modelica_metatype omc_CodegenCFunctions_functionHeaderBoxed(threadData_t *threadData, modelica_metatype _txt, modelica_string _a_fname, modelica_metatype _a_fargs, modelica_metatype _a_outVars, modelica_boolean _a_inFunc, modelica_boolean _a_isBoxed, modelica_metatype _a_visibility, modelica_boolean _a_dynLoad, modelica_boolean _a_isSimulation, modelica_metatype _a_staticPrototypes, modelica_metatype *out_out_a_staticPrototypes)
{
modelica_metatype _out_txt = NULL;
modelica_metatype _out_a_staticPrototypes = NULL;
modelica_boolean _ret_1;
modelica_metatype _l_boxvar = NULL;
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
_l_boxvar = omc_Tpl_writeTok(threadData, _OMC_LIT20, _OMC_LIT2592);
_l_boxvar = omc_Tpl_writeStr(threadData, _l_boxvar, _a_fname);
_l_boxvar = omc_Tpl_writeTok(threadData, _l_boxvar, _OMC_LIT2594);
_ret_1 = omc_Flags_isSet(threadData, _OMC_LIT604);
_l_boxvar = omc_CodegenCFunctions_fun__137(threadData, _l_boxvar, _ret_1);
_l_boxvar = omc_Tpl_writeTok(threadData, _l_boxvar, _OMC_LIT971);
_l_boxvar = omc_Tpl_writeStr(threadData, _l_boxvar, _a_fname);
_l_boxvar = omc_Tpl_writeTok(threadData, _l_boxvar, _OMC_LIT2599);
_l_boxvar = omc_Tpl_writeStr(threadData, _l_boxvar, _a_fname);
_l_boxvar = omc_Tpl_writeTok(threadData, _l_boxvar, _OMC_LIT2601);
_l_boxvar = omc_Tpl_writeStr(threadData, _l_boxvar, _a_fname);
_l_boxvar = omc_Tpl_writeTok(threadData, _l_boxvar, _OMC_LIT78);
_l_boxvar = omc_Tpl_writeTok(threadData, _l_boxvar, _OMC_LIT89);
_out_txt = omc_CodegenCFunctions_fun__138(threadData, _txt, _a_isBoxed, _a_staticPrototypes, _a_isSimulation, _a_dynLoad, _a_visibility, _a_inFunc, _a_outVars, _a_fargs, _a_fname ,&_out_a_staticPrototypes);
_out_txt = omc_Tpl_softNewLine(threadData, _out_txt);
_out_txt = omc_CodegenCFunctions_fun__141(threadData, _out_txt, _a_visibility, _l_boxvar, _a_isSimulation, _out_a_staticPrototypes ,&_out_a_staticPrototypes);
_return: OMC_LABEL_UNUSED
if (out_out_a_staticPrototypes) { *out_out_a_staticPrototypes = _out_a_staticPrototypes; }
return _out_txt;
}
modelica_metatype boxptr_CodegenCFunctions_functionHeaderBoxed(threadData_t *threadData, modelica_metatype _txt, modelica_metatype _a_fname, modelica_metatype _a_fargs, modelica_metatype _a_outVars, modelica_metatype _a_inFunc, modelica_metatype _a_isBoxed, modelica_metatype _a_visibility, modelica_metatype _a_dynLoad, modelica_metatype _a_isSimulation, modelica_metatype _a_staticPrototypes, modelica_metatype *out_out_a_staticPrototypes)
{
modelica_integer tmp1;
modelica_integer tmp2;
modelica_integer tmp3;
modelica_integer tmp4;
modelica_metatype _out_txt = NULL;
tmp1 = mmc_unbox_integer(_a_inFunc);
tmp2 = mmc_unbox_integer(_a_isBoxed);
tmp3 = mmc_unbox_integer(_a_dynLoad);
tmp4 = mmc_unbox_integer(_a_isSimulation);
_out_txt = omc_CodegenCFunctions_functionHeaderBoxed(threadData, _txt, _a_fname, _a_fargs, _a_outVars, tmp1, tmp2, _a_visibility, tmp3, tmp4, _a_staticPrototypes, out_out_a_staticPrototypes);
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__141(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_visibility, modelica_metatype _in_a_boxvar, modelica_boolean _in_a_isSimulation, modelica_metatype _in_a_staticPrototypes, modelica_metatype *out_out_a_staticPrototypes)
{
modelica_metatype _out_txt = NULL;
modelica_metatype _out_a_staticPrototypes = NULL;
modelica_metatype tmpMeta[2] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_metatype tmp4_2;modelica_metatype tmp4_3;modelica_boolean tmp4_4;modelica_metatype tmp4_5;
tmp4_1 = _in_txt;
tmp4_2 = _in_a_visibility;
tmp4_3 = _in_a_boxvar;
tmp4_4 = _in_a_isSimulation;
tmp4_5 = _in_a_staticPrototypes;
{
modelica_metatype _txt = NULL;
modelica_metatype _a_boxvar = NULL;
modelica_boolean _a_isSimulation;
modelica_metatype _a_staticPrototypes = NULL;
modelica_boolean _ret_3;
modelica_boolean _ret_2;
modelica_boolean _ret_1;
modelica_boolean _ret_0;
volatile mmc_switch_type tmp4;
int tmp5;
tmp4 = 0;
for (; tmp4 < 2; tmp4++) {
switch (MMC_SWITCH_CAST(tmp4)) {
case 0: {
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,1,0) == 0) goto tmp3_end;
_txt = tmp4_1;
_a_boxvar = tmp4_3;
_a_isSimulation = tmp4_4;
_a_staticPrototypes = tmp4_5;
_ret_0 = omc_Flags_isSet(threadData, _OMC_LIT604);
_ret_1 = (_a_isSimulation || _ret_0);
_a_staticPrototypes = omc_CodegenCFunctions_fun__139(threadData, _a_staticPrototypes, _ret_1, _a_boxvar);
_ret_2 = omc_Flags_isSet(threadData, _OMC_LIT604);
_ret_3 = (_a_isSimulation || _ret_2);
_txt = omc_CodegenCFunctions_fun__140(threadData, _txt, _ret_3, _a_boxvar);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_staticPrototypes;
goto tmp3_done;
}
case 1: {
_txt = tmp4_1;
_a_boxvar = tmp4_3;
_a_staticPrototypes = tmp4_5;
_txt = omc_Tpl_writeText(threadData, _txt, _a_boxvar);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_staticPrototypes;
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta[0+0];
_out_a_staticPrototypes = tmpMeta[0+1];
_return: OMC_LABEL_UNUSED
if (out_out_a_staticPrototypes) { *out_out_a_staticPrototypes = _out_a_staticPrototypes; }
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__141(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_visibility, modelica_metatype _in_a_boxvar, modelica_metatype _in_a_isSimulation, modelica_metatype _in_a_staticPrototypes, modelica_metatype *out_out_a_staticPrototypes)
{
modelica_integer tmp1;
modelica_metatype _out_txt = NULL;
tmp1 = mmc_unbox_integer(_in_a_isSimulation);
_out_txt = omc_CodegenCFunctions_fun__141(threadData, _in_txt, _in_a_visibility, _in_a_boxvar, tmp1, _in_a_staticPrototypes, out_out_a_staticPrototypes);
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__140(threadData_t *threadData, modelica_metatype _in_txt, modelica_boolean _in_mArg, modelica_metatype _in_a_boxvar)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta[1] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp3_1;modelica_boolean tmp3_2;modelica_metatype tmp3_3;
tmp3_1 = _in_txt;
tmp3_2 = _in_mArg;
tmp3_3 = _in_a_boxvar;
{
modelica_metatype _txt = NULL;
modelica_metatype _a_boxvar = NULL;
volatile mmc_switch_type tmp3;
int tmp4;
tmp3 = 0;
for (; tmp3 < 2; tmp3++) {
switch (MMC_SWITCH_CAST(tmp3)) {
case 0: {
if (0 != tmp3_2) goto tmp2_end;
_txt = tmp3_1;
tmpMeta[0] = _txt;
goto tmp2_done;
}
case 1: {
_txt = tmp3_1;
_a_boxvar = tmp3_3;
_txt = omc_Tpl_writeText(threadData, _txt, _a_boxvar);
tmpMeta[0] = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT2603);
goto tmp2_done;
}
}
goto tmp2_end;
tmp2_end: ;
}
goto goto_1;
goto_1:;
MMC_THROW_INTERNAL();
goto tmp2_done;
tmp2_done:;
}
}
_out_txt = tmpMeta[0];
_return: OMC_LABEL_UNUSED
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__140(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_mArg, modelica_metatype _in_a_boxvar)
{
modelica_integer tmp1;
modelica_metatype _out_txt = NULL;
tmp1 = mmc_unbox_integer(_in_mArg);
_out_txt = omc_CodegenCFunctions_fun__140(threadData, _in_txt, tmp1, _in_a_boxvar);
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__139(threadData_t *threadData, modelica_metatype _in_txt, modelica_boolean _in_mArg, modelica_metatype _in_a_boxvar)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta[1] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp3_1;modelica_boolean tmp3_2;modelica_metatype tmp3_3;
tmp3_1 = _in_txt;
tmp3_2 = _in_mArg;
tmp3_3 = _in_a_boxvar;
{
modelica_metatype _txt = NULL;
modelica_metatype _a_boxvar = NULL;
volatile mmc_switch_type tmp3;
int tmp4;
tmp3 = 0;
for (; tmp3 < 2; tmp3++) {
switch (MMC_SWITCH_CAST(tmp3)) {
case 0: {
if (0 != tmp3_2) goto tmp2_end;
_txt = tmp3_1;
_a_boxvar = tmp3_3;
tmpMeta[0] = omc_Tpl_writeText(threadData, _txt, _a_boxvar);
goto tmp2_done;
}
case 1: {
_txt = tmp3_1;
tmpMeta[0] = _txt;
goto tmp2_done;
}
}
goto tmp2_end;
tmp2_end: ;
}
goto goto_1;
goto_1:;
MMC_THROW_INTERNAL();
goto tmp2_done;
tmp2_done:;
}
}
_out_txt = tmpMeta[0];
_return: OMC_LABEL_UNUSED
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__139(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_mArg, modelica_metatype _in_a_boxvar)
{
modelica_integer tmp1;
modelica_metatype _out_txt = NULL;
tmp1 = mmc_unbox_integer(_in_mArg);
_out_txt = omc_CodegenCFunctions_fun__139(threadData, _in_txt, tmp1, _in_a_boxvar);
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__138(threadData_t *threadData, modelica_metatype _in_txt, modelica_boolean _in_a_isBoxed, modelica_metatype _in_a_staticPrototypes, modelica_boolean _in_a_isSimulation, modelica_boolean _in_a_dynLoad, modelica_metatype _in_a_visibility, modelica_boolean _in_a_inFunc, modelica_metatype _in_a_outVars, modelica_metatype _in_a_fargs, modelica_string _in_a_fname, modelica_metatype *out_out_a_staticPrototypes)
{
modelica_metatype _out_txt = NULL;
modelica_metatype _out_a_staticPrototypes = NULL;
modelica_metatype tmpMeta[2] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_boolean tmp4_2;modelica_metatype tmp4_3;modelica_boolean tmp4_4;modelica_boolean tmp4_5;modelica_metatype tmp4_6;modelica_boolean tmp4_7;modelica_metatype tmp4_8;modelica_metatype tmp4_9;modelica_string tmp4_10;
tmp4_1 = _in_txt;
tmp4_2 = _in_a_isBoxed;
tmp4_3 = _in_a_staticPrototypes;
tmp4_4 = _in_a_isSimulation;
tmp4_5 = _in_a_dynLoad;
tmp4_6 = _in_a_visibility;
tmp4_7 = _in_a_inFunc;
tmp4_8 = _in_a_outVars;
tmp4_9 = _in_a_fargs;
tmp4_10 = _in_a_fname;
{
modelica_metatype _txt = NULL;
modelica_metatype _a_staticPrototypes = NULL;
modelica_boolean _a_isSimulation;
modelica_boolean _a_dynLoad;
modelica_metatype _a_visibility = NULL;
modelica_boolean _a_inFunc;
modelica_metatype _a_outVars = NULL;
modelica_metatype _a_fargs = NULL;
modelica_string _a_fname = NULL;
volatile mmc_switch_type tmp4;
int tmp5;
tmp4 = 0;
for (; tmp4 < 2; tmp4++) {
switch (MMC_SWITCH_CAST(tmp4)) {
case 0: {
if (0 != tmp4_2) goto tmp3_end;
_txt = tmp4_1;
_a_staticPrototypes = tmp4_3;
_a_isSimulation = tmp4_4;
_a_dynLoad = tmp4_5;
_a_visibility = tmp4_6;
_a_inFunc = tmp4_7;
_a_outVars = tmp4_8;
_a_fargs = tmp4_9;
_a_fname = tmp4_10;
tmpMeta[0+0] = omc_CodegenCFunctions_functionHeaderImpl(threadData, _txt, _a_fname, _a_fargs, _a_outVars, _a_inFunc, 1, _a_visibility, _a_dynLoad, _a_isSimulation, _a_staticPrototypes, &tmpMeta[0+1]);
goto tmp3_done;
}
case 1: {
_txt = tmp4_1;
_a_staticPrototypes = tmp4_3;
_a_fname = tmp4_10;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT2605);
_txt = omc_Tpl_writeStr(threadData, _txt, _a_fname);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT2269);
_txt = omc_Tpl_writeStr(threadData, _txt, _a_fname);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT89);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_staticPrototypes;
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta[0+0];
_out_a_staticPrototypes = tmpMeta[0+1];
_return: OMC_LABEL_UNUSED
if (out_out_a_staticPrototypes) { *out_out_a_staticPrototypes = _out_a_staticPrototypes; }
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__138(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_isBoxed, modelica_metatype _in_a_staticPrototypes, modelica_metatype _in_a_isSimulation, modelica_metatype _in_a_dynLoad, modelica_metatype _in_a_visibility, modelica_metatype _in_a_inFunc, modelica_metatype _in_a_outVars, modelica_metatype _in_a_fargs, modelica_metatype _in_a_fname, modelica_metatype *out_out_a_staticPrototypes)
{
modelica_integer tmp1;
modelica_integer tmp2;
modelica_integer tmp3;
modelica_integer tmp4;
modelica_metatype _out_txt = NULL;
tmp1 = mmc_unbox_integer(_in_a_isBoxed);
tmp2 = mmc_unbox_integer(_in_a_isSimulation);
tmp3 = mmc_unbox_integer(_in_a_dynLoad);
tmp4 = mmc_unbox_integer(_in_a_inFunc);
_out_txt = omc_CodegenCFunctions_fun__138(threadData, _in_txt, tmp1, _in_a_staticPrototypes, tmp2, tmp3, _in_a_visibility, tmp4, _in_a_outVars, _in_a_fargs, _in_a_fname, out_out_a_staticPrototypes);
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__137(threadData_t *threadData, modelica_metatype _in_txt, modelica_boolean _in_mArg)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta[1] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp3_1;modelica_boolean tmp3_2;
tmp3_1 = _in_txt;
tmp3_2 = _in_mArg;
{
modelica_metatype _txt = NULL;
volatile mmc_switch_type tmp3;
int tmp4;
tmp3 = 0;
for (; tmp3 < 2; tmp3++) {
switch (MMC_SWITCH_CAST(tmp3)) {
case 0: {
if (0 != tmp3_2) goto tmp2_end;
_txt = tmp3_1;
tmpMeta[0] = _txt;
goto tmp2_done;
}
case 1: {
_txt = tmp3_1;
tmpMeta[0] = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT582);
goto tmp2_done;
}
}
goto tmp2_end;
tmp2_end: ;
}
goto goto_1;
goto_1:;
MMC_THROW_INTERNAL();
goto tmp2_done;
tmp2_done:;
}
}
_out_txt = tmpMeta[0];
_return: OMC_LABEL_UNUSED
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__137(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_mArg)
{
modelica_integer tmp1;
modelica_metatype _out_txt = NULL;
tmp1 = mmc_unbox_integer(_in_mArg);
_out_txt = omc_CodegenCFunctions_fun__137(threadData, _in_txt, tmp1);
return _out_txt;
}
DLLExport
modelica_metatype omc_CodegenCFunctions_functionHeaderNormal(threadData_t *threadData, modelica_metatype _txt, modelica_string _a_fname, modelica_metatype _a_fargs, modelica_metatype _a_outVars, modelica_boolean _a_inFunc, modelica_metatype _a_visibility, modelica_boolean _a_dynLoad, modelica_boolean _a_isSimulation, modelica_metatype _a_staticPrototypes, modelica_metatype *out_out_a_staticPrototypes)
{
modelica_metatype _out_txt = NULL;
modelica_metatype _out_a_staticPrototypes = NULL;
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
_out_txt = omc_CodegenCFunctions_functionHeaderImpl(threadData, _txt, _a_fname, _a_fargs, _a_outVars, _a_inFunc, 0, _a_visibility, _a_dynLoad, _a_isSimulation, _a_staticPrototypes ,&_out_a_staticPrototypes);
_return: OMC_LABEL_UNUSED
if (out_out_a_staticPrototypes) { *out_out_a_staticPrototypes = _out_a_staticPrototypes; }
return _out_txt;
}
modelica_metatype boxptr_CodegenCFunctions_functionHeaderNormal(threadData_t *threadData, modelica_metatype _txt, modelica_metatype _a_fname, modelica_metatype _a_fargs, modelica_metatype _a_outVars, modelica_metatype _a_inFunc, modelica_metatype _a_visibility, modelica_metatype _a_dynLoad, modelica_metatype _a_isSimulation, modelica_metatype _a_staticPrototypes, modelica_metatype *out_out_a_staticPrototypes)
{
modelica_integer tmp1;
modelica_integer tmp2;
modelica_integer tmp3;
modelica_metatype _out_txt = NULL;
tmp1 = mmc_unbox_integer(_a_inFunc);
tmp2 = mmc_unbox_integer(_a_dynLoad);
tmp3 = mmc_unbox_integer(_a_isSimulation);
_out_txt = omc_CodegenCFunctions_functionHeaderNormal(threadData, _txt, _a_fname, _a_fargs, _a_outVars, tmp1, _a_visibility, tmp2, tmp3, _a_staticPrototypes, out_out_a_staticPrototypes);
return _out_txt;
}
DLLExport
modelica_metatype omc_CodegenCFunctions_recordDefinitionHeader(threadData_t *threadData, modelica_metatype _txt, modelica_string _a_origName, modelica_string _a_encName, modelica_integer _a_numFields)
{
modelica_metatype _out_txt = NULL;
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
_out_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT2607);
_out_txt = omc_Tpl_writeStr(threadData, _out_txt, _a_encName);
_out_txt = omc_Tpl_writeTok(threadData, _out_txt, _OMC_LIT2609);
_return: OMC_LABEL_UNUSED
return _out_txt;
}
modelica_metatype boxptr_CodegenCFunctions_recordDefinitionHeader(threadData_t *threadData, modelica_metatype _txt, modelica_metatype _a_origName, modelica_metatype _a_encName, modelica_metatype _a_numFields)
{
modelica_integer tmp1;
modelica_metatype _out_txt = NULL;
tmp1 = mmc_unbox_integer(_a_numFields);
_out_txt = omc_CodegenCFunctions_recordDefinitionHeader(threadData, _txt, _a_origName, _a_encName, tmp1);
return _out_txt;
}
DLLExport
modelica_metatype omc_CodegenCFunctions_recordDefinition(threadData_t *threadData, modelica_metatype _txt, modelica_string _a_origName, modelica_string _a_encName, modelica_string _a_fieldNames, modelica_integer _a_numFields)
{
modelica_metatype _out_txt = NULL;
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
_out_txt = omc_CodegenCFunctions_fun__133(threadData, _txt, _a_encName, _a_origName, _a_fieldNames, _a_numFields);
_return: OMC_LABEL_UNUSED
return _out_txt;
}
modelica_metatype boxptr_CodegenCFunctions_recordDefinition(threadData_t *threadData, modelica_metatype _txt, modelica_metatype _a_origName, modelica_metatype _a_encName, modelica_metatype _a_fieldNames, modelica_metatype _a_numFields)
{
modelica_integer tmp1;
modelica_metatype _out_txt = NULL;
tmp1 = mmc_unbox_integer(_a_numFields);
_out_txt = omc_CodegenCFunctions_recordDefinition(threadData, _txt, _a_origName, _a_encName, _a_fieldNames, tmp1);
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__133(threadData_t *threadData, modelica_metatype _in_txt, modelica_string _in_a_encName, modelica_string _in_a_origName, modelica_string _in_a_fieldNames, modelica_integer _in_a_numFields)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta[1] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp3_1;modelica_string tmp3_2;modelica_string tmp3_3;modelica_string tmp3_4;modelica_integer tmp3_5;
tmp3_1 = _in_txt;
tmp3_2 = _in_a_encName;
tmp3_3 = _in_a_origName;
tmp3_4 = _in_a_fieldNames;
tmp3_5 = _in_a_numFields;
{
modelica_metatype _txt = NULL;
modelica_string _a_origName = NULL;
modelica_string _a_fieldNames = NULL;
modelica_integer _a_numFields;
modelica_string _i_encName = NULL;
modelica_metatype _l_fieldsDescription = NULL;
volatile mmc_switch_type tmp3;
int tmp4;
tmp3 = 0;
for (; tmp3 < 2; tmp3++) {
switch (MMC_SWITCH_CAST(tmp3)) {
case 0: {
if (21 != MMC_STRLEN(tmp3_2) || strcmp(MMC_STRINGDATA(_OMC_LIT2624), MMC_STRINGDATA(tmp3_2)) != 0) goto tmp2_end;
_txt = tmp3_1;
tmpMeta[0] = _txt;
goto tmp2_done;
}
case 1: {
_txt = tmp3_1;
_i_encName = tmp3_2;
_a_origName = tmp3_3;
_a_fieldNames = tmp3_4;
_a_numFields = tmp3_5;
_l_fieldsDescription = omc_CodegenCFunctions_fun__132(threadData, _OMC_LIT20, _a_numFields, _a_fieldNames, _i_encName);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1652);
_txt = omc_Tpl_writeStr(threadData, _txt, _i_encName);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT2611);
_txt = omc_Tpl_writeText(threadData, _txt, _l_fieldsDescription);
_txt = omc_Tpl_softNewLine(threadData, _txt);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT2613);
_txt = omc_Tpl_writeStr(threadData, _txt, _i_encName);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT2615);
_txt = omc_Tpl_pushBlock(threadData, _txt, _OMC_LIT97);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT917);
_txt = omc_Tpl_writeStr(threadData, _txt, _i_encName);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT2619);
_txt = omc_Tpl_writeStr(threadData, _txt, _a_origName);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT2621);
_txt = omc_Tpl_writeStr(threadData, _txt, _i_encName);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT2623);
_txt = omc_Tpl_popBlock(threadData, _txt);
tmpMeta[0] = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1383);
goto tmp2_done;
}
}
goto tmp2_end;
tmp2_end: ;
}
goto goto_1;
goto_1:;
MMC_THROW_INTERNAL();
goto tmp2_done;
tmp2_done:;
}
}
_out_txt = tmpMeta[0];
_return: OMC_LABEL_UNUSED
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__133(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_encName, modelica_metatype _in_a_origName, modelica_metatype _in_a_fieldNames, modelica_metatype _in_a_numFields)
{
modelica_integer tmp1;
modelica_metatype _out_txt = NULL;
tmp1 = mmc_unbox_integer(_in_a_numFields);
_out_txt = omc_CodegenCFunctions_fun__133(threadData, _in_txt, _in_a_encName, _in_a_origName, _in_a_fieldNames, tmp1);
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__132(threadData_t *threadData, modelica_metatype _in_txt, modelica_integer _in_a_numFields, modelica_string _in_a_fieldNames, modelica_string _in_a_encName)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta[1] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp3_1;modelica_integer tmp3_2;modelica_string tmp3_3;modelica_string tmp3_4;
tmp3_1 = _in_txt;
tmp3_2 = _in_a_numFields;
tmp3_3 = _in_a_fieldNames;
tmp3_4 = _in_a_encName;
{
modelica_metatype _txt = NULL;
modelica_string _a_fieldNames = NULL;
modelica_string _a_encName = NULL;
modelica_integer _i_numFields;
volatile mmc_switch_type tmp3;
int tmp4;
tmp3 = 0;
for (; tmp3 < 2; tmp3++) {
switch (MMC_SWITCH_CAST(tmp3)) {
case 0: {
if (0 != tmp3_2) goto tmp2_end;
_txt = tmp3_1;
_a_encName = tmp3_4;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT2626);
_txt = omc_Tpl_writeStr(threadData, _txt, _a_encName);
tmpMeta[0] = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT2628);
goto tmp2_done;
}
case 1: {
_txt = tmp3_1;
_i_numFields = tmp3_2;
_a_fieldNames = tmp3_3;
_a_encName = tmp3_4;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT2626);
_txt = omc_Tpl_writeStr(threadData, _txt, _a_encName);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT2630);
_txt = omc_Tpl_writeStr(threadData, _txt, intString(_i_numFields));
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1381);
_txt = omc_Tpl_writeStr(threadData, _txt, _a_fieldNames);
tmpMeta[0] = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1383);
goto tmp2_done;
}
}
goto tmp2_end;
tmp2_end: ;
}
goto goto_1;
goto_1:;
MMC_THROW_INTERNAL();
goto tmp2_done;
tmp2_done:;
}
}
_out_txt = tmpMeta[0];
_return: OMC_LABEL_UNUSED
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__132(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_numFields, modelica_metatype _in_a_fieldNames, modelica_metatype _in_a_encName)
{
modelica_integer tmp1;
modelica_metatype _out_txt = NULL;
tmp1 = mmc_unbox_integer(_in_a_numFields);
_out_txt = omc_CodegenCFunctions_fun__132(threadData, _in_txt, tmp1, _in_a_fieldNames, _in_a_encName);
return _out_txt;
}
DLLExport
modelica_metatype omc_CodegenCFunctions_arrayVarAllocInit(threadData_t *threadData, modelica_metatype _txt, modelica_metatype _a_var__cref, modelica_metatype _a_var__type, modelica_metatype _a_var__dims, modelica_metatype _a_value, modelica_boolean _a_bind__outside, modelica_metatype _a_context, modelica_metatype _a_varDecls, modelica_metatype _a_auxFunction, modelica_metatype *out_out_a_varDecls, modelica_metatype *out_out_a_auxFunction)
{
modelica_metatype _out_txt = NULL;
modelica_metatype _out_a_varDecls = NULL;
modelica_metatype _out_a_auxFunction = NULL;
modelica_metatype _l_var__name = NULL;
modelica_metatype _l_type__name = NULL;
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
_l_type__name = omc_CodegenCFunctions_expTypeShort(threadData, _OMC_LIT20, _a_var__type);
_l_var__name = omc_CodegenCFunctions_contextCrefNoPrevExp(threadData, _OMC_LIT20, _a_var__cref, _a_context, _a_auxFunction ,&_out_a_auxFunction);
_out_txt = omc_CodegenCFunctions_fun__130(threadData, _txt, _a_value, _l_var__name, _l_type__name, _a_var__dims, _a_var__cref, _out_a_auxFunction, _a_varDecls, _a_context, _a_bind__outside ,&_out_a_auxFunction ,&_out_a_varDecls);
_return: OMC_LABEL_UNUSED
if (out_out_a_varDecls) { *out_out_a_varDecls = _out_a_varDecls; }
if (out_out_a_auxFunction) { *out_out_a_auxFunction = _out_a_auxFunction; }
return _out_txt;
}
modelica_metatype boxptr_CodegenCFunctions_arrayVarAllocInit(threadData_t *threadData, modelica_metatype _txt, modelica_metatype _a_var__cref, modelica_metatype _a_var__type, modelica_metatype _a_var__dims, modelica_metatype _a_value, modelica_metatype _a_bind__outside, modelica_metatype _a_context, modelica_metatype _a_varDecls, modelica_metatype _a_auxFunction, modelica_metatype *out_out_a_varDecls, modelica_metatype *out_out_a_auxFunction)
{
modelica_integer tmp1;
modelica_metatype _out_txt = NULL;
tmp1 = mmc_unbox_integer(_a_bind__outside);
_out_txt = omc_CodegenCFunctions_arrayVarAllocInit(threadData, _txt, _a_var__cref, _a_var__type, _a_var__dims, _a_value, tmp1, _a_context, _a_varDecls, _a_auxFunction, out_out_a_varDecls, out_out_a_auxFunction);
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__130(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_value, modelica_metatype _in_a_var__name, modelica_metatype _in_a_type__name, modelica_metatype _in_a_var__dims, modelica_metatype _in_a_var__cref, modelica_metatype _in_a_auxFunction, modelica_metatype _in_a_varDecls, modelica_metatype _in_a_context, modelica_boolean _in_a_bind__outside, modelica_metatype *out_out_a_auxFunction, modelica_metatype *out_out_a_varDecls)
{
modelica_metatype _out_txt = NULL;
modelica_metatype _out_a_auxFunction = NULL;
modelica_metatype _out_a_varDecls = NULL;
modelica_metatype tmpMeta[4] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_metatype tmp4_2;modelica_metatype tmp4_3;modelica_metatype tmp4_4;modelica_metatype tmp4_5;modelica_metatype tmp4_6;modelica_metatype tmp4_7;modelica_metatype tmp4_8;modelica_metatype tmp4_9;modelica_boolean tmp4_10;
tmp4_1 = _in_txt;
tmp4_2 = _in_a_value;
tmp4_3 = _in_a_var__name;
tmp4_4 = _in_a_type__name;
tmp4_5 = _in_a_var__dims;
tmp4_6 = _in_a_var__cref;
tmp4_7 = _in_a_auxFunction;
tmp4_8 = _in_a_varDecls;
tmp4_9 = _in_a_context;
tmp4_10 = _in_a_bind__outside;
{
modelica_metatype _txt = NULL;
modelica_metatype _a_var__name = NULL;
modelica_metatype _a_type__name = NULL;
modelica_metatype _a_var__dims = NULL;
modelica_metatype _a_var__cref = NULL;
modelica_metatype _a_auxFunction = NULL;
modelica_metatype _a_varDecls = NULL;
modelica_metatype _a_context = NULL;
modelica_boolean _a_bind__outside;
modelica_metatype _i_rhs__exp = NULL;
modelica_boolean _ret_3;
modelica_boolean _ret_2;
modelica_metatype _l_rhs = NULL;
modelica_metatype _l_preExpBind = NULL;
volatile mmc_switch_type tmp4;
int tmp5;
tmp4 = 0;
for (; tmp4 < 3; tmp4++) {
switch (MMC_SWITCH_CAST(tmp4)) {
case 0: {
if (optionNone(tmp4_2)) goto tmp3_end;
tmpMeta[3] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 1));
_i_rhs__exp = tmpMeta[3];
_txt = tmp4_1;
_a_var__name = tmp4_3;
_a_type__name = tmp4_4;
_a_var__dims = tmp4_5;
_a_var__cref = tmp4_6;
_a_auxFunction = tmp4_7;
_a_varDecls = tmp4_8;
_a_context = tmp4_9;
_a_bind__outside = tmp4_10;
_l_preExpBind = _OMC_LIT20;
_l_rhs = omc_CodegenCFunctions_fun__125(threadData, _OMC_LIT20, _a_bind__outside, _a_var__cref, _a_auxFunction, _a_varDecls, _l_preExpBind, _a_context, _i_rhs__exp ,&_a_auxFunction ,&_a_varDecls ,&_l_preExpBind);
_ret_2 = omc_Expression_hasUnknownDims(threadData, _a_var__dims);
tmpMeta[0+0] = omc_CodegenCFunctions_fun__127(threadData, _txt, _ret_2, _l_rhs, _l_preExpBind, _a_var__name, _a_type__name, _a_auxFunction, _a_varDecls, _a_context, _a_var__dims, &tmpMeta[0+1], &tmpMeta[0+2]);
goto tmp3_done;
}
case 1: {
if (!optionNone(tmp4_2)) goto tmp3_end;
_txt = tmp4_1;
_a_var__name = tmp4_3;
_a_type__name = tmp4_4;
_a_var__dims = tmp4_5;
_a_auxFunction = tmp4_7;
_a_varDecls = tmp4_8;
_a_context = tmp4_9;
_ret_3 = omc_Expression_hasUnknownDims(threadData, _a_var__dims);
tmpMeta[0+0] = omc_CodegenCFunctions_fun__129(threadData, _txt, _ret_3, _a_var__name, _a_type__name, _a_auxFunction, _a_varDecls, _a_context, _a_var__dims, &tmpMeta[0+1], &tmpMeta[0+2]);
goto tmp3_done;
}
case 2: {
_txt = tmp4_1;
_a_auxFunction = tmp4_7;
_a_varDecls = tmp4_8;
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_auxFunction;
tmpMeta[0+2] = _a_varDecls;
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta[0+0];
_out_a_auxFunction = tmpMeta[0+1];
_out_a_varDecls = tmpMeta[0+2];
_return: OMC_LABEL_UNUSED
if (out_out_a_auxFunction) { *out_out_a_auxFunction = _out_a_auxFunction; }
if (out_out_a_varDecls) { *out_out_a_varDecls = _out_a_varDecls; }
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__130(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_value, modelica_metatype _in_a_var__name, modelica_metatype _in_a_type__name, modelica_metatype _in_a_var__dims, modelica_metatype _in_a_var__cref, modelica_metatype _in_a_auxFunction, modelica_metatype _in_a_varDecls, modelica_metatype _in_a_context, modelica_metatype _in_a_bind__outside, modelica_metatype *out_out_a_auxFunction, modelica_metatype *out_out_a_varDecls)
{
modelica_integer tmp1;
modelica_metatype _out_txt = NULL;
tmp1 = mmc_unbox_integer(_in_a_bind__outside);
_out_txt = omc_CodegenCFunctions_fun__130(threadData, _in_txt, _in_a_value, _in_a_var__name, _in_a_type__name, _in_a_var__dims, _in_a_var__cref, _in_a_auxFunction, _in_a_varDecls, _in_a_context, tmp1, out_out_a_auxFunction, out_out_a_varDecls);
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__129(threadData_t *threadData, modelica_metatype _in_txt, modelica_boolean _in_mArg, modelica_metatype _in_a_var__name, modelica_metatype _in_a_type__name, modelica_metatype _in_a_auxFunction, modelica_metatype _in_a_varDecls, modelica_metatype _in_a_context, modelica_metatype _in_a_var__dims, modelica_metatype *out_out_a_auxFunction, modelica_metatype *out_out_a_varDecls)
{
modelica_metatype _out_txt = NULL;
modelica_metatype _out_a_auxFunction = NULL;
modelica_metatype _out_a_varDecls = NULL;
modelica_metatype tmpMeta[3] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_boolean tmp4_2;modelica_metatype tmp4_3;modelica_metatype tmp4_4;modelica_metatype tmp4_5;modelica_metatype tmp4_6;modelica_metatype tmp4_7;modelica_metatype tmp4_8;
tmp4_1 = _in_txt;
tmp4_2 = _in_mArg;
tmp4_3 = _in_a_var__name;
tmp4_4 = _in_a_type__name;
tmp4_5 = _in_a_auxFunction;
tmp4_6 = _in_a_varDecls;
tmp4_7 = _in_a_context;
tmp4_8 = _in_a_var__dims;
{
modelica_metatype _txt = NULL;
modelica_metatype _a_var__name = NULL;
modelica_metatype _a_type__name = NULL;
modelica_metatype _a_auxFunction = NULL;
modelica_metatype _a_varDecls = NULL;
modelica_metatype _a_context = NULL;
modelica_metatype _a_var__dims = NULL;
modelica_integer _ret_3;
modelica_integer _ret_2;
modelica_metatype _l_dims__str = NULL;
modelica_metatype _l_preExpAlloc = NULL;
volatile mmc_switch_type tmp4;
int tmp5;
tmp4 = 0;
for (; tmp4 < 2; tmp4++) {
switch (MMC_SWITCH_CAST(tmp4)) {
case 0: {
if (0 != tmp4_2) goto tmp3_end;
_txt = tmp4_1;
_a_var__name = tmp4_3;
_a_type__name = tmp4_4;
_a_auxFunction = tmp4_5;
_a_varDecls = tmp4_6;
_a_context = tmp4_7;
_a_var__dims = tmp4_8;
_l_preExpAlloc = _OMC_LIT20;
_l_dims__str = omc_Tpl_pushIter(threadData, _OMC_LIT20, _OMC_LIT294);
_l_dims__str = omc_CodegenCFunctions_lm__128(threadData, _l_dims__str, _a_var__dims, _a_auxFunction, _a_varDecls, _l_preExpAlloc, _a_context ,&_a_auxFunction ,&_a_varDecls ,&_l_preExpAlloc);
_l_dims__str = omc_Tpl_popIter(threadData, _l_dims__str);
_txt = omc_Tpl_writeText(threadData, _txt, _l_preExpAlloc);
_txt = omc_Tpl_softNewLine(threadData, _txt);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT296);
_txt = omc_Tpl_writeText(threadData, _txt, _a_type__name);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT2632);
_txt = omc_Tpl_writeText(threadData, _txt, _a_var__name);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT522);
_ret_2 = listLength(_a_var__dims);
_txt = omc_Tpl_writeStr(threadData, _txt, intString(_ret_2));
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT292);
_txt = omc_Tpl_writeText(threadData, _txt, _l_dims__str);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT2634);
_txt = omc_Tpl_writeText(threadData, _txt, _a_var__name);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT2636);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT89);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_auxFunction;
tmpMeta[0+2] = _a_varDecls;
goto tmp3_done;
}
case 1: {
_txt = tmp4_1;
_a_var__name = tmp4_3;
_a_auxFunction = tmp4_5;
_a_varDecls = tmp4_6;
_a_var__dims = tmp4_8;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT2638);
_txt = omc_Tpl_writeText(threadData, _txt, _a_var__name);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT292);
_ret_3 = listLength(_a_var__dims);
_txt = omc_Tpl_writeStr(threadData, _txt, intString(_ret_3));
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT2634);
_txt = omc_Tpl_writeText(threadData, _txt, _a_var__name);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT2640);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT89);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_auxFunction;
tmpMeta[0+2] = _a_varDecls;
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta[0+0];
_out_a_auxFunction = tmpMeta[0+1];
_out_a_varDecls = tmpMeta[0+2];
_return: OMC_LABEL_UNUSED
if (out_out_a_auxFunction) { *out_out_a_auxFunction = _out_a_auxFunction; }
if (out_out_a_varDecls) { *out_out_a_varDecls = _out_a_varDecls; }
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__129(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_mArg, modelica_metatype _in_a_var__name, modelica_metatype _in_a_type__name, modelica_metatype _in_a_auxFunction, modelica_metatype _in_a_varDecls, modelica_metatype _in_a_context, modelica_metatype _in_a_var__dims, modelica_metatype *out_out_a_auxFunction, modelica_metatype *out_out_a_varDecls)
{
modelica_integer tmp1;
modelica_metatype _out_txt = NULL;
tmp1 = mmc_unbox_integer(_in_mArg);
_out_txt = omc_CodegenCFunctions_fun__129(threadData, _in_txt, tmp1, _in_a_var__name, _in_a_type__name, _in_a_auxFunction, _in_a_varDecls, _in_a_context, _in_a_var__dims, out_out_a_auxFunction, out_out_a_varDecls);
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_lm__128(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_items, modelica_metatype _in_a_auxFunction, modelica_metatype _in_a_varDecls, modelica_metatype _in_a_preExpAlloc, modelica_metatype _in_a_context, modelica_metatype *out_out_a_auxFunction, modelica_metatype *out_out_a_varDecls, modelica_metatype *out_out_a_preExpAlloc)
{
modelica_metatype _out_txt = NULL;
modelica_metatype _out_a_auxFunction = NULL;
modelica_metatype _out_a_varDecls = NULL;
modelica_metatype _out_a_preExpAlloc = NULL;
modelica_metatype tmpMeta[6] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_metatype tmp4_2;modelica_metatype tmp4_3;modelica_metatype tmp4_4;modelica_metatype tmp4_5;modelica_metatype tmp4_6;
tmp4_1 = _in_txt;
tmp4_2 = _in_items;
tmp4_3 = _in_a_auxFunction;
tmp4_4 = _in_a_varDecls;
tmp4_5 = _in_a_preExpAlloc;
tmp4_6 = _in_a_context;
{
modelica_metatype _txt = NULL;
modelica_metatype _rest = NULL;
modelica_metatype _a_auxFunction = NULL;
modelica_metatype _a_varDecls = NULL;
modelica_metatype _a_preExpAlloc = NULL;
modelica_metatype _a_context = NULL;
modelica_metatype _i_dim = NULL;
volatile mmc_switch_type tmp4;
int tmp5;
tmp4 = 0;
for (; tmp4 < 2; tmp4++) {
switch (MMC_SWITCH_CAST(tmp4)) {
case 0: {
if (!listEmpty(tmp4_2)) goto tmp3_end;
_txt = tmp4_1;
_a_auxFunction = tmp4_3;
_a_varDecls = tmp4_4;
_a_preExpAlloc = tmp4_5;
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_auxFunction;
tmpMeta[0+2] = _a_varDecls;
tmpMeta[0+3] = _a_preExpAlloc;
goto tmp3_done;
}
case 1: {
if (listEmpty(tmp4_2)) goto tmp3_end;
tmpMeta[4] = MMC_CAR(tmp4_2);
tmpMeta[5] = MMC_CDR(tmp4_2);
_i_dim = tmpMeta[4];
_rest = tmpMeta[5];
_txt = tmp4_1;
_a_auxFunction = tmp4_3;
_a_varDecls = tmp4_4;
_a_preExpAlloc = tmp4_5;
_a_context = tmp4_6;
_txt = omc_CodegenCFunctions_dimension(threadData, _txt, _i_dim, _a_context, _a_preExpAlloc, _a_varDecls, _a_auxFunction ,&_a_preExpAlloc ,&_a_varDecls ,&_a_auxFunction);
_txt = omc_Tpl_nextIter(threadData, _txt);
_in_txt = _txt;
_in_items = _rest;
_in_a_auxFunction = _a_auxFunction;
_in_a_varDecls = _a_varDecls;
_in_a_preExpAlloc = _a_preExpAlloc;
_in_a_context = _a_context;
goto _tailrecursive;
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta[0+0];
_out_a_auxFunction = tmpMeta[0+1];
_out_a_varDecls = tmpMeta[0+2];
_out_a_preExpAlloc = tmpMeta[0+3];
_return: OMC_LABEL_UNUSED
if (out_out_a_auxFunction) { *out_out_a_auxFunction = _out_a_auxFunction; }
if (out_out_a_varDecls) { *out_out_a_varDecls = _out_a_varDecls; }
if (out_out_a_preExpAlloc) { *out_out_a_preExpAlloc = _out_a_preExpAlloc; }
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__127(threadData_t *threadData, modelica_metatype _in_txt, modelica_boolean _in_mArg, modelica_metatype _in_a_rhs, modelica_metatype _in_a_preExpBind, modelica_metatype _in_a_var__name, modelica_metatype _in_a_type__name, modelica_metatype _in_a_auxFunction, modelica_metatype _in_a_varDecls, modelica_metatype _in_a_context, modelica_metatype _in_a_var__dims, modelica_metatype *out_out_a_auxFunction, modelica_metatype *out_out_a_varDecls)
{
modelica_metatype _out_txt = NULL;
modelica_metatype _out_a_auxFunction = NULL;
modelica_metatype _out_a_varDecls = NULL;
modelica_metatype tmpMeta[3] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_boolean tmp4_2;modelica_metatype tmp4_3;modelica_metatype tmp4_4;modelica_metatype tmp4_5;modelica_metatype tmp4_6;modelica_metatype tmp4_7;modelica_metatype tmp4_8;modelica_metatype tmp4_9;modelica_metatype tmp4_10;
tmp4_1 = _in_txt;
tmp4_2 = _in_mArg;
tmp4_3 = _in_a_rhs;
tmp4_4 = _in_a_preExpBind;
tmp4_5 = _in_a_var__name;
tmp4_6 = _in_a_type__name;
tmp4_7 = _in_a_auxFunction;
tmp4_8 = _in_a_varDecls;
tmp4_9 = _in_a_context;
tmp4_10 = _in_a_var__dims;
{
modelica_metatype _txt = NULL;
modelica_metatype _a_rhs = NULL;
modelica_metatype _a_preExpBind = NULL;
modelica_metatype _a_var__name = NULL;
modelica_metatype _a_type__name = NULL;
modelica_metatype _a_auxFunction = NULL;
modelica_metatype _a_varDecls = NULL;
modelica_metatype _a_context = NULL;
modelica_metatype _a_var__dims = NULL;
modelica_integer _ret_2;
modelica_metatype _l_dims__str = NULL;
modelica_metatype _l_preExpAlloc = NULL;
volatile mmc_switch_type tmp4;
int tmp5;
tmp4 = 0;
for (; tmp4 < 2; tmp4++) {
switch (MMC_SWITCH_CAST(tmp4)) {
case 0: {
if (0 != tmp4_2) goto tmp3_end;
_txt = tmp4_1;
_a_rhs = tmp4_3;
_a_preExpBind = tmp4_4;
_a_var__name = tmp4_5;
_a_type__name = tmp4_6;
_a_auxFunction = tmp4_7;
_a_varDecls = tmp4_8;
_a_context = tmp4_9;
_a_var__dims = tmp4_10;
_l_preExpAlloc = _OMC_LIT20;
_l_dims__str = omc_Tpl_pushIter(threadData, _OMC_LIT20, _OMC_LIT294);
_l_dims__str = omc_CodegenCFunctions_lm__126(threadData, _l_dims__str, _a_var__dims, _a_auxFunction, _a_varDecls, _l_preExpAlloc, _a_context ,&_a_auxFunction ,&_a_varDecls ,&_l_preExpAlloc);
_l_dims__str = omc_Tpl_popIter(threadData, _l_dims__str);
_txt = omc_Tpl_writeText(threadData, _txt, _l_preExpAlloc);
_txt = omc_Tpl_softNewLine(threadData, _txt);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT296);
_txt = omc_Tpl_writeText(threadData, _txt, _a_type__name);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT2632);
_txt = omc_Tpl_writeText(threadData, _txt, _a_var__name);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT522);
_ret_2 = listLength(_a_var__dims);
_txt = omc_Tpl_writeStr(threadData, _txt, intString(_ret_2));
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT292);
_txt = omc_Tpl_writeText(threadData, _txt, _l_dims__str);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT375);
_txt = omc_Tpl_writeText(threadData, _txt, _a_preExpBind);
_txt = omc_Tpl_softNewLine(threadData, _txt);
_txt = omc_Tpl_writeText(threadData, _txt, _a_type__name);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT2147);
_txt = omc_Tpl_writeText(threadData, _txt, _a_rhs);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT292);
_txt = omc_Tpl_writeText(threadData, _txt, _a_var__name);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT2642);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_auxFunction;
tmpMeta[0+2] = _a_varDecls;
goto tmp3_done;
}
case 1: {
_txt = tmp4_1;
_a_rhs = tmp4_3;
_a_preExpBind = tmp4_4;
_a_var__name = tmp4_5;
_a_type__name = tmp4_6;
_a_auxFunction = tmp4_7;
_a_varDecls = tmp4_8;
_txt = omc_Tpl_writeText(threadData, _txt, _a_preExpBind);
_txt = omc_Tpl_softNewLine(threadData, _txt);
_txt = omc_Tpl_writeText(threadData, _txt, _a_type__name);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT2644);
_txt = omc_Tpl_writeText(threadData, _txt, _a_rhs);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT292);
_txt = omc_Tpl_writeText(threadData, _txt, _a_var__name);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT2642);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_auxFunction;
tmpMeta[0+2] = _a_varDecls;
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta[0+0];
_out_a_auxFunction = tmpMeta[0+1];
_out_a_varDecls = tmpMeta[0+2];
_return: OMC_LABEL_UNUSED
if (out_out_a_auxFunction) { *out_out_a_auxFunction = _out_a_auxFunction; }
if (out_out_a_varDecls) { *out_out_a_varDecls = _out_a_varDecls; }
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__127(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_mArg, modelica_metatype _in_a_rhs, modelica_metatype _in_a_preExpBind, modelica_metatype _in_a_var__name, modelica_metatype _in_a_type__name, modelica_metatype _in_a_auxFunction, modelica_metatype _in_a_varDecls, modelica_metatype _in_a_context, modelica_metatype _in_a_var__dims, modelica_metatype *out_out_a_auxFunction, modelica_metatype *out_out_a_varDecls)
{
modelica_integer tmp1;
modelica_metatype _out_txt = NULL;
tmp1 = mmc_unbox_integer(_in_mArg);
_out_txt = omc_CodegenCFunctions_fun__127(threadData, _in_txt, tmp1, _in_a_rhs, _in_a_preExpBind, _in_a_var__name, _in_a_type__name, _in_a_auxFunction, _in_a_varDecls, _in_a_context, _in_a_var__dims, out_out_a_auxFunction, out_out_a_varDecls);
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_lm__126(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_items, modelica_metatype _in_a_auxFunction, modelica_metatype _in_a_varDecls, modelica_metatype _in_a_preExpAlloc, modelica_metatype _in_a_context, modelica_metatype *out_out_a_auxFunction, modelica_metatype *out_out_a_varDecls, modelica_metatype *out_out_a_preExpAlloc)
{
modelica_metatype _out_txt = NULL;
modelica_metatype _out_a_auxFunction = NULL;
modelica_metatype _out_a_varDecls = NULL;
modelica_metatype _out_a_preExpAlloc = NULL;
modelica_metatype tmpMeta[6] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_metatype tmp4_2;modelica_metatype tmp4_3;modelica_metatype tmp4_4;modelica_metatype tmp4_5;modelica_metatype tmp4_6;
tmp4_1 = _in_txt;
tmp4_2 = _in_items;
tmp4_3 = _in_a_auxFunction;
tmp4_4 = _in_a_varDecls;
tmp4_5 = _in_a_preExpAlloc;
tmp4_6 = _in_a_context;
{
modelica_metatype _txt = NULL;
modelica_metatype _rest = NULL;
modelica_metatype _a_auxFunction = NULL;
modelica_metatype _a_varDecls = NULL;
modelica_metatype _a_preExpAlloc = NULL;
modelica_metatype _a_context = NULL;
modelica_metatype _i_dim = NULL;
volatile mmc_switch_type tmp4;
int tmp5;
tmp4 = 0;
for (; tmp4 < 2; tmp4++) {
switch (MMC_SWITCH_CAST(tmp4)) {
case 0: {
if (!listEmpty(tmp4_2)) goto tmp3_end;
_txt = tmp4_1;
_a_auxFunction = tmp4_3;
_a_varDecls = tmp4_4;
_a_preExpAlloc = tmp4_5;
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_auxFunction;
tmpMeta[0+2] = _a_varDecls;
tmpMeta[0+3] = _a_preExpAlloc;
goto tmp3_done;
}
case 1: {
if (listEmpty(tmp4_2)) goto tmp3_end;
tmpMeta[4] = MMC_CAR(tmp4_2);
tmpMeta[5] = MMC_CDR(tmp4_2);
_i_dim = tmpMeta[4];
_rest = tmpMeta[5];
_txt = tmp4_1;
_a_auxFunction = tmp4_3;
_a_varDecls = tmp4_4;
_a_preExpAlloc = tmp4_5;
_a_context = tmp4_6;
_txt = omc_CodegenCFunctions_dimension(threadData, _txt, _i_dim, _a_context, _a_preExpAlloc, _a_varDecls, _a_auxFunction ,&_a_preExpAlloc ,&_a_varDecls ,&_a_auxFunction);
_txt = omc_Tpl_nextIter(threadData, _txt);
_in_txt = _txt;
_in_items = _rest;
_in_a_auxFunction = _a_auxFunction;
_in_a_varDecls = _a_varDecls;
_in_a_preExpAlloc = _a_preExpAlloc;
_in_a_context = _a_context;
goto _tailrecursive;
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta[0+0];
_out_a_auxFunction = tmpMeta[0+1];
_out_a_varDecls = tmpMeta[0+2];
_out_a_preExpAlloc = tmpMeta[0+3];
_return: OMC_LABEL_UNUSED
if (out_out_a_auxFunction) { *out_out_a_auxFunction = _out_a_auxFunction; }
if (out_out_a_varDecls) { *out_out_a_varDecls = _out_a_varDecls; }
if (out_out_a_preExpAlloc) { *out_out_a_preExpAlloc = _out_a_preExpAlloc; }
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__125(threadData_t *threadData, modelica_metatype _in_txt, modelica_boolean _in_a_bind__outside, modelica_metatype _in_a_var__cref, modelica_metatype _in_a_auxFunction, modelica_metatype _in_a_varDecls, modelica_metatype _in_a_preExpBind, modelica_metatype _in_a_context, modelica_metatype _in_a_rhs__exp, modelica_metatype *out_out_a_auxFunction, modelica_metatype *out_out_a_varDecls, modelica_metatype *out_out_a_preExpBind)
{
modelica_metatype _out_txt = NULL;
modelica_metatype _out_a_auxFunction = NULL;
modelica_metatype _out_a_varDecls = NULL;
modelica_metatype _out_a_preExpBind = NULL;
modelica_metatype tmpMeta[4] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_boolean tmp4_2;modelica_metatype tmp4_3;modelica_metatype tmp4_4;modelica_metatype tmp4_5;modelica_metatype tmp4_6;modelica_metatype tmp4_7;modelica_metatype tmp4_8;
tmp4_1 = _in_txt;
tmp4_2 = _in_a_bind__outside;
tmp4_3 = _in_a_var__cref;
tmp4_4 = _in_a_auxFunction;
tmp4_5 = _in_a_varDecls;
tmp4_6 = _in_a_preExpBind;
tmp4_7 = _in_a_context;
tmp4_8 = _in_a_rhs__exp;
{
modelica_metatype _txt = NULL;
modelica_metatype _a_var__cref = NULL;
modelica_metatype _a_auxFunction = NULL;
modelica_metatype _a_varDecls = NULL;
modelica_metatype _a_preExpBind = NULL;
modelica_metatype _a_context = NULL;
modelica_metatype _a_rhs__exp = NULL;
volatile mmc_switch_type tmp4;
int tmp5;
tmp4 = 0;
for (; tmp4 < 2; tmp4++) {
switch (MMC_SWITCH_CAST(tmp4)) {
case 0: {
if (0 != tmp4_2) goto tmp3_end;
_txt = tmp4_1;
_a_auxFunction = tmp4_4;
_a_varDecls = tmp4_5;
_a_preExpBind = tmp4_6;
_a_context = tmp4_7;
_a_rhs__exp = tmp4_8;
_txt = omc_CodegenCFunctions_daeExp(threadData, _txt, _a_rhs__exp, _a_context, _a_preExpBind, _a_varDecls, _a_auxFunction ,&_a_preExpBind ,&_a_varDecls ,&_a_auxFunction);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_auxFunction;
tmpMeta[0+2] = _a_varDecls;
tmpMeta[0+3] = _a_preExpBind;
goto tmp3_done;
}
case 1: {
_txt = tmp4_1;
_a_var__cref = tmp4_3;
_a_auxFunction = tmp4_4;
_a_varDecls = tmp4_5;
_a_preExpBind = tmp4_6;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT2646);
_txt = omc_CodegenCFunctions_contextCrefNoPrevExp(threadData, _txt, _a_var__cref, _OMC_LIT1356, _a_auxFunction ,&_a_auxFunction);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_auxFunction;
tmpMeta[0+2] = _a_varDecls;
tmpMeta[0+3] = _a_preExpBind;
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta[0+0];
_out_a_auxFunction = tmpMeta[0+1];
_out_a_varDecls = tmpMeta[0+2];
_out_a_preExpBind = tmpMeta[0+3];
_return: OMC_LABEL_UNUSED
if (out_out_a_auxFunction) { *out_out_a_auxFunction = _out_a_auxFunction; }
if (out_out_a_varDecls) { *out_out_a_varDecls = _out_a_varDecls; }
if (out_out_a_preExpBind) { *out_out_a_preExpBind = _out_a_preExpBind; }
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__125(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_bind__outside, modelica_metatype _in_a_var__cref, modelica_metatype _in_a_auxFunction, modelica_metatype _in_a_varDecls, modelica_metatype _in_a_preExpBind, modelica_metatype _in_a_context, modelica_metatype _in_a_rhs__exp, modelica_metatype *out_out_a_auxFunction, modelica_metatype *out_out_a_varDecls, modelica_metatype *out_out_a_preExpBind)
{
modelica_integer tmp1;
modelica_metatype _out_txt = NULL;
tmp1 = mmc_unbox_integer(_in_a_bind__outside);
_out_txt = omc_CodegenCFunctions_fun__125(threadData, _in_txt, tmp1, _in_a_var__cref, _in_a_auxFunction, _in_a_varDecls, _in_a_preExpBind, _in_a_context, _in_a_rhs__exp, out_out_a_auxFunction, out_out_a_varDecls, out_out_a_preExpBind);
return _out_txt;
}
DLLExport
modelica_metatype omc_CodegenCFunctions_recordInitOutsideBindings(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_subvar, modelica_integer _in_a_ix, modelica_metatype _in_a_ctor__suffix, modelica_metatype _in_a_context, modelica_metatype _in_a_preExp, modelica_metatype _in_a_varDecls, modelica_metatype _in_a_auxFunction, modelica_metatype *out_out_a_ctor__suffix, modelica_metatype *out_out_a_preExp, modelica_metatype *out_out_a_varDecls, modelica_metatype *out_out_a_auxFunction)
{
modelica_metatype _out_txt = NULL;
modelica_metatype _out_a_ctor__suffix = NULL;
modelica_metatype _out_a_preExp = NULL;
modelica_metatype _out_a_varDecls = NULL;
modelica_metatype _out_a_auxFunction = NULL;
modelica_metatype tmpMeta[8] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_metatype tmp4_2;modelica_integer tmp4_3;modelica_metatype tmp4_4;modelica_metatype tmp4_5;modelica_metatype tmp4_6;modelica_metatype tmp4_7;modelica_metatype tmp4_8;
tmp4_1 = _in_txt;
tmp4_2 = _in_a_subvar;
tmp4_3 = _in_a_ix;
tmp4_4 = _in_a_ctor__suffix;
tmp4_5 = _in_a_context;
tmp4_6 = _in_a_preExp;
tmp4_7 = _in_a_varDecls;
tmp4_8 = _in_a_auxFunction;
{
modelica_metatype _txt = NULL;
modelica_integer _a_ix;
modelica_metatype _a_ctor__suffix = NULL;
modelica_metatype _a_context = NULL;
modelica_metatype _a_preExp = NULL;
modelica_metatype _a_varDecls = NULL;
modelica_metatype _a_auxFunction = NULL;
modelica_metatype _i_exp = NULL;
volatile mmc_switch_type tmp4;
int tmp5;
tmp4 = 0;
for (; tmp4 < 3; tmp4++) {
switch (MMC_SWITCH_CAST(tmp4)) {
case 0: {
modelica_integer tmp6;
tmpMeta[5] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 5));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[5],1,4) == 0) goto tmp3_end;
tmpMeta[6] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[5]), 2));
tmpMeta[7] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 6));
tmp6 = mmc_unbox_integer(tmpMeta[7]);
if (1 != tmp6) goto tmp3_end;
_i_exp = tmpMeta[6];
_txt = tmp4_1;
_a_ix = tmp4_3;
_a_ctor__suffix = tmp4_4;
_a_context = tmp4_5;
_a_preExp = tmp4_6;
_a_varDecls = tmp4_7;
_a_auxFunction = tmp4_8;
_a_ctor__suffix = omc_Tpl_writeTok(threadData, _a_ctor__suffix, _OMC_LIT236);
_a_ctor__suffix = omc_Tpl_writeStr(threadData, _a_ctor__suffix, intString(_a_ix));
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT292);
_txt = omc_CodegenCFunctions_daeExp(threadData, _txt, _i_exp, _a_context, _a_preExp, _a_varDecls, _a_auxFunction ,&_a_preExp ,&_a_varDecls ,&_a_auxFunction);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_ctor__suffix;
tmpMeta[0+2] = _a_preExp;
tmpMeta[0+3] = _a_varDecls;
tmpMeta[0+4] = _a_auxFunction;
goto tmp3_done;
}
case 1: {
modelica_integer tmp7;
tmpMeta[5] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 6));
tmp7 = mmc_unbox_integer(tmpMeta[5]);
if (1 != tmp7) goto tmp3_end;
_txt = tmp4_1;
_a_ctor__suffix = tmp4_4;
_a_preExp = tmp4_6;
_a_varDecls = tmp4_7;
_a_auxFunction = tmp4_8;
_txt = omc_CodegenUtil_error(threadData, _txt, omc_Tpl_sourceInfo(threadData, _OMC_LIT27, ((modelica_integer) 756), ((modelica_integer) 11)), _OMC_LIT2647);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_ctor__suffix;
tmpMeta[0+2] = _a_preExp;
tmpMeta[0+3] = _a_varDecls;
tmpMeta[0+4] = _a_auxFunction;
goto tmp3_done;
}
case 2: {
_txt = tmp4_1;
_a_ctor__suffix = tmp4_4;
_a_preExp = tmp4_6;
_a_varDecls = tmp4_7;
_a_auxFunction = tmp4_8;
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_ctor__suffix;
tmpMeta[0+2] = _a_preExp;
tmpMeta[0+3] = _a_varDecls;
tmpMeta[0+4] = _a_auxFunction;
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta[0+0];
_out_a_ctor__suffix = tmpMeta[0+1];
_out_a_preExp = tmpMeta[0+2];
_out_a_varDecls = tmpMeta[0+3];
_out_a_auxFunction = tmpMeta[0+4];
_return: OMC_LABEL_UNUSED
if (out_out_a_ctor__suffix) { *out_out_a_ctor__suffix = _out_a_ctor__suffix; }
if (out_out_a_preExp) { *out_out_a_preExp = _out_a_preExp; }
if (out_out_a_varDecls) { *out_out_a_varDecls = _out_a_varDecls; }
if (out_out_a_auxFunction) { *out_out_a_auxFunction = _out_a_auxFunction; }
return _out_txt;
}
modelica_metatype boxptr_CodegenCFunctions_recordInitOutsideBindings(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_subvar, modelica_metatype _in_a_ix, modelica_metatype _in_a_ctor__suffix, modelica_metatype _in_a_context, modelica_metatype _in_a_preExp, modelica_metatype _in_a_varDecls, modelica_metatype _in_a_auxFunction, modelica_metatype *out_out_a_ctor__suffix, modelica_metatype *out_out_a_preExp, modelica_metatype *out_out_a_varDecls, modelica_metatype *out_out_a_auxFunction)
{
modelica_integer tmp1;
modelica_metatype _out_txt = NULL;
tmp1 = mmc_unbox_integer(_in_a_ix);
_out_txt = omc_CodegenCFunctions_recordInitOutsideBindings(threadData, _in_txt, _in_a_subvar, tmp1, _in_a_ctor__suffix, _in_a_context, _in_a_preExp, _in_a_varDecls, _in_a_auxFunction, out_out_a_ctor__suffix, out_out_a_preExp, out_out_a_varDecls, out_out_a_auxFunction);
return _out_txt;
}
DLLExport
modelica_metatype omc_CodegenCFunctions_recordVarAllocInit(threadData_t *threadData, modelica_metatype _txt, modelica_metatype _a_value, modelica_metatype _a_var__cref, modelica_boolean _a_bind__outside, modelica_metatype _a_var__type, modelica_metatype _a_context, modelica_metatype _a_varDecls, modelica_metatype _a_auxFunction, modelica_metatype *out_out_a_varDecls, modelica_metatype *out_out_a_auxFunction)
{
modelica_metatype _out_txt = NULL;
modelica_metatype _out_a_varDecls = NULL;
modelica_metatype _out_a_auxFunction = NULL;
modelica_metatype _l_allocation = NULL;
modelica_metatype _l_ctor__additional__inputs = NULL;
modelica_metatype _l_var__name = NULL;
modelica_metatype _l_type__name = NULL;
modelica_metatype _l_ctor__suffix = NULL;
modelica_metatype _l_preExp = NULL;
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
_l_preExp = _OMC_LIT20;
_l_ctor__suffix = _OMC_LIT20;
_l_type__name = omc_CodegenCFunctions_expTypeShort(threadData, _OMC_LIT20, _a_var__type);
_l_var__name = omc_CodegenCFunctions_contextCrefNoPrevExp(threadData, _OMC_LIT20, _a_var__cref, _a_context, _a_auxFunction ,&_out_a_auxFunction);
_l_ctor__additional__inputs = omc_CodegenCFunctions_fun__120(threadData, _OMC_LIT20, _a_var__type, _out_a_auxFunction, _a_varDecls, _l_preExp, _a_context, _l_ctor__suffix ,&_out_a_auxFunction ,&_out_a_varDecls ,&_l_preExp ,&_l_ctor__suffix);
_l_allocation = omc_Tpl_writeText(threadData, _OMC_LIT20, _l_type__name);
_l_allocation = omc_Tpl_writeText(threadData, _l_allocation, _l_ctor__suffix);
_l_allocation = omc_Tpl_writeTok(threadData, _l_allocation, _OMC_LIT2123);
_l_allocation = omc_Tpl_writeText(threadData, _l_allocation, _l_var__name);
_l_allocation = omc_Tpl_writeText(threadData, _l_allocation, _l_ctor__additional__inputs);
_l_allocation = omc_Tpl_writeTok(threadData, _l_allocation, _OMC_LIT290);
_out_txt = omc_CodegenCFunctions_fun__122(threadData, _txt, _a_value, _l_allocation, _l_preExp, _l_var__name, _l_type__name, _out_a_auxFunction, _out_a_varDecls, _a_context, _a_var__type, _a_var__cref, _a_bind__outside ,&_out_a_auxFunction ,&_out_a_varDecls);
_return: OMC_LABEL_UNUSED
if (out_out_a_varDecls) { *out_out_a_varDecls = _out_a_varDecls; }
if (out_out_a_auxFunction) { *out_out_a_auxFunction = _out_a_auxFunction; }
return _out_txt;
}
modelica_metatype boxptr_CodegenCFunctions_recordVarAllocInit(threadData_t *threadData, modelica_metatype _txt, modelica_metatype _a_value, modelica_metatype _a_var__cref, modelica_metatype _a_bind__outside, modelica_metatype _a_var__type, modelica_metatype _a_context, modelica_metatype _a_varDecls, modelica_metatype _a_auxFunction, modelica_metatype *out_out_a_varDecls, modelica_metatype *out_out_a_auxFunction)
{
modelica_integer tmp1;
modelica_metatype _out_txt = NULL;
tmp1 = mmc_unbox_integer(_a_bind__outside);
_out_txt = omc_CodegenCFunctions_recordVarAllocInit(threadData, _txt, _a_value, _a_var__cref, tmp1, _a_var__type, _a_context, _a_varDecls, _a_auxFunction, out_out_a_varDecls, out_out_a_auxFunction);
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__122(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_value, modelica_metatype _in_a_allocation, modelica_metatype _in_a_preExp, modelica_metatype _in_a_var__name, modelica_metatype _in_a_type__name, modelica_metatype _in_a_auxFunction, modelica_metatype _in_a_varDecls, modelica_metatype _in_a_context, modelica_metatype _in_a_var__type, modelica_metatype _in_a_var__cref, modelica_boolean _in_a_bind__outside, modelica_metatype *out_out_a_auxFunction, modelica_metatype *out_out_a_varDecls)
{
modelica_metatype _out_txt = NULL;
modelica_metatype _out_a_auxFunction = NULL;
modelica_metatype _out_a_varDecls = NULL;
modelica_metatype tmpMeta[4] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_metatype tmp4_2;modelica_metatype tmp4_3;modelica_metatype tmp4_4;modelica_metatype tmp4_5;modelica_metatype tmp4_6;modelica_metatype tmp4_7;modelica_metatype tmp4_8;modelica_metatype tmp4_9;modelica_metatype tmp4_10;modelica_metatype tmp4_11;modelica_boolean tmp4_12;
tmp4_1 = _in_txt;
tmp4_2 = _in_a_value;
tmp4_3 = _in_a_allocation;
tmp4_4 = _in_a_preExp;
tmp4_5 = _in_a_var__name;
tmp4_6 = _in_a_type__name;
tmp4_7 = _in_a_auxFunction;
tmp4_8 = _in_a_varDecls;
tmp4_9 = _in_a_context;
tmp4_10 = _in_a_var__type;
tmp4_11 = _in_a_var__cref;
tmp4_12 = _in_a_bind__outside;
{
modelica_metatype _txt = NULL;
modelica_metatype _a_allocation = NULL;
modelica_metatype _a_preExp = NULL;
modelica_metatype _a_var__name = NULL;
modelica_metatype _a_type__name = NULL;
modelica_metatype _a_auxFunction = NULL;
modelica_metatype _a_varDecls = NULL;
modelica_metatype _a_context = NULL;
modelica_metatype _a_var__type = NULL;
modelica_metatype _a_var__cref = NULL;
modelica_boolean _a_bind__outside;
modelica_metatype _i_rhs__exp = NULL;
modelica_metatype _l_copy__stmt = NULL;
modelica_metatype _l_preExp1 = NULL;
volatile mmc_switch_type tmp4;
int tmp5;
tmp4 = 0;
for (; tmp4 < 3; tmp4++) {
switch (MMC_SWITCH_CAST(tmp4)) {
case 0: {
if (optionNone(tmp4_2)) goto tmp3_end;
tmpMeta[3] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 1));
_i_rhs__exp = tmpMeta[3];
_txt = tmp4_1;
_a_allocation = tmp4_3;
_a_preExp = tmp4_4;
_a_var__name = tmp4_5;
_a_type__name = tmp4_6;
_a_auxFunction = tmp4_7;
_a_varDecls = tmp4_8;
_a_context = tmp4_9;
_a_var__type = tmp4_10;
_a_var__cref = tmp4_11;
_a_bind__outside = tmp4_12;
_l_preExp1 = _OMC_LIT20;
_l_copy__stmt = omc_CodegenCFunctions_fun__121(threadData, _OMC_LIT20, _a_bind__outside, _a_var__name, _a_type__name, _a_auxFunction, _a_varDecls, _l_preExp1, _a_context, _a_var__type, _i_rhs__exp, _a_var__cref ,&_a_auxFunction ,&_a_varDecls ,&_l_preExp1);
_txt = omc_Tpl_writeText(threadData, _txt, _a_preExp);
_txt = omc_Tpl_softNewLine(threadData, _txt);
_txt = omc_Tpl_writeText(threadData, _txt, _a_allocation);
_txt = omc_Tpl_softNewLine(threadData, _txt);
_txt = omc_Tpl_writeText(threadData, _txt, _l_preExp1);
_txt = omc_Tpl_softNewLine(threadData, _txt);
_txt = omc_Tpl_writeText(threadData, _txt, _l_copy__stmt);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT2649);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_auxFunction;
tmpMeta[0+2] = _a_varDecls;
goto tmp3_done;
}
case 1: {
if (!optionNone(tmp4_2)) goto tmp3_end;
_txt = tmp4_1;
_a_allocation = tmp4_3;
_a_preExp = tmp4_4;
_a_var__name = tmp4_5;
_a_auxFunction = tmp4_7;
_a_varDecls = tmp4_8;
_txt = omc_Tpl_writeText(threadData, _txt, _a_preExp);
_txt = omc_Tpl_softNewLine(threadData, _txt);
_txt = omc_Tpl_writeText(threadData, _txt, _a_allocation);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT2651);
_txt = omc_Tpl_writeText(threadData, _txt, _a_var__name);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT2636);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT89);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_auxFunction;
tmpMeta[0+2] = _a_varDecls;
goto tmp3_done;
}
case 2: {
_txt = tmp4_1;
_a_auxFunction = tmp4_7;
_a_varDecls = tmp4_8;
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_auxFunction;
tmpMeta[0+2] = _a_varDecls;
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta[0+0];
_out_a_auxFunction = tmpMeta[0+1];
_out_a_varDecls = tmpMeta[0+2];
_return: OMC_LABEL_UNUSED
if (out_out_a_auxFunction) { *out_out_a_auxFunction = _out_a_auxFunction; }
if (out_out_a_varDecls) { *out_out_a_varDecls = _out_a_varDecls; }
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__122(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_value, modelica_metatype _in_a_allocation, modelica_metatype _in_a_preExp, modelica_metatype _in_a_var__name, modelica_metatype _in_a_type__name, modelica_metatype _in_a_auxFunction, modelica_metatype _in_a_varDecls, modelica_metatype _in_a_context, modelica_metatype _in_a_var__type, modelica_metatype _in_a_var__cref, modelica_metatype _in_a_bind__outside, modelica_metatype *out_out_a_auxFunction, modelica_metatype *out_out_a_varDecls)
{
modelica_integer tmp1;
modelica_metatype _out_txt = NULL;
tmp1 = mmc_unbox_integer(_in_a_bind__outside);
_out_txt = omc_CodegenCFunctions_fun__122(threadData, _in_txt, _in_a_value, _in_a_allocation, _in_a_preExp, _in_a_var__name, _in_a_type__name, _in_a_auxFunction, _in_a_varDecls, _in_a_context, _in_a_var__type, _in_a_var__cref, tmp1, out_out_a_auxFunction, out_out_a_varDecls);
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__121(threadData_t *threadData, modelica_metatype _in_txt, modelica_boolean _in_a_bind__outside, modelica_metatype _in_a_var__name, modelica_metatype _in_a_type__name, modelica_metatype _in_a_auxFunction, modelica_metatype _in_a_varDecls, modelica_metatype _in_a_preExp1, modelica_metatype _in_a_context, modelica_metatype _in_a_var__type, modelica_metatype _in_a_rhs__exp, modelica_metatype _in_a_var__cref, modelica_metatype *out_out_a_auxFunction, modelica_metatype *out_out_a_varDecls, modelica_metatype *out_out_a_preExp1)
{
modelica_metatype _out_txt = NULL;
modelica_metatype _out_a_auxFunction = NULL;
modelica_metatype _out_a_varDecls = NULL;
modelica_metatype _out_a_preExp1 = NULL;
modelica_metatype tmpMeta[4] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_boolean tmp4_2;modelica_metatype tmp4_3;modelica_metatype tmp4_4;modelica_metatype tmp4_5;modelica_metatype tmp4_6;modelica_metatype tmp4_7;modelica_metatype tmp4_8;modelica_metatype tmp4_9;modelica_metatype tmp4_10;modelica_metatype tmp4_11;
tmp4_1 = _in_txt;
tmp4_2 = _in_a_bind__outside;
tmp4_3 = _in_a_var__name;
tmp4_4 = _in_a_type__name;
tmp4_5 = _in_a_auxFunction;
tmp4_6 = _in_a_varDecls;
tmp4_7 = _in_a_preExp1;
tmp4_8 = _in_a_context;
tmp4_9 = _in_a_var__type;
tmp4_10 = _in_a_rhs__exp;
tmp4_11 = _in_a_var__cref;
{
modelica_metatype _txt = NULL;
modelica_metatype _a_var__name = NULL;
modelica_metatype _a_type__name = NULL;
modelica_metatype _a_auxFunction = NULL;
modelica_metatype _a_varDecls = NULL;
modelica_metatype _a_preExp1 = NULL;
modelica_metatype _a_context = NULL;
modelica_metatype _a_var__type = NULL;
modelica_metatype _a_rhs__exp = NULL;
modelica_metatype _a_var__cref = NULL;
modelica_metatype _l_in__var__name = NULL;
volatile mmc_switch_type tmp4;
int tmp5;
tmp4 = 0;
for (; tmp4 < 2; tmp4++) {
switch (MMC_SWITCH_CAST(tmp4)) {
case 0: {
if (0 != tmp4_2) goto tmp3_end;
_txt = tmp4_1;
_a_auxFunction = tmp4_5;
_a_varDecls = tmp4_6;
_a_preExp1 = tmp4_7;
_a_context = tmp4_8;
_a_var__type = tmp4_9;
_a_rhs__exp = tmp4_10;
_a_var__cref = tmp4_11;
_txt = omc_CodegenCFunctions_assignRhsExpToRecordCref(threadData, _txt, _a_var__cref, _a_rhs__exp, _a_var__type, _a_context, _a_preExp1, _a_varDecls, _a_auxFunction ,&_a_preExp1 ,&_a_varDecls ,&_a_auxFunction);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_auxFunction;
tmpMeta[0+2] = _a_varDecls;
tmpMeta[0+3] = _a_preExp1;
goto tmp3_done;
}
case 1: {
_txt = tmp4_1;
_a_var__name = tmp4_3;
_a_type__name = tmp4_4;
_a_auxFunction = tmp4_5;
_a_varDecls = tmp4_6;
_a_preExp1 = tmp4_7;
_a_var__cref = tmp4_11;
_l_in__var__name = omc_Tpl_writeTok(threadData, _OMC_LIT20, _OMC_LIT2646);
_l_in__var__name = omc_CodegenCFunctions_contextCrefNoPrevExp(threadData, _l_in__var__name, _a_var__cref, _OMC_LIT1356, _a_auxFunction ,&_a_auxFunction);
_txt = omc_Tpl_writeText(threadData, _txt, _a_type__name);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT591);
_txt = omc_Tpl_writeText(threadData, _txt, _l_in__var__name);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT292);
_txt = omc_Tpl_writeText(threadData, _txt, _a_var__name);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT290);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_auxFunction;
tmpMeta[0+2] = _a_varDecls;
tmpMeta[0+3] = _a_preExp1;
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta[0+0];
_out_a_auxFunction = tmpMeta[0+1];
_out_a_varDecls = tmpMeta[0+2];
_out_a_preExp1 = tmpMeta[0+3];
_return: OMC_LABEL_UNUSED
if (out_out_a_auxFunction) { *out_out_a_auxFunction = _out_a_auxFunction; }
if (out_out_a_varDecls) { *out_out_a_varDecls = _out_a_varDecls; }
if (out_out_a_preExp1) { *out_out_a_preExp1 = _out_a_preExp1; }
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__121(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_bind__outside, modelica_metatype _in_a_var__name, modelica_metatype _in_a_type__name, modelica_metatype _in_a_auxFunction, modelica_metatype _in_a_varDecls, modelica_metatype _in_a_preExp1, modelica_metatype _in_a_context, modelica_metatype _in_a_var__type, modelica_metatype _in_a_rhs__exp, modelica_metatype _in_a_var__cref, modelica_metatype *out_out_a_auxFunction, modelica_metatype *out_out_a_varDecls, modelica_metatype *out_out_a_preExp1)
{
modelica_integer tmp1;
modelica_metatype _out_txt = NULL;
tmp1 = mmc_unbox_integer(_in_a_bind__outside);
_out_txt = omc_CodegenCFunctions_fun__121(threadData, _in_txt, tmp1, _in_a_var__name, _in_a_type__name, _in_a_auxFunction, _in_a_varDecls, _in_a_preExp1, _in_a_context, _in_a_var__type, _in_a_rhs__exp, _in_a_var__cref, out_out_a_auxFunction, out_out_a_varDecls, out_out_a_preExp1);
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__120(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_var__type, modelica_metatype _in_a_auxFunction, modelica_metatype _in_a_varDecls, modelica_metatype _in_a_preExp, modelica_metatype _in_a_context, modelica_metatype _in_a_ctor__suffix, modelica_metatype *out_out_a_auxFunction, modelica_metatype *out_out_a_varDecls, modelica_metatype *out_out_a_preExp, modelica_metatype *out_out_a_ctor__suffix)
{
modelica_metatype _out_txt = NULL;
modelica_metatype _out_a_auxFunction = NULL;
modelica_metatype _out_a_varDecls = NULL;
modelica_metatype _out_a_preExp = NULL;
modelica_metatype _out_a_ctor__suffix = NULL;
modelica_metatype tmpMeta[6] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_metatype tmp4_2;modelica_metatype tmp4_3;modelica_metatype tmp4_4;modelica_metatype tmp4_5;modelica_metatype tmp4_6;modelica_metatype tmp4_7;
tmp4_1 = _in_txt;
tmp4_2 = _in_a_var__type;
tmp4_3 = _in_a_auxFunction;
tmp4_4 = _in_a_varDecls;
tmp4_5 = _in_a_preExp;
tmp4_6 = _in_a_context;
tmp4_7 = _in_a_ctor__suffix;
{
modelica_metatype _txt = NULL;
modelica_metatype _a_auxFunction = NULL;
modelica_metatype _a_varDecls = NULL;
modelica_metatype _a_preExp = NULL;
modelica_metatype _a_context = NULL;
modelica_metatype _a_ctor__suffix = NULL;
modelica_metatype _i_ty_varLst = NULL;
volatile mmc_switch_type tmp4;
int tmp5;
tmp4 = 0;
for (; tmp4 < 2; tmp4++) {
switch (MMC_SWITCH_CAST(tmp4)) {
case 0: {
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,9,3) == 0) goto tmp3_end;
tmpMeta[5] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 3));
_i_ty_varLst = tmpMeta[5];
_txt = tmp4_1;
_a_auxFunction = tmp4_3;
_a_varDecls = tmp4_4;
_a_preExp = tmp4_5;
_a_context = tmp4_6;
_a_ctor__suffix = tmp4_7;
_txt = omc_Tpl_pushIter(threadData, _txt, _OMC_LIT139);
_txt = omc_CodegenCFunctions_lm__119(threadData, _txt, _i_ty_varLst, _a_auxFunction, _a_varDecls, _a_preExp, _a_context, _a_ctor__suffix ,&_a_auxFunction ,&_a_varDecls ,&_a_preExp ,&_a_ctor__suffix);
_txt = omc_Tpl_popIter(threadData, _txt);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_auxFunction;
tmpMeta[0+2] = _a_varDecls;
tmpMeta[0+3] = _a_preExp;
tmpMeta[0+4] = _a_ctor__suffix;
goto tmp3_done;
}
case 1: {
_txt = tmp4_1;
_a_auxFunction = tmp4_3;
_a_varDecls = tmp4_4;
_a_preExp = tmp4_5;
_a_ctor__suffix = tmp4_7;
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_auxFunction;
tmpMeta[0+2] = _a_varDecls;
tmpMeta[0+3] = _a_preExp;
tmpMeta[0+4] = _a_ctor__suffix;
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta[0+0];
_out_a_auxFunction = tmpMeta[0+1];
_out_a_varDecls = tmpMeta[0+2];
_out_a_preExp = tmpMeta[0+3];
_out_a_ctor__suffix = tmpMeta[0+4];
_return: OMC_LABEL_UNUSED
if (out_out_a_auxFunction) { *out_out_a_auxFunction = _out_a_auxFunction; }
if (out_out_a_varDecls) { *out_out_a_varDecls = _out_a_varDecls; }
if (out_out_a_preExp) { *out_out_a_preExp = _out_a_preExp; }
if (out_out_a_ctor__suffix) { *out_out_a_ctor__suffix = _out_a_ctor__suffix; }
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_lm__119(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_items, modelica_metatype _in_a_auxFunction, modelica_metatype _in_a_varDecls, modelica_metatype _in_a_preExp, modelica_metatype _in_a_context, modelica_metatype _in_a_ctor__suffix, modelica_metatype *out_out_a_auxFunction, modelica_metatype *out_out_a_varDecls, modelica_metatype *out_out_a_preExp, modelica_metatype *out_out_a_ctor__suffix)
{
modelica_metatype _out_txt = NULL;
modelica_metatype _out_a_auxFunction = NULL;
modelica_metatype _out_a_varDecls = NULL;
modelica_metatype _out_a_preExp = NULL;
modelica_metatype _out_a_ctor__suffix = NULL;
modelica_metatype tmpMeta[7] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_metatype tmp4_2;modelica_metatype tmp4_3;modelica_metatype tmp4_4;modelica_metatype tmp4_5;modelica_metatype tmp4_6;modelica_metatype tmp4_7;
tmp4_1 = _in_txt;
tmp4_2 = _in_items;
tmp4_3 = _in_a_auxFunction;
tmp4_4 = _in_a_varDecls;
tmp4_5 = _in_a_preExp;
tmp4_6 = _in_a_context;
tmp4_7 = _in_a_ctor__suffix;
{
modelica_metatype _txt = NULL;
modelica_metatype _rest = NULL;
modelica_metatype _a_auxFunction = NULL;
modelica_metatype _a_varDecls = NULL;
modelica_metatype _a_preExp = NULL;
modelica_metatype _a_context = NULL;
modelica_metatype _a_ctor__suffix = NULL;
modelica_integer _x_i1;
modelica_metatype _i_sv = NULL;
volatile mmc_switch_type tmp4;
int tmp5;
tmp4 = 0;
for (; tmp4 < 2; tmp4++) {
switch (MMC_SWITCH_CAST(tmp4)) {
case 0: {
if (!listEmpty(tmp4_2)) goto tmp3_end;
_txt = tmp4_1;
_a_auxFunction = tmp4_3;
_a_varDecls = tmp4_4;
_a_preExp = tmp4_5;
_a_ctor__suffix = tmp4_7;
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_auxFunction;
tmpMeta[0+2] = _a_varDecls;
tmpMeta[0+3] = _a_preExp;
tmpMeta[0+4] = _a_ctor__suffix;
goto tmp3_done;
}
case 1: {
if (listEmpty(tmp4_2)) goto tmp3_end;
tmpMeta[5] = MMC_CAR(tmp4_2);
tmpMeta[6] = MMC_CDR(tmp4_2);
_i_sv = tmpMeta[5];
_rest = tmpMeta[6];
_txt = tmp4_1;
_a_auxFunction = tmp4_3;
_a_varDecls = tmp4_4;
_a_preExp = tmp4_5;
_a_context = tmp4_6;
_a_ctor__suffix = tmp4_7;
_x_i1 = omc_Tpl_getIteri__i0(threadData, _txt);
_txt = omc_CodegenCFunctions_recordInitOutsideBindings(threadData, _txt, _i_sv, _x_i1, _a_ctor__suffix, _a_context, _a_preExp, _a_varDecls, _a_auxFunction ,&_a_ctor__suffix ,&_a_preExp ,&_a_varDecls ,&_a_auxFunction);
_txt = omc_Tpl_nextIter(threadData, _txt);
_in_txt = _txt;
_in_items = _rest;
_in_a_auxFunction = _a_auxFunction;
_in_a_varDecls = _a_varDecls;
_in_a_preExp = _a_preExp;
_in_a_context = _a_context;
_in_a_ctor__suffix = _a_ctor__suffix;
goto _tailrecursive;
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta[0+0];
_out_a_auxFunction = tmpMeta[0+1];
_out_a_varDecls = tmpMeta[0+2];
_out_a_preExp = tmpMeta[0+3];
_out_a_ctor__suffix = tmpMeta[0+4];
_return: OMC_LABEL_UNUSED
if (out_out_a_auxFunction) { *out_out_a_auxFunction = _out_a_auxFunction; }
if (out_out_a_varDecls) { *out_out_a_varDecls = _out_a_varDecls; }
if (out_out_a_preExp) { *out_out_a_preExp = _out_a_preExp; }
if (out_out_a_ctor__suffix) { *out_out_a_ctor__suffix = _out_a_ctor__suffix; }
return _out_txt;
}
DLLExport
modelica_metatype omc_CodegenCFunctions_simpleVarInit(threadData_t *threadData, modelica_metatype _txt, modelica_metatype _a_value, modelica_metatype _a_var__cref, modelica_boolean _a_bind__outside, modelica_metatype _a_context, modelica_metatype _a_varDecls, modelica_metatype _a_auxFunction, modelica_metatype *out_out_a_varDecls, modelica_metatype *out_out_a_auxFunction)
{
modelica_metatype _out_txt = NULL;
modelica_metatype _out_a_varDecls = NULL;
modelica_metatype _out_a_auxFunction = NULL;
modelica_metatype _l_var__name = NULL;
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
_l_var__name = omc_CodegenCFunctions_contextCrefNoPrevExp(threadData, _OMC_LIT20, _a_var__cref, _a_context, _a_auxFunction ,&_out_a_auxFunction);
_out_txt = omc_CodegenCFunctions_fun__117(threadData, _txt, _a_value, _l_var__name, _a_var__cref, _out_a_auxFunction, _a_varDecls, _a_context, _a_bind__outside ,&_out_a_auxFunction ,&_out_a_varDecls);
_return: OMC_LABEL_UNUSED
if (out_out_a_varDecls) { *out_out_a_varDecls = _out_a_varDecls; }
if (out_out_a_auxFunction) { *out_out_a_auxFunction = _out_a_auxFunction; }
return _out_txt;
}
modelica_metatype boxptr_CodegenCFunctions_simpleVarInit(threadData_t *threadData, modelica_metatype _txt, modelica_metatype _a_value, modelica_metatype _a_var__cref, modelica_metatype _a_bind__outside, modelica_metatype _a_context, modelica_metatype _a_varDecls, modelica_metatype _a_auxFunction, modelica_metatype *out_out_a_varDecls, modelica_metatype *out_out_a_auxFunction)
{
modelica_integer tmp1;
modelica_metatype _out_txt = NULL;
tmp1 = mmc_unbox_integer(_a_bind__outside);
_out_txt = omc_CodegenCFunctions_simpleVarInit(threadData, _txt, _a_value, _a_var__cref, tmp1, _a_context, _a_varDecls, _a_auxFunction, out_out_a_varDecls, out_out_a_auxFunction);
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__117(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_value, modelica_metatype _in_a_var__name, modelica_metatype _in_a_var__cref, modelica_metatype _in_a_auxFunction, modelica_metatype _in_a_varDecls, modelica_metatype _in_a_context, modelica_boolean _in_a_bind__outside, modelica_metatype *out_out_a_auxFunction, modelica_metatype *out_out_a_varDecls)
{
modelica_metatype _out_txt = NULL;
modelica_metatype _out_a_auxFunction = NULL;
modelica_metatype _out_a_varDecls = NULL;
modelica_metatype tmpMeta[4] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_metatype tmp4_2;modelica_metatype tmp4_3;modelica_metatype tmp4_4;modelica_metatype tmp4_5;modelica_metatype tmp4_6;modelica_metatype tmp4_7;modelica_boolean tmp4_8;
tmp4_1 = _in_txt;
tmp4_2 = _in_a_value;
tmp4_3 = _in_a_var__name;
tmp4_4 = _in_a_var__cref;
tmp4_5 = _in_a_auxFunction;
tmp4_6 = _in_a_varDecls;
tmp4_7 = _in_a_context;
tmp4_8 = _in_a_bind__outside;
{
modelica_metatype _txt = NULL;
modelica_metatype _a_var__name = NULL;
modelica_metatype _a_var__cref = NULL;
modelica_metatype _a_auxFunction = NULL;
modelica_metatype _a_varDecls = NULL;
modelica_metatype _a_context = NULL;
modelica_boolean _a_bind__outside;
modelica_metatype _i_rhs__exp = NULL;
modelica_metatype _l_rhs = NULL;
modelica_metatype _l_preExp = NULL;
volatile mmc_switch_type tmp4;
int tmp5;
tmp4 = 0;
for (; tmp4 < 3; tmp4++) {
switch (MMC_SWITCH_CAST(tmp4)) {
case 0: {
if (optionNone(tmp4_2)) goto tmp3_end;
tmpMeta[3] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 1));
_i_rhs__exp = tmpMeta[3];
_txt = tmp4_1;
_a_var__name = tmp4_3;
_a_var__cref = tmp4_4;
_a_auxFunction = tmp4_5;
_a_varDecls = tmp4_6;
_a_context = tmp4_7;
_a_bind__outside = tmp4_8;
_l_preExp = _OMC_LIT20;
_l_rhs = omc_CodegenCFunctions_fun__116(threadData, _OMC_LIT20, _a_bind__outside, _a_var__cref, _a_auxFunction, _a_varDecls, _l_preExp, _a_context, _i_rhs__exp ,&_a_auxFunction ,&_a_varDecls ,&_l_preExp);
_txt = omc_Tpl_writeText(threadData, _txt, _l_preExp);
_txt = omc_Tpl_softNewLine(threadData, _txt);
_txt = omc_Tpl_writeText(threadData, _txt, _a_var__name);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT121);
_txt = omc_Tpl_writeText(threadData, _txt, _l_rhs);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT105);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT89);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_auxFunction;
tmpMeta[0+2] = _a_varDecls;
goto tmp3_done;
}
case 1: {
if (!optionNone(tmp4_2)) goto tmp3_end;
_txt = tmp4_1;
_a_var__name = tmp4_3;
_a_auxFunction = tmp4_5;
_a_varDecls = tmp4_6;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT2652);
_txt = omc_Tpl_writeText(threadData, _txt, _a_var__name);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT2636);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT89);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_auxFunction;
tmpMeta[0+2] = _a_varDecls;
goto tmp3_done;
}
case 2: {
_txt = tmp4_1;
_a_auxFunction = tmp4_5;
_a_varDecls = tmp4_6;
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_auxFunction;
tmpMeta[0+2] = _a_varDecls;
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta[0+0];
_out_a_auxFunction = tmpMeta[0+1];
_out_a_varDecls = tmpMeta[0+2];
_return: OMC_LABEL_UNUSED
if (out_out_a_auxFunction) { *out_out_a_auxFunction = _out_a_auxFunction; }
if (out_out_a_varDecls) { *out_out_a_varDecls = _out_a_varDecls; }
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__117(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_value, modelica_metatype _in_a_var__name, modelica_metatype _in_a_var__cref, modelica_metatype _in_a_auxFunction, modelica_metatype _in_a_varDecls, modelica_metatype _in_a_context, modelica_metatype _in_a_bind__outside, modelica_metatype *out_out_a_auxFunction, modelica_metatype *out_out_a_varDecls)
{
modelica_integer tmp1;
modelica_metatype _out_txt = NULL;
tmp1 = mmc_unbox_integer(_in_a_bind__outside);
_out_txt = omc_CodegenCFunctions_fun__117(threadData, _in_txt, _in_a_value, _in_a_var__name, _in_a_var__cref, _in_a_auxFunction, _in_a_varDecls, _in_a_context, tmp1, out_out_a_auxFunction, out_out_a_varDecls);
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__116(threadData_t *threadData, modelica_metatype _in_txt, modelica_boolean _in_a_bind__outside, modelica_metatype _in_a_var__cref, modelica_metatype _in_a_auxFunction, modelica_metatype _in_a_varDecls, modelica_metatype _in_a_preExp, modelica_metatype _in_a_context, modelica_metatype _in_a_rhs__exp, modelica_metatype *out_out_a_auxFunction, modelica_metatype *out_out_a_varDecls, modelica_metatype *out_out_a_preExp)
{
modelica_metatype _out_txt = NULL;
modelica_metatype _out_a_auxFunction = NULL;
modelica_metatype _out_a_varDecls = NULL;
modelica_metatype _out_a_preExp = NULL;
modelica_metatype tmpMeta[4] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_boolean tmp4_2;modelica_metatype tmp4_3;modelica_metatype tmp4_4;modelica_metatype tmp4_5;modelica_metatype tmp4_6;modelica_metatype tmp4_7;modelica_metatype tmp4_8;
tmp4_1 = _in_txt;
tmp4_2 = _in_a_bind__outside;
tmp4_3 = _in_a_var__cref;
tmp4_4 = _in_a_auxFunction;
tmp4_5 = _in_a_varDecls;
tmp4_6 = _in_a_preExp;
tmp4_7 = _in_a_context;
tmp4_8 = _in_a_rhs__exp;
{
modelica_metatype _txt = NULL;
modelica_metatype _a_var__cref = NULL;
modelica_metatype _a_auxFunction = NULL;
modelica_metatype _a_varDecls = NULL;
modelica_metatype _a_preExp = NULL;
modelica_metatype _a_context = NULL;
modelica_metatype _a_rhs__exp = NULL;
volatile mmc_switch_type tmp4;
int tmp5;
tmp4 = 0;
for (; tmp4 < 2; tmp4++) {
switch (MMC_SWITCH_CAST(tmp4)) {
case 0: {
if (0 != tmp4_2) goto tmp3_end;
_txt = tmp4_1;
_a_auxFunction = tmp4_4;
_a_varDecls = tmp4_5;
_a_preExp = tmp4_6;
_a_context = tmp4_7;
_a_rhs__exp = tmp4_8;
_txt = omc_CodegenCFunctions_daeExp(threadData, _txt, _a_rhs__exp, _a_context, _a_preExp, _a_varDecls, _a_auxFunction ,&_a_preExp ,&_a_varDecls ,&_a_auxFunction);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_auxFunction;
tmpMeta[0+2] = _a_varDecls;
tmpMeta[0+3] = _a_preExp;
goto tmp3_done;
}
case 1: {
_txt = tmp4_1;
_a_var__cref = tmp4_3;
_a_auxFunction = tmp4_4;
_a_varDecls = tmp4_5;
_a_preExp = tmp4_6;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT2646);
_txt = omc_CodegenCFunctions_contextCrefNoPrevExp(threadData, _txt, _a_var__cref, _OMC_LIT1356, _a_auxFunction ,&_a_auxFunction);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_auxFunction;
tmpMeta[0+2] = _a_varDecls;
tmpMeta[0+3] = _a_preExp;
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta[0+0];
_out_a_auxFunction = tmpMeta[0+1];
_out_a_varDecls = tmpMeta[0+2];
_out_a_preExp = tmpMeta[0+3];
_return: OMC_LABEL_UNUSED
if (out_out_a_auxFunction) { *out_out_a_auxFunction = _out_a_auxFunction; }
if (out_out_a_varDecls) { *out_out_a_varDecls = _out_a_varDecls; }
if (out_out_a_preExp) { *out_out_a_preExp = _out_a_preExp; }
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__116(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_bind__outside, modelica_metatype _in_a_var__cref, modelica_metatype _in_a_auxFunction, modelica_metatype _in_a_varDecls, modelica_metatype _in_a_preExp, modelica_metatype _in_a_context, modelica_metatype _in_a_rhs__exp, modelica_metatype *out_out_a_auxFunction, modelica_metatype *out_out_a_varDecls, modelica_metatype *out_out_a_preExp)
{
modelica_integer tmp1;
modelica_metatype _out_txt = NULL;
tmp1 = mmc_unbox_integer(_in_a_bind__outside);
_out_txt = omc_CodegenCFunctions_fun__116(threadData, _in_txt, tmp1, _in_a_var__cref, _in_a_auxFunction, _in_a_varDecls, _in_a_preExp, _in_a_context, _in_a_rhs__exp, out_out_a_auxFunction, out_out_a_varDecls, out_out_a_preExp);
return _out_txt;
}
DLLExport
modelica_metatype omc_CodegenCFunctions_recordMemberAllocInit(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_var, modelica_metatype _in_a_context, modelica_metatype _in_a_varDecls, modelica_metatype _in_a_auxFunction, modelica_metatype *out_out_a_varDecls, modelica_metatype *out_out_a_auxFunction)
{
modelica_metatype _out_txt = NULL;
modelica_metatype _out_a_varDecls = NULL;
modelica_metatype _out_a_auxFunction = NULL;
modelica_metatype tmpMeta[7] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_metatype tmp4_2;modelica_metatype tmp4_3;modelica_metatype tmp4_4;modelica_metatype tmp4_5;
tmp4_1 = _in_txt;
tmp4_2 = _in_a_var;
tmp4_3 = _in_a_context;
tmp4_4 = _in_a_varDecls;
tmp4_5 = _in_a_auxFunction;
{
modelica_metatype _txt = NULL;
modelica_metatype _a_context = NULL;
modelica_metatype _a_varDecls = NULL;
modelica_metatype _a_auxFunction = NULL;
modelica_boolean _i_var_bind__from__outside;
modelica_metatype _i_var_value = NULL;
modelica_metatype _i_var_name = NULL;
modelica_metatype _i_var_ty = NULL;
volatile mmc_switch_type tmp4;
int tmp5;
tmp4 = 0;
for (; tmp4 < 2; tmp4++) {
switch (MMC_SWITCH_CAST(tmp4)) {
case 0: {
modelica_integer tmp6;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,0,7) == 0) goto tmp3_end;
tmpMeta[3] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
tmpMeta[4] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 3));
tmpMeta[5] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 4));
tmpMeta[6] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 8));
tmp6 = mmc_unbox_integer(tmpMeta[6]);
_i_var_name = tmpMeta[3];
_i_var_ty = tmpMeta[4];
_i_var_value = tmpMeta[5];
_i_var_bind__from__outside = tmp6;
_txt = tmp4_1;
_a_context = tmp4_3;
_a_varDecls = tmp4_4;
_a_auxFunction = tmp4_5;
_txt = omc_CodegenCFunctions_fun__114(threadData, _txt, _i_var_ty, _a_auxFunction, _a_varDecls, _a_context, _i_var_bind__from__outside, _i_var_value, _i_var_name ,&_a_auxFunction ,&_a_varDecls);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_varDecls;
tmpMeta[0+2] = _a_auxFunction;
goto tmp3_done;
}
case 1: {
_txt = tmp4_1;
_a_varDecls = tmp4_4;
_a_auxFunction = tmp4_5;
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_varDecls;
tmpMeta[0+2] = _a_auxFunction;
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta[0+0];
_out_a_varDecls = tmpMeta[0+1];
_out_a_auxFunction = tmpMeta[0+2];
_return: OMC_LABEL_UNUSED
if (out_out_a_varDecls) { *out_out_a_varDecls = _out_a_varDecls; }
if (out_out_a_auxFunction) { *out_out_a_auxFunction = _out_a_auxFunction; }
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__114(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_var_ty, modelica_metatype _in_a_auxFunction, modelica_metatype _in_a_varDecls, modelica_metatype _in_a_context, modelica_boolean _in_a_var_bind__from__outside, modelica_metatype _in_a_var_value, modelica_metatype _in_a_var_name, modelica_metatype *out_out_a_auxFunction, modelica_metatype *out_out_a_varDecls)
{
modelica_metatype _out_txt = NULL;
modelica_metatype _out_a_auxFunction = NULL;
modelica_metatype _out_a_varDecls = NULL;
modelica_metatype tmpMeta[4] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_metatype tmp4_2;modelica_metatype tmp4_3;modelica_metatype tmp4_4;modelica_metatype tmp4_5;modelica_boolean tmp4_6;modelica_metatype tmp4_7;modelica_metatype tmp4_8;
tmp4_1 = _in_txt;
tmp4_2 = _in_a_var_ty;
tmp4_3 = _in_a_auxFunction;
tmp4_4 = _in_a_varDecls;
tmp4_5 = _in_a_context;
tmp4_6 = _in_a_var_bind__from__outside;
tmp4_7 = _in_a_var_value;
tmp4_8 = _in_a_var_name;
{
modelica_metatype _txt = NULL;
modelica_metatype _a_auxFunction = NULL;
modelica_metatype _a_varDecls = NULL;
modelica_metatype _a_context = NULL;
modelica_boolean _a_var_bind__from__outside;
modelica_metatype _a_var_value = NULL;
modelica_metatype _a_var_name = NULL;
modelica_metatype _i_ty_dims = NULL;
modelica_metatype _i_ty = NULL;
volatile mmc_switch_type tmp4;
int tmp5;
tmp4 = 0;
for (; tmp4 < 3; tmp4++) {
switch (MMC_SWITCH_CAST(tmp4)) {
case 0: {
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,6,2) == 0) goto tmp3_end;
tmpMeta[3] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 3));
_i_ty = tmp4_2;
_i_ty_dims = tmpMeta[3];
_txt = tmp4_1;
_a_auxFunction = tmp4_3;
_a_varDecls = tmp4_4;
_a_context = tmp4_5;
_a_var_bind__from__outside = tmp4_6;
_a_var_value = tmp4_7;
_a_var_name = tmp4_8;
_txt = omc_CodegenCFunctions_arrayVarAllocInit(threadData, _txt, _a_var_name, _i_ty, _i_ty_dims, _a_var_value, _a_var_bind__from__outside, _a_context, _a_varDecls, _a_auxFunction ,&_a_varDecls ,&_a_auxFunction);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_auxFunction;
tmpMeta[0+2] = _a_varDecls;
goto tmp3_done;
}
case 1: {
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,9,3) == 0) goto tmp3_end;
tmpMeta[3] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[3],3,1) == 0) goto tmp3_end;
_i_ty = tmp4_2;
_txt = tmp4_1;
_a_auxFunction = tmp4_3;
_a_varDecls = tmp4_4;
_a_context = tmp4_5;
_a_var_bind__from__outside = tmp4_6;
_a_var_value = tmp4_7;
_a_var_name = tmp4_8;
_txt = omc_CodegenCFunctions_recordVarAllocInit(threadData, _txt, _a_var_value, _a_var_name, _a_var_bind__from__outside, _i_ty, _a_context, _a_varDecls, _a_auxFunction ,&_a_varDecls ,&_a_auxFunction);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_auxFunction;
tmpMeta[0+2] = _a_varDecls;
goto tmp3_done;
}
case 2: {
_txt = tmp4_1;
_a_auxFunction = tmp4_3;
_a_varDecls = tmp4_4;
_a_context = tmp4_5;
_a_var_bind__from__outside = tmp4_6;
_a_var_value = tmp4_7;
_a_var_name = tmp4_8;
_txt = omc_CodegenCFunctions_simpleVarInit(threadData, _txt, _a_var_value, _a_var_name, _a_var_bind__from__outside, _a_context, _a_varDecls, _a_auxFunction ,&_a_varDecls ,&_a_auxFunction);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_auxFunction;
tmpMeta[0+2] = _a_varDecls;
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta[0+0];
_out_a_auxFunction = tmpMeta[0+1];
_out_a_varDecls = tmpMeta[0+2];
_return: OMC_LABEL_UNUSED
if (out_out_a_auxFunction) { *out_out_a_auxFunction = _out_a_auxFunction; }
if (out_out_a_varDecls) { *out_out_a_varDecls = _out_a_varDecls; }
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__114(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_var_ty, modelica_metatype _in_a_auxFunction, modelica_metatype _in_a_varDecls, modelica_metatype _in_a_context, modelica_metatype _in_a_var_bind__from__outside, modelica_metatype _in_a_var_value, modelica_metatype _in_a_var_name, modelica_metatype *out_out_a_auxFunction, modelica_metatype *out_out_a_varDecls)
{
modelica_integer tmp1;
modelica_metatype _out_txt = NULL;
tmp1 = mmc_unbox_integer(_in_a_var_bind__from__outside);
_out_txt = omc_CodegenCFunctions_fun__114(threadData, _in_txt, _in_a_var_ty, _in_a_auxFunction, _in_a_varDecls, _in_a_context, tmp1, _in_a_var_value, _in_a_var_name, out_out_a_auxFunction, out_out_a_varDecls);
return _out_txt;
}
DLLExport
modelica_metatype omc_CodegenCFunctions_recordConstructorDef(threadData_t *threadData, modelica_metatype _txt, modelica_string _a_ctor__name, modelica_string _a_rec__name, modelica_metatype _a_variables)
{
modelica_metatype _out_txt = NULL;
modelica_metatype _l_varInits = NULL;
modelica_metatype _l_ctor__additional__inputs = NULL;
modelica_metatype _l_auxFunction = NULL;
modelica_metatype _l_varDecls = NULL;
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
_l_varDecls = _OMC_LIT20;
_l_auxFunction = _OMC_LIT20;
_l_ctor__additional__inputs = omc_CodegenCFunctions_lm__111(threadData, _OMC_LIT20, _a_variables, _l_auxFunction ,&_l_auxFunction);
_l_varInits = omc_CodegenCFunctions_lm__112(threadData, _OMC_LIT20, _a_variables, _l_auxFunction, _l_varDecls ,&_l_auxFunction ,&_l_varDecls);
_out_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT2578);
_out_txt = omc_Tpl_writeStr(threadData, _out_txt, _a_ctor__name);
_out_txt = omc_Tpl_writeTok(threadData, _out_txt, _OMC_LIT2654);
_out_txt = omc_Tpl_writeText(threadData, _out_txt, _l_ctor__additional__inputs);
_out_txt = omc_Tpl_writeTok(threadData, _out_txt, _OMC_LIT183);
_out_txt = omc_Tpl_pushBlock(threadData, _out_txt, _OMC_LIT97);
_out_txt = omc_Tpl_writeStr(threadData, _out_txt, _a_rec__name);
_out_txt = omc_Tpl_writeTok(threadData, _out_txt, _OMC_LIT2656);
_out_txt = omc_Tpl_writeStr(threadData, _out_txt, _a_rec__name);
_out_txt = omc_Tpl_writeTok(threadData, _out_txt, _OMC_LIT2658);
_out_txt = omc_Tpl_writeText(threadData, _out_txt, _l_varDecls);
_out_txt = omc_Tpl_softNewLine(threadData, _out_txt);
_out_txt = omc_Tpl_writeText(threadData, _out_txt, _l_varInits);
_out_txt = omc_Tpl_softNewLine(threadData, _out_txt);
_out_txt = omc_Tpl_popBlock(threadData, _out_txt);
_out_txt = omc_Tpl_writeTok(threadData, _out_txt, _OMC_LIT103);
_return: OMC_LABEL_UNUSED
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_lm__112(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_items, modelica_metatype _in_a_auxFunction, modelica_metatype _in_a_varDecls, modelica_metatype *out_out_a_auxFunction, modelica_metatype *out_out_a_varDecls)
{
modelica_metatype _out_txt = NULL;
modelica_metatype _out_a_auxFunction = NULL;
modelica_metatype _out_a_varDecls = NULL;
modelica_metatype tmpMeta[5] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_metatype tmp4_2;modelica_metatype tmp4_3;modelica_metatype tmp4_4;
tmp4_1 = _in_txt;
tmp4_2 = _in_items;
tmp4_3 = _in_a_auxFunction;
tmp4_4 = _in_a_varDecls;
{
modelica_metatype _txt = NULL;
modelica_metatype _rest = NULL;
modelica_metatype _a_auxFunction = NULL;
modelica_metatype _a_varDecls = NULL;
modelica_metatype _i_var = NULL;
modelica_metatype _ret_0 = NULL;
volatile mmc_switch_type tmp4;
int tmp5;
tmp4 = 0;
for (; tmp4 < 2; tmp4++) {
switch (MMC_SWITCH_CAST(tmp4)) {
case 0: {
if (!listEmpty(tmp4_2)) goto tmp3_end;
_txt = tmp4_1;
_a_auxFunction = tmp4_3;
_a_varDecls = tmp4_4;
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_auxFunction;
tmpMeta[0+2] = _a_varDecls;
goto tmp3_done;
}
case 1: {
if (listEmpty(tmp4_2)) goto tmp3_end;
tmpMeta[3] = MMC_CAR(tmp4_2);
tmpMeta[4] = MMC_CDR(tmp4_2);
_i_var = tmpMeta[3];
_rest = tmpMeta[4];
_txt = tmp4_1;
_a_auxFunction = tmp4_3;
_a_varDecls = tmp4_4;
_ret_0 = omc_SimCodeFunctionUtil_appendCurrentCrefPrefix(threadData, _OMC_LIT1356, _OMC_LIT2659);
_txt = omc_CodegenCFunctions_recordMemberAllocInit(threadData, _txt, _i_var, _ret_0, _a_varDecls, _a_auxFunction ,&_a_varDecls ,&_a_auxFunction);
_in_txt = _txt;
_in_items = _rest;
_in_a_auxFunction = _a_auxFunction;
_in_a_varDecls = _a_varDecls;
goto _tailrecursive;
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta[0+0];
_out_a_auxFunction = tmpMeta[0+1];
_out_a_varDecls = tmpMeta[0+2];
_return: OMC_LABEL_UNUSED
if (out_out_a_auxFunction) { *out_out_a_auxFunction = _out_a_auxFunction; }
if (out_out_a_varDecls) { *out_out_a_varDecls = _out_a_varDecls; }
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_lm__111(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_items, modelica_metatype _in_a_auxFunction, modelica_metatype *out_out_a_auxFunction)
{
modelica_metatype _out_txt = NULL;
modelica_metatype _out_a_auxFunction = NULL;
modelica_metatype tmpMeta[6] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_metatype tmp4_2;modelica_metatype tmp4_3;
tmp4_1 = _in_txt;
tmp4_2 = _in_items;
tmp4_3 = _in_a_auxFunction;
{
modelica_metatype _txt = NULL;
modelica_metatype _rest = NULL;
modelica_metatype _a_auxFunction = NULL;
modelica_metatype _i_var_name = NULL;
modelica_metatype _i_var = NULL;
modelica_boolean _i_var_bind__from__outside;
volatile mmc_switch_type tmp4;
int tmp5;
tmp4 = 0;
for (; tmp4 < 3; tmp4++) {
switch (MMC_SWITCH_CAST(tmp4)) {
case 0: {
if (!listEmpty(tmp4_2)) goto tmp3_end;
_txt = tmp4_1;
_a_auxFunction = tmp4_3;
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_auxFunction;
goto tmp3_done;
}
case 1: {
modelica_integer tmp6;
if (listEmpty(tmp4_2)) goto tmp3_end;
tmpMeta[2] = MMC_CAR(tmp4_2);
tmpMeta[3] = MMC_CDR(tmp4_2);
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[2],0,7) == 0) goto tmp3_end;
tmpMeta[4] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[2]), 2));
tmpMeta[5] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[2]), 8));
tmp6 = mmc_unbox_integer(tmpMeta[5]);
_i_var = tmpMeta[2];
_i_var_name = tmpMeta[4];
_i_var_bind__from__outside = tmp6;
_rest = tmpMeta[3];
_txt = tmp4_1;
_a_auxFunction = tmp4_3;
_txt = omc_CodegenCFunctions_fun__110(threadData, _txt, _i_var_bind__from__outside, _a_auxFunction, _i_var_name, _i_var ,&_a_auxFunction);
_in_txt = _txt;
_in_items = _rest;
_in_a_auxFunction = _a_auxFunction;
goto _tailrecursive;
goto tmp3_done;
}
case 2: {
if (listEmpty(tmp4_2)) goto tmp3_end;
tmpMeta[2] = MMC_CAR(tmp4_2);
tmpMeta[3] = MMC_CDR(tmp4_2);
_rest = tmpMeta[3];
_txt = tmp4_1;
_a_auxFunction = tmp4_3;
_in_txt = _txt;
_in_items = _rest;
_in_a_auxFunction = _a_auxFunction;
goto _tailrecursive;
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta[0+0];
_out_a_auxFunction = tmpMeta[0+1];
_return: OMC_LABEL_UNUSED
if (out_out_a_auxFunction) { *out_out_a_auxFunction = _out_a_auxFunction; }
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__110(threadData_t *threadData, modelica_metatype _in_txt, modelica_boolean _in_a_var_bind__from__outside, modelica_metatype _in_a_auxFunction, modelica_metatype _in_a_var_name, modelica_metatype _in_a_var, modelica_metatype *out_out_a_auxFunction)
{
modelica_metatype _out_txt = NULL;
modelica_metatype _out_a_auxFunction = NULL;
modelica_metatype tmpMeta[2] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_boolean tmp4_2;modelica_metatype tmp4_3;modelica_metatype tmp4_4;modelica_metatype tmp4_5;
tmp4_1 = _in_txt;
tmp4_2 = _in_a_var_bind__from__outside;
tmp4_3 = _in_a_auxFunction;
tmp4_4 = _in_a_var_name;
tmp4_5 = _in_a_var;
{
modelica_metatype _txt = NULL;
modelica_metatype _a_auxFunction = NULL;
modelica_metatype _a_var_name = NULL;
modelica_metatype _a_var = NULL;
volatile mmc_switch_type tmp4;
int tmp5;
tmp4 = 0;
for (; tmp4 < 2; tmp4++) {
switch (MMC_SWITCH_CAST(tmp4)) {
case 0: {
if (0 != tmp4_2) goto tmp3_end;
_txt = tmp4_1;
_a_auxFunction = tmp4_3;
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_auxFunction;
goto tmp3_done;
}
case 1: {
_txt = tmp4_1;
_a_auxFunction = tmp4_3;
_a_var_name = tmp4_4;
_a_var = tmp4_5;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT292);
_txt = omc_CodegenCFunctions_varType(threadData, _txt, _a_var);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT2661);
tmpMeta[0+0] = omc_CodegenCFunctions_contextCrefNoPrevExp(threadData, _txt, _a_var_name, _OMC_LIT1356, _a_auxFunction, &tmpMeta[0+1]);
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta[0+0];
_out_a_auxFunction = tmpMeta[0+1];
_return: OMC_LABEL_UNUSED
if (out_out_a_auxFunction) { *out_out_a_auxFunction = _out_a_auxFunction; }
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__110(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_var_bind__from__outside, modelica_metatype _in_a_auxFunction, modelica_metatype _in_a_var_name, modelica_metatype _in_a_var, modelica_metatype *out_out_a_auxFunction)
{
modelica_integer tmp1;
modelica_metatype _out_txt = NULL;
tmp1 = mmc_unbox_integer(_in_a_var_bind__from__outside);
_out_txt = omc_CodegenCFunctions_fun__110(threadData, _in_txt, tmp1, _in_a_auxFunction, _in_a_var_name, _in_a_var, out_out_a_auxFunction);
return _out_txt;
}
DLLExport
modelica_metatype omc_CodegenCFunctions_recordMemberCopy(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_var, modelica_string _in_a_src__pref, modelica_string _in_a_dst__pref, modelica_metatype _in_a_varCopies, modelica_metatype _in_a_auxFunction, modelica_metatype *out_out_a_varCopies, modelica_metatype *out_out_a_auxFunction)
{
modelica_metatype _out_txt = NULL;
modelica_metatype _out_a_varCopies = NULL;
modelica_metatype _out_a_auxFunction = NULL;
modelica_metatype tmpMeta[5] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_metatype tmp4_2;modelica_string tmp4_3;modelica_string tmp4_4;modelica_metatype tmp4_5;modelica_metatype tmp4_6;
tmp4_1 = _in_txt;
tmp4_2 = _in_a_var;
tmp4_3 = _in_a_src__pref;
tmp4_4 = _in_a_dst__pref;
tmp4_5 = _in_a_varCopies;
tmp4_6 = _in_a_auxFunction;
{
modelica_metatype _txt = NULL;
modelica_string _a_src__pref = NULL;
modelica_string _a_dst__pref = NULL;
modelica_metatype _a_varCopies = NULL;
modelica_metatype _a_auxFunction = NULL;
modelica_metatype _i_ty = NULL;
modelica_metatype _i_var_name = NULL;
modelica_metatype _l_srcName = NULL;
modelica_metatype _l_dstName = NULL;
volatile mmc_switch_type tmp4;
int tmp5;
tmp4 = 0;
for (; tmp4 < 2; tmp4++) {
switch (MMC_SWITCH_CAST(tmp4)) {
case 0: {
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,0,7) == 0) goto tmp3_end;
tmpMeta[3] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
tmpMeta[4] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 3));
_i_var_name = tmpMeta[3];
_i_ty = tmpMeta[4];
_txt = tmp4_1;
_a_src__pref = tmp4_3;
_a_dst__pref = tmp4_4;
_a_varCopies = tmp4_5;
_a_auxFunction = tmp4_6;
_l_dstName = omc_Tpl_writeStr(threadData, _OMC_LIT20, _a_dst__pref);
_l_dstName = omc_CodegenCFunctions_contextCrefNoPrevExp(threadData, _l_dstName, _i_var_name, _OMC_LIT1356, _a_auxFunction ,&_a_auxFunction);
_l_srcName = omc_Tpl_writeStr(threadData, _OMC_LIT20, _a_src__pref);
_l_srcName = omc_CodegenCFunctions_contextCrefNoPrevExp(threadData, _l_srcName, _i_var_name, _OMC_LIT1356, _a_auxFunction ,&_a_auxFunction);
_txt = omc_CodegenCFunctions_fun__108(threadData, _txt, _i_ty, _l_dstName, _l_srcName, _a_varCopies ,&_a_varCopies);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_varCopies;
tmpMeta[0+2] = _a_auxFunction;
goto tmp3_done;
}
case 1: {
_txt = tmp4_1;
_a_varCopies = tmp4_5;
_a_auxFunction = tmp4_6;
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_varCopies;
tmpMeta[0+2] = _a_auxFunction;
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta[0+0];
_out_a_varCopies = tmpMeta[0+1];
_out_a_auxFunction = tmpMeta[0+2];
_return: OMC_LABEL_UNUSED
if (out_out_a_varCopies) { *out_out_a_varCopies = _out_a_varCopies; }
if (out_out_a_auxFunction) { *out_out_a_auxFunction = _out_a_auxFunction; }
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__108(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_ty, modelica_metatype _in_a_dstName, modelica_metatype _in_a_srcName, modelica_metatype _in_a_varCopies, modelica_metatype *out_out_a_varCopies)
{
modelica_metatype _out_txt = NULL;
modelica_metatype _out_a_varCopies = NULL;
modelica_metatype tmpMeta[3] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_metatype tmp4_2;modelica_metatype tmp4_3;modelica_metatype tmp4_4;modelica_metatype tmp4_5;
tmp4_1 = _in_txt;
tmp4_2 = _in_a_ty;
tmp4_3 = _in_a_dstName;
tmp4_4 = _in_a_srcName;
tmp4_5 = _in_a_varCopies;
{
modelica_metatype _txt = NULL;
modelica_metatype _a_dstName = NULL;
modelica_metatype _a_srcName = NULL;
modelica_metatype _a_varCopies = NULL;
modelica_metatype _i_ty = NULL;
modelica_metatype _l_recType = NULL;
modelica_metatype _l_varType = NULL;
volatile mmc_switch_type tmp4;
int tmp5;
tmp4 = 0;
for (; tmp4 < 3; tmp4++) {
switch (MMC_SWITCH_CAST(tmp4)) {
case 0: {
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,6,2) == 0) goto tmp3_end;
_i_ty = tmp4_2;
_txt = tmp4_1;
_a_dstName = tmp4_3;
_a_srcName = tmp4_4;
_a_varCopies = tmp4_5;
_l_varType = omc_CodegenCFunctions_expTypeShort(threadData, _OMC_LIT20, _i_ty);
_a_varCopies = omc_Tpl_writeText(threadData, _a_varCopies, _l_varType);
_a_varCopies = omc_Tpl_writeTok(threadData, _a_varCopies, _OMC_LIT2147);
_a_varCopies = omc_Tpl_writeText(threadData, _a_varCopies, _a_srcName);
_a_varCopies = omc_Tpl_writeTok(threadData, _a_varCopies, _OMC_LIT292);
_a_varCopies = omc_Tpl_writeText(threadData, _a_varCopies, _a_dstName);
_a_varCopies = omc_Tpl_writeTok(threadData, _a_varCopies, _OMC_LIT290);
_a_varCopies = omc_Tpl_writeTok(threadData, _a_varCopies, _OMC_LIT89);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_varCopies;
goto tmp3_done;
}
case 1: {
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,9,3) == 0) goto tmp3_end;
tmpMeta[2] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[2],3,1) == 0) goto tmp3_end;
_i_ty = tmp4_2;
_txt = tmp4_1;
_a_dstName = tmp4_3;
_a_srcName = tmp4_4;
_a_varCopies = tmp4_5;
_l_recType = omc_CodegenCFunctions_expTypeShort(threadData, _OMC_LIT20, _i_ty);
_a_varCopies = omc_Tpl_writeText(threadData, _a_varCopies, _l_recType);
_a_varCopies = omc_Tpl_writeTok(threadData, _a_varCopies, _OMC_LIT591);
_a_varCopies = omc_Tpl_writeText(threadData, _a_varCopies, _a_srcName);
_a_varCopies = omc_Tpl_writeTok(threadData, _a_varCopies, _OMC_LIT292);
_a_varCopies = omc_Tpl_writeText(threadData, _a_varCopies, _a_dstName);
_a_varCopies = omc_Tpl_writeTok(threadData, _a_varCopies, _OMC_LIT290);
_a_varCopies = omc_Tpl_writeTok(threadData, _a_varCopies, _OMC_LIT89);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_varCopies;
goto tmp3_done;
}
case 2: {
_txt = tmp4_1;
_a_dstName = tmp4_3;
_a_srcName = tmp4_4;
_a_varCopies = tmp4_5;
_a_varCopies = omc_Tpl_writeText(threadData, _a_varCopies, _a_dstName);
_a_varCopies = omc_Tpl_writeTok(threadData, _a_varCopies, _OMC_LIT121);
_a_varCopies = omc_Tpl_writeText(threadData, _a_varCopies, _a_srcName);
_a_varCopies = omc_Tpl_writeTok(threadData, _a_varCopies, _OMC_LIT105);
_a_varCopies = omc_Tpl_writeTok(threadData, _a_varCopies, _OMC_LIT89);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_varCopies;
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta[0+0];
_out_a_varCopies = tmpMeta[0+1];
_return: OMC_LABEL_UNUSED
if (out_out_a_varCopies) { *out_out_a_varCopies = _out_a_varCopies; }
return _out_txt;
}
DLLExport
modelica_metatype omc_CodegenCFunctions_recordModelicaCallConstrctor(threadData_t *threadData, modelica_metatype _txt, modelica_string _a_rec__name, modelica_metatype _a_variables)
{
modelica_metatype _out_txt = NULL;
modelica_metatype _l_inputs = NULL;
modelica_metatype _l_0__ = NULL;
modelica_metatype _l_src__pref = NULL;
modelica_metatype _l_dst__pref = NULL;
modelica_metatype _l_auxFunction = NULL;
modelica_metatype _l_varCopies = NULL;
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
_l_varCopies = _OMC_LIT20;
_l_auxFunction = _OMC_LIT20;
_l_dst__pref = omc_Tpl_writeTok(threadData, _OMC_LIT20, _OMC_LIT2663);
_l_src__pref = omc_Tpl_writeTok(threadData, _OMC_LIT20, _OMC_LIT2661);
_l_0__ = omc_Tpl_pushIter(threadData, _OMC_LIT20, _OMC_LIT96);
_l_0__ = omc_CodegenCFunctions_lm__105(threadData, _l_0__, _a_variables, _l_auxFunction, _l_varCopies, _l_dst__pref, _l_src__pref ,&_l_auxFunction ,&_l_varCopies);
_l_0__ = omc_Tpl_popIter(threadData, _l_0__);
_l_inputs = omc_CodegenCFunctions_lm__106(threadData, _OMC_LIT20, _a_variables, _l_auxFunction, _l_src__pref ,&_l_auxFunction);
_out_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT2668);
_out_txt = omc_Tpl_writeStr(threadData, _out_txt, _a_rec__name);
_out_txt = omc_Tpl_writeTok(threadData, _out_txt, _OMC_LIT2269);
_out_txt = omc_Tpl_writeStr(threadData, _out_txt, _a_rec__name);
_out_txt = omc_Tpl_writeTok(threadData, _out_txt, _OMC_LIT2670);
_out_txt = omc_Tpl_writeText(threadData, _out_txt, _l_inputs);
_out_txt = omc_Tpl_writeTok(threadData, _out_txt, _OMC_LIT183);
_out_txt = omc_Tpl_pushBlock(threadData, _out_txt, _OMC_LIT97);
_out_txt = omc_Tpl_writeStr(threadData, _out_txt, _a_rec__name);
_out_txt = omc_Tpl_writeTok(threadData, _out_txt, _OMC_LIT2675);
_out_txt = omc_Tpl_writeStr(threadData, _out_txt, _a_rec__name);
_out_txt = omc_Tpl_writeTok(threadData, _out_txt, _OMC_LIT2680);
_out_txt = omc_Tpl_writeStr(threadData, _out_txt, _a_rec__name);
_out_txt = omc_Tpl_writeTok(threadData, _out_txt, _OMC_LIT2682);
_out_txt = omc_Tpl_writeText(threadData, _out_txt, _l_varCopies);
_out_txt = omc_Tpl_softNewLine(threadData, _out_txt);
_out_txt = omc_Tpl_writeTok(threadData, _out_txt, _OMC_LIT2684);
_out_txt = omc_Tpl_popBlock(threadData, _out_txt);
_out_txt = omc_Tpl_writeTok(threadData, _out_txt, _OMC_LIT2686);
_return: OMC_LABEL_UNUSED
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_lm__106(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_items, modelica_metatype _in_a_auxFunction, modelica_metatype _in_a_src__pref, modelica_metatype *out_out_a_auxFunction)
{
modelica_metatype _out_txt = NULL;
modelica_metatype _out_a_auxFunction = NULL;
modelica_metatype tmpMeta[5] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_metatype tmp4_2;modelica_metatype tmp4_3;modelica_metatype tmp4_4;
tmp4_1 = _in_txt;
tmp4_2 = _in_items;
tmp4_3 = _in_a_auxFunction;
tmp4_4 = _in_a_src__pref;
{
modelica_metatype _txt = NULL;
modelica_metatype _rest = NULL;
modelica_metatype _a_auxFunction = NULL;
modelica_metatype _a_src__pref = NULL;
modelica_metatype _i_var_name = NULL;
modelica_metatype _i_var = NULL;
volatile mmc_switch_type tmp4;
int tmp5;
tmp4 = 0;
for (; tmp4 < 3; tmp4++) {
switch (MMC_SWITCH_CAST(tmp4)) {
case 0: {
if (!listEmpty(tmp4_2)) goto tmp3_end;
_txt = tmp4_1;
_a_auxFunction = tmp4_3;
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_auxFunction;
goto tmp3_done;
}
case 1: {
if (listEmpty(tmp4_2)) goto tmp3_end;
tmpMeta[2] = MMC_CAR(tmp4_2);
tmpMeta[3] = MMC_CDR(tmp4_2);
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[2],0,7) == 0) goto tmp3_end;
tmpMeta[4] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[2]), 2));
_i_var = tmpMeta[2];
_i_var_name = tmpMeta[4];
_rest = tmpMeta[3];
_txt = tmp4_1;
_a_auxFunction = tmp4_3;
_a_src__pref = tmp4_4;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT292);
_txt = omc_CodegenCFunctions_varType(threadData, _txt, _i_var);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT29);
_txt = omc_Tpl_writeText(threadData, _txt, _a_src__pref);
_txt = omc_CodegenCFunctions_contextCrefNoPrevExp(threadData, _txt, _i_var_name, _OMC_LIT1356, _a_auxFunction ,&_a_auxFunction);
_in_txt = _txt;
_in_items = _rest;
_in_a_auxFunction = _a_auxFunction;
_in_a_src__pref = _a_src__pref;
goto _tailrecursive;
goto tmp3_done;
}
case 2: {
if (listEmpty(tmp4_2)) goto tmp3_end;
tmpMeta[2] = MMC_CAR(tmp4_2);
tmpMeta[3] = MMC_CDR(tmp4_2);
_rest = tmpMeta[3];
_txt = tmp4_1;
_a_auxFunction = tmp4_3;
_a_src__pref = tmp4_4;
_in_txt = _txt;
_in_items = _rest;
_in_a_auxFunction = _a_auxFunction;
_in_a_src__pref = _a_src__pref;
goto _tailrecursive;
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta[0+0];
_out_a_auxFunction = tmpMeta[0+1];
_return: OMC_LABEL_UNUSED
if (out_out_a_auxFunction) { *out_out_a_auxFunction = _out_a_auxFunction; }
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_lm__105(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_items, modelica_metatype _in_a_auxFunction, modelica_metatype _in_a_varCopies, modelica_metatype _in_a_dst__pref, modelica_metatype _in_a_src__pref, modelica_metatype *out_out_a_auxFunction, modelica_metatype *out_out_a_varCopies)
{
modelica_metatype _out_txt = NULL;
modelica_metatype _out_a_auxFunction = NULL;
modelica_metatype _out_a_varCopies = NULL;
modelica_metatype tmpMeta[5] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_metatype tmp4_2;modelica_metatype tmp4_3;modelica_metatype tmp4_4;modelica_metatype tmp4_5;modelica_metatype tmp4_6;
tmp4_1 = _in_txt;
tmp4_2 = _in_items;
tmp4_3 = _in_a_auxFunction;
tmp4_4 = _in_a_varCopies;
tmp4_5 = _in_a_dst__pref;
tmp4_6 = _in_a_src__pref;
{
modelica_metatype _txt = NULL;
modelica_metatype _rest = NULL;
modelica_metatype _a_auxFunction = NULL;
modelica_metatype _a_varCopies = NULL;
modelica_metatype _a_dst__pref = NULL;
modelica_metatype _a_src__pref = NULL;
modelica_metatype _i_var = NULL;
volatile mmc_switch_type tmp4;
int tmp5;
tmp4 = 0;
for (; tmp4 < 2; tmp4++) {
switch (MMC_SWITCH_CAST(tmp4)) {
case 0: {
if (!listEmpty(tmp4_2)) goto tmp3_end;
_txt = tmp4_1;
_a_auxFunction = tmp4_3;
_a_varCopies = tmp4_4;
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_auxFunction;
tmpMeta[0+2] = _a_varCopies;
goto tmp3_done;
}
case 1: {
if (listEmpty(tmp4_2)) goto tmp3_end;
tmpMeta[3] = MMC_CAR(tmp4_2);
tmpMeta[4] = MMC_CDR(tmp4_2);
_i_var = tmpMeta[3];
_rest = tmpMeta[4];
_txt = tmp4_1;
_a_auxFunction = tmp4_3;
_a_varCopies = tmp4_4;
_a_dst__pref = tmp4_5;
_a_src__pref = tmp4_6;
_txt = omc_CodegenCFunctions_recordMemberCopy(threadData, _txt, _i_var, omc_Tpl_textString(threadData, _a_src__pref), omc_Tpl_textString(threadData, _a_dst__pref), _a_varCopies, _a_auxFunction ,&_a_varCopies ,&_a_auxFunction);
_txt = omc_Tpl_nextIter(threadData, _txt);
_in_txt = _txt;
_in_items = _rest;
_in_a_auxFunction = _a_auxFunction;
_in_a_varCopies = _a_varCopies;
_in_a_dst__pref = _a_dst__pref;
_in_a_src__pref = _a_src__pref;
goto _tailrecursive;
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta[0+0];
_out_a_auxFunction = tmpMeta[0+1];
_out_a_varCopies = tmpMeta[0+2];
_return: OMC_LABEL_UNUSED
if (out_out_a_auxFunction) { *out_out_a_auxFunction = _out_a_auxFunction; }
if (out_out_a_varCopies) { *out_out_a_varCopies = _out_a_varCopies; }
return _out_txt;
}
DLLExport
modelica_metatype omc_CodegenCFunctions_recordCopyDef(threadData_t *threadData, modelica_metatype _txt, modelica_string _a_rec__name, modelica_metatype _a_variables)
{
modelica_metatype _out_txt = NULL;
modelica_metatype _l_0__ = NULL;
modelica_metatype _l_src__pref = NULL;
modelica_metatype _l_dst__pref = NULL;
modelica_metatype _l_auxFunction = NULL;
modelica_metatype _l_varCopies = NULL;
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
_l_varCopies = _OMC_LIT20;
_l_auxFunction = _OMC_LIT20;
_l_dst__pref = omc_Tpl_writeTok(threadData, _OMC_LIT20, _OMC_LIT2688);
_l_src__pref = omc_Tpl_writeTok(threadData, _OMC_LIT20, _OMC_LIT2690);
_l_0__ = omc_Tpl_pushIter(threadData, _OMC_LIT20, _OMC_LIT96);
_l_0__ = omc_CodegenCFunctions_lm__103(threadData, _l_0__, _a_variables, _l_auxFunction, _l_varCopies, _l_dst__pref, _l_src__pref ,&_l_auxFunction ,&_l_varCopies);
_l_0__ = omc_Tpl_popIter(threadData, _l_0__);
_out_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT2578);
_out_txt = omc_Tpl_writeStr(threadData, _out_txt, _a_rec__name);
_out_txt = omc_Tpl_writeTok(threadData, _out_txt, _OMC_LIT2692);
_out_txt = omc_Tpl_pushBlock(threadData, _out_txt, _OMC_LIT97);
_out_txt = omc_Tpl_writeStr(threadData, _out_txt, _a_rec__name);
_out_txt = omc_Tpl_writeTok(threadData, _out_txt, _OMC_LIT2694);
_out_txt = omc_Tpl_writeStr(threadData, _out_txt, _a_rec__name);
_out_txt = omc_Tpl_writeTok(threadData, _out_txt, _OMC_LIT2696);
_out_txt = omc_Tpl_writeStr(threadData, _out_txt, _a_rec__name);
_out_txt = omc_Tpl_writeTok(threadData, _out_txt, _OMC_LIT2698);
_out_txt = omc_Tpl_writeStr(threadData, _out_txt, _a_rec__name);
_out_txt = omc_Tpl_writeTok(threadData, _out_txt, _OMC_LIT2700);
_out_txt = omc_Tpl_writeText(threadData, _out_txt, _l_varCopies);
_out_txt = omc_Tpl_softNewLine(threadData, _out_txt);
_out_txt = omc_Tpl_popBlock(threadData, _out_txt);
_out_txt = omc_Tpl_writeTok(threadData, _out_txt, _OMC_LIT103);
_return: OMC_LABEL_UNUSED
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_lm__103(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_items, modelica_metatype _in_a_auxFunction, modelica_metatype _in_a_varCopies, modelica_metatype _in_a_dst__pref, modelica_metatype _in_a_src__pref, modelica_metatype *out_out_a_auxFunction, modelica_metatype *out_out_a_varCopies)
{
modelica_metatype _out_txt = NULL;
modelica_metatype _out_a_auxFunction = NULL;
modelica_metatype _out_a_varCopies = NULL;
modelica_metatype tmpMeta[5] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_metatype tmp4_2;modelica_metatype tmp4_3;modelica_metatype tmp4_4;modelica_metatype tmp4_5;modelica_metatype tmp4_6;
tmp4_1 = _in_txt;
tmp4_2 = _in_items;
tmp4_3 = _in_a_auxFunction;
tmp4_4 = _in_a_varCopies;
tmp4_5 = _in_a_dst__pref;
tmp4_6 = _in_a_src__pref;
{
modelica_metatype _txt = NULL;
modelica_metatype _rest = NULL;
modelica_metatype _a_auxFunction = NULL;
modelica_metatype _a_varCopies = NULL;
modelica_metatype _a_dst__pref = NULL;
modelica_metatype _a_src__pref = NULL;
modelica_metatype _i_var = NULL;
volatile mmc_switch_type tmp4;
int tmp5;
tmp4 = 0;
for (; tmp4 < 2; tmp4++) {
switch (MMC_SWITCH_CAST(tmp4)) {
case 0: {
if (!listEmpty(tmp4_2)) goto tmp3_end;
_txt = tmp4_1;
_a_auxFunction = tmp4_3;
_a_varCopies = tmp4_4;
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_auxFunction;
tmpMeta[0+2] = _a_varCopies;
goto tmp3_done;
}
case 1: {
if (listEmpty(tmp4_2)) goto tmp3_end;
tmpMeta[3] = MMC_CAR(tmp4_2);
tmpMeta[4] = MMC_CDR(tmp4_2);
_i_var = tmpMeta[3];
_rest = tmpMeta[4];
_txt = tmp4_1;
_a_auxFunction = tmp4_3;
_a_varCopies = tmp4_4;
_a_dst__pref = tmp4_5;
_a_src__pref = tmp4_6;
_txt = omc_CodegenCFunctions_recordMemberCopy(threadData, _txt, _i_var, omc_Tpl_textString(threadData, _a_src__pref), omc_Tpl_textString(threadData, _a_dst__pref), _a_varCopies, _a_auxFunction ,&_a_varCopies ,&_a_auxFunction);
_txt = omc_Tpl_nextIter(threadData, _txt);
_in_txt = _txt;
_in_items = _rest;
_in_a_auxFunction = _a_auxFunction;
_in_a_varCopies = _a_varCopies;
_in_a_dst__pref = _a_dst__pref;
_in_a_src__pref = _a_src__pref;
goto _tailrecursive;
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta[0+0];
_out_a_auxFunction = tmpMeta[0+1];
_out_a_varCopies = tmpMeta[0+2];
_return: OMC_LABEL_UNUSED
if (out_out_a_auxFunction) { *out_out_a_auxFunction = _out_a_auxFunction; }
if (out_out_a_varCopies) { *out_out_a_varCopies = _out_a_varCopies; }
return _out_txt;
}
DLLExport
modelica_metatype omc_CodegenCFunctions_recordDeclarationFullHeader(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_recDecl)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta[5] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp3_1;modelica_metatype tmp3_2;
tmp3_1 = _in_txt;
tmp3_2 = _in_a_recDecl;
{
modelica_metatype _txt = NULL;
modelica_metatype _i_r_defPath = NULL;
modelica_metatype _i_aliasName = NULL;
modelica_metatype _i_r_variables = NULL;
modelica_string _i_r_name = NULL;
modelica_metatype _l_modelica__ctor__inputs = NULL;
modelica_metatype _l_modelica__ctor__name = NULL;
modelica_metatype _l_copy__to__vars__inputs = NULL;
modelica_metatype _l_copy__to__vars__name__p = NULL;
modelica_metatype _l_copy__to__vars__name = NULL;
modelica_metatype _l_cpy__func__name = NULL;
modelica_metatype _l_cpy__macro__name = NULL;
modelica_metatype _l_ctor__additional__inputs = NULL;
modelica_metatype _l_ctor__func__name = NULL;
modelica_metatype _l_ctor__macro__additional__inputs = NULL;
modelica_metatype _l_ctor__macro__name = NULL;
modelica_metatype _l_rec__name = NULL;
volatile mmc_switch_type tmp3;
int tmp4;
tmp3 = 0;
for (; tmp3 < 2; tmp3++) {
switch (MMC_SWITCH_CAST(tmp3)) {
case 0: {
if (mmc__uniontype__metarecord__typedef__equal(tmp3_2,0,4) == 0) goto tmp2_end;
tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_2), 2));
tmpMeta[2] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_2), 3));
tmpMeta[3] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_2), 4));
tmpMeta[4] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_2), 5));
_i_r_name = tmpMeta[1];
_i_aliasName = tmpMeta[2];
_i_r_defPath = tmpMeta[3];
_i_r_variables = tmpMeta[4];
_txt = tmp3_1;
_l_rec__name = omc_Tpl_writeStr(threadData, _OMC_LIT20, _i_r_name);
_l_ctor__macro__name = omc_Tpl_writeText(threadData, _OMC_LIT20, _l_rec__name);
_l_ctor__macro__name = omc_Tpl_writeTok(threadData, _l_ctor__macro__name, _OMC_LIT2702);
_l_ctor__macro__additional__inputs = omc_CodegenCFunctions_lm__95(threadData, _OMC_LIT20, _i_r_variables);
_l_ctor__func__name = omc_Tpl_writeText(threadData, _OMC_LIT20, _l_ctor__macro__name);
_l_ctor__func__name = omc_Tpl_writeTok(threadData, _l_ctor__func__name, _OMC_LIT2704);
_l_ctor__additional__inputs = omc_CodegenCFunctions_lm__97(threadData, _OMC_LIT20, _i_r_variables);
_l_cpy__macro__name = omc_Tpl_writeText(threadData, _OMC_LIT20, _l_rec__name);
_l_cpy__macro__name = omc_Tpl_writeTok(threadData, _l_cpy__macro__name, _OMC_LIT2706);
_l_cpy__func__name = omc_Tpl_writeText(threadData, _OMC_LIT20, _l_cpy__macro__name);
_l_cpy__func__name = omc_Tpl_writeTok(threadData, _l_cpy__func__name, _OMC_LIT2704);
_l_copy__to__vars__name = omc_Tpl_writeText(threadData, _OMC_LIT20, _l_rec__name);
_l_copy__to__vars__name = omc_Tpl_writeTok(threadData, _l_copy__to__vars__name, _OMC_LIT2708);
_l_copy__to__vars__name__p = omc_Tpl_writeText(threadData, _OMC_LIT20, _l_copy__to__vars__name);
_l_copy__to__vars__name__p = omc_Tpl_writeTok(threadData, _l_copy__to__vars__name__p, _OMC_LIT2704);
_l_copy__to__vars__inputs = omc_CodegenCFunctions_lm__98(threadData, _OMC_LIT20, _i_r_variables);
_l_modelica__ctor__name = omc_Tpl_writeTok(threadData, _OMC_LIT20, _OMC_LIT627);
_l_modelica__ctor__name = omc_Tpl_writeText(threadData, _l_modelica__ctor__name, _l_rec__name);
_l_modelica__ctor__inputs = omc_CodegenCFunctions_lm__99(threadData, _OMC_LIT20, _i_r_variables);
_txt = omc_CodegenCFunctions_fun__101(threadData, _txt, _i_aliasName, _i_r_variables, _l_rec__name);
_txt = omc_Tpl_softNewLine(threadData, _txt);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT2607);
_txt = omc_CodegenUtil_underscorePath(threadData, _txt, _i_r_defPath);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT2713);
_txt = omc_Tpl_writeText(threadData, _txt, _l_ctor__func__name);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT2715);
_txt = omc_Tpl_writeText(threadData, _txt, _l_ctor__additional__inputs);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1641);
_txt = omc_Tpl_writeText(threadData, _txt, _l_ctor__macro__name);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT2717);
_txt = omc_Tpl_writeText(threadData, _txt, _l_ctor__macro__additional__inputs);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT130);
_txt = omc_Tpl_writeText(threadData, _txt, _l_ctor__func__name);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT2719);
_txt = omc_Tpl_writeText(threadData, _txt, _l_ctor__macro__additional__inputs);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT2721);
_txt = omc_Tpl_writeText(threadData, _txt, _l_cpy__func__name);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT2724);
_txt = omc_Tpl_writeText(threadData, _txt, _l_cpy__macro__name);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT2726);
_txt = omc_Tpl_writeText(threadData, _txt, _l_cpy__func__name);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT2732);
_txt = omc_Tpl_writeText(threadData, _txt, _l_rec__name);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT29);
_txt = omc_Tpl_writeText(threadData, _txt, _l_modelica__ctor__name);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT2670);
_txt = omc_Tpl_writeText(threadData, _txt, _l_modelica__ctor__inputs);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT2745);
_txt = omc_Tpl_writeText(threadData, _txt, _l_copy__to__vars__name__p);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT2747);
_txt = omc_Tpl_writeText(threadData, _txt, _l_copy__to__vars__inputs);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT2751);
_txt = omc_Tpl_writeText(threadData, _txt, _l_copy__to__vars__name);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT2753);
_txt = omc_Tpl_writeText(threadData, _txt, _l_copy__to__vars__name__p);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT2759);
_txt = omc_Tpl_writeText(threadData, _txt, _l_rec__name);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT2764);
_txt = omc_Tpl_writeText(threadData, _txt, _l_rec__name);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT2766);
_txt = omc_Tpl_writeText(threadData, _txt, _l_ctor__func__name);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT2768);
_txt = omc_Tpl_writeText(threadData, _txt, _l_rec__name);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT2771);
_txt = omc_Tpl_writeText(threadData, _txt, _l_rec__name);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT2773);
_txt = omc_Tpl_writeText(threadData, _txt, _l_cpy__func__name);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT2775);
_txt = omc_Tpl_writeText(threadData, _txt, _l_rec__name);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT2777);
_txt = omc_Tpl_writeText(threadData, _txt, _l_rec__name);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT2779);
_txt = omc_Tpl_writeText(threadData, _txt, _l_cpy__func__name);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT2775);
_txt = omc_Tpl_writeText(threadData, _txt, _l_rec__name);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT2777);
_txt = omc_Tpl_writeText(threadData, _txt, _l_rec__name);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT2781);
_txt = omc_Tpl_writeText(threadData, _txt, _l_rec__name);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT2783);
_txt = omc_Tpl_writeText(threadData, _txt, _l_rec__name);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT2786);
_txt = omc_Tpl_writeText(threadData, _txt, _l_rec__name);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT2788);
_txt = omc_Tpl_writeText(threadData, _txt, _l_cpy__func__name);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT2775);
_txt = omc_Tpl_writeText(threadData, _txt, _l_rec__name);
tmpMeta[0] = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT2790);
goto tmp2_done;
}
case 1: {
_txt = tmp3_1;
tmpMeta[0] = _txt;
goto tmp2_done;
}
}
goto tmp2_end;
tmp2_end: ;
}
goto goto_1;
goto_1:;
MMC_THROW_INTERNAL();
goto tmp2_done;
tmp2_done:;
}
}
_out_txt = tmpMeta[0];
_return: OMC_LABEL_UNUSED
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__101(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_aliasName, modelica_metatype _in_a_r_variables, modelica_metatype _in_a_rec__name)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta[2] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp3_1;modelica_metatype tmp3_2;modelica_metatype tmp3_3;modelica_metatype tmp3_4;
tmp3_1 = _in_txt;
tmp3_2 = _in_a_aliasName;
tmp3_3 = _in_a_r_variables;
tmp3_4 = _in_a_rec__name;
{
modelica_metatype _txt = NULL;
modelica_metatype _a_r_variables = NULL;
modelica_metatype _a_rec__name = NULL;
modelica_string _i_str = NULL;
volatile mmc_switch_type tmp3;
int tmp4;
tmp3 = 0;
for (; tmp3 < 2; tmp3++) {
switch (MMC_SWITCH_CAST(tmp3)) {
case 0: {
if (optionNone(tmp3_2)) goto tmp2_end;
tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_2), 1));
_i_str = tmpMeta[1];
_txt = tmp3_1;
_a_rec__name = tmp3_4;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT2495);
_txt = omc_Tpl_writeStr(threadData, _txt, _i_str);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT29);
_txt = omc_Tpl_writeText(threadData, _txt, _a_rec__name);
tmpMeta[0] = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT105);
goto tmp2_done;
}
case 1: {
_txt = tmp3_1;
_a_r_variables = tmp3_3;
_a_rec__name = tmp3_4;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT2792);
_txt = omc_Tpl_pushBlock(threadData, _txt, _OMC_LIT97);
_txt = omc_Tpl_pushIter(threadData, _txt, _OMC_LIT96);
_txt = omc_CodegenCFunctions_lm__100(threadData, _txt, _a_r_variables);
_txt = omc_Tpl_popIter(threadData, _txt);
_txt = omc_Tpl_softNewLine(threadData, _txt);
_txt = omc_Tpl_popBlock(threadData, _txt);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT252);
_txt = omc_Tpl_writeText(threadData, _txt, _a_rec__name);
tmpMeta[0] = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT105);
goto tmp2_done;
}
}
goto tmp2_end;
tmp2_end: ;
}
goto goto_1;
goto_1:;
MMC_THROW_INTERNAL();
goto tmp2_done;
tmp2_done:;
}
}
_out_txt = tmpMeta[0];
_return: OMC_LABEL_UNUSED
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_lm__100(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_items)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta[4] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp3_1;modelica_metatype tmp3_2;
tmp3_1 = _in_txt;
tmp3_2 = _in_items;
{
modelica_metatype _txt = NULL;
modelica_metatype _rest = NULL;
modelica_metatype _i_var_name = NULL;
modelica_metatype _i_var = NULL;
volatile mmc_switch_type tmp3;
int tmp4;
tmp3 = 0;
for (; tmp3 < 3; tmp3++) {
switch (MMC_SWITCH_CAST(tmp3)) {
case 0: {
if (!listEmpty(tmp3_2)) goto tmp2_end;
_txt = tmp3_1;
tmpMeta[0] = _txt;
goto tmp2_done;
}
case 1: {
if (listEmpty(tmp3_2)) goto tmp2_end;
tmpMeta[1] = MMC_CAR(tmp3_2);
tmpMeta[2] = MMC_CDR(tmp3_2);
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[1],0,7) == 0) goto tmp2_end;
tmpMeta[3] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[1]), 2));
_i_var = tmpMeta[1];
_i_var_name = tmpMeta[3];
_rest = tmpMeta[2];
_txt = tmp3_1;
_txt = omc_CodegenCFunctions_varType(threadData, _txt, _i_var);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT234);
_txt = omc_CodegenUtil_crefStr(threadData, _txt, _i_var_name);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT105);
_txt = omc_Tpl_nextIter(threadData, _txt);
_in_txt = _txt;
_in_items = _rest;
goto _tailrecursive;
goto tmp2_done;
}
case 2: {
if (listEmpty(tmp3_2)) goto tmp2_end;
tmpMeta[1] = MMC_CAR(tmp3_2);
tmpMeta[2] = MMC_CDR(tmp3_2);
_rest = tmpMeta[2];
_txt = tmp3_1;
_in_txt = _txt;
_in_items = _rest;
goto _tailrecursive;
goto tmp2_done;
}
}
goto tmp2_end;
tmp2_end: ;
}
goto goto_1;
goto_1:;
MMC_THROW_INTERNAL();
goto tmp2_done;
tmp2_done:;
}
}
_out_txt = tmpMeta[0];
_return: OMC_LABEL_UNUSED
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_lm__99(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_items)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta[4] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp3_1;modelica_metatype tmp3_2;
tmp3_1 = _in_txt;
tmp3_2 = _in_items;
{
modelica_metatype _txt = NULL;
modelica_metatype _rest = NULL;
modelica_metatype _i_var_name = NULL;
modelica_metatype _i_var = NULL;
volatile mmc_switch_type tmp3;
int tmp4;
tmp3 = 0;
for (; tmp3 < 3; tmp3++) {
switch (MMC_SWITCH_CAST(tmp3)) {
case 0: {
if (!listEmpty(tmp3_2)) goto tmp2_end;
_txt = tmp3_1;
tmpMeta[0] = _txt;
goto tmp2_done;
}
case 1: {
if (listEmpty(tmp3_2)) goto tmp2_end;
tmpMeta[1] = MMC_CAR(tmp3_2);
tmpMeta[2] = MMC_CDR(tmp3_2);
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[1],0,7) == 0) goto tmp2_end;
tmpMeta[3] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[1]), 2));
_i_var = tmpMeta[1];
_i_var_name = tmpMeta[3];
_rest = tmpMeta[2];
_txt = tmp3_1;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT292);
_txt = omc_CodegenCFunctions_varType(threadData, _txt, _i_var);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT2794);
_txt = omc_CodegenUtil_crefStr(threadData, _txt, _i_var_name);
_in_txt = _txt;
_in_items = _rest;
goto _tailrecursive;
goto tmp2_done;
}
case 2: {
if (listEmpty(tmp3_2)) goto tmp2_end;
tmpMeta[1] = MMC_CAR(tmp3_2);
tmpMeta[2] = MMC_CDR(tmp3_2);
_rest = tmpMeta[2];
_txt = tmp3_1;
_in_txt = _txt;
_in_items = _rest;
goto _tailrecursive;
goto tmp2_done;
}
}
goto tmp2_end;
tmp2_end: ;
}
goto goto_1;
goto_1:;
MMC_THROW_INTERNAL();
goto tmp2_done;
tmp2_done:;
}
}
_out_txt = tmpMeta[0];
_return: OMC_LABEL_UNUSED
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_lm__98(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_items)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta[4] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp3_1;modelica_metatype tmp3_2;
tmp3_1 = _in_txt;
tmp3_2 = _in_items;
{
modelica_metatype _txt = NULL;
modelica_metatype _rest = NULL;
modelica_metatype _i_var_name = NULL;
modelica_metatype _i_var = NULL;
volatile mmc_switch_type tmp3;
int tmp4;
tmp3 = 0;
for (; tmp3 < 3; tmp3++) {
switch (MMC_SWITCH_CAST(tmp3)) {
case 0: {
if (!listEmpty(tmp3_2)) goto tmp2_end;
_txt = tmp3_1;
tmpMeta[0] = _txt;
goto tmp2_done;
}
case 1: {
if (listEmpty(tmp3_2)) goto tmp2_end;
tmpMeta[1] = MMC_CAR(tmp3_2);
tmpMeta[2] = MMC_CDR(tmp3_2);
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[1],0,7) == 0) goto tmp2_end;
tmpMeta[3] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[1]), 2));
_i_var = tmpMeta[1];
_i_var_name = tmpMeta[3];
_rest = tmpMeta[2];
_txt = tmp3_1;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT292);
_txt = omc_CodegenCFunctions_varType(threadData, _txt, _i_var);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT2796);
_txt = omc_CodegenUtil_crefStr(threadData, _txt, _i_var_name);
_in_txt = _txt;
_in_items = _rest;
goto _tailrecursive;
goto tmp2_done;
}
case 2: {
if (listEmpty(tmp3_2)) goto tmp2_end;
tmpMeta[1] = MMC_CAR(tmp3_2);
tmpMeta[2] = MMC_CDR(tmp3_2);
_rest = tmpMeta[2];
_txt = tmp3_1;
_in_txt = _txt;
_in_items = _rest;
goto _tailrecursive;
goto tmp2_done;
}
}
goto tmp2_end;
tmp2_end: ;
}
goto goto_1;
goto_1:;
MMC_THROW_INTERNAL();
goto tmp2_done;
tmp2_done:;
}
}
_out_txt = tmpMeta[0];
_return: OMC_LABEL_UNUSED
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_lm__97(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_items)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta[5] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp3_1;modelica_metatype tmp3_2;
tmp3_1 = _in_txt;
tmp3_2 = _in_items;
{
modelica_metatype _txt = NULL;
modelica_metatype _rest = NULL;
modelica_metatype _i_var_name = NULL;
modelica_metatype _i_var = NULL;
modelica_boolean _i_var_bind__from__outside;
volatile mmc_switch_type tmp3;
int tmp4;
tmp3 = 0;
for (; tmp3 < 3; tmp3++) {
switch (MMC_SWITCH_CAST(tmp3)) {
case 0: {
if (!listEmpty(tmp3_2)) goto tmp2_end;
_txt = tmp3_1;
tmpMeta[0] = _txt;
goto tmp2_done;
}
case 1: {
modelica_integer tmp5;
if (listEmpty(tmp3_2)) goto tmp2_end;
tmpMeta[1] = MMC_CAR(tmp3_2);
tmpMeta[2] = MMC_CDR(tmp3_2);
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[1],0,7) == 0) goto tmp2_end;
tmpMeta[3] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[1]), 2));
tmpMeta[4] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[1]), 8));
tmp5 = mmc_unbox_integer(tmpMeta[4]);
_i_var = tmpMeta[1];
_i_var_name = tmpMeta[3];
_i_var_bind__from__outside = tmp5;
_rest = tmpMeta[2];
_txt = tmp3_1;
_txt = omc_CodegenCFunctions_fun__96(threadData, _txt, _i_var_bind__from__outside, _i_var_name, _i_var);
_in_txt = _txt;
_in_items = _rest;
goto _tailrecursive;
goto tmp2_done;
}
case 2: {
if (listEmpty(tmp3_2)) goto tmp2_end;
tmpMeta[1] = MMC_CAR(tmp3_2);
tmpMeta[2] = MMC_CDR(tmp3_2);
_rest = tmpMeta[2];
_txt = tmp3_1;
_in_txt = _txt;
_in_items = _rest;
goto _tailrecursive;
goto tmp2_done;
}
}
goto tmp2_end;
tmp2_end: ;
}
goto goto_1;
goto_1:;
MMC_THROW_INTERNAL();
goto tmp2_done;
tmp2_done:;
}
}
_out_txt = tmpMeta[0];
_return: OMC_LABEL_UNUSED
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__96(threadData_t *threadData, modelica_metatype _in_txt, modelica_boolean _in_a_var_bind__from__outside, modelica_metatype _in_a_var_name, modelica_metatype _in_a_var)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta[1] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp3_1;modelica_boolean tmp3_2;modelica_metatype tmp3_3;modelica_metatype tmp3_4;
tmp3_1 = _in_txt;
tmp3_2 = _in_a_var_bind__from__outside;
tmp3_3 = _in_a_var_name;
tmp3_4 = _in_a_var;
{
modelica_metatype _txt = NULL;
modelica_metatype _a_var_name = NULL;
modelica_metatype _a_var = NULL;
volatile mmc_switch_type tmp3;
int tmp4;
tmp3 = 0;
for (; tmp3 < 2; tmp3++) {
switch (MMC_SWITCH_CAST(tmp3)) {
case 0: {
if (0 != tmp3_2) goto tmp2_end;
_txt = tmp3_1;
tmpMeta[0] = _txt;
goto tmp2_done;
}
case 1: {
_txt = tmp3_1;
_a_var_name = tmp3_3;
_a_var = tmp3_4;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT292);
_txt = omc_CodegenCFunctions_varType(threadData, _txt, _a_var);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT2794);
tmpMeta[0] = omc_CodegenUtil_crefStr(threadData, _txt, _a_var_name);
goto tmp2_done;
}
}
goto tmp2_end;
tmp2_end: ;
}
goto goto_1;
goto_1:;
MMC_THROW_INTERNAL();
goto tmp2_done;
tmp2_done:;
}
}
_out_txt = tmpMeta[0];
_return: OMC_LABEL_UNUSED
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__96(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_var_bind__from__outside, modelica_metatype _in_a_var_name, modelica_metatype _in_a_var)
{
modelica_integer tmp1;
modelica_metatype _out_txt = NULL;
tmp1 = mmc_unbox_integer(_in_a_var_bind__from__outside);
_out_txt = omc_CodegenCFunctions_fun__96(threadData, _in_txt, tmp1, _in_a_var_name, _in_a_var);
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_lm__95(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_items)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta[5] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp3_1;modelica_metatype tmp3_2;
tmp3_1 = _in_txt;
tmp3_2 = _in_items;
{
modelica_metatype _txt = NULL;
modelica_metatype _rest = NULL;
modelica_metatype _i_var_name = NULL;
modelica_boolean _i_var_bind__from__outside;
volatile mmc_switch_type tmp3;
int tmp4;
tmp3 = 0;
for (; tmp3 < 3; tmp3++) {
switch (MMC_SWITCH_CAST(tmp3)) {
case 0: {
if (!listEmpty(tmp3_2)) goto tmp2_end;
_txt = tmp3_1;
tmpMeta[0] = _txt;
goto tmp2_done;
}
case 1: {
modelica_integer tmp5;
if (listEmpty(tmp3_2)) goto tmp2_end;
tmpMeta[1] = MMC_CAR(tmp3_2);
tmpMeta[2] = MMC_CDR(tmp3_2);
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[1],0,7) == 0) goto tmp2_end;
tmpMeta[3] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[1]), 2));
tmpMeta[4] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[1]), 8));
tmp5 = mmc_unbox_integer(tmpMeta[4]);
_i_var_name = tmpMeta[3];
_i_var_bind__from__outside = tmp5;
_rest = tmpMeta[2];
_txt = tmp3_1;
_txt = omc_CodegenCFunctions_fun__94(threadData, _txt, _i_var_bind__from__outside, _i_var_name);
_in_txt = _txt;
_in_items = _rest;
goto _tailrecursive;
goto tmp2_done;
}
case 2: {
if (listEmpty(tmp3_2)) goto tmp2_end;
tmpMeta[1] = MMC_CAR(tmp3_2);
tmpMeta[2] = MMC_CDR(tmp3_2);
_rest = tmpMeta[2];
_txt = tmp3_1;
_in_txt = _txt;
_in_items = _rest;
goto _tailrecursive;
goto tmp2_done;
}
}
goto tmp2_end;
tmp2_end: ;
}
goto goto_1;
goto_1:;
MMC_THROW_INTERNAL();
goto tmp2_done;
tmp2_done:;
}
}
_out_txt = tmpMeta[0];
_return: OMC_LABEL_UNUSED
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__94(threadData_t *threadData, modelica_metatype _in_txt, modelica_boolean _in_a_var_bind__from__outside, modelica_metatype _in_a_var_name)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta[1] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp3_1;modelica_boolean tmp3_2;modelica_metatype tmp3_3;
tmp3_1 = _in_txt;
tmp3_2 = _in_a_var_bind__from__outside;
tmp3_3 = _in_a_var_name;
{
modelica_metatype _txt = NULL;
modelica_metatype _a_var_name = NULL;
volatile mmc_switch_type tmp3;
int tmp4;
tmp3 = 0;
for (; tmp3 < 2; tmp3++) {
switch (MMC_SWITCH_CAST(tmp3)) {
case 0: {
if (0 != tmp3_2) goto tmp2_end;
_txt = tmp3_1;
tmpMeta[0] = _txt;
goto tmp2_done;
}
case 1: {
_txt = tmp3_1;
_a_var_name = tmp3_3;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT292);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT2798);
tmpMeta[0] = omc_CodegenUtil_crefStr(threadData, _txt, _a_var_name);
goto tmp2_done;
}
}
goto tmp2_end;
tmp2_end: ;
}
goto goto_1;
goto_1:;
MMC_THROW_INTERNAL();
goto tmp2_done;
tmp2_done:;
}
}
_out_txt = tmpMeta[0];
_return: OMC_LABEL_UNUSED
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__94(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_var_bind__from__outside, modelica_metatype _in_a_var_name)
{
modelica_integer tmp1;
modelica_metatype _out_txt = NULL;
tmp1 = mmc_unbox_integer(_in_a_var_bind__from__outside);
_out_txt = omc_CodegenCFunctions_fun__94(threadData, _in_txt, tmp1, _in_a_var_name);
return _out_txt;
}
DLLExport
modelica_metatype omc_CodegenCFunctions_recordDeclarationExtraCtor(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_recDecl)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta[4] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp3_1;modelica_metatype tmp3_2;
tmp3_1 = _in_txt;
tmp3_2 = _in_a_recDecl;
{
modelica_metatype _txt = NULL;
modelica_metatype _i_r_variables = NULL;
modelica_string _i_r_name = NULL;
modelica_string _i_r_ctor__name = NULL;
modelica_metatype _l_ctor__additional__inputs = NULL;
modelica_metatype _l_ctor__func__name = NULL;
modelica_metatype _l_ctor__macro__additional__inputs = NULL;
modelica_metatype _l_ctor__macro__name = NULL;
modelica_metatype _l_rec__name = NULL;
modelica_metatype _l_ctor__name = NULL;
volatile mmc_switch_type tmp3;
int tmp4;
tmp3 = 0;
for (; tmp3 < 2; tmp3++) {
switch (MMC_SWITCH_CAST(tmp3)) {
case 0: {
if (mmc__uniontype__metarecord__typedef__equal(tmp3_2,1,3) == 0) goto tmp2_end;
tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_2), 2));
tmpMeta[2] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_2), 3));
tmpMeta[3] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_2), 4));
_i_r_ctor__name = tmpMeta[1];
_i_r_name = tmpMeta[2];
_i_r_variables = tmpMeta[3];
_txt = tmp3_1;
_l_ctor__name = omc_Tpl_writeStr(threadData, _OMC_LIT20, _i_r_ctor__name);
_l_rec__name = omc_Tpl_writeStr(threadData, _OMC_LIT20, _i_r_name);
_l_ctor__macro__name = omc_Tpl_writeText(threadData, _OMC_LIT20, _l_ctor__name);
_l_ctor__macro__name = omc_Tpl_writeTok(threadData, _l_ctor__macro__name, _OMC_LIT2702);
_l_ctor__macro__additional__inputs = omc_CodegenCFunctions_lm__90(threadData, _OMC_LIT20, _i_r_variables);
_l_ctor__func__name = omc_Tpl_writeText(threadData, _OMC_LIT20, _l_ctor__macro__name);
_l_ctor__func__name = omc_Tpl_writeTok(threadData, _l_ctor__func__name, _OMC_LIT2704);
_l_ctor__additional__inputs = omc_CodegenCFunctions_lm__92(threadData, _OMC_LIT20, _i_r_variables);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT2578);
_txt = omc_Tpl_writeText(threadData, _txt, _l_ctor__func__name);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT2715);
_txt = omc_Tpl_writeText(threadData, _txt, _l_ctor__additional__inputs);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1641);
_txt = omc_Tpl_writeText(threadData, _txt, _l_ctor__macro__name);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT2717);
_txt = omc_Tpl_writeText(threadData, _txt, _l_ctor__macro__additional__inputs);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT130);
_txt = omc_Tpl_writeText(threadData, _txt, _l_ctor__func__name);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT2719);
_txt = omc_Tpl_writeText(threadData, _txt, _l_ctor__macro__additional__inputs);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT2801);
_txt = omc_Tpl_writeText(threadData, _txt, _l_ctor__name);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT2766);
_txt = omc_Tpl_writeText(threadData, _txt, _l_ctor__func__name);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT2768);
_txt = omc_Tpl_writeText(threadData, _txt, _l_rec__name);
tmpMeta[0] = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT2790);
goto tmp2_done;
}
case 1: {
_txt = tmp3_1;
tmpMeta[0] = _txt;
goto tmp2_done;
}
}
goto tmp2_end;
tmp2_end: ;
}
goto goto_1;
goto_1:;
MMC_THROW_INTERNAL();
goto tmp2_done;
tmp2_done:;
}
}
_out_txt = tmpMeta[0];
_return: OMC_LABEL_UNUSED
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_lm__92(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_items)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta[5] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp3_1;modelica_metatype tmp3_2;
tmp3_1 = _in_txt;
tmp3_2 = _in_items;
{
modelica_metatype _txt = NULL;
modelica_metatype _rest = NULL;
modelica_metatype _i_var_name = NULL;
modelica_metatype _i_var = NULL;
modelica_boolean _i_var_bind__from__outside;
volatile mmc_switch_type tmp3;
int tmp4;
tmp3 = 0;
for (; tmp3 < 3; tmp3++) {
switch (MMC_SWITCH_CAST(tmp3)) {
case 0: {
if (!listEmpty(tmp3_2)) goto tmp2_end;
_txt = tmp3_1;
tmpMeta[0] = _txt;
goto tmp2_done;
}
case 1: {
modelica_integer tmp5;
if (listEmpty(tmp3_2)) goto tmp2_end;
tmpMeta[1] = MMC_CAR(tmp3_2);
tmpMeta[2] = MMC_CDR(tmp3_2);
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[1],0,7) == 0) goto tmp2_end;
tmpMeta[3] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[1]), 2));
tmpMeta[4] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[1]), 8));
tmp5 = mmc_unbox_integer(tmpMeta[4]);
_i_var = tmpMeta[1];
_i_var_name = tmpMeta[3];
_i_var_bind__from__outside = tmp5;
_rest = tmpMeta[2];
_txt = tmp3_1;
_txt = omc_CodegenCFunctions_fun__91(threadData, _txt, _i_var_bind__from__outside, _i_var_name, _i_var);
_in_txt = _txt;
_in_items = _rest;
goto _tailrecursive;
goto tmp2_done;
}
case 2: {
if (listEmpty(tmp3_2)) goto tmp2_end;
tmpMeta[1] = MMC_CAR(tmp3_2);
tmpMeta[2] = MMC_CDR(tmp3_2);
_rest = tmpMeta[2];
_txt = tmp3_1;
_in_txt = _txt;
_in_items = _rest;
goto _tailrecursive;
goto tmp2_done;
}
}
goto tmp2_end;
tmp2_end: ;
}
goto goto_1;
goto_1:;
MMC_THROW_INTERNAL();
goto tmp2_done;
tmp2_done:;
}
}
_out_txt = tmpMeta[0];
_return: OMC_LABEL_UNUSED
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__91(threadData_t *threadData, modelica_metatype _in_txt, modelica_boolean _in_a_var_bind__from__outside, modelica_metatype _in_a_var_name, modelica_metatype _in_a_var)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta[1] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp3_1;modelica_boolean tmp3_2;modelica_metatype tmp3_3;modelica_metatype tmp3_4;
tmp3_1 = _in_txt;
tmp3_2 = _in_a_var_bind__from__outside;
tmp3_3 = _in_a_var_name;
tmp3_4 = _in_a_var;
{
modelica_metatype _txt = NULL;
modelica_metatype _a_var_name = NULL;
modelica_metatype _a_var = NULL;
volatile mmc_switch_type tmp3;
int tmp4;
tmp3 = 0;
for (; tmp3 < 2; tmp3++) {
switch (MMC_SWITCH_CAST(tmp3)) {
case 0: {
if (0 != tmp3_2) goto tmp2_end;
_txt = tmp3_1;
tmpMeta[0] = _txt;
goto tmp2_done;
}
case 1: {
_txt = tmp3_1;
_a_var_name = tmp3_3;
_a_var = tmp3_4;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT292);
_txt = omc_CodegenCFunctions_varType(threadData, _txt, _a_var);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT2794);
tmpMeta[0] = omc_CodegenUtil_crefStr(threadData, _txt, _a_var_name);
goto tmp2_done;
}
}
goto tmp2_end;
tmp2_end: ;
}
goto goto_1;
goto_1:;
MMC_THROW_INTERNAL();
goto tmp2_done;
tmp2_done:;
}
}
_out_txt = tmpMeta[0];
_return: OMC_LABEL_UNUSED
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__91(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_var_bind__from__outside, modelica_metatype _in_a_var_name, modelica_metatype _in_a_var)
{
modelica_integer tmp1;
modelica_metatype _out_txt = NULL;
tmp1 = mmc_unbox_integer(_in_a_var_bind__from__outside);
_out_txt = omc_CodegenCFunctions_fun__91(threadData, _in_txt, tmp1, _in_a_var_name, _in_a_var);
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_lm__90(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_items)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta[5] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp3_1;modelica_metatype tmp3_2;
tmp3_1 = _in_txt;
tmp3_2 = _in_items;
{
modelica_metatype _txt = NULL;
modelica_metatype _rest = NULL;
modelica_metatype _i_var_name = NULL;
modelica_boolean _i_var_bind__from__outside;
volatile mmc_switch_type tmp3;
int tmp4;
tmp3 = 0;
for (; tmp3 < 3; tmp3++) {
switch (MMC_SWITCH_CAST(tmp3)) {
case 0: {
if (!listEmpty(tmp3_2)) goto tmp2_end;
_txt = tmp3_1;
tmpMeta[0] = _txt;
goto tmp2_done;
}
case 1: {
modelica_integer tmp5;
if (listEmpty(tmp3_2)) goto tmp2_end;
tmpMeta[1] = MMC_CAR(tmp3_2);
tmpMeta[2] = MMC_CDR(tmp3_2);
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[1],0,7) == 0) goto tmp2_end;
tmpMeta[3] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[1]), 2));
tmpMeta[4] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[1]), 8));
tmp5 = mmc_unbox_integer(tmpMeta[4]);
_i_var_name = tmpMeta[3];
_i_var_bind__from__outside = tmp5;
_rest = tmpMeta[2];
_txt = tmp3_1;
_txt = omc_CodegenCFunctions_fun__89(threadData, _txt, _i_var_bind__from__outside, _i_var_name);
_in_txt = _txt;
_in_items = _rest;
goto _tailrecursive;
goto tmp2_done;
}
case 2: {
if (listEmpty(tmp3_2)) goto tmp2_end;
tmpMeta[1] = MMC_CAR(tmp3_2);
tmpMeta[2] = MMC_CDR(tmp3_2);
_rest = tmpMeta[2];
_txt = tmp3_1;
_in_txt = _txt;
_in_items = _rest;
goto _tailrecursive;
goto tmp2_done;
}
}
goto tmp2_end;
tmp2_end: ;
}
goto goto_1;
goto_1:;
MMC_THROW_INTERNAL();
goto tmp2_done;
tmp2_done:;
}
}
_out_txt = tmpMeta[0];
_return: OMC_LABEL_UNUSED
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__89(threadData_t *threadData, modelica_metatype _in_txt, modelica_boolean _in_a_var_bind__from__outside, modelica_metatype _in_a_var_name)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta[1] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp3_1;modelica_boolean tmp3_2;modelica_metatype tmp3_3;
tmp3_1 = _in_txt;
tmp3_2 = _in_a_var_bind__from__outside;
tmp3_3 = _in_a_var_name;
{
modelica_metatype _txt = NULL;
modelica_metatype _a_var_name = NULL;
volatile mmc_switch_type tmp3;
int tmp4;
tmp3 = 0;
for (; tmp3 < 2; tmp3++) {
switch (MMC_SWITCH_CAST(tmp3)) {
case 0: {
if (0 != tmp3_2) goto tmp2_end;
_txt = tmp3_1;
tmpMeta[0] = _txt;
goto tmp2_done;
}
case 1: {
_txt = tmp3_1;
_a_var_name = tmp3_3;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT292);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT2798);
tmpMeta[0] = omc_CodegenUtil_crefStr(threadData, _txt, _a_var_name);
goto tmp2_done;
}
}
goto tmp2_end;
tmp2_end: ;
}
goto goto_1;
goto_1:;
MMC_THROW_INTERNAL();
goto tmp2_done;
tmp2_done:;
}
}
_out_txt = tmpMeta[0];
_return: OMC_LABEL_UNUSED
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__89(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_var_bind__from__outside, modelica_metatype _in_a_var_name)
{
modelica_integer tmp1;
modelica_metatype _out_txt = NULL;
tmp1 = mmc_unbox_integer(_in_a_var_bind__from__outside);
_out_txt = omc_CodegenCFunctions_fun__89(threadData, _in_txt, tmp1, _in_a_var_name);
return _out_txt;
}
DLLExport
modelica_metatype omc_CodegenCFunctions_recordDeclarationHeader(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_recDecl)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta[2] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp3_1;modelica_metatype tmp3_2;
tmp3_1 = _in_txt;
tmp3_2 = _in_a_recDecl;
{
modelica_metatype _txt = NULL;
modelica_metatype _i_r_path = NULL;
modelica_metatype _i_r = NULL;
volatile mmc_switch_type tmp3;
int tmp4;
tmp3 = 0;
for (; tmp3 < 4; tmp3++) {
switch (MMC_SWITCH_CAST(tmp3)) {
case 0: {
if (mmc__uniontype__metarecord__typedef__equal(tmp3_2,0,4) == 0) goto tmp2_end;
_i_r = tmp3_2;
_txt = tmp3_1;
tmpMeta[0] = omc_CodegenCFunctions_recordDeclarationFullHeader(threadData, _txt, _i_r);
goto tmp2_done;
}
case 1: {
if (mmc__uniontype__metarecord__typedef__equal(tmp3_2,1,3) == 0) goto tmp2_end;
_i_r = tmp3_2;
_txt = tmp3_1;
tmpMeta[0] = omc_CodegenCFunctions_recordDeclarationExtraCtor(threadData, _txt, _i_r);
goto tmp2_done;
}
case 2: {
if (mmc__uniontype__metarecord__typedef__equal(tmp3_2,2,2) == 0) goto tmp2_end;
tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_2), 2));
_i_r_path = tmpMeta[1];
_txt = tmp3_1;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT2607);
_txt = omc_CodegenUtil_underscorePath(threadData, _txt, _i_r_path);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT2609);
tmpMeta[0] = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT89);
goto tmp2_done;
}
case 3: {
_txt = tmp3_1;
tmpMeta[0] = _txt;
goto tmp2_done;
}
}
goto tmp2_end;
tmp2_end: ;
}
goto goto_1;
goto_1:;
MMC_THROW_INTERNAL();
goto tmp2_done;
tmp2_done:;
}
}
_out_txt = tmpMeta[0];
_return: OMC_LABEL_UNUSED
return _out_txt;
}
DLLExport
modelica_metatype omc_CodegenCFunctions_recordDeclaration(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_recDecl)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta[4] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp3_1;modelica_metatype tmp3_2;
tmp3_1 = _in_txt;
tmp3_2 = _in_a_recDecl;
{
modelica_metatype _txt = NULL;
modelica_metatype _i_r_fieldNames = NULL;
modelica_metatype _i_r_path = NULL;
modelica_string _i_r_ctor__name = NULL;
modelica_metatype _i_r_variables = NULL;
modelica_string _i_r_name = NULL;
modelica_metatype _i_variables = NULL;
modelica_metatype _i_defPath = NULL;
modelica_integer _ret_7;
modelica_metatype _txt_6 = NULL;
modelica_metatype _txt_5 = NULL;
modelica_metatype _txt_4 = NULL;
modelica_integer _ret_3;
modelica_metatype _txt_2 = NULL;
modelica_metatype _txt_1 = NULL;
modelica_metatype _txt_0 = NULL;
int tmp3;
{
switch (MMC_SWITCH_CAST(valueConstructor(tmp3_2))) {
case 3: {
if (mmc__uniontype__metarecord__typedef__equal(tmp3_2,0,4) == 0) goto tmp2_end;
tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_2), 2));
tmpMeta[2] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_2), 4));
tmpMeta[3] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_2), 5));
_i_r_name = tmpMeta[1];
_i_defPath = tmpMeta[2];
_i_r_variables = tmpMeta[3];
_i_variables = tmpMeta[3];
_txt = tmp3_1;
_txt_0 = omc_CodegenUtil_dotPath(threadData, _OMC_LIT20, _i_defPath);
_txt_1 = omc_CodegenUtil_underscorePath(threadData, _OMC_LIT20, _i_defPath);
_txt_2 = omc_Tpl_pushIter(threadData, _OMC_LIT20, _OMC_LIT1691);
_txt_2 = omc_CodegenCFunctions_lm__85(threadData, _txt_2, _i_variables);
_txt_2 = omc_Tpl_popIter(threadData, _txt_2);
_ret_3 = listLength(_i_variables);
_txt = omc_CodegenCFunctions_recordDefinition(threadData, _txt, omc_Tpl_textString(threadData, _txt_0), omc_Tpl_textString(threadData, _txt_1), omc_Tpl_textString(threadData, _txt_2), _ret_3);
_txt = omc_Tpl_softNewLine(threadData, _txt);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT89);
_txt = omc_CodegenCFunctions_recordConstructorDef(threadData, _txt, _i_r_name, _i_r_name, _i_r_variables);
_txt = omc_Tpl_softNewLine(threadData, _txt);
_txt = omc_CodegenCFunctions_recordModelicaCallConstrctor(threadData, _txt, _i_r_name, _i_r_variables);
_txt = omc_Tpl_softNewLine(threadData, _txt);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT89);
tmpMeta[0] = omc_CodegenCFunctions_recordCopyDef(threadData, _txt, _i_r_name, _i_r_variables);
goto tmp2_done;
}
case 4: {
if (mmc__uniontype__metarecord__typedef__equal(tmp3_2,1,3) == 0) goto tmp2_end;
tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_2), 2));
tmpMeta[2] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_2), 3));
tmpMeta[3] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_2), 4));
_i_r_ctor__name = tmpMeta[1];
_i_r_name = tmpMeta[2];
_i_r_variables = tmpMeta[3];
_txt = tmp3_1;
tmpMeta[0] = omc_CodegenCFunctions_recordConstructorDef(threadData, _txt, _i_r_ctor__name, _i_r_name, _i_r_variables);
goto tmp2_done;
}
case 5: {
if (mmc__uniontype__metarecord__typedef__equal(tmp3_2,2,2) == 0) goto tmp2_end;
tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_2), 2));
tmpMeta[2] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_2), 3));
_i_r_path = tmpMeta[1];
_i_r_fieldNames = tmpMeta[2];
_txt = tmp3_1;
_txt_4 = omc_CodegenUtil_dotPath(threadData, _OMC_LIT20, _i_r_path);
_txt_5 = omc_CodegenUtil_underscorePath(threadData, _OMC_LIT20, _i_r_path);
_txt_6 = omc_Tpl_pushIter(threadData, _OMC_LIT20, _OMC_LIT1691);
_txt_6 = omc_CodegenCFunctions_lm__86(threadData, _txt_6, _i_r_fieldNames);
_txt_6 = omc_Tpl_popIter(threadData, _txt_6);
_ret_7 = listLength(_i_r_fieldNames);
tmpMeta[0] = omc_CodegenCFunctions_recordDefinition(threadData, _txt, omc_Tpl_textString(threadData, _txt_4), omc_Tpl_textString(threadData, _txt_5), omc_Tpl_textString(threadData, _txt_6), _ret_7);
goto tmp2_done;
}
default:
tmp2_default: OMC_LABEL_UNUSED; {
_txt = tmp3_1;
tmpMeta[0] = _txt;
goto tmp2_done;
}
}
goto tmp2_end;
tmp2_end: ;
}
goto goto_1;
goto_1:;
MMC_THROW_INTERNAL();
goto tmp2_done;
tmp2_done:;
}
}
_out_txt = tmpMeta[0];
_return: OMC_LABEL_UNUSED
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_lm__86(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_items)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta[3] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp3_1;modelica_metatype tmp3_2;
tmp3_1 = _in_txt;
tmp3_2 = _in_items;
{
modelica_metatype _txt = NULL;
modelica_metatype _rest = NULL;
modelica_string _i_fname = NULL;
volatile mmc_switch_type tmp3;
int tmp4;
tmp3 = 0;
for (; tmp3 < 2; tmp3++) {
switch (MMC_SWITCH_CAST(tmp3)) {
case 0: {
if (!listEmpty(tmp3_2)) goto tmp2_end;
_txt = tmp3_1;
tmpMeta[0] = _txt;
goto tmp2_done;
}
case 1: {
if (listEmpty(tmp3_2)) goto tmp2_end;
tmpMeta[1] = MMC_CAR(tmp3_2);
tmpMeta[2] = MMC_CDR(tmp3_2);
_i_fname = tmpMeta[1];
_rest = tmpMeta[2];
_txt = tmp3_1;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT917);
_txt = omc_Tpl_writeStr(threadData, _txt, _i_fname);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT917);
_txt = omc_Tpl_nextIter(threadData, _txt);
_in_txt = _txt;
_in_items = _rest;
goto _tailrecursive;
goto tmp2_done;
}
}
goto tmp2_end;
tmp2_end: ;
}
goto goto_1;
goto_1:;
MMC_THROW_INTERNAL();
goto tmp2_done;
tmp2_done:;
}
}
_out_txt = tmpMeta[0];
_return: OMC_LABEL_UNUSED
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_lm__85(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_items)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta[4] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp3_1;modelica_metatype tmp3_2;
tmp3_1 = _in_txt;
tmp3_2 = _in_items;
{
modelica_metatype _txt = NULL;
modelica_metatype _rest = NULL;
modelica_metatype _i_name = NULL;
volatile mmc_switch_type tmp3;
int tmp4;
tmp3 = 0;
for (; tmp3 < 3; tmp3++) {
switch (MMC_SWITCH_CAST(tmp3)) {
case 0: {
if (!listEmpty(tmp3_2)) goto tmp2_end;
_txt = tmp3_1;
tmpMeta[0] = _txt;
goto tmp2_done;
}
case 1: {
if (listEmpty(tmp3_2)) goto tmp2_end;
tmpMeta[1] = MMC_CAR(tmp3_2);
tmpMeta[2] = MMC_CDR(tmp3_2);
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[1],0,7) == 0) goto tmp2_end;
tmpMeta[3] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[1]), 2));
_i_name = tmpMeta[3];
_rest = tmpMeta[2];
_txt = tmp3_1;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT917);
_txt = omc_CodegenUtil_crefStr(threadData, _txt, _i_name);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT917);
_txt = omc_Tpl_nextIter(threadData, _txt);
_in_txt = _txt;
_in_items = _rest;
goto _tailrecursive;
goto tmp2_done;
}
case 2: {
if (listEmpty(tmp3_2)) goto tmp2_end;
tmpMeta[1] = MMC_CAR(tmp3_2);
tmpMeta[2] = MMC_CDR(tmp3_2);
_rest = tmpMeta[2];
_txt = tmp3_1;
_in_txt = _txt;
_in_items = _rest;
goto _tailrecursive;
goto tmp2_done;
}
}
goto tmp2_end;
tmp2_end: ;
}
goto goto_1;
goto_1:;
MMC_THROW_INTERNAL();
goto tmp2_done;
tmp2_done:;
}
}
_out_txt = tmpMeta[0];
_return: OMC_LABEL_UNUSED
return _out_txt;
}
DLLExport
modelica_metatype omc_CodegenCFunctions_functionHeaderParallelImpl(threadData_t *threadData, modelica_metatype _txt, modelica_string _a_fname, modelica_metatype _a_fargs, modelica_metatype _a_outVars, modelica_boolean _a_inFunc, modelica_boolean _a_boxed)
{
modelica_metatype _out_txt = NULL;
modelica_metatype _l_fargsStr = NULL;
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
_l_fargsStr = omc_Tpl_pushIter(threadData, _OMC_LIT20, _OMC_LIT294);
_l_fargsStr = omc_CodegenCFunctions_lm__80(threadData, _l_fargsStr, _a_fargs);
_l_fargsStr = omc_Tpl_popIter(threadData, _l_fargsStr);
_out_txt = omc_CodegenCFunctions_fun__83(threadData, _txt, _a_outVars, _l_fargsStr, _a_fname ,&_l_fargsStr);
_return: OMC_LABEL_UNUSED
return _out_txt;
}
modelica_metatype boxptr_CodegenCFunctions_functionHeaderParallelImpl(threadData_t *threadData, modelica_metatype _txt, modelica_metatype _a_fname, modelica_metatype _a_fargs, modelica_metatype _a_outVars, modelica_metatype _a_inFunc, modelica_metatype _a_boxed)
{
modelica_integer tmp1;
modelica_integer tmp2;
modelica_metatype _out_txt = NULL;
tmp1 = mmc_unbox_integer(_a_inFunc);
tmp2 = mmc_unbox_integer(_a_boxed);
_out_txt = omc_CodegenCFunctions_functionHeaderParallelImpl(threadData, _txt, _a_fname, _a_fargs, _a_outVars, tmp1, tmp2);
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__83(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_outVars, modelica_metatype _in_a_fargsStr, modelica_string _in_a_fname, modelica_metatype *out_out_a_fargsStr)
{
modelica_metatype _out_txt = NULL;
modelica_metatype _out_a_fargsStr = NULL;
modelica_metatype tmpMeta[4] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_metatype tmp4_2;modelica_metatype tmp4_3;modelica_string tmp4_4;
tmp4_1 = _in_txt;
tmp4_2 = _in_a_outVars;
tmp4_3 = _in_a_fargsStr;
tmp4_4 = _in_a_fname;
{
modelica_metatype _txt = NULL;
modelica_metatype _a_fargsStr = NULL;
modelica_string _a_fname = NULL;
modelica_metatype _i_rest = NULL;
modelica_metatype _i_fvar = NULL;
modelica_metatype _l_rettype = NULL;
volatile mmc_switch_type tmp4;
int tmp5;
tmp4 = 0;
for (; tmp4 < 3; tmp4++) {
switch (MMC_SWITCH_CAST(tmp4)) {
case 0: {
if (!listEmpty(tmp4_2)) goto tmp3_end;
_txt = tmp4_1;
_a_fargsStr = tmp4_3;
_a_fname = tmp4_4;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT2575);
_txt = omc_Tpl_writeStr(threadData, _txt, _a_fname);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT68);
_txt = omc_Tpl_writeText(threadData, _txt, _a_fargsStr);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT78);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_fargsStr;
goto tmp3_done;
}
case 1: {
if (listEmpty(tmp4_2)) goto tmp3_end;
tmpMeta[2] = MMC_CAR(tmp4_2);
tmpMeta[3] = MMC_CDR(tmp4_2);
_i_fvar = tmpMeta[2];
_i_rest = tmpMeta[3];
_txt = tmp4_1;
_a_fargsStr = tmp4_3;
_a_fname = tmp4_4;
_l_rettype = omc_CodegenCFunctions_varType(threadData, _OMC_LIT20, _i_fvar);
_a_fargsStr = omc_CodegenCFunctions_fun__82(threadData, _a_fargsStr, _i_rest);
_txt = omc_Tpl_writeText(threadData, _txt, _l_rettype);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT2269);
_txt = omc_Tpl_writeStr(threadData, _txt, _a_fname);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT68);
_txt = omc_Tpl_writeText(threadData, _txt, _a_fargsStr);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT78);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_fargsStr;
goto tmp3_done;
}
case 2: {
_txt = tmp4_1;
_a_fargsStr = tmp4_3;
_txt = omc_CodegenUtil_error(threadData, _txt, omc_Tpl_sourceInfo(threadData, _OMC_LIT27, ((modelica_integer) 412), ((modelica_integer) 13)), _OMC_LIT2802);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_fargsStr;
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta[0+0];
_out_a_fargsStr = tmpMeta[0+1];
_return: OMC_LABEL_UNUSED
if (out_out_a_fargsStr) { *out_out_a_fargsStr = _out_a_fargsStr; }
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__82(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_rest)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta[1] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp3_1;modelica_metatype tmp3_2;
tmp3_1 = _in_txt;
tmp3_2 = _in_a_rest;
{
modelica_metatype _txt = NULL;
modelica_metatype _i_rest = NULL;
volatile mmc_switch_type tmp3;
int tmp4;
tmp3 = 0;
for (; tmp3 < 2; tmp3++) {
switch (MMC_SWITCH_CAST(tmp3)) {
case 0: {
if (!listEmpty(tmp3_2)) goto tmp2_end;
_txt = tmp3_1;
tmpMeta[0] = _txt;
goto tmp2_done;
}
case 1: {
_txt = tmp3_1;
_i_rest = tmp3_2;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT292);
_txt = omc_Tpl_pushIter(threadData, _txt, _OMC_LIT294);
_txt = omc_CodegenCFunctions_lm__81(threadData, _txt, _i_rest);
tmpMeta[0] = omc_Tpl_popIter(threadData, _txt);
goto tmp2_done;
}
}
goto tmp2_end;
tmp2_end: ;
}
goto goto_1;
goto_1:;
MMC_THROW_INTERNAL();
goto tmp2_done;
tmp2_done:;
}
}
_out_txt = tmpMeta[0];
_return: OMC_LABEL_UNUSED
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_lm__81(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_items)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta[3] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp3_1;modelica_metatype tmp3_2;
tmp3_1 = _in_txt;
tmp3_2 = _in_items;
{
modelica_metatype _txt = NULL;
modelica_metatype _rest = NULL;
modelica_metatype _i_var = NULL;
volatile mmc_switch_type tmp3;
int tmp4;
tmp3 = 0;
for (; tmp3 < 2; tmp3++) {
switch (MMC_SWITCH_CAST(tmp3)) {
case 0: {
if (!listEmpty(tmp3_2)) goto tmp2_end;
_txt = tmp3_1;
tmpMeta[0] = _txt;
goto tmp2_done;
}
case 1: {
if (listEmpty(tmp3_2)) goto tmp2_end;
tmpMeta[1] = MMC_CAR(tmp3_2);
tmpMeta[2] = MMC_CDR(tmp3_2);
_i_var = tmpMeta[1];
_rest = tmpMeta[2];
_txt = tmp3_1;
_txt = omc_CodegenCFunctions_tupleOutfunArgDefinitionKernelFunctionInterface(threadData, _txt, _i_var);
_txt = omc_Tpl_nextIter(threadData, _txt);
_in_txt = _txt;
_in_items = _rest;
goto _tailrecursive;
goto tmp2_done;
}
}
goto tmp2_end;
tmp2_end: ;
}
goto goto_1;
goto_1:;
MMC_THROW_INTERNAL();
goto tmp2_done;
tmp2_done:;
}
}
_out_txt = tmpMeta[0];
_return: OMC_LABEL_UNUSED
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_lm__80(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_items)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta[3] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp3_1;modelica_metatype tmp3_2;
tmp3_1 = _in_txt;
tmp3_2 = _in_items;
{
modelica_metatype _txt = NULL;
modelica_metatype _rest = NULL;
modelica_metatype _i_var = NULL;
volatile mmc_switch_type tmp3;
int tmp4;
tmp3 = 0;
for (; tmp3 < 2; tmp3++) {
switch (MMC_SWITCH_CAST(tmp3)) {
case 0: {
if (!listEmpty(tmp3_2)) goto tmp2_end;
_txt = tmp3_1;
tmpMeta[0] = _txt;
goto tmp2_done;
}
case 1: {
if (listEmpty(tmp3_2)) goto tmp2_end;
tmpMeta[1] = MMC_CAR(tmp3_2);
tmpMeta[2] = MMC_CDR(tmp3_2);
_i_var = tmpMeta[1];
_rest = tmpMeta[2];
_txt = tmp3_1;
_txt = omc_CodegenCFunctions_funArgDefinitionKernelFunctionInterface(threadData, _txt, _i_var);
_txt = omc_Tpl_nextIter(threadData, _txt);
_in_txt = _txt;
_in_items = _rest;
goto _tailrecursive;
goto tmp2_done;
}
}
goto tmp2_end;
tmp2_end: ;
}
goto goto_1;
goto_1:;
MMC_THROW_INTERNAL();
goto tmp2_done;
tmp2_done:;
}
}
_out_txt = tmpMeta[0];
_return: OMC_LABEL_UNUSED
return _out_txt;
}
DLLExport
modelica_metatype omc_CodegenCFunctions_parallelFunctionHeader(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_fn, modelica_boolean _in_a_inFunc)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta[4] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp3_1;modelica_metatype tmp3_2;modelica_boolean tmp3_3;
tmp3_1 = _in_txt;
tmp3_2 = _in_a_fn;
tmp3_3 = _in_a_inFunc;
{
modelica_metatype _txt = NULL;
modelica_boolean _a_inFunc;
modelica_metatype _i_outVars = NULL;
modelica_metatype _i_functionArguments = NULL;
modelica_metatype _i_name = NULL;
modelica_metatype _txt_0 = NULL;
volatile mmc_switch_type tmp3;
int tmp4;
tmp3 = 0;
for (; tmp3 < 2; tmp3++) {
switch (MMC_SWITCH_CAST(tmp3)) {
case 0: {
if (mmc__uniontype__metarecord__typedef__equal(tmp3_2,1,6) == 0) goto tmp2_end;
tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_2), 2));
tmpMeta[2] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_2), 3));
tmpMeta[3] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_2), 4));
_i_name = tmpMeta[1];
_i_outVars = tmpMeta[2];
_i_functionArguments = tmpMeta[3];
_txt = tmp3_1;
_a_inFunc = tmp3_3;
_txt_0 = omc_CodegenUtil_underscorePath(threadData, _OMC_LIT20, _i_name);
_txt = omc_CodegenCFunctions_functionHeaderParallelImpl(threadData, _txt, omc_Tpl_textString(threadData, _txt_0), _i_functionArguments, _i_outVars, _a_inFunc, 0);
tmpMeta[0] = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT105);
goto tmp2_done;
}
case 1: {
_txt = tmp3_1;
tmpMeta[0] = _txt;
goto tmp2_done;
}
}
goto tmp2_end;
tmp2_end: ;
}
goto goto_1;
goto_1:;
MMC_THROW_INTERNAL();
goto tmp2_done;
tmp2_done:;
}
}
_out_txt = tmpMeta[0];
_return: OMC_LABEL_UNUSED
return _out_txt;
}
modelica_metatype boxptr_CodegenCFunctions_parallelFunctionHeader(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_fn, modelica_metatype _in_a_inFunc)
{
modelica_integer tmp1;
modelica_metatype _out_txt = NULL;
tmp1 = mmc_unbox_integer(_in_a_inFunc);
_out_txt = omc_CodegenCFunctions_parallelFunctionHeader(threadData, _in_txt, _in_a_fn, tmp1);
return _out_txt;
}
DLLExport
modelica_metatype omc_CodegenCFunctions_functionHeader(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_fn, modelica_boolean _in_a_inFunc, modelica_boolean _in_a_isSimulation, modelica_metatype _in_a_staticPrototypes, modelica_metatype *out_out_a_staticPrototypes)
{
modelica_metatype _out_txt = NULL;
modelica_metatype _out_a_staticPrototypes = NULL;
modelica_metatype tmpMeta[7] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_metatype tmp4_2;modelica_boolean tmp4_3;modelica_boolean tmp4_4;modelica_metatype tmp4_5;
tmp4_1 = _in_txt;
tmp4_2 = _in_a_fn;
tmp4_3 = _in_a_inFunc;
tmp4_4 = _in_a_isSimulation;
tmp4_5 = _in_a_staticPrototypes;
{
modelica_metatype _txt = NULL;
modelica_boolean _a_inFunc;
modelica_boolean _a_isSimulation;
modelica_metatype _a_staticPrototypes = NULL;
modelica_metatype _i_funArgs = NULL;
modelica_metatype _i_fn = NULL;
modelica_metatype _i_visibility = NULL;
modelica_metatype _i_outVars = NULL;
modelica_metatype _i_functionArguments = NULL;
modelica_metatype _i_name = NULL;
modelica_boolean _ret_12;
modelica_metatype _l_vis = NULL;
modelica_metatype _l_funArgsStr = NULL;
modelica_metatype _l_fname = NULL;
modelica_boolean _ret_8;
modelica_metatype _txt_7 = NULL;
modelica_metatype _txt_6 = NULL;
modelica_boolean _ret_5;
modelica_metatype _txt_4 = NULL;
modelica_metatype _txt_3 = NULL;
modelica_metatype _txt_2 = NULL;
modelica_boolean _ret_1;
modelica_metatype _txt_0 = NULL;
volatile mmc_switch_type tmp4;
int tmp5;
tmp4 = 0;
for (; tmp4 < 6; tmp4++) {
switch (MMC_SWITCH_CAST(tmp4)) {
case 0: {
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,0,7) == 0) goto tmp3_end;
tmpMeta[2] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
tmpMeta[3] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 3));
tmpMeta[4] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 4));
tmpMeta[5] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 7));
_i_fn = tmp4_2;
_i_name = tmpMeta[2];
_i_outVars = tmpMeta[3];
_i_functionArguments = tmpMeta[4];
_i_visibility = tmpMeta[5];
_txt = tmp4_1;
_a_inFunc = tmp4_3;
_a_isSimulation = tmp4_4;
_a_staticPrototypes = tmp4_5;
_txt_0 = omc_CodegenUtil_underscorePath(threadData, _OMC_LIT20, _i_name);
_txt = omc_CodegenCFunctions_functionHeaderNormal(threadData, _txt, omc_Tpl_textString(threadData, _txt_0), _i_functionArguments, _i_outVars, _a_inFunc, _i_visibility, 0, _a_isSimulation, _a_staticPrototypes ,&_a_staticPrototypes);
_txt = omc_Tpl_softNewLine(threadData, _txt);
_ret_1 = omc_SimCodeFunctionUtil_funcHasParallelInOutArrays(threadData, _i_fn);
tmpMeta[0+0] = omc_CodegenCFunctions_fun__74(threadData, _txt, _ret_1, _a_staticPrototypes, _a_isSimulation, _i_visibility, _i_fn, _a_inFunc, _i_outVars, _i_functionArguments, _i_name, &tmpMeta[0+1]);
goto tmp3_done;
}
case 1: {
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,2,6) == 0) goto tmp3_end;
tmpMeta[2] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
tmpMeta[3] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 3));
tmpMeta[4] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 4));
_i_name = tmpMeta[2];
_i_outVars = tmpMeta[3];
_i_functionArguments = tmpMeta[4];
_txt = tmp4_1;
_a_staticPrototypes = tmp4_5;
_txt_2 = omc_CodegenUtil_underscorePath(threadData, _OMC_LIT20, _i_name);
_txt = omc_CodegenCFunctions_functionHeaderKernelFunctionInterface(threadData, _txt, omc_Tpl_textString(threadData, _txt_2), _i_functionArguments, _i_outVars);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_staticPrototypes;
goto tmp3_done;
}
case 2: {
modelica_integer tmp6;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,3,14) == 0) goto tmp3_end;
tmpMeta[2] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
tmpMeta[3] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 4));
tmpMeta[4] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 8));
tmpMeta[5] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 13));
tmpMeta[6] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 15));
tmp6 = mmc_unbox_integer(tmpMeta[6]);
if (1 != tmp6) goto tmp3_end;
_i_fn = tmp4_2;
_i_name = tmpMeta[2];
_i_funArgs = tmpMeta[3];
_i_outVars = tmpMeta[4];
_i_visibility = tmpMeta[5];
_txt = tmp4_1;
_a_inFunc = tmp4_3;
_a_isSimulation = tmp4_4;
_a_staticPrototypes = tmp4_5;
_txt_3 = omc_CodegenUtil_underscorePath(threadData, _OMC_LIT20, _i_name);
_txt = omc_CodegenCFunctions_functionHeaderNormal(threadData, _txt, omc_Tpl_textString(threadData, _txt_3), _i_funArgs, _i_outVars, _a_inFunc, _i_visibility, 1, _a_isSimulation, _a_staticPrototypes ,&_a_staticPrototypes);
_txt = omc_Tpl_softNewLine(threadData, _txt);
_txt_4 = omc_CodegenUtil_underscorePath(threadData, _OMC_LIT20, _i_name);
_ret_5 = omc_SimCodeFunctionUtil_isBoxedFunction(threadData, _i_fn);
_txt = omc_CodegenCFunctions_functionHeaderBoxed(threadData, _txt, omc_Tpl_textString(threadData, _txt_4), _i_funArgs, _i_outVars, _a_inFunc, _ret_5, _i_visibility, 1, _a_isSimulation, _a_staticPrototypes ,&_a_staticPrototypes);
_txt = omc_Tpl_softNewLine(threadData, _txt);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT89);
_txt = omc_CodegenCFunctions_extFunDefDynamic(threadData, _txt, _i_fn);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_staticPrototypes;
goto tmp3_done;
}
case 3: {
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,3,14) == 0) goto tmp3_end;
tmpMeta[2] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
tmpMeta[3] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 4));
tmpMeta[4] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 8));
tmpMeta[5] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 13));
_i_fn = tmp4_2;
_i_name = tmpMeta[2];
_i_funArgs = tmpMeta[3];
_i_outVars = tmpMeta[4];
_i_visibility = tmpMeta[5];
_txt = tmp4_1;
_a_inFunc = tmp4_3;
_a_isSimulation = tmp4_4;
_a_staticPrototypes = tmp4_5;
_txt_6 = omc_CodegenUtil_underscorePath(threadData, _OMC_LIT20, _i_name);
_txt = omc_CodegenCFunctions_functionHeaderNormal(threadData, _txt, omc_Tpl_textString(threadData, _txt_6), _i_funArgs, _i_outVars, _a_inFunc, _i_visibility, 0, _a_isSimulation, _a_staticPrototypes ,&_a_staticPrototypes);
_txt = omc_Tpl_softNewLine(threadData, _txt);
_txt_7 = omc_CodegenUtil_underscorePath(threadData, _OMC_LIT20, _i_name);
_ret_8 = omc_SimCodeFunctionUtil_isBoxedFunction(threadData, _i_fn);
_txt = omc_CodegenCFunctions_functionHeaderBoxed(threadData, _txt, omc_Tpl_textString(threadData, _txt_7), _i_funArgs, _i_outVars, _a_inFunc, _ret_8, _i_visibility, 0, _a_isSimulation, _a_staticPrototypes ,&_a_staticPrototypes);
_txt = omc_Tpl_softNewLine(threadData, _txt);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT89);
_txt = omc_CodegenCFunctions_extFunDef(threadData, _txt, _i_fn);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_staticPrototypes;
goto tmp3_done;
}
case 4: {
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,4,5) == 0) goto tmp3_end;
tmpMeta[2] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
tmpMeta[3] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 3));
tmpMeta[4] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 5));
_i_name = tmpMeta[2];
_i_funArgs = tmpMeta[3];
_i_visibility = tmpMeta[4];
_txt = tmp4_1;
_a_inFunc = tmp4_3;
_a_isSimulation = tmp4_4;
_a_staticPrototypes = tmp4_5;
_l_fname = omc_CodegenUtil_underscorePath(threadData, _OMC_LIT20, _i_name);
_l_funArgsStr = omc_CodegenCFunctions_lm__75(threadData, _OMC_LIT20, _i_funArgs);
_l_vis = omc_CodegenCFunctions_fun__76(threadData, _OMC_LIT20, _i_visibility);
_ret_12 = omc_Flags_isSet(threadData, _OMC_LIT604);
_txt = omc_CodegenCFunctions_fun__77(threadData, _txt, _ret_12, _l_funArgsStr, _l_fname, _l_vis);
_txt = omc_Tpl_softNewLine(threadData, _txt);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT89);
tmpMeta[0+0] = omc_CodegenCFunctions_functionHeaderBoxed(threadData, _txt, omc_Tpl_textString(threadData, _l_fname), _i_funArgs, _OMC_LIT2810, _a_inFunc, 0, _i_visibility, 0, _a_isSimulation, _a_staticPrototypes, &tmpMeta[0+1]);
goto tmp3_done;
}
case 5: {
_txt = tmp4_1;
_a_staticPrototypes = tmp4_5;
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_staticPrototypes;
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta[0+0];
_out_a_staticPrototypes = tmpMeta[0+1];
_return: OMC_LABEL_UNUSED
if (out_out_a_staticPrototypes) { *out_out_a_staticPrototypes = _out_a_staticPrototypes; }
return _out_txt;
}
modelica_metatype boxptr_CodegenCFunctions_functionHeader(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_fn, modelica_metatype _in_a_inFunc, modelica_metatype _in_a_isSimulation, modelica_metatype _in_a_staticPrototypes, modelica_metatype *out_out_a_staticPrototypes)
{
modelica_integer tmp1;
modelica_integer tmp2;
modelica_metatype _out_txt = NULL;
tmp1 = mmc_unbox_integer(_in_a_inFunc);
tmp2 = mmc_unbox_integer(_in_a_isSimulation);
_out_txt = omc_CodegenCFunctions_functionHeader(threadData, _in_txt, _in_a_fn, tmp1, tmp2, _in_a_staticPrototypes, out_out_a_staticPrototypes);
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__77(threadData_t *threadData, modelica_metatype _in_txt, modelica_boolean _in_mArg, modelica_metatype _in_a_funArgsStr, modelica_metatype _in_a_fname, modelica_metatype _in_a_vis)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta[1] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp3_1;modelica_boolean tmp3_2;modelica_metatype tmp3_3;modelica_metatype tmp3_4;modelica_metatype tmp3_5;
tmp3_1 = _in_txt;
tmp3_2 = _in_mArg;
tmp3_3 = _in_a_funArgsStr;
tmp3_4 = _in_a_fname;
tmp3_5 = _in_a_vis;
{
modelica_metatype _txt = NULL;
modelica_metatype _a_funArgsStr = NULL;
modelica_metatype _a_fname = NULL;
modelica_metatype _a_vis = NULL;
volatile mmc_switch_type tmp3;
int tmp4;
tmp3 = 0;
for (; tmp3 < 2; tmp3++) {
switch (MMC_SWITCH_CAST(tmp3)) {
case 0: {
if (0 != tmp3_2) goto tmp2_end;
_txt = tmp3_1;
_a_funArgsStr = tmp3_3;
_a_fname = tmp3_4;
_a_vis = tmp3_5;
_txt = omc_Tpl_writeText(threadData, _txt, _a_vis);
_txt = omc_Tpl_softNewLine(threadData, _txt);
_txt = omc_Tpl_writeText(threadData, _txt, _a_fname);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT2269);
_txt = omc_Tpl_writeText(threadData, _txt, _a_fname);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT2812);
_txt = omc_Tpl_writeText(threadData, _txt, _a_funArgsStr);
tmpMeta[0] = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT290);
goto tmp2_done;
}
case 1: {
_txt = tmp3_1;
_a_funArgsStr = tmp3_3;
_a_fname = tmp3_4;
_a_vis = tmp3_5;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT2495);
_txt = omc_Tpl_writeText(threadData, _txt, _a_fname);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT2814);
_txt = omc_Tpl_writeText(threadData, _txt, _a_fname);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT2816);
_txt = omc_Tpl_writeText(threadData, _txt, _a_funArgsStr);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT375);
_txt = omc_Tpl_writeText(threadData, _txt, _a_vis);
_txt = omc_Tpl_softNewLine(threadData, _txt);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT2267);
_txt = omc_Tpl_writeText(threadData, _txt, _a_fname);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT2269);
_txt = omc_Tpl_writeText(threadData, _txt, _a_fname);
tmpMeta[0] = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT105);
goto tmp2_done;
}
}
goto tmp2_end;
tmp2_end: ;
}
goto goto_1;
goto_1:;
MMC_THROW_INTERNAL();
goto tmp2_done;
tmp2_done:;
}
}
_out_txt = tmpMeta[0];
_return: OMC_LABEL_UNUSED
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__77(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_mArg, modelica_metatype _in_a_funArgsStr, modelica_metatype _in_a_fname, modelica_metatype _in_a_vis)
{
modelica_integer tmp1;
modelica_metatype _out_txt = NULL;
tmp1 = mmc_unbox_integer(_in_mArg);
_out_txt = omc_CodegenCFunctions_fun__77(threadData, _in_txt, tmp1, _in_a_funArgsStr, _in_a_fname, _in_a_vis);
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__76(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_visibility)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta[1] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp3_1;modelica_metatype tmp3_2;
tmp3_1 = _in_txt;
tmp3_2 = _in_a_visibility;
{
modelica_metatype _txt = NULL;
volatile mmc_switch_type tmp3;
int tmp4;
tmp3 = 0;
for (; tmp3 < 2; tmp3++) {
switch (MMC_SWITCH_CAST(tmp3)) {
case 0: {
if (mmc__uniontype__metarecord__typedef__equal(tmp3_2,0,0) == 0) goto tmp2_end;
_txt = tmp3_1;
tmpMeta[0] = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT2468);
goto tmp2_done;
}
case 1: {
_txt = tmp3_1;
tmpMeta[0] = _txt;
goto tmp2_done;
}
}
goto tmp2_end;
tmp2_end: ;
}
goto goto_1;
goto_1:;
MMC_THROW_INTERNAL();
goto tmp2_done;
tmp2_done:;
}
}
_out_txt = tmpMeta[0];
_return: OMC_LABEL_UNUSED
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_lm__75(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_items)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta[4] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp3_1;modelica_metatype tmp3_2;
tmp3_1 = _in_txt;
tmp3_2 = _in_items;
{
modelica_metatype _txt = NULL;
modelica_metatype _rest = NULL;
modelica_metatype _i_name = NULL;
modelica_metatype _i_var = NULL;
volatile mmc_switch_type tmp3;
int tmp4;
tmp3 = 0;
for (; tmp3 < 3; tmp3++) {
switch (MMC_SWITCH_CAST(tmp3)) {
case 0: {
if (!listEmpty(tmp3_2)) goto tmp2_end;
_txt = tmp3_1;
tmpMeta[0] = _txt;
goto tmp2_done;
}
case 1: {
if (listEmpty(tmp3_2)) goto tmp2_end;
tmpMeta[1] = MMC_CAR(tmp3_2);
tmpMeta[2] = MMC_CDR(tmp3_2);
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[1],0,7) == 0) goto tmp2_end;
tmpMeta[3] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[1]), 2));
_i_var = tmpMeta[1];
_i_name = tmpMeta[3];
_rest = tmpMeta[2];
_txt = tmp3_1;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT292);
_txt = omc_CodegenCFunctions_varType(threadData, _txt, _i_var);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT2269);
_txt = omc_CodegenUtil_crefStr(threadData, _txt, _i_name);
_in_txt = _txt;
_in_items = _rest;
goto _tailrecursive;
goto tmp2_done;
}
case 2: {
if (listEmpty(tmp3_2)) goto tmp2_end;
tmpMeta[1] = MMC_CAR(tmp3_2);
tmpMeta[2] = MMC_CDR(tmp3_2);
_rest = tmpMeta[2];
_txt = tmp3_1;
_in_txt = _txt;
_in_items = _rest;
goto _tailrecursive;
goto tmp2_done;
}
}
goto tmp2_end;
tmp2_end: ;
}
goto goto_1;
goto_1:;
MMC_THROW_INTERNAL();
goto tmp2_done;
tmp2_done:;
}
}
_out_txt = tmpMeta[0];
_return: OMC_LABEL_UNUSED
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__74(threadData_t *threadData, modelica_metatype _in_txt, modelica_boolean _in_mArg, modelica_metatype _in_a_staticPrototypes, modelica_boolean _in_a_isSimulation, modelica_metatype _in_a_visibility, modelica_metatype _in_a_fn, modelica_boolean _in_a_inFunc, modelica_metatype _in_a_outVars, modelica_metatype _in_a_functionArguments, modelica_metatype _in_a_name, modelica_metatype *out_out_a_staticPrototypes)
{
modelica_metatype _out_txt = NULL;
modelica_metatype _out_a_staticPrototypes = NULL;
modelica_metatype tmpMeta[2] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_boolean tmp4_2;modelica_metatype tmp4_3;modelica_boolean tmp4_4;modelica_metatype tmp4_5;modelica_metatype tmp4_6;modelica_boolean tmp4_7;modelica_metatype tmp4_8;modelica_metatype tmp4_9;modelica_metatype tmp4_10;
tmp4_1 = _in_txt;
tmp4_2 = _in_mArg;
tmp4_3 = _in_a_staticPrototypes;
tmp4_4 = _in_a_isSimulation;
tmp4_5 = _in_a_visibility;
tmp4_6 = _in_a_fn;
tmp4_7 = _in_a_inFunc;
tmp4_8 = _in_a_outVars;
tmp4_9 = _in_a_functionArguments;
tmp4_10 = _in_a_name;
{
modelica_metatype _txt = NULL;
modelica_metatype _a_staticPrototypes = NULL;
modelica_boolean _a_isSimulation;
modelica_metatype _a_visibility = NULL;
modelica_metatype _a_fn = NULL;
modelica_boolean _a_inFunc;
modelica_metatype _a_outVars = NULL;
modelica_metatype _a_functionArguments = NULL;
modelica_metatype _a_name = NULL;
modelica_boolean _ret_1;
modelica_metatype _txt_0 = NULL;
volatile mmc_switch_type tmp4;
int tmp5;
tmp4 = 0;
for (; tmp4 < 2; tmp4++) {
switch (MMC_SWITCH_CAST(tmp4)) {
case 0: {
if (0 != tmp4_2) goto tmp3_end;
_txt = tmp4_1;
_a_staticPrototypes = tmp4_3;
_a_isSimulation = tmp4_4;
_a_visibility = tmp4_5;
_a_fn = tmp4_6;
_a_inFunc = tmp4_7;
_a_outVars = tmp4_8;
_a_functionArguments = tmp4_9;
_a_name = tmp4_10;
_txt_0 = omc_CodegenUtil_underscorePath(threadData, _OMC_LIT20, _a_name);
_ret_1 = omc_SimCodeFunctionUtil_isBoxedFunction(threadData, _a_fn);
tmpMeta[0+0] = omc_CodegenCFunctions_functionHeaderBoxed(threadData, _txt, omc_Tpl_textString(threadData, _txt_0), _a_functionArguments, _a_outVars, _a_inFunc, _ret_1, _a_visibility, 0, _a_isSimulation, _a_staticPrototypes, &tmpMeta[0+1]);
goto tmp3_done;
}
case 1: {
_txt = tmp4_1;
_a_staticPrototypes = tmp4_3;
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_staticPrototypes;
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta[0+0];
_out_a_staticPrototypes = tmpMeta[0+1];
_return: OMC_LABEL_UNUSED
if (out_out_a_staticPrototypes) { *out_out_a_staticPrototypes = _out_a_staticPrototypes; }
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__74(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_mArg, modelica_metatype _in_a_staticPrototypes, modelica_metatype _in_a_isSimulation, modelica_metatype _in_a_visibility, modelica_metatype _in_a_fn, modelica_metatype _in_a_inFunc, modelica_metatype _in_a_outVars, modelica_metatype _in_a_functionArguments, modelica_metatype _in_a_name, modelica_metatype *out_out_a_staticPrototypes)
{
modelica_integer tmp1;
modelica_integer tmp2;
modelica_integer tmp3;
modelica_metatype _out_txt = NULL;
tmp1 = mmc_unbox_integer(_in_mArg);
tmp2 = mmc_unbox_integer(_in_a_isSimulation);
tmp3 = mmc_unbox_integer(_in_a_inFunc);
_out_txt = omc_CodegenCFunctions_fun__74(threadData, _in_txt, tmp1, _in_a_staticPrototypes, tmp2, _in_a_visibility, _in_a_fn, tmp3, _in_a_outVars, _in_a_functionArguments, _in_a_name, out_out_a_staticPrototypes);
return _out_txt;
}
DLLExport
modelica_metatype omc_CodegenCFunctions_parallelFunctionHeadersImpl(threadData_t *threadData, modelica_metatype _txt, modelica_metatype _a_functions)
{
modelica_metatype _out_txt = NULL;
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
_out_txt = omc_Tpl_pushIter(threadData, _txt, _OMC_LIT1767);
_out_txt = omc_CodegenCFunctions_lm__72(threadData, _out_txt, _a_functions);
_out_txt = omc_Tpl_popIter(threadData, _out_txt);
_return: OMC_LABEL_UNUSED
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_lm__72(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_items)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta[3] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp3_1;modelica_metatype tmp3_2;
tmp3_1 = _in_txt;
tmp3_2 = _in_items;
{
modelica_metatype _txt = NULL;
modelica_metatype _rest = NULL;
modelica_metatype _i_fn = NULL;
volatile mmc_switch_type tmp3;
int tmp4;
tmp3 = 0;
for (; tmp3 < 2; tmp3++) {
switch (MMC_SWITCH_CAST(tmp3)) {
case 0: {
if (!listEmpty(tmp3_2)) goto tmp2_end;
_txt = tmp3_1;
tmpMeta[0] = _txt;
goto tmp2_done;
}
case 1: {
if (listEmpty(tmp3_2)) goto tmp2_end;
tmpMeta[1] = MMC_CAR(tmp3_2);
tmpMeta[2] = MMC_CDR(tmp3_2);
_i_fn = tmpMeta[1];
_rest = tmpMeta[2];
_txt = tmp3_1;
_txt = omc_CodegenCFunctions_parallelFunctionHeader(threadData, _txt, _i_fn, 0);
_txt = omc_Tpl_nextIter(threadData, _txt);
_in_txt = _txt;
_in_items = _rest;
goto _tailrecursive;
goto tmp2_done;
}
}
goto tmp2_end;
tmp2_end: ;
}
goto goto_1;
goto_1:;
MMC_THROW_INTERNAL();
goto tmp2_done;
tmp2_done:;
}
}
_out_txt = tmpMeta[0];
_return: OMC_LABEL_UNUSED
return _out_txt;
}
DLLExport
modelica_metatype omc_CodegenCFunctions_functionHeadersParModelica(threadData_t *threadData, modelica_metatype _txt, modelica_string _a_filePrefix, modelica_metatype _a_functions)
{
modelica_metatype _out_txt = NULL;
modelica_string _ret_1 = NULL;
modelica_string _ret_0 = NULL;
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
_out_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT2818);
_ret_0 = omc_System_makeC89Identifier(threadData, _a_filePrefix);
_out_txt = omc_Tpl_writeStr(threadData, _out_txt, _ret_0);
_out_txt = omc_Tpl_writeTok(threadData, _out_txt, _OMC_LIT2821);
_ret_1 = omc_System_makeC89Identifier(threadData, _a_filePrefix);
_out_txt = omc_Tpl_writeStr(threadData, _out_txt, _ret_1);
_out_txt = omc_Tpl_writeTok(threadData, _out_txt, _OMC_LIT2825);
_out_txt = omc_CodegenCFunctions_parallelFunctionHeadersImpl(threadData, _out_txt, _a_functions);
_out_txt = omc_Tpl_softNewLine(threadData, _out_txt);
_out_txt = omc_Tpl_writeTok(threadData, _out_txt, _OMC_LIT2827);
_out_txt = omc_Tpl_writeTok(threadData, _out_txt, _OMC_LIT89);
_return: OMC_LABEL_UNUSED
return _out_txt;
}
DLLExport
modelica_metatype omc_CodegenCFunctions_functionHeaders(threadData_t *threadData, modelica_metatype _txt, modelica_metatype _a_functions, modelica_boolean _a_isSimulation, modelica_metatype _a_staticPrototypes, modelica_metatype *out_out_a_staticPrototypes)
{
modelica_metatype _out_txt = NULL;
modelica_metatype _out_a_staticPrototypes = NULL;
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
_out_txt = omc_Tpl_pushIter(threadData, _txt, _OMC_LIT1767);
_out_txt = omc_CodegenCFunctions_lm__69(threadData, _out_txt, _a_functions, _a_staticPrototypes, _a_isSimulation ,&_out_a_staticPrototypes);
_out_txt = omc_Tpl_popIter(threadData, _out_txt);
_return: OMC_LABEL_UNUSED
if (out_out_a_staticPrototypes) { *out_out_a_staticPrototypes = _out_a_staticPrototypes; }
return _out_txt;
}
modelica_metatype boxptr_CodegenCFunctions_functionHeaders(threadData_t *threadData, modelica_metatype _txt, modelica_metatype _a_functions, modelica_metatype _a_isSimulation, modelica_metatype _a_staticPrototypes, modelica_metatype *out_out_a_staticPrototypes)
{
modelica_integer tmp1;
modelica_metatype _out_txt = NULL;
tmp1 = mmc_unbox_integer(_a_isSimulation);
_out_txt = omc_CodegenCFunctions_functionHeaders(threadData, _txt, _a_functions, tmp1, _a_staticPrototypes, out_out_a_staticPrototypes);
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_lm__69(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_items, modelica_metatype _in_a_staticPrototypes, modelica_boolean _in_a_isSimulation, modelica_metatype *out_out_a_staticPrototypes)
{
modelica_metatype _out_txt = NULL;
modelica_metatype _out_a_staticPrototypes = NULL;
modelica_metatype tmpMeta[4] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_metatype tmp4_2;modelica_metatype tmp4_3;modelica_boolean tmp4_4;
tmp4_1 = _in_txt;
tmp4_2 = _in_items;
tmp4_3 = _in_a_staticPrototypes;
tmp4_4 = _in_a_isSimulation;
{
modelica_metatype _txt = NULL;
modelica_metatype _rest = NULL;
modelica_metatype _a_staticPrototypes = NULL;
modelica_boolean _a_isSimulation;
modelica_metatype _i_fn = NULL;
volatile mmc_switch_type tmp4;
int tmp5;
tmp4 = 0;
for (; tmp4 < 2; tmp4++) {
switch (MMC_SWITCH_CAST(tmp4)) {
case 0: {
if (!listEmpty(tmp4_2)) goto tmp3_end;
_txt = tmp4_1;
_a_staticPrototypes = tmp4_3;
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_staticPrototypes;
goto tmp3_done;
}
case 1: {
if (listEmpty(tmp4_2)) goto tmp3_end;
tmpMeta[2] = MMC_CAR(tmp4_2);
tmpMeta[3] = MMC_CDR(tmp4_2);
_i_fn = tmpMeta[2];
_rest = tmpMeta[3];
_txt = tmp4_1;
_a_staticPrototypes = tmp4_3;
_a_isSimulation = tmp4_4;
_txt = omc_CodegenCFunctions_functionHeader(threadData, _txt, _i_fn, 0, _a_isSimulation, _a_staticPrototypes ,&_a_staticPrototypes);
_txt = omc_Tpl_nextIter(threadData, _txt);
_in_txt = _txt;
_in_items = _rest;
_in_a_staticPrototypes = _a_staticPrototypes;
_in_a_isSimulation = _a_isSimulation;
goto _tailrecursive;
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta[0+0];
_out_a_staticPrototypes = tmpMeta[0+1];
_return: OMC_LABEL_UNUSED
if (out_out_a_staticPrototypes) { *out_out_a_staticPrototypes = _out_a_staticPrototypes; }
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_lm__69(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_items, modelica_metatype _in_a_staticPrototypes, modelica_metatype _in_a_isSimulation, modelica_metatype *out_out_a_staticPrototypes)
{
modelica_integer tmp1;
modelica_metatype _out_txt = NULL;
tmp1 = mmc_unbox_integer(_in_a_isSimulation);
_out_txt = omc_CodegenCFunctions_lm__69(threadData, _in_txt, _in_items, _in_a_staticPrototypes, tmp1, out_out_a_staticPrototypes);
return _out_txt;
}
DLLExport
modelica_metatype omc_CodegenCFunctions_externalFunctionIncludes(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_includes)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta[1] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp3_1;modelica_metatype tmp3_2;
tmp3_1 = _in_txt;
tmp3_2 = _in_a_includes;
{
modelica_metatype _txt = NULL;
modelica_metatype _i_includes = NULL;
volatile mmc_switch_type tmp3;
int tmp4;
tmp3 = 0;
for (; tmp3 < 2; tmp3++) {
switch (MMC_SWITCH_CAST(tmp3)) {
case 0: {
if (!listEmpty(tmp3_2)) goto tmp2_end;
_txt = tmp3_1;
tmpMeta[0] = _txt;
goto tmp2_done;
}
case 1: {
_txt = tmp3_1;
_i_includes = tmp3_2;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT2831);
_txt = omc_Tpl_pushIter(threadData, _txt, _OMC_LIT96);
_txt = omc_CodegenCFunctions_lm__67(threadData, _txt, _i_includes);
_txt = omc_Tpl_popIter(threadData, _txt);
_txt = omc_Tpl_softNewLine(threadData, _txt);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT2833);
tmpMeta[0] = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT89);
goto tmp2_done;
}
}
goto tmp2_end;
tmp2_end: ;
}
goto goto_1;
goto_1:;
MMC_THROW_INTERNAL();
goto tmp2_done;
tmp2_done:;
}
}
_out_txt = tmpMeta[0];
_return: OMC_LABEL_UNUSED
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_lm__67(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_items)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta[3] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp3_1;modelica_metatype tmp3_2;
tmp3_1 = _in_txt;
tmp3_2 = _in_items;
{
modelica_metatype _txt = NULL;
modelica_metatype _rest = NULL;
modelica_string _i_it = NULL;
volatile mmc_switch_type tmp3;
int tmp4;
tmp3 = 0;
for (; tmp3 < 2; tmp3++) {
switch (MMC_SWITCH_CAST(tmp3)) {
case 0: {
if (!listEmpty(tmp3_2)) goto tmp2_end;
_txt = tmp3_1;
tmpMeta[0] = _txt;
goto tmp2_done;
}
case 1: {
if (listEmpty(tmp3_2)) goto tmp2_end;
tmpMeta[1] = MMC_CAR(tmp3_2);
tmpMeta[2] = MMC_CDR(tmp3_2);
_i_it = tmpMeta[1];
_rest = tmpMeta[2];
_txt = tmp3_1;
_txt = omc_Tpl_writeStr(threadData, _txt, _i_it);
_txt = omc_Tpl_nextIter(threadData, _txt);
_in_txt = _txt;
_in_items = _rest;
goto _tailrecursive;
goto tmp2_done;
}
}
goto tmp2_end;
tmp2_end: ;
}
goto goto_1;
goto_1:;
MMC_THROW_INTERNAL();
goto tmp2_done;
tmp2_done:;
}
}
_out_txt = tmpMeta[0];
_return: OMC_LABEL_UNUSED
return _out_txt;
}
DLLExport
modelica_metatype omc_CodegenCFunctions_commonHeader(threadData_t *threadData, modelica_metatype _txt, modelica_string _a_filePrefix)
{
modelica_metatype _out_txt = NULL;
modelica_boolean _ret_0;
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
_out_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT2843);
_ret_0 = omc_Config_acceptParModelicaGrammar(threadData);
_out_txt = omc_CodegenCFunctions_fun__65(threadData, _out_txt, _ret_0);
_out_txt = omc_Tpl_softNewLine(threadData, _out_txt);
_out_txt = omc_Tpl_writeTok(threadData, _out_txt, _OMC_LIT89);
_return: OMC_LABEL_UNUSED
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__65(threadData_t *threadData, modelica_metatype _in_txt, modelica_boolean _in_mArg)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta[1] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp3_1;modelica_boolean tmp3_2;
tmp3_1 = _in_txt;
tmp3_2 = _in_mArg;
{
modelica_metatype _txt = NULL;
volatile mmc_switch_type tmp3;
int tmp4;
tmp3 = 0;
for (; tmp3 < 2; tmp3++) {
switch (MMC_SWITCH_CAST(tmp3)) {
case 0: {
if (0 != tmp3_2) goto tmp2_end;
_txt = tmp3_1;
tmpMeta[0] = _txt;
goto tmp2_done;
}
case 1: {
_txt = tmp3_1;
tmpMeta[0] = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT2845);
goto tmp2_done;
}
}
goto tmp2_end;
tmp2_end: ;
}
goto goto_1;
goto_1:;
MMC_THROW_INTERNAL();
goto tmp2_done;
tmp2_done:;
}
}
_out_txt = tmpMeta[0];
_return: OMC_LABEL_UNUSED
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__65(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_mArg)
{
modelica_integer tmp1;
modelica_metatype _out_txt = NULL;
tmp1 = mmc_unbox_integer(_in_mArg);
_out_txt = omc_CodegenCFunctions_fun__65(threadData, _in_txt, tmp1);
return _out_txt;
}
DLLExport
modelica_metatype omc_CodegenCFunctions_functionsMakefile(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_fnCode)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta[15] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp3_1;modelica_metatype tmp3_2;
tmp3_1 = _in_txt;
tmp3_2 = _in_a_fnCode;
{
modelica_metatype _txt = NULL;
modelica_string _i_name = NULL;
modelica_string _i_makefileParams_runtimelibs = NULL;
modelica_string _i_makefileParams_ldflags = NULL;
modelica_metatype _i_makefileParams_includes = NULL;
modelica_string _i_makefileParams_omhome = NULL;
modelica_string _i_makefileParams_cflags = NULL;
modelica_string _i_makefileParams_dllext = NULL;
modelica_string _i_makefileParams_exeext = NULL;
modelica_string _i_makefileParams_linker = NULL;
modelica_string _i_makefileParams_cxxcompiler = NULL;
modelica_string _i_makefileParams_ccompiler = NULL;
modelica_string _i_makefileParams_platform = NULL;
modelica_metatype _i_makefileParams_libs = NULL;
modelica_boolean _ret_17;
modelica_boolean _ret_16;
modelica_boolean _ret_15;
modelica_boolean _ret_14;
modelica_boolean _ret_13;
modelica_boolean _ret_12;
modelica_boolean _ret_11;
modelica_boolean _ret_10;
modelica_boolean _ret_9;
modelica_boolean _ret_8;
modelica_metatype _l_WinMingwExtraLibs = NULL;
modelica_boolean _ret_6;
modelica_boolean _ret_5;
modelica_boolean _ret_4;
modelica_metatype _l_ExtraStack = NULL;
modelica_boolean _ret_2;
modelica_metatype _l_ParModelicaExpLibs = NULL;
modelica_metatype _l_libsStr = NULL;
volatile mmc_switch_type tmp3;
int tmp4;
tmp3 = 0;
for (; tmp3 < 2; tmp3++) {
switch (MMC_SWITCH_CAST(tmp3)) {
case 0: {
tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_2), 2));
tmpMeta[2] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_2), 7));
tmpMeta[3] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[2]), 2));
tmpMeta[4] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[2]), 3));
tmpMeta[5] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[2]), 4));
tmpMeta[6] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[2]), 5));
tmpMeta[7] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[2]), 6));
tmpMeta[8] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[2]), 7));
tmpMeta[9] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[2]), 8));
tmpMeta[10] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[2]), 9));
tmpMeta[11] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[2]), 10));
tmpMeta[12] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[2]), 11));
tmpMeta[13] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[2]), 12));
tmpMeta[14] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[2]), 14));
_txt = tmp3_1;
_i_name = tmpMeta[1];
_i_makefileParams_ccompiler = tmpMeta[3];
_i_makefileParams_cxxcompiler = tmpMeta[4];
_i_makefileParams_linker = tmpMeta[5];
_i_makefileParams_exeext = tmpMeta[6];
_i_makefileParams_dllext = tmpMeta[7];
_i_makefileParams_omhome = tmpMeta[8];
_i_makefileParams_cflags = tmpMeta[9];
_i_makefileParams_ldflags = tmpMeta[10];
_i_makefileParams_runtimelibs = tmpMeta[11];
_i_makefileParams_includes = tmpMeta[12];
_i_makefileParams_libs = tmpMeta[13];
_i_makefileParams_platform = tmpMeta[14];
_l_libsStr = omc_Tpl_pushIter(threadData, _OMC_LIT20, _OMC_LIT2847);
_l_libsStr = omc_CodegenCFunctions_lm__56(threadData, _l_libsStr, _i_makefileParams_libs);
_l_libsStr = omc_Tpl_popIter(threadData, _l_libsStr);
_ret_2 = omc_Config_acceptParModelicaGrammar(threadData);
_l_ParModelicaExpLibs = omc_CodegenCFunctions_fun__57(threadData, _OMC_LIT20, _ret_2);
_ret_4 = (stringEqual(_i_makefileParams_platform, _OMC_LIT2848));
_ret_5 = (stringEqual(_i_makefileParams_platform, _OMC_LIT2849));
_ret_6 = (_ret_4 || _ret_5);
_l_ExtraStack = omc_CodegenCFunctions_fun__58(threadData, _OMC_LIT20, _ret_6);
_ret_8 = omc_Config_acceptMetaModelicaGrammar(threadData);
_ret_9 = (stringEqual(_i_makefileParams_platform, _OMC_LIT2848));
_ret_10 = (stringEqual(_i_makefileParams_platform, _OMC_LIT2849));
_ret_11 = (_ret_9 || _ret_10);
_ret_12 = (_ret_8 && _ret_11);
_l_WinMingwExtraLibs = omc_CodegenCFunctions_fun__59(threadData, _OMC_LIT20, _ret_12);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT2854);
_txt = omc_Tpl_writeStr(threadData, _txt, _i_makefileParams_platform);
_txt = omc_Tpl_softNewLine(threadData, _txt);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT2862);
_ret_13 = omc_Config_acceptParModelicaGrammar(threadData);
_txt = omc_CodegenCFunctions_fun__60(threadData, _txt, _ret_13, _i_makefileParams_ccompiler);
_txt = omc_Tpl_softNewLine(threadData, _txt);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT2864);
_txt = omc_Tpl_writeStr(threadData, _txt, _i_makefileParams_cxxcompiler);
_txt = omc_Tpl_softNewLine(threadData, _txt);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT2866);
_txt = omc_Tpl_writeStr(threadData, _txt, _i_makefileParams_linker);
_txt = omc_Tpl_softNewLine(threadData, _txt);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT2868);
_txt = omc_Tpl_writeStr(threadData, _txt, _i_makefileParams_exeext);
_txt = omc_Tpl_softNewLine(threadData, _txt);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT2870);
_txt = omc_Tpl_writeStr(threadData, _txt, _i_makefileParams_dllext);
_txt = omc_Tpl_softNewLine(threadData, _txt);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT2872);
_ret_14 = omc_Config_acceptMetaModelicaGrammar(threadData);
_ret_15 = omc_Flags_isSet(threadData, _OMC_LIT1387);
_ret_16 = (_ret_14 || _ret_15);
_txt = omc_CodegenCFunctions_fun__61(threadData, _txt, _ret_16);
_txt = omc_Tpl_softNewLine(threadData, _txt);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT2874);
_txt = omc_Tpl_writeStr(threadData, _txt, _i_makefileParams_cflags);
_txt = omc_Tpl_softNewLine(threadData, _txt);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT2876);
_txt = omc_Tpl_writeStr(threadData, _txt, _i_makefileParams_omhome);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT2878);
_txt = omc_Tpl_pushIter(threadData, _txt, _OMC_LIT2847);
_txt = omc_CodegenCFunctions_lm__62(threadData, _txt, _i_makefileParams_includes);
_txt = omc_Tpl_popIter(threadData, _txt);
_ret_17 = omc_Flags_isSet(threadData, _OMC_LIT604);
_txt = omc_CodegenCFunctions_fun__63(threadData, _txt, _ret_17);
_txt = omc_Tpl_softNewLine(threadData, _txt);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT2880);
_txt = omc_Tpl_writeStr(threadData, _txt, _i_makefileParams_omhome);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT2882);
_txt = omc_Tpl_writeStr(threadData, _txt, _OMC_LIT91);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT2884);
_txt = omc_Tpl_writeText(threadData, _txt, _l_ExtraStack);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT2886);
_txt = omc_Tpl_writeStr(threadData, _txt, _i_makefileParams_omhome);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT2882);
_txt = omc_Tpl_writeStr(threadData, _txt, _OMC_LIT91);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT2888);
_txt = omc_Tpl_writeText(threadData, _txt, _l_ParModelicaExpLibs);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT29);
_txt = omc_Tpl_writeText(threadData, _txt, _l_WinMingwExtraLibs);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT29);
_txt = omc_Tpl_writeStr(threadData, _txt, _i_makefileParams_ldflags);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT29);
_txt = omc_Tpl_writeStr(threadData, _txt, _i_makefileParams_runtimelibs);
_txt = omc_Tpl_softNewLine(threadData, _txt);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT2893);
_txt = omc_Tpl_writeStr(threadData, _txt, _i_name);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT2899);
_txt = omc_Tpl_writeStr(threadData, _txt, _i_name);
_txt = omc_Tpl_softNewLine(threadData, _txt);
_txt = omc_Tpl_writeStr(threadData, _txt, _i_name);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT2901);
_txt = omc_Tpl_writeStr(threadData, _txt, _i_name);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT2903);
_txt = omc_Tpl_writeStr(threadData, _txt, _i_name);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT2905);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT2357);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT2907);
_txt = omc_Tpl_writeStr(threadData, _txt, _i_name);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT2909);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT2357);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT2907);
_txt = omc_Tpl_writeStr(threadData, _txt, _i_name);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT2911);
_txt = omc_Tpl_writeStr(threadData, _txt, _i_name);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT2905);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT2357);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT2913);
_txt = omc_Tpl_writeStr(threadData, _txt, _i_name);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT2915);
_txt = omc_Tpl_writeStr(threadData, _txt, _i_name);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT2917);
_txt = omc_Tpl_writeStr(threadData, _txt, _i_name);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT2911);
_txt = omc_Tpl_writeText(threadData, _txt, _l_libsStr);
tmpMeta[0] = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT2919);
goto tmp2_done;
}
case 1: {
_txt = tmp3_1;
tmpMeta[0] = _txt;
goto tmp2_done;
}
}
goto tmp2_end;
tmp2_end: ;
}
goto goto_1;
goto_1:;
MMC_THROW_INTERNAL();
goto tmp2_done;
tmp2_done:;
}
}
_out_txt = tmpMeta[0];
_return: OMC_LABEL_UNUSED
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__63(threadData_t *threadData, modelica_metatype _in_txt, modelica_boolean _in_mArg)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta[1] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp3_1;modelica_boolean tmp3_2;
tmp3_1 = _in_txt;
tmp3_2 = _in_mArg;
{
modelica_metatype _txt = NULL;
volatile mmc_switch_type tmp3;
int tmp4;
tmp3 = 0;
for (; tmp3 < 2; tmp3++) {
switch (MMC_SWITCH_CAST(tmp3)) {
case 0: {
if (0 != tmp3_2) goto tmp2_end;
_txt = tmp3_1;
tmpMeta[0] = _txt;
goto tmp2_done;
}
case 1: {
_txt = tmp3_1;
tmpMeta[0] = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT2921);
goto tmp2_done;
}
}
goto tmp2_end;
tmp2_end: ;
}
goto goto_1;
goto_1:;
MMC_THROW_INTERNAL();
goto tmp2_done;
tmp2_done:;
}
}
_out_txt = tmpMeta[0];
_return: OMC_LABEL_UNUSED
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__63(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_mArg)
{
modelica_integer tmp1;
modelica_metatype _out_txt = NULL;
tmp1 = mmc_unbox_integer(_in_mArg);
_out_txt = omc_CodegenCFunctions_fun__63(threadData, _in_txt, tmp1);
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_lm__62(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_items)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta[3] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp3_1;modelica_metatype tmp3_2;
tmp3_1 = _in_txt;
tmp3_2 = _in_items;
{
modelica_metatype _txt = NULL;
modelica_metatype _rest = NULL;
modelica_string _i_it = NULL;
volatile mmc_switch_type tmp3;
int tmp4;
tmp3 = 0;
for (; tmp3 < 2; tmp3++) {
switch (MMC_SWITCH_CAST(tmp3)) {
case 0: {
if (!listEmpty(tmp3_2)) goto tmp2_end;
_txt = tmp3_1;
tmpMeta[0] = _txt;
goto tmp2_done;
}
case 1: {
if (listEmpty(tmp3_2)) goto tmp2_end;
tmpMeta[1] = MMC_CAR(tmp3_2);
tmpMeta[2] = MMC_CDR(tmp3_2);
_i_it = tmpMeta[1];
_rest = tmpMeta[2];
_txt = tmp3_1;
_txt = omc_Tpl_writeStr(threadData, _txt, _i_it);
_txt = omc_Tpl_nextIter(threadData, _txt);
_in_txt = _txt;
_in_items = _rest;
goto _tailrecursive;
goto tmp2_done;
}
}
goto tmp2_end;
tmp2_end: ;
}
goto goto_1;
goto_1:;
MMC_THROW_INTERNAL();
goto tmp2_done;
tmp2_done:;
}
}
_out_txt = tmpMeta[0];
_return: OMC_LABEL_UNUSED
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__61(threadData_t *threadData, modelica_metatype _in_txt, modelica_boolean _in_mArg)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta[1] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp3_1;modelica_boolean tmp3_2;
tmp3_1 = _in_txt;
tmp3_2 = _in_mArg;
{
modelica_metatype _txt = NULL;
volatile mmc_switch_type tmp3;
int tmp4;
tmp3 = 0;
for (; tmp3 < 2; tmp3++) {
switch (MMC_SWITCH_CAST(tmp3)) {
case 0: {
if (0 != tmp3_2) goto tmp2_end;
_txt = tmp3_1;
tmpMeta[0] = _txt;
goto tmp2_done;
}
case 1: {
_txt = tmp3_1;
tmpMeta[0] = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT2923);
goto tmp2_done;
}
}
goto tmp2_end;
tmp2_end: ;
}
goto goto_1;
goto_1:;
MMC_THROW_INTERNAL();
goto tmp2_done;
tmp2_done:;
}
}
_out_txt = tmpMeta[0];
_return: OMC_LABEL_UNUSED
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__61(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_mArg)
{
modelica_integer tmp1;
modelica_metatype _out_txt = NULL;
tmp1 = mmc_unbox_integer(_in_mArg);
_out_txt = omc_CodegenCFunctions_fun__61(threadData, _in_txt, tmp1);
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__60(threadData_t *threadData, modelica_metatype _in_txt, modelica_boolean _in_mArg, modelica_string _in_a_makefileParams_ccompiler)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta[1] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp3_1;modelica_boolean tmp3_2;modelica_string tmp3_3;
tmp3_1 = _in_txt;
tmp3_2 = _in_mArg;
tmp3_3 = _in_a_makefileParams_ccompiler;
{
modelica_metatype _txt = NULL;
modelica_string _a_makefileParams_ccompiler = NULL;
volatile mmc_switch_type tmp3;
int tmp4;
tmp3 = 0;
for (; tmp3 < 2; tmp3++) {
switch (MMC_SWITCH_CAST(tmp3)) {
case 0: {
if (0 != tmp3_2) goto tmp2_end;
_txt = tmp3_1;
_a_makefileParams_ccompiler = tmp3_3;
tmpMeta[0] = omc_Tpl_writeStr(threadData, _txt, _a_makefileParams_ccompiler);
goto tmp2_done;
}
case 1: {
_txt = tmp3_1;
tmpMeta[0] = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT2925);
goto tmp2_done;
}
}
goto tmp2_end;
tmp2_end: ;
}
goto goto_1;
goto_1:;
MMC_THROW_INTERNAL();
goto tmp2_done;
tmp2_done:;
}
}
_out_txt = tmpMeta[0];
_return: OMC_LABEL_UNUSED
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__60(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_mArg, modelica_metatype _in_a_makefileParams_ccompiler)
{
modelica_integer tmp1;
modelica_metatype _out_txt = NULL;
tmp1 = mmc_unbox_integer(_in_mArg);
_out_txt = omc_CodegenCFunctions_fun__60(threadData, _in_txt, tmp1, _in_a_makefileParams_ccompiler);
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__59(threadData_t *threadData, modelica_metatype _in_txt, modelica_boolean _in_mArg)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta[1] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp3_1;modelica_boolean tmp3_2;
tmp3_1 = _in_txt;
tmp3_2 = _in_mArg;
{
modelica_metatype _txt = NULL;
volatile mmc_switch_type tmp3;
int tmp4;
tmp3 = 0;
for (; tmp3 < 2; tmp3++) {
switch (MMC_SWITCH_CAST(tmp3)) {
case 0: {
if (0 != tmp3_2) goto tmp2_end;
_txt = tmp3_1;
tmpMeta[0] = _txt;
goto tmp2_done;
}
case 1: {
_txt = tmp3_1;
tmpMeta[0] = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT2927);
goto tmp2_done;
}
}
goto tmp2_end;
tmp2_end: ;
}
goto goto_1;
goto_1:;
MMC_THROW_INTERNAL();
goto tmp2_done;
tmp2_done:;
}
}
_out_txt = tmpMeta[0];
_return: OMC_LABEL_UNUSED
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__59(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_mArg)
{
modelica_integer tmp1;
modelica_metatype _out_txt = NULL;
tmp1 = mmc_unbox_integer(_in_mArg);
_out_txt = omc_CodegenCFunctions_fun__59(threadData, _in_txt, tmp1);
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__58(threadData_t *threadData, modelica_metatype _in_txt, modelica_boolean _in_mArg)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta[1] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp3_1;modelica_boolean tmp3_2;
tmp3_1 = _in_txt;
tmp3_2 = _in_mArg;
{
modelica_metatype _txt = NULL;
volatile mmc_switch_type tmp3;
int tmp4;
tmp3 = 0;
for (; tmp3 < 2; tmp3++) {
switch (MMC_SWITCH_CAST(tmp3)) {
case 0: {
if (0 != tmp3_2) goto tmp2_end;
_txt = tmp3_1;
tmpMeta[0] = _txt;
goto tmp2_done;
}
case 1: {
_txt = tmp3_1;
tmpMeta[0] = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT2929);
goto tmp2_done;
}
}
goto tmp2_end;
tmp2_end: ;
}
goto goto_1;
goto_1:;
MMC_THROW_INTERNAL();
goto tmp2_done;
tmp2_done:;
}
}
_out_txt = tmpMeta[0];
_return: OMC_LABEL_UNUSED
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__58(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_mArg)
{
modelica_integer tmp1;
modelica_metatype _out_txt = NULL;
tmp1 = mmc_unbox_integer(_in_mArg);
_out_txt = omc_CodegenCFunctions_fun__58(threadData, _in_txt, tmp1);
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__57(threadData_t *threadData, modelica_metatype _in_txt, modelica_boolean _in_mArg)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta[1] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp3_1;modelica_boolean tmp3_2;
tmp3_1 = _in_txt;
tmp3_2 = _in_mArg;
{
modelica_metatype _txt = NULL;
volatile mmc_switch_type tmp3;
int tmp4;
tmp3 = 0;
for (; tmp3 < 2; tmp3++) {
switch (MMC_SWITCH_CAST(tmp3)) {
case 0: {
if (0 != tmp3_2) goto tmp2_end;
_txt = tmp3_1;
tmpMeta[0] = _txt;
goto tmp2_done;
}
case 1: {
_txt = tmp3_1;
tmpMeta[0] = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT2931);
goto tmp2_done;
}
}
goto tmp2_end;
tmp2_end: ;
}
goto goto_1;
goto_1:;
MMC_THROW_INTERNAL();
goto tmp2_done;
tmp2_done:;
}
}
_out_txt = tmpMeta[0];
_return: OMC_LABEL_UNUSED
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__57(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_mArg)
{
modelica_integer tmp1;
modelica_metatype _out_txt = NULL;
tmp1 = mmc_unbox_integer(_in_mArg);
_out_txt = omc_CodegenCFunctions_fun__57(threadData, _in_txt, tmp1);
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_lm__56(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_items)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta[3] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp3_1;modelica_metatype tmp3_2;
tmp3_1 = _in_txt;
tmp3_2 = _in_items;
{
modelica_metatype _txt = NULL;
modelica_metatype _rest = NULL;
modelica_string _i_it = NULL;
volatile mmc_switch_type tmp3;
int tmp4;
tmp3 = 0;
for (; tmp3 < 2; tmp3++) {
switch (MMC_SWITCH_CAST(tmp3)) {
case 0: {
if (!listEmpty(tmp3_2)) goto tmp2_end;
_txt = tmp3_1;
tmpMeta[0] = _txt;
goto tmp2_done;
}
case 1: {
if (listEmpty(tmp3_2)) goto tmp2_end;
tmpMeta[1] = MMC_CAR(tmp3_2);
tmpMeta[2] = MMC_CDR(tmp3_2);
_i_it = tmpMeta[1];
_rest = tmpMeta[2];
_txt = tmp3_1;
_txt = omc_Tpl_writeStr(threadData, _txt, _i_it);
_txt = omc_Tpl_nextIter(threadData, _txt);
_in_txt = _txt;
_in_items = _rest;
goto _tailrecursive;
goto tmp2_done;
}
}
goto tmp2_end;
tmp2_end: ;
}
goto goto_1;
goto_1:;
MMC_THROW_INTERNAL();
goto tmp2_done;
tmp2_done:;
}
}
_out_txt = tmpMeta[0];
_return: OMC_LABEL_UNUSED
return _out_txt;
}
DLLExport
modelica_metatype omc_CodegenCFunctions_functionsHeaderFile(threadData_t *threadData, modelica_metatype _txt, modelica_string _a_filePrefix, modelica_metatype _a_mainFunction, modelica_metatype _a_functions, modelica_metatype _a_extraRecordDecls, modelica_metatype _a_staticPrototypes, modelica_metatype *out_out_a_staticPrototypes)
{
modelica_metatype _out_txt = NULL;
modelica_metatype _out_a_staticPrototypes = NULL;
modelica_string _ret_1 = NULL;
modelica_string _ret_0 = NULL;
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
_out_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT2818);
_ret_0 = omc_System_makeC89Identifier(threadData, _a_filePrefix);
_out_txt = omc_Tpl_writeStr(threadData, _out_txt, _ret_0);
_out_txt = omc_Tpl_writeTok(threadData, _out_txt, _OMC_LIT2821);
_ret_1 = omc_System_makeC89Identifier(threadData, _a_filePrefix);
_out_txt = omc_Tpl_writeStr(threadData, _out_txt, _ret_1);
_out_txt = omc_Tpl_writeTok(threadData, _out_txt, _OMC_LIT2932);
_out_txt = omc_CodegenCFunctions_commonHeader(threadData, _out_txt, _a_filePrefix);
_out_txt = omc_Tpl_softNewLine(threadData, _out_txt);
_out_txt = omc_Tpl_writeTok(threadData, _out_txt, _OMC_LIT2933);
_out_txt = omc_Tpl_pushIter(threadData, _out_txt, _OMC_LIT96);
_out_txt = omc_CodegenCFunctions_lm__53(threadData, _out_txt, _a_extraRecordDecls);
_out_txt = omc_Tpl_popIter(threadData, _out_txt);
_out_txt = omc_Tpl_softNewLine(threadData, _out_txt);
_out_txt = omc_Tpl_writeTok(threadData, _out_txt, _OMC_LIT89);
_out_txt = omc_CodegenCFunctions_fun__54(threadData, _out_txt, _a_mainFunction, _a_staticPrototypes ,&_out_a_staticPrototypes);
_out_txt = omc_Tpl_softNewLine(threadData, _out_txt);
_out_txt = omc_Tpl_writeTok(threadData, _out_txt, _OMC_LIT89);
_out_txt = omc_CodegenCFunctions_functionHeaders(threadData, _out_txt, _a_functions, 0, _out_a_staticPrototypes ,&_out_a_staticPrototypes);
_out_txt = omc_Tpl_softNewLine(threadData, _out_txt);
_out_txt = omc_Tpl_writeTok(threadData, _out_txt, _OMC_LIT2938);
_out_txt = omc_Tpl_writeTok(threadData, _out_txt, _OMC_LIT89);
_return: OMC_LABEL_UNUSED
if (out_out_a_staticPrototypes) { *out_out_a_staticPrototypes = _out_a_staticPrototypes; }
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__54(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_mainFunction, modelica_metatype _in_a_staticPrototypes, modelica_metatype *out_out_a_staticPrototypes)
{
modelica_metatype _out_txt = NULL;
modelica_metatype _out_a_staticPrototypes = NULL;
modelica_metatype tmpMeta[3] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_metatype tmp4_2;modelica_metatype tmp4_3;
tmp4_1 = _in_txt;
tmp4_2 = _in_a_mainFunction;
tmp4_3 = _in_a_staticPrototypes;
{
modelica_metatype _txt = NULL;
modelica_metatype _a_staticPrototypes = NULL;
modelica_metatype _i_fn = NULL;
volatile mmc_switch_type tmp4;
int tmp5;
tmp4 = 0;
for (; tmp4 < 2; tmp4++) {
switch (MMC_SWITCH_CAST(tmp4)) {
case 0: {
if (optionNone(tmp4_2)) goto tmp3_end;
tmpMeta[2] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 1));
_i_fn = tmpMeta[2];
_txt = tmp4_1;
_a_staticPrototypes = tmp4_3;
tmpMeta[0+0] = omc_CodegenCFunctions_functionHeader(threadData, _txt, _i_fn, 1, 0, _a_staticPrototypes, &tmpMeta[0+1]);
goto tmp3_done;
}
case 1: {
_txt = tmp4_1;
_a_staticPrototypes = tmp4_3;
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_staticPrototypes;
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta[0+0];
_out_a_staticPrototypes = tmpMeta[0+1];
_return: OMC_LABEL_UNUSED
if (out_out_a_staticPrototypes) { *out_out_a_staticPrototypes = _out_a_staticPrototypes; }
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_lm__53(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_items)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta[3] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp3_1;modelica_metatype tmp3_2;
tmp3_1 = _in_txt;
tmp3_2 = _in_items;
{
modelica_metatype _txt = NULL;
modelica_metatype _rest = NULL;
modelica_metatype _i_rd = NULL;
volatile mmc_switch_type tmp3;
int tmp4;
tmp3 = 0;
for (; tmp3 < 2; tmp3++) {
switch (MMC_SWITCH_CAST(tmp3)) {
case 0: {
if (!listEmpty(tmp3_2)) goto tmp2_end;
_txt = tmp3_1;
tmpMeta[0] = _txt;
goto tmp2_done;
}
case 1: {
if (listEmpty(tmp3_2)) goto tmp2_end;
tmpMeta[1] = MMC_CAR(tmp3_2);
tmpMeta[2] = MMC_CDR(tmp3_2);
_i_rd = tmpMeta[1];
_rest = tmpMeta[2];
_txt = tmp3_1;
_txt = omc_CodegenCFunctions_recordDeclarationHeader(threadData, _txt, _i_rd);
_txt = omc_Tpl_nextIter(threadData, _txt);
_in_txt = _txt;
_in_items = _rest;
goto _tailrecursive;
goto tmp2_done;
}
}
goto tmp2_end;
tmp2_end: ;
}
goto goto_1;
goto_1:;
MMC_THROW_INTERNAL();
goto tmp2_done;
tmp2_done:;
}
}
_out_txt = tmpMeta[0];
_return: OMC_LABEL_UNUSED
return _out_txt;
}
DLLExport
modelica_metatype omc_CodegenCFunctions_functionsFile(threadData_t *threadData, modelica_metatype _txt, modelica_string _a_filePrefix, modelica_metatype _a_mainFunction, modelica_metatype _a_functions, modelica_metatype _a_literals, modelica_metatype _a_staticPrototypes, modelica_metatype *out_out_a_staticPrototypes)
{
modelica_metatype _out_txt = NULL;
modelica_metatype _out_a_staticPrototypes = NULL;
modelica_boolean _ret_0;
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
_out_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT2940);
_out_txt = omc_Tpl_writeStr(threadData, _out_txt, _a_filePrefix);
_out_txt = omc_Tpl_writeTok(threadData, _out_txt, _OMC_LIT2942);
_out_txt = omc_Tpl_pushIter(threadData, _out_txt, _OMC_LIT1961);
_out_txt = omc_CodegenCFunctions_lm__48(threadData, _out_txt, _a_literals);
_out_txt = omc_Tpl_popIter(threadData, _out_txt);
_out_txt = omc_Tpl_softNewLine(threadData, _out_txt);
_out_txt = omc_Tpl_writeTok(threadData, _out_txt, _OMC_LIT2945);
_out_txt = omc_Tpl_writeStr(threadData, _out_txt, _a_filePrefix);
_out_txt = omc_Tpl_writeTok(threadData, _out_txt, _OMC_LIT2948);
_ret_0 = omc_Config_acceptParModelicaGrammar(threadData);
_out_txt = omc_CodegenCFunctions_fun__49(threadData, _out_txt, _ret_0, _a_filePrefix);
_out_txt = omc_Tpl_softNewLine(threadData, _out_txt);
_out_txt = omc_Tpl_writeTok(threadData, _out_txt, _OMC_LIT89);
_out_txt = omc_CodegenCFunctions_fun__50(threadData, _out_txt, _a_staticPrototypes);
_out_txt = omc_Tpl_softNewLine(threadData, _out_txt);
_out_txt = omc_Tpl_writeTok(threadData, _out_txt, _OMC_LIT89);
_out_txt = omc_CodegenCFunctions_fun__51(threadData, _out_txt, _a_mainFunction);
_out_txt = omc_Tpl_softNewLine(threadData, _out_txt);
_out_txt = omc_CodegenCFunctions_functionBodies(threadData, _out_txt, _a_functions, 0);
_out_txt = omc_Tpl_softNewLine(threadData, _out_txt);
_out_txt = omc_Tpl_writeTok(threadData, _out_txt, _OMC_LIT89);
_out_a_staticPrototypes = _a_staticPrototypes;
_return: OMC_LABEL_UNUSED
if (out_out_a_staticPrototypes) { *out_out_a_staticPrototypes = _out_a_staticPrototypes; }
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__51(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_mainFunction)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta[2] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp3_1;modelica_metatype tmp3_2;
tmp3_1 = _in_txt;
tmp3_2 = _in_a_mainFunction;
{
modelica_metatype _txt = NULL;
modelica_metatype _i_fn = NULL;
volatile mmc_switch_type tmp3;
int tmp4;
tmp3 = 0;
for (; tmp3 < 2; tmp3++) {
switch (MMC_SWITCH_CAST(tmp3)) {
case 0: {
if (optionNone(tmp3_2)) goto tmp2_end;
tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_2), 1));
_i_fn = tmpMeta[1];
_txt = tmp3_1;
tmpMeta[0] = omc_CodegenCFunctions_functionBody(threadData, _txt, _i_fn, 1, 0);
goto tmp2_done;
}
case 1: {
_txt = tmp3_1;
tmpMeta[0] = _txt;
goto tmp2_done;
}
}
goto tmp2_end;
tmp2_end: ;
}
goto goto_1;
goto_1:;
MMC_THROW_INTERNAL();
goto tmp2_done;
tmp2_done:;
}
}
_out_txt = tmpMeta[0];
_return: OMC_LABEL_UNUSED
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__50(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_staticPrototypes)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta[2] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp3_1;modelica_metatype tmp3_2;
tmp3_1 = _in_txt;
tmp3_2 = _in_a_staticPrototypes;
{
modelica_metatype _txt = NULL;
modelica_metatype _i_staticPrototypes = NULL;
volatile mmc_switch_type tmp3;
int tmp4;
tmp3 = 0;
for (; tmp3 < 2; tmp3++) {
switch (MMC_SWITCH_CAST(tmp3)) {
case 0: {
if (mmc__uniontype__metarecord__typedef__equal(tmp3_2,0,2) == 0) goto tmp2_end;
tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_2), 2));
if (!listEmpty(tmpMeta[1])) goto tmp2_end;
_txt = tmp3_1;
tmpMeta[0] = _txt;
goto tmp2_done;
}
case 1: {
_txt = tmp3_1;
_i_staticPrototypes = tmp3_2;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT2955);
tmpMeta[0] = omc_Tpl_writeText(threadData, _txt, _i_staticPrototypes);
goto tmp2_done;
}
}
goto tmp2_end;
tmp2_end: ;
}
goto goto_1;
goto_1:;
MMC_THROW_INTERNAL();
goto tmp2_done;
tmp2_done:;
}
}
_out_txt = tmpMeta[0];
_return: OMC_LABEL_UNUSED
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__49(threadData_t *threadData, modelica_metatype _in_txt, modelica_boolean _in_mArg, modelica_string _in_a_filePrefix)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta[1] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp3_1;modelica_boolean tmp3_2;modelica_string tmp3_3;
tmp3_1 = _in_txt;
tmp3_2 = _in_mArg;
tmp3_3 = _in_a_filePrefix;
{
modelica_metatype _txt = NULL;
modelica_string _a_filePrefix = NULL;
modelica_integer _ret_0;
volatile mmc_switch_type tmp3;
int tmp4;
tmp3 = 0;
for (; tmp3 < 2; tmp3++) {
switch (MMC_SWITCH_CAST(tmp3)) {
case 0: {
if (0 != tmp3_2) goto tmp2_end;
_txt = tmp3_1;
tmpMeta[0] = _txt;
goto tmp2_done;
}
case 1: {
_txt = tmp3_1;
_a_filePrefix = tmp3_3;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT2960);
_txt = omc_Tpl_writeStr(threadData, _txt, _a_filePrefix);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT2971);
_ret_0 = omc_Config_getDefaultOpenCLDevice(threadData);
_txt = omc_Tpl_writeStr(threadData, _txt, intString(_ret_0));
tmpMeta[0] = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT105);
goto tmp2_done;
}
}
goto tmp2_end;
tmp2_end: ;
}
goto goto_1;
goto_1:;
MMC_THROW_INTERNAL();
goto tmp2_done;
tmp2_done:;
}
}
_out_txt = tmpMeta[0];
_return: OMC_LABEL_UNUSED
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__49(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_mArg, modelica_metatype _in_a_filePrefix)
{
modelica_integer tmp1;
modelica_metatype _out_txt = NULL;
tmp1 = mmc_unbox_integer(_in_mArg);
_out_txt = omc_CodegenCFunctions_fun__49(threadData, _in_txt, tmp1, _in_a_filePrefix);
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_lm__48(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_items)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta[3] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp3_1;modelica_metatype tmp3_2;
tmp3_1 = _in_txt;
tmp3_2 = _in_items;
{
modelica_metatype _txt = NULL;
modelica_metatype _rest = NULL;
modelica_integer _x_i0;
modelica_metatype _i_literal = NULL;
volatile mmc_switch_type tmp3;
int tmp4;
tmp3 = 0;
for (; tmp3 < 2; tmp3++) {
switch (MMC_SWITCH_CAST(tmp3)) {
case 0: {
if (!listEmpty(tmp3_2)) goto tmp2_end;
_txt = tmp3_1;
tmpMeta[0] = _txt;
goto tmp2_done;
}
case 1: {
if (listEmpty(tmp3_2)) goto tmp2_end;
tmpMeta[1] = MMC_CAR(tmp3_2);
tmpMeta[2] = MMC_CDR(tmp3_2);
_i_literal = tmpMeta[1];
_rest = tmpMeta[2];
_txt = tmp3_1;
_x_i0 = omc_Tpl_getIteri__i0(threadData, _txt);
_txt = omc_CodegenCFunctions_literalExpConst(threadData, _txt, _i_literal, _x_i0);
_txt = omc_Tpl_nextIter(threadData, _txt);
_in_txt = _txt;
_in_items = _rest;
goto _tailrecursive;
goto tmp2_done;
}
}
goto tmp2_end;
tmp2_end: ;
}
goto goto_1;
goto_1:;
MMC_THROW_INTERNAL();
goto tmp2_done;
tmp2_done:;
}
}
_out_txt = tmpMeta[0];
_return: OMC_LABEL_UNUSED
return _out_txt;
}
DLLExport
modelica_metatype omc_CodegenCFunctions_translateFunctionHeaderFiles(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_functionCode)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta[6] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp3_1;modelica_metatype tmp3_2;
tmp3_1 = _in_txt;
tmp3_2 = _in_a_functionCode;
{
modelica_metatype _txt = NULL;
modelica_metatype _i_fc_externalFunctionIncludes = NULL;
modelica_metatype _i_extraRecordDecls = NULL;
modelica_metatype _i_functions = NULL;
modelica_metatype _i_fc = NULL;
modelica_metatype _i_mainFunction = NULL;
modelica_string _i_name = NULL;
modelica_metatype _txt_8 = NULL;
modelica_metatype _txt_7 = NULL;
modelica_metatype _txt_6 = NULL;
modelica_metatype _txt_5 = NULL;
modelica_metatype _txt_4 = NULL;
modelica_metatype _txt_3 = NULL;
modelica_metatype _l_filePrefix = NULL;
modelica_metatype _l_staticPrototypes = NULL;
volatile mmc_switch_type tmp3;
int tmp4;
tmp3 = 0;
for (; tmp3 < 2; tmp3++) {
switch (MMC_SWITCH_CAST(tmp3)) {
case 0: {
tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_2), 2));
tmpMeta[2] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_2), 3));
tmpMeta[3] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_2), 4));
tmpMeta[4] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_2), 6));
tmpMeta[5] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_2), 8));
_txt = tmp3_1;
_i_fc = tmp3_2;
_i_name = tmpMeta[1];
_i_mainFunction = tmpMeta[2];
_i_functions = tmpMeta[3];
_i_fc_externalFunctionIncludes = tmpMeta[4];
_i_extraRecordDecls = tmpMeta[5];
omc_System_tmpTickResetIndex(threadData, ((modelica_integer) 0), ((modelica_integer) 2));
omc_System_tmpTickResetIndex(threadData, ((modelica_integer) 0), ((modelica_integer) 20));
_l_staticPrototypes = _OMC_LIT20;
_l_filePrefix = omc_Tpl_writeStr(threadData, _OMC_LIT20, _i_name);
omc_CodegenCFunctions_fun__46(threadData, _OMC_LIT20, _i_mainFunction, _l_filePrefix, _i_fc);
_txt_3 = omc_CodegenCFunctions_functionsHeaderFile(threadData, _OMC_LIT20, omc_Tpl_textString(threadData, _l_filePrefix), _i_mainFunction, _i_functions, _i_extraRecordDecls, _l_staticPrototypes ,&_l_staticPrototypes);
_txt_4 = omc_Tpl_writeText(threadData, _OMC_LIT20, _l_filePrefix);
_txt_4 = omc_Tpl_writeTok(threadData, _txt_4, _OMC_LIT1773);
omc_Tpl_textFile(threadData, _txt_3, omc_Tpl_textString(threadData, _txt_4));
_txt_5 = omc_CodegenCFunctions_externalFunctionIncludes(threadData, _OMC_LIT20, _i_fc_externalFunctionIncludes);
_txt_6 = omc_Tpl_writeText(threadData, _OMC_LIT20, _l_filePrefix);
_txt_6 = omc_Tpl_writeTok(threadData, _txt_6, _OMC_LIT2973);
omc_Tpl_textFile(threadData, _txt_5, omc_Tpl_textString(threadData, _txt_6));
_txt_7 = omc_CodegenCFunctions_recordsFile(threadData, _OMC_LIT20, omc_Tpl_textString(threadData, _l_filePrefix), _i_extraRecordDecls, 0);
_txt_8 = omc_Tpl_writeText(threadData, _OMC_LIT20, _l_filePrefix);
_txt_8 = omc_Tpl_writeTok(threadData, _txt_8, _OMC_LIT2975);
omc_Tpl_textFile(threadData, _txt_7, omc_Tpl_textString(threadData, _txt_8));
tmpMeta[0] = _txt;
goto tmp2_done;
}
case 1: {
_txt = tmp3_1;
tmpMeta[0] = _txt;
goto tmp2_done;
}
}
goto tmp2_end;
tmp2_end: ;
}
goto goto_1;
goto_1:;
MMC_THROW_INTERNAL();
goto tmp2_done;
tmp2_done:;
}
}
_out_txt = tmpMeta[0];
_return: OMC_LABEL_UNUSED
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__46(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_mainFunction, modelica_metatype _in_a_filePrefix, modelica_metatype _in_a_functionCode)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta[1] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp3_1;modelica_metatype tmp3_2;modelica_metatype tmp3_3;modelica_metatype tmp3_4;
tmp3_1 = _in_txt;
tmp3_2 = _in_a_mainFunction;
tmp3_3 = _in_a_filePrefix;
tmp3_4 = _in_a_functionCode;
{
modelica_metatype _txt = NULL;
modelica_metatype _a_filePrefix = NULL;
modelica_metatype _a_functionCode = NULL;
modelica_metatype _txt_1 = NULL;
modelica_metatype _txt_0 = NULL;
volatile mmc_switch_type tmp3;
int tmp4;
tmp3 = 0;
for (; tmp3 < 2; tmp3++) {
switch (MMC_SWITCH_CAST(tmp3)) {
case 0: {
if (!optionNone(tmp3_2)) goto tmp2_end;
_txt = tmp3_1;
tmpMeta[0] = _txt;
goto tmp2_done;
}
case 1: {
_txt = tmp3_1;
_a_filePrefix = tmp3_3;
_a_functionCode = tmp3_4;
_txt_0 = omc_CodegenCFunctions_functionsMakefile(threadData, _OMC_LIT20, _a_functionCode);
_txt_1 = omc_Tpl_writeText(threadData, _OMC_LIT20, _a_filePrefix);
_txt_1 = omc_Tpl_writeTok(threadData, _txt_1, _OMC_LIT2977);
omc_Tpl_textFile(threadData, _txt_0, omc_Tpl_textString(threadData, _txt_1));
tmpMeta[0] = _txt;
goto tmp2_done;
}
}
goto tmp2_end;
tmp2_end: ;
}
goto goto_1;
goto_1:;
MMC_THROW_INTERNAL();
goto tmp2_done;
tmp2_done:;
}
}
_out_txt = tmpMeta[0];
_return: OMC_LABEL_UNUSED
return _out_txt;
}
DLLExport
modelica_metatype omc_CodegenCFunctions_translateFunctions(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_functionCode)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta[7] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp3_1;modelica_metatype tmp3_2;
tmp3_1 = _in_txt;
tmp3_2 = _in_a_functionCode;
{
modelica_metatype _txt = NULL;
modelica_metatype _i_fc_externalFunctionIncludes = NULL;
modelica_metatype _i_literals = NULL;
modelica_metatype _i_extraRecordDecls = NULL;
modelica_metatype _i_functions = NULL;
modelica_metatype _i_fc = NULL;
modelica_metatype _i_mainFunction = NULL;
modelica_string _i_name = NULL;
modelica_boolean _ret_11;
modelica_metatype _txt_10 = NULL;
modelica_metatype _txt_9 = NULL;
modelica_metatype _txt_8 = NULL;
modelica_metatype _txt_7 = NULL;
modelica_metatype _txt_6 = NULL;
modelica_metatype _txt_5 = NULL;
modelica_metatype _txt_4 = NULL;
modelica_metatype _txt_3 = NULL;
modelica_metatype _l_filePrefix = NULL;
modelica_metatype _l_staticPrototypes = NULL;
volatile mmc_switch_type tmp3;
int tmp4;
tmp3 = 0;
for (; tmp3 < 2; tmp3++) {
switch (MMC_SWITCH_CAST(tmp3)) {
case 0: {
tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_2), 2));
tmpMeta[2] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_2), 3));
tmpMeta[3] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_2), 4));
tmpMeta[4] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_2), 5));
tmpMeta[5] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_2), 6));
tmpMeta[6] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_2), 8));
_txt = tmp3_1;
_i_fc = tmp3_2;
_i_name = tmpMeta[1];
_i_mainFunction = tmpMeta[2];
_i_functions = tmpMeta[3];
_i_literals = tmpMeta[4];
_i_fc_externalFunctionIncludes = tmpMeta[5];
_i_extraRecordDecls = tmpMeta[6];
omc_System_tmpTickResetIndex(threadData, ((modelica_integer) 0), ((modelica_integer) 2));
omc_System_tmpTickResetIndex(threadData, ((modelica_integer) 0), ((modelica_integer) 20));
_l_staticPrototypes = _OMC_LIT20;
_l_filePrefix = omc_Tpl_writeStr(threadData, _OMC_LIT20, _i_name);
omc_CodegenCFunctions_fun__43(threadData, _OMC_LIT20, _i_mainFunction, _l_filePrefix, _i_fc);
_txt_3 = omc_CodegenCFunctions_functionsHeaderFile(threadData, _OMC_LIT20, omc_Tpl_textString(threadData, _l_filePrefix), _i_mainFunction, _i_functions, _i_extraRecordDecls, _l_staticPrototypes ,&_l_staticPrototypes);
_txt_4 = omc_Tpl_writeText(threadData, _OMC_LIT20, _l_filePrefix);
_txt_4 = omc_Tpl_writeTok(threadData, _txt_4, _OMC_LIT1773);
omc_Tpl_textFile(threadData, _txt_3, omc_Tpl_textString(threadData, _txt_4));
_txt_5 = omc_CodegenCFunctions_functionsFile(threadData, _OMC_LIT20, omc_Tpl_textString(threadData, _l_filePrefix), _i_mainFunction, _i_functions, _i_literals, _l_staticPrototypes ,&_l_staticPrototypes);
_txt_6 = omc_Tpl_writeText(threadData, _OMC_LIT20, _l_filePrefix);
_txt_6 = omc_Tpl_writeTok(threadData, _txt_6, _OMC_LIT997);
omc_Tpl_textFileConvertLines(threadData, _txt_5, omc_Tpl_textString(threadData, _txt_6));
_txt_7 = omc_CodegenCFunctions_externalFunctionIncludes(threadData, _OMC_LIT20, _i_fc_externalFunctionIncludes);
_txt_8 = omc_Tpl_writeText(threadData, _OMC_LIT20, _l_filePrefix);
_txt_8 = omc_Tpl_writeTok(threadData, _txt_8, _OMC_LIT2973);
omc_Tpl_textFile(threadData, _txt_7, omc_Tpl_textString(threadData, _txt_8));
_txt_9 = omc_CodegenCFunctions_recordsFile(threadData, _OMC_LIT20, omc_Tpl_textString(threadData, _l_filePrefix), _i_extraRecordDecls, 0);
_txt_10 = omc_Tpl_writeText(threadData, _OMC_LIT20, _l_filePrefix);
_txt_10 = omc_Tpl_writeTok(threadData, _txt_10, _OMC_LIT2975);
omc_Tpl_textFile(threadData, _txt_9, omc_Tpl_textString(threadData, _txt_10));
_ret_11 = omc_Config_acceptParModelicaGrammar(threadData);
tmpMeta[0] = omc_CodegenCFunctions_fun__44(threadData, _txt, _ret_11, _i_functions, _i_mainFunction, _l_filePrefix);
goto tmp2_done;
}
case 1: {
_txt = tmp3_1;
tmpMeta[0] = _txt;
goto tmp2_done;
}
}
goto tmp2_end;
tmp2_end: ;
}
goto goto_1;
goto_1:;
MMC_THROW_INTERNAL();
goto tmp2_done;
tmp2_done:;
}
}
_out_txt = tmpMeta[0];
_return: OMC_LABEL_UNUSED
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__44(threadData_t *threadData, modelica_metatype _in_txt, modelica_boolean _in_mArg, modelica_metatype _in_a_functions, modelica_metatype _in_a_mainFunction, modelica_metatype _in_a_filePrefix)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta[1] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp3_1;modelica_boolean tmp3_2;modelica_metatype tmp3_3;modelica_metatype tmp3_4;modelica_metatype tmp3_5;
tmp3_1 = _in_txt;
tmp3_2 = _in_mArg;
tmp3_3 = _in_a_functions;
tmp3_4 = _in_a_mainFunction;
tmp3_5 = _in_a_filePrefix;
{
modelica_metatype _txt = NULL;
modelica_metatype _a_functions = NULL;
modelica_metatype _a_mainFunction = NULL;
modelica_metatype _a_filePrefix = NULL;
modelica_metatype _txt_1 = NULL;
modelica_metatype _txt_0 = NULL;
volatile mmc_switch_type tmp3;
int tmp4;
tmp3 = 0;
for (; tmp3 < 2; tmp3++) {
switch (MMC_SWITCH_CAST(tmp3)) {
case 0: {
if (0 != tmp3_2) goto tmp2_end;
_txt = tmp3_1;
tmpMeta[0] = _txt;
goto tmp2_done;
}
case 1: {
_txt = tmp3_1;
_a_functions = tmp3_3;
_a_mainFunction = tmp3_4;
_a_filePrefix = tmp3_5;
_txt_0 = omc_CodegenCFunctions_functionsParModelicaKernelsFile(threadData, _OMC_LIT20, omc_Tpl_textString(threadData, _a_filePrefix), _a_mainFunction, _a_functions);
_txt_1 = omc_Tpl_writeText(threadData, _OMC_LIT20, _a_filePrefix);
_txt_1 = omc_Tpl_writeTok(threadData, _txt_1, _OMC_LIT2979);
omc_Tpl_textFile(threadData, _txt_0, omc_Tpl_textString(threadData, _txt_1));
tmpMeta[0] = _txt;
goto tmp2_done;
}
}
goto tmp2_end;
tmp2_end: ;
}
goto goto_1;
goto_1:;
MMC_THROW_INTERNAL();
goto tmp2_done;
tmp2_done:;
}
}
_out_txt = tmpMeta[0];
_return: OMC_LABEL_UNUSED
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__44(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_mArg, modelica_metatype _in_a_functions, modelica_metatype _in_a_mainFunction, modelica_metatype _in_a_filePrefix)
{
modelica_integer tmp1;
modelica_metatype _out_txt = NULL;
tmp1 = mmc_unbox_integer(_in_mArg);
_out_txt = omc_CodegenCFunctions_fun__44(threadData, _in_txt, tmp1, _in_a_functions, _in_a_mainFunction, _in_a_filePrefix);
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__43(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_mainFunction, modelica_metatype _in_a_filePrefix, modelica_metatype _in_a_functionCode)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta[1] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp3_1;modelica_metatype tmp3_2;modelica_metatype tmp3_3;modelica_metatype tmp3_4;
tmp3_1 = _in_txt;
tmp3_2 = _in_a_mainFunction;
tmp3_3 = _in_a_filePrefix;
tmp3_4 = _in_a_functionCode;
{
modelica_metatype _txt = NULL;
modelica_metatype _a_filePrefix = NULL;
modelica_metatype _a_functionCode = NULL;
modelica_metatype _txt_1 = NULL;
modelica_metatype _txt_0 = NULL;
volatile mmc_switch_type tmp3;
int tmp4;
tmp3 = 0;
for (; tmp3 < 2; tmp3++) {
switch (MMC_SWITCH_CAST(tmp3)) {
case 0: {
if (!optionNone(tmp3_2)) goto tmp2_end;
_txt = tmp3_1;
tmpMeta[0] = _txt;
goto tmp2_done;
}
case 1: {
_txt = tmp3_1;
_a_filePrefix = tmp3_3;
_a_functionCode = tmp3_4;
_txt_0 = omc_CodegenCFunctions_functionsMakefile(threadData, _OMC_LIT20, _a_functionCode);
_txt_1 = omc_Tpl_writeText(threadData, _OMC_LIT20, _a_filePrefix);
_txt_1 = omc_Tpl_writeTok(threadData, _txt_1, _OMC_LIT2977);
omc_Tpl_textFile(threadData, _txt_0, omc_Tpl_textString(threadData, _txt_1));
tmpMeta[0] = _txt;
goto tmp2_done;
}
}
goto tmp2_end;
tmp2_end: ;
}
goto goto_1;
goto_1:;
MMC_THROW_INTERNAL();
goto tmp2_done;
tmp2_done:;
}
}
_out_txt = tmpMeta[0];
_return: OMC_LABEL_UNUSED
return _out_txt;
}
DLLExport
modelica_metatype omc_CodegenCFunctions_mainTop(threadData_t *threadData, modelica_metatype _txt, modelica_metatype _a_mainBody, modelica_string _a_url, modelica_metatype *out_out_a_mainBody)
{
modelica_metatype _out_txt = NULL;
modelica_metatype _out_a_mainBody = NULL;
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
_out_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT2986);
_out_txt = omc_Tpl_pushBlock(threadData, _out_txt, _OMC_LIT97);
_out_txt = omc_Tpl_writeText(threadData, _out_txt, _a_mainBody);
_out_txt = omc_Tpl_softNewLine(threadData, _out_txt);
_out_txt = omc_Tpl_writeTok(threadData, _out_txt, _OMC_LIT2994);
_out_txt = omc_Tpl_writeStr(threadData, _out_txt, _a_url);
_out_txt = omc_Tpl_writeTok(threadData, _out_txt, _OMC_LIT3006);
_out_txt = omc_Tpl_popBlock(threadData, _out_txt);
_out_txt = omc_Tpl_writeTok(threadData, _out_txt, _OMC_LIT103);
_out_a_mainBody = _a_mainBody;
_return: OMC_LABEL_UNUSED
if (out_out_a_mainBody) { *out_out_a_mainBody = _out_a_mainBody; }
return _out_txt;
}
DLLExport
modelica_metatype omc_CodegenCFunctions_generateEntryPoint(threadData_t *threadData, modelica_metatype _txt, modelica_metatype _a_entryPoint, modelica_string _a_url)
{
modelica_metatype _out_txt = NULL;
modelica_boolean _ret_2;
modelica_metatype _txt_1 = NULL;
modelica_metatype _l_name = NULL;
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
_l_name = omc_Tpl_writeTok(threadData, _OMC_LIT20, _OMC_LIT627);
_l_name = omc_CodegenUtil_underscorePath(threadData, _l_name, _a_entryPoint);
_out_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT3043);
_out_txt = omc_Tpl_writeText(threadData, _out_txt, _l_name);
_out_txt = omc_Tpl_writeTok(threadData, _out_txt, _OMC_LIT3046);
_out_txt = omc_Tpl_writeText(threadData, _out_txt, _l_name);
_out_txt = omc_Tpl_softNewLine(threadData, _out_txt);
_out_txt = omc_Tpl_writeTok(threadData, _out_txt, _OMC_LIT3054);
_out_txt = omc_Tpl_pushBlock(threadData, _out_txt, _OMC_LIT97);
_txt_1 = omc_Tpl_writeText(threadData, _OMC_LIT20, _l_name);
_txt_1 = omc_Tpl_writeTok(threadData, _txt_1, _OMC_LIT2441);
_out_txt = omc_CodegenCFunctions_mainTop(threadData, _out_txt, _txt_1, _a_url ,&_txt_1);
_out_txt = omc_Tpl_softNewLine(threadData, _out_txt);
_out_txt = omc_Tpl_writeTok(threadData, _out_txt, _OMC_LIT2338);
_ret_2 = omc_Flags_isSet(threadData, _OMC_LIT2446);
_out_txt = omc_CodegenCFunctions_fun__40(threadData, _out_txt, _ret_2);
_out_txt = omc_Tpl_softNewLine(threadData, _out_txt);
_out_txt = omc_Tpl_writeTok(threadData, _out_txt, _OMC_LIT2450);
_out_txt = omc_Tpl_popBlock(threadData, _out_txt);
_out_txt = omc_Tpl_writeTok(threadData, _out_txt, _OMC_LIT3062);
_return: OMC_LABEL_UNUSED
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__40(threadData_t *threadData, modelica_metatype _in_txt, modelica_boolean _in_mArg)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta[1] __attribute__((unused)) = {0};
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp3_1;modelica_boolean tmp3_2;
tmp3_1 = _in_txt;
tmp3_2 = _in_mArg;
{
modelica_metatype _txt = NULL;
volatile mmc_switch_type tmp3;
int tmp4;
tmp3 = 0;
for (; tmp3 < 2; tmp3++) {
switch (MMC_SWITCH_CAST(tmp3)) {
case 0: {
if (0 != tmp3_2) goto tmp2_end;
_txt = tmp3_1;
tmpMeta[0] = _txt;
goto tmp2_done;
}
case 1: {
_txt = tmp3_1;
tmpMeta[0] = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT2456);
goto tmp2_done;
}
}
goto tmp2_end;
tmp2_end: ;
}
goto goto_1;
goto_1:;
MMC_THROW_INTERNAL();
goto tmp2_done;
tmp2_done:;
}
}
_out_txt = tmpMeta[0];
_return: OMC_LABEL_UNUSED
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__40(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_mArg)
{
modelica_integer tmp1;
modelica_metatype _out_txt = NULL;
tmp1 = mmc_unbox_integer(_in_mArg);
_out_txt = omc_CodegenCFunctions_fun__40(threadData, _in_txt, tmp1);
return _out_txt;
}
