#ifdef OMC_BASE_FILE
#define OMC_FILE OMC_BASE_FILE
#else
#define OMC_FILE "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,0,_OMC_LIT28_data);
#define _OMC_LIT28 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT28)
#define _OMC_LIT29_data "("
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT29,1,_OMC_LIT29_data);
#define _OMC_LIT29 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT29)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT30,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT29}};
#define _OMC_LIT30 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT30)
#define _OMC_LIT31_data "]/* "
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT31,4,_OMC_LIT31_data);
#define _OMC_LIT31 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT31)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT32,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT31}};
#define _OMC_LIT32 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT32)
#define _OMC_LIT33_data " "
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT33,1,_OMC_LIT33_data);
#define _OMC_LIT33 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT33)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT34,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT33}};
#define _OMC_LIT34 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT34)
#define _OMC_LIT35_data " */)"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT35,4,_OMC_LIT35_data);
#define _OMC_LIT35 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT35)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT36,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT35}};
#define _OMC_LIT36 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT36)
#define _OMC_LIT37_data ".attribute "
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT37,11,_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 "&"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT39,1,_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 "].info /* "
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT41,10,_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 "Parameter"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT43,9,_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 "Vars"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT45,4,_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 "omsic"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT47,5,_OMC_LIT47_data);
#define _OMC_LIT47 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT47)
#define _OMC_LIT48_data "data->simulationInfo->"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT48,22,_OMC_LIT48_data);
#define _OMC_LIT48 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT48)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT49,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT48}};
#define _OMC_LIT49 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT49)
#define _OMC_LIT50_data "Parameter["
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT50,10,_OMC_LIT50_data);
#define _OMC_LIT50 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT50)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT51,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT50}};
#define _OMC_LIT51 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT51)
#define _OMC_LIT52_data "data->simulationInfo->extObjs["
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT52,30,_OMC_LIT52_data);
#define _OMC_LIT52 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT52)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT53,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT52}};
#define _OMC_LIT53 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT53)
#define _OMC_LIT54_data "])"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT54,2,_OMC_LIT54_data);
#define _OMC_LIT54 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT54)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT55,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT54}};
#define _OMC_LIT55 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT55)
#define _OMC_LIT56_data ".start"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT56,6,_OMC_LIT56_data);
#define _OMC_LIT56 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT56)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT57,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT56}};
#define _OMC_LIT57 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT57)
#define _OMC_LIT58_data "data->localData["
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT58,16,_OMC_LIT58_data);
#define _OMC_LIT58 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT58)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT59,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT58}};
#define _OMC_LIT59 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT59)
#define _OMC_LIT60_data "]->"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT60,3,_OMC_LIT60_data);
#define _OMC_LIT60 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT60)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT61,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT60}};
#define _OMC_LIT61 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT61)
#define _OMC_LIT62_data "Vars["
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT62,5,_OMC_LIT62_data);
#define _OMC_LIT62 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT62)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT63,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT62}};
#define _OMC_LIT63 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT63)
#define _OMC_LIT64_data "VarsPre["
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT64,8,_OMC_LIT64_data);
#define _OMC_LIT64 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT64)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT65,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT64}};
#define _OMC_LIT65 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT65)
#define _OMC_LIT66_data "ERROR: Not implemented in varArrayNameValues"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT66,44,_OMC_LIT66_data);
#define _OMC_LIT66 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT66)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT67,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT66}};
#define _OMC_LIT67 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT67)
#define _OMC_LIT68_data "this_function->function_vars->"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT68,30,_OMC_LIT68_data);
#define _OMC_LIT68 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT68)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT69,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT68}};
#define _OMC_LIT69 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT69)
#define _OMC_LIT70_data "["
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT70,1,_OMC_LIT70_data);
#define _OMC_LIT70 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT70)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT71,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT70}};
#define _OMC_LIT71 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT71)
#define _OMC_LIT72_data "this_function->pre_vars->"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT72,25,_OMC_LIT72_data);
#define _OMC_LIT72 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT72)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT73,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT72}};
#define _OMC_LIT73 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT73)
#define _OMC_LIT74_data "crefType:ERROR"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT74,14,_OMC_LIT74_data);
#define _OMC_LIT74 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT74)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT75,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT74}};
#define _OMC_LIT75 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT75)
#define _OMC_LIT76_data "(_index_t)("
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT76,11,_OMC_LIT76_data);
#define _OMC_LIT76 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT76)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT77,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT76}};
#define _OMC_LIT77 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT77)
#define _OMC_LIT78_data "+1)"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT78,3,_OMC_LIT78_data);
#define _OMC_LIT78 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT78)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT79,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT78}};
#define _OMC_LIT79 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT79)
#define _OMC_LIT80_data "modelica_boolean"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT80,16,_OMC_LIT80_data);
#define _OMC_LIT80 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT80)
#define _OMC_LIT81_data "non INDEX(_) (i.e., slice) subscripts probably should not reach here. Check indexedAssign template."
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT81,99,_OMC_LIT81_data);
#define _OMC_LIT81 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT81)
#define _OMC_LIT82_data "_OMC_LIT"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT82,8,_OMC_LIT82_data);
#define _OMC_LIT82 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT82)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT83,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT82}};
#define _OMC_LIT83 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT83)
#define _OMC_LIT84_data "mmc_unbox_"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT84,10,_OMC_LIT84_data);
#define _OMC_LIT84 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT84)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT85,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT84}};
#define _OMC_LIT85 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT85)
#define _OMC_LIT86_data ")"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT86,1,_OMC_LIT86_data);
#define _OMC_LIT86 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT86)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT87,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT86}};
#define _OMC_LIT87 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT87)
#define _OMC_LIT88_data "mmc_mk_"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT88,7,_OMC_LIT88_data);
#define _OMC_LIT88 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT88)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT89,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT88}};
#define _OMC_LIT89 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT89)
#define _OMC_LIT90_data "modelica_array"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT90,14,_OMC_LIT90_data);
#define _OMC_LIT90 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT90)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT91,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT90}};
#define _OMC_LIT91 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT91)
#define _OMC_LIT92_data "case "
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT92,5,_OMC_LIT92_data);
#define _OMC_LIT92 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT92)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT93,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT92}};
#define _OMC_LIT93 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT93)
#define _OMC_LIT94_data " /* "
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT94,4,_OMC_LIT94_data);
#define _OMC_LIT94 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT94)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT95,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT94}};
#define _OMC_LIT95 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT95)
#define _OMC_LIT96_data "default"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT96,7,_OMC_LIT96_data);
#define _OMC_LIT96 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT96)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT97,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT96}};
#define _OMC_LIT97 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT97)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT98,1,3) {&Tpl_StringToken_ST__NEW__LINE__desc,}};
#define _OMC_LIT98 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT98)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT99,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_LIT98,MMC_IMMEDIATE(MMC_TAGFIXNUM(0)),_OMC_LIT98}};
#define _OMC_LIT99 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT99)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT100,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT28}};
#define _OMC_LIT100 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT100)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT101,1,1) {_OMC_LIT100}};
#define _OMC_LIT101 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT101)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT102,9,3) {&Tpl_IterOptions_ITER__OPTIONS__desc,MMC_IMMEDIATE(MMC_TAGFIXNUM(0)),_OMC_LIT101,MMC_REFSTRUCTLIT(mmc_none),MMC_IMMEDIATE(MMC_TAGFIXNUM(0)),MMC_IMMEDIATE(MMC_TAGFIXNUM(0)),_OMC_LIT98,MMC_IMMEDIATE(MMC_TAGFIXNUM(0)),_OMC_LIT98}};
#define _OMC_LIT102 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT102)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT103,1,1) {_OMC_LIT98}};
#define _OMC_LIT103 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT103)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT104,9,3) {&Tpl_IterOptions_ITER__OPTIONS__desc,MMC_IMMEDIATE(MMC_TAGFIXNUM(0)),MMC_REFSTRUCTLIT(mmc_none),_OMC_LIT103,MMC_IMMEDIATE(MMC_TAGFIXNUM(0)),MMC_IMMEDIATE(MMC_TAGFIXNUM(0)),_OMC_LIT98,MMC_IMMEDIATE(MMC_TAGFIXNUM(0)),_OMC_LIT98}};
#define _OMC_LIT104 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT104)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT105,2,4) {&Tpl_BlockType_BT__INDENT__desc,MMC_IMMEDIATE(MMC_TAGFIXNUM(2))}};
#define _OMC_LIT105 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT105)
#define _OMC_LIT106_data "goto "
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT106,5,_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 "_done;\n"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT108,7,_OMC_LIT108_data);
#define _OMC_LIT108 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT108)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT109,2,5) {&Tpl_StringToken_ST__LINE__desc,_OMC_LIT108}};
#define _OMC_LIT109 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT109)
#define _OMC_LIT110_data "}"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT110,1,_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,1,_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 "/* Pattern matching succeeded */"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT114,32,_OMC_LIT114_data);
#define _OMC_LIT114 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT114)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT115,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT114}};
#define _OMC_LIT115 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT115)
#define _OMC_LIT116_data " += "
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT116,4,_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)
#define _OMC_LIT118_data "; /* Pattern matching succeeded; we may skip some cases if we fail */"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT118,69,_OMC_LIT118_data);
#define _OMC_LIT118 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT118)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT119,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT118}};
#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 ":\n"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT122,2,_OMC_LIT122_data);
#define _OMC_LIT122 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT122)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT123,2,5) {&Tpl_StringToken_ST__LINE__desc,_OMC_LIT122}};
#define _OMC_LIT123 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT123)
#define _OMC_LIT124_data "_default: OMC_LABEL_UNUSED; {"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT124,29,_OMC_LIT124_data);
#define _OMC_LIT124 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT124)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT125,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT124}};
#define _OMC_LIT125 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT125)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT126,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_LIT98,MMC_IMMEDIATE(MMC_TAGFIXNUM(0)),_OMC_LIT98}};
#define _OMC_LIT126 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT126)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT127,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_LIT98,MMC_IMMEDIATE(MMC_TAGFIXNUM(0)),_OMC_LIT98}};
#define _OMC_LIT127 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT127)
#define _OMC_LIT128_data " = "
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT128,3,_OMC_LIT128_data);
#define _OMC_LIT128 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT128)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT129,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT128}};
#define _OMC_LIT129 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT129)
#define _OMC_LIT130_data ", &"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT130,3,_OMC_LIT130_data);
#define _OMC_LIT130 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT130)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT131,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT130}};
#define _OMC_LIT131 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT131)
#define _OMC_LIT132_data "/* Check guard condition after assignments */\n"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT132,46,_OMC_LIT132_data);
#define _OMC_LIT132 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT132)
#define _OMC_LIT133_data "if (!"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT133,5,_OMC_LIT133_data);
#define _OMC_LIT133 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT133)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT134,2,1) {_OMC_LIT133,MMC_REFSTRUCTLIT(mmc_nil)}};
#define _OMC_LIT134 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT134)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT135,2,1) {_OMC_LIT132,_OMC_LIT134}};
#define _OMC_LIT135 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT135)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT136,3,6) {&Tpl_StringToken_ST__STRING__LIST__desc,_OMC_LIT135,MMC_IMMEDIATE(MMC_TAGFIXNUM(0))}};
#define _OMC_LIT136 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT136)
#define _OMC_LIT137_data ") "
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT137,2,_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)
#define _OMC_LIT139_data "_end"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT139,4,_OMC_LIT139_data);
#define _OMC_LIT139 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT139)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT140,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT139}};
#define _OMC_LIT140 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT140)
#define _OMC_LIT141_data "_default"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT141,8,_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 "goto_"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT143,5,_OMC_LIT143_data);
#define _OMC_LIT143 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT143)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT144,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT143}};
#define _OMC_LIT144 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT144)
#define _OMC_LIT145_data "tmp"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT145,3,_OMC_LIT145_data);
#define _OMC_LIT145 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT145)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT146,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT145}};
#define _OMC_LIT146 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT146)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT147,9,3) {&Tpl_IterOptions_ITER__OPTIONS__desc,MMC_IMMEDIATE(MMC_TAGFIXNUM(1)),_OMC_LIT101,MMC_REFSTRUCTLIT(mmc_none),MMC_IMMEDIATE(MMC_TAGFIXNUM(0)),MMC_IMMEDIATE(MMC_TAGFIXNUM(0)),_OMC_LIT98,MMC_IMMEDIATE(MMC_TAGFIXNUM(0)),_OMC_LIT98}};
#define _OMC_LIT147 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT147)
#define _OMC_LIT148_data "int"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT148,3,_OMC_LIT148_data);
#define _OMC_LIT148 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT148)
#define _OMC_LIT149_data "{ /* "
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,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT149}};
#define _OMC_LIT150 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT150)
#define _OMC_LIT151_data " */\n"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT151,4,_OMC_LIT151_data);
#define _OMC_LIT151 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT151)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT152,2,5) {&Tpl_StringToken_ST__LINE__desc,_OMC_LIT151}};
#define _OMC_LIT152 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT152)
#define _OMC_LIT153_data "{\n"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT153,2,_OMC_LIT153_data);
#define _OMC_LIT153 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT153)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT154,2,5) {&Tpl_StringToken_ST__LINE__desc,_OMC_LIT153}};
#define _OMC_LIT154 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT154)
#define _OMC_LIT155_data "switch (MMC_SWITCH_CAST("
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT155,24,_OMC_LIT155_data);
#define _OMC_LIT155 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT155)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT156,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT155}};
#define _OMC_LIT156 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT156)
#define _OMC_LIT157_data ")) {\n"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT157,5,_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)
#define _OMC_LIT159_data "}\n"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT159,2,_OMC_LIT159_data);
#define _OMC_LIT159 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT159)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT160,2,1) {_OMC_LIT106,MMC_REFSTRUCTLIT(mmc_nil)}};
#define _OMC_LIT160 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT160)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT161,2,1) {_OMC_LIT159,_OMC_LIT160}};
#define _OMC_LIT161 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT161)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT162,3,6) {&Tpl_StringToken_ST__STRING__LIST__desc,_OMC_LIT161,MMC_IMMEDIATE(MMC_TAGFIXNUM(0))}};
#define _OMC_LIT162 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT162)
#define _OMC_LIT163_data "_end;\n"
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,5) {&Tpl_StringToken_ST__LINE__desc,_OMC_LIT163}};
#define _OMC_LIT164 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT164)
#define _OMC_LIT165_data "_end: ;\n"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT165,8,_OMC_LIT165_data);
#define _OMC_LIT165 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT165)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT166,2,5) {&Tpl_StringToken_ST__LINE__desc,_OMC_LIT165}};
#define _OMC_LIT166 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT166)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT167,2,5) {&Tpl_StringToken_ST__LINE__desc,_OMC_LIT159}};
#define _OMC_LIT167 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT167)
#define _OMC_LIT168_data ";\n"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT168,2,_OMC_LIT168_data);
#define _OMC_LIT168 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT168)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT169,2,5) {&Tpl_StringToken_ST__LINE__desc,_OMC_LIT168}};
#define _OMC_LIT169 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT169)
#define _OMC_LIT170_data "_done:\n"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT170,7,_OMC_LIT170_data);
#define _OMC_LIT170 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT170)
#define _OMC_LIT171_data "(void)"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT171,6,_OMC_LIT171_data);
#define _OMC_LIT171 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT171)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT172,2,1) {_OMC_LIT171,MMC_REFSTRUCTLIT(mmc_nil)}};
#define _OMC_LIT172 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT172)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT173,2,1) {_OMC_LIT170,_OMC_LIT172}};
#define _OMC_LIT173 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT173)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT174,3,6) {&Tpl_StringToken_ST__STRING__LIST__desc,_OMC_LIT173,MMC_IMMEDIATE(MMC_TAGFIXNUM(0))}};
#define _OMC_LIT174 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT174)
#define _OMC_LIT175_data "MMC_RESTORE_INTERNAL(mmc_jumper);\n"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT175,34,_OMC_LIT175_data);
#define _OMC_LIT175 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT175)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT176,2,1) {_OMC_LIT175,_OMC_LIT160}};
#define _OMC_LIT176 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT176)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT177,2,1) {_OMC_LIT168,_OMC_LIT176}};
#define _OMC_LIT177 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT177)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT178,3,6) {&Tpl_StringToken_ST__STRING__LIST__desc,_OMC_LIT177,MMC_IMMEDIATE(MMC_TAGFIXNUM(0))}};
#define _OMC_LIT178 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT178)
#define _OMC_LIT179_data "_done2;\n"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT179,8,_OMC_LIT179_data);
#define _OMC_LIT179 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT179)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT180,2,5) {&Tpl_StringToken_ST__LINE__desc,_OMC_LIT179}};
#define _OMC_LIT180 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT180)
#define _OMC_LIT181_data ":;\n"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT181,3,_OMC_LIT181_data);
#define _OMC_LIT181 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT181)
#define _OMC_LIT182_data "MMC_CATCH_INTERNAL(mmc_jumper);\n"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT182,32,_OMC_LIT182_data);
#define _OMC_LIT182 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT182)
#define _OMC_LIT183_data "if (++"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT183,6,_OMC_LIT183_data);
#define _OMC_LIT183 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT183)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT184,2,1) {_OMC_LIT183,MMC_REFSTRUCTLIT(mmc_nil)}};
#define _OMC_LIT184 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT184)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT185,2,1) {_OMC_LIT182,_OMC_LIT184}};
#define _OMC_LIT185 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT185)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT186,2,1) {_OMC_LIT181,_OMC_LIT185}};
#define _OMC_LIT186 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT186)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT187,3,6) {&Tpl_StringToken_ST__STRING__LIST__desc,_OMC_LIT186,MMC_IMMEDIATE(MMC_TAGFIXNUM(0))}};
#define _OMC_LIT187 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT187)
#define _OMC_LIT188_data " < "
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT188,3,_OMC_LIT188_data);
#define _OMC_LIT188 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT188)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT189,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT188}};
#define _OMC_LIT189 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT189)
#define _OMC_LIT190_data ") {\n"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT190,4,_OMC_LIT190_data);
#define _OMC_LIT190 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT190)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT191,2,5) {&Tpl_StringToken_ST__LINE__desc,_OMC_LIT190}};
#define _OMC_LIT191 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT191)
#define _OMC_LIT192_data "_top;\n"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT192,6,_OMC_LIT192_data);
#define _OMC_LIT192 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT192)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT193,2,5) {&Tpl_StringToken_ST__LINE__desc,_OMC_LIT192}};
#define _OMC_LIT193 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT193)
#define _OMC_LIT194_data "_done2:;"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT194,8,_OMC_LIT194_data);
#define _OMC_LIT194 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT194)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT195,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT194}};
#define _OMC_LIT195 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT195)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT196,2,5) {&Tpl_StringToken_ST__LINE__desc,_OMC_LIT181}};
#define _OMC_LIT196 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT196)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT197,2,1) {_OMC_LIT168,_OMC_LIT160}};
#define _OMC_LIT197 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT197)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT198,3,6) {&Tpl_StringToken_ST__STRING__LIST__desc,_OMC_LIT197,MMC_IMMEDIATE(MMC_TAGFIXNUM(0))}};
#define _OMC_LIT198 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT198)
#define _OMC_LIT199_data "_done:;"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT199,7,_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,1,_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 " = 0;\n"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT203,6,_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 "for (; "
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT205,7,_OMC_LIT205_data);
#define _OMC_LIT205 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT205)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT206,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT205}};
#define _OMC_LIT206 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT206)
#define _OMC_LIT207_data "; "
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT207,2,_OMC_LIT207_data);
#define _OMC_LIT207 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT207)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT208,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT207}};
#define _OMC_LIT208 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT208)
#define _OMC_LIT209_data "++) {"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT209,5,_OMC_LIT209_data);
#define _OMC_LIT209 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT209)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT210,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT209}};
#define _OMC_LIT210 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT210)
#define _OMC_LIT211_data "MMC_TRY_INTERNAL(mmc_jumper)\n"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT211,29,_OMC_LIT211_data);
#define _OMC_LIT211 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT211)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT212,2,5) {&Tpl_StringToken_ST__LINE__desc,_OMC_LIT211}};
#define _OMC_LIT212 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT212)
#define _OMC_LIT213_data "_top:\n"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT213,6,_OMC_LIT213_data);
#define _OMC_LIT213 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT213)
#define _OMC_LIT214_data "threadData->mmc_jumper = &new_mmc_jumper;"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT214,41,_OMC_LIT214_data);
#define _OMC_LIT214 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT214)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT215,2,1) {_OMC_LIT214,MMC_REFSTRUCTLIT(mmc_nil)}};
#define _OMC_LIT215 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT215)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT216,2,1) {_OMC_LIT213,_OMC_LIT215}};
#define _OMC_LIT216 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT216)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT217,3,6) {&Tpl_StringToken_ST__STRING__LIST__desc,_OMC_LIT216,MMC_IMMEDIATE(MMC_TAGFIXNUM(0))}};
#define _OMC_LIT217 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT217)
#define _OMC_LIT218_data "matchcontinue expression"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT218,24,_OMC_LIT218_data);
#define _OMC_LIT218 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT218)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT219,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT218}};
#define _OMC_LIT219 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT219)
#define _OMC_LIT220_data "match expression"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT220,16,_OMC_LIT220_data);
#define _OMC_LIT220 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT220)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT221,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT220}};
#define _OMC_LIT221 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT221)
#define _OMC_LIT222_data "{ /* stack overflow check */\n"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT222,29,_OMC_LIT222_data);
#define _OMC_LIT222 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT222)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT223,2,5) {&Tpl_StringToken_ST__LINE__desc,_OMC_LIT222}};
#define _OMC_LIT223 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT223)
#define _OMC_LIT224_data "MMC_TRY_STACK()\n"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT224,16,_OMC_LIT224_data);
#define _OMC_LIT224 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT224)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT225,2,5) {&Tpl_StringToken_ST__LINE__desc,_OMC_LIT224}};
#define _OMC_LIT225 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT225)
#define _OMC_LIT226_data "MMC_ELSE_STACK()\n"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT226,17,_OMC_LIT226_data);
#define _OMC_LIT226 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT226)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT227,2,5) {&Tpl_StringToken_ST__LINE__desc,_OMC_LIT226}};
#define _OMC_LIT227 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT227)
#define _OMC_LIT228_data "MMC_CATCH_STACK()\n"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT228,18,_OMC_LIT228_data);
#define _OMC_LIT228 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT228)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT229,2,5) {&Tpl_StringToken_ST__LINE__desc,_OMC_LIT228}};
#define _OMC_LIT229 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT229)
#define _OMC_LIT230_data "Got stack overflow block with more than 2 cases"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT230,47,_OMC_LIT230_data);
#define _OMC_LIT230 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT230)
#define _OMC_LIT231_data "stringHashDjb2Mod("
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT231,18,_OMC_LIT231_data);
#define _OMC_LIT231 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT231)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT232,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT231}};
#define _OMC_LIT232 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT232)
#define _OMC_LIT233_data ","
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT233,1,_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 "valueConstructor("
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT235,17,_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 "Unknown switch: "
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT237,16,_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)
#define _OMC_LIT239_data "\""
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT239,1,_OMC_LIT239_data);
#define _OMC_LIT239 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT239)
#define _OMC_LIT240_data "volatile mmc_switch_type"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT240,24,_OMC_LIT240_data);
#define _OMC_LIT240 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT240)
#define _OMC_LIT241_data " _"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT241,2,_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 "_"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT243,1,_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 "ERROR_INDEX"
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,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT245}};
#define _OMC_LIT246 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT246)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT247,2,3) {&DAE_Exp_ICONST__desc,MMC_IMMEDIATE(MMC_TAGFIXNUM(0))}};
#define _OMC_LIT247 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT247)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT248,2,1) {_OMC_LIT247,MMC_REFSTRUCTLIT(mmc_nil)}};
#define _OMC_LIT248 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT248)
#define _OMC_LIT249_data "match expression not returning anything should be caught in a noretcall statement and not reach this code: "
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT249,107,_OMC_LIT249_data);
#define _OMC_LIT249 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT249)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT250,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT249}};
#define _OMC_LIT250 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT250)
#define _OMC_LIT251_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_STRUCT251,109,_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 "modelica_integer"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT253,16,_OMC_LIT253_data);
#define _OMC_LIT253 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT253)
#define _OMC_LIT254_data "while(1) {\n"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT254,11,_OMC_LIT254_data);
#define _OMC_LIT254 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT254)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT255,2,5) {&Tpl_StringToken_ST__LINE__desc,_OMC_LIT254}};
#define _OMC_LIT255 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT255)
#define _OMC_LIT256_data "if ("
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT256,4,_OMC_LIT256_data);
#define _OMC_LIT256 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT256)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT257,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT256}};
#define _OMC_LIT257 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT257)
#define _OMC_LIT258_data " == 0) {\n"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT258,9,_OMC_LIT258_data);
#define _OMC_LIT258 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT258)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT259,2,5) {&Tpl_StringToken_ST__LINE__desc,_OMC_LIT258}};
#define _OMC_LIT259 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT259)
#define _OMC_LIT260_data "} "
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT260,2,_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 "Code generation does not support multiple iterators: "
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT262,53,_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,1,_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 " = mmc_mk_nil();"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT266,16,_OMC_LIT266_data);
#define _OMC_LIT266 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT266)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT267,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT266}};
#define _OMC_LIT267 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT267)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT268,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT133}};
#define _OMC_LIT268 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT268)
#define _OMC_LIT269_data " = &"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT269,4,_OMC_LIT269_data);
#define _OMC_LIT269 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT269)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT270,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT269}};
#define _OMC_LIT270 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT270)
#define _OMC_LIT271_data "else if ("
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT271,9,_OMC_LIT271_data);
#define _OMC_LIT271 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT271)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT272,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT271}};
#define _OMC_LIT272 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT272)
#define _OMC_LIT273_data " == "
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT273,4,_OMC_LIT273_data);
#define _OMC_LIT273 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT273)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT274,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT273}};
#define _OMC_LIT274 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT274)
#define _OMC_LIT275_data "  break;\n"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT275,9,_OMC_LIT275_data);
#define _OMC_LIT275 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT275)
#define _OMC_LIT276_data "} else {\n"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT276,9,_OMC_LIT276_data);
#define _OMC_LIT276 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT276)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT277,2,1) {_OMC_LIT276,MMC_REFSTRUCTLIT(mmc_nil)}};
#define _OMC_LIT277 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT277)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT278,2,1) {_OMC_LIT275,_OMC_LIT277}};
#define _OMC_LIT278 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT278)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT279,2,1) {_OMC_LIT190,_OMC_LIT278}};
#define _OMC_LIT279 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT279)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT280,3,6) {&Tpl_StringToken_ST__STRING__LIST__desc,_OMC_LIT279,MMC_IMMEDIATE(MMC_TAGFIXNUM(1))}};
#define _OMC_LIT280 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT280)
#define _OMC_LIT281_data " = 0;"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT281,5,_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 " = 1;\n"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT283,6,_OMC_LIT283_data);
#define _OMC_LIT283 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT283)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT284,2,5) {&Tpl_StringToken_ST__LINE__desc,_OMC_LIT283}};
#define _OMC_LIT284 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT284)
#define _OMC_LIT285_data "array"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT285,5,_OMC_LIT285_data);
#define _OMC_LIT285 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT285)
#define _OMC_LIT286_data "; /* defaultValue */"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT286,20,_OMC_LIT286_data);
#define _OMC_LIT286 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT286)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT287,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT286}};
#define _OMC_LIT287 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT287)
#define _OMC_LIT288_data " = 0; /* "
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT288,9,_OMC_LIT288_data);
#define _OMC_LIT288 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT288)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT289,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT288}};
#define _OMC_LIT289 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT289)
#define _OMC_LIT290_data " lacks default-value */"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT290,23,_OMC_LIT290_data);
#define _OMC_LIT290 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT290)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT291,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT290}};
#define _OMC_LIT291 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT291)
#define _OMC_LIT292_data "alloc_generic_array(&"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT292,21,_OMC_LIT292_data);
#define _OMC_LIT292 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT292)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT293,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT292}};
#define _OMC_LIT293 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT293)
#define _OMC_LIT294_data ", sizeof("
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT294,9,_OMC_LIT294_data);
#define _OMC_LIT294 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT294)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT295,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT294}};
#define _OMC_LIT295 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT295)
#define _OMC_LIT296_data "), 1, (_index_t)"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT296,16,_OMC_LIT296_data);
#define _OMC_LIT296 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT296)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT297,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT296}};
#define _OMC_LIT297 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT297)
#define _OMC_LIT298_data ");"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT298,2,_OMC_LIT298_data);
#define _OMC_LIT298 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT298)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT299,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT298}};
#define _OMC_LIT299 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT299)
#define _OMC_LIT300_data ", "
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT300,2,_OMC_LIT300_data);
#define _OMC_LIT300 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT300)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT301,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT300}};
#define _OMC_LIT301 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT301)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT302,1,1) {_OMC_LIT301}};
#define _OMC_LIT302 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT302)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT303,9,3) {&Tpl_IterOptions_ITER__OPTIONS__desc,MMC_IMMEDIATE(MMC_TAGFIXNUM(0)),MMC_REFSTRUCTLIT(mmc_none),_OMC_LIT302,MMC_IMMEDIATE(MMC_TAGFIXNUM(0)),MMC_IMMEDIATE(MMC_TAGFIXNUM(0)),_OMC_LIT98,MMC_IMMEDIATE(MMC_TAGFIXNUM(0)),_OMC_LIT98}};
#define _OMC_LIT303 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT303)
#define _OMC_LIT304_data "alloc_"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT304,6,_OMC_LIT304_data);
#define _OMC_LIT304 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT304)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT305,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT304}};
#define _OMC_LIT305 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT305)
#define _OMC_LIT306_data "(&"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT306,2,_OMC_LIT306_data);
#define _OMC_LIT306 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT306)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT307,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT306}};
#define _OMC_LIT307 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT307)
#define _OMC_LIT308_data "simple_alloc_1d_"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT308,16,_OMC_LIT308_data);
#define _OMC_LIT308 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT308)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT309,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT308}};
#define _OMC_LIT309 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT309)
#define _OMC_LIT310_data ", (_index_t)"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT310,12,_OMC_LIT310_data);
#define _OMC_LIT310 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT310)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT311,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT310}};
#define _OMC_LIT311 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT311)
#define _OMC_LIT312_data ", (_index_t)2"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT312,13,_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 "array reduction unable to generate code for element of unknown dimension sizes; type "
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT314,85,_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 ": "
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT316,2,_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 "_loopVar"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT318,8,_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 " = modelica_integer_max("
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT320,24,_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 "modelica_metatype"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT322,17,_OMC_LIT322_data);
#define _OMC_LIT322 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT322)
#define _OMC_LIT323_data "_length"
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,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT323}};
#define _OMC_LIT324 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT324)
#define _OMC_LIT325_data "size_of_dimension_base_array("
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT325,29,_OMC_LIT325_data);
#define _OMC_LIT325 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT325)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT326,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT325}};
#define _OMC_LIT326 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT326)
#define _OMC_LIT327_data ", 1)"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT327,4,_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 "listLength("
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT329,11,_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 "arrayLength("
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT331,12,_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 "--;\n"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT333,4,_OMC_LIT333_data);
#define _OMC_LIT333 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT333)
#define _OMC_LIT334_data "break;\n"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT334,7,_OMC_LIT334_data);
#define _OMC_LIT334 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT334)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT335,2,1) {_OMC_LIT334,MMC_REFSTRUCTLIT(mmc_nil)}};
#define _OMC_LIT335 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT335)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT336,2,1) {_OMC_LIT333,_OMC_LIT335}};
#define _OMC_LIT336 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT336)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT337,3,6) {&Tpl_StringToken_ST__STRING__LIST__desc,_OMC_LIT336,MMC_IMMEDIATE(MMC_TAGFIXNUM(1))}};
#define _OMC_LIT337 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT337)
#define _OMC_LIT338_data " ("
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT338,2,_OMC_LIT338_data);
#define _OMC_LIT338 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT338)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT339,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT338}};
#define _OMC_LIT339 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT339)
#define _OMC_LIT340_data " > 0 ? "
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT340,7,_OMC_LIT340_data);
#define _OMC_LIT340 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT340)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT341,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT340}};
#define _OMC_LIT341 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT341)
#define _OMC_LIT342_data "+"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT342,1,_OMC_LIT342_data);
#define _OMC_LIT342 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT342)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT343,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT342}};
#define _OMC_LIT343 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT343)
#define _OMC_LIT344_data " <= "
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT344,4,_OMC_LIT344_data);
#define _OMC_LIT344 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT344)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT345,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT344}};
#define _OMC_LIT345 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT345)
#define _OMC_LIT346_data " : "
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT346,3,_OMC_LIT346_data);
#define _OMC_LIT346 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT346)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT347,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT346}};
#define _OMC_LIT347 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT347)
#define _OMC_LIT348_data " >= "
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT348,4,_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 "while("
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT350,6,_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 " <= size_of_dimension_base_array("
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT352,33,_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 ", 1)) {\n"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT354,8,_OMC_LIT354_data);
#define _OMC_LIT354 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT354)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT355,2,5) {&Tpl_StringToken_ST__LINE__desc,_OMC_LIT354}};
#define _OMC_LIT355 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT355)
#define _OMC_LIT356_data "if("
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)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT358,2,5) {&Tpl_StringToken_ST__LINE__desc,_OMC_LIT333}};
#define _OMC_LIT358 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT358)
#define _OMC_LIT359_data "_array_get("
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT359,11,_OMC_LIT359_data);
#define _OMC_LIT359 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT359)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT360,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT359}};
#define _OMC_LIT360 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT360)
#define _OMC_LIT361_data ", 1, "
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT361,5,_OMC_LIT361_data);
#define _OMC_LIT361 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT361)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT362,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT361}};
#define _OMC_LIT362 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT362)
#define _OMC_LIT363_data "++)"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT363,3,_OMC_LIT363_data);
#define _OMC_LIT363 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT363)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT364,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT363}};
#define _OMC_LIT364 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT364)
#define _OMC_LIT365_data "_get1("
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT365,6,_OMC_LIT365_data);
#define _OMC_LIT365 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT365)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT366,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT365}};
#define _OMC_LIT366 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT366)
#define _OMC_LIT367_data "--;"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT367,3,_OMC_LIT367_data);
#define _OMC_LIT367 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT367)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT368,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT367}};
#define _OMC_LIT368 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT368)
#define _OMC_LIT369_data "while"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT369,5,_OMC_LIT369_data);
#define _OMC_LIT369 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT369)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT370,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT369}};
#define _OMC_LIT370 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT370)
#define _OMC_LIT371_data "if"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT371,2,_OMC_LIT371_data);
#define _OMC_LIT371 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT371)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT372,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT371}};
#define _OMC_LIT372 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT372)
#define _OMC_LIT373_data "while ("
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT373,7,_OMC_LIT373_data);
#define _OMC_LIT373 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT373)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT374,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT373}};
#define _OMC_LIT374 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT374)
#define _OMC_LIT375_data " <= arrayLength("
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT375,16,_OMC_LIT375_data);
#define _OMC_LIT375 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT375)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT376,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT375}};
#define _OMC_LIT376 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT376)
#define _OMC_LIT377_data " = arrayGet("
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT377,12,_OMC_LIT377_data);
#define _OMC_LIT377 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT377)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT378,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT377}};
#define _OMC_LIT378 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT378)
#define _OMC_LIT379_data "++);\n"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT379,5,_OMC_LIT379_data);
#define _OMC_LIT379 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT379)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT380,2,5) {&Tpl_StringToken_ST__LINE__desc,_OMC_LIT379}};
#define _OMC_LIT380 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT380)
#define _OMC_LIT381_data "while (!listEmpty("
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT381,18,_OMC_LIT381_data);
#define _OMC_LIT381 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT381)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT382,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT381}};
#define _OMC_LIT382 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT382)
#define _OMC_LIT383_data " = MMC_CAR("
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT383,11,_OMC_LIT383_data);
#define _OMC_LIT383 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT383)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT384,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT383}};
#define _OMC_LIT384 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT384)
#define _OMC_LIT385_data ");\n"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT385,3,_OMC_LIT385_data);
#define _OMC_LIT385 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT385)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT386,2,5) {&Tpl_StringToken_ST__LINE__desc,_OMC_LIT385}};
#define _OMC_LIT386 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT386)
#define _OMC_LIT387_data " = MMC_CDR("
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT387,11,_OMC_LIT387_data);
#define _OMC_LIT387 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT387)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT388,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT387}};
#define _OMC_LIT388 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT388)
#define _OMC_LIT389_data "if (!listEmpty("
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT389,15,_OMC_LIT389_data);
#define _OMC_LIT389 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT389)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT390,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT389}};
#define _OMC_LIT390 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT390)
#define _OMC_LIT391_data " = ("
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT391,4,_OMC_LIT391_data);
#define _OMC_LIT391 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT391)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT392,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT391}};
#define _OMC_LIT392 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT392)
#define _OMC_LIT393_data ")-"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT393,2,_OMC_LIT393_data);
#define _OMC_LIT393 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT393)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT394,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT393}};
#define _OMC_LIT394 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT394)
#define _OMC_LIT395_data "_length = (("
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT395,12,_OMC_LIT395_data);
#define _OMC_LIT395 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT395)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT396,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT395}};
#define _OMC_LIT396 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT396)
#define _OMC_LIT397_data "-"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT397,1,_OMC_LIT397_data);
#define _OMC_LIT397 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT397)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT398,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT397}};
#define _OMC_LIT398 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT398)
#define _OMC_LIT399_data ")/"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT399,2,_OMC_LIT399_data);
#define _OMC_LIT399 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT399)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT400,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT399}};
#define _OMC_LIT400 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT400)
#define _OMC_LIT401_data ")+1;"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT401,4,_OMC_LIT401_data);
#define _OMC_LIT401 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT401)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT402,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT401}};
#define _OMC_LIT402 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT402)
#define _OMC_LIT403_data " = 1;"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT403,5,_OMC_LIT403_data);
#define _OMC_LIT403 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT403)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT404,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT403}};
#define _OMC_LIT404 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT404)
#define _OMC_LIT405_data "modelica_integer "
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT405,17,_OMC_LIT405_data);
#define _OMC_LIT405 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT405)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT406,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT405}};
#define _OMC_LIT406 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT406)
#define _OMC_LIT407_data "_length;"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT407,8,_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 "1"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT409,1,_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 "  FILE_INFO info = omc_dummyFileInfo;\n"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT411,38,_OMC_LIT411_data);
#define _OMC_LIT411 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT411)
#define _OMC_LIT412_data "  omc_assert(threadData, info, \"Range with a step of zero.\");\n"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT412,62,_OMC_LIT412_data);
#define _OMC_LIT412 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT412)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT413,2,1) {_OMC_LIT110,MMC_REFSTRUCTLIT(mmc_nil)}};
#define _OMC_LIT413 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT413)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT414,2,1) {_OMC_LIT412,_OMC_LIT413}};
#define _OMC_LIT414 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT414)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT415,2,1) {_OMC_LIT411,_OMC_LIT414}};
#define _OMC_LIT415 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT415)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT416,2,1) {_OMC_LIT258,_OMC_LIT415}};
#define _OMC_LIT416 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT416)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT417,3,6) {&Tpl_StringToken_ST__STRING__LIST__desc,_OMC_LIT416,MMC_IMMEDIATE(MMC_TAGFIXNUM(0))}};
#define _OMC_LIT417 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT417)
#define _OMC_LIT418_data " /* Range start-value */"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT418,24,_OMC_LIT418_data);
#define _OMC_LIT418 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT418)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT419,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT418}};
#define _OMC_LIT419 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT419)
#define _OMC_LIT420_data " /* Range stop-value */"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT420,23,_OMC_LIT420_data);
#define _OMC_LIT420 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT420)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT421,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT420}};
#define _OMC_LIT421 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT421)
#define _OMC_LIT422_data "1 /* Range step-value */"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT422,24,_OMC_LIT422_data);
#define _OMC_LIT422 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT422)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT423,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT422}};
#define _OMC_LIT423 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT423)
#define _OMC_LIT424_data " /* Range step-value */"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT424,23,_OMC_LIT424_data);
#define _OMC_LIT424 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT424)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT425,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT424}};
#define _OMC_LIT425 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT425)
#define _OMC_LIT426_data "modelica_metatype "
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT426,18,_OMC_LIT426_data);
#define _OMC_LIT426 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT426)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT427,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT426}};
#define _OMC_LIT427 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT427)
#define _OMC_LIT428_data " = mmc_mk_cons("
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT428,15,_OMC_LIT428_data);
#define _OMC_LIT428 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT428)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT429,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT428}};
#define _OMC_LIT429 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT429)
#define _OMC_LIT430_data ",0);\n"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT430,5,_OMC_LIT430_data);
#define _OMC_LIT430 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT430)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT431,2,5) {&Tpl_StringToken_ST__LINE__desc,_OMC_LIT430}};
#define _OMC_LIT431 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT431)
#define _OMC_LIT432_data " = &MMC_CDR(*"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT432,13,_OMC_LIT432_data);
#define _OMC_LIT432 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT432)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT433,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT432}};
#define _OMC_LIT433 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT433)
#define _OMC_LIT434_data "list"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT434,4,_OMC_LIT434_data);
#define _OMC_LIT434 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT434)
#define _OMC_LIT435_data "listReverse"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT435,11,_OMC_LIT435_data);
#define _OMC_LIT435 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT435)
#define _OMC_LIT436_data ")\n"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT436,2,_OMC_LIT436_data);
#define _OMC_LIT436 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT436)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT437,2,1) {_OMC_LIT153,MMC_REFSTRUCTLIT(mmc_nil)}};
#define _OMC_LIT437 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT437)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT438,2,1) {_OMC_LIT436,_OMC_LIT437}};
#define _OMC_LIT438 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT438)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT439,3,6) {&Tpl_StringToken_ST__STRING__LIST__desc,_OMC_LIT438,MMC_IMMEDIATE(MMC_TAGFIXNUM(1))}};
#define _OMC_LIT439 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT439)
#define _OMC_LIT440_data "else\n"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT440,5,_OMC_LIT440_data);
#define _OMC_LIT440 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT440)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT441,2,1) {_OMC_LIT440,_OMC_LIT437}};
#define _OMC_LIT441 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT441)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT442,2,1) {_OMC_LIT159,_OMC_LIT441}};
#define _OMC_LIT442 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT442)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT443,3,6) {&Tpl_StringToken_ST__STRING__LIST__desc,_OMC_LIT442,MMC_IMMEDIATE(MMC_TAGFIXNUM(1))}};
#define _OMC_LIT443 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT443)
#define _OMC_LIT444_data "++) = "
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT444,6,_OMC_LIT444_data);
#define _OMC_LIT444 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT444)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT445,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT444}};
#define _OMC_LIT445 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT445)
#define _OMC_LIT446_data "index_spec_t"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT446,12,_OMC_LIT446_data);
#define _OMC_LIT446 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT446)
#define _OMC_LIT447_data "create_index_spec(&"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT447,19,_OMC_LIT447_data);
#define _OMC_LIT447 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT447)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT448,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT447}};
#define _OMC_LIT448 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT448)
#define _OMC_LIT449_data ", (modelica_integer)(0), make_index_array(1, (modelica_integer) "
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT449,64,_OMC_LIT449_data);
#define _OMC_LIT449 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT449)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT450,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT449}};
#define _OMC_LIT450 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT450)
#define _OMC_LIT451_data "++), 'S'"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT451,8,_OMC_LIT451_data);
#define _OMC_LIT451 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT451)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT452,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT451}};
#define _OMC_LIT452 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT452)
#define _OMC_LIT453_data "indexed_assign_"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT453,15,_OMC_LIT453_data);
#define _OMC_LIT453 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT453)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT454,2,1) {_OMC_LIT453,MMC_REFSTRUCTLIT(mmc_nil)}};
#define _OMC_LIT454 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT454)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT455,2,1) {_OMC_LIT385,_OMC_LIT454}};
#define _OMC_LIT455 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT455)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT456,3,6) {&Tpl_StringToken_ST__STRING__LIST__desc,_OMC_LIT455,MMC_IMMEDIATE(MMC_TAGFIXNUM(0))}};
#define _OMC_LIT456 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT456)
#define _OMC_LIT457_data ", (modelica_integer)(1), (int*)0, 'W'"
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 "modelica_metatype*"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT459,18,_OMC_LIT459_data);
#define _OMC_LIT459 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT459)
#define _OMC_LIT460_data " = size_of_dimension_base_array("
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT460,32,_OMC_LIT460_data);
#define _OMC_LIT460 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT460)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT461,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT460}};
#define _OMC_LIT461 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT461)
#define _OMC_LIT462_data "integer_array"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT462,13,_OMC_LIT462_data);
#define _OMC_LIT462 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT462)
#define _OMC_LIT463_data "sizes_of_dimensions_base_array(&"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT463,32,_OMC_LIT463_data);
#define _OMC_LIT463 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT463)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT464,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT463}};
#define _OMC_LIT464 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT464)
#define _OMC_LIT465_data " not implemented"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT465,16,_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 "Code generation does not support pre("
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT467,37,_OMC_LIT467_data);
#define _OMC_LIT467 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT467)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT468,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT467}};
#define _OMC_LIT468 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT468)
#define _OMC_LIT469_data ")-1"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT469,3,_OMC_LIT469_data);
#define _OMC_LIT469 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT469)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT470,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT469}};
#define _OMC_LIT470 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT470)
#define _OMC_LIT471_data "metatype"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT471,8,_OMC_LIT471_data);
#define _OMC_LIT471 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT471)
#define _OMC_LIT472_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_STRUCT472,119,_OMC_LIT472_data);
#define _OMC_LIT472 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT472)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT473,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT472}};
#define _OMC_LIT473 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT473)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT474,9,3) {&Tpl_IterOptions_ITER__OPTIONS__desc,MMC_IMMEDIATE(MMC_TAGFIXNUM(1)),MMC_REFSTRUCTLIT(mmc_none),_OMC_LIT103,MMC_IMMEDIATE(MMC_TAGFIXNUM(0)),MMC_IMMEDIATE(MMC_TAGFIXNUM(0)),_OMC_LIT98,MMC_IMMEDIATE(MMC_TAGFIXNUM(0)),_OMC_LIT98}};
#define _OMC_LIT474 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT474)
#define _OMC_LIT475_data "switch("
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT475,7,_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 "{ /* ASUB */\n"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT477,13,_OMC_LIT477_data);
#define _OMC_LIT477 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT477)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT478,2,1) {_OMC_LIT477,MMC_REFSTRUCTLIT(mmc_nil)}};
#define _OMC_LIT478 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT478)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT479,2,1) {_OMC_LIT436,_OMC_LIT478}};
#define _OMC_LIT479 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT479)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT480,3,6) {&Tpl_StringToken_ST__STRING__LIST__desc,_OMC_LIT479,MMC_IMMEDIATE(MMC_TAGFIXNUM(1))}};
#define _OMC_LIT480 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT480)
#define _OMC_LIT481_data "default:\n"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT481,9,_OMC_LIT481_data);
#define _OMC_LIT481 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT481)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT482,2,5) {&Tpl_StringToken_ST__LINE__desc,_OMC_LIT481}};
#define _OMC_LIT482 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT482)
#define _OMC_LIT483_data "throwStreamPrint(threadData, \"Index %ld out of bounds [1.."
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT483,58,_OMC_LIT483_data);
#define _OMC_LIT483 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT483)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT484,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT483}};
#define _OMC_LIT484 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT484)
#define _OMC_LIT485_data "] for array "
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT485,12,_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 "\", (long) "
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT487,10,_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 " + "
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT489,3,_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 " - 1;\n"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT491,6,_OMC_LIT491_data);
#define _OMC_LIT491 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT491)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT492,2,1) {_OMC_LIT256,MMC_REFSTRUCTLIT(mmc_nil)}};
#define _OMC_LIT492 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT492)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT493,2,1) {_OMC_LIT491,_OMC_LIT492}};
#define _OMC_LIT493 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT493)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT494,3,6) {&Tpl_StringToken_ST__STRING__LIST__desc,_OMC_LIT493,MMC_IMMEDIATE(MMC_TAGFIXNUM(0))}};
#define _OMC_LIT494 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT494)
#define _OMC_LIT495_data " > "
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT495,3,_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 "throwStreamPrint(threadData, \"Value %ld out of bounds for range "
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT497,64,_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 "ASUB_EASY_CASE type:"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT499,20,_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 " range:"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT501,7,_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 " index:"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT503,7,_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 "OTHER_ASUB "
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT505,11,_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 "ASUB non-scalar "
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT507,16,_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 ". The inner exp has type: "
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT509,26,_OMC_LIT509_data);
#define _OMC_LIT509 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT509)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT510,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT509}};
#define _OMC_LIT510 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT510)
#define _OMC_LIT511_data ". After ASUB it is still an array: "
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT511,35,_OMC_LIT511_data);
#define _OMC_LIT511 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT511)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT512,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT511}};
#define _OMC_LIT512 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT512)
#define _OMC_LIT513_data "."
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT513,1,_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 "_get"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT515,4,_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 "D"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT517,1,_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 ": {\n"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT519,4,_OMC_LIT519_data);
#define _OMC_LIT519 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT519)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT520,2,5) {&Tpl_StringToken_ST__LINE__desc,_OMC_LIT519}};
#define _OMC_LIT520 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT520)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT521,2,1) {_OMC_LIT168,_OMC_LIT335}};
#define _OMC_LIT521 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT521)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT522,3,6) {&Tpl_StringToken_ST__STRING__LIST__desc,_OMC_LIT521,MMC_IMMEDIATE(MMC_TAGFIXNUM(1))}};
#define _OMC_LIT522 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT522)
#define _OMC_LIT523_data "arrayGet("
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT523,9,_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 ") /* DAE.ASUB */"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT525,16,_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 "._"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT527,2,_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 "(MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR("
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT529,35,_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 "), "
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT531,3,_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 ")))"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT533,3,_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 ": failed"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT535,8,_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 ": TSUB only makes sense if the subscripted expression is a function call of tuple type"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT537,86,_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 ".dim_size = 0;"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT539,14,_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 ", NULL"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT541,6,_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 "cast_"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT543,5,_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 "_array_to_"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT545,10,_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 ") /* could not cast, using the variable as it is */"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT547,51,_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 "Cast on record. Revise me. "
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT549,27,_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 "create_"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT551,7,_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 "_from_range(&"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT553,13,_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 "promote_scalar_"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT555,15,_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,6,_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 ", 2, (_index_t)0, (_index_t)1);"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT559,31,_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 "/* -- start: matrix["
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT561,20,_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 "] -- */"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT563,7,_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 "_array(&"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT565,8,_OMC_LIT565_data);
#define _OMC_LIT565 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT565)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT566,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT565}};
#define _OMC_LIT566 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT566)
#define _OMC_LIT567_data ", 2, (_index_t)"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT567,15,_OMC_LIT567_data);
#define _OMC_LIT567 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT567)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT568,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT567}};
#define _OMC_LIT568 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT568)
#define _OMC_LIT569_data "/* -- end: matrix["
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT569,18,_OMC_LIT569_data);
#define _OMC_LIT569 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT569)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT570,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT569}};
#define _OMC_LIT570 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT570)
#define _OMC_LIT571_data "cat_alloc_"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT571,10,_OMC_LIT571_data);
#define _OMC_LIT571 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT571)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT572,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT571}};
#define _OMC_LIT572 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT572)
#define _OMC_LIT573_data "(1, &"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT573,5,_OMC_LIT573_data);
#define _OMC_LIT573 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT573)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT574,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT573}};
#define _OMC_LIT574 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT574)
#define _OMC_LIT575_data "real"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT575,4,_OMC_LIT575_data);
#define _OMC_LIT575 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT575)
#define _OMC_LIT576_data "integer"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT576,7,_OMC_LIT576_data);
#define _OMC_LIT576 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT576)
#define _OMC_LIT577_data "boolean"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT577,7,_OMC_LIT577_data);
#define _OMC_LIT577 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT577)
#define _OMC_LIT578_data "(2, &"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT578,5,_OMC_LIT578_data);
#define _OMC_LIT578 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT578)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT579,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT578}};
#define _OMC_LIT579 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT579)
#define _OMC_LIT580_data "put_"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT580,4,_OMC_LIT580_data);
#define _OMC_LIT580 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT580)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT581,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT580}};
#define _OMC_LIT581 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT581)
#define _OMC_LIT582_data "_matrix_element("
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT582,16,_OMC_LIT582_data);
#define _OMC_LIT582 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT582)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT583,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT582}};
#define _OMC_LIT583 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT583)
#define _OMC_LIT584_data ", 1, (_index_t)"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT584,15,_OMC_LIT584_data);
#define _OMC_LIT584 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT584)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT585,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT584}};
#define _OMC_LIT585 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT585)
#define _OMC_LIT586_data "base_array_t"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT586,12,_OMC_LIT586_data);
#define _OMC_LIT586 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT586)
#define _OMC_LIT587_data "simple_alloc_1d_base_array(&"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT587,28,_OMC_LIT587_data);
#define _OMC_LIT587 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT587)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT588,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT587}};
#define _OMC_LIT588 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT588)
#define _OMC_LIT589_data ", 0, NULL);"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT589,11,_OMC_LIT589_data);
#define _OMC_LIT589 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT589)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT590,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT589}};
#define _OMC_LIT590 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT590)
#define _OMC_LIT591_data "array_alloc_"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT591,12,_OMC_LIT591_data);
#define _OMC_LIT591 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT591)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT592,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT591}};
#define _OMC_LIT592 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT592)
#define _OMC_LIT593_data "scalar_"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT593,7,_OMC_LIT593_data);
#define _OMC_LIT593 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT593)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT594,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT593}};
#define _OMC_LIT594 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT594)
#define _OMC_LIT595_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_STRUCT595,102,_OMC_LIT595_data);
#define _OMC_LIT595 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT595)
#define _OMC_LIT596_data "// "
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT596,3,_OMC_LIT596_data);
#define _OMC_LIT596 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT596)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT597,2,1) {_OMC_LIT596,MMC_REFSTRUCTLIT(mmc_nil)}};
#define _OMC_LIT597 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT597)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT598,2,1) {_OMC_LIT595,_OMC_LIT597}};
#define _OMC_LIT598 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT598)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT599,3,6) {&Tpl_StringToken_ST__STRING__LIST__desc,_OMC_LIT598,MMC_IMMEDIATE(MMC_TAGFIXNUM(0))}};
#define _OMC_LIT599 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT599)
#define _OMC_LIT600_data "_copy("
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT600,6,_OMC_LIT600_data);
#define _OMC_LIT600 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT600)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT601,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT600}};
#define _OMC_LIT601 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT601)
#define _OMC_LIT602_data "));\n"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT602,4,_OMC_LIT602_data);
#define _OMC_LIT602 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT602)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT603,2,5) {&Tpl_StringToken_ST__LINE__desc,_OMC_LIT602}};
#define _OMC_LIT603 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT603)
#define _OMC_LIT604_data ") = "
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT604,4,_OMC_LIT604_data);
#define _OMC_LIT604 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT604)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT605,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT604}};
#define _OMC_LIT605 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT605)
#define _OMC_LIT606_data "what is this suppsoed to do?"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT606,28,_OMC_LIT606_data);
#define _OMC_LIT606 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT606)
#define _OMC_LIT607_data "(*)(threadData_t*"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT607,17,_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 "))"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT609,2,_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)
#define _OMC_LIT611_data "relocatableFunctions"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT611,20,_OMC_LIT611_data);
#define _OMC_LIT611 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT611)
#define _OMC_LIT612_data "Generates relocatable code: all functions become function pointers and can be replaced at run-time."
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT612,99,_OMC_LIT612_data);
#define _OMC_LIT612 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT612)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT613,2,3) {&Gettext_TranslatableContent_gettext__desc,_OMC_LIT612}};
#define _OMC_LIT613 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT613)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT614,5,3) {&Flags_DebugFlag_DEBUG__FLAG__desc,MMC_IMMEDIATE(MMC_TAGFIXNUM(115)),_OMC_LIT611,MMC_IMMEDIATE(MMC_TAGFIXNUM(0)),_OMC_LIT613}};
#define _OMC_LIT614 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT614)
#define _OMC_LIT615_data "*(void**)"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT615,9,_OMC_LIT615_data);
#define _OMC_LIT615 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT615)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT616,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT615}};
#define _OMC_LIT616 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT616)
#define _OMC_LIT617_data ", modelica_metatype"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT617,19,_OMC_LIT617_data);
#define _OMC_LIT617 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT617)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT618,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT617}};
#define _OMC_LIT618 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT618)
#define _OMC_LIT619_data "void"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT619,4,_OMC_LIT619_data);
#define _OMC_LIT619 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT619)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT620,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT619}};
#define _OMC_LIT620 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT620)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT621,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT322}};
#define _OMC_LIT621 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT621)
#define _OMC_LIT622_data "modelica_real"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT622,13,_OMC_LIT622_data);
#define _OMC_LIT622 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT622)
#define _OMC_LIT623_data " = spatialDistribution(data, threadData, "
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT623,41,_OMC_LIT623_data);
#define _OMC_LIT623 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT623)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT624,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT623}};
#define _OMC_LIT624 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT624)
#define _OMC_LIT625_data " /* index */, "
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT625,14,_OMC_LIT625_data);
#define _OMC_LIT625 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT625)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT626,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT625}};
#define _OMC_LIT626 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT626)
#define _OMC_LIT627_data "spatialDistribution"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT627,19,_OMC_LIT627_data);
#define _OMC_LIT627 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT627)
#define _OMC_LIT628_data "), 1)))"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT628,7,_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 "), 2)))"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT630,7,_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 "threadData, "
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT632,12,_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 " ? ("
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT634,4,_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 ") ("
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT636,3,_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 ") : ("
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT638,5,_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 "We only support function pointer calls where the pointer is a local variable (not inside any record). Got: "
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT640,107,_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 "omc_"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT642,4,_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 "threadData"
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 "Code generation does not support der("
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT646,37,_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 "data->simulationInfo->baseClocks[baseClockIndex].subClocks[subClockIndex].stats.previousInterval"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT648,96,_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 "(data->simulationInfo->baseClocks[baseClockIndex].subClocks[subClockIndex].stats.count == 1)"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT650,92,_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 "handleBaseClock(data, threadData, "
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT652,34,_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 ", data->localData[0]->timeValue)"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT654,32,_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 " >= 0.0 ? 1.0:-1.0)"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT656,19,_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 "data->simulationInfo->inlineData->dt"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT658,36,_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 " == 0.0 ? "
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT660,10,_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 " : ("
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT662,4,_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 " - "
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT664,3,_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 "((modelica_integer)round((modelica_real)("
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT666,41,_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 " && !"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT668,5,_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 "(!"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT670,2,_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 " && "
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT672,4,_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 "Code generation does not support edge("
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT674,38,_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 " != "
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT676,4,_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 "Code generation does not support change("
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT678,40,_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 "Code generation does not support cardinality("
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT680,45,_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 "). It should have been handled somewhere else in the compiler."
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT682,62,_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 "fputs(MMC_STRINGDATA("
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT684,21,_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 "),stdout)"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT686,9,_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 "fmax("
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 "modelica_integer_max((modelica_integer)("
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT690,40,_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 "),(modelica_integer)("
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT692,21,_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 "sum_"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT694,4,_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)
#define _OMC_LIT696_data "product_"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT696,8,_OMC_LIT696_data);
#define _OMC_LIT696 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT696)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT697,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT696}};
#define _OMC_LIT697 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT697)
#define _OMC_LIT698_data "fmin("
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT698,5,_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 "modelica_integer_min((modelica_integer)("
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT700,40,_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 "labs("
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT702,5,_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 "fabs("
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT704,5,_OMC_LIT704_data);
#define _OMC_LIT704 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT704)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT705,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT704}};
#define _OMC_LIT705 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT705)
#define _OMC_LIT706_data " > 0.0"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT706,6,_OMC_LIT706_data);
#define _OMC_LIT706 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT706)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT707,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT706}};
#define _OMC_LIT707 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT707)
#define _OMC_LIT708_data "\"Model error: Argument of log("
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT708,30,_OMC_LIT708_data);
#define _OMC_LIT708 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT708)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT709,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT708}};
#define _OMC_LIT709 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT709)
#define _OMC_LIT710_data ") was %g should be > 0\", "
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT710,25,_OMC_LIT710_data);
#define _OMC_LIT710 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT710)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT711,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT710}};
#define _OMC_LIT711 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT711)
static const MMC_DEFREALLIT(_OMC_LIT_STRUCT712,0.0);
#define _OMC_LIT712 MMC_REFREALLIT(_OMC_LIT_STRUCT712)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT713,8,3) {&SourceInfo_SOURCEINFO__desc,_OMC_LIT28,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_LIT712}};
#define _OMC_LIT713 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT713)
#define _OMC_LIT714_data "log("
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT714,4,_OMC_LIT714_data);
#define _OMC_LIT714 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT714)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT715,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT714}};
#define _OMC_LIT715 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT715)
#define _OMC_LIT716_data "\"Model error: Argument of log10("
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT716,32,_OMC_LIT716_data);
#define _OMC_LIT716 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT716)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT717,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT716}};
#define _OMC_LIT717 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT717)
#define _OMC_LIT718_data "log10("
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT718,6,_OMC_LIT718_data);
#define _OMC_LIT718 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT718)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT719,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT718}};
#define _OMC_LIT719 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT719)
#define _OMC_LIT720_data " >= -1.0 && "
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT720,12,_OMC_LIT720_data);
#define _OMC_LIT720 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT720)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT721,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT720}};
#define _OMC_LIT721 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT721)
#define _OMC_LIT722_data " <= 1.0"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT722,7,_OMC_LIT722_data);
#define _OMC_LIT722 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT722)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT723,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT722}};
#define _OMC_LIT723 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT723)
#define _OMC_LIT724_data "\"Model error: Argument of "
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT724,26,_OMC_LIT724_data);
#define _OMC_LIT724 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT724)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT725,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT724}};
#define _OMC_LIT725 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT725)
#define _OMC_LIT726_data " outside the domain -1.0 <= %g <= 1.0\", "
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT726,40,_OMC_LIT726_data);
#define _OMC_LIT726 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT726)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT727,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT726}};
#define _OMC_LIT727 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT727)
#define _OMC_LIT728_data "acos("
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT728,5,_OMC_LIT728_data);
#define _OMC_LIT728 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT728)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT729,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT728}};
#define _OMC_LIT729 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT729)
#define _OMC_LIT730_data "asin("
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT730,5,_OMC_LIT730_data);
#define _OMC_LIT730 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT730)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT731,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT730}};
#define _OMC_LIT731 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT731)
#define _OMC_LIT732_data "_event_mod_"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT732,11,_OMC_LIT732_data);
#define _OMC_LIT732 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT732)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT733,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT732}};
#define _OMC_LIT733 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT733)
#define _OMC_LIT734_data ", data, threadData)"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT734,19,_OMC_LIT734_data);
#define _OMC_LIT734 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT734)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT735,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT734}};
#define _OMC_LIT735 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT735)
#define _OMC_LIT736_data "_event_div_"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT736,11,_OMC_LIT736_data);
#define _OMC_LIT736 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT736)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT737,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT736}};
#define _OMC_LIT737 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT737)
#define _OMC_LIT738_data "(_event_integer("
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT738,16,_OMC_LIT738_data);
#define _OMC_LIT738 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT738)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT739,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT738}};
#define _OMC_LIT739 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT739)
#define _OMC_LIT740_data ", data))"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT740,8,_OMC_LIT740_data);
#define _OMC_LIT740 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT740)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT741,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT740}};
#define _OMC_LIT741 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT741)
#define _OMC_LIT742_data "((modelica_"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT742,11,_OMC_LIT742_data);
#define _OMC_LIT742 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT742)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT743,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT742}};
#define _OMC_LIT743 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT743)
#define _OMC_LIT744_data ")_event_floor("
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT744,14,_OMC_LIT744_data);
#define _OMC_LIT744 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT744)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT745,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT744}};
#define _OMC_LIT745 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT745)
#define _OMC_LIT746_data ")_event_ceil("
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT746,13,_OMC_LIT746_data);
#define _OMC_LIT746 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT746)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT747,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT746}};
#define _OMC_LIT747 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT747)
#define _OMC_LIT748_data "((modelica_integer)floor("
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT748,25,_OMC_LIT748_data);
#define _OMC_LIT748 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT748)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT749,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT748}};
#define _OMC_LIT749 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT749)
#define _OMC_LIT750_data "_mod("
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT750,5,_OMC_LIT750_data);
#define _OMC_LIT750 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT750)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT751,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT750}};
#define _OMC_LIT751 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT751)
#define _OMC_LIT752_data "(("
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT752,2,_OMC_LIT752_data);
#define _OMC_LIT752 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT752)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT753,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT752}};
#define _OMC_LIT753 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT753)
#define _OMC_LIT754_data ") - floor(("
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT754,11,_OMC_LIT754_data);
#define _OMC_LIT754 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT754)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT755,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT754}};
#define _OMC_LIT755 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT755)
#define _OMC_LIT756_data ") / ("
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT756,5,_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 ")) * ("
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT758,6,_OMC_LIT758_data);
#define _OMC_LIT758 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT758)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT759,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT758}};
#define _OMC_LIT759 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT759)
#define _OMC_LIT760_data "trunc(("
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT760,7,_OMC_LIT760_data);
#define _OMC_LIT760 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT760)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT761,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT760}};
#define _OMC_LIT761 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT761)
#define _OMC_LIT762_data "modelica_mod_"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT762,13,_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 " = max_"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT764,7,_OMC_LIT764_data);
#define _OMC_LIT764 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT764)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT765,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT764}};
#define _OMC_LIT765 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT765)
#define _OMC_LIT766_data " = min_"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT766,7,_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 "fill_alloc_"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT768,11,_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 "void *"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT770,6,_OMC_LIT770_data);
#define _OMC_LIT770 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT770)
#define _OMC_LIT771_data "sizeof("
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT771,7,_OMC_LIT771_data);
#define _OMC_LIT771 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT771)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT772,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT771}};
#define _OMC_LIT772 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT772)
#define _OMC_LIT773_data "=0;\n"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT773,4,_OMC_LIT773_data);
#define _OMC_LIT773 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT773)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT774,2,5) {&Tpl_StringToken_ST__LINE__desc,_OMC_LIT773}};
#define _OMC_LIT774 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT774)
#define _OMC_LIT775_data " > 1) {\n"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT775,8,_OMC_LIT775_data);
#define _OMC_LIT775 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT775)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT776,2,5) {&Tpl_StringToken_ST__LINE__desc,_OMC_LIT775}};
#define _OMC_LIT776 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT776)
#define _OMC_LIT777_data "throwStreamPrint(threadData, \"Called vector with >1 dimensions with size >1: "
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT777,77,_OMC_LIT777_data);
#define _OMC_LIT777 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT777)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT778,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT777}};
#define _OMC_LIT778 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT778)
#define _OMC_LIT779_data "\");\n"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT779,4,_OMC_LIT779_data);
#define _OMC_LIT779 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT779)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT780,2,5) {&Tpl_StringToken_ST__LINE__desc,_OMC_LIT779}};
#define _OMC_LIT780 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT780)
#define _OMC_LIT781_data " = base_array_nr_of_elements("
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT781,29,_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 " = omc_alloc_interface.malloc("
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT783,30,_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 "memcpy("
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT785,7,_OMC_LIT785_data);
#define _OMC_LIT785 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT785)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT786,2,1) {_OMC_LIT785,MMC_REFSTRUCTLIT(mmc_nil)}};
#define _OMC_LIT786 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT786)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT787,2,1) {_OMC_LIT385,_OMC_LIT786}};
#define _OMC_LIT787 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT787)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT788,3,6) {&Tpl_StringToken_ST__STRING__LIST__desc,_OMC_LIT787,MMC_IMMEDIATE(MMC_TAGFIXNUM(0))}};
#define _OMC_LIT788 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT788)
#define _OMC_LIT789_data ".data, "
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT789,7,_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)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT791,2,1) {_OMC_LIT587,MMC_REFSTRUCTLIT(mmc_nil)}};
#define _OMC_LIT791 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT791)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT792,2,1) {_OMC_LIT385,_OMC_LIT791}};
#define _OMC_LIT792 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT792)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT793,3,6) {&Tpl_StringToken_ST__STRING__LIST__desc,_OMC_LIT792,MMC_IMMEDIATE(MMC_TAGFIXNUM(0))}};
#define _OMC_LIT793 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT793)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT794,1,1) {_OMC_LIT131}};
#define _OMC_LIT794 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT794)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT795,9,3) {&Tpl_IterOptions_ITER__OPTIONS__desc,MMC_IMMEDIATE(MMC_TAGFIXNUM(0)),MMC_REFSTRUCTLIT(mmc_none),_OMC_LIT794,MMC_IMMEDIATE(MMC_TAGFIXNUM(0)),MMC_IMMEDIATE(MMC_TAGFIXNUM(0)),_OMC_LIT98,MMC_IMMEDIATE(MMC_TAGFIXNUM(0)),_OMC_LIT98}};
#define _OMC_LIT795 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT795)
#define _OMC_LIT796_data "promote_alloc_"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT796,14,_OMC_LIT796_data);
#define _OMC_LIT796 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT796)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT797,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT796}};
#define _OMC_LIT797 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT797)
#define _OMC_LIT798_data " - ndims_base_array(&"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT798,21,_OMC_LIT798_data);
#define _OMC_LIT798 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT798)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT799,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT798}};
#define _OMC_LIT799 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT799)
#define _OMC_LIT800_data "), &"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT800,4,_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 "transpose_alloc_"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT802,16,_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 "symmetric_"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT804,10,_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 "skew_"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT806,5,_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 "cross_alloc_"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT808,12,_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 "identity_alloc_"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT810,15,_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 "diagonal_alloc_"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT812,15,_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 "modelica_string"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT814,15,_OMC_LIT814_data);
#define _OMC_LIT814 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT814)
#define _OMC_LIT815_data "_to_modelica_string_format("
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT815,27,_OMC_LIT815_data);
#define _OMC_LIT815 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT815)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT816,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT815}};
#define _OMC_LIT816 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT816)
#define _OMC_LIT817_data " = modelica_real_to_modelica_string("
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT817,36,_OMC_LIT817_data);
#define _OMC_LIT817 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT817)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT818,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT817}};
#define _OMC_LIT818 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT818)
#define _OMC_LIT819_data " = delayImpl(data, threadData, "
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT819,31,_OMC_LIT819_data);
#define _OMC_LIT819 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT819)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT820,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT819}};
#define _OMC_LIT820 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT820)
#define _OMC_LIT821_data ", data->localData[0]->timeValue, "
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT821,33,_OMC_LIT821_data);
#define _OMC_LIT821 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT821)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT822,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT821}};
#define _OMC_LIT822 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT822)
#define _OMC_LIT823_data "((modelica_integer)("
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT823,20,_OMC_LIT823_data);
#define _OMC_LIT823 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT823)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT824,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT823}};
#define _OMC_LIT824 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT824)
#define _OMC_LIT825_data "mmc_clock()"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT825,11,_OMC_LIT825_data);
#define _OMC_LIT825 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT825)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT826,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT825}};
#define _OMC_LIT826 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT826)
#define _OMC_LIT827_data "stateSelectionSet(data, threadData, 1, 1, "
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT827,42,_OMC_LIT827_data);
#define _OMC_LIT827 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT827)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT828,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT827}};
#define _OMC_LIT828 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT828)
#define _OMC_LIT829_data ", 0)"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT829,4,_OMC_LIT829_data);
#define _OMC_LIT829 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT829)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT830,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT829}};
#define _OMC_LIT830 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT830)
#define _OMC_LIT831_data "initialStateSelection(data, threadData, 1, 1, "
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT831,46,_OMC_LIT831_data);
#define _OMC_LIT831 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT831)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT832,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT831}};
#define _OMC_LIT832 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT832)
#define _OMC_LIT833_data "delayZeroCrossing(data, threadData, "
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT833,36,_OMC_LIT833_data);
#define _OMC_LIT833 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT833)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT834,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT833}};
#define _OMC_LIT834 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT834)
#define _OMC_LIT835_data "spatialDistributionZeroCrossing(data, threadData, "
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT835,50,_OMC_LIT835_data);
#define _OMC_LIT835 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT835)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT836,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT835}};
#define _OMC_LIT836 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT836)
#define _OMC_LIT837_data "mmc_anyString("
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT837,14,_OMC_LIT837_data);
#define _OMC_LIT837 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT837)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT838,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT837}};
#define _OMC_LIT838 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT838)
#define _OMC_LIT839_data " = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR("
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT839,37,_OMC_LIT839_data);
#define _OMC_LIT839 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT839)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT840,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT839}};
#define _OMC_LIT840 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT840)
#define _OMC_LIT841_data "));"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT841,3,_OMC_LIT841_data);
#define _OMC_LIT841 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT841)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT842,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT841}};
#define _OMC_LIT842 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT842)
#define _OMC_LIT843_data "(~"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT843,2,_OMC_LIT843_data);
#define _OMC_LIT843 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT843)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT844,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT843}};
#define _OMC_LIT844 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT844)
#define _OMC_LIT845_data "/* Tail recursive call */\n"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT845,26,_OMC_LIT845_data);
#define _OMC_LIT845 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT845)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT846,2,5) {&Tpl_StringToken_ST__LINE__desc,_OMC_LIT845}};
#define _OMC_LIT846 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT846)
#define _OMC_LIT847_data "goto _tailrecursive;\n"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT847,21,_OMC_LIT847_data);
#define _OMC_LIT847 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT847)
#define _OMC_LIT848_data "/* TODO: Make sure any eventual dead code below is never generated */"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT848,69,_OMC_LIT848_data);
#define _OMC_LIT848 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT848)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT849,2,1) {_OMC_LIT848,MMC_REFSTRUCTLIT(mmc_nil)}};
#define _OMC_LIT849 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT849)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT850,2,1) {_OMC_LIT847,_OMC_LIT849}};
#define _OMC_LIT850 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT850)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT851,3,6) {&Tpl_StringToken_ST__STRING__LIST__desc,_OMC_LIT850,MMC_IMMEDIATE(MMC_TAGFIXNUM(0))}};
#define _OMC_LIT851 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT851)
#define _OMC_LIT852_data "smooth"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT852,6,_OMC_LIT852_data);
#define _OMC_LIT852 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT852)
#define _OMC_LIT853_data "der"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT853,3,_OMC_LIT853_data);
#define _OMC_LIT853 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT853)
#define _OMC_LIT854_data "pre"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT854,3,_OMC_LIT854_data);
#define _OMC_LIT854 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT854)
#define _OMC_LIT855_data "interval"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT855,8,_OMC_LIT855_data);
#define _OMC_LIT855 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT855)
#define _OMC_LIT856_data "previous"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT856,8,_OMC_LIT856_data);
#define _OMC_LIT856 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT856)
#define _OMC_LIT857_data "firstTick"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT857,9,_OMC_LIT857_data);
#define _OMC_LIT857 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT857)
#define _OMC_LIT858_data "$_clkfire"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT858,9,_OMC_LIT858_data);
#define _OMC_LIT858 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT858)
#define _OMC_LIT859_data "$_signNoNull"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT859,12,_OMC_LIT859_data);
#define _OMC_LIT859 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT859)
#define _OMC_LIT860_data "$_DF$DER"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT860,8,_OMC_LIT860_data);
#define _OMC_LIT860 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT860)
#define _OMC_LIT861_data "$_round"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT861,7,_OMC_LIT861_data);
#define _OMC_LIT861 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT861)
#define _OMC_LIT862_data "edge"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT862,4,_OMC_LIT862_data);
#define _OMC_LIT862 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT862)
#define _OMC_LIT863_data "change"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT863,6,_OMC_LIT863_data);
#define _OMC_LIT863 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT863)
#define _OMC_LIT864_data "cardinality"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT864,11,_OMC_LIT864_data);
#define _OMC_LIT864 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT864)
#define _OMC_LIT865_data "print"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT865,5,_OMC_LIT865_data);
#define _OMC_LIT865 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT865)
#define _OMC_LIT866_data "max"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT866,3,_OMC_LIT866_data);
#define _OMC_LIT866 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT866)
#define _OMC_LIT867_data "sum"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT867,3,_OMC_LIT867_data);
#define _OMC_LIT867 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT867)
#define _OMC_LIT868_data "product"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT868,7,_OMC_LIT868_data);
#define _OMC_LIT868 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT868)
#define _OMC_LIT869_data "min"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT869,3,_OMC_LIT869_data);
#define _OMC_LIT869 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT869)
#define _OMC_LIT870_data "abs"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT870,3,_OMC_LIT870_data);
#define _OMC_LIT870 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT870)
#define _OMC_LIT871_data "sqrt"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT871,4,_OMC_LIT871_data);
#define _OMC_LIT871 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT871)
#define _OMC_LIT872_data "log"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT872,3,_OMC_LIT872_data);
#define _OMC_LIT872 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT872)
#define _OMC_LIT873_data "log10"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT873,5,_OMC_LIT873_data);
#define _OMC_LIT873 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT873)
#define _OMC_LIT874_data "acos"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT874,4,_OMC_LIT874_data);
#define _OMC_LIT874 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT874)
#define _OMC_LIT875_data "asin"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT875,4,_OMC_LIT875_data);
#define _OMC_LIT875 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT875)
#define _OMC_LIT876_data "mod"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT876,3,_OMC_LIT876_data);
#define _OMC_LIT876 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT876)
#define _OMC_LIT877_data "div"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT877,3,_OMC_LIT877_data);
#define _OMC_LIT877 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT877)
#define _OMC_LIT878_data "floor"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT878,5,_OMC_LIT878_data);
#define _OMC_LIT878 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT878)
#define _OMC_LIT879_data "ceil"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT879,4,_OMC_LIT879_data);
#define _OMC_LIT879 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT879)
#define _OMC_LIT880_data "fill"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT880,4,_OMC_LIT880_data);
#define _OMC_LIT880 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT880)
#define _OMC_LIT881_data "vector"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT881,6,_OMC_LIT881_data);
#define _OMC_LIT881 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT881)
#define _OMC_LIT882_data "cat"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT882,3,_OMC_LIT882_data);
#define _OMC_LIT882 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT882)
#define _OMC_LIT883_data "promote"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT883,7,_OMC_LIT883_data);
#define _OMC_LIT883 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT883)
#define _OMC_LIT884_data "transpose"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT884,9,_OMC_LIT884_data);
#define _OMC_LIT884 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT884)
#define _OMC_LIT885_data "symmetric"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT885,9,_OMC_LIT885_data);
#define _OMC_LIT885 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT885)
#define _OMC_LIT886_data "skew"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT886,4,_OMC_LIT886_data);
#define _OMC_LIT886 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT886)
#define _OMC_LIT887_data "cross"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT887,5,_OMC_LIT887_data);
#define _OMC_LIT887 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT887)
#define _OMC_LIT888_data "identity"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT888,8,_OMC_LIT888_data);
#define _OMC_LIT888 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT888)
#define _OMC_LIT889_data "diagonal"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT889,8,_OMC_LIT889_data);
#define _OMC_LIT889 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT889)
#define _OMC_LIT890_data "String"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT890,6,_OMC_LIT890_data);
#define _OMC_LIT890 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT890)
#define _OMC_LIT891_data "delay"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT891,5,_OMC_LIT891_data);
#define _OMC_LIT891 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT891)
#define _OMC_LIT892_data "Integer"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT892,7,_OMC_LIT892_data);
#define _OMC_LIT892 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT892)
#define _OMC_LIT893_data "clock"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT893,5,_OMC_LIT893_data);
#define _OMC_LIT893 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT893)
#define _OMC_LIT894_data "noEvent"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT894,7,_OMC_LIT894_data);
#define _OMC_LIT894 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT894)
#define _OMC_LIT895_data "$getPart"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT895,8,_OMC_LIT895_data);
#define _OMC_LIT895 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT895)
#define _OMC_LIT896_data "$stateSelectionSet"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT896,18,_OMC_LIT896_data);
#define _OMC_LIT896 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT896)
#define _OMC_LIT897_data "$initialStateSelection"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT897,22,_OMC_LIT897_data);
#define _OMC_LIT897 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT897)
#define _OMC_LIT898_data "sample"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT898,6,_OMC_LIT898_data);
#define _OMC_LIT898 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT898)
#define _OMC_LIT899_data "delayZeroCrossing"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT899,17,_OMC_LIT899_data);
#define _OMC_LIT899 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT899)
#define _OMC_LIT900_data "spatialDistributionZeroCrossing"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT900,31,_OMC_LIT900_data);
#define _OMC_LIT900 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT900)
#define _OMC_LIT901_data "anyString"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT901,9,_OMC_LIT901_data);
#define _OMC_LIT901 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT901)
#define _OMC_LIT902_data "fail"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT902,4,_OMC_LIT902_data);
#define _OMC_LIT902 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT902)
#define _OMC_LIT903_data "mmc_get_field"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT903,13,_OMC_LIT903_data);
#define _OMC_LIT903 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT903)
#define _OMC_LIT904_data "mmc_unbox_record"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT904,16,_OMC_LIT904_data);
#define _OMC_LIT904 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT904)
#define _OMC_LIT905_data "intBitNot"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT905,9,_OMC_LIT905_data);
#define _OMC_LIT905 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT905)
#define _OMC_LIT906_data "intBitAnd"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT906,9,_OMC_LIT906_data);
#define _OMC_LIT906 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT906)
#define _OMC_LIT907_data "intBitOr"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT907,8,_OMC_LIT907_data);
#define _OMC_LIT907 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT907)
#define _OMC_LIT908_data "intBitXor"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT908,9,_OMC_LIT908_data);
#define _OMC_LIT908 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT908)
#define _OMC_LIT909_data "intBitLShift"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT909,12,_OMC_LIT909_data);
#define _OMC_LIT909 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT909)
#define _OMC_LIT910_data "intBitRShift"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT910,12,_OMC_LIT910_data);
#define _OMC_LIT910 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT910)
#define _OMC_LIT911_data "SIM_PROF_TICK_FN("
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT911,17,_OMC_LIT911_data);
#define _OMC_LIT911 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT911)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT912,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT911}};
#define _OMC_LIT912 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT912)
#define _OMC_LIT913_data "_index);"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT913,8,_OMC_LIT913_data);
#define _OMC_LIT913 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT913)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT914,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT913}};
#define _OMC_LIT914 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT914)
#define _OMC_LIT915_data "SIM_PROF_ACC_FN("
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT915,16,_OMC_LIT915_data);
#define _OMC_LIT915 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT915)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT916,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT915}};
#define _OMC_LIT916 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT916)
#define _OMC_LIT917_data "|"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT917,1,_OMC_LIT917_data);
#define _OMC_LIT917 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT917)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT918,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT917}};
#define _OMC_LIT918 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT918)
#define _OMC_LIT919_data "^"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT919,1,_OMC_LIT919_data);
#define _OMC_LIT919 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT919)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT920,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT919}};
#define _OMC_LIT920 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT920)
#define _OMC_LIT921_data "<<"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT921,2,_OMC_LIT921_data);
#define _OMC_LIT921 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT921)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT922,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT921}};
#define _OMC_LIT922 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT922)
#define _OMC_LIT923_data ">>"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT923,2,_OMC_LIT923_data);
#define _OMC_LIT923 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT923)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT924,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT923}};
#define _OMC_LIT924 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT924)
#define _OMC_LIT925_data "omsi_on_sample_event(this_function, "
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT925,36,_OMC_LIT925_data);
#define _OMC_LIT925 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT925)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT926,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT925}};
#define _OMC_LIT926 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT926)
#define _OMC_LIT927_data ", omsic_get_model_state())"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT927,26,_OMC_LIT927_data);
#define _OMC_LIT927 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT927)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT928,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT927}};
#define _OMC_LIT928 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT928)
#define _OMC_LIT929_data "data->simulationInfo->samples["
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT929,30,_OMC_LIT929_data);
#define _OMC_LIT929 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT929)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT930,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT929}};
#define _OMC_LIT930 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT930)
#define _OMC_LIT931_data "]"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT931,1,_OMC_LIT931_data);
#define _OMC_LIT931 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT931)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT932,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT931}};
#define _OMC_LIT932 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT932)
#define _OMC_LIT933_data "_to_modelica_string("
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT933,20,_OMC_LIT933_data);
#define _OMC_LIT933 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT933)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT934,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT933}};
#define _OMC_LIT934 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT934)
#define _OMC_LIT935_data ", 6);"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT935,5,_OMC_LIT935_data);
#define _OMC_LIT935 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT935)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT936,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT935}};
#define _OMC_LIT936 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT936)
#define _OMC_LIT937_data "enum"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT937,4,_OMC_LIT937_data);
#define _OMC_LIT937 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT937)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT938,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT937}};
#define _OMC_LIT938 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT938)
#define _OMC_LIT939_data "const char*"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT939,11,_OMC_LIT939_data);
#define _OMC_LIT939 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT939)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT940,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT239}};
#define _OMC_LIT940 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT940)
#define _OMC_LIT941_data "if (size_of_dimension_base_array("
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT941,33,_OMC_LIT941_data);
#define _OMC_LIT941 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT941)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT942,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT941}};
#define _OMC_LIT942 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT942)
#define _OMC_LIT943_data ")>1) "
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT943,5,_OMC_LIT943_data);
#define _OMC_LIT943 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT943)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT944,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT943}};
#define _OMC_LIT944 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT944)
#define _OMC_LIT945_data "++;"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT945,3,_OMC_LIT945_data);
#define _OMC_LIT945 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT945)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT946,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT945}};
#define _OMC_LIT946 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT946)
#define _OMC_LIT947_data " == 0.0) {throwStreamPrint(threadData, \"Division by zero %s\", \""
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT947,63,_OMC_LIT947_data);
#define _OMC_LIT947 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT947)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT948,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT947}};
#define _OMC_LIT948 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT948)
#define _OMC_LIT949_data "\");}"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT949,4,_OMC_LIT949_data);
#define _OMC_LIT949 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT949)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT950,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT949}};
#define _OMC_LIT950 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT950)
#define _OMC_LIT951_data " == 0.0) {"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT951,10,_OMC_LIT951_data);
#define _OMC_LIT951 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT951)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT952,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT951}};
#define _OMC_LIT952 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT952)
#define _OMC_LIT953_data ";}"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT953,2,_OMC_LIT953_data);
#define _OMC_LIT953 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT953)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT954,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT953}};
#define _OMC_LIT954 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT954)
#define _OMC_LIT955_data "modelica_div_integer("
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT955,21,_OMC_LIT955_data);
#define _OMC_LIT955 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT955)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT956,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT955}};
#define _OMC_LIT956 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT956)
#define _OMC_LIT957_data ").quot"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT957,6,_OMC_LIT957_data);
#define _OMC_LIT957 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT957)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT958,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT957}};
#define _OMC_LIT958 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT958)
#define _OMC_LIT959_data "(modelica_integer)(("
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT959,20,_OMC_LIT959_data);
#define _OMC_LIT959 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT959)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT960,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT959}};
#define _OMC_LIT960 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT960)
#define _OMC_LIT961_data ") / "
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT961,4,_OMC_LIT961_data);
#define _OMC_LIT961 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT961)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT962,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT961}};
#define _OMC_LIT962 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT962)
#define _OMC_LIT963_data " == 0) {throwStreamPrint(threadData, \"Division by zero %s\", \""
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT963,61,_OMC_LIT963_data);
#define _OMC_LIT963 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT963)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT964,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT963}};
#define _OMC_LIT964 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT964)
#define _OMC_LIT965_data " == 0) {"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT965,8,_OMC_LIT965_data);
#define _OMC_LIT965 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT965)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT966,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT965}};
#define _OMC_LIT966 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT966)
#define _OMC_LIT967_data " >= 0.0"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT967,7,_OMC_LIT967_data);
#define _OMC_LIT967 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT967)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT968,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT967}};
#define _OMC_LIT968 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT968)
#define _OMC_LIT969_data "\"Model error: Argument of sqrt("
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT969,31,_OMC_LIT969_data);
#define _OMC_LIT969 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT969)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT970,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT969}};
#define _OMC_LIT970 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT970)
#define _OMC_LIT971_data ") was %g should be >= 0\", "
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT971,26,_OMC_LIT971_data);
#define _OMC_LIT971 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT971)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT972,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT971}};
#define _OMC_LIT972 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT972)
#define _OMC_LIT973_data "sqrt("
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT973,5,_OMC_LIT973_data);
#define _OMC_LIT973 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT973)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT974,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT973}};
#define _OMC_LIT974 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT974)
#define _OMC_LIT975_data "closure"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT975,7,_OMC_LIT975_data);
#define _OMC_LIT975 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT975)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT976,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT975}};
#define _OMC_LIT976 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT976)
#define _OMC_LIT977_data " = mmc_mk_box"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT977,13,_OMC_LIT977_data);
#define _OMC_LIT977 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT977)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT978,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT977}};
#define _OMC_LIT978 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT978)
#define _OMC_LIT979_data "0"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT979,1,_OMC_LIT979_data);
#define _OMC_LIT979 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT979)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT980,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT979}};
#define _OMC_LIT980 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT980)
#define _OMC_LIT981_data "static "
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT981,7,_OMC_LIT981_data);
#define _OMC_LIT981 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT981)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT982,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT981}};
#define _OMC_LIT982 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT982)
#define _OMC_LIT983_data "(threadData_t *thData, modelica_metatype closure"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT983,48,_OMC_LIT983_data);
#define _OMC_LIT983 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT983)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT984,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT983}};
#define _OMC_LIT984 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT984)
#define _OMC_LIT985_data "(modelica_fnptr) mmc_mk_box2(0,"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT985,31,_OMC_LIT985_data);
#define _OMC_LIT985 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT985)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT986,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT985}};
#define _OMC_LIT986 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT986)
#define _OMC_LIT987_data "PARTEVALFUNCTION: "
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT987,18,_OMC_LIT987_data);
#define _OMC_LIT987 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT987)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT988,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT987}};
#define _OMC_LIT988 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT988)
#define _OMC_LIT989_data ", ty="
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT989,5,_OMC_LIT989_data);
#define _OMC_LIT989 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT989)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT990,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT989}};
#define _OMC_LIT990 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT990)
#define _OMC_LIT991_data ", origType="
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT991,11,_OMC_LIT991_data);
#define _OMC_LIT991 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT991)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT992,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT991}};
#define _OMC_LIT992 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT992)
#define _OMC_LIT993_data "boxptr_"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT993,7,_OMC_LIT993_data);
#define _OMC_LIT993 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT993)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT994,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT993}};
#define _OMC_LIT994 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT994)
#define _OMC_LIT995_data "(thData"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT995,7,_OMC_LIT995_data);
#define _OMC_LIT995 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT995)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT996,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT995}};
#define _OMC_LIT996 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT996)
#define _OMC_LIT997_data "modelica_fnptr "
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT997,15,_OMC_LIT997_data);
#define _OMC_LIT997 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT997)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT998,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT997}};
#define _OMC_LIT998 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT998)
#define _OMC_LIT999_data " = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(closure),"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT999,46,_OMC_LIT999_data);
#define _OMC_LIT999 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT999)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1000,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT999}};
#define _OMC_LIT1000 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1000)
#define _OMC_LIT1001_data "if (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR("
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1001,38,_OMC_LIT1001_data);
#define _OMC_LIT1001 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1001)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1002,2,1) {_OMC_LIT1001,MMC_REFSTRUCTLIT(mmc_nil)}};
#define _OMC_LIT1002 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1002)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1003,2,1) {_OMC_LIT602,_OMC_LIT1002}};
#define _OMC_LIT1003 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1003)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1004,3,6) {&Tpl_StringToken_ST__STRING__LIST__desc,_OMC_LIT1003,MMC_IMMEDIATE(MMC_TAGFIXNUM(0))}};
#define _OMC_LIT1004 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1004)
#define _OMC_LIT1005_data "),2))) {\n"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1005,9,_OMC_LIT1005_data);
#define _OMC_LIT1005 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1005)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1006,2,5) {&Tpl_StringToken_ST__LINE__desc,_OMC_LIT1005}};
#define _OMC_LIT1006 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1006)
#define _OMC_LIT1007_data ") (thData, MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR("
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1007,45,_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 "),2))"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1009,5,_OMC_LIT1009_data);
#define _OMC_LIT1009 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1009)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1010,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT1009}};
#define _OMC_LIT1010 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1010)
#define _OMC_LIT1011_data "} else { /* No closure in the called variable */\n"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1011,49,_OMC_LIT1011_data);
#define _OMC_LIT1011 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1011)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1012,2,5) {&Tpl_StringToken_ST__LINE__desc,_OMC_LIT1011}};
#define _OMC_LIT1012 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1012)
#define _OMC_LIT1013_data ") (thData"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1013,9,_OMC_LIT1013_data);
#define _OMC_LIT1013 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1013)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1014,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT1013}};
#define _OMC_LIT1014 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1014)
#define _OMC_LIT1015_data ", _"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1015,3,_OMC_LIT1015_data);
#define _OMC_LIT1015 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1015)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1016,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT1015}};
#define _OMC_LIT1016 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1016)
#define _OMC_LIT1017_data "return "
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1017,7,_OMC_LIT1017_data);
#define _OMC_LIT1017 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1017)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1018,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT1017}};
#define _OMC_LIT1018 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1018)
#define _OMC_LIT1019_data ".c"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1019,2,_OMC_LIT1019_data);
#define _OMC_LIT1019 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1019)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1020,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT1019}};
#define _OMC_LIT1020 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1020)
#define _OMC_LIT1021_data " = (modelica_boolean)"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1021,21,_OMC_LIT1021_data);
#define _OMC_LIT1021 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1021)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1022,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT1021}};
#define _OMC_LIT1022 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1022)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1023,2,1) {_OMC_LIT356,MMC_REFSTRUCTLIT(mmc_nil)}};
#define _OMC_LIT1023 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1023)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1024,2,1) {_OMC_LIT168,_OMC_LIT1023}};
#define _OMC_LIT1024 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1024)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1025,3,6) {&Tpl_StringToken_ST__STRING__LIST__desc,_OMC_LIT1024,MMC_IMMEDIATE(MMC_TAGFIXNUM(0))}};
#define _OMC_LIT1025 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1025)
#define _OMC_LIT1026_data "?"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1026,1,_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 ":"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1028,1,_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 "x"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1030,1,_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 "omsi_bool"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1032,9,_OMC_LIT1032_data);
#define _OMC_LIT1032 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1032)
#define _OMC_LIT1033_data " = Less("
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1033,8,_OMC_LIT1033_data);
#define _OMC_LIT1033 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1033)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1034,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT1033}};
#define _OMC_LIT1034 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1034)
#define _OMC_LIT1035_data " = LessEq("
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1035,10,_OMC_LIT1035_data);
#define _OMC_LIT1035 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1035)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1036,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT1035}};
#define _OMC_LIT1036 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1036)
#define _OMC_LIT1037_data " = Greater("
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1037,11,_OMC_LIT1037_data);
#define _OMC_LIT1037 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1037)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1038,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT1037}};
#define _OMC_LIT1038 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1038)
#define _OMC_LIT1039_data " = GreaterEq("
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1039,13,_OMC_LIT1039_data);
#define _OMC_LIT1039 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1039)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1040,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT1039}};
#define _OMC_LIT1040 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1040)
#define _OMC_LIT1041_data "GreaterEq("
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1041,10,_OMC_LIT1041_data);
#define _OMC_LIT1041 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1041)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1042,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT1041}};
#define _OMC_LIT1042 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1042)
#define _OMC_LIT1043_data "GreaterEqZC("
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1043,12,_OMC_LIT1043_data);
#define _OMC_LIT1043 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1043)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1044,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT1043}};
#define _OMC_LIT1044 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1044)
#define _OMC_LIT1045_data ", data->simulationInfo->storedRelations["
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1045,40,_OMC_LIT1045_data);
#define _OMC_LIT1045 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1045)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1046,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT1045}};
#define _OMC_LIT1046 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1046)
#define _OMC_LIT1047_data "Greater("
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1047,8,_OMC_LIT1047_data);
#define _OMC_LIT1047 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1047)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1048,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT1047}};
#define _OMC_LIT1048 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1048)
#define _OMC_LIT1049_data "GreaterZC("
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1049,10,_OMC_LIT1049_data);
#define _OMC_LIT1049 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1049)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1050,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT1049}};
#define _OMC_LIT1050 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1050)
#define _OMC_LIT1051_data "LessEq("
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1051,7,_OMC_LIT1051_data);
#define _OMC_LIT1051 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1051)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1052,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT1051}};
#define _OMC_LIT1052 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1052)
#define _OMC_LIT1053_data "LessEqZC("
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1053,9,_OMC_LIT1053_data);
#define _OMC_LIT1053 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1053)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1054,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT1053}};
#define _OMC_LIT1054 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1054)
#define _OMC_LIT1055_data "Less("
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1055,5,_OMC_LIT1055_data);
#define _OMC_LIT1055 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1055)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1056,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT1055}};
#define _OMC_LIT1056 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1056)
#define _OMC_LIT1057_data "LessZC("
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1057,7,_OMC_LIT1057_data);
#define _OMC_LIT1057 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1057)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1058,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT1057}};
#define _OMC_LIT1058 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1058)
#define _OMC_LIT1059_data "true"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1059,4,_OMC_LIT1059_data);
#define _OMC_LIT1059 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1059)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1060,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT1059}};
#define _OMC_LIT1060 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1060)
#define _OMC_LIT1061_data "(data, &"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1061,8,_OMC_LIT1061_data);
#define _OMC_LIT1061 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1061)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1062,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT1061}};
#define _OMC_LIT1062 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1062)
#define _OMC_LIT1063_data " + ("
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1063,4,_OMC_LIT1063_data);
#define _OMC_LIT1063 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1063)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1064,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT1063}};
#define _OMC_LIT1064 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1064)
#define _OMC_LIT1065_data ", Less"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1065,6,_OMC_LIT1065_data);
#define _OMC_LIT1065 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1065)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1066,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT1065}};
#define _OMC_LIT1066 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1066)
#define _OMC_LIT1067_data ", LessEq"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1067,8,_OMC_LIT1067_data);
#define _OMC_LIT1067 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1067)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1068,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT1067}};
#define _OMC_LIT1068 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1068)
#define _OMC_LIT1069_data ", Greater"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1069,9,_OMC_LIT1069_data);
#define _OMC_LIT1069 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1069)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1070,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT1069}};
#define _OMC_LIT1070 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1070)
#define _OMC_LIT1071_data ", GreaterEq"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1071,11,_OMC_LIT1071_data);
#define _OMC_LIT1071 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1071)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1072,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT1071}};
#define _OMC_LIT1072 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1072)
#define _OMC_LIT1073_data ", GreaterEqZC"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1073,13,_OMC_LIT1073_data);
#define _OMC_LIT1073 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1073)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1074,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT1073}};
#define _OMC_LIT1074 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1074)
#define _OMC_LIT1075_data ", GreaterZC"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1075,11,_OMC_LIT1075_data);
#define _OMC_LIT1075 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1075)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1076,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT1075}};
#define _OMC_LIT1076 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1076)
#define _OMC_LIT1077_data ", LessEqZC"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1077,10,_OMC_LIT1077_data);
#define _OMC_LIT1077 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1077)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1078,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT1077}};
#define _OMC_LIT1078 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1078)
#define _OMC_LIT1079_data ", LessZC"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1079,8,_OMC_LIT1079_data);
#define _OMC_LIT1079 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1079)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1080,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT1079}};
#define _OMC_LIT1080 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1080)
#define _OMC_LIT1081_data "relation"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1081,8,_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 "relationhysteresis"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1083,18,_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 "omsi_function_zero_crossings(this_function, "
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1085,44,_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 "daeExpRelation: Input expression not a DAE.RELATION "
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1087,52,_OMC_LIT1087_data);
#define _OMC_LIT1087 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1087)
#define _OMC_LIT1088_data "(stringCompare("
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1088,15,_OMC_LIT1088_data);
#define _OMC_LIT1088 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1088)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1089,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT1088}};
#define _OMC_LIT1089 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1089)
#define _OMC_LIT1090_data ") < 0)"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1090,6,_OMC_LIT1090_data);
#define _OMC_LIT1090 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1090)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1091,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT1090}};
#define _OMC_LIT1091 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1091)
#define _OMC_LIT1092_data ") > 0)"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1092,6,_OMC_LIT1092_data);
#define _OMC_LIT1092 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1092)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1093,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT1092}};
#define _OMC_LIT1093 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1093)
#define _OMC_LIT1094_data " || "
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1094,4,_OMC_LIT1094_data);
#define _OMC_LIT1094 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1094)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1095,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT1094}};
#define _OMC_LIT1095 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1095)
#define _OMC_LIT1096_data ") <= 0)"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1096,7,_OMC_LIT1096_data);
#define _OMC_LIT1096 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1096)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1097,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT1096}};
#define _OMC_LIT1097 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1097)
#define _OMC_LIT1098_data " || !"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1098,5,_OMC_LIT1098_data);
#define _OMC_LIT1098 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1098)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1099,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT1098}};
#define _OMC_LIT1099 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1099)
#define _OMC_LIT1100_data ") >= 0)"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1100,7,_OMC_LIT1100_data);
#define _OMC_LIT1100 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1100)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1101,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT1100}};
#define _OMC_LIT1101 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1101)
#define _OMC_LIT1102_data "((!"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1102,3,_OMC_LIT1102_data);
#define _OMC_LIT1102 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1102)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1103,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT1102}};
#define _OMC_LIT1103 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1103)
#define _OMC_LIT1104_data ") || ("
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1104,6,_OMC_LIT1104_data);
#define _OMC_LIT1104 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1104)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1105,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT1104}};
#define _OMC_LIT1105 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1105)
#define _OMC_LIT1106_data "(stringEqual("
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1106,13,_OMC_LIT1106_data);
#define _OMC_LIT1106 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1106)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1107,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT1106}};
#define _OMC_LIT1107 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1107)
#define _OMC_LIT1108_data "(!stringEqual("
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1108,14,_OMC_LIT1108_data);
#define _OMC_LIT1108 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1108)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1109,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT1108}};
#define _OMC_LIT1109 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1109)
#define _OMC_LIT1110_data "daeExpRelation "
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1110,15,_OMC_LIT1110_data);
#define _OMC_LIT1110 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1110)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1111,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT1110}};
#define _OMC_LIT1111 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1111)
#define _OMC_LIT1112_data "boolean_array"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1112,13,_OMC_LIT1112_data);
#define _OMC_LIT1112 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1112)
#define _OMC_LIT1113_data "not_boolean_array("
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1113,18,_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 ",&"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1115,2,_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 "and_boolean_array(&"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1117,19,_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 "or_boolean_array(&"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1119,18,_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 "daeExpLbinary:ERR"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1121,17,_OMC_LIT1121_data);
#define _OMC_LIT1121 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1121)
#define _OMC_LIT1122_data "real_array"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1122,10,_OMC_LIT1122_data);
#define _OMC_LIT1122 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1122)
#define _OMC_LIT1123_data "usub_alloc_real_array("
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1123,22,_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 "usub_alloc_integer_array("
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1125,25,_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 "unary minus for non-real arrays not implemented"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1127,47,_OMC_LIT1127_data);
#define _OMC_LIT1127 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1127)
#define _OMC_LIT1128_data "daeExpUnary:ERR"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1128,15,_OMC_LIT1128_data);
#define _OMC_LIT1128 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1128)
#define _OMC_LIT1129_data "(-("
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1129,3,_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 "(-"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1131,2,_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 " = stringAppend("
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1133,16,_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 ") * ("
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1135,5,_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 "add_alloc_"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1137,10,_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_LIT1137}};
#define _OMC_LIT1138 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1138)
#define _OMC_LIT1139_data "sub_alloc_"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1139,10,_OMC_LIT1139_data);
#define _OMC_LIT1139 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1139)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1140,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT1139}};
#define _OMC_LIT1140 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1140)
#define _OMC_LIT1141_data "mul_alloc_"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1141,10,_OMC_LIT1141_data);
#define _OMC_LIT1141 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1141)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1142,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT1141}};
#define _OMC_LIT1142 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1142)
#define _OMC_LIT1143_data "div_alloc_"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1143,10,_OMC_LIT1143_data);
#define _OMC_LIT1143 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1143)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1144,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT1143}};
#define _OMC_LIT1144 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1144)
#define _OMC_LIT1145_data "sub_alloc_scalar_"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1145,17,_OMC_LIT1145_data);
#define _OMC_LIT1145 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1145)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1146,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT1145}};
#define _OMC_LIT1146 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1146)
#define _OMC_LIT1147_data "mul_"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1147,4,_OMC_LIT1147_data);
#define _OMC_LIT1147 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1147)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1148,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT1147}};
#define _OMC_LIT1148 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1148)
#define _OMC_LIT1149_data "_product("
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1149,9,_OMC_LIT1149_data);
#define _OMC_LIT1149 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1149)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1150,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT1149}};
#define _OMC_LIT1150 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1150)
#define _OMC_LIT1151_data "_array"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1151,6,_OMC_LIT1151_data);
#define _OMC_LIT1151 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1151)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1152,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT1151}};
#define _OMC_LIT1152 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1152)
#define _OMC_LIT1153_data "_matrix_product_smart("
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1153,22,_OMC_LIT1153_data);
#define _OMC_LIT1153 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1153)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1154,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT1153}};
#define _OMC_LIT1154 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1154)
#define _OMC_LIT1155_data "div_alloc_scalar_"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1155,17,_OMC_LIT1155_data);
#define _OMC_LIT1155 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1155)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1156,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT1155}};
#define _OMC_LIT1156 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1156)
#define _OMC_LIT1157_data "pow_alloc_"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1157,10,_OMC_LIT1157_data);
#define _OMC_LIT1157 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1157)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1158,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT1157}};
#define _OMC_LIT1158 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1158)
#define _OMC_LIT1159_data "_scalar("
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1159,8,_OMC_LIT1159_data);
#define _OMC_LIT1159 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1159)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1160,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT1159}};
#define _OMC_LIT1160 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1160)
#define _OMC_LIT1161_data "daeExpBinary:ERR for POW_ARRAY_SCALAR"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1161,37,_OMC_LIT1161_data);
#define _OMC_LIT1161 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1161)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1162,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT1161}};
#define _OMC_LIT1162 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1162)
#define _OMC_LIT1163_data "daeExpBinary:ERR for POW_SCALAR_ARRAY"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1163,37,_OMC_LIT1163_data);
#define _OMC_LIT1163 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1163)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1164,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT1163}};
#define _OMC_LIT1164 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1164)
#define _OMC_LIT1165_data "daeExpBinary:ERR for POW_ARR"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1165,28,_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 "daeExpBinary:ERR for POW_ARR2"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1167,29,_OMC_LIT1167_data);
#define _OMC_LIT1167 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1167)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1168,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT1167}};
#define _OMC_LIT1168 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1168)
#define _OMC_LIT1169_data "daeExpBinary:ERR"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1169,16,_OMC_LIT1169_data);
#define _OMC_LIT1169 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1169)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1170,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT462}};
#define _OMC_LIT1170 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1170)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1171,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT1122}};
#define _OMC_LIT1171 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1171)
#define _OMC_LIT1172_data "division_alloc_"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1172,15,_OMC_LIT1172_data);
#define _OMC_LIT1172 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1172)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1173,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT1172}};
#define _OMC_LIT1173 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1173)
#define _OMC_LIT1174_data "_scalar(threadData,"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1174,19,_OMC_LIT1174_data);
#define _OMC_LIT1174 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1174)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1175,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT1174}};
#define _OMC_LIT1175 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1175)
#define _OMC_LIT1176_data ",\""
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1176,2,_OMC_LIT1176_data);
#define _OMC_LIT1176 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1176)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1177,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT1176}};
#define _OMC_LIT1177 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1177)
#define _OMC_LIT1178_data "\")"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1178,2,_OMC_LIT1178_data);
#define _OMC_LIT1178 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1178)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1179,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT1178}};
#define _OMC_LIT1179 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1179)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1180,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT576}};
#define _OMC_LIT1180 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1180)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1181,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT575}};
#define _OMC_LIT1181 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1181)
#define _OMC_LIT1182_data "integer_scalar"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1182,14,_OMC_LIT1182_data);
#define _OMC_LIT1182 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1182)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1183,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT1182}};
#define _OMC_LIT1183 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1183)
#define _OMC_LIT1184_data "real_scalar"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1184,11,_OMC_LIT1184_data);
#define _OMC_LIT1184 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1184)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1185,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT1184}};
#define _OMC_LIT1185 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1185)
#define _OMC_LIT1186_data " * "
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1186,3,_OMC_LIT1186_data);
#define _OMC_LIT1186 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1186)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1187,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT1186}};
#define _OMC_LIT1187 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1187)
#define _OMC_LIT1188_data " *= "
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1188,4,_OMC_LIT1188_data);
#define _OMC_LIT1188 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1188)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1189,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT1188}};
#define _OMC_LIT1189 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1189)
#define _OMC_LIT1190_data "real_int_pow(threadData, "
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1190,25,_OMC_LIT1190_data);
#define _OMC_LIT1190 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1190)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1191,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT1190}};
#define _OMC_LIT1191 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1191)
#define _OMC_LIT1192_data " < 0.0 && "
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1192,10,_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)
#define _OMC_LIT1194_data " != 0.0)\n"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1194,9,_OMC_LIT1194_data);
#define _OMC_LIT1194 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1194)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1195,2,1) {_OMC_LIT1194,_OMC_LIT437}};
#define _OMC_LIT1195 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1195)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1196,3,6) {&Tpl_StringToken_ST__STRING__LIST__desc,_OMC_LIT1195,MMC_IMMEDIATE(MMC_TAGFIXNUM(1))}};
#define _OMC_LIT1196 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1196)
#define _OMC_LIT1197_data " = modf("
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1197,8,_OMC_LIT1197_data);
#define _OMC_LIT1197 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1197)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1198,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT1197}};
#define _OMC_LIT1198 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1198)
#define _OMC_LIT1199_data "\n"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1199,1,_OMC_LIT1199_data);
#define _OMC_LIT1199 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1199)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1200,2,1) {_OMC_LIT1199,_OMC_LIT1023}};
#define _OMC_LIT1200 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1200)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1201,2,1) {_OMC_LIT385,_OMC_LIT1200}};
#define _OMC_LIT1201 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1201)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1202,3,6) {&Tpl_StringToken_ST__STRING__LIST__desc,_OMC_LIT1201,MMC_IMMEDIATE(MMC_TAGFIXNUM(0))}};
#define _OMC_LIT1202 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1202)
#define _OMC_LIT1203_data " > 0.5)\n"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1203,8,_OMC_LIT1203_data);
#define _OMC_LIT1203 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1203)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1204,2,1) {_OMC_LIT1203,_OMC_LIT437}};
#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 " -= 1.0;\n"
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,5) {&Tpl_StringToken_ST__LINE__desc,_OMC_LIT1206}};
#define _OMC_LIT1207 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1207)
#define _OMC_LIT1208_data " += 1.0;\n"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1208,9,_OMC_LIT1208_data);
#define _OMC_LIT1208 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1208)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1209,2,5) {&Tpl_StringToken_ST__LINE__desc,_OMC_LIT1208}};
#define _OMC_LIT1209 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1209)
#define _OMC_LIT1210_data "else if("
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1210,8,_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_LIT159,_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 " < -0.5)\n"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1214,9,_OMC_LIT1214_data);
#define _OMC_LIT1214 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1214)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1215,2,1) {_OMC_LIT1214,_OMC_LIT437}};
#define _OMC_LIT1215 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1215)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1216,3,6) {&Tpl_StringToken_ST__STRING__LIST__desc,_OMC_LIT1215,MMC_IMMEDIATE(MMC_TAGFIXNUM(1))}};
#define _OMC_LIT1216 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1216)
#define _OMC_LIT1217_data "if(fabs("
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1217,8,_OMC_LIT1217_data);
#define _OMC_LIT1217 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1217)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1218,2,1) {_OMC_LIT1217,MMC_REFSTRUCTLIT(mmc_nil)}};
#define _OMC_LIT1218 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1218)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1219,2,1) {_OMC_LIT1199,_OMC_LIT1218}};
#define _OMC_LIT1219 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1219)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1220,2,1) {_OMC_LIT159,_OMC_LIT1219}};
#define _OMC_LIT1220 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1220)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1221,3,6) {&Tpl_StringToken_ST__STRING__LIST__desc,_OMC_LIT1220,MMC_IMMEDIATE(MMC_TAGFIXNUM(0))}};
#define _OMC_LIT1221 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1221)
#define _OMC_LIT1222_data ") < 1e-10)\n"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1222,11,_OMC_LIT1222_data);
#define _OMC_LIT1222 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1222)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1223,2,5) {&Tpl_StringToken_ST__LINE__desc,_OMC_LIT1222}};
#define _OMC_LIT1223 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1223)
#define _OMC_LIT1224_data " = pow("
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1224,7,_OMC_LIT1224_data);
#define _OMC_LIT1224 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1224)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1225,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT1224}};
#define _OMC_LIT1225 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1225)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1226,3,6) {&Tpl_StringToken_ST__STRING__LIST__desc,_OMC_LIT441,MMC_IMMEDIATE(MMC_TAGFIXNUM(1))}};
#define _OMC_LIT1226 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1226)
#define _OMC_LIT1227_data " = modf(1.0/"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1227,12,_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)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1229,2,1) {_OMC_LIT385,_OMC_LIT1023}};
#define _OMC_LIT1229 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1229)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1230,3,6) {&Tpl_StringToken_ST__STRING__LIST__desc,_OMC_LIT1229,MMC_IMMEDIATE(MMC_TAGFIXNUM(0))}};
#define _OMC_LIT1230 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1230)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1231,2,1) {_OMC_LIT159,_OMC_LIT1218}};
#define _OMC_LIT1231 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1231)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1232,3,6) {&Tpl_StringToken_ST__STRING__LIST__desc,_OMC_LIT1231,MMC_IMMEDIATE(MMC_TAGFIXNUM(0))}};
#define _OMC_LIT1232 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1232)
#define _OMC_LIT1233_data ") < 1e-10 && ((unsigned long)"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1233,29,_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))\n"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1235,7,_OMC_LIT1235_data);
#define _OMC_LIT1235 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1235)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1236,2,1) {_OMC_LIT1235,_OMC_LIT437}};
#define _OMC_LIT1236 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1236)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1237,3,6) {&Tpl_StringToken_ST__STRING__LIST__desc,_OMC_LIT1236,MMC_IMMEDIATE(MMC_TAGFIXNUM(1))}};
#define _OMC_LIT1237 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1237)
#define _OMC_LIT1238_data " = -pow(-"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1238,9,_OMC_LIT1238_data);
#define _OMC_LIT1238 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1238)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1239,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT1238}};
#define _OMC_LIT1239 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1239)
#define _OMC_LIT1240_data ")*pow("
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1240,6,_OMC_LIT1240_data);
#define _OMC_LIT1240 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1240)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1241,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT1240}};
#define _OMC_LIT1241 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1241)
#define _OMC_LIT1242_data "if(isnan("
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1242,9,_OMC_LIT1242_data);
#define _OMC_LIT1242 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1242)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1243,2,1) {_OMC_LIT1242,MMC_REFSTRUCTLIT(mmc_nil)}};
#define _OMC_LIT1243 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1243)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1244,2,1) {_OMC_LIT159,_OMC_LIT1243}};
#define _OMC_LIT1244 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1244)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1245,3,6) {&Tpl_StringToken_ST__STRING__LIST__desc,_OMC_LIT1244,MMC_IMMEDIATE(MMC_TAGFIXNUM(0))}};
#define _OMC_LIT1245 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1245)
#define _OMC_LIT1246_data ") || isinf("
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1246,11,_OMC_LIT1246_data);
#define _OMC_LIT1246 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1246)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1247,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT1246}};
#define _OMC_LIT1247 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1247)
#define _OMC_LIT1248_data "))\n"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1248,3,_OMC_LIT1248_data);
#define _OMC_LIT1248 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1248)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1249,2,1) {_OMC_LIT1248,_OMC_LIT437}};
#define _OMC_LIT1249 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1249)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1250,3,6) {&Tpl_StringToken_ST__STRING__LIST__desc,_OMC_LIT1249,MMC_IMMEDIATE(MMC_TAGFIXNUM(1))}};
#define _OMC_LIT1250 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1250)
#define _OMC_LIT1251_data "throwStreamPrint(threadData, \"%s:%d: Invalid root: (%g)^(%g)\", __FILE__, __LINE__, "
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1251,83,_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 "DIVISION_SIM("
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1253,13,_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 "\",equationIndexes)"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1255,18,_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 "DIVISION("
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1257,9,_OMC_LIT1257_data);
#define _OMC_LIT1257 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1257)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1258,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT1257}};
#define _OMC_LIT1258 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1258)
#define _OMC_LIT1259_data " == 0) {throwStreamPrint(threadData, \"Division by zero %s in function context\", \""
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1259,81,_OMC_LIT1259_data);
#define _OMC_LIT1259 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1259)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1260,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT1259}};
#define _OMC_LIT1260 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1260)
#define _OMC_LIT1261_data " - ("
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1261,4,_OMC_LIT1261_data);
#define _OMC_LIT1261 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1261)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1262,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT1261}};
#define _OMC_LIT1262 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1262)
#define _OMC_LIT1263_data "(modelica_integer)(0), make_index_array(1, (modelica_integer) "
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1263,62,_OMC_LIT1263_data);
#define _OMC_LIT1263 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1263)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1264,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT1263}};
#define _OMC_LIT1264 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1264)
#define _OMC_LIT1265_data "), 'S'"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1265,6,_OMC_LIT1265_data);
#define _OMC_LIT1265 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1265)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1266,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT1265}};
#define _OMC_LIT1266 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1266)
#define _OMC_LIT1267_data "(modelica_integer)(1), (int*)0, 'W'"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1267,35,_OMC_LIT1267_data);
#define _OMC_LIT1267 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1267)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1268,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT1267}};
#define _OMC_LIT1268 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1268)
#define _OMC_LIT1269_data ", 1);"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1269,5,_OMC_LIT1269_data);
#define _OMC_LIT1269 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1269)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1270,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT1269}};
#define _OMC_LIT1270 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1270)
#define _OMC_LIT1271_data ", integer_array_make_index_array("
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1271,33,_OMC_LIT1271_data);
#define _OMC_LIT1271 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1271)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1272,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT1271}};
#define _OMC_LIT1272 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1272)
#define _OMC_LIT1273_data "), 'A'"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1273,6,_OMC_LIT1273_data);
#define _OMC_LIT1273 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1273)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1274,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT1273}};
#define _OMC_LIT1274 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1274)
#define _OMC_LIT1275_data "SimCodeC.tpl template: daeExpCrefLhsFunContextParModExpl: UNHANDLED EXPRESSION:  "
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1275,81,_OMC_LIT1275_data);
#define _OMC_LIT1275 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1275)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1276,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT1275}};
#define _OMC_LIT1276 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1276)
#define _OMC_LIT1277_data "This should have been handled in indexed assign and should not have gotten here. "
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1277,81,_OMC_LIT1277_data);
#define _OMC_LIT1277 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1277)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1278,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT1277}};
#define _OMC_LIT1278 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1278)
#define _OMC_LIT1279_data "(*"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1279,2,_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 "_element_addr_c99_"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1281,18,_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)
#define _OMC_LIT1283_data "SimCodeC.tpl template: daeExpCrefLhsFunContextNormal: UNHANDLED EXPRESSION:  "
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1283,77,_OMC_LIT1283_data);
#define _OMC_LIT1283 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1283)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1284,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT1283}};
#define _OMC_LIT1284 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1284)
#define _OMC_LIT1285_data "This should have been handled in the new daeExpCrefLhsSimContext function. "
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1285,75,_OMC_LIT1285_data);
#define _OMC_LIT1285 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1285)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1286,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT1285}};
#define _OMC_LIT1286 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1286)
#define _OMC_LIT1287_data " - 1"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1287,4,_OMC_LIT1287_data);
#define _OMC_LIT1287 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1287)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1288,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT1287}};
#define _OMC_LIT1288 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1288)
#define _OMC_LIT1289_data ") * "
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1289,4,_OMC_LIT1289_data);
#define _OMC_LIT1289 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1289)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1290,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT1289}};
#define _OMC_LIT1290 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1290)
#define _OMC_LIT1291_data "-1)"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1291,3,_OMC_LIT1291_data);
#define _OMC_LIT1291 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1291)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1292,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT1291}};
#define _OMC_LIT1292 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1292)
#define _OMC_LIT1293_data "indexSubs got different number of dimensions and subscripts"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1293,59,_OMC_LIT1293_data);
#define _OMC_LIT1293 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1293)
#define _OMC_LIT1294_data "daeExpCrefLhsSimContext got record "
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1294,35,_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 ". 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_STRUCT1296,143,_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 "daeExpCrefLhsSimContext: UNHANDLED CREF: "
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1298,41,_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 "daeExpCrefLhsSimContext: This should have been handled in indexed assign and should not have gotten here "
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1300,105,_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 "_array_create(&"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1302,15,_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 ", ((modelica_"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1304,13,_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 "*)&((&"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1306,6,_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 ")), "
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1308,4,_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 "(_index_t)"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1310,10,_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 "((modelica_fnptr)boxptr_"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1312,24,_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 ") /*arrayScalarRhs*/"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1314,20,_OMC_LIT1314_data);
#define _OMC_LIT1314 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1314)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1315,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT1314}};
#define _OMC_LIT1315 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1315)
#define _OMC_LIT1316_data "metatype_array"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1316,14,_OMC_LIT1316_data);
#define _OMC_LIT1316 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1316)
#define _OMC_LIT1317_data "daeExpCrefRhsFunContext: UNHANDLED EXPRESSION: "
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1317,47,_OMC_LIT1317_data);
#define _OMC_LIT1317 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1317)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1318,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT1317}};
#define _OMC_LIT1318 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1318)
#define _OMC_LIT1319_data "index_alloc_"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1319,12,_OMC_LIT1319_data);
#define _OMC_LIT1319 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1319)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1320,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT1319}};
#define _OMC_LIT1320 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1320)
#define _OMC_LIT1321_data "daeExpCrefRhsFunContext: Slice in simulation context: "
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1321,54,_OMC_LIT1321_data);
#define _OMC_LIT1321 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1321)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1322,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT1321}};
#define _OMC_LIT1322 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1322)
#define _OMC_LIT1323_data "(threadData"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1323,11,_OMC_LIT1323_data);
#define _OMC_LIT1323 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1323)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1324,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT1323}};
#define _OMC_LIT1324 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1324)
#define _OMC_LIT1325_data "daeExpCrefRhsSimContext: UNHANDLED CREF: "
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1325,41,_OMC_LIT1325_data);
#define _OMC_LIT1325 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1325)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1326,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT1325}};
#define _OMC_LIT1326 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1326)
#define _OMC_LIT1327_data ", (modelica_"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1327,12,_OMC_LIT1327_data);
#define _OMC_LIT1327 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1327)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1328,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT1327}};
#define _OMC_LIT1328 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1328)
#define _OMC_LIT1329_data "*)&"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1329,3,_OMC_LIT1329_data);
#define _OMC_LIT1329 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1329)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1330,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT1329}};
#define _OMC_LIT1330 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1330)
#define _OMC_LIT1331_data "*)&("
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1331,4,_OMC_LIT1331_data);
#define _OMC_LIT1331 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1331)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1332,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT1331}};
#define _OMC_LIT1332 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1332)
#define _OMC_LIT1333_data "NULL"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1333,4,_OMC_LIT1333_data);
#define _OMC_LIT1333 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1333)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1334,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT1333}};
#define _OMC_LIT1334 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1334)
#define _OMC_LIT1335_data "constVarOrDaeExp failed; Constant variable "
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1335,43,_OMC_LIT1335_data);
#define _OMC_LIT1335 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1335)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1336,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT1335}};
#define _OMC_LIT1336 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1336)
#define _OMC_LIT1337_data " is value bound. Not yet implemented"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1337,36,_OMC_LIT1337_data);
#define _OMC_LIT1337 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1337)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1338,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT1337}};
#define _OMC_LIT1338 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1338)
#define _OMC_LIT1339_data " has no binding. This indicates a problem in the lowering from Frontend to old Backend"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1339,86,_OMC_LIT1339_data);
#define _OMC_LIT1339 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1339)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1340,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT1339}};
#define _OMC_LIT1340 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1340)
#define _OMC_LIT1341_data "boxvar_"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1341,7,_OMC_LIT1341_data);
#define _OMC_LIT1341 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1341)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1342,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT1341}};
#define _OMC_LIT1342 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1342)
#define _OMC_LIT1343_data "((modelica_fnptr) _"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1343,19,_OMC_LIT1343_data);
#define _OMC_LIT1343 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1343)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1344,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT1343}};
#define _OMC_LIT1344 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1344)
#define _OMC_LIT1345_data "(MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1345,36,_OMC_LIT1345_data);
#define _OMC_LIT1345 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1345)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1346,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT1345}};
#define _OMC_LIT1346 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1346)
#define _OMC_LIT1347_data "MMC_THROW_INTERNAL()"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1347,20,_OMC_LIT1347_data);
#define _OMC_LIT1347 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1347)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1348,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT1347}};
#define _OMC_LIT1348 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1348)
#define _OMC_LIT1349_data "goto goto_"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1349,10,_OMC_LIT1349_data);
#define _OMC_LIT1349 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1349)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1350,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT1349}};
#define _OMC_LIT1350 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1350)
#define _OMC_LIT1351_data "Unknown slice "
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1351,14,_OMC_LIT1351_data);
#define _OMC_LIT1351 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1351)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1352,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT1351}};
#define _OMC_LIT1352 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1352)
#define _OMC_LIT1353_data "WHOLEDIM"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1353,8,_OMC_LIT1353_data);
#define _OMC_LIT1353 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1353)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1354,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT1353}};
#define _OMC_LIT1354 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1354)
#define _OMC_LIT1355_data "WHOLE_NONEXP"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1355,12,_OMC_LIT1355_data);
#define _OMC_LIT1355 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1355)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1356,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT1355}};
#define _OMC_LIT1356 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1356)
#define _OMC_LIT1357_data "UNKNOWN_SUBSCRIPT"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1357,17,_OMC_LIT1357_data);
#define _OMC_LIT1357 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1357)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1358,1,7) {&SimCodeFunction_Context_OTHER__CONTEXT__desc,}};
#define _OMC_LIT1358 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1358)
#define _OMC_LIT1359_data "lB"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1359,2,_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 "c"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1361,1,_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)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1363,1,1) {_OMC_LIT1362}};
#define _OMC_LIT1363 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1363)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1364,9,3) {&Tpl_IterOptions_ITER__OPTIONS__desc,MMC_IMMEDIATE(MMC_TAGFIXNUM(0)),MMC_REFSTRUCTLIT(mmc_none),_OMC_LIT1363,MMC_IMMEDIATE(MMC_TAGFIXNUM(0)),MMC_IMMEDIATE(MMC_TAGFIXNUM(0)),_OMC_LIT98,MMC_IMMEDIATE(MMC_TAGFIXNUM(0)),_OMC_LIT98}};
#define _OMC_LIT1364 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1364)
#define _OMC_LIT1365_data "rB"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1365,2,_OMC_LIT1365_data);
#define _OMC_LIT1365 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1365)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1366,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT1365}};
#define _OMC_LIT1366 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1366)
#define _OMC_LIT1367_data "P"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1367,1,_OMC_LIT1367_data);
#define _OMC_LIT1367 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1367)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1368,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT1367}};
#define _OMC_LIT1368 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1368)
#define _OMC_LIT1369_data "CREF_NOT_IDENT_OR_QUAL"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1369,22,_OMC_LIT1369_data);
#define _OMC_LIT1369 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1369)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1370,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT1369}};
#define _OMC_LIT1370 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1370)
#define _OMC_LIT1371_data "mmc_mk_box"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1371,10,_OMC_LIT1371_data);
#define _OMC_LIT1371 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1371)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1372,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT1371}};
#define _OMC_LIT1372 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1372)
#define _OMC_LIT1373_data "__desc"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1373,6,_OMC_LIT1373_data);
#define _OMC_LIT1373 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1373)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1374,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT1373}};
#define _OMC_LIT1374 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1374)
#define _OMC_LIT1375_data "mmc_mk_none()"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1375,13,_OMC_LIT1375_data);
#define _OMC_LIT1375 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1375)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1376,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT1375}};
#define _OMC_LIT1376 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1376)
#define _OMC_LIT1377_data "mmc_mk_some("
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1377,12,_OMC_LIT1377_data);
#define _OMC_LIT1377 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1377)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1378,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT1377}};
#define _OMC_LIT1378 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1378)
#define _OMC_LIT1379_data "struct {\n"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1379,9,_OMC_LIT1379_data);
#define _OMC_LIT1379 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1379)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1380,2,5) {&Tpl_StringToken_ST__LINE__desc,_OMC_LIT1379}};
#define _OMC_LIT1380 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1380)
#define _OMC_LIT1381_data " c"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1381,2,_OMC_LIT1381_data);
#define _OMC_LIT1381 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1381)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1382,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT1381}};
#define _OMC_LIT1382 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1382)
#define _OMC_LIT1383_data "mmc_mk_cons("
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1383,12,_OMC_LIT1383_data);
#define _OMC_LIT1383 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1383)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1384,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT1383}};
#define _OMC_LIT1384 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1384)
#define _OMC_LIT1385_data "MMC_REFSTRUCTLIT(mmc_nil)"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1385,25,_OMC_LIT1385_data);
#define _OMC_LIT1385 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1385)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1386,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT1385}};
#define _OMC_LIT1386 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1386)
#define _OMC_LIT1387_data "(modelica_string) mmc_emptystring"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1387,33,_OMC_LIT1387_data);
#define _OMC_LIT1387 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1387)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1388,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT1387}};
#define _OMC_LIT1388 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1388)
#define _OMC_LIT1389_data "(modelica_string) mmc_strings_len1["
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1389,35,_OMC_LIT1389_data);
#define _OMC_LIT1389 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1389)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1390,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT1389}};
#define _OMC_LIT1390 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1390)
#define _OMC_LIT1391_data "static const MMC_DEFSTRINGLIT("
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1391,30,_OMC_LIT1391_data);
#define _OMC_LIT1391 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1391)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1392,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT1391}};
#define _OMC_LIT1392 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1392)
#define _OMC_LIT1393_data "\");"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1393,3,_OMC_LIT1393_data);
#define _OMC_LIT1393 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1393)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1394,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT1393}};
#define _OMC_LIT1394 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1394)
#define _OMC_LIT1395_data "MMC_REFSTRINGLIT("
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1395,17,_OMC_LIT1395_data);
#define _OMC_LIT1395 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1395)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1396,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT1395}};
#define _OMC_LIT1396 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1396)
#define _OMC_LIT1397_data ") data_of_"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1397,10,_OMC_LIT1397_data);
#define _OMC_LIT1397 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1397)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1398,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT1397}};
#define _OMC_LIT1398 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1398)
#define _OMC_LIT1399_data "_array("
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1399,7,_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)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1401,3,4) {&SimCodeFunction_Context_FUNCTION__CONTEXT__desc,_OMC_LIT28,MMC_IMMEDIATE(MMC_TAGFIXNUM(0))}};
#define _OMC_LIT1401 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1401)
#define _OMC_LIT1402_data " = MMC_STRINGDATA("
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1402,18,_OMC_LIT1402_data);
#define _OMC_LIT1402 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1402)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1403,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT1402}};
#define _OMC_LIT1403 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1403)
#define _OMC_LIT1404_data "MMC_STRINGDATA("
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1404,15,_OMC_LIT1404_data);
#define _OMC_LIT1404 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1404)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1405,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT1404}};
#define _OMC_LIT1405 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1405)
#define _OMC_LIT1406_data "Not a simple literal expression: "
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1406,33,_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 "omsi_int"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1408,8,_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)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1410,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT253}};
#define _OMC_LIT1410 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1410)
#define _OMC_LIT1411_data "#error \""
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1411,8,_OMC_LIT1411_data);
#define _OMC_LIT1411 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1411)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1412,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT1411}};
#define _OMC_LIT1412 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1412)
#define _OMC_LIT1413_data "Unknown expression: "
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1413,20,_OMC_LIT1413_data);
#define _OMC_LIT1413 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1413)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1414,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT1413}};
#define _OMC_LIT1414 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1414)
#define _OMC_LIT1415_data "tmpMeta["
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1415,8,_OMC_LIT1415_data);
#define _OMC_LIT1415 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1415)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1416,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT1415}};
#define _OMC_LIT1416 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1416)
#define _OMC_LIT1417_data "_c"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1417,2,_OMC_LIT1417_data);
#define _OMC_LIT1417 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1417)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1418,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT1417}};
#define _OMC_LIT1418 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1418)
#define _OMC_LIT1419_data "metamodelica_string"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1419,19,_OMC_LIT1419_data);
#define _OMC_LIT1419 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1419)
#define _OMC_LIT1420_data "metamodelica_string_const"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1420,25,_OMC_LIT1420_data);
#define _OMC_LIT1420 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1420)
#define _OMC_LIT1421_data " __attribute__((unused)) = 0;"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1421,29,_OMC_LIT1421_data);
#define _OMC_LIT1421 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1421)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1422,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT1421}};
#define _OMC_LIT1422 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1422)
#define _OMC_LIT1423_data "volatile "
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1423,9,_OMC_LIT1423_data);
#define _OMC_LIT1423 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1423)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1424,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT1423}};
#define _OMC_LIT1424 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1424)
#define _OMC_LIT1425_data "tmpMeta"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1425,7,_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,5,_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 "gendebugsymbols"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1431,15,_OMC_LIT1431_data);
#define _OMC_LIT1431 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1431)
#define _OMC_LIT1432_data "Generate code with debugging symbols."
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1432,37,_OMC_LIT1432_data);
#define _OMC_LIT1432 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1432)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1433,2,3) {&Gettext_TranslatableContent_gettext__desc,_OMC_LIT1432}};
#define _OMC_LIT1433 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1433)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1434,5,3) {&Flags_DebugFlag_DEBUG__FLAG__desc,MMC_IMMEDIATE(MMC_TAGFIXNUM(69)),_OMC_LIT1431,MMC_IMMEDIATE(MMC_TAGFIXNUM(0)),_OMC_LIT1433}};
#define _OMC_LIT1434 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1434)
#define _OMC_LIT1435_data "/*#endModelicaLine*/"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1435,20,_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 "metaModelicaRecordAllocWords"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1437,28,_OMC_LIT1437_data);
#define _OMC_LIT1437 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1437)
#define _OMC_LIT1438_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_STRUCT1438,135,_OMC_LIT1438_data);
#define _OMC_LIT1438 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1438)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1439,2,3) {&Gettext_TranslatableContent_gettext__desc,_OMC_LIT1438}};
#define _OMC_LIT1439 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1439)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1440,5,3) {&Flags_DebugFlag_DEBUG__FLAG__desc,MMC_IMMEDIATE(MMC_TAGFIXNUM(145)),_OMC_LIT1437,MMC_IMMEDIATE(MMC_TAGFIXNUM(0)),_OMC_LIT1439}};
#define _OMC_LIT1440 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1440)
#define _OMC_LIT1441_data "/*#modelicaLine "
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1441,16,_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 "*/"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1443,2,_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 ".interface.mo"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1445,13,_OMC_LIT1445_data);
#define _OMC_LIT1445 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1445)
#define _OMC_LIT1446_data "mmc_set_current_pos(\""
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1446,21,_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 "modelica_metatype tmpMeta["
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1448,26,_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 "] __attribute__((unused)) = {0};"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1450,32,_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 "__"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1452,2,_OMC_LIT1452_data);
#define _OMC_LIT1452 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1452)
#define _OMC_LIT1453_data "ints"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1453,4,_OMC_LIT1453_data);
#define _OMC_LIT1453 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1453)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1454,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT1453}};
#define _OMC_LIT1454 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1454)
#define _OMC_LIT1455_data "reals"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1455,5,_OMC_LIT1455_data);
#define _OMC_LIT1455 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1455)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1456,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT1455}};
#define _OMC_LIT1456 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1456)
#define _OMC_LIT1457_data "strings"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1457,7,_OMC_LIT1457_data);
#define _OMC_LIT1457 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1457)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1458,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT1457}};
#define _OMC_LIT1458 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1458)
#define _OMC_LIT1459_data "bools"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1459,5,_OMC_LIT1459_data);
#define _OMC_LIT1459 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1459)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1460,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT1459}};
#define _OMC_LIT1460 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1460)
#define _OMC_LIT1461_data "complex"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1461,7,_OMC_LIT1461_data);
#define _OMC_LIT1461 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1461)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1462,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT1461}};
#define _OMC_LIT1462 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1462)
#define _OMC_LIT1463_data "crefTypeNameOMSIC: "
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1463,19,_OMC_LIT1463_data);
#define _OMC_LIT1463 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1463)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1464,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT1463}};
#define _OMC_LIT1464 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1464)
#define _OMC_LIT1465_data "CREF_NOT_FOUND"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1465,14,_OMC_LIT1465_data);
#define _OMC_LIT1465 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1465)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1466,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT1465}};
#define _OMC_LIT1466 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1466)
#define _OMC_LIT1467_data "data->localData[0]->timeValue"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1467,29,_OMC_LIT1467_data);
#define _OMC_LIT1467 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1467)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1468,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT1467}};
#define _OMC_LIT1468 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1468)
#define _OMC_LIT1469_data "jacobian->dae_cj"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1469,16,_OMC_LIT1469_data);
#define _OMC_LIT1469 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1469)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1470,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT1469}};
#define _OMC_LIT1470 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1470)
#define _OMC_LIT1471_data "time"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1471,4,_OMC_LIT1471_data);
#define _OMC_LIT1471 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1471)
#define _OMC_LIT1472_data "$DAE_CJ"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1472,7,_OMC_LIT1472_data);
#define _OMC_LIT1472 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1472)
#define _OMC_LIT1473_data "$PRE"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1473,4,_OMC_LIT1473_data);
#define _OMC_LIT1473 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1473)
#define _OMC_LIT1474_data "$START"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1474,6,_OMC_LIT1474_data);
#define _OMC_LIT1474 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1474)
#define _OMC_LIT1475_data "(data->simulationInfo->inlineData->algOldVars["
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1475,46,_OMC_LIT1475_data);
#define _OMC_LIT1475 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1475)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1476,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT1475}};
#define _OMC_LIT1476 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1476)
#define _OMC_LIT1477_data "!("
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1477,2,_OMC_LIT1477_data);
#define _OMC_LIT1477 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1477)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1478,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT1477}};
#define _OMC_LIT1478 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1478)
#define _OMC_LIT1479_data "-("
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1479,2,_OMC_LIT1479_data);
#define _OMC_LIT1479 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1479)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1480,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT1479}};
#define _OMC_LIT1480 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1480)
#define _OMC_LIT1481_data "(parentJacobian->resultVars["
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1481,28,_OMC_LIT1481_data);
#define _OMC_LIT1481 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1481)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1482,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT1481}};
#define _OMC_LIT1482 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1482)
#define _OMC_LIT1483_data "(parentJacobian->tmpVars["
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1483,25,_OMC_LIT1483_data);
#define _OMC_LIT1483 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1483)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1484,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT1483}};
#define _OMC_LIT1484 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1484)
#define _OMC_LIT1485_data "(parentJacobian->seedVars["
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1485,26,_OMC_LIT1485_data);
#define _OMC_LIT1485 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1485)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1486,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT1485}};
#define _OMC_LIT1486 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1486)
#define _OMC_LIT1487_data "(data->simulationInfo->daeModeData->residualVars["
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1487,49,_OMC_LIT1487_data);
#define _OMC_LIT1487 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1487)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1488,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT1487}};
#define _OMC_LIT1488 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1488)
#define _OMC_LIT1489_data "(data->simulationInfo->daeModeData->auxiliaryVars["
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1489,50,_OMC_LIT1489_data);
#define _OMC_LIT1489 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1489)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1490,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT1489}};
#define _OMC_LIT1490 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1490)
#define _OMC_LIT1491_data "crefToCStr got index=-1 for "
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1491,28,_OMC_LIT1491_data);
#define _OMC_LIT1491 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1491)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1492,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT1491}};
#define _OMC_LIT1492 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1492)
#define _OMC_LIT1493_data "Got $PRE for something that is already pre: "
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1493,44,_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 "xloc"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1495,4,_OMC_LIT1495_data);
#define _OMC_LIT1495 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1495)
#define _OMC_LIT1496_data "data->localData[0]->timeValueOld"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1496,32,_OMC_LIT1496_data);
#define _OMC_LIT1496 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1496)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1497,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT1496}};
#define _OMC_LIT1497 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1497)
#define _OMC_LIT1498_data "]->timeValue"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1498,12,_OMC_LIT1498_data);
#define _OMC_LIT1498 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1498)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1499,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT1498}};
#define _OMC_LIT1499 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1499)
#define _OMC_LIT1500_data "data->simulationInfo->lambda"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1500,28,_OMC_LIT1500_data);
#define _OMC_LIT1500 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1500)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1501,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT1500}};
#define _OMC_LIT1501 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1501)
#define _OMC_LIT1502_data "__OMC_DT"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1502,8,_OMC_LIT1502_data);
#define _OMC_LIT1502 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1502)
#define _OMC_LIT1503_data "__HOM_LAMBDA"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1503,12,_OMC_LIT1503_data);
#define _OMC_LIT1503 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1503)
#define _OMC_LIT1504_data "jacobian->resultVars["
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1504,21,_OMC_LIT1504_data);
#define _OMC_LIT1504 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1504)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1505,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT1504}};
#define _OMC_LIT1505 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1505)
#define _OMC_LIT1506_data "] /* "
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1506,5,_OMC_LIT1506_data);
#define _OMC_LIT1506 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1506)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1507,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT1506}};
#define _OMC_LIT1507 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1507)
#define _OMC_LIT1508_data "jacobian->tmpVars["
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1508,18,_OMC_LIT1508_data);
#define _OMC_LIT1508 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1508)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1509,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT1508}};
#define _OMC_LIT1509 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1509)
#define _OMC_LIT1510_data "jacobian->seedVars["
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1510,19,_OMC_LIT1510_data);
#define _OMC_LIT1510 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1510)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1511,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT1510}};
#define _OMC_LIT1511 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1511)
#define _OMC_LIT1512_data "_array_get(_"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1512,12,_OMC_LIT1512_data);
#define _OMC_LIT1512 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1512)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1513,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT1512}};
#define _OMC_LIT1513 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1513)
#define _OMC_LIT1514_data ")->"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1514,3,_OMC_LIT1514_data);
#define _OMC_LIT1514 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1514)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1515,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT1514}};
#define _OMC_LIT1515 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1515)
#define _OMC_LIT1516_data "crefNonSimVar got a cref it does not know how to handle "
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1516,56,_OMC_LIT1516_data);
#define _OMC_LIT1516 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1516)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1517,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT1516}};
#define _OMC_LIT1517 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1517)
#define _OMC_LIT1518_data "functionContextCref got a prefix cref with array type and no subs. "
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1518,67,_OMC_LIT1518_data);
#define _OMC_LIT1518 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1518)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1519,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT1518}};
#define _OMC_LIT1519 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1519)
#define _OMC_LIT1520_data "functionContextCref got a cref it does not know how to handle "
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1520,62,_OMC_LIT1520_data);
#define _OMC_LIT1520 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1520)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1521,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT1520}};
#define _OMC_LIT1521 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1521)
#define _OMC_LIT1522_data "if(!("
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1522,5,_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 "  omc_assert(threadData, info, \"Common assertion failed\");\n"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1524,59,_OMC_LIT1524_data);
#define _OMC_LIT1524 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1524)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1525,2,1) {_OMC_LIT1524,_OMC_LIT413}};
#define _OMC_LIT1525 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1525)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1526,2,1) {_OMC_LIT411,_OMC_LIT1525}};
#define _OMC_LIT1526 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1526)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1527,2,1) {_OMC_LIT153,_OMC_LIT1526}};
#define _OMC_LIT1527 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1527)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1528,2,1) {_OMC_LIT1248,_OMC_LIT1527}};
#define _OMC_LIT1528 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1528)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1529,3,6) {&Tpl_StringToken_ST__STRING__LIST__desc,_OMC_LIT1528,MMC_IMMEDIATE(MMC_TAGFIXNUM(0))}};
#define _OMC_LIT1529 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1529)
#define _OMC_LIT1530_data "FILE_INFO info = {"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1530,18,_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 "};\n"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1532,3,_OMC_LIT1532_data);
#define _OMC_LIT1532 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1532)
#define _OMC_LIT1533_data "omc_assert(threadData, info, "
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1533,29,_OMC_LIT1533_data);
#define _OMC_LIT1533 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1533)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1534,2,1) {_OMC_LIT1533,MMC_REFSTRUCTLIT(mmc_nil)}};
#define _OMC_LIT1534 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1534)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1535,2,1) {_OMC_LIT1532,_OMC_LIT1534}};
#define _OMC_LIT1535 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1535)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1536,3,6) {&Tpl_StringToken_ST__STRING__LIST__desc,_OMC_LIT1535,MMC_IMMEDIATE(MMC_TAGFIXNUM(0))}};
#define _OMC_LIT1536 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1536)
#define _OMC_LIT1537_data "  /* TODO: Add assert */\n"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1537,25,_OMC_LIT1537_data);
#define _OMC_LIT1537 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1537)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1538,2,1) {_OMC_LIT1537,_OMC_LIT413}};
#define _OMC_LIT1538 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1538)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1539,2,1) {_OMC_LIT153,_OMC_LIT1538}};
#define _OMC_LIT1539 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1539)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1540,2,1) {_OMC_LIT1248,_OMC_LIT1539}};
#define _OMC_LIT1540 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1540)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1541,3,6) {&Tpl_StringToken_ST__STRING__LIST__desc,_OMC_LIT1540,MMC_IMMEDIATE(MMC_TAGFIXNUM(0))}};
#define _OMC_LIT1541 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1541)
#define _OMC_LIT1542_data "  if (data->simulationInfo->noThrowAsserts) {\n"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1542,46,_OMC_LIT1542_data);
#define _OMC_LIT1542 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1542)
#define _OMC_LIT1543_data "    infoStreamPrintWithEquationIndexes(LOG_ASSERT, 0, equationIndexes, \"The following assertion has been violated %sat time %f\", initial() ? \"during initialization \" : \"\", data->localData[0]->timeValue);\n"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1543,204,_OMC_LIT1543_data);
#define _OMC_LIT1543 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1543)
#define _OMC_LIT1544_data "    data->simulationInfo->needToReThrow = 1;\n"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1544,45,_OMC_LIT1544_data);
#define _OMC_LIT1544 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1544)
#define _OMC_LIT1545_data "  } else {\n"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1545,11,_OMC_LIT1545_data);
#define _OMC_LIT1545 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1545)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1546,2,1) {_OMC_LIT1545,MMC_REFSTRUCTLIT(mmc_nil)}};
#define _OMC_LIT1546 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1546)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1547,2,1) {_OMC_LIT1544,_OMC_LIT1546}};
#define _OMC_LIT1547 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1547)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1548,2,1) {_OMC_LIT1543,_OMC_LIT1547}};
#define _OMC_LIT1548 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1548)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1549,2,1) {_OMC_LIT1542,_OMC_LIT1548}};
#define _OMC_LIT1549 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1549)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1550,2,1) {_OMC_LIT153,_OMC_LIT1549}};
#define _OMC_LIT1550 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1550)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1551,2,1) {_OMC_LIT1248,_OMC_LIT1550}};
#define _OMC_LIT1551 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1551)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1552,3,6) {&Tpl_StringToken_ST__STRING__LIST__desc,_OMC_LIT1551,MMC_IMMEDIATE(MMC_TAGFIXNUM(1))}};
#define _OMC_LIT1552 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1552)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1553,2,4) {&Tpl_BlockType_BT__INDENT__desc,MMC_IMMEDIATE(MMC_TAGFIXNUM(4))}};
#define _OMC_LIT1553 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1553)
#define _OMC_LIT1554_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_STRUCT1554,158,_OMC_LIT1554_data);
#define _OMC_LIT1554 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1554)
#define _OMC_LIT1555_data "throwStreamPrintWithEquationIndexes(threadData, equationIndexes, "
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1555,65,_OMC_LIT1555_data);
#define _OMC_LIT1555 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1555)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1556,2,1) {_OMC_LIT1555,MMC_REFSTRUCTLIT(mmc_nil)}};
#define _OMC_LIT1556 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1556)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1557,2,1) {_OMC_LIT1554,_OMC_LIT1556}};
#define _OMC_LIT1557 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1557)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1558,2,1) {_OMC_LIT1532,_OMC_LIT1557}};
#define _OMC_LIT1558 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1558)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1559,3,6) {&Tpl_StringToken_ST__STRING__LIST__desc,_OMC_LIT1558,MMC_IMMEDIATE(MMC_TAGFIXNUM(0))}};
#define _OMC_LIT1559 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1559)
#define _OMC_LIT1560_data "  }\n"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1560,4,_OMC_LIT1560_data);
#define _OMC_LIT1560 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1560)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1561,2,1) {_OMC_LIT1560,_OMC_LIT413}};
#define _OMC_LIT1561 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1561)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1562,3,6) {&Tpl_StringToken_ST__STRING__LIST__desc,_OMC_LIT1561,MMC_IMMEDIATE(MMC_TAGFIXNUM(0))}};
#define _OMC_LIT1562 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1562)
#define _OMC_LIT1563_data "\"The following assertion has been violated %sat time %f\\n"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1563,57,_OMC_LIT1563_data);
#define _OMC_LIT1563 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1563)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1564,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT1563}};
#define _OMC_LIT1564 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1564)
#define _OMC_LIT1565_data "\", initial() ? \"during initialization \" : \"\", data->localData[0]->timeValue"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1565,75,_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_LIT1565}};
#define _OMC_LIT1566 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1566)
#define _OMC_LIT1567_data "static int"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1567,10,_OMC_LIT1567_data);
#define _OMC_LIT1567 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1567)
#define _OMC_LIT1568_data "if(!"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1568,4,_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)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1570,2,5) {&Tpl_StringToken_ST__LINE__desc,_OMC_LIT1532}};
#define _OMC_LIT1570 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1570)
#define _OMC_LIT1571_data "info, "
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1571,6,_OMC_LIT1571_data);
#define _OMC_LIT1571 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1571)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1572,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT1571}};
#define _OMC_LIT1572 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1572)
#define _OMC_LIT1573_data "if (data->simulationInfo->noThrowAsserts) {\n"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1573,44,_OMC_LIT1573_data);
#define _OMC_LIT1573 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1573)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1574,2,5) {&Tpl_StringToken_ST__LINE__desc,_OMC_LIT1573}};
#define _OMC_LIT1574 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1574)
#define _OMC_LIT1575_data "infoStreamPrintWithEquationIndexes(LOG_ASSERT, 0, equationIndexes, "
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1575,67,_OMC_LIT1575_data);
#define _OMC_LIT1575 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1575)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1576,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT1575}};
#define _OMC_LIT1576 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1576)
#define _OMC_LIT1577_data "infoStreamPrint(LOG_ASSERT, 0, \"%s\", "
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1577,37,_OMC_LIT1577_data);
#define _OMC_LIT1577 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1577)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1578,2,1) {_OMC_LIT1577,MMC_REFSTRUCTLIT(mmc_nil)}};
#define _OMC_LIT1578 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1578)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1579,2,1) {_OMC_LIT385,_OMC_LIT1578}};
#define _OMC_LIT1579 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1579)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1580,3,6) {&Tpl_StringToken_ST__STRING__LIST__desc,_OMC_LIT1579,MMC_IMMEDIATE(MMC_TAGFIXNUM(0))}};
#define _OMC_LIT1580 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1580)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1581,2,5) {&Tpl_StringToken_ST__LINE__desc,_OMC_LIT276}};
#define _OMC_LIT1581 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1581)
#define _OMC_LIT1582_data "omc_assert_warning(info, "
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1582,25,_OMC_LIT1582_data);
#define _OMC_LIT1582 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1582)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1583,2,1) {_OMC_LIT1582,MMC_REFSTRUCTLIT(mmc_nil)}};
#define _OMC_LIT1583 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1583)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1584,2,1) {_OMC_LIT1532,_OMC_LIT1583}};
#define _OMC_LIT1584 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1584)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1585,3,6) {&Tpl_StringToken_ST__STRING__LIST__desc,_OMC_LIT1584,MMC_IMMEDIATE(MMC_TAGFIXNUM(0))}};
#define _OMC_LIT1585 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1585)
#define _OMC_LIT1586_data "info, equationIndexes, "
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1586,23,_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 "data->simulationInfo->needToReThrow = 1;"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1588,40,_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 "omc_assert_warning"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1590,18,_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 "omc_assert"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1592,10,_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 "(threadData, "
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1594,13,_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 "_withEquationIndexes"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1596,20,_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 "\","
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1598,2,_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 "if (optionNone("
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1600,15,_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 ")) "
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1602,3,_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 "), 1));\n"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1604,8,_OMC_LIT1604_data);
#define _OMC_LIT1604 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1604)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1605,2,5) {&Tpl_StringToken_ST__LINE__desc,_OMC_LIT1604}};
#define _OMC_LIT1605 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1605)
#define _OMC_LIT1606_data "if (listEmpty("
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1606,14,_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)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1608,9,3) {&Tpl_IterOptions_ITER__OPTIONS__desc,MMC_IMMEDIATE(MMC_TAGFIXNUM(2)),_OMC_LIT101,MMC_REFSTRUCTLIT(mmc_none),MMC_IMMEDIATE(MMC_TAGFIXNUM(0)),MMC_IMMEDIATE(MMC_TAGFIXNUM(0)),_OMC_LIT98,MMC_IMMEDIATE(MMC_TAGFIXNUM(0)),_OMC_LIT98}};
#define _OMC_LIT1608 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1608)
#define _OMC_LIT1609_data "  /* pattern as ty="
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1609,19,_OMC_LIT1609_data);
#define _OMC_LIT1609 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1609)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1610,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT1609}};
#define _OMC_LIT1610 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1610)
#define _OMC_LIT1611_data " */;"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1611,4,_OMC_LIT1611_data);
#define _OMC_LIT1611 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1611)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1612,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT1611}};
#define _OMC_LIT1612 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1612)
#define _OMC_LIT1613_data "UNKNOWN_PATTERN /* rhs: "
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1613,24,_OMC_LIT1613_data);
#define _OMC_LIT1613 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1613)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1614,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT1613}};
#define _OMC_LIT1614 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1614)
#define _OMC_LIT1615_data "if (mmc__uniontype__metarecord__typedef__equal("
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1615,47,_OMC_LIT1615_data);
#define _OMC_LIT1615 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1615)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1616,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT1615}};
#define _OMC_LIT1616 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1616)
#define _OMC_LIT1617_data ") == 0) "
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1617,8,_OMC_LIT1617_data);
#define _OMC_LIT1617 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1617)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1618,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT1617}};
#define _OMC_LIT1618 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1618)
#define _OMC_LIT1619_data " != MMC_STRLEN("
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1619,15,_OMC_LIT1619_data);
#define _OMC_LIT1619 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1619)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1620,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT1619}};
#define _OMC_LIT1620 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1620)
#define _OMC_LIT1621_data ") || strcmp(\""
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1621,13,_OMC_LIT1621_data);
#define _OMC_LIT1621 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1621)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1622,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT1621}};
#define _OMC_LIT1622 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1622)
#define _OMC_LIT1623_data "\", MMC_STRINGDATA("
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1623,18,_OMC_LIT1623_data);
#define _OMC_LIT1623 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1623)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1624,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT1623}};
#define _OMC_LIT1624 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1624)
#define _OMC_LIT1625_data ")) != 0) "
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1625,9,_OMC_LIT1625_data);
#define _OMC_LIT1625 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1625)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1626,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT1625}};
#define _OMC_LIT1626 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1626)
#define _OMC_LIT1627_data ") || strcmp(MMC_STRINGDATA(_OMC_LIT"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1627,35,_OMC_LIT1627_data);
#define _OMC_LIT1627 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1627)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1628,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT1627}};
#define _OMC_LIT1628 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1628)
#define _OMC_LIT1629_data "), MMC_STRINGDATA("
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1629,18,_OMC_LIT1629_data);
#define _OMC_LIT1629 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1629)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1630,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT1629}};
#define _OMC_LIT1630 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1630)
#define _OMC_LIT1631_data "if (!optionNone("
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1631,16,_OMC_LIT1631_data);
#define _OMC_LIT1631 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1631)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1632,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT1631}};
#define _OMC_LIT1632 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1632)
#define _OMC_LIT1633_data "if (!valueEq(_OMC_LIT"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1633,21,_OMC_LIT1633_data);
#define _OMC_LIT1633 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1633)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1634,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT1633}};
#define _OMC_LIT1634 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1634)
#define _OMC_LIT1635_data "UNKNOWN_CONSTANT_PATTERN "
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1635,25,_OMC_LIT1635_data);
#define _OMC_LIT1635 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1635)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1636,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT1635}};
#define _OMC_LIT1636 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1636)
#define _OMC_LIT1637_data "Improve simplifcation, got pattern assignment _ = "
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1637,50,_OMC_LIT1637_data);
#define _OMC_LIT1637 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1637)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1638,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT1637}};
#define _OMC_LIT1638 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1638)
#define _OMC_LIT1639_data ", expected NORETCALL"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1639,20,_OMC_LIT1639_data);
#define _OMC_LIT1639 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1639)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1640,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT1639}};
#define _OMC_LIT1640 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1640)
#define _OMC_LIT1641_data "/* Pattern-matching assignment */\n"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1641,34,_OMC_LIT1641_data);
#define _OMC_LIT1641 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1641)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1642,2,5) {&Tpl_StringToken_ST__LINE__desc,_OMC_LIT1641}};
#define _OMC_LIT1642 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1642)
#define _OMC_LIT1643_data "/* Pattern-matching tuple assignment, wild first pattern */"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1643,59,_OMC_LIT1643_data);
#define _OMC_LIT1643 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1643)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1644,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT1643}};
#define _OMC_LIT1644 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1644)
#define _OMC_LIT1645_data "/* Pattern-matching tuple assignment */\n"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1645,40,_OMC_LIT1645_data);
#define _OMC_LIT1645 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1645)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1646,2,5) {&Tpl_StringToken_ST__LINE__desc,_OMC_LIT1645}};
#define _OMC_LIT1646 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1646)
#define _OMC_LIT1647_data "2"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1647,1,_OMC_LIT1647_data);
#define _OMC_LIT1647 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1647)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1648,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT1647}};
#define _OMC_LIT1648 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1648)
#define _OMC_LIT1649_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_STRUCT1649,148,_OMC_LIT1649_data);
#define _OMC_LIT1649 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1649)
#define _OMC_LIT1650_data "dimension: INVALID_DIMENSION"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1650,28,_OMC_LIT1650_data);
#define _OMC_LIT1650 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1650)
#define _OMC_LIT1651_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_STRUCT1651,169,_OMC_LIT1651_data);
#define _OMC_LIT1651 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1651)
#define _OMC_LIT1652_data "expTypeFromOpFlag:ERROR"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1652,23,_OMC_LIT1652_data);
#define _OMC_LIT1652 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1652)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1653,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT577}};
#define _OMC_LIT1653 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1653)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1654,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT80}};
#define _OMC_LIT1654 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1654)
#define _OMC_LIT1655_data "expTypeFromExpFlag(flag="
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1655,24,_OMC_LIT1655_data);
#define _OMC_LIT1655 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1655)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1656,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT1655}};
#define _OMC_LIT1656 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1656)
#define _OMC_LIT1657_data "):"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1657,2,_OMC_LIT1657_data);
#define _OMC_LIT1657 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1657)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1658,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT1657}};
#define _OMC_LIT1658 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1658)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1659,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT471}};
#define _OMC_LIT1659 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1659)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1660,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT148}};
#define _OMC_LIT1660 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1660)
#define _OMC_LIT1661_data "string"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1661,6,_OMC_LIT1661_data);
#define _OMC_LIT1661 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1661)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1662,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT1661}};
#define _OMC_LIT1662 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1662)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1663,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT814}};
#define _OMC_LIT1663 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1663)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1664,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT622}};
#define _OMC_LIT1664 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1664)
#define _OMC_LIT1665_data "double"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1665,6,_OMC_LIT1665_data);
#define _OMC_LIT1665 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1665)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1666,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT1665}};
#define _OMC_LIT1666 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1666)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1667,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT939}};
#define _OMC_LIT1667 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1667)
#define _OMC_LIT1668_data "I do not know the external type of "
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1668,35,_OMC_LIT1668_data);
#define _OMC_LIT1668 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1668)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1669,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT1668}};
#define _OMC_LIT1669 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1669)
#define _OMC_LIT1670_data "modelica_"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1670,9,_OMC_LIT1670_data);
#define _OMC_LIT1670 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1670)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1671,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT1670}};
#define _OMC_LIT1671 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1671)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1672,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT285}};
#define _OMC_LIT1672 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1672)
#define _OMC_LIT1673_data "fnptr"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1673,5,_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 "mmcTypeShort:ERROR "
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1675,19,_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 "expTypeShort: "
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1677,14,_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 "real /* assuming real for unknown type! */"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1679,42,_OMC_LIT1679_data);
#define _OMC_LIT1679 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1679)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1680,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT1679}};
#define _OMC_LIT1680 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1680)
#define _OMC_LIT1681_data "complex /* assuming void* for unknown type! when -g=MetaModelica */ "
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1681,68,_OMC_LIT1681_data);
#define _OMC_LIT1681 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1681)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1682,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT1681}};
#define _OMC_LIT1682 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1682)
#define _OMC_LIT1683_data "TYPE_DESC_INT"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1683,13,_OMC_LIT1683_data);
#define _OMC_LIT1683 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1683)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1684,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT1683}};
#define _OMC_LIT1684 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1684)
#define _OMC_LIT1685_data "TYPE_DESC_REAL"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1685,14,_OMC_LIT1685_data);
#define _OMC_LIT1685 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1685)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1686,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT1685}};
#define _OMC_LIT1686 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1686)
#define _OMC_LIT1687_data "TYPE_DESC_STRING"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1687,16,_OMC_LIT1687_data);
#define _OMC_LIT1687 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1687)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1688,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT1687}};
#define _OMC_LIT1688 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1688)
#define _OMC_LIT1689_data "TYPE_DESC_BOOL"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1689,14,_OMC_LIT1689_data);
#define _OMC_LIT1689 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1689)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1690,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT1689}};
#define _OMC_LIT1690 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1690)
#define _OMC_LIT1691_data "_ARRAY"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1691,6,_OMC_LIT1691_data);
#define _OMC_LIT1691 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1691)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1692,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT1691}};
#define _OMC_LIT1692 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1692)
#define _OMC_LIT1693_data "TYPE_DESC_RECORD"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1693,16,_OMC_LIT1693_data);
#define _OMC_LIT1693 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1693)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1694,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT1693}};
#define _OMC_LIT1694 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1694)
#define _OMC_LIT1695_data "TYPE_DESC_MMC"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1695,13,_OMC_LIT1695_data);
#define _OMC_LIT1695 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1695)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1696,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT1695}};
#define _OMC_LIT1696 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1696)
#define _OMC_LIT1697_data "/* "
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1697,3,_OMC_LIT1697_data);
#define _OMC_LIT1697 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1697)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1698,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT1697}};
#define _OMC_LIT1698 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1698)
#define _OMC_LIT1699_data "this_function->local_vars->"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1699,27,_OMC_LIT1699_data);
#define _OMC_LIT1699 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1699)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1700,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT1699}};
#define _OMC_LIT1700 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1700)
#define _OMC_LIT1701_data "] "
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1701,2,_OMC_LIT1701_data);
#define _OMC_LIT1701 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1701)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1702,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT1701}};
#define _OMC_LIT1702 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1702)
#define _OMC_LIT1703_data "model_vars_and_params->"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1703,23,_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 " /* TODO: Check why pre variable  "
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1705,34,_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 " is not in local hash table! */"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1707,31,_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 "this_function->function_vars->time_value"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1709,40,_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 "ERROR in crefOMSI: No valid SimCodeFunction.Context"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1711,51,_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 "modelica_fnptr"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1713,14,_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 "device_"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1715,7,_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 "device_local_"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1717,13,_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 "literalExpConstArrayVal failed: "
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1719,32,_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 "_OMC_LIT_STRUCT"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1721,15,_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 "static const MMC_DEFREALLIT("
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1723,28,_OMC_LIT1723_data);
#define _OMC_LIT1723 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1723)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1724,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT1723}};
#define _OMC_LIT1724 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1724)
#define _OMC_LIT1725_data "#define "
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1725,8,_OMC_LIT1725_data);
#define _OMC_LIT1725 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1725)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1726,2,1) {_OMC_LIT1725,MMC_REFSTRUCTLIT(mmc_nil)}};
#define _OMC_LIT1726 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1726)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1727,2,1) {_OMC_LIT385,_OMC_LIT1726}};
#define _OMC_LIT1727 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1727)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1728,3,6) {&Tpl_StringToken_ST__STRING__LIST__desc,_OMC_LIT1727,MMC_IMMEDIATE(MMC_TAGFIXNUM(0))}};
#define _OMC_LIT1728 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1728)
#define _OMC_LIT1729_data " MMC_REFREALLIT("
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1729,16,_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)
#define _OMC_LIT1731_data "MMC_IMMEDIATE(MMC_TAGFIXNUM("
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1731,28,_OMC_LIT1731_data);
#define _OMC_LIT1731 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1731)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1732,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT1731}};
#define _OMC_LIT1732 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1732)
#define _OMC_LIT1733_data "MMC_REFSTRUCTLIT(mmc_none)"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1733,26,_OMC_LIT1733_data);
#define _OMC_LIT1733 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1733)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1734,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT1733}};
#define _OMC_LIT1734 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1734)
#define _OMC_LIT1735_data "literalExpConstBoxedVal failed: "
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1735,32,_OMC_LIT1735_data);
#define _OMC_LIT1735 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1735)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1736,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT1735}};
#define _OMC_LIT1736 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1736)
#define _OMC_LIT1737_data "static modelica_metatype const "
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1737,31,_OMC_LIT1737_data);
#define _OMC_LIT1737 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1737)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1738,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT1737}};
#define _OMC_LIT1738 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1738)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1739,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT1725}};
#define _OMC_LIT1739 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1739)
#define _OMC_LIT1740_data "_data \""
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1740,7,_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 "\"\n"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1742,2,_OMC_LIT1742_data);
#define _OMC_LIT1742 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1742)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1743,2,1) {_OMC_LIT1391,MMC_REFSTRUCTLIT(mmc_nil)}};
#define _OMC_LIT1743 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1743)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1744,2,1) {_OMC_LIT1742,_OMC_LIT1743}};
#define _OMC_LIT1744 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1744)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1745,3,6) {&Tpl_StringToken_ST__STRING__LIST__desc,_OMC_LIT1744,MMC_IMMEDIATE(MMC_TAGFIXNUM(0))}};
#define _OMC_LIT1745 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1745)
#define _OMC_LIT1746_data "_data);\n"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1746,8,_OMC_LIT1746_data);
#define _OMC_LIT1746 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1746)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1747,2,1) {_OMC_LIT1746,_OMC_LIT1726}};
#define _OMC_LIT1747 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1747)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1748,3,6) {&Tpl_StringToken_ST__STRING__LIST__desc,_OMC_LIT1747,MMC_IMMEDIATE(MMC_TAGFIXNUM(0))}};
#define _OMC_LIT1748 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1748)
#define _OMC_LIT1749_data " MMC_REFSTRINGLIT("
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1749,18,_OMC_LIT1749_data);
#define _OMC_LIT1749 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1749)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1750,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT1749}};
#define _OMC_LIT1750 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1750)
#define _OMC_LIT1751_data "static _index_t "
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1751,16,_OMC_LIT1751_data);
#define _OMC_LIT1751 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1751)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1752,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT1751}};
#define _OMC_LIT1752 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1752)
#define _OMC_LIT1753_data "_dims["
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1753,6,_OMC_LIT1753_data);
#define _OMC_LIT1753 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1753)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1754,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT1753}};
#define _OMC_LIT1754 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1754)
#define _OMC_LIT1755_data " = MMC_IMMEDIATE(MMC_TAGFIXNUM("
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1755,31,_OMC_LIT1755_data);
#define _OMC_LIT1755 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1755)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1756,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT1755}};
#define _OMC_LIT1756 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1756)
#define _OMC_LIT1757_data "_car"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1757,4,_OMC_LIT1757_data);
#define _OMC_LIT1757 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1757)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1758,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT1757}};
#define _OMC_LIT1758 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1758)
#define _OMC_LIT1759_data "_cdr"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1759,4,_OMC_LIT1759_data);
#define _OMC_LIT1759 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1759)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1760,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT1759}};
#define _OMC_LIT1760 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1760)
#define _OMC_LIT1761_data "static const MMC_DEFSTRUCTLIT("
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1761,30,_OMC_LIT1761_data);
#define _OMC_LIT1761 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1761)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1762,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT1761}};
#define _OMC_LIT1762 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1762)
#define _OMC_LIT1763_data ",2,1) {"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1763,7,_OMC_LIT1763_data);
#define _OMC_LIT1763 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1763)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1764,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT1763}};
#define _OMC_LIT1764 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1764)
#define _OMC_LIT1765_data "}};\n"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1765,4,_OMC_LIT1765_data);
#define _OMC_LIT1765 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1765)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1766,2,1) {_OMC_LIT1765,_OMC_LIT1726}};
#define _OMC_LIT1766 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1766)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1767,3,6) {&Tpl_StringToken_ST__STRING__LIST__desc,_OMC_LIT1766,MMC_IMMEDIATE(MMC_TAGFIXNUM(0))}};
#define _OMC_LIT1767 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1767)
#define _OMC_LIT1768_data " MMC_REFSTRUCTLIT("
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1768,18,_OMC_LIT1768_data);
#define _OMC_LIT1768 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1768)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1769,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT1768}};
#define _OMC_LIT1769 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1769)
#define _OMC_LIT1770_data "_cons_"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1770,6,_OMC_LIT1770_data);
#define _OMC_LIT1770 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1770)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1771,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT1770}};
#define _OMC_LIT1771 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1771)
#define _OMC_LIT1772_data "static const "
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1772,13,_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 " {"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1774,2,_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)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1776,1,1) {_OMC_LIT234}};
#define _OMC_LIT1776 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1776)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1777,9,3) {&Tpl_IterOptions_ITER__OPTIONS__desc,MMC_IMMEDIATE(MMC_TAGFIXNUM(0)),MMC_REFSTRUCTLIT(mmc_none),_OMC_LIT1776,MMC_IMMEDIATE(MMC_TAGFIXNUM(0)),MMC_IMMEDIATE(MMC_TAGFIXNUM(0)),_OMC_LIT98,MMC_IMMEDIATE(MMC_TAGFIXNUM(0)),_OMC_LIT98}};
#define _OMC_LIT1777 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1777)
#define _OMC_LIT1778_data "_1"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1778,2,_OMC_LIT1778_data);
#define _OMC_LIT1778 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1778)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1779,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT1778}};
#define _OMC_LIT1779 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1779)
#define _OMC_LIT1780_data ",1,1) {"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1780,7,_OMC_LIT1780_data);
#define _OMC_LIT1780 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1780)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1781,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT1780}};
#define _OMC_LIT1781 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1781)
#define _OMC_LIT1782_data ") {&"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1782,4,_OMC_LIT1782_data);
#define _OMC_LIT1782 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1782)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1783,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT1782}};
#define _OMC_LIT1783 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1783)
#define _OMC_LIT1784_data "__desc,"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1784,7,_OMC_LIT1784_data);
#define _OMC_LIT1784 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1784)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1785,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT1784}};
#define _OMC_LIT1785 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1785)
#define _OMC_LIT1786_data "literalExpConst failed: "
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1786,24,_OMC_LIT1786_data);
#define _OMC_LIT1786 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1786)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1787,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT1786}};
#define _OMC_LIT1787 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1787)
#define _OMC_LIT1788_data "listArrayLiteral"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1788,16,_OMC_LIT1788_data);
#define _OMC_LIT1788 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1788)
#define _OMC_LIT1789_data ",MMC_ARRAY_TAG) {"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1789,17,_OMC_LIT1789_data);
#define _OMC_LIT1789 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1789)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1790,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT1789}};
#define _OMC_LIT1790 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1790)
#define _OMC_LIT1791_data "literalExpConst failed; listArrayLiteral requires a list or cons-cells: "
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1791,72,_OMC_LIT1791_data);
#define _OMC_LIT1791 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1791)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1792,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT1791}};
#define _OMC_LIT1792 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1792)
#define _OMC_LIT1793_data "MMC_DEFSTRUCTLIT("
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1793,17,_OMC_LIT1793_data);
#define _OMC_LIT1793 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1793)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1794,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT1793}};
#define _OMC_LIT1794 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1794)
#define _OMC_LIT1795_data ",0)"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1795,3,_OMC_LIT1795_data);
#define _OMC_LIT1795 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1795)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1796,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT1795}};
#define _OMC_LIT1796 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1796)
#define _OMC_LIT1797_data "MMC_DEFSTRUCT0LIT("
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1797,18,_OMC_LIT1797_data);
#define _OMC_LIT1797 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1797)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1798,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT1797}};
#define _OMC_LIT1798 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1798)
#define _OMC_LIT1799_data "_elt_"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1799,5,_OMC_LIT1799_data);
#define _OMC_LIT1799 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1799)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1800,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT1799}};
#define _OMC_LIT1800 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1800)
#define _OMC_LIT1801_data ",MMC_REFSTRUCTLIT("
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1801,18,_OMC_LIT1801_data);
#define _OMC_LIT1801 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1801)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1802,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT1801}};
#define _OMC_LIT1802 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1802)
#define _OMC_LIT1803_data ")}};"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1803,4,_OMC_LIT1803_data);
#define _OMC_LIT1803 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1803)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1804,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT1803}};
#define _OMC_LIT1804 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1804)
#define _OMC_LIT1805_data "mmc_nil"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1805,7,_OMC_LIT1805_data);
#define _OMC_LIT1805 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1805)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1806,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT1805}};
#define _OMC_LIT1806 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1806)
#define _OMC_LIT1807_data "static base_array_t const "
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1807,26,_OMC_LIT1807_data);
#define _OMC_LIT1807 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1807)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1808,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT1807}};
#define _OMC_LIT1808 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1808)
#define _OMC_LIT1809_data " = {\n"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1809,5,_OMC_LIT1809_data);
#define _OMC_LIT1809 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1809)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1810,2,5) {&Tpl_StringToken_ST__LINE__desc,_OMC_LIT1809}};
#define _OMC_LIT1810 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1810)
#define _OMC_LIT1811_data "_dims, (void*) 0, (modelica_boolean) 0\n"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1811,39,_OMC_LIT1811_data);
#define _OMC_LIT1811 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1811)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1812,2,5) {&Tpl_StringToken_ST__LINE__desc,_OMC_LIT1811}};
#define _OMC_LIT1812 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1812)
#define _OMC_LIT1813_data "static const modelica_"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1813,22,_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 "_data[] = {"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1815,11,_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)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1817,2,1) {_OMC_LIT981,MMC_REFSTRUCTLIT(mmc_nil)}};
#define _OMC_LIT1817 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1817)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1818,2,1) {_OMC_LIT1532,_OMC_LIT1817}};
#define _OMC_LIT1818 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1818)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1819,3,6) {&Tpl_StringToken_ST__STRING__LIST__desc,_OMC_LIT1818,MMC_IMMEDIATE(MMC_TAGFIXNUM(0))}};
#define _OMC_LIT1819 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1819)
#define _OMC_LIT1820_data "_array const "
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1820,13,_OMC_LIT1820_data);
#define _OMC_LIT1820 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1820)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1821,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT1820}};
#define _OMC_LIT1821 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1821)
#define _OMC_LIT1822_data "_dims, (void*) "
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1822,15,_OMC_LIT1822_data);
#define _OMC_LIT1822 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1822)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1823,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT1822}};
#define _OMC_LIT1823 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1823)
#define _OMC_LIT1824_data "_data, (modelica_boolean) 0\n"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1824,28,_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 "/* Additional record code for "
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1826,30,_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 " generated by the OpenModelica Compiler "
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1828,40,_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 ". */\n"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1830,5,_OMC_LIT1830_data);
#define _OMC_LIT1830 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1830)
#define _OMC_LIT1831_data "#include \"omc_simulation_settings.h\"\n"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1831,37,_OMC_LIT1831_data);
#define _OMC_LIT1831 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1831)
#define _OMC_LIT1832_data "#include \"meta/meta_modelica.h\"\n"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1832,32,_OMC_LIT1832_data);
#define _OMC_LIT1832 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1832)
#define _OMC_LIT1833_data "#include \""
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1833,10,_OMC_LIT1833_data);
#define _OMC_LIT1833 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1833)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1834,2,1) {_OMC_LIT1833,MMC_REFSTRUCTLIT(mmc_nil)}};
#define _OMC_LIT1834 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1834)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1835,2,1) {_OMC_LIT1832,_OMC_LIT1834}};
#define _OMC_LIT1835 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1835)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1836,2,1) {_OMC_LIT1831,_OMC_LIT1835}};
#define _OMC_LIT1836 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1836)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1837,2,1) {_OMC_LIT1199,_OMC_LIT1836}};
#define _OMC_LIT1837 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1837)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1838,2,1) {_OMC_LIT1830,_OMC_LIT1837}};
#define _OMC_LIT1838 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1838)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1839,3,6) {&Tpl_StringToken_ST__STRING__LIST__desc,_OMC_LIT1838,MMC_IMMEDIATE(MMC_TAGFIXNUM(0))}};
#define _OMC_LIT1839 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1839)
#define _OMC_LIT1840_data "#ifdef __cplusplus\n"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1840,19,_OMC_LIT1840_data);
#define _OMC_LIT1840 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1840)
#define _OMC_LIT1841_data "extern \"C\" {\n"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1841,13,_OMC_LIT1841_data);
#define _OMC_LIT1841 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1841)
#define _OMC_LIT1842_data "#endif\n"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1842,7,_OMC_LIT1842_data);
#define _OMC_LIT1842 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1842)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1843,2,1) {_OMC_LIT1199,MMC_REFSTRUCTLIT(mmc_nil)}};
#define _OMC_LIT1843 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1843)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1844,2,1) {_OMC_LIT1842,_OMC_LIT1843}};
#define _OMC_LIT1844 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1844)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1845,2,1) {_OMC_LIT1841,_OMC_LIT1844}};
#define _OMC_LIT1845 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1845)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1846,2,1) {_OMC_LIT1840,_OMC_LIT1845}};
#define _OMC_LIT1846 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1846)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1847,2,1) {_OMC_LIT1199,_OMC_LIT1846}};
#define _OMC_LIT1847 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1847)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1848,2,1) {_OMC_LIT1742,_OMC_LIT1847}};
#define _OMC_LIT1848 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1848)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1849,3,6) {&Tpl_StringToken_ST__STRING__LIST__desc,_OMC_LIT1848,MMC_IMMEDIATE(MMC_TAGFIXNUM(1))}};
#define _OMC_LIT1849 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1849)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1850,2,1) {_OMC_LIT1199,_OMC_LIT1843}};
#define _OMC_LIT1850 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1850)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1851,3,6) {&Tpl_StringToken_ST__STRING__LIST__desc,_OMC_LIT1850,MMC_IMMEDIATE(MMC_TAGFIXNUM(1))}};
#define _OMC_LIT1851 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1851)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1852,1,1) {_OMC_LIT1851}};
#define _OMC_LIT1852 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1852)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1853,9,3) {&Tpl_IterOptions_ITER__OPTIONS__desc,MMC_IMMEDIATE(MMC_TAGFIXNUM(0)),MMC_REFSTRUCTLIT(mmc_none),_OMC_LIT1852,MMC_IMMEDIATE(MMC_TAGFIXNUM(0)),MMC_IMMEDIATE(MMC_TAGFIXNUM(0)),_OMC_LIT98,MMC_IMMEDIATE(MMC_TAGFIXNUM(0)),_OMC_LIT98}};
#define _OMC_LIT1853 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1853)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1854,2,1) {_OMC_LIT159,_OMC_LIT1844}};
#define _OMC_LIT1854 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1854)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1855,2,1) {_OMC_LIT1840,_OMC_LIT1854}};
#define _OMC_LIT1855 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1855)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1856,2,1) {_OMC_LIT1199,_OMC_LIT1855}};
#define _OMC_LIT1856 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1856)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1857,3,6) {&Tpl_StringToken_ST__STRING__LIST__desc,_OMC_LIT1856,MMC_IMMEDIATE(MMC_TAGFIXNUM(1))}};
#define _OMC_LIT1857 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1857)
#define _OMC_LIT1858_data ".h"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1858,2,_OMC_LIT1858_data);
#define _OMC_LIT1858 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1858)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1859,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT1858}};
#define _OMC_LIT1859 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1859)
#define _OMC_LIT1860_data "_functions.h"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1860,12,_OMC_LIT1860_data);
#define _OMC_LIT1860 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1860)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1861,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT1860}};
#define _OMC_LIT1861 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1861)
#define _OMC_LIT1862_data "#include <ParModelica/explicit/openclrt/OCLRuntimeUtil.cl>\n"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1862,59,_OMC_LIT1862_data);
#define _OMC_LIT1862 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1862)
#define _OMC_LIT1863_data "// ParModelica Parallel Function headers.\n"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1863,42,_OMC_LIT1863_data);
#define _OMC_LIT1863 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1863)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1864,2,1) {_OMC_LIT1863,MMC_REFSTRUCTLIT(mmc_nil)}};
#define _OMC_LIT1864 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1864)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1865,2,1) {_OMC_LIT1199,_OMC_LIT1864}};
#define _OMC_LIT1865 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1865)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1866,2,1) {_OMC_LIT1862,_OMC_LIT1865}};
#define _OMC_LIT1866 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1866)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1867,3,6) {&Tpl_StringToken_ST__STRING__LIST__desc,_OMC_LIT1866,MMC_IMMEDIATE(MMC_TAGFIXNUM(1))}};
#define _OMC_LIT1867 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1867)
#define _OMC_LIT1868_data "// Headers finish here.\n"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1868,24,_OMC_LIT1868_data);
#define _OMC_LIT1868 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1868)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1869,2,1) {_OMC_LIT1868,_OMC_LIT1843}};
#define _OMC_LIT1869 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1869)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1870,2,1) {_OMC_LIT1199,_OMC_LIT1869}};
#define _OMC_LIT1870 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1870)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1871,3,6) {&Tpl_StringToken_ST__STRING__LIST__desc,_OMC_LIT1870,MMC_IMMEDIATE(MMC_TAGFIXNUM(1))}};
#define _OMC_LIT1871 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1871)
#define _OMC_LIT1872_data "infoStreamPrint(LOG_EVENTS, 0, \"reinit "
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1872,39,_OMC_LIT1872_data);
#define _OMC_LIT1872 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1872)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1873,2,1) {_OMC_LIT1872,MMC_REFSTRUCTLIT(mmc_nil)}};
#define _OMC_LIT1873 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1873)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1874,2,1) {_OMC_LIT168,_OMC_LIT1873}};
#define _OMC_LIT1874 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1874)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1875,3,6) {&Tpl_StringToken_ST__STRING__LIST__desc,_OMC_LIT1874,MMC_IMMEDIATE(MMC_TAGFIXNUM(0))}};
#define _OMC_LIT1875 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1875)
#define _OMC_LIT1876_data " = %f\", "
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1876,8,_OMC_LIT1876_data);
#define _OMC_LIT1876 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1876)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1877,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT1876}};
#define _OMC_LIT1877 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1877)
#define _OMC_LIT1878_data "data->simulationInfo->needToIterate = 1;"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1878,40,_OMC_LIT1878_data);
#define _OMC_LIT1878 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1878)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1879,2,1) {_OMC_LIT1878,MMC_REFSTRUCTLIT(mmc_nil)}};
#define _OMC_LIT1879 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1879)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1880,2,1) {_OMC_LIT385,_OMC_LIT1879}};
#define _OMC_LIT1880 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1880)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1881,3,6) {&Tpl_StringToken_ST__STRING__LIST__desc,_OMC_LIT1880,MMC_IMMEDIATE(MMC_TAGFIXNUM(0))}};
#define _OMC_LIT1881 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1881)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1882,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT1210}};
#define _OMC_LIT1882 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1882)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1883,2,3) {&SimCodeFunction_Context_SIMULATION__CONTEXT__desc,MMC_IMMEDIATE(MMC_TAGFIXNUM(1))}};
#define _OMC_LIT1883 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1883)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1884,1,1) {_OMC_LIT1095}};
#define _OMC_LIT1884 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1884)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1885,9,3) {&Tpl_IterOptions_ITER__OPTIONS__desc,MMC_IMMEDIATE(MMC_TAGFIXNUM(0)),MMC_REFSTRUCTLIT(mmc_none),_OMC_LIT1884,MMC_IMMEDIATE(MMC_TAGFIXNUM(0)),MMC_IMMEDIATE(MMC_TAGFIXNUM(0)),_OMC_LIT98,MMC_IMMEDIATE(MMC_TAGFIXNUM(0)),_OMC_LIT98}};
#define _OMC_LIT1885 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1885)
#define _OMC_LIT1886_data " /* edge */)"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1886,12,_OMC_LIT1886_data);
#define _OMC_LIT1886 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1886)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1887,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT1886}};
#define _OMC_LIT1887 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1887)
#define _OMC_LIT1888_data "if(data->simulationInfo->discreteCall == 1)\n"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1888,44,_OMC_LIT1888_data);
#define _OMC_LIT1888 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1888)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1889,2,1) {_OMC_LIT1888,_OMC_LIT437}};
#define _OMC_LIT1889 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1889)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1890,3,6) {&Tpl_StringToken_ST__STRING__LIST__desc,_OMC_LIT1889,MMC_IMMEDIATE(MMC_TAGFIXNUM(1))}};
#define _OMC_LIT1890 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1890)
#define _OMC_LIT1891_data " = 0; /* begin failure */\n"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1891,26,_OMC_LIT1891_data);
#define _OMC_LIT1891 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1891)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1892,2,1) {_OMC_LIT211,MMC_REFSTRUCTLIT(mmc_nil)}};
#define _OMC_LIT1892 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1892)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1893,2,1) {_OMC_LIT1891,_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(1))}};
#define _OMC_LIT1894 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1894)
#define _OMC_LIT1895_data "MMC_CATCH_INTERNAL(mmc_jumper)"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1895,30,_OMC_LIT1895_data);
#define _OMC_LIT1895 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1895)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1896,2,1) {_OMC_LIT1895,MMC_REFSTRUCTLIT(mmc_nil)}};
#define _OMC_LIT1896 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1896)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1897,2,1) {_OMC_LIT181,_OMC_LIT1896}};
#define _OMC_LIT1897 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1897)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1898,3,6) {&Tpl_StringToken_ST__STRING__LIST__desc,_OMC_LIT1897,MMC_IMMEDIATE(MMC_TAGFIXNUM(0))}};
#define _OMC_LIT1898 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1898)
#define _OMC_LIT1899_data ") {"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1899,3,_OMC_LIT1899_data);
#define _OMC_LIT1899 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1899)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1900,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT1899}};
#define _OMC_LIT1900 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1900)
#define _OMC_LIT1901_data ";} /* end failure */"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1901,20,_OMC_LIT1901_data);
#define _OMC_LIT1901 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1901)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1902,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT1901}};
#define _OMC_LIT1902 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1902)
#define _OMC_LIT1903_data "omc_terminate(info, MMC_STRINGDATA("
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1903,35,_OMC_LIT1903_data);
#define _OMC_LIT1903 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1903)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1904,2,1) {_OMC_LIT1903,MMC_REFSTRUCTLIT(mmc_nil)}};
#define _OMC_LIT1904 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1904)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1905,2,1) {_OMC_LIT1532,_OMC_LIT1904}};
#define _OMC_LIT1905 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1905)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1906,3,6) {&Tpl_StringToken_ST__STRING__LIST__desc,_OMC_LIT1905,MMC_IMMEDIATE(MMC_TAGFIXNUM(0))}};
#define _OMC_LIT1906 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1906)
#define _OMC_LIT1907_data "while(1)\n"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1907,9,_OMC_LIT1907_data);
#define _OMC_LIT1907 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1907)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1908,2,1) {_OMC_LIT1907,_OMC_LIT437}};
#define _OMC_LIT1908 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1908)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1909,3,6) {&Tpl_StringToken_ST__STRING__LIST__desc,_OMC_LIT1908,MMC_IMMEDIATE(MMC_TAGFIXNUM(1))}};
#define _OMC_LIT1909 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1909)
#define _OMC_LIT1910_data ") break;\n"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1910,9,_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)
#define _OMC_LIT1912_data "for("
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1912,4,_OMC_LIT1912_data);
#define _OMC_LIT1912 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1912)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1913,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT1912}};
#define _OMC_LIT1913 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1913)
#define _OMC_LIT1914_data " = 1; "
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1914,6,_OMC_LIT1914_data);
#define _OMC_LIT1914 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1914)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1915,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT1914}};
#define _OMC_LIT1915 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1915)
#define _OMC_LIT1916_data ", 1); ++"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1916,8,_OMC_LIT1916_data);
#define _OMC_LIT1916 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1916)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1917,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT1916}};
#define _OMC_LIT1917 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1917)
#define _OMC_LIT1918_data "simple_index_alloc_"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1918,19,_OMC_LIT1918_data);
#define _OMC_LIT1918 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1918)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1919,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT1918}};
#define _OMC_LIT1919 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1919)
#define _OMC_LIT1920_data "1(&"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1920,3,_OMC_LIT1920_data);
#define _OMC_LIT1920 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1920)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1921,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT1920}};
#define _OMC_LIT1921 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1921)
#define _OMC_LIT1922_data "for ("
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1922,5,_OMC_LIT1922_data);
#define _OMC_LIT1922 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1922)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1923,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT1922}};
#define _OMC_LIT1923 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1923)
#define _OMC_LIT1924_data " = arrayLength("
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1924,15,_OMC_LIT1924_data);
#define _OMC_LIT1924 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1924)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1925,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT1924}};
#define _OMC_LIT1925 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1925)
#define _OMC_LIT1926_data "++)\n"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1926,4,_OMC_LIT1926_data);
#define _OMC_LIT1926 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1926)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1927,2,1) {_OMC_LIT1926,_OMC_LIT437}};
#define _OMC_LIT1927 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1927)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1928,3,6) {&Tpl_StringToken_ST__STRING__LIST__desc,_OMC_LIT1927,MMC_IMMEDIATE(MMC_TAGFIXNUM(1))}};
#define _OMC_LIT1928 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1928)
#define _OMC_LIT1929_data "; !listEmpty("
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1929,13,_OMC_LIT1929_data);
#define _OMC_LIT1929 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1929)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1930,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT1929}};
#define _OMC_LIT1930 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1930)
#define _OMC_LIT1931_data "); "
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1931,3,_OMC_LIT1931_data);
#define _OMC_LIT1931 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1931)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1932,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT1931}};
#define _OMC_LIT1932 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1932)
#define _OMC_LIT1933_data "=MMC_CDR("
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1933,9,_OMC_LIT1933_data);
#define _OMC_LIT1933 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1933)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1934,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT1933}};
#define _OMC_LIT1934 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1934)
#define _OMC_LIT1935_data " iterator is not supported"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1935,26,_OMC_LIT1935_data);
#define _OMC_LIT1935 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1935)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1936,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT1935}};
#define _OMC_LIT1936 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1936)
#define _OMC_LIT1937_data "if(!((("
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1937,7,_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 " > 0) && ("
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1939,10,_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 ")) || (("
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1941,8,_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 " < 0) && ("
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1943,10,_OMC_LIT1943_data);
#define _OMC_LIT1943 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1943)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1944,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT1943}};
#define _OMC_LIT1944 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1944)
#define _OMC_LIT1945_data "))))\n"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1945,5,_OMC_LIT1945_data);
#define _OMC_LIT1945 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1945)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1946,2,1) {_OMC_LIT1945,_OMC_LIT437}};
#define _OMC_LIT1946 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1946)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1947,3,6) {&Tpl_StringToken_ST__STRING__LIST__desc,_OMC_LIT1946,MMC_IMMEDIATE(MMC_TAGFIXNUM(1))}};
#define _OMC_LIT1947 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1947)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1948,2,1) {_OMC_LIT1912,MMC_REFSTRUCTLIT(mmc_nil)}};
#define _OMC_LIT1948 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1948)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1949,2,1) {_OMC_LIT168,_OMC_LIT1948}};
#define _OMC_LIT1949 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1949)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1950,3,6) {&Tpl_StringToken_ST__STRING__LIST__desc,_OMC_LIT1949,MMC_IMMEDIATE(MMC_TAGFIXNUM(0))}};
#define _OMC_LIT1950 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1950)
#define _OMC_LIT1951_data "; in_range_"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1951,11,_OMC_LIT1951_data);
#define _OMC_LIT1951 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1951)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1952,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT1951}};
#define _OMC_LIT1952 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1952)
#define _OMC_LIT1953_data "  FILE_INFO info = omc_dummyFileInfo;"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1953,37,_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 "  omc_assert"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1955,12,_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 "(threadData, info, "
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1957,19,_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 "\"assertion range step != 0 failed\");"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1959,36,_OMC_LIT1959_data);
#define _OMC_LIT1959 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1959)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1960,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT1959}};
#define _OMC_LIT1960 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1960)
#define _OMC_LIT1961_data "} else "
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1961,7,_OMC_LIT1961_data);
#define _OMC_LIT1961 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1961)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1962,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT1961}};
#define _OMC_LIT1962 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1962)
#define _OMC_LIT1963_data "((modelica_integer) 1)"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1963,22,_OMC_LIT1963_data);
#define _OMC_LIT1963 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1963)
#define _OMC_LIT1964_data "((modelica_integer) -1)"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1964,23,_OMC_LIT1964_data);
#define _OMC_LIT1964 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1964)
#define _OMC_LIT1965_data "equationIndexes, "
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1965,17,_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_LIT1965}};
#define _OMC_LIT1966 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1966)
#define _OMC_LIT1967_data "cl_kernel"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1967,9,_OMC_LIT1967_data);
#define _OMC_LIT1967 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1967)
#define _OMC_LIT1968_data "parfor_"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1968,7,_OMC_LIT1968_data);
#define _OMC_LIT1968 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1968)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1969,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT1968}};
#define _OMC_LIT1969 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1969)
#define _OMC_LIT1970_data "_arg_nr"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1970,7,_OMC_LIT1970_data);
#define _OMC_LIT1970 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1970)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1971,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT1970}};
#define _OMC_LIT1971 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1971)
#define _OMC_LIT1972_data " = ocl_create_kernel(omc_ocl_program, \""
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1972,39,_OMC_LIT1972_data);
#define _OMC_LIT1972 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1972)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1973,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT1972}};
#define _OMC_LIT1973 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1973)
#define _OMC_LIT1974_data "int "
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1974,4,_OMC_LIT1974_data);
#define _OMC_LIT1974 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1974)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1975,2,1) {_OMC_LIT1974,MMC_REFSTRUCTLIT(mmc_nil)}};
#define _OMC_LIT1975 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1975)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1976,2,1) {_OMC_LIT779,_OMC_LIT1975}};
#define _OMC_LIT1976 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1976)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1977,3,6) {&Tpl_StringToken_ST__STRING__LIST__desc,_OMC_LIT1976,MMC_IMMEDIATE(MMC_TAGFIXNUM(0))}};
#define _OMC_LIT1977 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1977)
#define _OMC_LIT1978_data "ocl_set_kernel_arg("
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1978,19,_OMC_LIT1978_data);
#define _OMC_LIT1978 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1978)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1979,2,1) {_OMC_LIT1978,MMC_REFSTRUCTLIT(mmc_nil)}};
#define _OMC_LIT1979 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1979)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1980,2,1) {_OMC_LIT1199,_OMC_LIT1979}};
#define _OMC_LIT1980 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1980)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1981,2,1) {_OMC_LIT203,_OMC_LIT1980}};
#define _OMC_LIT1981 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1981)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1982,3,6) {&Tpl_StringToken_ST__STRING__LIST__desc,_OMC_LIT1981,MMC_IMMEDIATE(MMC_TAGFIXNUM(0))}};
#define _OMC_LIT1982 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1982)
#define _OMC_LIT1983_data "); ++"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1983,5,_OMC_LIT1983_data);
#define _OMC_LIT1983 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1983)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1984,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT1983}};
#define _OMC_LIT1984 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1984)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1985,3,6) {&Tpl_StringToken_ST__STRING__LIST__desc,_OMC_LIT1980,MMC_IMMEDIATE(MMC_TAGFIXNUM(0))}};
#define _OMC_LIT1985 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1985)
#define _OMC_LIT1986_data "ocl_execute_kernel("
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1986,19,_OMC_LIT1986_data);
#define _OMC_LIT1986 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1986)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1987,2,1) {_OMC_LIT1986,MMC_REFSTRUCTLIT(mmc_nil)}};
#define _OMC_LIT1987 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1987)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1988,2,1) {_OMC_LIT1199,_OMC_LIT1987}};
#define _OMC_LIT1988 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1988)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1989,3,6) {&Tpl_StringToken_ST__STRING__LIST__desc,_OMC_LIT1988,MMC_IMMEDIATE(MMC_TAGFIXNUM(0))}};
#define _OMC_LIT1989 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1989)
#define _OMC_LIT1990_data "clReleaseKernel("
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1990,16,_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_LIT385,_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)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1994,2,1) {_OMC_LIT385,_OMC_LIT1850}};
#define _OMC_LIT1994 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1994)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1995,3,6) {&Tpl_StringToken_ST__STRING__LIST__desc,_OMC_LIT1994,MMC_IMMEDIATE(MMC_TAGFIXNUM(1))}};
#define _OMC_LIT1995 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1995)
#define _OMC_LIT1996_data "(modelica_integer)1"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1996,19,_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 ", \n"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1998,3,_OMC_LIT1998_data);
#define _OMC_LIT1998 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1998)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1999,2,5) {&Tpl_StringToken_ST__LINE__desc,_OMC_LIT1998}};
#define _OMC_LIT1999 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1999)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2000,1,1) {_OMC_LIT1999}};
#define _OMC_LIT2000 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2000)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2001,9,3) {&Tpl_IterOptions_ITER__OPTIONS__desc,MMC_IMMEDIATE(MMC_TAGFIXNUM(0)),MMC_REFSTRUCTLIT(mmc_none),_OMC_LIT2000,MMC_IMMEDIATE(MMC_TAGFIXNUM(0)),MMC_IMMEDIATE(MMC_TAGFIXNUM(0)),_OMC_LIT98,MMC_IMMEDIATE(MMC_TAGFIXNUM(0)),_OMC_LIT98}};
#define _OMC_LIT2001 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2001)
#define _OMC_LIT2002_data "__kernel void "
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2002,14,_OMC_LIT2002_data);
#define _OMC_LIT2002 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2002)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2003,2,1) {_OMC_LIT2002,MMC_REFSTRUCTLIT(mmc_nil)}};
#define _OMC_LIT2003 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2003)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2004,2,1) {_OMC_LIT1199,_OMC_LIT2003}};
#define _OMC_LIT2004 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2004)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2005,3,6) {&Tpl_StringToken_ST__STRING__LIST__desc,_OMC_LIT2004,MMC_IMMEDIATE(MMC_TAGFIXNUM(0))}};
#define _OMC_LIT2005 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2005)
#define _OMC_LIT2006_data "(\n"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2006,2,_OMC_LIT2006_data);
#define _OMC_LIT2006 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2006)
#define _OMC_LIT2007_data "      modelica_integer loop_start,\n"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2007,35,_OMC_LIT2007_data);
#define _OMC_LIT2007 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2007)
#define _OMC_LIT2008_data "      modelica_integer loop_step,\n"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2008,34,_OMC_LIT2008_data);
#define _OMC_LIT2008 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2008)
#define _OMC_LIT2009_data "      modelica_integer loop_end,\n"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2009,33,_OMC_LIT2009_data);
#define _OMC_LIT2009 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2009)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2010,2,1) {_OMC_LIT2009,MMC_REFSTRUCTLIT(mmc_nil)}};
#define _OMC_LIT2010 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2010)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2011,2,1) {_OMC_LIT2008,_OMC_LIT2010}};
#define _OMC_LIT2011 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2011)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2012,2,1) {_OMC_LIT2007,_OMC_LIT2011}};
#define _OMC_LIT2012 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2012)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2013,2,1) {_OMC_LIT2006,_OMC_LIT2012}};
#define _OMC_LIT2013 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2013)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2014,3,6) {&Tpl_StringToken_ST__STRING__LIST__desc,_OMC_LIT2013,MMC_IMMEDIATE(MMC_TAGFIXNUM(1))}};
#define _OMC_LIT2014 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2014)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2015,2,4) {&Tpl_BlockType_BT__INDENT__desc,MMC_IMMEDIATE(MMC_TAGFIXNUM(6))}};
#define _OMC_LIT2015 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2015)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2016,2,5) {&Tpl_StringToken_ST__LINE__desc,_OMC_LIT436}};
#define _OMC_LIT2016 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2016)
#define _OMC_LIT2017_data "  /* algStmtParForRangeBody : Thread managment for parfor loops */\n"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2017,67,_OMC_LIT2017_data);
#define _OMC_LIT2017 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2017)
#define _OMC_LIT2018_data "  modelica_integer inner_start = (get_global_id(0) * loop_step) + (loop_start);\n"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2018,80,_OMC_LIT2018_data);
#define _OMC_LIT2018 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2018)
#define _OMC_LIT2019_data "  modelica_integer stride = get_global_size(0) * loop_step;\n"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2019,60,_OMC_LIT2019_data);
#define _OMC_LIT2019 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2019)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2020,2,1) {_OMC_LIT2019,_OMC_LIT1843}};
#define _OMC_LIT2020 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2020)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2021,2,1) {_OMC_LIT2018,_OMC_LIT2020}};
#define _OMC_LIT2021 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2021)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2022,2,1) {_OMC_LIT2017,_OMC_LIT2021}};
#define _OMC_LIT2022 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2022)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2023,2,1) {_OMC_LIT153,_OMC_LIT2022}};
#define _OMC_LIT2023 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2023)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2024,3,6) {&Tpl_StringToken_ST__STRING__LIST__desc,_OMC_LIT2023,MMC_IMMEDIATE(MMC_TAGFIXNUM(1))}};
#define _OMC_LIT2024 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2024)
#define _OMC_LIT2025_data "for(modelica_integer "
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2025,21,_OMC_LIT2025_data);
#define _OMC_LIT2025 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2025)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2026,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT2025}};
#define _OMC_LIT2026 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2026)
#define _OMC_LIT2027_data " = (modelica_integer) inner_start; in_range_integer("
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2027,52,_OMC_LIT2027_data);
#define _OMC_LIT2027 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2027)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2028,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT2027}};
#define _OMC_LIT2028 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2028)
#define _OMC_LIT2029_data ", loop_start, loop_end); "
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2029,25,_OMC_LIT2029_data);
#define _OMC_LIT2029 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2029)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2030,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT2029}};
#define _OMC_LIT2030 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2030)
#define _OMC_LIT2031_data " += stride)\n"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2031,12,_OMC_LIT2031_data);
#define _OMC_LIT2031 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2031)
#define _OMC_LIT2032_data "  /* algStmtParForRangeBody : Reconstruct Arrays */\n"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2032,52,_OMC_LIT2032_data);
#define _OMC_LIT2032 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2032)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2033,2,1) {_OMC_LIT2032,MMC_REFSTRUCTLIT(mmc_nil)}};
#define _OMC_LIT2033 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2033)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2034,2,1) {_OMC_LIT153,_OMC_LIT2033}};
#define _OMC_LIT2034 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2034)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2035,2,1) {_OMC_LIT2031,_OMC_LIT2034}};
#define _OMC_LIT2035 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2035)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2036,3,6) {&Tpl_StringToken_ST__STRING__LIST__desc,_OMC_LIT2035,MMC_IMMEDIATE(MMC_TAGFIXNUM(1))}};
#define _OMC_LIT2036 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2036)
#define _OMC_LIT2037_data "/* algStmtParForRangeBody : locals */\n"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2037,38,_OMC_LIT2037_data);
#define _OMC_LIT2037 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2037)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2038,2,1) {_OMC_LIT2037,MMC_REFSTRUCTLIT(mmc_nil)}};
#define _OMC_LIT2038 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2038)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2039,2,1) {_OMC_LIT1199,_OMC_LIT2038}};
#define _OMC_LIT2039 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2039)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2040,3,6) {&Tpl_StringToken_ST__STRING__LIST__desc,_OMC_LIT2039,MMC_IMMEDIATE(MMC_TAGFIXNUM(1))}};
#define _OMC_LIT2040 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2040)
#define _OMC_LIT2041_data "tupleReturnVariableUpdates: Unhandled expression. "
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2041,50,_OMC_LIT2041_data);
#define _OMC_LIT2041 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2041)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2042,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT2041}};
#define _OMC_LIT2042 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2042)
#define _OMC_LIT2043_data ".dim_size = NULL;"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2043,17,_OMC_LIT2043_data);
#define _OMC_LIT2043 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2043)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2044,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT2043}};
#define _OMC_LIT2044 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2044)
#define _OMC_LIT2045_data "A tuple assignment of only one variable is a regular assignment"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2045,63,_OMC_LIT2045_data);
#define _OMC_LIT2045 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2045)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2046,9,3) {&Tpl_IterOptions_ITER__OPTIONS__desc,MMC_IMMEDIATE(MMC_TAGFIXNUM(1)),_OMC_LIT101,_OMC_LIT103,MMC_IMMEDIATE(MMC_TAGFIXNUM(0)),MMC_IMMEDIATE(MMC_TAGFIXNUM(0)),_OMC_LIT98,MMC_IMMEDIATE(MMC_TAGFIXNUM(0)),_OMC_LIT98}};
#define _OMC_LIT2046 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2046)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2047,9,3) {&Tpl_IterOptions_ITER__OPTIONS__desc,MMC_IMMEDIATE(MMC_TAGFIXNUM(0)),_OMC_LIT101,_OMC_LIT103,MMC_IMMEDIATE(MMC_TAGFIXNUM(0)),MMC_IMMEDIATE(MMC_TAGFIXNUM(0)),_OMC_LIT98,MMC_IMMEDIATE(MMC_TAGFIXNUM(0)),_OMC_LIT98}};
#define _OMC_LIT2047 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2047)
#define _OMC_LIT2048_data "algStmtTupleAssign failed"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2048,25,_OMC_LIT2048_data);
#define _OMC_LIT2048 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2048)
#define _OMC_LIT2049_data " ,"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2049,2,_OMC_LIT2049_data);
#define _OMC_LIT2049 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2049)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2050,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT2049}};
#define _OMC_LIT2050 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2050)
#define _OMC_LIT2051_data "indexedAssign simulationContext failed"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2051,38,_OMC_LIT2051_data);
#define _OMC_LIT2051 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2051)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2052,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT453}};
#define _OMC_LIT2052 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2052)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2053,2,1) {_OMC_LIT1199,_OMC_LIT454}};
#define _OMC_LIT2053 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2053)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2054,3,6) {&Tpl_StringToken_ST__STRING__LIST__desc,_OMC_LIT2053,MMC_IMMEDIATE(MMC_TAGFIXNUM(0))}};
#define _OMC_LIT2054 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2054)
#define _OMC_LIT2055_data "fill_"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2055,5,_OMC_LIT2055_data);
#define _OMC_LIT2055 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2055)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2056,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT2055}};
#define _OMC_LIT2056 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2056)
#define _OMC_LIT2057_data "_copy_data("
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2057,11,_OMC_LIT2057_data);
#define _OMC_LIT2057 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2057)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2058,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT2057}};
#define _OMC_LIT2058 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2058)
#define _OMC_LIT2059_data "algStmtAssignWithRhsExpStr: Unhandled lhs expression. "
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2059,54,_OMC_LIT2059_data);
#define _OMC_LIT2059 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2059)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2060,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT2059}};
#define _OMC_LIT2060 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2060)
#define _OMC_LIT2061_data "Left hand side of an assignment is a call expression. "
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2061,54,_OMC_LIT2061_data);
#define _OMC_LIT2061 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2061)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2062,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT2061}};
#define _OMC_LIT2062 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2062)
#define _OMC_LIT2063_data "Left hand side of an assignment is a record expression. "
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2063,56,_OMC_LIT2063_data);
#define _OMC_LIT2063 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2063)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2064,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT2063}};
#define _OMC_LIT2064 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2064)
#define _OMC_LIT2065_data "Unhandled record assignment. "
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2065,29,_OMC_LIT2065_data);
#define _OMC_LIT2065 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2065)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2066,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT2065}};
#define _OMC_LIT2066 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2066)
#define _OMC_LIT2067_data " = MMC_TAGPTR(mmc_alloc_words("
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2067,30,_OMC_LIT2067_data);
#define _OMC_LIT2067 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2067)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2068,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT2067}};
#define _OMC_LIT2068 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2068)
#define _OMC_LIT2069_data "memcpy(MMC_UNTAGPTR("
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2069,20,_OMC_LIT2069_data);
#define _OMC_LIT2069 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2069)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2070,2,1) {_OMC_LIT2069,MMC_REFSTRUCTLIT(mmc_nil)}};
#define _OMC_LIT2070 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2070)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2071,2,1) {_OMC_LIT602,_OMC_LIT2070}};
#define _OMC_LIT2071 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2071)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2072,3,6) {&Tpl_StringToken_ST__STRING__LIST__desc,_OMC_LIT2071,MMC_IMMEDIATE(MMC_TAGFIXNUM(0))}};
#define _OMC_LIT2072 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2072)
#define _OMC_LIT2073_data "), MMC_UNTAGPTR("
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2073,16,_OMC_LIT2073_data);
#define _OMC_LIT2073 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2073)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2074,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT2073}};
#define _OMC_LIT2074 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2074)
#define _OMC_LIT2075_data "*sizeof(modelica_metatype));\n"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2075,29,_OMC_LIT2075_data);
#define _OMC_LIT2075 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2075)
#define _OMC_LIT2076_data "((modelica_metatype*)MMC_UNTAGPTR("
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2076,34,_OMC_LIT2076_data);
#define _OMC_LIT2076 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2076)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2077,2,1) {_OMC_LIT2076,MMC_REFSTRUCTLIT(mmc_nil)}};
#define _OMC_LIT2077 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2077)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2078,2,1) {_OMC_LIT2075,_OMC_LIT2077}};
#define _OMC_LIT2078 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2078)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2079,3,6) {&Tpl_StringToken_ST__STRING__LIST__desc,_OMC_LIT2078,MMC_IMMEDIATE(MMC_TAGFIXNUM(0))}};
#define _OMC_LIT2079 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2079)
#define _OMC_LIT2080_data "))["
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2080,3,_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 "] = "
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2082,4,_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 "Code generation not implemented for lhs assignment "
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2084,51,_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 " = (modelica_fnptr) "
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2086,20,_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 "arrayUpdate("
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2088,12,_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 "break;"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2090,6,_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 "continue;"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2092,9,_OMC_LIT2092_data);
#define _OMC_LIT2092 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2092)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2093,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT2092}};
#define _OMC_LIT2093 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2093)
#define _OMC_LIT2094_data "goto _return;"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2094,13,_OMC_LIT2094_data);
#define _OMC_LIT2094 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2094)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2095,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT2094}};
#define _OMC_LIT2095 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2095)
#define _OMC_LIT2096_data "ALG_STATEMENT NYI"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2096,17,_OMC_LIT2096_data);
#define _OMC_LIT2096 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2096)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2097,3,4) {&SimCodeFunction_Context_FUNCTION__CONTEXT__desc,_OMC_LIT28,MMC_IMMEDIATE(MMC_TAGFIXNUM(1))}};
#define _OMC_LIT2097 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2097)
#define _OMC_LIT2098_data "_size_"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2098,6,_OMC_LIT2098_data);
#define _OMC_LIT2098 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2098)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2099,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT2098}};
#define _OMC_LIT2099 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2099)
#define _OMC_LIT2100_data "tempSizeVarName:UNHANDLED_EXPRESSION"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2100,36,_OMC_LIT2100_data);
#define _OMC_LIT2100 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2100)
#define _OMC_LIT2101_data "data_of_"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2101,8,_OMC_LIT2101_data);
#define _OMC_LIT2101 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2101)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2102,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT2101}};
#define _OMC_LIT2102 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2102)
#define _OMC_LIT2103_data "_f77_array("
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2103,11,_OMC_LIT2103_data);
#define _OMC_LIT2103 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2103)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2104,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT2103}};
#define _OMC_LIT2104 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2104)
#define _OMC_LIT2105_data "(int*) &"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2105,8,_OMC_LIT2105_data);
#define _OMC_LIT2105 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2105)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2106,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT2105}};
#define _OMC_LIT2106 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2106)
#define _OMC_LIT2107_data "(char*)MMC_STRINGDATA("
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2107,22,_OMC_LIT2107_data);
#define _OMC_LIT2107 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2107)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2108,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT2107}};
#define _OMC_LIT2108 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2108)
#define _OMC_LIT2109_data "_ext"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2109,4,_OMC_LIT2109_data);
#define _OMC_LIT2109 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2109)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2110,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT2109}};
#define _OMC_LIT2110 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2110)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2111,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT770}};
#define _OMC_LIT2111 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2111)
#define _OMC_LIT2112_data "_c89;"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2112,5,_OMC_LIT2112_data);
#define _OMC_LIT2112 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2112)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2113,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT2112}};
#define _OMC_LIT2113 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2113)
#define _OMC_LIT2114_data "_c89 = (void*) data_of_"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2114,23,_OMC_LIT2114_data);
#define _OMC_LIT2114 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2114)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2115,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT2114}};
#define _OMC_LIT2115 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2115)
#define _OMC_LIT2116_data "_c89_array("
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2116,11,_OMC_LIT2116_data);
#define _OMC_LIT2116 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2116)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2117,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT2116}};
#define _OMC_LIT2117 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2117)
#define _OMC_LIT2118_data "_c89"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2118,4,_OMC_LIT2118_data);
#define _OMC_LIT2118 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2118)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2119,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT2118}};
#define _OMC_LIT2119 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2119)
#define _OMC_LIT2120_data "_packed"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2120,7,_OMC_LIT2120_data);
#define _OMC_LIT2120 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2120)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2121,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT2120}};
#define _OMC_LIT2121 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2121)
#define _OMC_LIT2122_data "convert_alloc_"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2122,14,_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 "_from_f77(&"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2124,11,_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 "mmc_mk_scon("
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2126,12,_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 "unpack_string_array(&"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2128,21,_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 "_c89);"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2130,6,_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 "unpack_integer_array(&"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2132,22,_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 "unpack_copy_integer_array(&"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2134,27,_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 "_packed, &"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2136,10,_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 "_to_f77(&"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2138,9,_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 "copy_"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2140,5,_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 "0.0"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2142,3,_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)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2144,2,4) {&Tpl_BlockType_BT__INDENT__desc,MMC_IMMEDIATE(MMC_TAGFIXNUM(1))}};
#define _OMC_LIT2144 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2144)
#define _OMC_LIT2145_data "= "
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2145,2,_OMC_LIT2145_data);
#define _OMC_LIT2145 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2145)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2146,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT2145}};
#define _OMC_LIT2146 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2146)
#define _OMC_LIT2147_data "if (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2147,39,_OMC_LIT2147_data);
#define _OMC_LIT2147 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2147)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2148,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT2147}};
#define _OMC_LIT2148 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2148)
#define _OMC_LIT2149_data "), 2))) {\n"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2149,10,_OMC_LIT2149_data);
#define _OMC_LIT2149 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2149)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2150,2,5) {&Tpl_StringToken_ST__LINE__desc,_OMC_LIT2149}};
#define _OMC_LIT2150 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2150)
#define _OMC_LIT2151_data " /* The FFI does not allow closures */\n"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2151,39,_OMC_LIT2151_data);
#define _OMC_LIT2151 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2151)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2152,2,5) {&Tpl_StringToken_ST__LINE__desc,_OMC_LIT2151}};
#define _OMC_LIT2152 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2152)
#define _OMC_LIT2153_data "MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2153,35,_OMC_LIT2153_data);
#define _OMC_LIT2153 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2153)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2154,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT2153}};
#define _OMC_LIT2154 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2154)
#define _OMC_LIT2155_data "), 1));"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2155,7,_OMC_LIT2155_data);
#define _OMC_LIT2155 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2155)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2156,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT2155}};
#define _OMC_LIT2156 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2156)
#define _OMC_LIT2157_data "Got function pointer that is not a CREF_IDENT: "
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2157,47,_OMC_LIT2157_data);
#define _OMC_LIT2157 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2157)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2158,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT2157}};
#define _OMC_LIT2158 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2158)
#define _OMC_LIT2159_data "fill_string_array(&"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2159,19,_OMC_LIT2159_data);
#define _OMC_LIT2159 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2159)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2160,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT2159}};
#define _OMC_LIT2160 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2160)
#define _OMC_LIT2161_data ", mmc_string_uninitialized);"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2161,28,_OMC_LIT2161_data);
#define _OMC_LIT2161 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2161)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2162,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT2161}};
#define _OMC_LIT2162 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2162)
#define _OMC_LIT2163_data "integer_array "
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2163,14,_OMC_LIT2163_data);
#define _OMC_LIT2163 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2163)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2164,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT2163}};
#define _OMC_LIT2164 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2164)
#define _OMC_LIT2165_data "_packed;"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2165,8,_OMC_LIT2165_data);
#define _OMC_LIT2165 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2165)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2166,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT2165}};
#define _OMC_LIT2166 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2166)
#define _OMC_LIT2167_data "pack_alloc_integer_array(&"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2167,26,_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 "_packed);"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2169,9,_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 "/* extFunCallF77: varDecs */"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2171,28,_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 "/* extFunCallF77: biVarDecs */"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2173,30,_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 "/* extFunCallF77: args */"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2175,25,_OMC_LIT2175_data);
#define _OMC_LIT2175 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2175)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2176,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT2175}};
#define _OMC_LIT2176 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2176)
#define _OMC_LIT2177_data "/* extFunCallF77: end args */"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2177,29,_OMC_LIT2177_data);
#define _OMC_LIT2177 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2177)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2178,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT2177}};
#define _OMC_LIT2178 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2178)
#define _OMC_LIT2179_data "/* extFunCallF77: extReturn */\n"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2179,31,_OMC_LIT2179_data);
#define _OMC_LIT2179 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2179)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2180,2,5) {&Tpl_StringToken_ST__LINE__desc,_OMC_LIT2179}};
#define _OMC_LIT2180 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2180)
#define _OMC_LIT2181_data "/* extFunCallF77: CALL */\n"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2181,26,_OMC_LIT2181_data);
#define _OMC_LIT2181 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2181)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2182,2,5) {&Tpl_StringToken_ST__LINE__desc,_OMC_LIT2181}};
#define _OMC_LIT2182 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2182)
#define _OMC_LIT2183_data "_("
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2183,2,_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 "/* extFunCallF77: copy args */\n"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2185,31,_OMC_LIT2185_data);
#define _OMC_LIT2185 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2185)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2186,2,1) {_OMC_LIT2185,MMC_REFSTRUCTLIT(mmc_nil)}};
#define _OMC_LIT2186 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2186)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2187,2,1) {_OMC_LIT385,_OMC_LIT2186}};
#define _OMC_LIT2187 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2187)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2188,3,6) {&Tpl_StringToken_ST__STRING__LIST__desc,_OMC_LIT2187,MMC_IMMEDIATE(MMC_TAGFIXNUM(1))}};
#define _OMC_LIT2188 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2188)
#define _OMC_LIT2189_data "/* extFunCallF77: copy return */\n"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2189,33,_OMC_LIT2189_data);
#define _OMC_LIT2189 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2189)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2190,2,5) {&Tpl_StringToken_ST__LINE__desc,_OMC_LIT2189}};
#define _OMC_LIT2190 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2190)
#define _OMC_LIT2191_data "==NULL)\n"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2191,8,_OMC_LIT2191_data);
#define _OMC_LIT2191 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2191)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2192,2,1) {_OMC_LIT2191,_OMC_LIT437}};
#define _OMC_LIT2192 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2192)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2193,3,6) {&Tpl_StringToken_ST__STRING__LIST__desc,_OMC_LIT2192,MMC_IMMEDIATE(MMC_TAGFIXNUM(1))}};
#define _OMC_LIT2193 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2193)
#define _OMC_LIT2194_data "omc_terminate(info, \"dynamic external function "
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2194,47,_OMC_LIT2194_data);
#define _OMC_LIT2194 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2194)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2195,2,1) {_OMC_LIT2194,MMC_REFSTRUCTLIT(mmc_nil)}};
#define _OMC_LIT2195 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2195)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2196,2,1) {_OMC_LIT1532,_OMC_LIT2195}};
#define _OMC_LIT2196 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2196)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2197,3,6) {&Tpl_StringToken_ST__STRING__LIST__desc,_OMC_LIT2196,MMC_IMMEDIATE(MMC_TAGFIXNUM(0))}};
#define _OMC_LIT2197 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2197)
#define _OMC_LIT2198_data " not set!\");\n"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2198,13,_OMC_LIT2198_data);
#define _OMC_LIT2198 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2198)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2199,2,5) {&Tpl_StringToken_ST__LINE__desc,_OMC_LIT2198}};
#define _OMC_LIT2199 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2199)
#define _OMC_LIT2200_data "} else"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2200,6,_OMC_LIT2200_data);
#define _OMC_LIT2200 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2200)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2201,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT2200}};
#define _OMC_LIT2201 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2201)
#define _OMC_LIT2202_data "ptr_"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2202,4,_OMC_LIT2202_data);
#define _OMC_LIT2202 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2202)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2203,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT2202}};
#define _OMC_LIT2203 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2203)
#define _OMC_LIT2204_data "Unsupported external language: "
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2204,31,_OMC_LIT2204_data);
#define _OMC_LIT2204 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2204)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2205,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT2204}};
#define _OMC_LIT2205 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2205)
#define _OMC_LIT2206_data "BUILTIN"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2206,7,_OMC_LIT2206_data);
#define _OMC_LIT2206 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2206)
#define _OMC_LIT2207_data "C"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2207,1,_OMC_LIT2207_data);
#define _OMC_LIT2207 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2207)
#define _OMC_LIT2208_data "FORTRAN 77"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2208,10,_OMC_LIT2208_data);
#define _OMC_LIT2208 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2208)
#define _OMC_LIT2209_data "_construct(threadData, "
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2209,23,_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 " = (modelica_fnptr) _"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2211,21,_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 " = ocl_device_alloc(sizeof(modelica_"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2213,36,_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 "if (out"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2215,7,_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 ") { *out"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2217,8,_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 " = (modelica_fnptr)"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2219,19,_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 "; }"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2221,3,_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 ") { if (out"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2223,11,_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 "->info == NULL) {copy_"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2225,22,_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)
#define _OMC_LIT2227_data ", out"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2227,5,_OMC_LIT2227_data);
#define _OMC_LIT2227 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2227)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2228,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT2227}};
#define _OMC_LIT2228 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2228)
#define _OMC_LIT2229_data ");} else {"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2229,10,_OMC_LIT2229_data);
#define _OMC_LIT2229 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2229)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2230,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT2229}};
#define _OMC_LIT2230 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2230)
#define _OMC_LIT2231_data "_array_copy_data("
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2231,17,_OMC_LIT2231_data);
#define _OMC_LIT2231 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2231)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2232,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT2231}};
#define _OMC_LIT2232 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2232)
#define _OMC_LIT2233_data ", *out"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2233,6,_OMC_LIT2233_data);
#define _OMC_LIT2233 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2233)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2234,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT2233}};
#define _OMC_LIT2234 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2234)
#define _OMC_LIT2235_data ");} }"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2235,5,_OMC_LIT2235_data);
#define _OMC_LIT2235 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2235)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2236,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT2235}};
#define _OMC_LIT2236 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2236)
#define _OMC_LIT2237_data "->dim_size == NULL) {copy_"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2237,26,_OMC_LIT2237_data);
#define _OMC_LIT2237 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2237)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2238,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT2237}};
#define _OMC_LIT2238 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2238)
#define _OMC_LIT2239_data "varOutput:error Unknown variable type as output"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2239,47,_OMC_LIT2239_data);
#define _OMC_LIT2239 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2239)
#define _OMC_LIT2240_data "->info == NULL) {\n"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2240,18,_OMC_LIT2240_data);
#define _OMC_LIT2240 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2240)
#define _OMC_LIT2241_data "  omc_assert(threadData, info, \"Unknown size parallel array.\");\n"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2241,64,_OMC_LIT2241_data);
#define _OMC_LIT2241 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2241)
#define _OMC_LIT2242_data "else {\n"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2242,7,_OMC_LIT2242_data);
#define _OMC_LIT2242 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2242)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2243,2,1) {_OMC_LIT2242,MMC_REFSTRUCTLIT(mmc_nil)}};
#define _OMC_LIT2243 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2243)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2244,2,1) {_OMC_LIT159,_OMC_LIT2243}};
#define _OMC_LIT2244 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2244)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2245,2,1) {_OMC_LIT2241,_OMC_LIT2244}};
#define _OMC_LIT2245 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2245)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2246,2,1) {_OMC_LIT411,_OMC_LIT2245}};
#define _OMC_LIT2246 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2246)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2247,2,1) {_OMC_LIT2240,_OMC_LIT2246}};
#define _OMC_LIT2247 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2247)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2248,3,6) {&Tpl_StringToken_ST__STRING__LIST__desc,_OMC_LIT2247,MMC_IMMEDIATE(MMC_TAGFIXNUM(1))}};
#define _OMC_LIT2248 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2248)
#define _OMC_LIT2249_data "#error Unknown local variable type"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2249,34,_OMC_LIT2249_data);
#define _OMC_LIT2249 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2249)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2250,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT2249}};
#define _OMC_LIT2250 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2250)
#define _OMC_LIT2251_data "varInitParallel:error Unknown local variable type"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2251,49,_OMC_LIT2251_data);
#define _OMC_LIT2251 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2251)
#define _OMC_LIT2252_data "_array_c99_"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2252,11,_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 ", memory_state);"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2254,16,_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 ".targ"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2256,5,_OMC_LIT2256_data);
#define _OMC_LIT2256 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2256)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2257,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT2256}};
#define _OMC_LIT2257 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2257)
#define _OMC_LIT2258_data "#error Unknown parallel variable type"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2258,37,_OMC_LIT2258_data);
#define _OMC_LIT2258 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2258)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2259,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT2258}};
#define _OMC_LIT2259 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2259)
#define _OMC_LIT2260_data "parVarInit:error Unknown parallel variable type"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2260,47,_OMC_LIT2260_data);
#define _OMC_LIT2260 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2260)
#define _OMC_LIT2261_data "_array "
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2261,7,_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 "alloc_device_local_"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2263,19,_OMC_LIT2263_data);
#define _OMC_LIT2263 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2263)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2264,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT2263}};
#define _OMC_LIT2264 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2264)
#define _OMC_LIT2265_data "modelica_fnptr _"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2265,16,_OMC_LIT2265_data);
#define _OMC_LIT2265 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2265)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2266,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT2265}};
#define _OMC_LIT2266 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2266)
#define _OMC_LIT2267_data "Unknown local variable type"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2267,27,_OMC_LIT2267_data);
#define _OMC_LIT2267 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2267)
#define _OMC_LIT2268_data " = NULL"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2268,7,_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 ", TYPE_DESC_NONE"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2270,16,_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 ", &("
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2272,4,_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 "write_modelica_record(outVar, "
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2274,30,_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 "write_"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2276,6,_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 "(outVar, &"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2278,10,_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 "&("
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2280,2,_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)
#define _OMC_LIT2282_data "if (read_modelica_record(&inArgs, "
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2282,34,_OMC_LIT2282_data);
#define _OMC_LIT2282 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2282)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2283,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT2282}};
#define _OMC_LIT2283 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2283)
#define _OMC_LIT2284_data ")) return 1;"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2284,12,_OMC_LIT2284_data);
#define _OMC_LIT2284 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2284)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2285,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT2284}};
#define _OMC_LIT2285 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2285)
#define _OMC_LIT2286_data "if (read_"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2286,9,_OMC_LIT2286_data);
#define _OMC_LIT2286 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2286)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2287,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT2286}};
#define _OMC_LIT2287 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2287)
#define _OMC_LIT2288_data "(&inArgs, "
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2288,10,_OMC_LIT2288_data);
#define _OMC_LIT2288 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2288)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2289,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT2288}};
#define _OMC_LIT2289 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2289)
#define _OMC_LIT2290_data " &"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2290,2,_OMC_LIT2290_data);
#define _OMC_LIT2290 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2290)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2291,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT2290}};
#define _OMC_LIT2291 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2291)
#define _OMC_LIT2292_data "(&inArgs, &"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2292,11,_OMC_LIT2292_data);
#define _OMC_LIT2292 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2292)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2293,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT2292}};
#define _OMC_LIT2293 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2293)
#define _OMC_LIT2294_data "(char**)"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2294,8,_OMC_LIT2294_data);
#define _OMC_LIT2294 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2294)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2295,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT2294}};
#define _OMC_LIT2295 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2295)
#define _OMC_LIT2296_data "mmc_mk_icon("
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2296,12,_OMC_LIT2296_data);
#define _OMC_LIT2296 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2296)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2297,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT2296}};
#define _OMC_LIT2297 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2297)
#define _OMC_LIT2298_data "mmc_mk_rcon("
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2298,12,_OMC_LIT2298_data);
#define _OMC_LIT2298 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2298)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2299,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT2298}};
#define _OMC_LIT2299 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2299)
#define _OMC_LIT2300_data "mmc_mk_string("
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2300,14,_OMC_LIT2300_data);
#define _OMC_LIT2300 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2300)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2301,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT2300}};
#define _OMC_LIT2301 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2301)
#define _OMC_LIT2302_data "mmc_mk_modelica_array("
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2302,22,_OMC_LIT2302_data);
#define _OMC_LIT2302 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2302)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2303,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT2302}};
#define _OMC_LIT2303 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2303)
#define _OMC_LIT2304_data "3, &"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2304,4,_OMC_LIT2304_data);
#define _OMC_LIT2304 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2304)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2305,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT2304}};
#define _OMC_LIT2305 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2305)
#define _OMC_LIT2306_data "mmc_mk_box("
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2306,11,_OMC_LIT2306_data);
#define _OMC_LIT2306 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2306)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2307,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT2306}};
#define _OMC_LIT2307 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2307)
#define _OMC_LIT2308_data "/* skip box "
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2308,12,_OMC_LIT2308_data);
#define _OMC_LIT2308 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2308)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2309,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT2308}};
#define _OMC_LIT2309 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2309)
#define _OMC_LIT2310_data ") { "
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2310,4,_OMC_LIT2310_data);
#define _OMC_LIT2310 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2310)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2311,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT2310}};
#define _OMC_LIT2311 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2311)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2312,9,3) {&Tpl_IterOptions_ITER__OPTIONS__desc,MMC_IMMEDIATE(MMC_TAGFIXNUM(2)),MMC_REFSTRUCTLIT(mmc_none),_OMC_LIT103,MMC_IMMEDIATE(MMC_TAGFIXNUM(0)),MMC_IMMEDIATE(MMC_TAGFIXNUM(0)),_OMC_LIT98,MMC_IMMEDIATE(MMC_TAGFIXNUM(0)),_OMC_LIT98}};
#define _OMC_LIT2312 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2312)
#define _OMC_LIT2313_data " = (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR("
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2313,38,_OMC_LIT2313_data);
#define _OMC_LIT2313 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2313)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2314,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT2313}};
#define _OMC_LIT2314 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2314)
#define _OMC_LIT2315_data ")));\n"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2315,5,_OMC_LIT2315_data);
#define _OMC_LIT2315 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2315)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2316,2,5) {&Tpl_StringToken_ST__LINE__desc,_OMC_LIT2315}};
#define _OMC_LIT2316 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2316)
#define _OMC_LIT2317_data "*((base_array_t*)"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2317,17,_OMC_LIT2317_data);
#define _OMC_LIT2317 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2317)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2318,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT2317}};
#define _OMC_LIT2318 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2318)
#define _OMC_LIT2319_data " = mmc_unbox_"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2319,13,_OMC_LIT2319_data);
#define _OMC_LIT2319 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2319)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2320,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT2319}};
#define _OMC_LIT2320 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2320)
#define _OMC_LIT2321_data "Trying to generate a boxed function with non protected parglobal array."
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2321,71,_OMC_LIT2321_data);
#define _OMC_LIT2321 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2321)
#define _OMC_LIT2322_data "Trying to generate a boxed function with non protected parlocal array."
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2322,70,_OMC_LIT2322_data);
#define _OMC_LIT2322 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2322)
#define _OMC_LIT2323_data "_rettypeboxed"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2323,13,_OMC_LIT2323_data);
#define _OMC_LIT2323 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2323)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2324,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT2323}};
#define _OMC_LIT2324 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2324)
#define _OMC_LIT2325_data "modelica_metatype boxptr"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2325,24,_OMC_LIT2325_data);
#define _OMC_LIT2325 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2325)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2326,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT2325}};
#define _OMC_LIT2326 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2326)
#define _OMC_LIT2327_data "(threadData_t *threadData"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2327,25,_OMC_LIT2327_data);
#define _OMC_LIT2327 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2327)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2328,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT2327}};
#define _OMC_LIT2328 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2328)
#define _OMC_LIT2329_data "return mmc_mk_box"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2329,17,_OMC_LIT2329_data);
#define _OMC_LIT2329 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2329)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2330,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT2329}};
#define _OMC_LIT2330 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2330)
#define _OMC_LIT2331_data "boxptrtd_"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2331,9,_OMC_LIT2331_data);
#define _OMC_LIT2331 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2331)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2332,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT2331}};
#define _OMC_LIT2332 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2332)
#define _OMC_LIT2333_data " boxptr_"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2333,8,_OMC_LIT2333_data);
#define _OMC_LIT2333 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2333)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2334,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT2333}};
#define _OMC_LIT2334 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2334)
#define _OMC_LIT2335_data " = boxptrimpl_"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2335,14,_OMC_LIT2335_data);
#define _OMC_LIT2335 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2335)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2336,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT2335}};
#define _OMC_LIT2336 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2336)
#define _OMC_LIT2337_data "impl"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2337,4,_OMC_LIT2337_data);
#define _OMC_LIT2337 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2337)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2338,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT2337}};
#define _OMC_LIT2338 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2338)
#define _OMC_LIT2339_data "PROTECTED_FUNCTION_STATIC "
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2339,26,_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 "boxRecordConstructor:Unknown variable"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2341,37,_OMC_LIT2341_data);
#define _OMC_LIT2341 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2341)
#define _OMC_LIT2342_data "return;"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2342,7,_OMC_LIT2342_data);
#define _OMC_LIT2342 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2342)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2343,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT2342}};
#define _OMC_LIT2343 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2343)
#define _OMC_LIT2344_data "*out"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2344,4,_OMC_LIT2344_data);
#define _OMC_LIT2344 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2344)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2345,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT2344}};
#define _OMC_LIT2345 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2345)
#define _OMC_LIT2346_data "out"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2346,3,_OMC_LIT2346_data);
#define _OMC_LIT2346 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2346)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2347,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT2346}};
#define _OMC_LIT2347 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2347)
#define _OMC_LIT2348_data "Unknown local variable type in record"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2348,37,_OMC_LIT2348_data);
#define _OMC_LIT2348 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2348)
#define _OMC_LIT2349_data " omc"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2349,4,_OMC_LIT2349_data);
#define _OMC_LIT2349 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2349)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2350,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT2349}};
#define _OMC_LIT2350 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2350)
#define _OMC_LIT2351_data "omctd_"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2351,6,_OMC_LIT2351_data);
#define _OMC_LIT2351 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2351)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2352,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT2351}};
#define _OMC_LIT2352 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2352)
#define _OMC_LIT2353_data " omc_"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2353,5,_OMC_LIT2353_data);
#define _OMC_LIT2353 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2353)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2354,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT2353}};
#define _OMC_LIT2354 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2354)
#define _OMC_LIT2355_data " = omcimpl_"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2355,11,_OMC_LIT2355_data);
#define _OMC_LIT2355 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2355)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2356,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT2355}};
#define _OMC_LIT2356 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2356)
#define _OMC_LIT2357_data " = omc_"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2357,7,_OMC_LIT2357_data);
#define _OMC_LIT2357 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2357)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2358,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT2357}};
#define _OMC_LIT2358 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2358)
#define _OMC_LIT2359_data "ptrT_"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2359,5,_OMC_LIT2359_data);
#define _OMC_LIT2359 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2359)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2360,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT2359}};
#define _OMC_LIT2360 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2360)
#define _OMC_LIT2361_data " ptr_"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2361,5,_OMC_LIT2361_data);
#define _OMC_LIT2361 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2361)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2362,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT2361}};
#define _OMC_LIT2362 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2362)
#define _OMC_LIT2363_data "=NULL;"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2363,6,_OMC_LIT2363_data);
#define _OMC_LIT2363 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2363)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2364,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT2363}};
#define _OMC_LIT2364 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2364)
#define _OMC_LIT2365_data "_rettype"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2365,8,_OMC_LIT2365_data);
#define _OMC_LIT2365 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2365)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2366,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT2365}};
#define _OMC_LIT2366 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2366)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2367,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT1978}};
#define _OMC_LIT2367 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2367)
#define _OMC_LIT2368_data ".data); ++"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2368,10,_OMC_LIT2368_data);
#define _OMC_LIT2368 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2368)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2369,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT2368}};
#define _OMC_LIT2369 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2369)
#define _OMC_LIT2370_data ".info_dev); ++"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2370,14,_OMC_LIT2370_data);
#define _OMC_LIT2370 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2370)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2371,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT2370}};
#define _OMC_LIT2371 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2371)
#define _OMC_LIT2372_data "ocl_set_local_kernel_arg("
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2372,25,_OMC_LIT2372_data);
#define _OMC_LIT2372 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2372)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2373,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT2372}};
#define _OMC_LIT2373 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2373)
#define _OMC_LIT2374_data ", sizeof(modelica_"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2374,18,_OMC_LIT2374_data);
#define _OMC_LIT2374 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2374)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2375,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT2374}};
#define _OMC_LIT2375 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2375)
#define _OMC_LIT2376_data ") * device_array_nr_of_elements(&"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2376,33,_OMC_LIT2376_data);
#define _OMC_LIT2376 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2376)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2377,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT2376}};
#define _OMC_LIT2377 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2377)
#define _OMC_LIT2378_data ")); ++"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2378,6,_OMC_LIT2378_data);
#define _OMC_LIT2378 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2378)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2379,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT2378}};
#define _OMC_LIT2379 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2379)
#define _OMC_LIT2380_data ", sizeof(modelica_integer) * ("
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2380,30,_OMC_LIT2380_data);
#define _OMC_LIT2380 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2380)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2381,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT2380}};
#define _OMC_LIT2381 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2381)
#define _OMC_LIT2382_data ".info[0]+1)*sizeof(modelica_integer)); ++"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2382,41,_OMC_LIT2382_data);
#define _OMC_LIT2382 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2382)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2383,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT2382}};
#define _OMC_LIT2383 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2383)
#define _OMC_LIT2384_data "  // declerations\n"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2384,18,_OMC_LIT2384_data);
#define _OMC_LIT2384 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2384)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2385,2,1) {_OMC_LIT2384,MMC_REFSTRUCTLIT(mmc_nil)}};
#define _OMC_LIT2385 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2385)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2386,2,1) {_OMC_LIT153,_OMC_LIT2385}};
#define _OMC_LIT2386 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2386)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2387,3,6) {&Tpl_StringToken_ST__STRING__LIST__desc,_OMC_LIT2386,MMC_IMMEDIATE(MMC_TAGFIXNUM(1))}};
#define _OMC_LIT2387 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2387)
#define _OMC_LIT2388_data "// inits\n"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2388,9,_OMC_LIT2388_data);
#define _OMC_LIT2388 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2388)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2389,2,5) {&Tpl_StringToken_ST__LINE__desc,_OMC_LIT2388}};
#define _OMC_LIT2389 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2389)
#define _OMC_LIT2390_data "/* functionBodyKernelFunctionInterface : "
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2390,41,_OMC_LIT2390_data);
#define _OMC_LIT2390 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2390)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2391,2,1) {_OMC_LIT2390,MMC_REFSTRUCTLIT(mmc_nil)}};
#define _OMC_LIT2391 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2391)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2392,2,1) {_OMC_LIT1199,_OMC_LIT2391}};
#define _OMC_LIT2392 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2392)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2393,3,6) {&Tpl_StringToken_ST__STRING__LIST__desc,_OMC_LIT2392,MMC_IMMEDIATE(MMC_TAGFIXNUM(0))}};
#define _OMC_LIT2393 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2393)
#define _OMC_LIT2394_data " Kernel creation and execution */\n"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2394,34,_OMC_LIT2394_data);
#define _OMC_LIT2394 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2394)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2395,2,1) {_OMC_LIT2394,_OMC_LIT1975}};
#define _OMC_LIT2395 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2395)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2396,3,6) {&Tpl_StringToken_ST__STRING__LIST__desc,_OMC_LIT2395,MMC_IMMEDIATE(MMC_TAGFIXNUM(0))}};
#define _OMC_LIT2396 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2396)
#define _OMC_LIT2397_data " = ocl_create_kernel(omc_ocl_program, \"omc_"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2397,43,_OMC_LIT2397_data);
#define _OMC_LIT2397 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2397)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2398,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT2397}};
#define _OMC_LIT2398 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2398)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2399,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT1986}};
#define _OMC_LIT2399 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2399)
#define _OMC_LIT2400_data "/*functionBodyKernelFunctionInterface : "
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2400,40,_OMC_LIT2400_data);
#define _OMC_LIT2400 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2400)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2401,2,1) {_OMC_LIT2400,MMC_REFSTRUCTLIT(mmc_nil)}};
#define _OMC_LIT2401 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2401)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2402,2,1) {_OMC_LIT385,_OMC_LIT2401}};
#define _OMC_LIT2402 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2402)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2403,3,6) {&Tpl_StringToken_ST__STRING__LIST__desc,_OMC_LIT2402,MMC_IMMEDIATE(MMC_TAGFIXNUM(0))}};
#define _OMC_LIT2403 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2403)
#define _OMC_LIT2404_data " kernel execution ends here.*/\n"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2404,31,_OMC_LIT2404_data);
#define _OMC_LIT2404 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2404)
#define _OMC_LIT2405_data "// outvar assign\n"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2405,17,_OMC_LIT2405_data);
#define _OMC_LIT2405 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2405)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2406,2,1) {_OMC_LIT2405,MMC_REFSTRUCTLIT(mmc_nil)}};
#define _OMC_LIT2406 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2406)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2407,2,1) {_OMC_LIT1199,_OMC_LIT2406}};
#define _OMC_LIT2407 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2407)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2408,2,1) {_OMC_LIT2404,_OMC_LIT2407}};
#define _OMC_LIT2408 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2408)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2409,3,6) {&Tpl_StringToken_ST__STRING__LIST__desc,_OMC_LIT2408,MMC_IMMEDIATE(MMC_TAGFIXNUM(1))}};
#define _OMC_LIT2409 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2409)
#define _OMC_LIT2410_data "//varfree\n"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2410,10,_OMC_LIT2410_data);
#define _OMC_LIT2410 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2410)
#define _OMC_LIT2411_data "/*\n"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2411,3,_OMC_LIT2411_data);
#define _OMC_LIT2411 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2411)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2412,2,1) {_OMC_LIT2411,MMC_REFSTRUCTLIT(mmc_nil)}};
#define _OMC_LIT2412 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2412)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2413,2,1) {_OMC_LIT2410,_OMC_LIT2412}};
#define _OMC_LIT2413 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2413)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2414,2,1) {_OMC_LIT1199,_OMC_LIT2413}};
#define _OMC_LIT2414 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2414)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2415,3,6) {&Tpl_StringToken_ST__STRING__LIST__desc,_OMC_LIT2414,MMC_IMMEDIATE(MMC_TAGFIXNUM(1))}};
#define _OMC_LIT2415 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2415)
#define _OMC_LIT2416_data "*/\n"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2416,3,_OMC_LIT2416_data);
#define _OMC_LIT2416 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2416)
#define _OMC_LIT2417_data "// return\n"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2417,10,_OMC_LIT2417_data);
#define _OMC_LIT2417 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2417)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2418,2,1) {_OMC_LIT2417,MMC_REFSTRUCTLIT(mmc_nil)}};
#define _OMC_LIT2418 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2418)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2419,2,1) {_OMC_LIT1199,_OMC_LIT2418}};
#define _OMC_LIT2419 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2419)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2420,2,1) {_OMC_LIT2416,_OMC_LIT2419}};
#define _OMC_LIT2420 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2420)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2421,3,6) {&Tpl_StringToken_ST__STRING__LIST__desc,_OMC_LIT2420,MMC_IMMEDIATE(MMC_TAGFIXNUM(1))}};
#define _OMC_LIT2421 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2421)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2422,2,1) {_OMC_LIT159,_OMC_LIT1843}};
#define _OMC_LIT2422 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2422)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2423,3,6) {&Tpl_StringToken_ST__STRING__LIST__desc,_OMC_LIT2422,MMC_IMMEDIATE(MMC_TAGFIXNUM(1))}};
#define _OMC_LIT2423 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2423)
#define _OMC_LIT2424_data " }"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2424,2,_OMC_LIT2424_data);
#define _OMC_LIT2424 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2424)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2425,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT2424}};
#define _OMC_LIT2425 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2425)
#define _OMC_LIT2426_data "    "
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2426,4,_OMC_LIT2426_data);
#define _OMC_LIT2426 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2426)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2427,2,1) {_OMC_LIT2426,MMC_REFSTRUCTLIT(mmc_nil)}};
#define _OMC_LIT2427 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2427)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2428,2,1) {_OMC_LIT1998,_OMC_LIT2427}};
#define _OMC_LIT2428 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2428)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2429,3,6) {&Tpl_StringToken_ST__STRING__LIST__desc,_OMC_LIT2428,MMC_IMMEDIATE(MMC_TAGFIXNUM(0))}};
#define _OMC_LIT2429 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2429)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2430,1,1) {_OMC_LIT2429}};
#define _OMC_LIT2430 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2430)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2431,9,3) {&Tpl_IterOptions_ITER__OPTIONS__desc,MMC_IMMEDIATE(MMC_TAGFIXNUM(0)),MMC_REFSTRUCTLIT(mmc_none),_OMC_LIT2430,MMC_IMMEDIATE(MMC_TAGFIXNUM(0)),MMC_IMMEDIATE(MMC_TAGFIXNUM(0)),_OMC_LIT98,MMC_IMMEDIATE(MMC_TAGFIXNUM(0)),_OMC_LIT98}};
#define _OMC_LIT2431 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2431)
#define _OMC_LIT2432_data ",\n"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2432,2,_OMC_LIT2432_data);
#define _OMC_LIT2432 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2432)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2433,2,5) {&Tpl_StringToken_ST__LINE__desc,_OMC_LIT2432}};
#define _OMC_LIT2433 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2433)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2434,1,1) {_OMC_LIT2433}};
#define _OMC_LIT2434 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2434)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2435,9,3) {&Tpl_IterOptions_ITER__OPTIONS__desc,MMC_IMMEDIATE(MMC_TAGFIXNUM(0)),MMC_REFSTRUCTLIT(mmc_none),_OMC_LIT2434,MMC_IMMEDIATE(MMC_TAGFIXNUM(0)),MMC_IMMEDIATE(MMC_TAGFIXNUM(0)),_OMC_LIT98,MMC_IMMEDIATE(MMC_TAGFIXNUM(0)),_OMC_LIT98}};
#define _OMC_LIT2435 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2435)
#define _OMC_LIT2436_data "__kernel void omc_"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2436,18,_OMC_LIT2436_data);
#define _OMC_LIT2436 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2436)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2437,2,1) {_OMC_LIT2436,MMC_REFSTRUCTLIT(mmc_nil)}};
#define _OMC_LIT2437 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2437)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2438,2,1) {_OMC_LIT1199,_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(0))}};
#define _OMC_LIT2439 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2439)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2440,2,5) {&Tpl_StringToken_ST__LINE__desc,_OMC_LIT2006}};
#define _OMC_LIT2440 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2440)
#define _OMC_LIT2441_data "	"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2441,1,_OMC_LIT2441_data);
#define _OMC_LIT2441 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2441)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2442,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT2441}};
#define _OMC_LIT2442 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2442)
#define _OMC_LIT2443_data "  /* functionBodyKernelFunction: Reconstruct Arrays */\n"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2443,55,_OMC_LIT2443_data);
#define _OMC_LIT2443 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2443)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2444,2,1) {_OMC_LIT2443,MMC_REFSTRUCTLIT(mmc_nil)}};
#define _OMC_LIT2444 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2444)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2445,2,1) {_OMC_LIT153,_OMC_LIT2444}};
#define _OMC_LIT2445 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2445)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2446,3,6) {&Tpl_StringToken_ST__STRING__LIST__desc,_OMC_LIT2445,MMC_IMMEDIATE(MMC_TAGFIXNUM(1))}};
#define _OMC_LIT2446 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2446)
#define _OMC_LIT2447_data "/* functionBodyKernelFunction: locals */\n"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2447,41,_OMC_LIT2447_data);
#define _OMC_LIT2447 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2447)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2448,2,1) {_OMC_LIT2447,MMC_REFSTRUCTLIT(mmc_nil)}};
#define _OMC_LIT2448 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2448)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2449,2,1) {_OMC_LIT1199,_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 "/* functionBodyKernelFunction: var inits */\n"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2451,44,_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_LIT1199,_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(1))}};
#define _OMC_LIT2454 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2454)
#define _OMC_LIT2455_data "/* functionBodyKernelFunction: body */\n"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2455,39,_OMC_LIT2455_data);
#define _OMC_LIT2455 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2455)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2456,2,5) {&Tpl_StringToken_ST__LINE__desc,_OMC_LIT2455}};
#define _OMC_LIT2456 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2456)
#define _OMC_LIT2457_data "/* Free GPU/OpenCL CPU memory */\n"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2457,33,_OMC_LIT2457_data);
#define _OMC_LIT2457 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2457)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2458,2,1) {_OMC_LIT2457,MMC_REFSTRUCTLIT(mmc_nil)}};
#define _OMC_LIT2458 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2458)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2459,2,1) {_OMC_LIT1199,_OMC_LIT2458}};
#define _OMC_LIT2459 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2459)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2460,3,6) {&Tpl_StringToken_ST__STRING__LIST__desc,_OMC_LIT2459,MMC_IMMEDIATE(MMC_TAGFIXNUM(1))}};
#define _OMC_LIT2460 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2460)
#define _OMC_LIT2461_data "DLLExport\n"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2461,10,_OMC_LIT2461_data);
#define _OMC_LIT2461 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2461)
#define _OMC_LIT2462_data "int in_"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2462,7,_OMC_LIT2462_data);
#define _OMC_LIT2462 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2462)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2463,2,1) {_OMC_LIT2462,MMC_REFSTRUCTLIT(mmc_nil)}};
#define _OMC_LIT2463 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2463)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2464,2,1) {_OMC_LIT2461,_OMC_LIT2463}};
#define _OMC_LIT2464 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2464)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2465,3,6) {&Tpl_StringToken_ST__STRING__LIST__desc,_OMC_LIT2464,MMC_IMMEDIATE(MMC_TAGFIXNUM(0))}};
#define _OMC_LIT2465 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2465)
#define _OMC_LIT2466_data "(threadData_t *threadData, type_description * inArgs, type_description * outVar)\n"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2466,81,_OMC_LIT2466_data);
#define _OMC_LIT2466 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2466)
#define _OMC_LIT2467_data "  //if (!mmc_GC_state) mmc_GC_init();\n"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2467,38,_OMC_LIT2467_data);
#define _OMC_LIT2467 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2467)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2468,2,1) {_OMC_LIT2467,MMC_REFSTRUCTLIT(mmc_nil)}};
#define _OMC_LIT2468 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2468)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2469,2,1) {_OMC_LIT153,_OMC_LIT2468}};
#define _OMC_LIT2469 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2469)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2470,2,1) {_OMC_LIT2466,_OMC_LIT2469}};
#define _OMC_LIT2470 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2470)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2471,3,6) {&Tpl_StringToken_ST__STRING__LIST__desc,_OMC_LIT2470,MMC_IMMEDIATE(MMC_TAGFIXNUM(1))}};
#define _OMC_LIT2471 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2471)
#define _OMC_LIT2472_data "MMC_TRY_TOP_INTERNAL()\n"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2472,23,_OMC_LIT2472_data);
#define _OMC_LIT2472 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2472)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2473,2,5) {&Tpl_StringToken_ST__LINE__desc,_OMC_LIT2472}};
#define _OMC_LIT2473 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2473)
#define _OMC_LIT2474_data "MMC_CATCH_TOP(return 1)\n"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2474,24,_OMC_LIT2474_data);
#define _OMC_LIT2474 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2474)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2475,2,1) {_OMC_LIT2474,MMC_REFSTRUCTLIT(mmc_nil)}};
#define _OMC_LIT2475 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2475)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2476,2,1) {_OMC_LIT385,_OMC_LIT2475}};
#define _OMC_LIT2476 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2476)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2477,3,6) {&Tpl_StringToken_ST__STRING__LIST__desc,_OMC_LIT2476,MMC_IMMEDIATE(MMC_TAGFIXNUM(1))}};
#define _OMC_LIT2477 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2477)
#define _OMC_LIT2478_data "fflush(NULL);\n"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2478,14,_OMC_LIT2478_data);
#define _OMC_LIT2478 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2478)
#define _OMC_LIT2479_data "return 0;\n"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2479,10,_OMC_LIT2479_data);
#define _OMC_LIT2479 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2479)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2480,2,1) {_OMC_LIT2479,MMC_REFSTRUCTLIT(mmc_nil)}};
#define _OMC_LIT2480 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2480)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2481,2,1) {_OMC_LIT2478,_OMC_LIT2480}};
#define _OMC_LIT2481 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2481)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2482,3,6) {&Tpl_StringToken_ST__STRING__LIST__desc,_OMC_LIT2481,MMC_IMMEDIATE(MMC_TAGFIXNUM(1))}};
#define _OMC_LIT2482 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2482)
#define _OMC_LIT2483_data "#ifdef GENERATE_MAIN_EXECUTABLE\n"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2483,32,_OMC_LIT2483_data);
#define _OMC_LIT2483 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2483)
#define _OMC_LIT2484_data "static int rml_execution_failed()\n"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2484,34,_OMC_LIT2484_data);
#define _OMC_LIT2484 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2484)
#define _OMC_LIT2485_data "  fflush(NULL);\n"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2485,16,_OMC_LIT2485_data);
#define _OMC_LIT2485 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2485)
#define _OMC_LIT2486_data "  fprintf(stderr, \"Execution failed!\\n\");\n"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2486,42,_OMC_LIT2486_data);
#define _OMC_LIT2486 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2486)
#define _OMC_LIT2487_data "  return 1;\n"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2487,12,_OMC_LIT2487_data);
#define _OMC_LIT2487 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2487)
#define _OMC_LIT2488_data "int main(int argc, char **argv) {\n"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2488,34,_OMC_LIT2488_data);
#define _OMC_LIT2488 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2488)
#define _OMC_LIT2489_data "  MMC_INIT(0);\n"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2489,15,_OMC_LIT2489_data);
#define _OMC_LIT2489 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2489)
#define _OMC_LIT2490_data "  {\n"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2490,4,_OMC_LIT2490_data);
#define _OMC_LIT2490 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2490)
#define _OMC_LIT2491_data "  void *lst = mmc_mk_nil();\n"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2491,28,_OMC_LIT2491_data);
#define _OMC_LIT2491 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2491)
#define _OMC_LIT2492_data "  int i = 0;\n"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2492,13,_OMC_LIT2492_data);
#define _OMC_LIT2492 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2492)
#define _OMC_LIT2493_data "  for (i=argc-1; i>0; i--) {\n"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2493,29,_OMC_LIT2493_data);
#define _OMC_LIT2493 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2493)
#define _OMC_LIT2494_data "    lst = mmc_mk_cons(mmc_mk_scon(argv[i]), lst);\n"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2494,50,_OMC_LIT2494_data);
#define _OMC_LIT2494 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2494)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2495,2,1) {_OMC_LIT1560,_OMC_LIT1843}};
#define _OMC_LIT2495 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2495)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2496,2,1) {_OMC_LIT2494,_OMC_LIT2495}};
#define _OMC_LIT2496 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2496)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2497,2,1) {_OMC_LIT2493,_OMC_LIT2496}};
#define _OMC_LIT2497 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2497)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2498,2,1) {_OMC_LIT1199,_OMC_LIT2497}};
#define _OMC_LIT2498 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2498)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2499,2,1) {_OMC_LIT2492,_OMC_LIT2498}};
#define _OMC_LIT2499 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2499)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2500,2,1) {_OMC_LIT2491,_OMC_LIT2499}};
#define _OMC_LIT2500 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2500)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2501,2,1) {_OMC_LIT2490,_OMC_LIT2500}};
#define _OMC_LIT2501 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2501)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2502,2,1) {_OMC_LIT2489,_OMC_LIT2501}};
#define _OMC_LIT2502 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2502)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2503,2,1) {_OMC_LIT2488,_OMC_LIT2502}};
#define _OMC_LIT2503 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2503)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2504,2,1) {_OMC_LIT1199,_OMC_LIT2503}};
#define _OMC_LIT2504 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2504)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2505,2,1) {_OMC_LIT159,_OMC_LIT2504}};
#define _OMC_LIT2505 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2505)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2506,2,1) {_OMC_LIT2487,_OMC_LIT2505}};
#define _OMC_LIT2506 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2506)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2507,2,1) {_OMC_LIT2485,_OMC_LIT2506}};
#define _OMC_LIT2507 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2507)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2508,2,1) {_OMC_LIT2486,_OMC_LIT2507}};
#define _OMC_LIT2508 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2508)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2509,2,1) {_OMC_LIT2485,_OMC_LIT2508}};
#define _OMC_LIT2509 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2509)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2510,2,1) {_OMC_LIT153,_OMC_LIT2509}};
#define _OMC_LIT2510 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2510)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2511,2,1) {_OMC_LIT2484,_OMC_LIT2510}};
#define _OMC_LIT2511 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2511)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2512,2,1) {_OMC_LIT2483,_OMC_LIT2511}};
#define _OMC_LIT2512 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2512)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2513,2,1) {_OMC_LIT159,_OMC_LIT2512}};
#define _OMC_LIT2513 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2513)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2514,3,6) {&Tpl_StringToken_ST__STRING__LIST__desc,_OMC_LIT2513,MMC_IMMEDIATE(MMC_TAGFIXNUM(1))}};
#define _OMC_LIT2514 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2514)
#define _OMC_LIT2515_data "(threadData, lst);"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2515,18,_OMC_LIT2515_data);
#define _OMC_LIT2515 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2515)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2516,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT2515}};
#define _OMC_LIT2516 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2516)
#define _OMC_LIT2517_data "https://trac.openmodelica.org/OpenModelica/newticket"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2517,52,_OMC_LIT2517_data);
#define _OMC_LIT2517 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2517)
#define _OMC_LIT2518_data "hpcom"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2518,5,_OMC_LIT2518_data);
#define _OMC_LIT2518 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2518)
#define _OMC_LIT2519_data "Enables parallel calculation based on task-graphs."
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2519,50,_OMC_LIT2519_data);
#define _OMC_LIT2519 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2519)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2520,2,3) {&Gettext_TranslatableContent_gettext__desc,_OMC_LIT2519}};
#define _OMC_LIT2520 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2520)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2521,5,3) {&Flags_DebugFlag_DEBUG__FLAG__desc,MMC_IMMEDIATE(MMC_TAGFIXNUM(85)),_OMC_LIT2518,MMC_IMMEDIATE(MMC_TAGFIXNUM(0)),_OMC_LIT2520}};
#define _OMC_LIT2521 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2521)
#define _OMC_LIT2522_data "EXIT(0);\n"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2522,9,_OMC_LIT2522_data);
#define _OMC_LIT2522 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2522)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2523,2,1) {_OMC_LIT2522,_OMC_LIT2480}};
#define _OMC_LIT2523 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2523)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2524,2,1) {_OMC_LIT2478,_OMC_LIT2523}};
#define _OMC_LIT2524 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2524)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2525,3,6) {&Tpl_StringToken_ST__STRING__LIST__desc,_OMC_LIT2524,MMC_IMMEDIATE(MMC_TAGFIXNUM(1))}};
#define _OMC_LIT2525 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2525)
#define _OMC_LIT2526_data "#endif"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2526,6,_OMC_LIT2526_data);
#define _OMC_LIT2526 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2526)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2527,2,1) {_OMC_LIT2526,MMC_REFSTRUCTLIT(mmc_nil)}};
#define _OMC_LIT2527 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2527)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2528,2,1) {_OMC_LIT159,_OMC_LIT2527}};
#define _OMC_LIT2528 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2528)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2529,3,6) {&Tpl_StringToken_ST__STRING__LIST__desc,_OMC_LIT2528,MMC_IMMEDIATE(MMC_TAGFIXNUM(0))}};
#define _OMC_LIT2529 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2529)
#define _OMC_LIT2530_data "terminateHpcOmThreads();"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2530,24,_OMC_LIT2530_data);
#define _OMC_LIT2530 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2530)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2531,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT2530}};
#define _OMC_LIT2531 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2531)
#define _OMC_LIT2532_data "write_noretcall(outVar);"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2532,24,_OMC_LIT2532_data);
#define _OMC_LIT2532 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2532)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2533,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT2532}};
#define _OMC_LIT2533 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2533)
#define _OMC_LIT2534_data "_tailrecursive: OMC_LABEL_UNUSED\n"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2534,33,_OMC_LIT2534_data);
#define _OMC_LIT2534 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2534)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2535,2,5) {&Tpl_StringToken_ST__LINE__desc,_OMC_LIT2534}};
#define _OMC_LIT2535 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2535)
#define _OMC_LIT2536_data "_return: OMC_LABEL_UNUSED\n"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2536,26,_OMC_LIT2536_data);
#define _OMC_LIT2536 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2536)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2537,2,5) {&Tpl_StringToken_ST__LINE__desc,_OMC_LIT2536}};
#define _OMC_LIT2537 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2537)
#define _OMC_LIT2538_data "/* Free GPU/OpenCL CPU memory */"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2538,32,_OMC_LIT2538_data);
#define _OMC_LIT2538 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2538)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2539,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT2538}};
#define _OMC_LIT2539 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2539)
#define _OMC_LIT2540_data "MMC_SO();"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2540,9,_OMC_LIT2540_data);
#define _OMC_LIT2540 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2540)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2541,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT2540}};
#define _OMC_LIT2541 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2541)
#define _OMC_LIT2542_data "DLLExport"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2542,9,_OMC_LIT2542_data);
#define _OMC_LIT2542 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2542)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2543,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT2542}};
#define _OMC_LIT2543 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2543)
#define _OMC_LIT2544_data "_destructor(threadData,"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2544,23,_OMC_LIT2544_data);
#define _OMC_LIT2544 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2544)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2545,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT2544}};
#define _OMC_LIT2545 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2545)
#define _OMC_LIT2546_data "jmp_buf *old_mmc_jumper = threadData->mmc_jumper;"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2546,49,_OMC_LIT2546_data);
#define _OMC_LIT2546 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2546)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2547,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT2546}};
#define _OMC_LIT2547 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2547)
#define _OMC_LIT2548_data "threadData->mmc_jumper = old_mmc_jumper;"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2548,40,_OMC_LIT2548_data);
#define _OMC_LIT2548 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2548)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2549,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT2548}};
#define _OMC_LIT2549 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2549)
#define _OMC_LIT2550_data " /*"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2550,3,_OMC_LIT2550_data);
#define _OMC_LIT2550 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2550)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2551,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT2550}};
#define _OMC_LIT2551 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2551)
#define _OMC_LIT2552_data "int *"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2552,5,_OMC_LIT2552_data);
#define _OMC_LIT2552 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2552)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2553,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT2552}};
#define _OMC_LIT2553 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2553)
#define _OMC_LIT2554_data "size_t"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2554,6,_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 "char"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2556,4,_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 "void*"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2558,5,_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 "Unknown external F77 type "
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2560,26,_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 "const "
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2562,6,_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 "Unknown external C type "
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2564,24,_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 "Expression types are unsupported as return arguments "
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2566,53,_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 "Unsupported return argument"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2568,27,_OMC_LIT2568_data);
#define _OMC_LIT2568 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2568)
#define _OMC_LIT2569_data "typedef "
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2569,8,_OMC_LIT2569_data);
#define _OMC_LIT2569 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2569)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2570,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT2569}};
#define _OMC_LIT2570 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2570)
#define _OMC_LIT2571_data " (*ptrT_"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2571,8,_OMC_LIT2571_data);
#define _OMC_LIT2571 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2571)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2572,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT2571}};
#define _OMC_LIT2572 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2572)
#define _OMC_LIT2573_data ")("
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2573,2,_OMC_LIT2573_data);
#define _OMC_LIT2573 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2573)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2574,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT2573}};
#define _OMC_LIT2574 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2574)
#define _OMC_LIT2575_data "extern ptrT_"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2575,12,_OMC_LIT2575_data);
#define _OMC_LIT2575 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2575)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2576,2,1) {_OMC_LIT2575,MMC_REFSTRUCTLIT(mmc_nil)}};
#define _OMC_LIT2576 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2576)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2577,2,1) {_OMC_LIT385,_OMC_LIT2576}};
#define _OMC_LIT2577 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2577)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2578,3,6) {&Tpl_StringToken_ST__STRING__LIST__desc,_OMC_LIT2577,MMC_IMMEDIATE(MMC_TAGFIXNUM(0))}};
#define _OMC_LIT2578 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2578)
#define _OMC_LIT2579_data "extern "
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2579,7,_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 " * The function has annotation(Include=...>) or is builtin\n"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2581,59,_OMC_LIT2581_data);
#define _OMC_LIT2581 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2581)
#define _OMC_LIT2582_data " * the external function definition should be present\n"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2582,54,_OMC_LIT2582_data);
#define _OMC_LIT2582 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2582)
#define _OMC_LIT2583_data " * in one of these files and have this prototype:\n"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2583,50,_OMC_LIT2583_data);
#define _OMC_LIT2583 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2583)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2584,2,1) {_OMC_LIT2583,MMC_REFSTRUCTLIT(mmc_nil)}};
#define _OMC_LIT2584 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2584)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2585,2,1) {_OMC_LIT2582,_OMC_LIT2584}};
#define _OMC_LIT2585 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2585)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2586,2,1) {_OMC_LIT2581,_OMC_LIT2585}};
#define _OMC_LIT2586 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2586)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2587,2,1) {_OMC_LIT2411,_OMC_LIT2586}};
#define _OMC_LIT2587 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2587)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2588,3,6) {&Tpl_StringToken_ST__STRING__LIST__desc,_OMC_LIT2587,MMC_IMMEDIATE(MMC_TAGFIXNUM(1))}};
#define _OMC_LIT2588 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2588)
#define _OMC_LIT2589_data "* extern "
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2589,9,_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)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2591,2,1) {_OMC_LIT1443,MMC_REFSTRUCTLIT(mmc_nil)}};
#define _OMC_LIT2591 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2591)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2592,2,1) {_OMC_LIT385,_OMC_LIT2591}};
#define _OMC_LIT2592 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2592)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2593,3,6) {&Tpl_StringToken_ST__STRING__LIST__desc,_OMC_LIT2592,MMC_IMMEDIATE(MMC_TAGFIXNUM(0))}};
#define _OMC_LIT2593 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2593)
#define _OMC_LIT2594_data ".data = data_"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2594,13,_OMC_LIT2594_data);
#define _OMC_LIT2594 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2594)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2595,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT2594}};
#define _OMC_LIT2595 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2595)
#define _OMC_LIT2596_data ".ndims = info_"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2596,14,_OMC_LIT2596_data);
#define _OMC_LIT2596 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2596)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2597,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT2596}};
#define _OMC_LIT2597 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2597)
#define _OMC_LIT2598_data "[0]; "
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2598,5,_OMC_LIT2598_data);
#define _OMC_LIT2598 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2598)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2599,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT2598}};
#define _OMC_LIT2599 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2599)
#define _OMC_LIT2600_data ".dim_size = info_"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2600,17,_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 " + 1; "
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2602,6,_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 "local_"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2604,6,_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 "#wiered variable in kerenl reconstruction of arrays"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2606,51,_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 "real_array "
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2608,11,_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 "modelica_real "
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2610,14,_OMC_LIT2610_data);
#define _OMC_LIT2610 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2610)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2611,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT2610}};
#define _OMC_LIT2611 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2611)
#define _OMC_LIT2612_data "Tempalte error in parFunArgDefinitionFromLooptupleVar"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2612,53,_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 "__global modelica_integer* data_"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2614,32,_OMC_LIT2614_data);
#define _OMC_LIT2614 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2614)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2615,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT2614}};
#define _OMC_LIT2615 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2615)
#define _OMC_LIT2616_data "__global modelica_integer* info_"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2616,32,_OMC_LIT2616_data);
#define _OMC_LIT2616 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2616)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2617,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT2616}};
#define _OMC_LIT2617 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2617)
#define _OMC_LIT2618_data "__global modelica_real* data_"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2618,29,_OMC_LIT2618_data);
#define _OMC_LIT2618 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2618)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2619,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT2618}};
#define _OMC_LIT2619 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2619)
#define _OMC_LIT2620_data "Template error in parFunArgDefinitionFromLooptupleVar"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2620,53,_OMC_LIT2620_data);
#define _OMC_LIT2620 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2620)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2621,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT2620}};
#define _OMC_LIT2621 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2621)
#define _OMC_LIT2622_data "    __global modelica_"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2622,22,_OMC_LIT2622_data);
#define _OMC_LIT2622 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2622)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2623,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT2622}};
#define _OMC_LIT2623 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2623)
#define _OMC_LIT2624_data "* data_"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2624,7,_OMC_LIT2624_data);
#define _OMC_LIT2624 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2624)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2625,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT2624}};
#define _OMC_LIT2625 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2625)
#define _OMC_LIT2626_data "    __global modelica_integer* info_"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2626,36,_OMC_LIT2626_data);
#define _OMC_LIT2626 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2626)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2627,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT2626}};
#define _OMC_LIT2627 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2627)
#define _OMC_LIT2628_data "#error Unknown variable type in as function argument funArgDefinitionKernelFunctionBody2"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2628,88,_OMC_LIT2628_data);
#define _OMC_LIT2628 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2628)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2629,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT2628}};
#define _OMC_LIT2629 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2629)
#define _OMC_LIT2630_data "    modelica_"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2630,13,_OMC_LIT2630_data);
#define _OMC_LIT2630 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2630)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2631,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT2630}};
#define _OMC_LIT2631 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2631)
#define _OMC_LIT2632_data "__global modelica_"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2632,18,_OMC_LIT2632_data);
#define _OMC_LIT2632 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2632)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2633,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT2632}};
#define _OMC_LIT2633 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2633)
#define _OMC_LIT2634_data "__local modelica_"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2634,17,_OMC_LIT2634_data);
#define _OMC_LIT2634 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2634)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2635,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT2634}};
#define _OMC_LIT2635 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2635)
#define _OMC_LIT2636_data "    __local modelica_integer* info_"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2636,35,_OMC_LIT2636_data);
#define _OMC_LIT2636 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2636)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2637,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT2636}};
#define _OMC_LIT2637 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2637)
#define _OMC_LIT2638_data "#error Unknown variable type in as function argument funArgDefinitionKernelFunctionBody"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2638,87,_OMC_LIT2638_data);
#define _OMC_LIT2638 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2638)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2639,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT2638}};
#define _OMC_LIT2639 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2639)
#define _OMC_LIT2640_data " *out"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2640,5,_OMC_LIT2640_data);
#define _OMC_LIT2640 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2640)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2641,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT2640}};
#define _OMC_LIT2641 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2641)
#define _OMC_LIT2642_data "tupleOutfunArgDefinitionKernelFunctionInterface : unsupported function argument type"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2642,84,_OMC_LIT2642_data);
#define _OMC_LIT2642 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2642)
#define _OMC_LIT2643_data "funArgDefinitionKernelFunctionInterface : unsupported function argument type"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2643,76,_OMC_LIT2643_data);
#define _OMC_LIT2643 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2643)
#define _OMC_LIT2644_data " = {0}"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2644,6,_OMC_LIT2644_data);
#define _OMC_LIT2644 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2644)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2645,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT2644}};
#define _OMC_LIT2645 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2645)
#define _OMC_LIT2646_data "threadData_t *threadData"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2646,24,_OMC_LIT2646_data);
#define _OMC_LIT2646 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2646)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2647,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT2646}};
#define _OMC_LIT2647 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2647)
#define _OMC_LIT2648_data "void omc_"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2648,9,_OMC_LIT2648_data);
#define _OMC_LIT2648 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2648)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2649,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT2648}};
#define _OMC_LIT2649 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2649)
#define _OMC_LIT2650_data "functionHeaderKernelFunctionInterfacePrototype failed"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2650,53,_OMC_LIT2650_data);
#define _OMC_LIT2650 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2650)
#define _OMC_LIT2651_data "void "
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2651,5,_OMC_LIT2651_data);
#define _OMC_LIT2651 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2651)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2652,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT2651}};
#define _OMC_LIT2652 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2652)
#define _OMC_LIT2653_data "modelica_fnptr *out"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2653,19,_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 "td_"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2655,3,_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 "impl_"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2657,5,_OMC_LIT2657_data);
#define _OMC_LIT2657 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2657)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2658,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT2657}};
#define _OMC_LIT2658 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2658)
#define _OMC_LIT2659_data "omc"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2659,3,_OMC_LIT2659_data);
#define _OMC_LIT2659 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2659)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2660,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT2659}};
#define _OMC_LIT2660 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2660)
#define _OMC_LIT2661_data "boxptr"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2661,6,_OMC_LIT2661_data);
#define _OMC_LIT2661 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2661)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2662,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT2661}};
#define _OMC_LIT2662 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2662)
#define _OMC_LIT2663_data "(threadData_t *threadData, type_description * inArgs, type_description * outVar);"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2663,81,_OMC_LIT2663_data);
#define _OMC_LIT2663 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2663)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2664,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT2663}};
#define _OMC_LIT2664 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2664)
#define _OMC_LIT2665_data "static const MMC_DEFSTRUCTLIT(boxvar_lit_"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2665,41,_OMC_LIT2665_data);
#define _OMC_LIT2665 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2665)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2666,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT2665}};
#define _OMC_LIT2666 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2666)
#define _OMC_LIT2667_data ",2,0) {(void*) "
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2667,15,_OMC_LIT2667_data);
#define _OMC_LIT2667 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2667)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2668,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT2667}};
#define _OMC_LIT2668 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2668)
#define _OMC_LIT2669_data ",0}};\n"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2669,6,_OMC_LIT2669_data);
#define _OMC_LIT2669 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2669)
#define _OMC_LIT2670_data "#define boxvar_"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2670,15,_OMC_LIT2670_data);
#define _OMC_LIT2670 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2670)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2671,2,1) {_OMC_LIT2670,MMC_REFSTRUCTLIT(mmc_nil)}};
#define _OMC_LIT2671 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2671)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2672,2,1) {_OMC_LIT2669,_OMC_LIT2671}};
#define _OMC_LIT2672 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2672)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2673,3,6) {&Tpl_StringToken_ST__STRING__LIST__desc,_OMC_LIT2672,MMC_IMMEDIATE(MMC_TAGFIXNUM(0))}};
#define _OMC_LIT2673 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2673)
#define _OMC_LIT2674_data " MMC_REFSTRUCTLIT(boxvar_lit_"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2674,29,_OMC_LIT2674_data);
#define _OMC_LIT2674 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2674)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2675,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT2674}};
#define _OMC_LIT2675 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2675)
#define _OMC_LIT2676_data " /* boxvar early */"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2676,19,_OMC_LIT2676_data);
#define _OMC_LIT2676 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2676)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2677,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT2676}};
#define _OMC_LIT2677 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2677)
#define _OMC_LIT2678_data "#define boxptr_"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2678,15,_OMC_LIT2678_data);
#define _OMC_LIT2678 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2678)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2679,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT2678}};
#define _OMC_LIT2679 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2679)
#define _OMC_LIT2680_data "extern struct record_description "
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2680,33,_OMC_LIT2680_data);
#define _OMC_LIT2680 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2680)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2681,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT2680}};
#define _OMC_LIT2681 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2681)
#define _OMC_LIT2682_data "__desc;"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2682,7,_OMC_LIT2682_data);
#define _OMC_LIT2682 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2682)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2683,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT2682}};
#define _OMC_LIT2683 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2683)
#define _OMC_LIT2684_data "__desc_added 1\n"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2684,15,_OMC_LIT2684_data);
#define _OMC_LIT2684 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2684)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2685,2,5) {&Tpl_StringToken_ST__LINE__desc,_OMC_LIT2684}};
#define _OMC_LIT2685 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2685)
#define _OMC_LIT2686_data "struct record_description "
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2686,26,_OMC_LIT2686_data);
#define _OMC_LIT2686 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2686)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2687,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT2686}};
#define _OMC_LIT2687 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2687)
#define _OMC_LIT2688_data "__desc = {\n"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2688,11,_OMC_LIT2688_data);
#define _OMC_LIT2688 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2688)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2689,2,5) {&Tpl_StringToken_ST__LINE__desc,_OMC_LIT2688}};
#define _OMC_LIT2689 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2689)
#define _OMC_LIT2690_data "\", /* package_record__X */\n"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2690,27,_OMC_LIT2690_data);
#define _OMC_LIT2690 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2690)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2691,2,1) {_OMC_LIT239,MMC_REFSTRUCTLIT(mmc_nil)}};
#define _OMC_LIT2691 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2691)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2692,2,1) {_OMC_LIT2690,_OMC_LIT2691}};
#define _OMC_LIT2692 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2692)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2693,3,6) {&Tpl_StringToken_ST__STRING__LIST__desc,_OMC_LIT2692,MMC_IMMEDIATE(MMC_TAGFIXNUM(0))}};
#define _OMC_LIT2693 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2693)
#define _OMC_LIT2694_data "\", /* package.record_X */\n"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2694,26,_OMC_LIT2694_data);
#define _OMC_LIT2694 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2694)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2695,2,5) {&Tpl_StringToken_ST__LINE__desc,_OMC_LIT2694}};
#define _OMC_LIT2695 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2695)
#define _OMC_LIT2696_data "__desc__fields\n"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2696,15,_OMC_LIT2696_data);
#define _OMC_LIT2696 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2696)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2697,2,5) {&Tpl_StringToken_ST__LINE__desc,_OMC_LIT2696}};
#define _OMC_LIT2697 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2697)
#define _OMC_LIT2698_data "SourceInfo_SOURCEINFO"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2698,21,_OMC_LIT2698_data);
#define _OMC_LIT2698 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2698)
#define _OMC_LIT2699_data "const char* "
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2699,12,_OMC_LIT2699_data);
#define _OMC_LIT2699 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2699)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2700,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT2699}};
#define _OMC_LIT2700 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2700)
#define _OMC_LIT2701_data "__desc__fields[1] = {\"no fields\"};"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2701,34,_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 "__desc__fields["
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2703,15,_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 "_array(&("
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2705,9,_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 "); // "
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2707,6,_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 " has no default value."
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2709,22,_OMC_LIT2709_data);
#define _OMC_LIT2709 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2709)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2710,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT2709}};
#define _OMC_LIT2710 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2710)
#define _OMC_LIT2711_data "generic_array_create_flexible(&"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2711,31,_OMC_LIT2711_data);
#define _OMC_LIT2711 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2711)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2712,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT2711}};
#define _OMC_LIT2712 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2712)
#define _OMC_LIT2713_data " has unknown size and no default value. It is flexible."
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2713,55,_OMC_LIT2713_data);
#define _OMC_LIT2713 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2713)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2714,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT2713}};
#define _OMC_LIT2714 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2714)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2715,2,1) {_OMC_LIT385,_OMC_LIT1843}};
#define _OMC_LIT2715 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2715)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2716,3,6) {&Tpl_StringToken_ST__STRING__LIST__desc,_OMC_LIT2715,MMC_IMMEDIATE(MMC_TAGFIXNUM(1))}};
#define _OMC_LIT2716 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2716)
#define _OMC_LIT2717_data "_array_alloc_copy("
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2717,18,_OMC_LIT2717_data);
#define _OMC_LIT2717 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2717)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2718,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT2717}};
#define _OMC_LIT2718 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2718)
#define _OMC_LIT2719_data "in"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2719,2,_OMC_LIT2719_data);
#define _OMC_LIT2719 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2719)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2720,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT2719}};
#define _OMC_LIT2720 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2720)
#define _OMC_LIT2721_data "Record has binding from outside but found a non EQBOUND binding. Implement me."
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2721,78,_OMC_LIT2721_data);
#define _OMC_LIT2721 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2721)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2722,2,1) {_OMC_LIT168,_OMC_LIT1843}};
#define _OMC_LIT2722 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2722)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2723,3,6) {&Tpl_StringToken_ST__STRING__LIST__desc,_OMC_LIT2722,MMC_IMMEDIATE(MMC_TAGFIXNUM(1))}};
#define _OMC_LIT2723 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2723)
#define _OMC_LIT2724_data " // "
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2724,4,_OMC_LIT2724_data);
#define _OMC_LIT2724 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2724)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2725,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT2724}};
#define _OMC_LIT2725 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2725)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2726,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT596}};
#define _OMC_LIT2726 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2726)
#define _OMC_LIT2727_data "_construct_p(threadData_t *threadData, void* v_ths "
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2727,51,_OMC_LIT2727_data);
#define _OMC_LIT2727 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2727)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2728,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT2727}};
#define _OMC_LIT2728 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2728)
#define _OMC_LIT2729_data "* ths = ("
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2729,9,_OMC_LIT2729_data);
#define _OMC_LIT2729 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2729)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2730,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT2729}};
#define _OMC_LIT2730 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2730)
#define _OMC_LIT2731_data "*)(v_ths);\n"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2731,11,_OMC_LIT2731_data);
#define _OMC_LIT2731 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2731)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2732,2,5) {&Tpl_StringToken_ST__LINE__desc,_OMC_LIT2731}};
#define _OMC_LIT2732 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2732)
#define _OMC_LIT2733_data "ths->"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2733,5,_OMC_LIT2733_data);
#define _OMC_LIT2733 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2733)
#define _OMC_LIT2734_data " in"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2734,3,_OMC_LIT2734_data);
#define _OMC_LIT2734 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2734)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2735,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT2734}};
#define _OMC_LIT2735 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2735)
#define _OMC_LIT2736_data "dst."
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2736,4,_OMC_LIT2736_data);
#define _OMC_LIT2736 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2736)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2737,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT2736}};
#define _OMC_LIT2737 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2737)
#define _OMC_LIT2738_data "// This function should eventualy replace the default 'modelica' record constructor funcition\n"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2738,94,_OMC_LIT2738_data);
#define _OMC_LIT2738 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2738)
#define _OMC_LIT2739_data "// that omc used to generate, i.e., replace functionBodyRecordConstructor template.\n"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2739,84,_OMC_LIT2739_data);
#define _OMC_LIT2739 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2739)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2740,2,1) {_OMC_LIT2739,_OMC_LIT2412}};
#define _OMC_LIT2740 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2740)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2741,2,1) {_OMC_LIT2738,_OMC_LIT2740}};
#define _OMC_LIT2741 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2741)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2742,3,6) {&Tpl_StringToken_ST__STRING__LIST__desc,_OMC_LIT2741,MMC_IMMEDIATE(MMC_TAGFIXNUM(1))}};
#define _OMC_LIT2742 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2742)
#define _OMC_LIT2743_data "(threadData_t *threadData "
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2743,26,_OMC_LIT2743_data);
#define _OMC_LIT2743 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2743)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2744,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT2743}};
#define _OMC_LIT2744 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2744)
#define _OMC_LIT2745_data " dst;\n"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2745,6,_OMC_LIT2745_data);
#define _OMC_LIT2745 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2745)
#define _OMC_LIT2746_data "// TODO Improve me. No need to initalize the record members with defaults in "
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2746,77,_OMC_LIT2746_data);
#define _OMC_LIT2746 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2746)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2747,2,1) {_OMC_LIT2746,MMC_REFSTRUCTLIT(mmc_nil)}};
#define _OMC_LIT2747 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2747)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2748,2,1) {_OMC_LIT2745,_OMC_LIT2747}};
#define _OMC_LIT2748 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2748)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2749,3,6) {&Tpl_StringToken_ST__STRING__LIST__desc,_OMC_LIT2748,MMC_IMMEDIATE(MMC_TAGFIXNUM(0))}};
#define _OMC_LIT2749 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2749)
#define _OMC_LIT2750_data "_construct\n"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2750,11,_OMC_LIT2750_data);
#define _OMC_LIT2750 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2750)
#define _OMC_LIT2751_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_STRUCT2751,99,_OMC_LIT2751_data);
#define _OMC_LIT2751 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2751)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2752,2,1) {_OMC_LIT2751,MMC_REFSTRUCTLIT(mmc_nil)}};
#define _OMC_LIT2752 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2752)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2753,2,1) {_OMC_LIT2750,_OMC_LIT2752}};
#define _OMC_LIT2753 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2753)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2754,3,6) {&Tpl_StringToken_ST__STRING__LIST__desc,_OMC_LIT2753,MMC_IMMEDIATE(MMC_TAGFIXNUM(1))}};
#define _OMC_LIT2754 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2754)
#define _OMC_LIT2755_data "_construct(threadData, dst);\n"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2755,29,_OMC_LIT2755_data);
#define _OMC_LIT2755 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2755)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2756,2,5) {&Tpl_StringToken_ST__LINE__desc,_OMC_LIT2755}};
#define _OMC_LIT2756 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2756)
#define _OMC_LIT2757_data "return dst;\n"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2757,12,_OMC_LIT2757_data);
#define _OMC_LIT2757 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2757)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2758,2,5) {&Tpl_StringToken_ST__LINE__desc,_OMC_LIT2757}};
#define _OMC_LIT2758 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2758)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2759,2,1) {_OMC_LIT159,_OMC_LIT2591}};
#define _OMC_LIT2759 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2759)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2760,3,6) {&Tpl_StringToken_ST__STRING__LIST__desc,_OMC_LIT2759,MMC_IMMEDIATE(MMC_TAGFIXNUM(0))}};
#define _OMC_LIT2760 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2760)
#define _OMC_LIT2761_data "dst->"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2761,5,_OMC_LIT2761_data);
#define _OMC_LIT2761 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2761)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2762,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT2761}};
#define _OMC_LIT2762 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2762)
#define _OMC_LIT2763_data "src->"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2763,5,_OMC_LIT2763_data);
#define _OMC_LIT2763 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2763)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2764,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT2763}};
#define _OMC_LIT2764 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2764)
#define _OMC_LIT2765_data "_copy_p(void* v_src, void* v_dst) {\n"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2765,36,_OMC_LIT2765_data);
#define _OMC_LIT2765 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2765)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2766,2,5) {&Tpl_StringToken_ST__LINE__desc,_OMC_LIT2765}};
#define _OMC_LIT2766 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2766)
#define _OMC_LIT2767_data "* src = ("
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2767,9,_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 "*)(v_src);\n"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2769,11,_OMC_LIT2769_data);
#define _OMC_LIT2769 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2769)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2770,2,5) {&Tpl_StringToken_ST__LINE__desc,_OMC_LIT2769}};
#define _OMC_LIT2770 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2770)
#define _OMC_LIT2771_data "* dst = ("
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2771,9,_OMC_LIT2771_data);
#define _OMC_LIT2771 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2771)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2772,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT2771}};
#define _OMC_LIT2772 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2772)
#define _OMC_LIT2773_data "*)(v_dst);\n"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2773,11,_OMC_LIT2773_data);
#define _OMC_LIT2773 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2773)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2774,2,5) {&Tpl_StringToken_ST__LINE__desc,_OMC_LIT2773}};
#define _OMC_LIT2774 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2774)
#define _OMC_LIT2775_data "_construct"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2775,10,_OMC_LIT2775_data);
#define _OMC_LIT2775 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2775)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2776,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT2775}};
#define _OMC_LIT2776 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2776)
#define _OMC_LIT2777_data "_p"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2777,2,_OMC_LIT2777_data);
#define _OMC_LIT2777 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2777)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2778,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT2777}};
#define _OMC_LIT2778 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2778)
#define _OMC_LIT2779_data "_copy"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2779,5,_OMC_LIT2779_data);
#define _OMC_LIT2779 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2779)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2780,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT2779}};
#define _OMC_LIT2780 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2780)
#define _OMC_LIT2781_data "_copy_to_vars"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2781,13,_OMC_LIT2781_data);
#define _OMC_LIT2781 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2781)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2782,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT2781}};
#define _OMC_LIT2782 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2782)
#define _OMC_LIT2783_data "__desc;\n"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2783,8,_OMC_LIT2783_data);
#define _OMC_LIT2783 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2783)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2784,2,1) {_OMC_LIT2651,MMC_REFSTRUCTLIT(mmc_nil)}};
#define _OMC_LIT2784 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2784)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2785,2,1) {_OMC_LIT1199,_OMC_LIT2784}};
#define _OMC_LIT2785 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2785)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2786,2,1) {_OMC_LIT2783,_OMC_LIT2785}};
#define _OMC_LIT2786 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2786)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2787,3,6) {&Tpl_StringToken_ST__STRING__LIST__desc,_OMC_LIT2786,MMC_IMMEDIATE(MMC_TAGFIXNUM(0))}};
#define _OMC_LIT2787 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2787)
#define _OMC_LIT2788_data "(threadData_t *threadData, void* v_ths "
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2788,39,_OMC_LIT2788_data);
#define _OMC_LIT2788 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2788)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2789,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT2788}};
#define _OMC_LIT2789 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2789)
#define _OMC_LIT2790_data "(td, ths "
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2790,9,_OMC_LIT2790_data);
#define _OMC_LIT2790 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2790)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2791,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT2790}};
#define _OMC_LIT2791 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2791)
#define _OMC_LIT2792_data "(td, &ths "
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2792,10,_OMC_LIT2792_data);
#define _OMC_LIT2792 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2792)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2793,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT2792}};
#define _OMC_LIT2793 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2793)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2794,2,1) {_OMC_LIT436,_OMC_LIT2784}};
#define _OMC_LIT2794 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2794)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2795,3,6) {&Tpl_StringToken_ST__STRING__LIST__desc,_OMC_LIT2794,MMC_IMMEDIATE(MMC_TAGFIXNUM(0))}};
#define _OMC_LIT2795 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2795)
#define _OMC_LIT2796_data "(void* v_src, void* v_dst);\n"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2796,28,_OMC_LIT2796_data);
#define _OMC_LIT2796 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2796)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2797,2,1) {_OMC_LIT2796,_OMC_LIT1726}};
#define _OMC_LIT2797 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2797)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2798,3,6) {&Tpl_StringToken_ST__STRING__LIST__desc,_OMC_LIT2797,MMC_IMMEDIATE(MMC_TAGFIXNUM(0))}};
#define _OMC_LIT2798 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2798)
#define _OMC_LIT2799_data "(src,dst) "
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2799,10,_OMC_LIT2799_data);
#define _OMC_LIT2799 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2799)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2800,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT2799}};
#define _OMC_LIT2800 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2800)
#define _OMC_LIT2801_data "(&src, &dst)\n"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2801,13,_OMC_LIT2801_data);
#define _OMC_LIT2801 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2801)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2802,2,1) {_OMC_LIT2739,_OMC_LIT597}};
#define _OMC_LIT2802 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2802)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2803,2,1) {_OMC_LIT2738,_OMC_LIT2802}};
#define _OMC_LIT2803 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2803)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2804,2,1) {_OMC_LIT1199,_OMC_LIT2803}};
#define _OMC_LIT2804 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2804)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2805,2,1) {_OMC_LIT2801,_OMC_LIT2804}};
#define _OMC_LIT2805 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2805)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2806,3,6) {&Tpl_StringToken_ST__STRING__LIST__desc,_OMC_LIT2805,MMC_IMMEDIATE(MMC_TAGFIXNUM(0))}};
#define _OMC_LIT2806 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2806)
#define _OMC_LIT2807_data "// This function is not needed anymore. If you want to know how a record\n"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2807,73,_OMC_LIT2807_data);
#define _OMC_LIT2807 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2807)
#define _OMC_LIT2808_data "// is 'assigned to' in simulation context see assignRhsExpToRecordCrefSimContext and\n"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2808,85,_OMC_LIT2808_data);
#define _OMC_LIT2808 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2808)
#define _OMC_LIT2809_data "// splitRecordAssignmentToMemberAssignments (simCode). Basically the record is\n"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2809,79,_OMC_LIT2809_data);
#define _OMC_LIT2809 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2809)
#define _OMC_LIT2810_data "// split up assignments generated for each memeber individualy.\n"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2810,64,_OMC_LIT2810_data);
#define _OMC_LIT2810 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2810)
#define _OMC_LIT2811_data "// void "
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2811,8,_OMC_LIT2811_data);
#define _OMC_LIT2811 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2811)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2812,2,1) {_OMC_LIT2811,MMC_REFSTRUCTLIT(mmc_nil)}};
#define _OMC_LIT2812 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2812)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2813,2,1) {_OMC_LIT2810,_OMC_LIT2812}};
#define _OMC_LIT2813 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2813)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2814,2,1) {_OMC_LIT2809,_OMC_LIT2813}};
#define _OMC_LIT2814 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2814)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2815,2,1) {_OMC_LIT2808,_OMC_LIT2814}};
#define _OMC_LIT2815 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2815)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2816,2,1) {_OMC_LIT2807,_OMC_LIT2815}};
#define _OMC_LIT2816 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2816)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2817,2,1) {_OMC_LIT1199,_OMC_LIT2816}};
#define _OMC_LIT2817 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2817)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2818,2,1) {_OMC_LIT385,_OMC_LIT2817}};
#define _OMC_LIT2818 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2818)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2819,3,6) {&Tpl_StringToken_ST__STRING__LIST__desc,_OMC_LIT2818,MMC_IMMEDIATE(MMC_TAGFIXNUM(0))}};
#define _OMC_LIT2819 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2819)
#define _OMC_LIT2820_data "(void* v_src "
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2820,13,_OMC_LIT2820_data);
#define _OMC_LIT2820 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2820)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2821,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT2820}};
#define _OMC_LIT2821 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2821)
#define _OMC_LIT2822_data "// #define "
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2822,11,_OMC_LIT2822_data);
#define _OMC_LIT2822 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2822)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2823,2,1) {_OMC_LIT2822,MMC_REFSTRUCTLIT(mmc_nil)}};
#define _OMC_LIT2823 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2823)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2824,2,1) {_OMC_LIT385,_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(0))}};
#define _OMC_LIT2825 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2825)
#define _OMC_LIT2826_data "(src,...) "
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2826,10,_OMC_LIT2826_data);
#define _OMC_LIT2826 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2826)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2827,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT2826}};
#define _OMC_LIT2827 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2827)
#define _OMC_LIT2828_data "(&src, __VA_ARGS__)\n"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2828,20,_OMC_LIT2828_data);
#define _OMC_LIT2828 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2828)
#define _OMC_LIT2829_data "typedef base_array_t "
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2829,21,_OMC_LIT2829_data);
#define _OMC_LIT2829 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2829)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2830,2,1) {_OMC_LIT2829,MMC_REFSTRUCTLIT(mmc_nil)}};
#define _OMC_LIT2830 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2830)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2831,2,1) {_OMC_LIT1199,_OMC_LIT2830}};
#define _OMC_LIT2831 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2831)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2832,2,1) {_OMC_LIT2828,_OMC_LIT2831}};
#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 "_array;\n"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2834,8,_OMC_LIT2834_data);
#define _OMC_LIT2834 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2834)
#define _OMC_LIT2835_data "#define alloc_"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2835,14,_OMC_LIT2835_data);
#define _OMC_LIT2835 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2835)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2836,2,1) {_OMC_LIT2835,MMC_REFSTRUCTLIT(mmc_nil)}};
#define _OMC_LIT2836 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2836)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2837,2,1) {_OMC_LIT2834,_OMC_LIT2836}};
#define _OMC_LIT2837 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2837)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2838,3,6) {&Tpl_StringToken_ST__STRING__LIST__desc,_OMC_LIT2837,MMC_IMMEDIATE(MMC_TAGFIXNUM(0))}};
#define _OMC_LIT2838 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2838)
#define _OMC_LIT2839_data "_array(dst,ndims,...) generic_array_create(NULL, dst, "
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2839,54,_OMC_LIT2839_data);
#define _OMC_LIT2839 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2839)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2840,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT2839}};
#define _OMC_LIT2840 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2840)
#define _OMC_LIT2841_data ", ndims, sizeof("
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2841,16,_OMC_LIT2841_data);
#define _OMC_LIT2841 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2841)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2842,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT2841}};
#define _OMC_LIT2842 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2842)
#define _OMC_LIT2843_data "), __VA_ARGS__)\n"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2843,16,_OMC_LIT2843_data);
#define _OMC_LIT2843 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2843)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2844,2,1) {_OMC_LIT2843,_OMC_LIT1726}};
#define _OMC_LIT2844 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2844)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2845,3,6) {&Tpl_StringToken_ST__STRING__LIST__desc,_OMC_LIT2844,MMC_IMMEDIATE(MMC_TAGFIXNUM(0))}};
#define _OMC_LIT2845 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2845)
#define _OMC_LIT2846_data "_array_copy_data(src,dst)   generic_array_copy_data(src, &dst, "
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2846,63,_OMC_LIT2846_data);
#define _OMC_LIT2846 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2846)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2847,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT2846}};
#define _OMC_LIT2847 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2847)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2848,2,1) {_OMC_LIT1248,_OMC_LIT1726}};
#define _OMC_LIT2848 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2848)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2849,3,6) {&Tpl_StringToken_ST__STRING__LIST__desc,_OMC_LIT2848,MMC_IMMEDIATE(MMC_TAGFIXNUM(0))}};
#define _OMC_LIT2849 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2849)
#define _OMC_LIT2850_data "_array_alloc_copy(src,dst)  generic_array_alloc_copy(src, &dst, "
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2850,64,_OMC_LIT2850_data);
#define _OMC_LIT2850 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2850)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2851,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT2850}};
#define _OMC_LIT2851 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2851)
#define _OMC_LIT2852_data "_array_get(src,ndims,...)   (*("
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2852,31,_OMC_LIT2852_data);
#define _OMC_LIT2852 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2852)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2853,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT2852}};
#define _OMC_LIT2853 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2853)
#define _OMC_LIT2854_data "*)(generic_array_get(&src, sizeof("
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2854,34,_OMC_LIT2854_data);
#define _OMC_LIT2854 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2854)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2855,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT2854}};
#define _OMC_LIT2855 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2855)
#define _OMC_LIT2856_data "), __VA_ARGS__)))\n"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2856,18,_OMC_LIT2856_data);
#define _OMC_LIT2856 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2856)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2857,2,1) {_OMC_LIT2856,_OMC_LIT1726}};
#define _OMC_LIT2857 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2857)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2858,3,6) {&Tpl_StringToken_ST__STRING__LIST__desc,_OMC_LIT2857,MMC_IMMEDIATE(MMC_TAGFIXNUM(0))}};
#define _OMC_LIT2858 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2858)
#define _OMC_LIT2859_data "_set(dst,val,...)           generic_array_set(&dst, &val, "
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2859,58,_OMC_LIT2859_data);
#define _OMC_LIT2859 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2859)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2860,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT2859}};
#define _OMC_LIT2860 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2860)
#define _OMC_LIT2861_data "), __VA_ARGS__)"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2861,15,_OMC_LIT2861_data);
#define _OMC_LIT2861 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2861)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2862,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT2861}};
#define _OMC_LIT2862 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2862)
#define _OMC_LIT2863_data "typedef struct {\n"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2863,17,_OMC_LIT2863_data);
#define _OMC_LIT2863 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2863)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2864,2,5) {&Tpl_StringToken_ST__LINE__desc,_OMC_LIT2863}};
#define _OMC_LIT2864 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2864)
#define _OMC_LIT2865_data " in_"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2865,4,_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 "* in_"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2867,5,_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 "in_"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2869,3,_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)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2871,2,1) {_OMC_LIT1199,_OMC_LIT2836}};
#define _OMC_LIT2871 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2871)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2872,2,1) {_OMC_LIT436,_OMC_LIT2871}};
#define _OMC_LIT2872 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2872)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2873,3,6) {&Tpl_StringToken_ST__STRING__LIST__desc,_OMC_LIT2872,MMC_IMMEDIATE(MMC_TAGFIXNUM(0))}};
#define _OMC_LIT2873 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2873)
#define _OMC_LIT2874_data "functionHeaderParallelImpl failed"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2874,33,_OMC_LIT2874_data);
#define _OMC_LIT2874 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2874)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2875,2,4) {&Absyn_Path_IDENT__desc,_OMC_LIT28}};
#define _OMC_LIT2875 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2875)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2876,2,6) {&ClassInf_State_RECORD__desc,_OMC_LIT2875}};
#define _OMC_LIT2876 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2876)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2877,4,12) {&DAE_Type_T__COMPLEX__desc,_OMC_LIT2876,MMC_REFSTRUCTLIT(mmc_nil),MMC_REFSTRUCTLIT(mmc_none)}};
#define _OMC_LIT2877 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2877)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2878,4,4) {&DAE_ComponentRef_CREF__IDENT__desc,_OMC_LIT28,_OMC_LIT2877,MMC_REFSTRUCTLIT(mmc_nil)}};
#define _OMC_LIT2878 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2878)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2879,1,5) {&DAE_VarParallelism_NON__PARALLEL__desc,}};
#define _OMC_LIT2879 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2879)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2880,1,3) {&DAE_VarKind_VARIABLE__desc,}};
#define _OMC_LIT2880 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2880)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2881,8,3) {&SimCodeFunction_Variable_VARIABLE__desc,_OMC_LIT2878,_OMC_LIT2877,MMC_REFSTRUCTLIT(mmc_none),MMC_REFSTRUCTLIT(mmc_nil),_OMC_LIT2879,_OMC_LIT2880,MMC_IMMEDIATE(MMC_TAGFIXNUM(0))}};
#define _OMC_LIT2881 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2881)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2882,2,1) {_OMC_LIT2881,MMC_REFSTRUCTLIT(mmc_nil)}};
#define _OMC_LIT2882 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2882)
#define _OMC_LIT2883_data " (threadData_t *threadData"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2883,26,_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 " (*omctd_"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2885,9,_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 ")(threadData_t *threadData"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2887,26,_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 "#ifndef "
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2889,8,_OMC_LIT2889_data);
#define _OMC_LIT2889 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2889)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2890,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT2889}};
#define _OMC_LIT2890 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2890)
#define _OMC_LIT2891_data "__H\n"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2891,4,_OMC_LIT2891_data);
#define _OMC_LIT2891 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2891)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2892,2,1) {_OMC_LIT2891,_OMC_LIT1726}};
#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 "//#include \"helper.cl\"\n"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2894,23,_OMC_LIT2894_data);
#define _OMC_LIT2894 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2894)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2895,2,1) {_OMC_LIT2894,_OMC_LIT1843}};
#define _OMC_LIT2895 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2895)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2896,2,1) {_OMC_LIT2891,_OMC_LIT2895}};
#define _OMC_LIT2896 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2896)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2897,3,6) {&Tpl_StringToken_ST__STRING__LIST__desc,_OMC_LIT2896,MMC_IMMEDIATE(MMC_TAGFIXNUM(1))}};
#define _OMC_LIT2897 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2897)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2898,2,1) {_OMC_LIT1199,_OMC_LIT1844}};
#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(1))}};
#define _OMC_LIT2899 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2899)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2900,2,1) {_OMC_LIT1842,MMC_REFSTRUCTLIT(mmc_nil)}};
#define _OMC_LIT2900 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2900)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2901,2,1) {_OMC_LIT1841,_OMC_LIT2900}};
#define _OMC_LIT2901 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2901)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2902,2,1) {_OMC_LIT1840,_OMC_LIT2901}};
#define _OMC_LIT2902 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2902)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2903,3,6) {&Tpl_StringToken_ST__STRING__LIST__desc,_OMC_LIT2902,MMC_IMMEDIATE(MMC_TAGFIXNUM(1))}};
#define _OMC_LIT2903 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2903)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2904,2,1) {_OMC_LIT1840,_OMC_LIT2528}};
#define _OMC_LIT2904 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2904)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2905,3,6) {&Tpl_StringToken_ST__STRING__LIST__desc,_OMC_LIT2904,MMC_IMMEDIATE(MMC_TAGFIXNUM(0))}};
#define _OMC_LIT2905 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2905)
#define _OMC_LIT2906_data "#include \"util/modelica.h\"\n"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2906,27,_OMC_LIT2906_data);
#define _OMC_LIT2906 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2906)
#define _OMC_LIT2907_data "#include <stdio.h>\n"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2907,19,_OMC_LIT2907_data);
#define _OMC_LIT2907 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2907)
#define _OMC_LIT2908_data "#include <stdlib.h>\n"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2908,20,_OMC_LIT2908_data);
#define _OMC_LIT2908 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2908)
#define _OMC_LIT2909_data "#include <errno.h>\n"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2909,19,_OMC_LIT2909_data);
#define _OMC_LIT2909 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2909)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2910,2,1) {_OMC_LIT2909,MMC_REFSTRUCTLIT(mmc_nil)}};
#define _OMC_LIT2910 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2910)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2911,2,1) {_OMC_LIT2908,_OMC_LIT2910}};
#define _OMC_LIT2911 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2911)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2912,2,1) {_OMC_LIT2907,_OMC_LIT2911}};
#define _OMC_LIT2912 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2912)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2913,2,1) {_OMC_LIT2906,_OMC_LIT2912}};
#define _OMC_LIT2913 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2913)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2914,2,1) {_OMC_LIT1832,_OMC_LIT2913}};
#define _OMC_LIT2914 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2914)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2915,3,6) {&Tpl_StringToken_ST__STRING__LIST__desc,_OMC_LIT2914,MMC_IMMEDIATE(MMC_TAGFIXNUM(1))}};
#define _OMC_LIT2915 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2915)
#define _OMC_LIT2916_data "#include <ParModelica/explicit/openclrt/omc_ocl_interface.h>"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2916,60,_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)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2918,1,1) {_OMC_LIT34}};
#define _OMC_LIT2918 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2918)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2919,9,3) {&Tpl_IterOptions_ITER__OPTIONS__desc,MMC_IMMEDIATE(MMC_TAGFIXNUM(0)),MMC_REFSTRUCTLIT(mmc_none),_OMC_LIT2918,MMC_IMMEDIATE(MMC_TAGFIXNUM(0)),MMC_IMMEDIATE(MMC_TAGFIXNUM(0)),_OMC_LIT98,MMC_IMMEDIATE(MMC_TAGFIXNUM(0)),_OMC_LIT98}};
#define _OMC_LIT2919 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2919)
#define _OMC_LIT2920_data "win32"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2920,5,_OMC_LIT2920_data);
#define _OMC_LIT2920 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2920)
#define _OMC_LIT2921_data "win64"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2921,5,_OMC_LIT2921_data);
#define _OMC_LIT2921 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2921)
#define _OMC_LIT2922_data "# Makefile generated by OpenModelica\n"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2922,37,_OMC_LIT2922_data);
#define _OMC_LIT2922 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2922)
#define _OMC_LIT2923_data "# Platform: "
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2923,12,_OMC_LIT2923_data);
#define _OMC_LIT2923 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2923)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2924,2,1) {_OMC_LIT2923,MMC_REFSTRUCTLIT(mmc_nil)}};
#define _OMC_LIT2924 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2924)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2925,2,1) {_OMC_LIT2922,_OMC_LIT2924}};
#define _OMC_LIT2925 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2925)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2926,3,6) {&Tpl_StringToken_ST__STRING__LIST__desc,_OMC_LIT2925,MMC_IMMEDIATE(MMC_TAGFIXNUM(0))}};
#define _OMC_LIT2926 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2926)
#define _OMC_LIT2927_data "# Dynamic loading uses -O0 by default\n"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2927,38,_OMC_LIT2927_data);
#define _OMC_LIT2927 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2927)
#define _OMC_LIT2928_data "# define OMC_CFLAGS_OPTIMIZATION env variable to your desired optimization level to override this\n"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2928,98,_OMC_LIT2928_data);
#define _OMC_LIT2928 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2928)
#define _OMC_LIT2929_data "OMC_CFLAGS_OPTIMIZATION=-O0\n"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2929,28,_OMC_LIT2929_data);
#define _OMC_LIT2929 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2929)
#define _OMC_LIT2930_data "SIM_OR_DYNLOAD_OPT_LEVEL=$(OMC_CFLAGS_OPTIMIZATION)\n"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2930,52,_OMC_LIT2930_data);
#define _OMC_LIT2930 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2930)
#define _OMC_LIT2931_data "CC="
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2931,3,_OMC_LIT2931_data);
#define _OMC_LIT2931 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2931)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2932,2,1) {_OMC_LIT2931,MMC_REFSTRUCTLIT(mmc_nil)}};
#define _OMC_LIT2932 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2932)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2933,2,1) {_OMC_LIT2930,_OMC_LIT2932}};
#define _OMC_LIT2933 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2933)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2934,2,1) {_OMC_LIT2929,_OMC_LIT2933}};
#define _OMC_LIT2934 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2934)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2935,2,1) {_OMC_LIT2928,_OMC_LIT2934}};
#define _OMC_LIT2935 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2935)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2936,2,1) {_OMC_LIT2927,_OMC_LIT2935}};
#define _OMC_LIT2936 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2936)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2937,2,1) {_OMC_LIT1199,_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)
#define _OMC_LIT2939_data "CXX="
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2939,4,_OMC_LIT2939_data);
#define _OMC_LIT2939 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2939)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2940,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT2939}};
#define _OMC_LIT2940 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2940)
#define _OMC_LIT2941_data "LINK="
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2941,5,_OMC_LIT2941_data);
#define _OMC_LIT2941 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2941)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2942,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT2941}};
#define _OMC_LIT2942 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2942)
#define _OMC_LIT2943_data "EXEEXT="
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2943,7,_OMC_LIT2943_data);
#define _OMC_LIT2943 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2943)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2944,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT2943}};
#define _OMC_LIT2944 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2944)
#define _OMC_LIT2945_data "DLLEXT="
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2945,7,_OMC_LIT2945_data);
#define _OMC_LIT2945 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2945)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2946,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT2945}};
#define _OMC_LIT2946 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2946)
#define _OMC_LIT2947_data "DEBUG_FLAGS="
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2947,12,_OMC_LIT2947_data);
#define _OMC_LIT2947 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2947)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2948,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT2947}};
#define _OMC_LIT2948 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2948)
#define _OMC_LIT2949_data "CFLAGS= $(DEBUG_FLAGS) "
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2949,23,_OMC_LIT2949_data);
#define _OMC_LIT2949 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2949)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2950,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT2949}};
#define _OMC_LIT2950 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2950)
#define _OMC_LIT2951_data "CPPFLAGS= "
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2951,10,_OMC_LIT2951_data);
#define _OMC_LIT2951 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2951)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2952,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT2951}};
#define _OMC_LIT2952 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2952)
#define _OMC_LIT2953_data " -I\""
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2953,4,_OMC_LIT2953_data);
#define _OMC_LIT2953 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2953)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2954,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT2953}};
#define _OMC_LIT2954 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2954)
#define _OMC_LIT2955_data "/include/omc/c\" -I\""
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2955,19,_OMC_LIT2955_data);
#define _OMC_LIT2955 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2955)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2956,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT2955}};
#define _OMC_LIT2956 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2956)
#define _OMC_LIT2957_data "/include/omc\" "
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2957,14,_OMC_LIT2957_data);
#define _OMC_LIT2957 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2957)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2958,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT2957}};
#define _OMC_LIT2958 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2958)
#define _OMC_LIT2959_data "# define OMC_LDFLAGS_LINK_TYPE env variable to \"static\" to override this\n"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2959,73,_OMC_LIT2959_data);
#define _OMC_LIT2959 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2959)
#define _OMC_LIT2960_data "OMC_LDFLAGS_LINK_TYPE=dynamic\n"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2960,30,_OMC_LIT2960_data);
#define _OMC_LIT2960 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2960)
#define _OMC_LIT2961_data "RUNTIME_LIBS="
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2961,13,_OMC_LIT2961_data);
#define _OMC_LIT2961 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2961)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2962,2,1) {_OMC_LIT2961,MMC_REFSTRUCTLIT(mmc_nil)}};
#define _OMC_LIT2962 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2962)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2963,2,1) {_OMC_LIT2960,_OMC_LIT2962}};
#define _OMC_LIT2963 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2963)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2964,2,1) {_OMC_LIT2959,_OMC_LIT2963}};
#define _OMC_LIT2964 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2964)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2965,3,6) {&Tpl_StringToken_ST__STRING__LIST__desc,_OMC_LIT2964,MMC_IMMEDIATE(MMC_TAGFIXNUM(0))}};
#define _OMC_LIT2965 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2965)
#define _OMC_LIT2966_data "LDFLAGS= -L\""
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2966,12,_OMC_LIT2966_data);
#define _OMC_LIT2966 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2966)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2967,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT2966}};
#define _OMC_LIT2967 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2967)
#define _OMC_LIT2968_data "/lib/"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2968,5,_OMC_LIT2968_data);
#define _OMC_LIT2968 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2968)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2969,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT2968}};
#define _OMC_LIT2969 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2969)
#define _OMC_LIT2970_data "/omc\" -Wl,"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2970,10,_OMC_LIT2970_data);
#define _OMC_LIT2970 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2970)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2971,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT2970}};
#define _OMC_LIT2971 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2971)
#define _OMC_LIT2972_data "-rpath,'"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2972,8,_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 "/omc' "
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2974,6,_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 " $(RUNTIME_LIBS)\n"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2976,17,_OMC_LIT2976_data);
#define _OMC_LIT2976 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2976)
#define _OMC_LIT2977_data "PERL=perl\n"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2977,10,_OMC_LIT2977_data);
#define _OMC_LIT2977 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2977)
#define _OMC_LIT2978_data "MAINFILE="
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2978,9,_OMC_LIT2978_data);
#define _OMC_LIT2978 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2978)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2979,2,1) {_OMC_LIT2978,MMC_REFSTRUCTLIT(mmc_nil)}};
#define _OMC_LIT2979 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2979)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2980,2,1) {_OMC_LIT2977,_OMC_LIT2979}};
#define _OMC_LIT2980 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2980)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2981,2,1) {_OMC_LIT2976,_OMC_LIT2980}};
#define _OMC_LIT2981 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2981)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2982,3,6) {&Tpl_StringToken_ST__STRING__LIST__desc,_OMC_LIT2981,MMC_IMMEDIATE(MMC_TAGFIXNUM(0))}};
#define _OMC_LIT2982 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2982)
#define _OMC_LIT2983_data ".c\n"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2983,3,_OMC_LIT2983_data);
#define _OMC_LIT2983 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2983)
#define _OMC_LIT2984_data ".PHONY: "
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2984,8,_OMC_LIT2984_data);
#define _OMC_LIT2984 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2984)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2985,2,1) {_OMC_LIT2984,MMC_REFSTRUCTLIT(mmc_nil)}};
#define _OMC_LIT2985 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2985)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2986,2,1) {_OMC_LIT1199,_OMC_LIT2985}};
#define _OMC_LIT2986 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2986)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2987,2,1) {_OMC_LIT2983,_OMC_LIT2986}};
#define _OMC_LIT2987 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2987)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2988,3,6) {&Tpl_StringToken_ST__STRING__LIST__desc,_OMC_LIT2987,MMC_IMMEDIATE(MMC_TAGFIXNUM(0))}};
#define _OMC_LIT2988 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2988)
#define _OMC_LIT2989_data ": $(MAINFILE) "
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2989,14,_OMC_LIT2989_data);
#define _OMC_LIT2989 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2989)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2990,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT2989}};
#define _OMC_LIT2990 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2990)
#define _OMC_LIT2991_data ".h "
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2991,3,_OMC_LIT2991_data);
#define _OMC_LIT2991 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2991)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2992,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT2991}};
#define _OMC_LIT2992 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2992)
#define _OMC_LIT2993_data "_records.c\n"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2993,11,_OMC_LIT2993_data);
#define _OMC_LIT2993 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2993)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2994,2,5) {&Tpl_StringToken_ST__LINE__desc,_OMC_LIT2993}};
#define _OMC_LIT2994 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2994)
#define _OMC_LIT2995_data " $(CC) $(CFLAGS) $(CPPFLAGS) -c -o "
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2995,35,_OMC_LIT2995_data);
#define _OMC_LIT2995 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2995)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2996,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT2995}};
#define _OMC_LIT2996 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2996)
#define _OMC_LIT2997_data ".o $(MAINFILE)\n"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2997,15,_OMC_LIT2997_data);
#define _OMC_LIT2997 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2997)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2998,2,5) {&Tpl_StringToken_ST__LINE__desc,_OMC_LIT2997}};
#define _OMC_LIT2998 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2998)
#define _OMC_LIT2999_data "_records.o "
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2999,11,_OMC_LIT2999_data);
#define _OMC_LIT2999 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2999)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT3000,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT2999}};
#define _OMC_LIT3000 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT3000)
#define _OMC_LIT3001_data " $(LINK) -o "
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT3001,12,_OMC_LIT3001_data);
#define _OMC_LIT3001 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT3001)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT3002,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT3001}};
#define _OMC_LIT3002 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT3002)
#define _OMC_LIT3003_data "$(DLLEXT) "
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT3003,10,_OMC_LIT3003_data);
#define _OMC_LIT3003 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT3003)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT3004,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT3003}};
#define _OMC_LIT3004 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT3004)
#define _OMC_LIT3005_data ".o "
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT3005,3,_OMC_LIT3005_data);
#define _OMC_LIT3005 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT3005)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT3006,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT3005}};
#define _OMC_LIT3006 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT3006)
#define _OMC_LIT3007_data " $(CFLAGS) $(CPPFLAGS) $(LDFLAGS) -lm"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT3007,37,_OMC_LIT3007_data);
#define _OMC_LIT3007 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT3007)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT3008,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT3007}};
#define _OMC_LIT3008 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT3008)
#define _OMC_LIT3009_data " -DOMC_GENERATE_RELOCATABLE_CODE"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT3009,32,_OMC_LIT3009_data);
#define _OMC_LIT3009 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT3009)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT3010,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT3009}};
#define _OMC_LIT3010 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT3010)
#define _OMC_LIT3011_data "$(SIM_OR_DYNLOAD_OPT_LEVEL)"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT3011,27,_OMC_LIT3011_data);
#define _OMC_LIT3011 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT3011)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT3012,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT3011}};
#define _OMC_LIT3012 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT3012)
#define _OMC_LIT3013_data " -g"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT3013,3,_OMC_LIT3013_data);
#define _OMC_LIT3013 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT3013)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT3014,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT3013}};
#define _OMC_LIT3014 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT3014)
#define _OMC_LIT3015_data "g++"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT3015,3,_OMC_LIT3015_data);
#define _OMC_LIT3015 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT3015)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT3016,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT3015}};
#define _OMC_LIT3016 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT3016)
#define _OMC_LIT3017_data "-lOpenModelicaCompiler"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT3017,22,_OMC_LIT3017_data);
#define _OMC_LIT3017 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT3017)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT3018,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT3017}};
#define _OMC_LIT3018 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT3018)
#define _OMC_LIT3019_data "--stack,16777216,"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT3019,17,_OMC_LIT3019_data);
#define _OMC_LIT3019 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT3019)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT3020,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT3019}};
#define _OMC_LIT3020 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT3020)
#define _OMC_LIT3021_data "-lParModelicaExpl -lOpenCL"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT3021,26,_OMC_LIT3021_data);
#define _OMC_LIT3021 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT3021)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT3022,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT3021}};
#define _OMC_LIT3022 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT3022)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT3023,2,5) {&Tpl_StringToken_ST__LINE__desc,_OMC_LIT2891}};
#define _OMC_LIT3023 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT3023)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT3024,3,6) {&Tpl_StringToken_ST__STRING__LIST__desc,_OMC_LIT1846,MMC_IMMEDIATE(MMC_TAGFIXNUM(1))}};
#define _OMC_LIT3024 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT3024)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT3025,2,1) {_OMC_LIT1842,_OMC_LIT2527}};
#define _OMC_LIT3025 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT3025)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT3026,2,1) {_OMC_LIT159,_OMC_LIT3025}};
#define _OMC_LIT3026 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT3026)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT3027,2,1) {_OMC_LIT1840,_OMC_LIT3026}};
#define _OMC_LIT3027 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT3027)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT3028,2,1) {_OMC_LIT1199,_OMC_LIT3027}};
#define _OMC_LIT3028 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT3028)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT3029,3,6) {&Tpl_StringToken_ST__STRING__LIST__desc,_OMC_LIT3028,MMC_IMMEDIATE(MMC_TAGFIXNUM(0))}};
#define _OMC_LIT3029 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT3029)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT3030,2,1) {_OMC_LIT1831,_OMC_LIT1834}};
#define _OMC_LIT3030 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT3030)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT3031,3,6) {&Tpl_StringToken_ST__STRING__LIST__desc,_OMC_LIT3030,MMC_IMMEDIATE(MMC_TAGFIXNUM(0))}};
#define _OMC_LIT3031 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT3031)
#define _OMC_LIT3032_data ".h\"\n"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT3032,4,_OMC_LIT3032_data);
#define _OMC_LIT3032 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT3032)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT3033,2,5) {&Tpl_StringToken_ST__LINE__desc,_OMC_LIT3032}};
#define _OMC_LIT3033 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT3033)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT3034,2,1) {_OMC_LIT1199,_OMC_LIT1834}};
#define _OMC_LIT3034 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT3034)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT3035,2,1) {_OMC_LIT2906,_OMC_LIT3034}};
#define _OMC_LIT3035 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT3035)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT3036,3,6) {&Tpl_StringToken_ST__STRING__LIST__desc,_OMC_LIT3035,MMC_IMMEDIATE(MMC_TAGFIXNUM(0))}};
#define _OMC_LIT3036 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT3036)
#define _OMC_LIT3037_data "_includes.h\"\n"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT3037,13,_OMC_LIT3037_data);
#define _OMC_LIT3037 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT3037)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT3038,2,1) {_OMC_LIT3037,_OMC_LIT1843}};
#define _OMC_LIT3038 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT3038)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT3039,3,6) {&Tpl_StringToken_ST__STRING__LIST__desc,_OMC_LIT3038,MMC_IMMEDIATE(MMC_TAGFIXNUM(1))}};
#define _OMC_LIT3039 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT3039)
#define _OMC_LIT3040_data "/* default, do not make protected functions static */\n"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT3040,54,_OMC_LIT3040_data);
#define _OMC_LIT3040 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT3040)
#define _OMC_LIT3041_data "#if !defined(PROTECTED_FUNCTION_STATIC)\n"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT3041,40,_OMC_LIT3041_data);
#define _OMC_LIT3041 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT3041)
#define _OMC_LIT3042_data "#define PROTECTED_FUNCTION_STATIC\n"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT3042,34,_OMC_LIT3042_data);
#define _OMC_LIT3042 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT3042)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT3043,2,1) {_OMC_LIT3042,_OMC_LIT2900}};
#define _OMC_LIT3043 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT3043)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT3044,2,1) {_OMC_LIT3041,_OMC_LIT3043}};
#define _OMC_LIT3044 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT3044)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT3045,2,1) {_OMC_LIT3040,_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 "/* the OpenCL Kernels file name needed in libParModelicaExpl.a */\n"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT3047,66,_OMC_LIT3047_data);
#define _OMC_LIT3047 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT3047)
#define _OMC_LIT3048_data "const char* omc_ocl_kernels_source = \""
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT3048,38,_OMC_LIT3048_data);
#define _OMC_LIT3048 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT3048)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT3049,2,1) {_OMC_LIT3048,MMC_REFSTRUCTLIT(mmc_nil)}};
#define _OMC_LIT3049 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT3049)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT3050,2,1) {_OMC_LIT3047,_OMC_LIT3049}};
#define _OMC_LIT3050 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT3050)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT3051,3,6) {&Tpl_StringToken_ST__STRING__LIST__desc,_OMC_LIT3050,MMC_IMMEDIATE(MMC_TAGFIXNUM(0))}};
#define _OMC_LIT3051 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT3051)
#define _OMC_LIT3052_data "_kernels.cl\";\n"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT3052,14,_OMC_LIT3052_data);
#define _OMC_LIT3052 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT3052)
#define _OMC_LIT3053_data "/* the OpenCL program. Made global to avoid repeated builds */\n"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT3053,63,_OMC_LIT3053_data);
#define _OMC_LIT3053 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT3053)
#define _OMC_LIT3054_data "extern cl_program omc_ocl_program;\n"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT3054,35,_OMC_LIT3054_data);
#define _OMC_LIT3054 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT3054)
#define _OMC_LIT3055_data "/* The default OpenCL device. If not set (=0) show the selection option.*/\n"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT3055,75,_OMC_LIT3055_data);
#define _OMC_LIT3055 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT3055)
#define _OMC_LIT3056_data "unsigned int default_ocl_device = "
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT3056,34,_OMC_LIT3056_data);
#define _OMC_LIT3056 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT3056)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT3057,2,1) {_OMC_LIT3056,MMC_REFSTRUCTLIT(mmc_nil)}};
#define _OMC_LIT3057 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT3057)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT3058,2,1) {_OMC_LIT3055,_OMC_LIT3057}};
#define _OMC_LIT3058 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT3058)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT3059,2,1) {_OMC_LIT3054,_OMC_LIT3058}};
#define _OMC_LIT3059 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT3059)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT3060,2,1) {_OMC_LIT3053,_OMC_LIT3059}};
#define _OMC_LIT3060 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT3060)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT3061,2,1) {_OMC_LIT3052,_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(0))}};
#define _OMC_LIT3062 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT3062)
#define _OMC_LIT3063_data "_includes.h"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT3063,11,_OMC_LIT3063_data);
#define _OMC_LIT3063 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT3063)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT3064,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT3063}};
#define _OMC_LIT3064 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT3064)
#define _OMC_LIT3065_data "_records.c"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT3065,10,_OMC_LIT3065_data);
#define _OMC_LIT3065 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT3065)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT3066,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT3065}};
#define _OMC_LIT3066 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT3066)
#define _OMC_LIT3067_data ".makefile"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT3067,9,_OMC_LIT3067_data);
#define _OMC_LIT3067 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT3067)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT3068,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT3067}};
#define _OMC_LIT3068 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT3068)
#define _OMC_LIT3069_data "_kernels.cl"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT3069,11,_OMC_LIT3069_data);
#define _OMC_LIT3069 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT3069)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT3070,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT3069}};
#define _OMC_LIT3070 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT3070)
#define _OMC_LIT3071_data "  MMC_TRY_TOP()\n"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT3071,16,_OMC_LIT3071_data);
#define _OMC_LIT3071 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT3071)
#define _OMC_LIT3072_data "  MMC_TRY_STACK()\n"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT3072,18,_OMC_LIT3072_data);
#define _OMC_LIT3072 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT3072)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT3073,2,1) {_OMC_LIT3072,_OMC_LIT1843}};
#define _OMC_LIT3073 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT3073)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT3074,2,1) {_OMC_LIT1199,_OMC_LIT3073}};
#define _OMC_LIT3074 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT3074)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT3075,2,1) {_OMC_LIT3071,_OMC_LIT3074}};
#define _OMC_LIT3075 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT3075)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT3076,2,1) {_OMC_LIT153,_OMC_LIT3075}};
#define _OMC_LIT3076 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT3076)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT3077,3,6) {&Tpl_StringToken_ST__STRING__LIST__desc,_OMC_LIT3076,MMC_IMMEDIATE(MMC_TAGFIXNUM(1))}};
#define _OMC_LIT3077 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT3077)
#define _OMC_LIT3078_data "MMC_ELSE()\n"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT3078,11,_OMC_LIT3078_data);
#define _OMC_LIT3078 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT3078)
#define _OMC_LIT3079_data "rml_execution_failed();\n"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT3079,24,_OMC_LIT3079_data);
#define _OMC_LIT3079 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT3079)
#define _OMC_LIT3080_data "fprintf(stderr, \"Stack overflow detected and was not caught.\\nSend us a bug report at "
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT3080,86,_OMC_LIT3080_data);
#define _OMC_LIT3080 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT3080)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT3081,2,1) {_OMC_LIT3080,MMC_REFSTRUCTLIT(mmc_nil)}};
#define _OMC_LIT3081 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT3081)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT3082,2,1) {_OMC_LIT3079,_OMC_LIT3081}};
#define _OMC_LIT3082 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT3082)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT3083,2,1) {_OMC_LIT3078,_OMC_LIT3082}};
#define _OMC_LIT3083 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT3083)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT3084,2,1) {_OMC_LIT1199,_OMC_LIT3083}};
#define _OMC_LIT3084 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT3084)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT3085,3,6) {&Tpl_StringToken_ST__STRING__LIST__desc,_OMC_LIT3084,MMC_IMMEDIATE(MMC_TAGFIXNUM(0))}};
#define _OMC_LIT3085 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT3085)
#define _OMC_LIT3086_data "\\n    Include the following trace:\\n\");\n"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT3086,40,_OMC_LIT3086_data);
#define _OMC_LIT3086 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT3086)
#define _OMC_LIT3087_data "printStacktraceMessages();\n"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT3087,27,_OMC_LIT3087_data);
#define _OMC_LIT3087 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT3087)
#define _OMC_LIT3088_data "return 1;\n"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT3088,10,_OMC_LIT3088_data);
#define _OMC_LIT3088 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT3088)
#define _OMC_LIT3089_data "MMC_CATCH_TOP(return rml_execution_failed());\n"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT3089,46,_OMC_LIT3089_data);
#define _OMC_LIT3089 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT3089)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT3090,2,1) {_OMC_LIT3089,MMC_REFSTRUCTLIT(mmc_nil)}};
#define _OMC_LIT3090 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT3090)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT3091,2,1) {_OMC_LIT1199,_OMC_LIT3090}};
#define _OMC_LIT3091 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT3091)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT3092,2,1) {_OMC_LIT228,_OMC_LIT3091}};
#define _OMC_LIT3092 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT3092)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT3093,2,1) {_OMC_LIT3088,_OMC_LIT3092}};
#define _OMC_LIT3093 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT3093)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT3094,2,1) {_OMC_LIT2478,_OMC_LIT3093}};
#define _OMC_LIT3094 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT3094)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT3095,2,1) {_OMC_LIT3087,_OMC_LIT3094}};
#define _OMC_LIT3095 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT3095)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT3096,2,1) {_OMC_LIT3086,_OMC_LIT3095}};
#define _OMC_LIT3096 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT3096)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT3097,3,6) {&Tpl_StringToken_ST__STRING__LIST__desc,_OMC_LIT3096,MMC_IMMEDIATE(MMC_TAGFIXNUM(1))}};
#define _OMC_LIT3097 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT3097)
#define _OMC_LIT3098_data "/* This is an automatically generated entry point to a MetaModelica function */\n"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT3098,80,_OMC_LIT3098_data);
#define _OMC_LIT3098 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT3098)
#define _OMC_LIT3099_data "#if defined(__cplusplus)\n"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT3099,25,_OMC_LIT3099_data);
#define _OMC_LIT3099 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT3099)
#define _OMC_LIT3100_data "#if defined(OMC_ENTRYPOINT_STATIC)\n"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT3100,35,_OMC_LIT3100_data);
#define _OMC_LIT3100 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT3100)
#define _OMC_LIT3101_data "#include <openmodelica.h>\n"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT3101,26,_OMC_LIT3101_data);
#define _OMC_LIT3101 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT3101)
#define _OMC_LIT3102_data "DLLImport extern int __omc_main(int argc, char **argv);\n"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT3102,56,_OMC_LIT3102_data);
#define _OMC_LIT3102 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT3102)
#define _OMC_LIT3103_data "int main(int argc, char **argv)\n"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT3103,32,_OMC_LIT3103_data);
#define _OMC_LIT3103 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT3103)
#define _OMC_LIT3104_data "  return __omc_main(argc, argv);\n"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT3104,33,_OMC_LIT3104_data);
#define _OMC_LIT3104 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT3104)
#define _OMC_LIT3105_data "#else\n"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT3105,6,_OMC_LIT3105_data);
#define _OMC_LIT3105 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT3105)
#define _OMC_LIT3106_data "#include <meta/meta_modelica.h>\n"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT3106,32,_OMC_LIT3106_data);
#define _OMC_LIT3106 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT3106)
#define _OMC_LIT3107_data "extern void\n"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT3107,12,_OMC_LIT3107_data);
#define _OMC_LIT3107 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT3107)
#define _OMC_LIT3108_data "#if defined(OMC_GENERATE_RELOCATABLE_CODE)\n"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT3108,43,_OMC_LIT3108_data);
#define _OMC_LIT3108 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT3108)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT3109,2,1) {_OMC_LIT1279,MMC_REFSTRUCTLIT(mmc_nil)}};
#define _OMC_LIT3109 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT3109)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT3110,2,1) {_OMC_LIT3108,_OMC_LIT3109}};
#define _OMC_LIT3110 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT3110)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT3111,2,1) {_OMC_LIT3107,_OMC_LIT3110}};
#define _OMC_LIT3111 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT3111)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT3112,2,1) {_OMC_LIT2907,_OMC_LIT3111}};
#define _OMC_LIT3112 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT3112)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT3113,2,1) {_OMC_LIT3106,_OMC_LIT3112}};
#define _OMC_LIT3113 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT3113)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT3114,2,1) {_OMC_LIT1199,_OMC_LIT3113}};
#define _OMC_LIT3114 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT3114)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT3115,2,1) {_OMC_LIT3105,_OMC_LIT3114}};
#define _OMC_LIT3115 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT3115)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT3116,2,1) {_OMC_LIT1199,_OMC_LIT3115}};
#define _OMC_LIT3116 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT3116)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT3117,2,1) {_OMC_LIT159,_OMC_LIT3116}};
#define _OMC_LIT3117 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT3117)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT3118,2,1) {_OMC_LIT3104,_OMC_LIT3117}};
#define _OMC_LIT3118 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT3118)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT3119,2,1) {_OMC_LIT153,_OMC_LIT3118}};
#define _OMC_LIT3119 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT3119)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT3120,2,1) {_OMC_LIT3103,_OMC_LIT3119}};
#define _OMC_LIT3120 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT3120)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT3121,2,1) {_OMC_LIT1199,_OMC_LIT3120}};
#define _OMC_LIT3121 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT3121)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT3122,2,1) {_OMC_LIT3102,_OMC_LIT3121}};
#define _OMC_LIT3122 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT3122)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT3123,2,1) {_OMC_LIT1199,_OMC_LIT3122}};
#define _OMC_LIT3123 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT3123)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT3124,2,1) {_OMC_LIT3101,_OMC_LIT3123}};
#define _OMC_LIT3124 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT3124)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT3125,2,1) {_OMC_LIT2907,_OMC_LIT3124}};
#define _OMC_LIT3125 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT3125)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT3126,2,1) {_OMC_LIT1199,_OMC_LIT3125}};
#define _OMC_LIT3126 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT3126)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT3127,2,1) {_OMC_LIT3100,_OMC_LIT3126}};
#define _OMC_LIT3127 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT3127)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT3128,2,1) {_OMC_LIT1199,_OMC_LIT3127}};
#define _OMC_LIT3128 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT3128)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT3129,2,1) {_OMC_LIT1842,_OMC_LIT3128}};
#define _OMC_LIT3129 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT3129)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT3130,2,1) {_OMC_LIT1841,_OMC_LIT3129}};
#define _OMC_LIT3130 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT3130)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT3131,2,1) {_OMC_LIT3099,_OMC_LIT3130}};
#define _OMC_LIT3131 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT3131)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT3132,2,1) {_OMC_LIT1199,_OMC_LIT3131}};
#define _OMC_LIT3132 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT3132)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT3133,2,1) {_OMC_LIT3098,_OMC_LIT3132}};
#define _OMC_LIT3133 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT3133)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT3134,3,6) {&Tpl_StringToken_ST__STRING__LIST__desc,_OMC_LIT3133,MMC_IMMEDIATE(MMC_TAGFIXNUM(0))}};
#define _OMC_LIT3134 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT3134)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT3135,2,1) {_OMC_LIT3105,MMC_REFSTRUCTLIT(mmc_nil)}};
#define _OMC_LIT3135 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT3135)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT3136,2,1) {_OMC_LIT436,_OMC_LIT3135}};
#define _OMC_LIT3136 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT3136)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT3137,3,6) {&Tpl_StringToken_ST__STRING__LIST__desc,_OMC_LIT3136,MMC_IMMEDIATE(MMC_TAGFIXNUM(1))}};
#define _OMC_LIT3137 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT3137)
#define _OMC_LIT3138_data "(threadData_t*,modelica_metatype);\n"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT3138,35,_OMC_LIT3138_data);
#define _OMC_LIT3138 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT3138)
#define _OMC_LIT3139_data "#ifdef _OPENMP\n"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT3139,15,_OMC_LIT3139_data);
#define _OMC_LIT3139 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT3139)
#define _OMC_LIT3140_data "#include<omp.h>\n"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT3140,16,_OMC_LIT3140_data);
#define _OMC_LIT3140 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT3140)
#define _OMC_LIT3141_data "/* Hack to make gcc-4.8 link in the OpenMP runtime if -fopenmp is given */\n"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT3141,75,_OMC_LIT3141_data);
#define _OMC_LIT3141 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT3141)
#define _OMC_LIT3142_data "int (*force_link_omp)(void) = omp_get_num_threads;\n"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT3142,51,_OMC_LIT3142_data);
#define _OMC_LIT3142 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT3142)
#define _OMC_LIT3143_data "DLLExport int __omc_main(int argc, char **argv)\n"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT3143,48,_OMC_LIT3143_data);
#define _OMC_LIT3143 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT3143)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT3144_cons_1,2,1) {_OMC_LIT1199,MMC_REFSTRUCTLIT(mmc_nil)}};
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT3144_cons_2,2,1) {_OMC_LIT1560,MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT3144_cons_1)}};
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT3144_cons_3,2,1) {_OMC_LIT2494,MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT3144_cons_2)}};
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT3144_cons_4,2,1) {_OMC_LIT2493,MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT3144_cons_3)}};
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT3144_cons_5,2,1) {_OMC_LIT1199,MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT3144_cons_4)}};
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT3144_cons_6,2,1) {_OMC_LIT2492,MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT3144_cons_5)}};
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT3144_cons_7,2,1) {_OMC_LIT2491,MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT3144_cons_6)}};
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT3144_cons_8,2,1) {_OMC_LIT2490,MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT3144_cons_7)}};
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT3144_cons_9,2,1) {_OMC_LIT2489,MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT3144_cons_8)}};
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT3144_cons_10,2,1) {_OMC_LIT153,MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT3144_cons_9)}};
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT3144_cons_11,2,1) {_OMC_LIT3143,MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT3144_cons_10)}};
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT3144_cons_12,2,1) {_OMC_LIT1199,MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT3144_cons_11)}};
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT3144_cons_13,2,1) {_OMC_LIT159,MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT3144_cons_12)}};
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT3144_cons_14,2,1) {_OMC_LIT2487,MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT3144_cons_13)}};
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT3144_cons_15,2,1) {_OMC_LIT2485,MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT3144_cons_14)}};
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT3144_cons_16,2,1) {_OMC_LIT2486,MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT3144_cons_15)}};
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT3144_cons_17,2,1) {_OMC_LIT2485,MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT3144_cons_16)}};
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT3144_cons_18,2,1) {_OMC_LIT153,MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT3144_cons_17)}};
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT3144_cons_19,2,1) {_OMC_LIT2484,MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT3144_cons_18)}};
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT3144_cons_20,2,1) {_OMC_LIT1199,MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT3144_cons_19)}};
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT3144_cons_21,2,1) {_OMC_LIT1842,MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT3144_cons_20)}};
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT3144_cons_22,2,1) {_OMC_LIT3142,MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT3144_cons_21)}};
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT3144_cons_23,2,1) {_OMC_LIT3141,MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT3144_cons_22)}};
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT3144_cons_24,2,1) {_OMC_LIT3140,MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT3144_cons_23)}};
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT3144_cons_25,2,1) {_OMC_LIT3139,MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT3144_cons_24)}};
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT3144_cons_26,2,1) {_OMC_LIT1199,MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT3144_cons_25)}};
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT3144_cons_27,2,1) {_OMC_LIT3138,MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT3144_cons_26)}};
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT3144_cons_28,2,1) {_OMC_LIT1842,MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT3144_cons_27)}};
#define _OMC_LIT3144 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT3144_cons_28)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT3145,3,6) {&Tpl_StringToken_ST__STRING__LIST__desc,_OMC_LIT3144,MMC_IMMEDIATE(MMC_TAGFIXNUM(1))}};
#define _OMC_LIT3145 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT3145)
#define _OMC_LIT3146_data "} /* end extern \"C\" */\n"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT3146,23,_OMC_LIT3146_data);
#define _OMC_LIT3146 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT3146)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT3147,2,1) {_OMC_LIT3146,_OMC_LIT1844}};
#define _OMC_LIT3147 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT3147)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT3148,2,1) {_OMC_LIT3099,_OMC_LIT3147}};
#define _OMC_LIT3148 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT3148)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT3149,2,1) {_OMC_LIT1199,_OMC_LIT3148}};
#define _OMC_LIT3149 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT3149)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT3150,2,1) {_OMC_LIT1842,_OMC_LIT3149}};
#define _OMC_LIT3150 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT3150)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT3151,2,1) {_OMC_LIT1199,_OMC_LIT3150}};
#define _OMC_LIT3151 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT3151)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT3152,2,1) {_OMC_LIT159,_OMC_LIT3151}};
#define _OMC_LIT3152 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT3152)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT3153,3,6) {&Tpl_StringToken_ST__STRING__LIST__desc,_OMC_LIT3152,MMC_IMMEDIATE(MMC_TAGFIXNUM(1))}};
#define _OMC_LIT3153 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT3153)
#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__1265(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_ty);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__1265,2,0) {(void*) boxptr_CodegenCFunctions_fun__1265,0}};
#define boxvar_CodegenCFunctions_fun__1265 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__1265)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__1264(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_ty);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__1264,2,0) {(void*) boxptr_CodegenCFunctions_fun__1264,0}};
#define boxvar_CodegenCFunctions_fun__1264 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__1264)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__1262(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_ty);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__1262,2,0) {(void*) boxptr_CodegenCFunctions_fun__1262,0}};
#define boxvar_CodegenCFunctions_fun__1262 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__1262)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__1261(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_ty);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__1261,2,0) {(void*) boxptr_CodegenCFunctions_fun__1261,0}};
#define boxvar_CodegenCFunctions_fun__1261 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__1261)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__1259(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_mArg);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__1259,2,0) {(void*) boxptr_CodegenCFunctions_fun__1259,0}};
#define boxvar_CodegenCFunctions_fun__1259 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__1259)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__1258(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__1258(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__1258,2,0) {(void*) boxptr_CodegenCFunctions_fun__1258,0}};
#define boxvar_CodegenCFunctions_fun__1258 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__1258)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__1256(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_var, modelica_metatype _in_a_sub, modelica_metatype _in_a_arr);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__1256,2,0) {(void*) boxptr_CodegenCFunctions_fun__1256,0}};
#define boxvar_CodegenCFunctions_fun__1256 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__1256)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__1255(threadData_t *threadData, modelica_metatype _in_txt, modelica_boolean _in_mArg);
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__1255(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_mArg);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__1255,2,0) {(void*) boxptr_CodegenCFunctions_fun__1255,0}};
#define boxvar_CodegenCFunctions_fun__1255 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__1255)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__1253(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_mArg);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__1253,2,0) {(void*) boxptr_CodegenCFunctions_fun__1253,0}};
#define boxvar_CodegenCFunctions_fun__1253 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__1253)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__1250(threadData_t *threadData, modelica_metatype _in_txt, modelica_string _in_mArg, modelica_integer _in_a_ix, modelica_metatype _in_a_sub, modelica_metatype _in_a_arr, modelica_boolean _in_a_isPre, modelica_boolean _in_a_isStart, modelica_metatype _in_a_var, modelica_metatype *out_out_a_sub);
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__1250(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_mArg, modelica_metatype _in_a_ix, modelica_metatype _in_a_sub, modelica_metatype _in_a_arr, modelica_metatype _in_a_isPre, modelica_metatype _in_a_isStart, modelica_metatype _in_a_var, modelica_metatype *out_out_a_sub);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__1250,2,0) {(void*) boxptr_CodegenCFunctions_fun__1250,0}};
#define boxvar_CodegenCFunctions_fun__1250 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__1250)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__1249(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 _in_a_sub, modelica_metatype _in_a_arr, modelica_metatype *out_out_a_sub);
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__1249(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_metatype _in_a_sub, modelica_metatype _in_a_arr, modelica_metatype *out_out_a_sub);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__1249,2,0) {(void*) boxptr_CodegenCFunctions_fun__1249,0}};
#define boxvar_CodegenCFunctions_fun__1249 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__1249)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__1248(threadData_t *threadData, modelica_metatype _in_txt, modelica_boolean _in_a_isStart, modelica_metatype _in_a_var, modelica_metatype _in_a_sub, modelica_metatype _in_a_varKind, modelica_integer _in_a_index, modelica_metatype _in_a_name, modelica_integer _in_a_ix, modelica_metatype _in_a_arr, modelica_boolean _in_a_isPre, modelica_metatype *out_out_a_sub);
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__1248(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_isStart, modelica_metatype _in_a_var, modelica_metatype _in_a_sub, modelica_metatype _in_a_varKind, modelica_metatype _in_a_index, modelica_metatype _in_a_name, modelica_metatype _in_a_ix, modelica_metatype _in_a_arr, modelica_metatype _in_a_isPre, modelica_metatype *out_out_a_sub);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__1248,2,0) {(void*) boxptr_CodegenCFunctions_fun__1248,0}};
#define boxvar_CodegenCFunctions_fun__1248 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__1248)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__1247(threadData_t *threadData, modelica_metatype _in_txt, modelica_boolean _in_a_isPre, modelica_metatype _in_a_sub, modelica_metatype _in_a_varKind, modelica_integer _in_a_index, modelica_metatype _in_a_name, modelica_integer _in_a_ix, modelica_metatype _in_a_arr);
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__1247(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_isPre, modelica_metatype _in_a_sub, modelica_metatype _in_a_varKind, modelica_metatype _in_a_index, modelica_metatype _in_a_name, modelica_metatype _in_a_ix, modelica_metatype _in_a_arr);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__1247,2,0) {(void*) boxptr_CodegenCFunctions_fun__1247,0}};
#define boxvar_CodegenCFunctions_fun__1247 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__1247)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__1246(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_var, modelica_metatype _in_a_sub, modelica_metatype _in_a_arr, modelica_boolean _in_a_isPre, modelica_boolean _in_a_isStart, modelica_metatype *out_out_a_sub);
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__1246(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_var, modelica_metatype _in_a_sub, modelica_metatype _in_a_arr, modelica_metatype _in_a_isPre, modelica_metatype _in_a_isStart, modelica_metatype *out_out_a_sub);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__1246,2,0) {(void*) boxptr_CodegenCFunctions_fun__1246,0}};
#define boxvar_CodegenCFunctions_fun__1246 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__1246)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__1245(threadData_t *threadData, modelica_metatype _in_txt, modelica_boolean _in_a_isStart, modelica_metatype _in_a_var, modelica_metatype _in_a_sub, modelica_metatype _in_a_varKind, modelica_metatype _in_a_c__comment, modelica_integer _in_a_index, modelica_metatype _in_a_name, modelica_metatype _in_a_arr, modelica_boolean _in_a_isPre, modelica_metatype *out_out_a_sub);
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__1245(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_isStart, modelica_metatype _in_a_var, modelica_metatype _in_a_sub, 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_arr, modelica_metatype _in_a_isPre, modelica_metatype *out_out_a_sub);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__1245,2,0) {(void*) boxptr_CodegenCFunctions_fun__1245,0}};
#define boxvar_CodegenCFunctions_fun__1245 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__1245)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__1244(threadData_t *threadData, modelica_metatype _in_txt, modelica_boolean _in_a_isPre, modelica_metatype _in_a_sub, modelica_metatype _in_a_varKind, modelica_metatype _in_a_c__comment, modelica_integer _in_a_index, modelica_metatype _in_a_name, modelica_metatype _in_a_arr);
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__1244(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_isPre, modelica_metatype _in_a_sub, 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_arr);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__1244,2,0) {(void*) boxptr_CodegenCFunctions_fun__1244,0}};
#define boxvar_CodegenCFunctions_fun__1244 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__1244)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__1243(threadData_t *threadData, modelica_metatype _in_txt, modelica_boolean _in_mArg);
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__1243(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_mArg);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__1243,2,0) {(void*) boxptr_CodegenCFunctions_fun__1243,0}};
#define boxvar_CodegenCFunctions_fun__1243 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__1243)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__1240(threadData_t *threadData, modelica_metatype _in_txt, modelica_string _in_mArg, modelica_metatype _in_a_res);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__1240,2,0) {(void*) boxptr_CodegenCFunctions_fun__1240,0}};
#define boxvar_CodegenCFunctions_fun__1240 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__1240)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__1235(threadData_t *threadData, modelica_metatype _in_txt, modelica_boolean _in_mArg, modelica_metatype _in_a_exp);
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__1235(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_mArg, modelica_metatype _in_a_exp);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__1235,2,0) {(void*) boxptr_CodegenCFunctions_fun__1235,0}};
#define boxvar_CodegenCFunctions_fun__1235 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__1235)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_lm__1232(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__1232(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__1232,2,0) {(void*) boxptr_CodegenCFunctions_lm__1232,0}};
#define boxvar_CodegenCFunctions_lm__1232 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_lm__1232)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__1231(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__1231,2,0) {(void*) boxptr_CodegenCFunctions_fun__1231,0}};
#define boxvar_CodegenCFunctions_fun__1231 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__1231)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__1230(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__1230(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__1230,2,0) {(void*) boxptr_CodegenCFunctions_fun__1230,0}};
#define boxvar_CodegenCFunctions_fun__1230 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__1230)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__1229(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__1229(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__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_string _in_mArg, modelica_metatype _in_a_prefix, modelica_metatype _in_a_name);
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_lm__1227(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__1227,2,0) {(void*) boxptr_CodegenCFunctions_lm__1227,0}};
#define boxvar_CodegenCFunctions_lm__1227 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_lm__1227)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__1226(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__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_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__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__1224(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__1224,2,0) {(void*) boxptr_CodegenCFunctions_fun__1224,0}};
#define boxvar_CodegenCFunctions_fun__1224 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__1224)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_lm__1223(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__1223,2,0) {(void*) boxptr_CodegenCFunctions_lm__1223,0}};
#define boxvar_CodegenCFunctions_lm__1223 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_lm__1223)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_lm__1222(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__1222,2,0) {(void*) boxptr_CodegenCFunctions_lm__1222,0}};
#define boxvar_CodegenCFunctions_lm__1222 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_lm__1222)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__1221(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__1221,2,0) {(void*) boxptr_CodegenCFunctions_fun__1221,0}};
#define boxvar_CodegenCFunctions_fun__1221 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__1221)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_lm__1220(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__1220,2,0) {(void*) boxptr_CodegenCFunctions_lm__1220,0}};
#define boxvar_CodegenCFunctions_lm__1220 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_lm__1220)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_lm__1219(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__1219,2,0) {(void*) boxptr_CodegenCFunctions_lm__1219,0}};
#define boxvar_CodegenCFunctions_lm__1219 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_lm__1219)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__1218(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__1218,2,0) {(void*) boxptr_CodegenCFunctions_fun__1218,0}};
#define boxvar_CodegenCFunctions_fun__1218 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__1218)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__1217(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__1217,2,0) {(void*) boxptr_CodegenCFunctions_fun__1217,0}};
#define boxvar_CodegenCFunctions_fun__1217 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__1217)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__1216(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__1216(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__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_string _in_mArg, modelica_metatype _in_a_prefix);
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__1213(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__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_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__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_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__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_metatype _in_a_exp_matchType, modelica_metatype _in_a_prefix);
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__1209(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_exp_matchType);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__1209,2,0) {(void*) boxptr_CodegenCFunctions_fun__1209,0}};
#define boxvar_CodegenCFunctions_fun__1209 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__1209)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__1208(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__1208,2,0) {(void*) boxptr_CodegenCFunctions_fun__1208,0}};
#define boxvar_CodegenCFunctions_fun__1208 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__1208)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_lm__1207(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__1207,2,0) {(void*) boxptr_CodegenCFunctions_lm__1207,0}};
#define boxvar_CodegenCFunctions_lm__1207 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_lm__1207)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_lm__1206(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__1206,2,0) {(void*) boxptr_CodegenCFunctions_lm__1206,0}};
#define boxvar_CodegenCFunctions_lm__1206 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_lm__1206)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__1205(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__1205,2,0) {(void*) boxptr_CodegenCFunctions_fun__1205,0}};
#define boxvar_CodegenCFunctions_fun__1205 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__1205)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_lm__1204(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__1204,2,0) {(void*) boxptr_CodegenCFunctions_lm__1204,0}};
#define boxvar_CodegenCFunctions_lm__1204 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_lm__1204)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_lm__1203(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__1203,2,0) {(void*) boxptr_CodegenCFunctions_lm__1203,0}};
#define boxvar_CodegenCFunctions_lm__1203 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_lm__1203)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_lm__1202(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__1202,2,0) {(void*) boxptr_CodegenCFunctions_lm__1202,0}};
#define boxvar_CodegenCFunctions_lm__1202 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_lm__1202)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__1201(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_exp_matchType);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__1201,2,0) {(void*) boxptr_CodegenCFunctions_fun__1201,0}};
#define boxvar_CodegenCFunctions_fun__1201 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__1201)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__1199(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__1199,2,0) {(void*) boxptr_CodegenCFunctions_fun__1199,0}};
#define boxvar_CodegenCFunctions_fun__1199 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__1199)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__1197(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_resTail);
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_foundFirst);
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_metatype _in_a_resTail, modelica_metatype _in_a_res);
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_fun__1194(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__1194,2,0) {(void*) boxptr_CodegenCFunctions_fun__1194,0}};
#define boxvar_CodegenCFunctions_fun__1194 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__1194)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__1193(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__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_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__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_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__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_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__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_fun__1189(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__1189,2,0) {(void*) boxptr_CodegenCFunctions_fun__1189,0}};
#define boxvar_CodegenCFunctions_fun__1189 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__1189)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_lm__1188(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__1188,2,0) {(void*) boxptr_CodegenCFunctions_lm__1188,0}};
#define boxvar_CodegenCFunctions_lm__1188 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_lm__1188)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__1187(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__1187,2,0) {(void*) boxptr_CodegenCFunctions_fun__1187,0}};
#define boxvar_CodegenCFunctions_fun__1187 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__1187)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__1186(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__1186,2,0) {(void*) boxptr_CodegenCFunctions_fun__1186,0}};
#define boxvar_CodegenCFunctions_fun__1186 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__1186)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__1185(threadData_t *threadData, modelica_metatype _in_txt, modelica_boolean _in_mArg, modelica_metatype _in_a_loopVar);
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__1185(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_mArg, modelica_metatype _in_a_loopVar);
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_lm__1184(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__1184,2,0) {(void*) boxptr_CodegenCFunctions_lm__1184,0}};
#define boxvar_CodegenCFunctions_lm__1184 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_lm__1184)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__1183(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__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_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__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__1181(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__1181(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__1181,2,0) {(void*) boxptr_CodegenCFunctions_fun__1181,0}};
#define boxvar_CodegenCFunctions_fun__1181 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__1181)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__1180(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__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_boolean _in_mArg, modelica_metatype _in_a_endLoop, modelica_metatype _in_a_guardExp);
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__1179(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__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_boolean _in_mArg);
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__1178(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_mArg);
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_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__1177(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__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_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__1176(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__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_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__1175(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__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_fun__1174(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__1174,2,0) {(void*) boxptr_CodegenCFunctions_fun__1174,0}};
#define boxvar_CodegenCFunctions_fun__1174 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__1174)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__1173(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__1173,2,0) {(void*) boxptr_CodegenCFunctions_fun__1173,0}};
#define boxvar_CodegenCFunctions_fun__1173 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__1173)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__1172(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__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_fun__1171(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__1171,2,0) {(void*) boxptr_CodegenCFunctions_fun__1171,0}};
#define boxvar_CodegenCFunctions_fun__1171 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__1171)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__1170(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__1170,2,0) {(void*) boxptr_CodegenCFunctions_fun__1170,0}};
#define boxvar_CodegenCFunctions_fun__1170 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__1170)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__1169(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_firstIndex);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__1169,2,0) {(void*) boxptr_CodegenCFunctions_fun__1169,0}};
#define boxvar_CodegenCFunctions_fun__1169 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__1169)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__1168(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__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__1167(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__1167,2,0) {(void*) boxptr_CodegenCFunctions_fun__1167,0}};
#define boxvar_CodegenCFunctions_fun__1167 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__1167)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__1166(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_ri_path);
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__1165(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__1165,2,0) {(void*) boxptr_CodegenCFunctions_fun__1165,0}};
#define boxvar_CodegenCFunctions_fun__1165 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__1165)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__1164(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__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_rangeExpStop, modelica_metatype _in_a_stopVar);
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_rangeExpStep, modelica_metatype _in_a_stepVar);
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_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__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_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__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_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__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_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__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_fun__1157(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__1157,2,0) {(void*) boxptr_CodegenCFunctions_fun__1157,0}};
#define boxvar_CodegenCFunctions_fun__1157 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__1157)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__1156(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__1156(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__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_fun__1155(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__1155,2,0) {(void*) boxptr_CodegenCFunctions_fun__1155,0}};
#define boxvar_CodegenCFunctions_fun__1155 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__1155)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__1154(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__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_tmpVarDecls, modelica_metatype _in_a_identType, modelica_metatype *out_out_a_tmpVarDecls);
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_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__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_fun__1151(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__1151,2,0) {(void*) boxptr_CodegenCFunctions_fun__1151,0}};
#define boxvar_CodegenCFunctions_fun__1151 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__1151)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__1150(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__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_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__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_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__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_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__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_lm__1146(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_items);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_lm__1146,2,0) {(void*) boxptr_CodegenCFunctions_lm__1146,0}};
#define boxvar_CodegenCFunctions_lm__1146 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_lm__1146)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__1145(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__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_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__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_metatype _in_a_ri_path, modelica_metatype _in_a_tmpVarDecls, modelica_metatype *out_out_a_tmpVarDecls);
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_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__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_ri_defaultValue, modelica_metatype _in_a_tmpVarDecls, modelica_metatype *out_out_a_tmpVarDecls);
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_ri_path, modelica_metatype _in_a_tmpVarDecls, modelica_metatype *out_out_a_tmpVarDecls);
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_resTail);
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_foundFirst);
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_resTail, modelica_metatype _in_a_res);
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_iterators, modelica_metatype _in_a_endLoop);
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_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__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_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__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_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__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_lm__1132(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__1132,2,0) {(void*) boxptr_CodegenCFunctions_lm__1132,0}};
#define boxvar_CodegenCFunctions_lm__1132 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_lm__1132)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__1131(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__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_lm__1130(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__1130,2,0) {(void*) boxptr_CodegenCFunctions_lm__1130,0}};
#define boxvar_CodegenCFunctions_lm__1130 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_lm__1130)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__1129(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__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_loopVar, modelica_metatype _in_a_iteratorName);
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_boolean _in_mArg, modelica_metatype _in_a_loopVar);
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__1127(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_mArg, modelica_metatype _in_a_loopVar);
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_lm__1126(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__1126,2,0) {(void*) boxptr_CodegenCFunctions_lm__1126,0}};
#define boxvar_CodegenCFunctions_lm__1126 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_lm__1126)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__1125(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__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_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__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_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__1123(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__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_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__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_boolean _in_mArg, modelica_metatype _in_a_endLoop, modelica_metatype _in_a_guardExp);
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__1121(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__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_boolean _in_mArg);
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__1120(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_mArg);
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_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__1119(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__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_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__1118(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__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_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__1117(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__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_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__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_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__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_a_firstIndex, modelica_metatype _in_a_iteratorName);
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_fun__1113(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__1113,2,0) {(void*) boxptr_CodegenCFunctions_fun__1113,0}};
#define boxvar_CodegenCFunctions_fun__1113 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__1113)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__1112(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__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_firstIndex);
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_isArrayWithLength, modelica_metatype _in_a_iteratorName);
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_rangeExpStop, modelica_metatype _in_a_ri_path);
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_path);
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_rangeExpStop, modelica_metatype _in_a_iter_exp, modelica_metatype _in_a_stepVar);
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_iter_exp, modelica_metatype _in_a_check);
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_rangeExpStop, modelica_metatype _in_a_stopVar);
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_rangeExpStep, modelica_metatype _in_a_stepVar);
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_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__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_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__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_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__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_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__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_fun__1099(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__1099,2,0) {(void*) boxptr_CodegenCFunctions_fun__1099,0}};
#define boxvar_CodegenCFunctions_fun__1099 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__1099)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__1098(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__1098(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__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_fun__1097(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__1097,2,0) {(void*) boxptr_CodegenCFunctions_fun__1097,0}};
#define boxvar_CodegenCFunctions_fun__1097 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__1097)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__1096(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__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_tmpVarDecls, modelica_metatype _in_a_identType, modelica_metatype *out_out_a_tmpVarDecls);
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_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__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_fun__1093(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__1093,2,0) {(void*) boxptr_CodegenCFunctions_fun__1093,0}};
#define boxvar_CodegenCFunctions_fun__1093 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__1093)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__1092(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__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_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__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_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__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_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__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_lm__1088(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_items);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_lm__1088,2,0) {(void*) boxptr_CodegenCFunctions_lm__1088,0}};
#define boxvar_CodegenCFunctions_lm__1088 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_lm__1088)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__1087(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__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_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__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_metatype _in_a_ri_path, modelica_metatype _in_a_tmpVarDecls, modelica_metatype *out_out_a_tmpVarDecls);
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_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__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_ri_defaultValue, modelica_metatype _in_a_tmpVarDecls, modelica_metatype *out_out_a_tmpVarDecls);
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_ri_path, modelica_metatype _in_a_tmpVarDecls, modelica_metatype *out_out_a_tmpVarDecls);
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__1077(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__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_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__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_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__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_integer _in_mArg);
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__1074(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_mArg);
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_lm__1073(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__1073,2,0) {(void*) boxptr_CodegenCFunctions_lm__1073,0}};
#define boxvar_CodegenCFunctions_lm__1073 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_lm__1073)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_lm__1072(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__1072,2,0) {(void*) boxptr_CodegenCFunctions_lm__1072,0}};
#define boxvar_CodegenCFunctions_lm__1072 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_lm__1072)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__1071(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__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__1068(threadData_t *threadData, modelica_metatype _in_txt, modelica_boolean _in_mArg, modelica_metatype _in_a_v);
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__1068(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_mArg, modelica_metatype _in_a_v);
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_lm__1067(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__1067(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__1067,2,0) {(void*) boxptr_CodegenCFunctions_lm__1067,0}};
#define boxvar_CodegenCFunctions_lm__1067 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_lm__1067)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__1066(threadData_t *threadData, modelica_metatype _in_txt, modelica_boolean _in_mArg, modelica_metatype _in_a_v);
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__1066(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_mArg, modelica_metatype _in_a_v);
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__1064(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__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_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__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_boolean _in_mArg, modelica_metatype _in_a_expVar, modelica_metatype _in_a_exp);
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__1062(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__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__1060(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__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_lm__1058(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__1058,2,0) {(void*) boxptr_CodegenCFunctions_lm__1058,0}};
#define boxvar_CodegenCFunctions_lm__1058 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_lm__1058)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__1056(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__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, 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__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_lm__1054(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__1054,2,0) {(void*) boxptr_CodegenCFunctions_lm__1054,0}};
#define boxvar_CodegenCFunctions_lm__1054 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_lm__1054)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_lm__1053(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__1053(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__1053,2,0) {(void*) boxptr_CodegenCFunctions_lm__1053,0}};
#define boxvar_CodegenCFunctions_lm__1053 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_lm__1053)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_lm__1052(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__1052,2,0) {(void*) boxptr_CodegenCFunctions_lm__1052,0}};
#define boxvar_CodegenCFunctions_lm__1052 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_lm__1052)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_lm__1051(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__1051(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__1051,2,0) {(void*) boxptr_CodegenCFunctions_lm__1051,0}};
#define boxvar_CodegenCFunctions_lm__1051 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_lm__1051)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_lm__1050(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__1050,2,0) {(void*) boxptr_CodegenCFunctions_lm__1050,0}};
#define boxvar_CodegenCFunctions_lm__1050 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_lm__1050)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_lm__1049(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__1049(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__1049,2,0) {(void*) boxptr_CodegenCFunctions_lm__1049,0}};
#define boxvar_CodegenCFunctions_lm__1049 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_lm__1049)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__1047(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_params);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__1047,2,0) {(void*) boxptr_CodegenCFunctions_fun__1047,0}};
#define boxvar_CodegenCFunctions_fun__1047 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__1047)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_lm__1046(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__1046(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__1046,2,0) {(void*) boxptr_CodegenCFunctions_lm__1046,0}};
#define boxvar_CodegenCFunctions_lm__1046 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_lm__1046)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__1045(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__1045(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__1045,2,0) {(void*) boxptr_CodegenCFunctions_fun__1045,0}};
#define boxvar_CodegenCFunctions_fun__1045 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__1045)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__1044(threadData_t *threadData, modelica_metatype _in_txt, modelica_boolean _in_a_scalar);
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__1044(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_scalar);
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_boolean _in_a_scalar);
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__1043(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_scalar);
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_lm__1042(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__1042(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__1042,2,0) {(void*) boxptr_CodegenCFunctions_lm__1042,0}};
#define boxvar_CodegenCFunctions_lm__1042 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_lm__1042)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__1041(threadData_t *threadData, modelica_metatype _in_txt, modelica_boolean _in_a_scalar);
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__1041(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_scalar);
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_fun__1039(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__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_fun__1038(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__1038,2,0) {(void*) boxptr_CodegenCFunctions_fun__1038,0}};
#define boxvar_CodegenCFunctions_fun__1038 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__1038)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__1037(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__1037(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__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__1036(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__1036(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__1036,2,0) {(void*) boxptr_CodegenCFunctions_fun__1036,0}};
#define boxvar_CodegenCFunctions_fun__1036 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__1036)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__1035(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__1035(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__1035,2,0) {(void*) boxptr_CodegenCFunctions_fun__1035,0}};
#define boxvar_CodegenCFunctions_fun__1035 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__1035)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__1033(threadData_t *threadData, modelica_metatype _in_txt, modelica_boolean _in_mArg);
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__1033(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_mArg);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__1033,2,0) {(void*) boxptr_CodegenCFunctions_fun__1033,0}};
#define boxvar_CodegenCFunctions_fun__1033 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__1033)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__1032(threadData_t *threadData, modelica_metatype _in_txt, modelica_boolean _in_a_isClosure);
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__1032(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_isClosure);
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__1031(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_ty);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__1031,2,0) {(void*) boxptr_CodegenCFunctions_fun__1031,0}};
#define boxvar_CodegenCFunctions_fun__1031 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__1031)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_lm__1030(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_items);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_lm__1030,2,0) {(void*) boxptr_CodegenCFunctions_lm__1030,0}};
#define boxvar_CodegenCFunctions_lm__1030 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_lm__1030)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__1029(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_ty);
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_lm__1028(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_items);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_lm__1028,2,0) {(void*) boxptr_CodegenCFunctions_lm__1028,0}};
#define boxvar_CodegenCFunctions_lm__1028 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_lm__1028)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__1027(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_ty);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__1027,2,0) {(void*) boxptr_CodegenCFunctions_fun__1027,0}};
#define boxvar_CodegenCFunctions_fun__1027 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__1027)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__1025(threadData_t *threadData, modelica_metatype _in_txt, modelica_boolean _in_mArg);
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__1025(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_mArg);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__1025,2,0) {(void*) boxptr_CodegenCFunctions_fun__1025,0}};
#define boxvar_CodegenCFunctions_fun__1025 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__1025)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__1024(threadData_t *threadData, modelica_metatype _in_txt, modelica_boolean _in_a_isClosure);
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__1024(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_isClosure);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__1024,2,0) {(void*) boxptr_CodegenCFunctions_fun__1024,0}};
#define boxvar_CodegenCFunctions_fun__1024 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__1024)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__1023(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_ty);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__1023,2,0) {(void*) boxptr_CodegenCFunctions_fun__1023,0}};
#define boxvar_CodegenCFunctions_fun__1023 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__1023)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_lm__1022(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_items);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_lm__1022,2,0) {(void*) boxptr_CodegenCFunctions_lm__1022,0}};
#define boxvar_CodegenCFunctions_lm__1022 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_lm__1022)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_lm__1021(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_items);
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_fun__1020(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_ty);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__1020,2,0) {(void*) boxptr_CodegenCFunctions_fun__1020,0}};
#define boxvar_CodegenCFunctions_fun__1020 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__1020)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__1018(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__1018,2,0) {(void*) boxptr_CodegenCFunctions_fun__1018,0}};
#define boxvar_CodegenCFunctions_fun__1018 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__1018)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__1017(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__1017(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__1017,2,0) {(void*) boxptr_CodegenCFunctions_fun__1017,0}};
#define boxvar_CodegenCFunctions_fun__1017 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__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_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_fun__1015(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_path, 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_sub, 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__1015,2,0) {(void*) boxptr_CodegenCFunctions_fun__1015,0}};
#define boxvar_CodegenCFunctions_fun__1015 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__1015)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__1014(threadData_t *threadData, modelica_metatype _in_txt, modelica_boolean _in_a_attr_builtin);
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__1014(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_attr_builtin);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__1014,2,0) {(void*) boxptr_CodegenCFunctions_fun__1014,0}};
#define boxvar_CodegenCFunctions_fun__1014 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__1014)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__1013(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__1013(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__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_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_lm__1011(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__1011,2,0) {(void*) boxptr_CodegenCFunctions_lm__1011,0}};
#define boxvar_CodegenCFunctions_lm__1011 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_lm__1011)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__1009(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_call, 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_sub, 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__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_fun__1008(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__1008(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__1008,2,0) {(void*) boxptr_CodegenCFunctions_fun__1008,0}};
#define boxvar_CodegenCFunctions_fun__1008 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__1008)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__1007(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__1007(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__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__1006(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__1006,2,0) {(void*) boxptr_CodegenCFunctions_fun__1006,0}};
#define boxvar_CodegenCFunctions_fun__1006 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__1006)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__1005(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__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_boolean _in_mArg, modelica_metatype _in_a_tvar2);
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__1004(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_mArg, modelica_metatype _in_a_tvar2);
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_tvar2);
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__1003(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_mArg, modelica_metatype _in_a_tvar2);
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_metatype _in_a_attr_ty);
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_lm__1001(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_items);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_lm__1001,2,0) {(void*) boxptr_CodegenCFunctions_lm__1001,0}};
#define boxvar_CodegenCFunctions_lm__1001 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_lm__1001)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__1000(threadData_t *threadData, modelica_metatype _in_txt, modelica_string _in_a_name);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__1000,2,0) {(void*) boxptr_CodegenCFunctions_fun__1000,0}};
#define boxvar_CodegenCFunctions_fun__1000 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__1000)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__999(threadData_t *threadData, modelica_metatype _in_txt, modelica_string _in_a_name);
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_string _in_a_name);
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_string _in_a_name);
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_fun__996(threadData_t *threadData, modelica_metatype _in_txt, modelica_string _in_a_name);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__996,2,0) {(void*) boxptr_CodegenCFunctions_fun__996,0}};
#define boxvar_CodegenCFunctions_fun__996 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__996)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__995(threadData_t *threadData, modelica_metatype _in_txt, modelica_string _in_a_name);
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_fun__994(threadData_t *threadData, modelica_metatype _in_txt, modelica_string _in_mArg, modelica_integer _in_a_index);
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__994(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_mArg, modelica_metatype _in_a_index);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__994,2,0) {(void*) boxptr_CodegenCFunctions_fun__994,0}};
#define boxvar_CodegenCFunctions_fun__994 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__994)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__993(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__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__992(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__992,2,0) {(void*) boxptr_CodegenCFunctions_fun__992,0}};
#define boxvar_CodegenCFunctions_fun__992 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__992)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__991(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__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_lm__990(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_items);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_lm__990,2,0) {(void*) boxptr_CodegenCFunctions_lm__990,0}};
#define boxvar_CodegenCFunctions_lm__990 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_lm__990)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_lm__989(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__989,2,0) {(void*) boxptr_CodegenCFunctions_lm__989,0}};
#define boxvar_CodegenCFunctions_lm__989 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_lm__989)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_lm__988(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__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_fun__987(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__987(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__987,2,0) {(void*) boxptr_CodegenCFunctions_fun__987,0}};
#define boxvar_CodegenCFunctions_fun__987 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__987)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_lm__986(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__986,2,0) {(void*) boxptr_CodegenCFunctions_lm__986,0}};
#define boxvar_CodegenCFunctions_lm__986 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_lm__986)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__985(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__985(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__985,2,0) {(void*) boxptr_CodegenCFunctions_fun__985,0}};
#define boxvar_CodegenCFunctions_fun__985 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__985)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__984(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__984(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__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_mArg, modelica_metatype _in_a_cstr, modelica_metatype _in_a_tvar);
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__983(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__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_fun__982(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__982(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__982,2,0) {(void*) boxptr_CodegenCFunctions_fun__982,0}};
#define boxvar_CodegenCFunctions_fun__982 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__982)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__981(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__981(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__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_mArg, modelica_metatype _in_a_var2, modelica_metatype _in_a_tvar);
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__980(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__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_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__979(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__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_fun__978(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__978(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__978,2,0) {(void*) boxptr_CodegenCFunctions_fun__978,0}};
#define boxvar_CodegenCFunctions_fun__978 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__978)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__976(threadData_t *threadData, modelica_metatype _in_txt, modelica_boolean _in_mArg);
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__976(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_mArg);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__976,2,0) {(void*) boxptr_CodegenCFunctions_fun__976,0}};
#define boxvar_CodegenCFunctions_fun__976 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__976)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__975(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__975(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__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_lm__974(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_items);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_lm__974,2,0) {(void*) boxptr_CodegenCFunctions_lm__974,0}};
#define boxvar_CodegenCFunctions_lm__974 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_lm__974)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_lm__973(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_items);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_lm__973,2,0) {(void*) boxptr_CodegenCFunctions_lm__973,0}};
#define boxvar_CodegenCFunctions_lm__973 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_lm__973)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_lm__972(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_items);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_lm__972,2,0) {(void*) boxptr_CodegenCFunctions_lm__972,0}};
#define boxvar_CodegenCFunctions_lm__972 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_lm__972)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_lm__971(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_items);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_lm__971,2,0) {(void*) boxptr_CodegenCFunctions_lm__971,0}};
#define boxvar_CodegenCFunctions_lm__971 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_lm__971)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_lm__970(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_items);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_lm__970,2,0) {(void*) boxptr_CodegenCFunctions_lm__970,0}};
#define boxvar_CodegenCFunctions_lm__970 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_lm__970)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__969(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_t_funcResultType);
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_fun__968(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__968(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__968,2,0) {(void*) boxptr_CodegenCFunctions_fun__968,0}};
#define boxvar_CodegenCFunctions_fun__968 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__968)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__967(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__967(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__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_lm__966(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__966,2,0) {(void*) boxptr_CodegenCFunctions_lm__966,0}};
#define boxvar_CodegenCFunctions_lm__966 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_lm__966)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__965(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_t_funcResultType);
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_metatype _in_a_t_funcResultType, modelica_metatype _in_a_ret, modelica_metatype *out_out_a_ret);
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_lm__963(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__963,2,0) {(void*) boxptr_CodegenCFunctions_lm__963,0}};
#define boxvar_CodegenCFunctions_lm__963 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_lm__963)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_lm__961(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__961,2,0) {(void*) boxptr_CodegenCFunctions_lm__961,0}};
#define boxvar_CodegenCFunctions_lm__961 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_lm__961)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__959(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__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_lm__958(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__958,2,0) {(void*) boxptr_CodegenCFunctions_lm__958,0}};
#define boxvar_CodegenCFunctions_lm__958 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_lm__958)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__955(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__955,2,0) {(void*) boxptr_CodegenCFunctions_fun__955,0}};
#define boxvar_CodegenCFunctions_fun__955 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__955)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__954(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__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_fun__953(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__953,2,0) {(void*) boxptr_CodegenCFunctions_fun__953,0}};
#define boxvar_CodegenCFunctions_fun__953 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__953)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__952(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__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_metatype _in_a_preExpElse, modelica_metatype _in_a_exp);
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_exp);
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__950(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_mArg, modelica_metatype _in_a_exp);
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);
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__949(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_mArg);
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__947(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__947(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__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_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__946(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__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_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__945(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__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__944(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__944,2,0) {(void*) boxptr_CodegenCFunctions_fun__944,0}};
#define boxvar_CodegenCFunctions_fun__944 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__944)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__943(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__943(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__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_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__942(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__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_fun__941(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__941(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__941,2,0) {(void*) boxptr_CodegenCFunctions_fun__941,0}};
#define boxvar_CodegenCFunctions_fun__941 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__941)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__940(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__940(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__940,2,0) {(void*) boxptr_CodegenCFunctions_fun__940,0}};
#define boxvar_CodegenCFunctions_fun__940 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__940)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__939(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__939(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__939,2,0) {(void*) boxptr_CodegenCFunctions_fun__939,0}};
#define boxvar_CodegenCFunctions_fun__939 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__939)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__938(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__938(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__938,2,0) {(void*) boxptr_CodegenCFunctions_fun__938,0}};
#define boxvar_CodegenCFunctions_fun__938 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__938)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__937(threadData_t *threadData, modelica_metatype _in_txt, modelica_boolean _in_mArg);
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__937(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_mArg);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__937,2,0) {(void*) boxptr_CodegenCFunctions_fun__937,0}};
#define boxvar_CodegenCFunctions_fun__937 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__937)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__936(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__936(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__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_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__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_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__934(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__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_fun__933(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__933(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__933,2,0) {(void*) boxptr_CodegenCFunctions_fun__933,0}};
#define boxvar_CodegenCFunctions_fun__933 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__933)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__932(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__932(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__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_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__931(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__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_fun__930(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__930(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__930,2,0) {(void*) boxptr_CodegenCFunctions_fun__930,0}};
#define boxvar_CodegenCFunctions_fun__930 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__930)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__929(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__929(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__929,2,0) {(void*) boxptr_CodegenCFunctions_fun__929,0}};
#define boxvar_CodegenCFunctions_fun__929 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__929)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__928(threadData_t *threadData, modelica_metatype _in_txt, modelica_boolean _in_mArg);
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__928(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_mArg);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__928,2,0) {(void*) boxptr_CodegenCFunctions_fun__928,0}};
#define boxvar_CodegenCFunctions_fun__928 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__928)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__927(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__927(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__927,2,0) {(void*) boxptr_CodegenCFunctions_fun__927,0}};
#define boxvar_CodegenCFunctions_fun__927 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__927)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__926(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__926(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__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_fun__925(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__925,2,0) {(void*) boxptr_CodegenCFunctions_fun__925,0}};
#define boxvar_CodegenCFunctions_fun__925 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__925)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__924(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_rel_operator, modelica_metatype _in_a_isReal, 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__924(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_rel_operator, modelica_metatype _in_a_isReal, 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__924,2,0) {(void*) boxptr_CodegenCFunctions_fun__924,0}};
#define boxvar_CodegenCFunctions_fun__924 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__924)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__923(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_isReal);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__923,2,0) {(void*) boxptr_CodegenCFunctions_fun__923,0}};
#define boxvar_CodegenCFunctions_fun__923 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__923)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__922(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_isReal);
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_isReal);
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_isReal);
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_isReal);
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_boolean _in_mArg, modelica_metatype _in_a_rel_exp2);
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__918(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__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);
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__917(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_mArg);
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, 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__916(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__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__915(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__915,2,0) {(void*) boxptr_CodegenCFunctions_fun__915,0}};
#define boxvar_CodegenCFunctions_fun__915 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__915)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__914(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_rel_operator, modelica_metatype _in_a_isReal, 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__914(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_rel_operator, modelica_metatype _in_a_isReal, 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__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_isReal);
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_metatype _in_a_isReal);
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_isReal);
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_isReal);
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);
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_boolean _in_mArg, modelica_metatype _in_a_rel_exp2);
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__908(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__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_boolean _in_mArg);
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__907(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_mArg);
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_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__906(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__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_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__905(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__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_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__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_metatype _in_a_rel_operator, modelica_metatype _in_a_isReal, 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__903(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_rel_operator, modelica_metatype _in_a_isReal, 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__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_isReal);
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_isReal);
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);
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);
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);
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_boolean _in_mArg, modelica_metatype _in_a_rel_exp2);
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__897(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__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);
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__896(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_mArg);
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, 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__895(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__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_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__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_metatype _in_a_rel_operator, modelica_metatype _in_a_isReal, 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__893(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_rel_operator, modelica_metatype _in_a_isReal, 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__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_isReal);
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_isReal);
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_metatype _in_a_isReal);
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_metatype _in_a_isReal);
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_metatype _in_a_rel_exp2);
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_exp2);
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_boolean _in_mArg);
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__886(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_mArg);
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_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__885(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__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_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__884(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__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_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__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_metatype _in_a_rel_operator, modelica_metatype _in_a_isReal, 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__882(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_rel_operator, modelica_metatype _in_a_isReal, 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__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_isReal);
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_metatype _in_a_isReal);
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_isReal);
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_isReal);
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_metatype _in_a_isReal, 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_isReal, 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_metatype _in_a_isReal);
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_metatype _in_a_isReal);
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_isReal);
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_metatype _in_a_isReal);
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_boolean _in_mArg, modelica_metatype _in_a_rel_exp2);
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__866(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__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_boolean _in_mArg);
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__865(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_mArg);
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_boolean _in_mArg, modelica_integer _in_a_rel_index, modelica_metatype _in_a_res);
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__864(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__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_string _in_mArg, modelica_integer _in_a_rel_index, modelica_metatype _in_a_res);
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_index, modelica_metatype _in_a_res);
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_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__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__860(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__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_metatype _in_a_exp, modelica_metatype _in_a_e2, modelica_metatype _in_a_e1);
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__857(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__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__855(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__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__853(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__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__852(threadData_t *threadData, modelica_metatype _in_txt, modelica_boolean _in_mArg, modelica_metatype _in_a_e);
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__852(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_mArg, modelica_metatype _in_a_e);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__852,2,0) {(void*) boxptr_CodegenCFunctions_fun__852,0}};
#define boxvar_CodegenCFunctions_fun__852 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__852)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__850(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_operator, modelica_metatype _in_a_auxFunction, modelica_metatype _in_a_exp1, modelica_metatype _in_a_exp, 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__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__849(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_ty);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__849,2,0) {(void*) boxptr_CodegenCFunctions_fun__849,0}};
#define boxvar_CodegenCFunctions_fun__849 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__849)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__848(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_ty);
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__847(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__847,2,0) {(void*) boxptr_CodegenCFunctions_fun__847,0}};
#define boxvar_CodegenCFunctions_fun__847 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__847)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__846(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_ty);
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__845(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_ty);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__845,2,0) {(void*) boxptr_CodegenCFunctions_fun__845,0}};
#define boxvar_CodegenCFunctions_fun__845 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__845)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__844(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_ty);
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_metatype _in_a_ty);
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__842(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__842(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__842,2,0) {(void*) boxptr_CodegenCFunctions_fun__842,0}};
#define boxvar_CodegenCFunctions_fun__842 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__842)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__841(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_ty);
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_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__840(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__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_ty);
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_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__834(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__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_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__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_boolean _in_mArg, modelica_metatype _in_a_tmp2, modelica_metatype _in_a_tmp1);
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__832(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__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_tmp2, modelica_metatype _in_a_tmp1);
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__831(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__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_context, modelica_metatype _in_a_exp2, modelica_metatype _in_a_e1, modelica_metatype _in_a_exp, 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__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_boolean _in_mArg, modelica_metatype _in_a_exp, modelica_metatype _in_a_tvar);
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__829(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_mArg, modelica_metatype _in_a_exp, modelica_metatype _in_a_tvar);
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_boolean _in_mArg, modelica_metatype _in_a_e2, modelica_metatype _in_a_e1);
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__828(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__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_lm__826(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__826,2,0) {(void*) boxptr_CodegenCFunctions_lm__826,0}};
#define boxvar_CodegenCFunctions_lm__826 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_lm__826)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__825(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__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__823(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__823(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__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_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__822(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__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_lm__821(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__821,2,0) {(void*) boxptr_CodegenCFunctions_lm__821,0}};
#define boxvar_CodegenCFunctions_lm__821 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_lm__821)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__819(threadData_t *threadData, modelica_metatype _in_txt, modelica_boolean _in_mArg, 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 _in_a_ecr, modelica_metatype _in_a_cr, modelica_metatype *out_out_a_sub, 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__819(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_mArg, 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 _in_a_ecr, modelica_metatype _in_a_cr, modelica_metatype *out_out_a_sub, 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__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_fun__818(threadData_t *threadData, modelica_metatype _in_txt, modelica_boolean _in_mArg, 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 _in_a_cr, modelica_metatype _in_a_ecr, modelica_metatype *out_out_a_sub, 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__818(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_mArg, 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 _in_a_cr, modelica_metatype _in_a_ecr, modelica_metatype *out_out_a_sub, 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__818,2,0) {(void*) boxptr_CodegenCFunctions_fun__818,0}};
#define boxvar_CodegenCFunctions_fun__818 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__818)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__816(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__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_metatype _in_a_subs, modelica_metatype _in_a_dims, 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__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__812(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__812(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__812,2,0) {(void*) boxptr_CodegenCFunctions_fun__812,0}};
#define boxvar_CodegenCFunctions_fun__812 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__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_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__810(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__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_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__809(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__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__808(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__808(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__808,2,0) {(void*) boxptr_CodegenCFunctions_fun__808,0}};
#define boxvar_CodegenCFunctions_fun__808 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__808)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_lm__807(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__807,2,0) {(void*) boxptr_CodegenCFunctions_lm__807,0}};
#define boxvar_CodegenCFunctions_lm__807 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_lm__807)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__805(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__805(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__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_fun__803(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__803,2,0) {(void*) boxptr_CodegenCFunctions_fun__803,0}};
#define boxvar_CodegenCFunctions_fun__803 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__803)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__802(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__802,2,0) {(void*) boxptr_CodegenCFunctions_fun__802,0}};
#define boxvar_CodegenCFunctions_fun__802 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__802)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__801(threadData_t *threadData, modelica_metatype _in_txt, modelica_boolean _in_mArg, modelica_metatype _in_a_subs);
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__801(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_mArg, modelica_metatype _in_a_subs);
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_lm__800(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__800,2,0) {(void*) boxptr_CodegenCFunctions_lm__800,0}};
#define boxvar_CodegenCFunctions_lm__800 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_lm__800)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__798(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_ecr, 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_sub, 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__798,2,0) {(void*) boxptr_CodegenCFunctions_fun__798,0}};
#define boxvar_CodegenCFunctions_fun__798 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__798)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__797(threadData_t *threadData, modelica_metatype _in_txt, modelica_boolean _in_mArg, modelica_metatype _in_a_ty, 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 _in_a_cr, modelica_metatype *out_out_a_sub, 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__797(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_mArg, modelica_metatype _in_a_ty, 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 _in_a_cr, modelica_metatype *out_out_a_sub, 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__797,2,0) {(void*) boxptr_CodegenCFunctions_fun__797,0}};
#define boxvar_CodegenCFunctions_fun__797 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__797)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__796(threadData_t *threadData, modelica_metatype _in_txt, modelica_boolean _in_mArg, modelica_metatype _in_a_ty, 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 _in_a_cr, modelica_metatype *out_out_a_sub, 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_mArg, modelica_metatype _in_a_ty, 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 _in_a_cr, modelica_metatype *out_out_a_sub, 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_lm__795(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__795,2,0) {(void*) boxptr_CodegenCFunctions_lm__795,0}};
#define boxvar_CodegenCFunctions_lm__795 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_lm__795)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__793(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_ecr, 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_sub, 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__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_ecr, modelica_metatype _in_a_ty, 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 _in_a_cr, modelica_metatype *out_out_a_sub, 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__792(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_mArg, modelica_metatype _in_a_ecr, modelica_metatype _in_a_ty, 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 _in_a_cr, modelica_metatype *out_out_a_sub, 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__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_fun__791(threadData_t *threadData, modelica_metatype _in_txt, modelica_boolean _in_mArg, modelica_metatype _in_a_ecr, modelica_metatype _in_a_ty, modelica_metatype _in_a_sub, modelica_metatype _in_a_auxFunction, modelica_metatype _in_a_varDecls, modelica_metatype _in_a_preExp, modelica_metatype _in_a_cr, modelica_metatype _in_a_context, modelica_metatype *out_out_a_sub, 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__791(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_mArg, modelica_metatype _in_a_ecr, modelica_metatype _in_a_ty, modelica_metatype _in_a_sub, modelica_metatype _in_a_auxFunction, modelica_metatype _in_a_varDecls, modelica_metatype _in_a_preExp, modelica_metatype _in_a_cr, modelica_metatype _in_a_context, modelica_metatype *out_out_a_sub, 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__791,2,0) {(void*) boxptr_CodegenCFunctions_fun__791,0}};
#define boxvar_CodegenCFunctions_fun__791 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__791)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__790(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_context, modelica_metatype _in_a_ecr, modelica_metatype _in_a_ty, modelica_metatype _in_a_sub, modelica_metatype _in_a_auxFunction, modelica_metatype _in_a_varDecls, modelica_metatype _in_a_preExp, modelica_metatype _in_a_cr, modelica_metatype *out_out_a_sub, 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__790,2,0) {(void*) boxptr_CodegenCFunctions_fun__790,0}};
#define boxvar_CodegenCFunctions_fun__790 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__790)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__788(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__788(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__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_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__787(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__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_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__786(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__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_boolean _in_mArg, modelica_metatype _in_a_type, 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 _in_a_cr, modelica_metatype *out_out_a_sub, 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__785(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_mArg, modelica_metatype _in_a_type, 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 _in_a_cr, modelica_metatype *out_out_a_sub, 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__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_lm__784(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__784,2,0) {(void*) boxptr_CodegenCFunctions_lm__784,0}};
#define boxvar_CodegenCFunctions_lm__784 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_lm__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_lm__782(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__782,2,0) {(void*) boxptr_CodegenCFunctions_lm__782,0}};
#define boxvar_CodegenCFunctions_lm__782 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_lm__782)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__779(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__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__777(threadData_t *threadData, modelica_metatype _in_txt, modelica_integer _in_mArg);
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__777(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_mArg);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__777,2,0) {(void*) boxptr_CodegenCFunctions_fun__777,0}};
#define boxvar_CodegenCFunctions_fun__777 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__777)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__775(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_exp);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__775,2,0) {(void*) boxptr_CodegenCFunctions_fun__775,0}};
#define boxvar_CodegenCFunctions_fun__775 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__775)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_lm__773(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_items);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_lm__773,2,0) {(void*) boxptr_CodegenCFunctions_lm__773,0}};
#define boxvar_CodegenCFunctions_lm__773 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_lm__773)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__770(threadData_t *threadData, modelica_metatype _in_txt, modelica_boolean _in_mArg, modelica_integer _in_a_numVariables);
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__770(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_mArg, modelica_metatype _in_a_numVariables);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__770,2,0) {(void*) boxptr_CodegenCFunctions_fun__770,0}};
#define boxvar_CodegenCFunctions_fun__770 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__770)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__768(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__768,2,0) {(void*) boxptr_CodegenCFunctions_fun__768,0}};
#define boxvar_CodegenCFunctions_fun__768 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__768)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_lm__767(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__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_metatype _in_a_args);
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_lm__763(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__763,2,0) {(void*) boxptr_CodegenCFunctions_lm__763,0}};
#define boxvar_CodegenCFunctions_lm__763 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_lm__763)
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 _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__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_lm__759(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_items);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_lm__759,2,0) {(void*) boxptr_CodegenCFunctions_lm__759,0}};
#define boxvar_CodegenCFunctions_lm__759 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_lm__759)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__754(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__754(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__754,2,0) {(void*) boxptr_CodegenCFunctions_fun__754,0}};
#define boxvar_CodegenCFunctions_fun__754 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__754)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__752(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__752,2,0) {(void*) boxptr_CodegenCFunctions_fun__752,0}};
#define boxvar_CodegenCFunctions_fun__752 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__752)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__750(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__750,2,0) {(void*) boxptr_CodegenCFunctions_fun__750,0}};
#define boxvar_CodegenCFunctions_fun__750 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__750)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__748(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__748(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__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_string _in_mArg);
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_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__742(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__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_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__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__737(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_matchTy);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__737,2,0) {(void*) boxptr_CodegenCFunctions_fun__737,0}};
#define boxvar_CodegenCFunctions_fun__737 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__737)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__735(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__735,2,0) {(void*) boxptr_CodegenCFunctions_fun__735,0}};
#define boxvar_CodegenCFunctions_fun__735 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__735)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__732(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__732,2,0) {(void*) boxptr_CodegenCFunctions_fun__732,0}};
#define boxvar_CodegenCFunctions_fun__732 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__732)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__730(threadData_t *threadData, modelica_metatype _in_txt, modelica_boolean _in_mArg);
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__730(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_mArg);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__730,2,0) {(void*) boxptr_CodegenCFunctions_fun__730,0}};
#define boxvar_CodegenCFunctions_fun__730 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__730)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__728(threadData_t *threadData, modelica_metatype _in_txt, modelica_boolean _in_mArg, modelica_metatype _in_a_info);
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__728(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_mArg, modelica_metatype _in_a_info);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__728,2,0) {(void*) boxptr_CodegenCFunctions_fun__728,0}};
#define boxvar_CodegenCFunctions_fun__728 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__728)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__727(threadData_t *threadData, modelica_metatype _in_txt, modelica_boolean _in_mArg, modelica_metatype _in_a_info);
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__727(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_mArg, modelica_metatype _in_a_info);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__727,2,0) {(void*) boxptr_CodegenCFunctions_fun__727,0}};
#define boxvar_CodegenCFunctions_fun__727 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__727)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__726(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_info);
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__725(threadData_t *threadData, modelica_metatype _in_txt, modelica_boolean _in_mArg, modelica_metatype _in_a_info);
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__725(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_mArg, modelica_metatype _in_a_info);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__725,2,0) {(void*) boxptr_CodegenCFunctions_fun__725,0}};
#define boxvar_CodegenCFunctions_fun__725 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__725)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__723(threadData_t *threadData, modelica_metatype _in_txt, modelica_integer _in_mArg);
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__723(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_mArg);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__723,2,0) {(void*) boxptr_CodegenCFunctions_fun__723,0}};
#define boxvar_CodegenCFunctions_fun__723 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__723)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__719(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_context, modelica_metatype _in_a_sub, modelica_metatype _in_a_cr, modelica_metatype *out_out_a_sub);
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__715(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_mArg);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__715,2,0) {(void*) boxptr_CodegenCFunctions_fun__715,0}};
#define boxvar_CodegenCFunctions_fun__715 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__715)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__713(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 _in_a_sub, modelica_metatype *out_out_a_sub);
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__713(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_metatype _in_a_sub, modelica_metatype *out_out_a_sub);
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__712(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__712(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__712,2,0) {(void*) boxptr_CodegenCFunctions_fun__712,0}};
#define boxvar_CodegenCFunctions_fun__712 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__712)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__711(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__711(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__711,2,0) {(void*) boxptr_CodegenCFunctions_fun__711,0}};
#define boxvar_CodegenCFunctions_fun__711 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__711)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__710(threadData_t *threadData, modelica_metatype _in_txt, modelica_boolean _in_a_isPre, modelica_metatype _in_a_cr, modelica_metatype _in_a_sub, modelica_boolean _in_a_isStart, modelica_integer _in_a_ix, modelica_metatype _in_a_componentRef, modelica_metatype *out_out_a_sub);
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__710(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_isPre, modelica_metatype _in_a_cr, modelica_metatype _in_a_sub, modelica_metatype _in_a_isStart, modelica_metatype _in_a_ix, modelica_metatype _in_a_componentRef, modelica_metatype *out_out_a_sub);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__710,2,0) {(void*) boxptr_CodegenCFunctions_fun__710,0}};
#define boxvar_CodegenCFunctions_fun__710 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__710)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__706(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_cr, modelica_metatype _in_a_sub, modelica_metatype *out_out_a_sub);
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__704(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_cr, modelica_metatype _in_a_sub, modelica_integer _in_a_ix, modelica_metatype *out_out_a_sub);
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__704(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_cr, modelica_metatype _in_a_sub, modelica_metatype _in_a_ix, modelica_metatype *out_out_a_sub);
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__702(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_sub, 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_out_a_sub);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__702,2,0) {(void*) boxptr_CodegenCFunctions_fun__702,0}};
#define boxvar_CodegenCFunctions_fun__702 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__702)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__701(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_sub, 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_out_a_sub);
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__701(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_sub, 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_out_a_sub);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__701,2,0) {(void*) boxptr_CodegenCFunctions_fun__701,0}};
#define boxvar_CodegenCFunctions_fun__701 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__701)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__698(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__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__696(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__696(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__696,2,0) {(void*) boxptr_CodegenCFunctions_fun__696,0}};
#define boxvar_CodegenCFunctions_fun__696 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__696)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__694(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__694(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__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__693(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__693(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__693,2,0) {(void*) boxptr_CodegenCFunctions_fun__693,0}};
#define boxvar_CodegenCFunctions_fun__693 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__693)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__691(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__691(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__691,2,0) {(void*) boxptr_CodegenCFunctions_fun__691,0}};
#define boxvar_CodegenCFunctions_fun__691 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__691)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__690(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__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_lm__689(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__689,2,0) {(void*) boxptr_CodegenCFunctions_lm__689,0}};
#define boxvar_CodegenCFunctions_lm__689 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_lm__689)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__687(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__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_lm__686(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__686,2,0) {(void*) boxptr_CodegenCFunctions_lm__686,0}};
#define boxvar_CodegenCFunctions_lm__686 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_lm__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_context, modelica_metatype _in_a_cr, modelica_metatype _in_a_preExp, modelica_metatype _in_a_varDecls, modelica_metatype _in_a_auxFunction, modelica_metatype _in_a_sub, modelica_metatype *out_out_a_preExp, modelica_metatype *out_out_a_varDecls, modelica_metatype *out_out_a_auxFunction, modelica_metatype *out_out_a_sub);
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_fun__678(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__678,2,0) {(void*) boxptr_CodegenCFunctions_fun__678,0}};
#define boxvar_CodegenCFunctions_fun__678 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__678)
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_condVar, modelica_metatype _in_a_msgVar, modelica_metatype _in_a_info);
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__672(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__672,2,0) {(void*) boxptr_CodegenCFunctions_fun__672,0}};
#define boxvar_CodegenCFunctions_fun__672 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__672)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__671(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__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__670(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_context, modelica_metatype _in_a_rethrow, modelica_metatype _in_a_infoTextContext, modelica_metatype _in_a_msgVar, modelica_metatype _in_a_omcAssertFunc, modelica_metatype _in_a_info);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__670,2,0) {(void*) boxptr_CodegenCFunctions_fun__670,0}};
#define boxvar_CodegenCFunctions_fun__670 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__670)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__669(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_level);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__669,2,0) {(void*) boxptr_CodegenCFunctions_fun__669,0}};
#define boxvar_CodegenCFunctions_fun__669 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__669)
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_AddionalFuncName);
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_context);
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_lm__666(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__666,2,0) {(void*) boxptr_CodegenCFunctions_lm__666,0}};
#define boxvar_CodegenCFunctions_lm__666 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_lm__666)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__664(threadData_t *threadData, modelica_metatype _in_txt, modelica_boolean _in_a_isReadOnly);
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__664(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_isReadOnly);
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_lm__662(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__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__661(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__661(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__661,2,0) {(void*) boxptr_CodegenCFunctions_fun__661,0}};
#define boxvar_CodegenCFunctions_fun__661 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__661)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__660(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__660(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__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__659(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__659,2,0) {(void*) boxptr_CodegenCFunctions_lm__659,0}};
#define boxvar_CodegenCFunctions_lm__659 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_lm__659)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__658(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__658,2,0) {(void*) boxptr_CodegenCFunctions_fun__658,0}};
#define boxvar_CodegenCFunctions_fun__658 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__658)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_lm__657(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__657,2,0) {(void*) boxptr_CodegenCFunctions_lm__657,0}};
#define boxvar_CodegenCFunctions_lm__657 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_lm__657)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__656(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__656(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__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_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__654(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__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_fun__653(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__653,2,0) {(void*) boxptr_CodegenCFunctions_fun__653,0}};
#define boxvar_CodegenCFunctions_fun__653 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__653)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__652(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__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_fun__650(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__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_lm__649(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__649,2,0) {(void*) boxptr_CodegenCFunctions_lm__649,0}};
#define boxvar_CodegenCFunctions_lm__649 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_lm__649)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__648(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__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_boolean _in_mArg, modelica_integer _in_a_integer);
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__646(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_mArg, modelica_metatype _in_a_integer);
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_fun__644(threadData_t *threadData, modelica_metatype _in_txt, modelica_integer _in_a_flag);
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__644(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_flag);
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__643(threadData_t *threadData, modelica_metatype _in_txt, modelica_integer _in_a_flag);
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__643(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_flag);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__643,2,0) {(void*) boxptr_CodegenCFunctions_fun__643,0}};
#define boxvar_CodegenCFunctions_fun__643 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__643)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__642(threadData_t *threadData, modelica_metatype _in_txt, modelica_integer _in_a_flag);
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__642(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_flag);
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__637(threadData_t *threadData, modelica_metatype _in_txt, modelica_integer _in_a_flag);
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__637(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_flag);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__637,2,0) {(void*) boxptr_CodegenCFunctions_fun__637,0}};
#define boxvar_CodegenCFunctions_fun__637 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__637)
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__627(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__627(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__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_metatype _in_a_ty);
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_metatype _in_a_ty);
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__624(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_ty);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__624,2,0) {(void*) boxptr_CodegenCFunctions_fun__624,0}};
#define boxvar_CodegenCFunctions_fun__624 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__624)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__623(threadData_t *threadData, modelica_metatype _in_txt, 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__613(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__613(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__613,2,0) {(void*) boxptr_CodegenCFunctions_fun__613,0}};
#define boxvar_CodegenCFunctions_fun__613 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__613)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__610(threadData_t *threadData, modelica_metatype _in_txt, modelica_boolean _in_mArg);
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__610(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_mArg);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__610,2,0) {(void*) boxptr_CodegenCFunctions_fun__610,0}};
#define boxvar_CodegenCFunctions_fun__610 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__610)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__607(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_mArg, modelica_metatype _in_a_cref);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__607,2,0) {(void*) boxptr_CodegenCFunctions_fun__607,0}};
#define boxvar_CodegenCFunctions_fun__607 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__607)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_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__605(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_mArg, modelica_metatype _in_a_componentRef);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__605,2,0) {(void*) boxptr_CodegenCFunctions_fun__605,0}};
#define boxvar_CodegenCFunctions_fun__605 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__605)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__604(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_mArg);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__604,2,0) {(void*) boxptr_CodegenCFunctions_fun__604,0}};
#define boxvar_CodegenCFunctions_fun__604 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__604)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__602(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__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__599(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__599,2,0) {(void*) boxptr_CodegenCFunctions_fun__599,0}};
#define boxvar_CodegenCFunctions_fun__599 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__599)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__598(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__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__597(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__597,2,0) {(void*) boxptr_CodegenCFunctions_fun__597,0}};
#define boxvar_CodegenCFunctions_fun__597 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__597)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__593(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__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__591(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__591(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__591,2,0) {(void*) boxptr_CodegenCFunctions_fun__591,0}};
#define boxvar_CodegenCFunctions_fun__591 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__591)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__590(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__590(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__590,2,0) {(void*) boxptr_CodegenCFunctions_fun__590,0}};
#define boxvar_CodegenCFunctions_fun__590 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__590)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_lm__589(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_items, modelica_integer _in_a_litindex);
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_lm__589(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_items, modelica_metatype _in_a_litindex);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_lm__589,2,0) {(void*) boxptr_CodegenCFunctions_lm__589,0}};
#define boxvar_CodegenCFunctions_lm__589 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_lm__589)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_lm__588(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_items, modelica_integer _in_a_litindex);
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_lm__588(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_items, modelica_metatype _in_a_litindex);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_lm__588,2,0) {(void*) boxptr_CodegenCFunctions_lm__588,0}};
#define boxvar_CodegenCFunctions_lm__588 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_lm__588)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_lm__587(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_items, modelica_integer _in_a_litindex);
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_lm__587(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_items, modelica_metatype _in_a_litindex);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_lm__587,2,0) {(void*) boxptr_CodegenCFunctions_lm__587,0}};
#define boxvar_CodegenCFunctions_lm__587 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_lm__587)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_lm__586(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_items, modelica_integer _in_a_litindex);
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_lm__586(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_items, modelica_metatype _in_a_litindex);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_lm__586,2,0) {(void*) boxptr_CodegenCFunctions_lm__586,0}};
#define boxvar_CodegenCFunctions_lm__586 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_lm__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_fun__584(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__584(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__584,2,0) {(void*) boxptr_CodegenCFunctions_fun__584,0}};
#define boxvar_CodegenCFunctions_fun__584 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__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_metatype _in_a_tmp);
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_fun__581(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__581(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__581,2,0) {(void*) boxptr_CodegenCFunctions_fun__581,0}};
#define boxvar_CodegenCFunctions_fun__581 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__581)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__580(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__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);
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);
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_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__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_lm__576(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_items);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_lm__576,2,0) {(void*) boxptr_CodegenCFunctions_lm__576,0}};
#define boxvar_CodegenCFunctions_lm__576 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_lm__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__573(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_items);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_lm__573,2,0) {(void*) boxptr_CodegenCFunctions_lm__573,0}};
#define boxvar_CodegenCFunctions_lm__573 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_lm__573)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__572(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__572(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__572,2,0) {(void*) boxptr_CodegenCFunctions_fun__572,0}};
#define boxvar_CodegenCFunctions_fun__572 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__572)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__570(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_mainFunction);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__570,2,0) {(void*) boxptr_CodegenCFunctions_fun__570,0}};
#define boxvar_CodegenCFunctions_fun__570 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__570)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_lm__568(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__568,2,0) {(void*) boxptr_CodegenCFunctions_lm__568,0}};
#define boxvar_CodegenCFunctions_lm__568 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_lm__568)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_lm__567(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__567,2,0) {(void*) boxptr_CodegenCFunctions_lm__567,0}};
#define boxvar_CodegenCFunctions_lm__567 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_lm__567)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__564(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_sub, modelica_metatype *out_out_a_auxFunction, modelica_metatype *out_out_a_varDecls, modelica_metatype *out_out_a_sub);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__564,2,0) {(void*) boxptr_CodegenCFunctions_fun__564,0}};
#define boxvar_CodegenCFunctions_fun__564 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__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 *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_fun__562(threadData_t *threadData, modelica_metatype _in_txt, modelica_boolean _in_mArg, modelica_metatype _in_a_sub, modelica_metatype _in_a_when_conditions, modelica_metatype *out_out_a_sub);
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__562(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_mArg, modelica_metatype _in_a_sub, modelica_metatype _in_a_when_conditions, modelica_metatype *out_out_a_sub);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__562,2,0) {(void*) boxptr_CodegenCFunctions_fun__562,0}};
#define boxvar_CodegenCFunctions_fun__562 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__562)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_lm__561(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_items, modelica_metatype _in_a_sub, modelica_metatype *out_out_a_sub);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_lm__561,2,0) {(void*) boxptr_CodegenCFunctions_lm__561,0}};
#define boxvar_CodegenCFunctions_lm__561 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_lm__561)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__559(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_sub, modelica_metatype _in_a_when, modelica_metatype *out_out_a_auxFunction, modelica_metatype *out_out_a_varDecls, modelica_metatype *out_out_a_sub);
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_fun__558(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 _in_a_sub, modelica_metatype *out_out_a_auxFunction, modelica_metatype *out_out_a_varDecls, modelica_metatype *out_out_a_sub);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__558,2,0) {(void*) boxptr_CodegenCFunctions_fun__558,0}};
#define boxvar_CodegenCFunctions_fun__558 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__558)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_lm__557(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__557,2,0) {(void*) boxptr_CodegenCFunctions_lm__557,0}};
#define boxvar_CodegenCFunctions_lm__557 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_lm__557)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__556(threadData_t *threadData, modelica_metatype _in_txt, modelica_boolean _in_mArg, modelica_metatype _in_a_sub, modelica_metatype _in_a_conditions, modelica_metatype *out_out_a_sub);
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__556(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_mArg, modelica_metatype _in_a_sub, modelica_metatype _in_a_conditions, modelica_metatype *out_out_a_sub);
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_lm__555(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_items, modelica_metatype _in_a_sub, modelica_metatype *out_out_a_sub);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_lm__555,2,0) {(void*) boxptr_CodegenCFunctions_lm__555,0}};
#define boxvar_CodegenCFunctions_lm__555 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_lm__555)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__554(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 _in_a_sub, modelica_metatype *out_out_a_auxFunction, modelica_metatype *out_out_a_varDecls, modelica_metatype *out_out_a_sub);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__554,2,0) {(void*) boxptr_CodegenCFunctions_fun__554,0}};
#define boxvar_CodegenCFunctions_fun__554 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__554)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_lm__553(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__553,2,0) {(void*) boxptr_CodegenCFunctions_lm__553,0}};
#define boxvar_CodegenCFunctions_lm__553 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_lm__553)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__552(threadData_t *threadData, modelica_metatype _in_txt, modelica_boolean _in_mArg, modelica_metatype _in_a_sub, modelica_metatype _in_a_conditions, modelica_metatype *out_out_a_sub);
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__552(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_mArg, modelica_metatype _in_a_sub, modelica_metatype _in_a_conditions, modelica_metatype *out_out_a_sub);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__552,2,0) {(void*) boxptr_CodegenCFunctions_fun__552,0}};
#define boxvar_CodegenCFunctions_fun__552 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__552)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_lm__551(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_items, modelica_metatype _in_a_sub, modelica_metatype *out_out_a_sub);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_lm__551,2,0) {(void*) boxptr_CodegenCFunctions_lm__551,0}};
#define boxvar_CodegenCFunctions_lm__551 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_lm__551)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__549(threadData_t *threadData, modelica_metatype _in_txt, modelica_boolean _in_mArg, modelica_metatype _in_a_expPart);
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__549(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_mArg, modelica_metatype _in_a_expPart);
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__547(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__547,2,0) {(void*) boxptr_CodegenCFunctions_lm__547,0}};
#define boxvar_CodegenCFunctions_lm__547 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_lm__547)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_lm__543(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__543,2,0) {(void*) boxptr_CodegenCFunctions_lm__543,0}};
#define boxvar_CodegenCFunctions_lm__543 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_lm__543)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__541(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__541(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__541,2,0) {(void*) boxptr_CodegenCFunctions_fun__541,0}};
#define boxvar_CodegenCFunctions_fun__541 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__541)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__540(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__540(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__540,2,0) {(void*) boxptr_CodegenCFunctions_fun__540,0}};
#define boxvar_CodegenCFunctions_fun__540 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__540)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__539(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__539,2,0) {(void*) boxptr_CodegenCFunctions_fun__539,0}};
#define boxvar_CodegenCFunctions_fun__539 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__539)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_lm__537(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__537,2,0) {(void*) boxptr_CodegenCFunctions_lm__537,0}};
#define boxvar_CodegenCFunctions_lm__537 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_lm__537)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__536(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__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_fun__535(threadData_t *threadData, modelica_metatype _in_txt, modelica_string _in_mArg);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__535,2,0) {(void*) boxptr_CodegenCFunctions_fun__535,0}};
#define boxvar_CodegenCFunctions_fun__535 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__535)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__533(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__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, modelica_metatype _in_a_eqnsindx, modelica_metatype _in_a_AddionalFuncName, modelica_metatype _in_a_stepVar);
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__531(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_context);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__531,2,0) {(void*) boxptr_CodegenCFunctions_fun__531,0}};
#define boxvar_CodegenCFunctions_fun__531 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__531)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__530(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_context);
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_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__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_lm__527(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__527,2,0) {(void*) boxptr_CodegenCFunctions_lm__527,0}};
#define boxvar_CodegenCFunctions_lm__527 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_lm__527)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__524(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__524,2,0) {(void*) boxptr_CodegenCFunctions_fun__524,0}};
#define boxvar_CodegenCFunctions_fun__524 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__524)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_lm__523(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__523,2,0) {(void*) boxptr_CodegenCFunctions_lm__523,0}};
#define boxvar_CodegenCFunctions_lm__523 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_lm__523)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__522(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__522,2,0) {(void*) boxptr_CodegenCFunctions_fun__522,0}};
#define boxvar_CodegenCFunctions_fun__522 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__522)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_lm__520(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__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__517(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__517,2,0) {(void*) boxptr_CodegenCFunctions_fun__517,0}};
#define boxvar_CodegenCFunctions_fun__517 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__517)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_lm__516(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_items);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_lm__516,2,0) {(void*) boxptr_CodegenCFunctions_lm__516,0}};
#define boxvar_CodegenCFunctions_lm__516 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_lm__516)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_lm__515(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__515,2,0) {(void*) boxptr_CodegenCFunctions_lm__515,0}};
#define boxvar_CodegenCFunctions_lm__515 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_lm__515)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_lm__514(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__514,2,0) {(void*) boxptr_CodegenCFunctions_lm__514,0}};
#define boxvar_CodegenCFunctions_lm__514 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_lm__514)
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_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__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_fun__509(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__509(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__509,2,0) {(void*) boxptr_CodegenCFunctions_fun__509,0}};
#define boxvar_CodegenCFunctions_fun__509 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__509)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_lm__508(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__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_lm__507(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__507,2,0) {(void*) boxptr_CodegenCFunctions_lm__507,0}};
#define boxvar_CodegenCFunctions_lm__507 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_lm__507)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_lm__506(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_items, modelica_metatype _in_a_rhsStr, 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 _in_a_cr, modelica_metatype *out_out_a_sub, 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__506,2,0) {(void*) boxptr_CodegenCFunctions_lm__506,0}};
#define boxvar_CodegenCFunctions_lm__506 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_lm__506)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_lm__504(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__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__503(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_items, 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 _in_a_startIndexOutputs, modelica_metatype _in_a_prefix, modelica_metatype _in_a_expExpLst, modelica_metatype *out_out_a_sub, 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__503,2,0) {(void*) boxptr_CodegenCFunctions_lm__503,0}};
#define boxvar_CodegenCFunctions_lm__503 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_lm__503)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_lm__502(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_items);
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_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__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_fun__499(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_lhs, modelica_string _in_a_exp, 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_sub, 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__499,2,0) {(void*) boxptr_CodegenCFunctions_fun__499,0}};
#define boxvar_CodegenCFunctions_fun__499 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__499)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__498(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_context, modelica_metatype _in_a_aty, modelica_metatype _in_a_ispec, modelica_string _in_a_exp, modelica_metatype _in_a_arrayType, modelica_metatype _in_a_sub, modelica_metatype _in_a_auxFunction, modelica_metatype _in_a_varDecls, modelica_metatype _in_a_preExp, modelica_metatype _in_a_cr, modelica_metatype *out_out_a_sub, 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__498,2,0) {(void*) boxptr_CodegenCFunctions_fun__498,0}};
#define boxvar_CodegenCFunctions_fun__498 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__498)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_lm__497(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__497,2,0) {(void*) boxptr_CodegenCFunctions_lm__497,0}};
#define boxvar_CodegenCFunctions_lm__497 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_lm__497)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__495(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_exp, modelica_metatype _in_a_sub, modelica_metatype _in_a_auxFunction, modelica_metatype _in_a_varDecls, modelica_metatype _in_a_context, modelica_metatype _in_a_cr, modelica_metatype *out_out_a_sub, modelica_metatype *out_out_a_auxFunction, modelica_metatype *out_out_a_varDecls);
static const MMC_DEFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__495,2,0) {(void*) boxptr_CodegenCFunctions_fun__495,0}};
#define boxvar_CodegenCFunctions_fun__495 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__495)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__494(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__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__492(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__492,2,0) {(void*) boxptr_CodegenCFunctions_fun__492,0}};
#define boxvar_CodegenCFunctions_fun__492 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__492)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__491(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__491(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__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__489(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__489,2,0) {(void*) boxptr_CodegenCFunctions_fun__489,0}};
#define boxvar_CodegenCFunctions_fun__489 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__489)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_lm__488(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_items, modelica_metatype _in_a_tmp, 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 _in_a_cr, modelica_metatype *out_out_a_sub, 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__488,2,0) {(void*) boxptr_CodegenCFunctions_lm__488,0}};
#define boxvar_CodegenCFunctions_lm__488 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_lm__488)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__486(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__486,2,0) {(void*) boxptr_CodegenCFunctions_fun__486,0}};
#define boxvar_CodegenCFunctions_fun__486 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_fun__486)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_lm__485(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__485,2,0) {(void*) boxptr_CodegenCFunctions_lm__485,0}};
#define boxvar_CodegenCFunctions_lm__485 MMC_REFSTRUCTLIT(boxvar_lit_CodegenCFunctions_lm__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_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_sub, 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_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_sub, 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_metatype _in_a_context, 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_context, 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_context, 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_context, 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_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_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_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_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_string _in_a_prefix, 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_string _in_a_prefix, 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_string _in_a_prefix, 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 tmpMeta1;
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_context;
tmp4_3 = _in_a_ty;
{
modelica_metatype _txt = NULL;
modelica_metatype _a_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,9,1) == 0) goto tmp3_end;
_txt = tmp4_1;
_a_ty = tmp4_3;
tmpMeta1 = omc_CodegenCFunctions_fun__1264(threadData, _txt, _a_ty);
goto tmp3_done;
}
case 1: {
_txt = tmp4_1;
_a_ty = tmp4_3;
tmpMeta1 = omc_CodegenCFunctions_fun__1265(threadData, _txt, _a_ty);
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta1;
_return: OMC_LABEL_UNUSED
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__1265(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_ty)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta1;
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_metatype tmp4_2;
tmp4_1 = _in_txt;
tmp4_2 = _in_a_ty;
{
modelica_metatype _txt = 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;
_txt = tmp4_1;
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1);
goto tmp3_done;
}
case 1: {
_txt = tmp4_1;
tmpMeta1 = _txt;
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta1;
_return: OMC_LABEL_UNUSED
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__1264(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_ty)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta1;
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_metatype tmp4_2;
tmp4_1 = _in_txt;
tmp4_2 = _in_a_ty;
{
modelica_metatype _txt = NULL;
int tmp4;
{
switch (MMC_SWITCH_CAST(valueConstructor(tmp4_2))) {
case 3: {
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,0,1) == 0) goto tmp3_end;
_txt = tmp4_1;
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT3);
goto tmp3_done;
}
case 8: {
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,5,5) == 0) goto tmp3_end;
_txt = tmp4_1;
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT3);
goto tmp3_done;
}
default:
tmp3_default: OMC_LABEL_UNUSED; {
_txt = tmp4_1;
tmpMeta1 = _txt;
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta1;
_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 tmpMeta1;
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_context;
tmp4_3 = _in_a_ty;
{
modelica_metatype _txt = NULL;
modelica_metatype _a_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,9,1) == 0) goto tmp3_end;
_txt = tmp4_1;
_a_ty = tmp4_3;
tmpMeta1 = omc_CodegenCFunctions_fun__1261(threadData, _txt, _a_ty);
goto tmp3_done;
}
case 1: {
_txt = tmp4_1;
_a_ty = tmp4_3;
tmpMeta1 = omc_CodegenCFunctions_fun__1262(threadData, _txt, _a_ty);
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta1;
_return: OMC_LABEL_UNUSED
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__1262(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_ty)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta1;
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_metatype tmp4_2;
tmp4_1 = _in_txt;
tmp4_2 = _in_a_ty;
{
modelica_metatype _txt = NULL;
int tmp4;
{
switch (MMC_SWITCH_CAST(valueConstructor(tmp4_2))) {
case 3: {
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,0,1) == 0) goto tmp3_end;
_txt = tmp4_1;
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1);
goto tmp3_done;
}
case 8: {
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,5,5) == 0) goto tmp3_end;
_txt = tmp4_1;
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1);
goto tmp3_done;
}
case 4: {
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,1,1) == 0) goto tmp3_end;
_txt = tmp4_1;
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT5);
goto tmp3_done;
}
case 6: {
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,3,1) == 0) goto tmp3_end;
_txt = tmp4_1;
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT7);
goto tmp3_done;
}
default:
tmp3_default: OMC_LABEL_UNUSED; {
_txt = tmp4_1;
tmpMeta1 = _txt;
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta1;
_return: OMC_LABEL_UNUSED
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__1261(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_ty)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta1;
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_metatype tmp4_2;
tmp4_1 = _in_txt;
tmp4_2 = _in_a_ty;
{
modelica_metatype _txt = NULL;
int tmp4;
{
switch (MMC_SWITCH_CAST(valueConstructor(tmp4_2))) {
case 3: {
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,0,1) == 0) goto tmp3_end;
_txt = tmp4_1;
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT3);
goto tmp3_done;
}
case 8: {
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,5,5) == 0) goto tmp3_end;
_txt = tmp4_1;
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT3);
goto tmp3_done;
}
case 4: {
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,1,1) == 0) goto tmp3_end;
_txt = tmp4_1;
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT9);
goto tmp3_done;
}
case 6: {
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,3,1) == 0) goto tmp3_end;
_txt = tmp4_1;
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT11);
goto tmp3_done;
}
default:
tmp3_default: OMC_LABEL_UNUSED; {
_txt = tmp4_1;
tmpMeta1 = _txt;
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta1;
_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__1259(threadData, _txt, _ret_2);
_return: OMC_LABEL_UNUSED
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__1259(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_mArg)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta1;
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_metatype tmp4_2;
tmp4_1 = _in_txt;
tmp4_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 tmp4;
int tmp5;
tmp4 = 0;
for (; tmp4 < 3; tmp4++) {
switch (MMC_SWITCH_CAST(tmp4)) {
case 0: {
modelica_metatype tmpMeta6;
modelica_metatype tmpMeta7;
modelica_integer tmp8;
tmpMeta6 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 3));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta6,10,0) == 0) goto tmp3_end;
tmpMeta7 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 7));
tmp8 = mmc_unbox_integer(tmpMeta7);
if (-1 != tmp8) goto tmp3_end;
_txt = tmp4_1;
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT13);
goto tmp3_done;
}
case 1: {
modelica_metatype tmpMeta9;
modelica_metatype tmpMeta10;
modelica_integer tmp11;
tmpMeta9 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
tmpMeta10 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 7));
tmp11 = mmc_unbox_integer(tmpMeta10);
_txt = tmp4_1;
_i_var = tmp4_2;
_i_name = tmpMeta9;
_i_index = tmp11;
_ret_0 = (_i_index < ((modelica_integer) 0));
tmpMeta1 = omc_CodegenCFunctions_fun__1258(threadData, _txt, _ret_0, _i_name, _i_index, _i_var);
goto tmp3_done;
}
case 2: {
_txt = tmp4_1;
tmpMeta1 = _txt;
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta1;
_return: OMC_LABEL_UNUSED
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__1258(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 tmpMeta1;
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_boolean tmp4_2;modelica_metatype tmp4_3;modelica_integer tmp4_4;modelica_metatype tmp4_5;
tmp4_1 = _in_txt;
tmp4_2 = _in_mArg;
tmp4_3 = _in_a_name;
tmp4_4 = _in_a_index;
tmp4_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 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_name = tmp4_3;
_a_index = tmp4_4;
_a_var = tmp4_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));
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT22);
goto tmp3_done;
}
case 1: {
_txt = tmp4_1;
_a_name = tmp4_3;
_a_index = tmp4_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);
tmpMeta1 = omc_CodegenUtil_error(threadData, _txt, omc_Tpl_sourceInfo(threadData, _OMC_LIT27, ((modelica_integer) 7767), ((modelica_integer) 34)), omc_Tpl_textString(threadData, _txt_1));
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta1;
_return: OMC_LABEL_UNUSED
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__1258(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__1258(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 _txt, modelica_metatype _a_var, modelica_metatype _a_sub, modelica_metatype *out_out_a_sub)
{
modelica_metatype _out_txt = NULL;
modelica_metatype _out_a_sub = NULL;
modelica_boolean _ret_1;
modelica_metatype _l_arr = NULL;
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
_ret_1 = (stringEqual(omc_Tpl_textString(threadData, _a_sub), _OMC_LIT28));
_l_arr = omc_CodegenCFunctions_fun__1255(threadData, _OMC_LIT20, _ret_1);
_out_txt = omc_CodegenCFunctions_fun__1256(threadData, _txt, _a_var, _a_sub, _l_arr);
_out_a_sub = _a_sub;
_return: OMC_LABEL_UNUSED
if (out_out_a_sub) { *out_out_a_sub = _out_a_sub; }
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__1256(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_var, modelica_metatype _in_a_sub, modelica_metatype _in_a_arr)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta1;
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_sub;
tmp4_4 = _in_a_arr;
{
modelica_metatype _txt = NULL;
modelica_metatype _a_sub = NULL;
modelica_metatype _a_arr = 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 tmp4;
int tmp5;
tmp4 = 0;
for (; tmp4 < 3; tmp4++) {
switch (MMC_SWITCH_CAST(tmp4)) {
case 0: {
modelica_metatype tmpMeta6;
modelica_metatype tmpMeta7;
modelica_integer tmp8;
tmpMeta6 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
tmpMeta7 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 7));
tmp8 = mmc_unbox_integer(tmpMeta7);
if (-1 != tmp8) goto tmp3_end;
_i_name = tmpMeta6;
_txt = tmp4_1;
tmpMeta1 = omc_CodegenCFunctions_crefAttributes(threadData, _txt, _i_name);
goto tmp3_done;
}
case 1: {
modelica_metatype tmpMeta9;
modelica_metatype tmpMeta10;
modelica_metatype tmpMeta11;
modelica_integer tmp12;
tmpMeta9 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
tmpMeta10 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 3));
tmpMeta11 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 7));
tmp12 = mmc_unbox_integer(tmpMeta11);
_txt = tmp4_1;
_i_var = tmp4_2;
_i_name = tmpMeta9;
_i_varKind = tmpMeta10;
_i_index = tmp12;
_a_sub = tmp4_3;
_a_arr = tmp4_4;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT30);
_txt = omc_Tpl_writeText(threadData, _txt, _a_arr);
_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_LIT32);
_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_LIT34);
_txt = omc_CodegenUtil_variabilityString(threadData, _txt, _i_varKind);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT36);
_txt = omc_Tpl_writeText(threadData, _txt, _a_sub);
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT38);
goto tmp3_done;
}
case 2: {
_txt = tmp4_1;
tmpMeta1 = _txt;
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta1;
_return: OMC_LABEL_UNUSED
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__1255(threadData_t *threadData, modelica_metatype _in_txt, modelica_boolean _in_mArg)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta1;
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_boolean tmp4_2;
tmp4_1 = _in_txt;
tmp4_2 = _in_mArg;
{
modelica_metatype _txt = 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;
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT40);
goto tmp3_done;
}
case 1: {
_txt = tmp4_1;
tmpMeta1 = _txt;
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta1;
_return: OMC_LABEL_UNUSED
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__1255(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__1255(threadData, _in_txt, tmp1);
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__1253(threadData, _txt, _ret_1);
_return: OMC_LABEL_UNUSED
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__1253(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_mArg)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta1;
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_metatype tmp4_2;
tmp4_1 = _in_txt;
tmp4_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 tmp4;
int tmp5;
tmp4 = 0;
for (; tmp4 < 2; tmp4++) {
switch (MMC_SWITCH_CAST(tmp4)) {
case 0: {
modelica_metatype tmpMeta6;
modelica_metatype tmpMeta7;
modelica_integer tmp8;
tmpMeta6 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
tmpMeta7 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 7));
tmp8 = mmc_unbox_integer(tmpMeta7);
_txt = tmp4_1;
_i_var = tmp4_2;
_i_name = tmpMeta6;
_i_index = tmp8;
_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_LIT42);
_txt_0 = omc_CodegenUtil_crefStrNoUnderscore(threadData, _OMC_LIT20, _i_name);
_txt = omc_CodegenUtil_escapeCComments(threadData, _txt, omc_Tpl_textString(threadData, _txt_0));
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT22);
goto tmp3_done;
}
case 1: {
_txt = tmp4_1;
tmpMeta1 = _txt;
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta1;
_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 tmpMeta1;
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_metatype tmp4_2;
tmp4_1 = _in_txt;
tmp4_2 = _in_a_var;
{
modelica_metatype _txt = NULL;
modelica_metatype _i_name = NULL;
volatile mmc_switch_type tmp4;
int tmp5;
tmp4 = 0;
for (; tmp4 < 3; tmp4++) {
switch (MMC_SWITCH_CAST(tmp4)) {
case 0: {
modelica_metatype tmpMeta6;
modelica_metatype tmpMeta7;
tmpMeta6 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
tmpMeta7 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 3));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta7,7,0) == 0) goto tmp3_end;
_i_name = tmpMeta6;
_txt = tmp4_1;
_txt = omc_CodegenCFunctions_crefShortType(threadData, _txt, _i_name);
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT44);
goto tmp3_done;
}
case 1: {
modelica_metatype tmpMeta8;
tmpMeta8 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
_txt = tmp4_1;
_i_name = tmpMeta8;
_txt = omc_CodegenCFunctions_crefShortType(threadData, _txt, _i_name);
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT46);
goto tmp3_done;
}
case 2: {
_txt = tmp4_1;
tmpMeta1 = _txt;
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta1;
_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 _a_sub, modelica_metatype *out_out_a_sub)
{
modelica_metatype _out_txt = NULL;
modelica_metatype _out_a_sub = NULL;
modelica_string _ret_2 = NULL;
modelica_boolean _ret_1;
modelica_metatype _l_arr = NULL;
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
_ret_1 = (stringEqual(omc_Tpl_textString(threadData, _a_sub), _OMC_LIT28));
_l_arr = omc_CodegenCFunctions_fun__1243(threadData, _OMC_LIT20, _ret_1);
_ret_2 = omc_Config_simCodeTarget(threadData);
_out_txt = omc_CodegenCFunctions_fun__1250(threadData, _txt, _ret_2, _a_ix, _a_sub, _l_arr, _a_isPre, _a_isStart, _a_var ,&_out_a_sub);
_return: OMC_LABEL_UNUSED
if (out_out_a_sub) { *out_out_a_sub = _out_a_sub; }
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_metatype _a_sub, modelica_metatype *out_out_a_sub)
{
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, _a_sub, out_out_a_sub);
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__1250(threadData_t *threadData, modelica_metatype _in_txt, modelica_string _in_mArg, modelica_integer _in_a_ix, modelica_metatype _in_a_sub, modelica_metatype _in_a_arr, modelica_boolean _in_a_isPre, modelica_boolean _in_a_isStart, modelica_metatype _in_a_var, modelica_metatype *out_out_a_sub)
{
modelica_metatype _out_txt = NULL;
modelica_metatype _out_a_sub = 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;modelica_boolean tmp4_6;modelica_boolean tmp4_7;modelica_metatype tmp4_8;
tmp4_1 = _in_txt;
tmp4_2 = _in_mArg;
tmp4_3 = _in_a_ix;
tmp4_4 = _in_a_sub;
tmp4_5 = _in_a_arr;
tmp4_6 = _in_a_isPre;
tmp4_7 = _in_a_isStart;
tmp4_8 = _in_a_var;
{
modelica_metatype _txt = NULL;
modelica_integer _a_ix;
modelica_metatype _a_sub = NULL;
modelica_metatype _a_arr = NULL;
modelica_boolean _a_isPre;
modelica_boolean _a_isStart;
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 (5 != MMC_STRLEN(tmp4_2) || strcmp(MMC_STRINGDATA(_OMC_LIT47), MMC_STRINGDATA(tmp4_2)) != 0) goto tmp3_end;
_txt = tmp4_1;
_a_sub = tmp4_4;
_a_arr = tmp4_5;
_a_isPre = tmp4_6;
_a_isStart = tmp4_7;
_a_var = tmp4_8;
tmpMeta[0+0] = omc_CodegenCFunctions_fun__1246(threadData, _txt, _a_var, _a_sub, _a_arr, _a_isPre, _a_isStart, &tmpMeta[0+1]);
goto tmp3_done;
}
case 1: {
_txt = tmp4_1;
_a_ix = tmp4_3;
_a_sub = tmp4_4;
_a_arr = tmp4_5;
_a_isPre = tmp4_6;
_a_isStart = tmp4_7;
_a_var = tmp4_8;
tmpMeta[0+0] = omc_CodegenCFunctions_fun__1249(threadData, _txt, _a_var, _a_ix, _a_isPre, _a_isStart, _a_sub, _a_arr, &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_sub = tmpMeta[0+1];
_return: OMC_LABEL_UNUSED
if (out_out_a_sub) { *out_out_a_sub = _out_a_sub; }
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__1250(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_mArg, modelica_metatype _in_a_ix, modelica_metatype _in_a_sub, modelica_metatype _in_a_arr, modelica_metatype _in_a_isPre, modelica_metatype _in_a_isStart, modelica_metatype _in_a_var, modelica_metatype *out_out_a_sub)
{
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__1250(threadData, _in_txt, _in_mArg, tmp1, _in_a_sub, _in_a_arr, tmp2, tmp3, _in_a_var, out_out_a_sub);
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__1249(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 _in_a_sub, modelica_metatype _in_a_arr, modelica_metatype *out_out_a_sub)
{
modelica_metatype _out_txt = NULL;
modelica_metatype _out_a_sub = 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_boolean tmp4_4;modelica_boolean tmp4_5;modelica_metatype tmp4_6;modelica_metatype tmp4_7;
tmp4_1 = _in_txt;
tmp4_2 = _in_a_var;
tmp4_3 = _in_a_ix;
tmp4_4 = _in_a_isPre;
tmp4_5 = _in_a_isStart;
tmp4_6 = _in_a_sub;
tmp4_7 = _in_a_arr;
{
modelica_metatype _txt = NULL;
modelica_integer _a_ix;
modelica_boolean _a_isPre;
modelica_boolean _a_isStart;
modelica_metatype _a_sub = NULL;
modelica_metatype _a_arr = NULL;
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 tmp4;
int tmp5;
tmp4 = 0;
for (; tmp4 < 5; tmp4++) {
switch (MMC_SWITCH_CAST(tmp4)) {
case 0: {
modelica_metatype tmpMeta6;
modelica_metatype tmpMeta7;
modelica_metatype tmpMeta8;
modelica_integer tmp9;
tmpMeta6 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
tmpMeta7 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 3));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta7,7,0) == 0) goto tmp3_end;
tmpMeta8 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 7));
tmp9 = mmc_unbox_integer(tmpMeta8);
_i_name = tmpMeta6;
_i_varKind = tmpMeta7;
_i_index = tmp9;
_txt = tmp4_1;
_a_sub = tmp4_6;
_a_arr = tmp4_7;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT30);
_txt = omc_Tpl_writeText(threadData, _txt, _a_arr);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT49);
_txt = omc_CodegenCFunctions_crefShortType(threadData, _txt, _i_name);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT51);
_txt = omc_Tpl_writeStr(threadData, _txt, intString(_i_index));
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT32);
_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_LIT34);
_txt = omc_CodegenUtil_variabilityString(threadData, _txt, _i_varKind);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT36);
_txt = omc_Tpl_writeText(threadData, _txt, _a_sub);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT34);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_sub;
goto tmp3_done;
}
case 1: {
modelica_metatype tmpMeta10;
modelica_metatype tmpMeta11;
modelica_metatype tmpMeta12;
modelica_integer tmp13;
tmpMeta10 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
tmpMeta11 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 3));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta11,17,0) == 0) goto tmp3_end;
tmpMeta12 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 7));
tmp13 = mmc_unbox_integer(tmpMeta12);
_i_name = tmpMeta10;
_i_varKind = tmpMeta11;
_i_index = tmp13;
_txt = tmp4_1;
_a_sub = tmp4_6;
_a_arr = tmp4_7;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT30);
_txt = omc_Tpl_writeText(threadData, _txt, _a_arr);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT49);
_txt = omc_CodegenCFunctions_crefShortType(threadData, _txt, _i_name);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT51);
_txt = omc_Tpl_writeStr(threadData, _txt, intString(_i_index));
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT32);
_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_LIT34);
_txt = omc_CodegenUtil_variabilityString(threadData, _txt, _i_varKind);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT36);
_txt = omc_Tpl_writeText(threadData, _txt, _a_sub);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT34);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_sub;
goto tmp3_done;
}
case 2: {
modelica_metatype tmpMeta14;
modelica_metatype tmpMeta15;
modelica_integer tmp16;
tmpMeta14 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 3));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta14,9,1) == 0) goto tmp3_end;
tmpMeta15 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 7));
tmp16 = mmc_unbox_integer(tmpMeta15);
_i_index = tmp16;
_txt = tmp4_1;
_a_sub = tmp4_6;
_a_arr = tmp4_7;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT30);
_txt = omc_Tpl_writeText(threadData, _txt, _a_arr);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT53);
_txt = omc_Tpl_writeStr(threadData, _txt, intString(_i_index));
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT55);
_txt = omc_Tpl_writeText(threadData, _txt, _a_sub);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_sub;
goto tmp3_done;
}
case 3: {
modelica_metatype tmpMeta17;
modelica_metatype tmpMeta18;
modelica_metatype tmpMeta19;
modelica_integer tmp20;
tmpMeta17 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
tmpMeta18 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 3));
tmpMeta19 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 7));
tmp20 = mmc_unbox_integer(tmpMeta19);
_txt = tmp4_1;
_i_var = tmp4_2;
_i_name = tmpMeta17;
_i_varKind = tmpMeta18;
_i_index = tmp20;
_a_ix = tmp4_3;
_a_isPre = tmp4_4;
_a_isStart = tmp4_5;
_a_sub = tmp4_6;
_a_arr = tmp4_7;
tmpMeta[0+0] = omc_CodegenCFunctions_fun__1248(threadData, _txt, _a_isStart, _i_var, _a_sub, _i_varKind, _i_index, _i_name, _a_ix, _a_arr, _a_isPre, &tmpMeta[0+1]);
goto tmp3_done;
}
case 4: {
_txt = tmp4_1;
_a_sub = tmp4_6;
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_sub;
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta[0+0];
_out_a_sub = tmpMeta[0+1];
_return: OMC_LABEL_UNUSED
if (out_out_a_sub) { *out_out_a_sub = _out_a_sub; }
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__1249(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_metatype _in_a_sub, modelica_metatype _in_a_arr, modelica_metatype *out_out_a_sub)
{
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__1249(threadData, _in_txt, _in_a_var, tmp1, tmp2, tmp3, _in_a_sub, _in_a_arr, out_out_a_sub);
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__1248(threadData_t *threadData, modelica_metatype _in_txt, modelica_boolean _in_a_isStart, modelica_metatype _in_a_var, modelica_metatype _in_a_sub, modelica_metatype _in_a_varKind, modelica_integer _in_a_index, modelica_metatype _in_a_name, modelica_integer _in_a_ix, modelica_metatype _in_a_arr, modelica_boolean _in_a_isPre, modelica_metatype *out_out_a_sub)
{
modelica_metatype _out_txt = NULL;
modelica_metatype _out_a_sub = 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_integer tmp4_6;modelica_metatype tmp4_7;modelica_integer tmp4_8;modelica_metatype tmp4_9;modelica_boolean tmp4_10;
tmp4_1 = _in_txt;
tmp4_2 = _in_a_isStart;
tmp4_3 = _in_a_var;
tmp4_4 = _in_a_sub;
tmp4_5 = _in_a_varKind;
tmp4_6 = _in_a_index;
tmp4_7 = _in_a_name;
tmp4_8 = _in_a_ix;
tmp4_9 = _in_a_arr;
tmp4_10 = _in_a_isPre;
{
modelica_metatype _txt = NULL;
modelica_metatype _a_var = NULL;
modelica_metatype _a_sub = NULL;
modelica_metatype _a_varKind = NULL;
modelica_integer _a_index;
modelica_metatype _a_name = NULL;
modelica_integer _a_ix;
modelica_metatype _a_arr = NULL;
modelica_boolean _a_isPre;
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_sub = tmp4_4;
_a_varKind = tmp4_5;
_a_index = tmp4_6;
_a_name = tmp4_7;
_a_ix = tmp4_8;
_a_arr = tmp4_9;
_a_isPre = tmp4_10;
_txt = omc_CodegenCFunctions_fun__1247(threadData, _txt, _a_isPre, _a_sub, _a_varKind, _a_index, _a_name, _a_ix, _a_arr);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_sub;
goto tmp3_done;
}
case 1: {
_txt = tmp4_1;
_a_var = tmp4_3;
_a_sub = tmp4_4;
_txt = omc_CodegenCFunctions_varAttributes(threadData, _txt, _a_var, _a_sub ,&_a_sub);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT57);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_sub;
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta[0+0];
_out_a_sub = tmpMeta[0+1];
_return: OMC_LABEL_UNUSED
if (out_out_a_sub) { *out_out_a_sub = _out_a_sub; }
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__1248(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_isStart, modelica_metatype _in_a_var, modelica_metatype _in_a_sub, modelica_metatype _in_a_varKind, modelica_metatype _in_a_index, modelica_metatype _in_a_name, modelica_metatype _in_a_ix, modelica_metatype _in_a_arr, modelica_metatype _in_a_isPre, modelica_metatype *out_out_a_sub)
{
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__1248(threadData, _in_txt, tmp1, _in_a_var, _in_a_sub, _in_a_varKind, tmp2, _in_a_name, tmp3, _in_a_arr, tmp4, out_out_a_sub);
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__1247(threadData_t *threadData, modelica_metatype _in_txt, modelica_boolean _in_a_isPre, modelica_metatype _in_a_sub, modelica_metatype _in_a_varKind, modelica_integer _in_a_index, modelica_metatype _in_a_name, modelica_integer _in_a_ix, modelica_metatype _in_a_arr)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta1;
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_integer tmp4_7;modelica_metatype tmp4_8;
tmp4_1 = _in_txt;
tmp4_2 = _in_a_isPre;
tmp4_3 = _in_a_sub;
tmp4_4 = _in_a_varKind;
tmp4_5 = _in_a_index;
tmp4_6 = _in_a_name;
tmp4_7 = _in_a_ix;
tmp4_8 = _in_a_arr;
{
modelica_metatype _txt = NULL;
modelica_metatype _a_sub = NULL;
modelica_metatype _a_varKind = NULL;
modelica_integer _a_index;
modelica_metatype _a_name = NULL;
modelica_integer _a_ix;
modelica_metatype _a_arr = NULL;
modelica_metatype _txt_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_sub = tmp4_3;
_a_varKind = tmp4_4;
_a_index = tmp4_5;
_a_name = tmp4_6;
_a_ix = tmp4_7;
_a_arr = tmp4_8;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT30);
_txt = omc_Tpl_writeText(threadData, _txt, _a_arr);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT59);
_txt = omc_Tpl_writeStr(threadData, _txt, intString(_a_ix));
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT61);
_txt = omc_CodegenCFunctions_crefShortType(threadData, _txt, _a_name);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT63);
_txt = omc_Tpl_writeStr(threadData, _txt, intString(_a_index));
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT32);
_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_LIT34);
_txt = omc_CodegenUtil_variabilityString(threadData, _txt, _a_varKind);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT36);
_txt = omc_Tpl_writeText(threadData, _txt, _a_sub);
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT34);
goto tmp3_done;
}
case 1: {
_txt = tmp4_1;
_a_sub = tmp4_3;
_a_varKind = tmp4_4;
_a_index = tmp4_5;
_a_name = tmp4_6;
_a_arr = tmp4_8;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT30);
_txt = omc_Tpl_writeText(threadData, _txt, _a_arr);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT49);
_txt = omc_CodegenCFunctions_crefShortType(threadData, _txt, _a_name);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT65);
_txt = omc_Tpl_writeStr(threadData, _txt, intString(_a_index));
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT32);
_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_LIT34);
_txt = omc_CodegenUtil_variabilityString(threadData, _txt, _a_varKind);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT36);
_txt = omc_Tpl_writeText(threadData, _txt, _a_sub);
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT34);
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta1;
_return: OMC_LABEL_UNUSED
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__1247(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_isPre, modelica_metatype _in_a_sub, modelica_metatype _in_a_varKind, modelica_metatype _in_a_index, modelica_metatype _in_a_name, modelica_metatype _in_a_ix, modelica_metatype _in_a_arr)
{
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__1247(threadData, _in_txt, tmp1, _in_a_sub, _in_a_varKind, tmp2, _in_a_name, tmp3, _in_a_arr);
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__1246(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_var, modelica_metatype _in_a_sub, modelica_metatype _in_a_arr, modelica_boolean _in_a_isPre, modelica_boolean _in_a_isStart, modelica_metatype *out_out_a_sub)
{
modelica_metatype _out_txt = NULL;
modelica_metatype _out_a_sub = 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_boolean tmp4_6;
tmp4_1 = _in_txt;
tmp4_2 = _in_a_var;
tmp4_3 = _in_a_sub;
tmp4_4 = _in_a_arr;
tmp4_5 = _in_a_isPre;
tmp4_6 = _in_a_isStart;
{
modelica_metatype _txt = NULL;
modelica_metatype _a_sub = NULL;
modelica_metatype _a_arr = 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 tmp4;
int tmp5;
tmp4 = 0;
for (; tmp4 < 5; tmp4++) {
switch (MMC_SWITCH_CAST(tmp4)) {
case 0: {
modelica_metatype tmpMeta6;
tmpMeta6 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 3));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta6,7,0) == 0) goto tmp3_end;
_txt = tmp4_1;
_a_sub = tmp4_3;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT67);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_sub;
goto tmp3_done;
}
case 1: {
modelica_metatype tmpMeta7;
tmpMeta7 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 3));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta7,17,0) == 0) goto tmp3_end;
_txt = tmp4_1;
_a_sub = tmp4_3;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT67);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_sub;
goto tmp3_done;
}
case 2: {
modelica_metatype tmpMeta8;
tmpMeta8 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 3));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta8,9,1) == 0) goto tmp3_end;
_txt = tmp4_1;
_a_sub = tmp4_3;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT67);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_sub;
goto tmp3_done;
}
case 3: {
modelica_metatype tmpMeta9;
modelica_metatype tmpMeta10;
modelica_metatype tmpMeta11;
modelica_integer tmp12;
tmpMeta9 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
tmpMeta10 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 3));
tmpMeta11 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 7));
tmp12 = mmc_unbox_integer(tmpMeta11);
_txt = tmp4_1;
_i_var = tmp4_2;
_i_name = tmpMeta9;
_i_varKind = tmpMeta10;
_i_index = tmp12;
_a_sub = tmp4_3;
_a_arr = tmp4_4;
_a_isPre = tmp4_5;
_a_isStart = tmp4_6;
_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+0] = omc_CodegenCFunctions_fun__1245(threadData, _txt, _a_isStart, _i_var, _a_sub, _i_varKind, _l_c__comment, _i_index, _i_name, _a_arr, _a_isPre, &tmpMeta[0+1]);
goto tmp3_done;
}
case 4: {
_txt = tmp4_1;
_a_sub = tmp4_3;
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_sub;
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta[0+0];
_out_a_sub = tmpMeta[0+1];
_return: OMC_LABEL_UNUSED
if (out_out_a_sub) { *out_out_a_sub = _out_a_sub; }
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__1246(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_var, modelica_metatype _in_a_sub, modelica_metatype _in_a_arr, modelica_metatype _in_a_isPre, modelica_metatype _in_a_isStart, modelica_metatype *out_out_a_sub)
{
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__1246(threadData, _in_txt, _in_a_var, _in_a_sub, _in_a_arr, tmp1, tmp2, out_out_a_sub);
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__1245(threadData_t *threadData, modelica_metatype _in_txt, modelica_boolean _in_a_isStart, modelica_metatype _in_a_var, modelica_metatype _in_a_sub, modelica_metatype _in_a_varKind, modelica_metatype _in_a_c__comment, modelica_integer _in_a_index, modelica_metatype _in_a_name, modelica_metatype _in_a_arr, modelica_boolean _in_a_isPre, modelica_metatype *out_out_a_sub)
{
modelica_metatype _out_txt = NULL;
modelica_metatype _out_a_sub = 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_integer tmp4_7;modelica_metatype tmp4_8;modelica_metatype tmp4_9;modelica_boolean tmp4_10;
tmp4_1 = _in_txt;
tmp4_2 = _in_a_isStart;
tmp4_3 = _in_a_var;
tmp4_4 = _in_a_sub;
tmp4_5 = _in_a_varKind;
tmp4_6 = _in_a_c__comment;
tmp4_7 = _in_a_index;
tmp4_8 = _in_a_name;
tmp4_9 = _in_a_arr;
tmp4_10 = _in_a_isPre;
{
modelica_metatype _txt = NULL;
modelica_metatype _a_var = NULL;
modelica_metatype _a_sub = NULL;
modelica_metatype _a_varKind = NULL;
modelica_metatype _a_c__comment = NULL;
modelica_integer _a_index;
modelica_metatype _a_name = NULL;
modelica_metatype _a_arr = NULL;
modelica_boolean _a_isPre;
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_sub = tmp4_4;
_a_varKind = tmp4_5;
_a_c__comment = tmp4_6;
_a_index = tmp4_7;
_a_name = tmp4_8;
_a_arr = tmp4_9;
_a_isPre = tmp4_10;
_txt = omc_CodegenCFunctions_fun__1244(threadData, _txt, _a_isPre, _a_sub, _a_varKind, _a_c__comment, _a_index, _a_name, _a_arr);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_sub;
goto tmp3_done;
}
case 1: {
_txt = tmp4_1;
_a_var = tmp4_3;
_a_sub = tmp4_4;
_txt = omc_CodegenCFunctions_varAttributes(threadData, _txt, _a_var, _a_sub ,&_a_sub);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT57);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_sub;
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta[0+0];
_out_a_sub = tmpMeta[0+1];
_return: OMC_LABEL_UNUSED
if (out_out_a_sub) { *out_out_a_sub = _out_a_sub; }
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__1245(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_isStart, modelica_metatype _in_a_var, modelica_metatype _in_a_sub, 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_arr, modelica_metatype _in_a_isPre, modelica_metatype *out_out_a_sub)
{
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__1245(threadData, _in_txt, tmp1, _in_a_var, _in_a_sub, _in_a_varKind, _in_a_c__comment, tmp2, _in_a_name, _in_a_arr, tmp3, out_out_a_sub);
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__1244(threadData_t *threadData, modelica_metatype _in_txt, modelica_boolean _in_a_isPre, modelica_metatype _in_a_sub, modelica_metatype _in_a_varKind, modelica_metatype _in_a_c__comment, modelica_integer _in_a_index, modelica_metatype _in_a_name, modelica_metatype _in_a_arr)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta1;
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_integer tmp4_6;modelica_metatype tmp4_7;modelica_metatype tmp4_8;
tmp4_1 = _in_txt;
tmp4_2 = _in_a_isPre;
tmp4_3 = _in_a_sub;
tmp4_4 = _in_a_varKind;
tmp4_5 = _in_a_c__comment;
tmp4_6 = _in_a_index;
tmp4_7 = _in_a_name;
tmp4_8 = _in_a_arr;
{
modelica_metatype _txt = NULL;
modelica_metatype _a_sub = NULL;
modelica_metatype _a_varKind = NULL;
modelica_metatype _a_c__comment = NULL;
modelica_integer _a_index;
modelica_metatype _a_name = NULL;
modelica_metatype _a_arr = 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_sub = tmp4_3;
_a_varKind = tmp4_4;
_a_c__comment = tmp4_5;
_a_index = tmp4_6;
_a_name = tmp4_7;
_a_arr = tmp4_8;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT30);
_txt = omc_Tpl_writeText(threadData, _txt, _a_arr);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT69);
_txt = omc_CodegenCFunctions_crefTypeOMSIC(threadData, _txt, _a_name);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT71);
_txt = omc_Tpl_writeStr(threadData, _txt, intString(_a_index));
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT32);
_txt = omc_Tpl_writeText(threadData, _txt, _a_c__comment);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT34);
_txt = omc_CodegenUtil_variabilityString(threadData, _txt, _a_varKind);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT36);
_txt = omc_Tpl_writeText(threadData, _txt, _a_sub);
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT34);
goto tmp3_done;
}
case 1: {
_txt = tmp4_1;
_a_sub = tmp4_3;
_a_varKind = tmp4_4;
_a_c__comment = tmp4_5;
_a_index = tmp4_6;
_a_name = tmp4_7;
_a_arr = tmp4_8;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT30);
_txt = omc_Tpl_writeText(threadData, _txt, _a_arr);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT73);
_txt = omc_CodegenCFunctions_crefTypeOMSIC(threadData, _txt, _a_name);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT71);
_txt = omc_Tpl_writeStr(threadData, _txt, intString(_a_index));
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT32);
_txt = omc_Tpl_writeText(threadData, _txt, _a_c__comment);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT34);
_txt = omc_CodegenUtil_variabilityString(threadData, _txt, _a_varKind);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT36);
_txt = omc_Tpl_writeText(threadData, _txt, _a_sub);
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT34);
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta1;
_return: OMC_LABEL_UNUSED
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__1244(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_isPre, modelica_metatype _in_a_sub, 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_arr)
{
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__1244(threadData, _in_txt, tmp1, _in_a_sub, _in_a_varKind, _in_a_c__comment, tmp2, _in_a_name, _in_a_arr);
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__1243(threadData_t *threadData, modelica_metatype _in_txt, modelica_boolean _in_mArg)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta1;
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_boolean tmp4_2;
tmp4_1 = _in_txt;
tmp4_2 = _in_mArg;
{
modelica_metatype _txt = 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;
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT40);
goto tmp3_done;
}
case 1: {
_txt = tmp4_1;
tmpMeta1 = _txt;
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta1;
_return: OMC_LABEL_UNUSED
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__1243(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__1243(threadData, _in_txt, tmp1);
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 tmpMeta1;
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_metatype tmp4_2;
tmp4_1 = _in_txt;
tmp4_2 = _in_a_cr;
{
modelica_metatype _txt = NULL;
modelica_metatype _i_componentRef = NULL;
modelica_metatype _i_identType = NULL;
int tmp4;
{
switch (MMC_SWITCH_CAST(valueConstructor(tmp4_2))) {
case 4: {
modelica_metatype tmpMeta5;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,1,3) == 0) goto tmp3_end;
tmpMeta5 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 3));
_i_identType = tmpMeta5;
_txt = tmp4_1;
tmpMeta1 = omc_CodegenCFunctions_expTypeShort(threadData, _txt, _i_identType);
goto tmp3_done;
}
case 3: {
modelica_metatype tmpMeta6;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,0,4) == 0) goto tmp3_end;
tmpMeta6 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 5));
_i_componentRef = tmpMeta6;
_txt = tmp4_1;
_in_txt = _txt;
_in_a_cr = _i_componentRef;
goto _tailrecursive;
goto tmp3_done;
}
default:
tmp3_default: OMC_LABEL_UNUSED; {
_txt = tmp4_1;
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT75);
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta1;
_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__1240(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__1240(threadData_t *threadData, modelica_metatype _in_txt, modelica_string _in_mArg, modelica_metatype _in_a_res)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta1;
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_res;
{
modelica_metatype _txt = 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 (16 != MMC_STRLEN(tmp4_2) || strcmp(MMC_STRINGDATA(_OMC_LIT80), MMC_STRINGDATA(tmp4_2)) != 0) goto tmp3_end;
_txt = tmp4_1;
_a_res = tmp4_3;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT77);
_txt = omc_Tpl_writeText(threadData, _txt, _a_res);
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT79);
goto tmp3_done;
}
case 1: {
_txt = tmp4_1;
_a_res = tmp4_3;
tmpMeta1 = omc_Tpl_writeText(threadData, _txt, _a_res);
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta1;
_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[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_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: {
modelica_metatype tmpMeta6;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,2,1) == 0) goto tmp3_end;
tmpMeta6 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
_i_sub_exp = tmpMeta6;
_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) 7679), ((modelica_integer) 14)), _OMC_LIT81);
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 tmpMeta1;
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_metatype tmp4_2;
tmp4_1 = _in_txt;
tmp4_2 = _in_a_exp;
{
modelica_metatype _txt = NULL;
modelica_integer _i_exp_index;
volatile mmc_switch_type tmp4;
int tmp5;
tmp4 = 0;
for (; tmp4 < 2; tmp4++) {
switch (MMC_SWITCH_CAST(tmp4)) {
case 0: {
modelica_metatype tmpMeta6;
modelica_integer tmp7;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,36,2) == 0) goto tmp3_end;
tmpMeta6 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
tmp7 = mmc_unbox_integer(tmpMeta6);
_i_exp_index = tmp7;
_txt = tmp4_1;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT83);
tmpMeta1 = omc_Tpl_writeStr(threadData, _txt, intString(_i_exp_index));
goto tmp3_done;
}
case 1: {
_txt = tmp4_1;
tmpMeta1 = _txt;
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta1;
_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[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_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: {
modelica_metatype tmpMeta6;
modelica_metatype tmpMeta7;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,35,2) == 0) goto tmp3_end;
tmpMeta6 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
tmpMeta7 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 3));
_i_exp_exp = tmpMeta6;
_i_exp_ty = tmpMeta7;
_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_LIT85);
_txt = omc_Tpl_writeText(threadData, _txt, _l_ty);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT30);
_txt = omc_Tpl_writeText(threadData, _txt, _l_res);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT87);
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[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 _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: {
modelica_metatype tmpMeta6;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,34,1) == 0) goto tmp3_end;
tmpMeta6 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
_i_exp = tmpMeta6;
_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__1235(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_LIT89);
_txt = omc_Tpl_writeText(threadData, _txt, _l_ty);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT30);
_txt = omc_Tpl_writeText(threadData, _txt, _l_res);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT87);
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__1235(threadData_t *threadData, modelica_metatype _in_txt, modelica_boolean _in_mArg, modelica_metatype _in_a_exp)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta1;
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_exp;
{
modelica_metatype _txt = NULL;
modelica_metatype _a_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_exp = tmp4_3;
tmpMeta1 = omc_CodegenCFunctions_expTypeFromExpShort(threadData, _txt, _a_exp);
goto tmp3_done;
}
case 1: {
_txt = tmp4_1;
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT91);
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta1;
_return: OMC_LABEL_UNUSED
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__1235(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__1235(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 tmpMeta1;
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_metatype tmp4_2;modelica_integer tmp4_3;
tmp4_1 = _in_txt;
tmp4_2 = _in_a_pattern;
tmp4_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 tmp4;
int tmp5;
tmp4 = 0;
for (; tmp4 < 5; tmp4++) {
switch (MMC_SWITCH_CAST(tmp4)) {
case 0: {
modelica_metatype tmpMeta6;
modelica_integer tmp7;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,7,6) == 0) goto tmp3_end;
tmpMeta6 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 3));
tmp7 = mmc_unbox_integer(tmpMeta6);
_i_index = tmp7;
_txt = tmp4_1;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT93);
_ret_0 = omc_Patternm_getValueCtor(threadData, _i_index);
tmpMeta1 = omc_Tpl_writeStr(threadData, _txt, intString(_ret_0));
goto tmp3_done;
}
case 1: {
modelica_metatype tmpMeta8;
modelica_metatype tmpMeta9;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,1,2) == 0) goto tmp3_end;
tmpMeta8 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 3));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta8,2,1) == 0) goto tmp3_end;
tmpMeta9 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta8), 2));
_i_e_string = tmpMeta9;
_txt = tmp4_1;
_a_extraArg = tmp4_3;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT93);
_ret_1 = stringHashDjb2Mod(_i_e_string, _a_extraArg);
_txt = omc_Tpl_writeStr(threadData, _txt, intString(_ret_1));
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT95);
_txt = omc_Tpl_writeStr(threadData, _txt, _i_e_string);
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT22);
goto tmp3_done;
}
case 2: {
modelica_metatype tmpMeta10;
modelica_metatype tmpMeta11;
modelica_metatype tmpMeta12;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,1,2) == 0) goto tmp3_end;
tmpMeta10 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 3));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta10,36,2) == 0) goto tmp3_end;
tmpMeta11 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta10), 3));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta11,2,1) == 0) goto tmp3_end;
tmpMeta12 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta11), 2));
_i_e_string = tmpMeta12;
_txt = tmp4_1;
_a_extraArg = tmp4_3;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT93);
_ret_2 = stringHashDjb2Mod(_i_e_string, _a_extraArg);
_txt = omc_Tpl_writeStr(threadData, _txt, intString(_ret_2));
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT95);
_txt = omc_Tpl_writeStr(threadData, _txt, _i_e_string);
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT22);
goto tmp3_done;
}
case 3: {
modelica_metatype tmpMeta13;
modelica_metatype tmpMeta14;
modelica_integer tmp15;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,1,2) == 0) goto tmp3_end;
tmpMeta13 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 3));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta13,0,1) == 0) goto tmp3_end;
tmpMeta14 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta13), 2));
tmp15 = mmc_unbox_integer(tmpMeta14);
_i_e_integer = tmp15;
_txt = tmp4_1;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT93);
tmpMeta1 = omc_Tpl_writeStr(threadData, _txt, intString(_i_e_integer));
goto tmp3_done;
}
case 4: {
_txt = tmp4_1;
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT97);
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta1;
_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_LIT99);
_out_txt = omc_CodegenCFunctions_lm__1232(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__1232(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[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;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_metatype tmpMeta6;
modelica_metatype tmpMeta7;
modelica_metatype tmpMeta8;
modelica_metatype tmpMeta9;
modelica_metatype tmpMeta10;
modelica_metatype tmpMeta11;
modelica_metatype tmpMeta12;
modelica_metatype tmpMeta13;
modelica_metatype tmpMeta14;
modelica_integer tmp15;
if (listEmpty(tmp4_2)) goto tmp3_end;
tmpMeta6 = MMC_CAR(tmp4_2);
tmpMeta7 = MMC_CDR(tmp4_2);
tmpMeta8 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta6), 2));
tmpMeta9 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta6), 3));
tmpMeta10 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta6), 4));
tmpMeta11 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta6), 5));
tmpMeta12 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta6), 6));
tmpMeta13 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta6), 7));
tmpMeta14 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta6), 8));
tmp15 = mmc_unbox_integer(tmpMeta14);
_i_c_patterns = tmpMeta8;
_i_c_patternGuard = tmpMeta9;
_i_c_localDecls = tmpMeta10;
_i_c_body = tmpMeta11;
_i_c_result = tmpMeta12;
_i_c_resultInfo = tmpMeta13;
_i_c_jump = tmp15;
_rest = tmpMeta7;
_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__1217(threadData, _OMC_LIT20, _a_ty, _a_prefix, _a_cases);
_l_onPatternFail = omc_CodegenCFunctions_fun__1218(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_LIT102);
_l_patternMatching = omc_CodegenCFunctions_lm__1219(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_LIT104);
_l_stmts = omc_CodegenCFunctions_lm__1220(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__1221(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__1226(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__1227(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__1229(threadData, _txt, _a_ty, _x_i0, _a_prefix, _i_c_patterns);
_txt = omc_Tpl_softNewLine(threadData, _txt);
_txt = omc_Tpl_pushBlock(threadData, _txt, _OMC_LIT105);
_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__1230(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__1231(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_LIT107);
_txt = omc_Tpl_writeText(threadData, _txt, _a_prefix);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT109);
_txt = omc_Tpl_popBlock(threadData, _txt);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT111);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT98);
_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: {
modelica_metatype tmpMeta16;
modelica_metatype tmpMeta17;
if (listEmpty(tmp4_2)) goto tmp3_end;
tmpMeta16 = MMC_CAR(tmp4_2);
tmpMeta17 = MMC_CDR(tmp4_2);
_rest = tmpMeta17;
_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__1232(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__1232(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__1231(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 tmpMeta1;
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_result;
tmp4_3 = _in_a_caseRes;
tmp4_4 = _in_a_preRes;
{
modelica_metatype _txt = NULL;
modelica_metatype _a_caseRes = NULL;
modelica_metatype _a_preRes = 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;
_txt = omc_CodegenCFunctions_generateThrow(threadData, _txt);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT113);
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT98);
goto tmp3_done;
}
case 1: {
_txt = tmp4_1;
_a_caseRes = tmp4_3;
_a_preRes = tmp4_4;
_txt = omc_Tpl_writeText(threadData, _txt, _a_preRes);
tmpMeta1 = omc_Tpl_writeText(threadData, _txt, _a_caseRes);
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta1;
_return: OMC_LABEL_UNUSED
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__1230(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 tmpMeta1;
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_integer tmp4_2;modelica_metatype tmp4_3;
tmp4_1 = _in_txt;
tmp4_2 = _in_a_c_jump;
tmp4_3 = _in_a_ix;
{
modelica_metatype _txt = NULL;
modelica_metatype _a_ix = NULL;
modelica_integer _i_c_jump;
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;
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT115);
goto tmp3_done;
}
case 1: {
_txt = tmp4_1;
_i_c_jump = tmp4_2;
_a_ix = tmp4_3;
_txt = omc_Tpl_writeText(threadData, _txt, _a_ix);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT117);
_txt = omc_Tpl_writeStr(threadData, _txt, intString(_i_c_jump));
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT119);
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta1;
_return: OMC_LABEL_UNUSED
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__1230(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__1230(threadData, _in_txt, tmp1, _in_a_ix);
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_integer _in_a_i0, modelica_metatype _in_a_prefix, modelica_metatype _in_a_c_patterns)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta1;
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;
tmp4_1 = _in_txt;
tmp4_2 = _in_a_ty;
tmp4_3 = _in_a_i0;
tmp4_4 = _in_a_prefix;
tmp4_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 tmp4;
int tmp5;
tmp4 = 0;
for (; tmp4 < 2; tmp4++) {
switch (MMC_SWITCH_CAST(tmp4)) {
case 0: {
modelica_metatype tmpMeta6;
modelica_metatype tmpMeta7;
modelica_metatype tmpMeta8;
modelica_integer tmp9;
modelica_metatype tmpMeta10;
modelica_integer tmp11;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,2,1) == 0) goto tmp3_end;
tmpMeta6 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
if (optionNone(tmpMeta6)) goto tmp3_end;
tmpMeta7 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta6), 1));
tmpMeta8 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta7), 1));
tmp9 = mmc_unbox_integer(tmpMeta8);
tmpMeta10 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta7), 3));
tmp11 = mmc_unbox_integer(tmpMeta10);
_i_n = tmp9;
_i_ea = tmp11;
_txt = tmp4_1;
_a_prefix = tmp4_4;
_a_c_patterns = tmp4_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);
tmpMeta1 = omc_CodegenCFunctions_fun__1228(threadData, _txt, _str_2, _a_prefix, _l_name);
goto tmp3_done;
}
case 1: {
_txt = tmp4_1;
_a_i0 = tmp4_3;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT93);
_txt = omc_Tpl_writeStr(threadData, _txt, intString(_a_i0));
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT121);
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta1;
_return: OMC_LABEL_UNUSED
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__1229(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__1229(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__1228(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 tmpMeta1;
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_prefix;
tmp4_4 = _in_a_name;
{
modelica_metatype _txt = NULL;
modelica_metatype _a_prefix = NULL;
modelica_metatype _a_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_LIT96), MMC_STRINGDATA(tmp4_2)) != 0) goto tmp3_end;
_txt = tmp4_1;
_a_prefix = tmp4_3;
_a_name = tmp4_4;
_txt = omc_Tpl_writeText(threadData, _txt, _a_name);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT123);
_txt = omc_Tpl_writeText(threadData, _txt, _a_prefix);
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT125);
goto tmp3_done;
}
case 1: {
_txt = tmp4_1;
_a_name = tmp4_4;
_txt = omc_Tpl_writeText(threadData, _txt, _a_name);
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT121);
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta1;
_return: OMC_LABEL_UNUSED
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_lm__1227(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[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_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: {
modelica_metatype tmpMeta6;
modelica_metatype tmpMeta7;
if (listEmpty(tmp4_2)) goto tmp3_end;
tmpMeta6 = MMC_CAR(tmp4_2);
tmpMeta7 = MMC_CDR(tmp4_2);
_i_var = tmpMeta6;
_rest = tmpMeta7;
_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_LIT28, _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__1226(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_LIT28), 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__1225(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__1225(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[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;
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: {
modelica_metatype tmpMeta6;
modelica_metatype tmpMeta7;
if (optionNone(tmp4_2)) goto tmp3_end;
tmpMeta6 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 1));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta6,19,1) == 0) goto tmp3_end;
tmpMeta7 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta6), 2));
_i_exps = tmpMeta7;
_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_LIT126);
_txt = omc_CodegenCFunctions_lm__1222(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: {
modelica_metatype tmpMeta8;
modelica_metatype tmpMeta9;
modelica_metatype tmpMeta10;
if (optionNone(tmp4_2)) goto tmp3_end;
tmpMeta8 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 1));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta8,13,3) == 0) goto tmp3_end;
tmpMeta9 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta8), 4));
tmpMeta10 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta9), 8));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta10,1,2) == 0) goto tmp3_end;
_i_exp = tmpMeta8;
_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_metatype tmpMeta11;
modelica_metatype tmpMeta12;
modelica_metatype tmpMeta13;
modelica_integer tmp14;
if (optionNone(tmp4_2)) goto tmp3_end;
tmpMeta11 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 1));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta11,13,3) == 0) goto tmp3_end;
tmpMeta12 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta11), 4));
tmpMeta13 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta12), 3));
tmp14 = mmc_unbox_integer(tmpMeta13);
if (1 != tmp14) goto tmp3_end;
_i_exp = tmpMeta11;
_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_LIT127);
_l_additionalOutputs = omc_CodegenCFunctions_lm__1223(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__1224(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: {
modelica_metatype tmpMeta15;
if (optionNone(tmp4_2)) goto tmp3_end;
tmpMeta15 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 1));
_i_e = tmpMeta15;
_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_LIT129);
_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_LIT113);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT98);
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__1224(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 tmpMeta1;
MMC_SO();
_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_tupleAssignExps;
tmp4_3 = _in_a_startIndexOutputs;
tmp4_4 = _in_a_res;
tmp4_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 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_retStruct = tmp4_5;
_txt = omc_Tpl_writeText(threadData, _txt, _a_retStruct);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT113);
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT98);
goto tmp3_done;
}
case 1: {
modelica_metatype tmpMeta6;
modelica_metatype tmpMeta7;
if (listEmpty(tmp4_2)) goto tmp3_end;
tmpMeta6 = MMC_CAR(tmp4_2);
tmpMeta7 = MMC_CDR(tmp4_2);
_i_tupleAssignExps = tmp4_2;
_txt = tmp4_1;
_a_startIndexOutputs = tmp4_3;
_a_res = tmp4_4;
_a_retStruct = tmp4_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_LIT129);
_txt = omc_Tpl_writeText(threadData, _txt, _a_retStruct);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT113);
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT98);
goto tmp3_done;
}
case 2: {
_txt = tmp4_1;
tmpMeta1 = _txt;
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta1;
_return: OMC_LABEL_UNUSED
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_lm__1223(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 tmpMeta1;
MMC_SO();
_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_startIndexOutputs;
tmp4_4 = _in_a_res;
tmp4_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 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;
tmpMeta1 = _txt;
goto tmp3_done;
}
case 1: {
modelica_metatype tmpMeta6;
modelica_metatype tmpMeta7;
if (listEmpty(tmp4_2)) goto tmp3_end;
tmpMeta6 = MMC_CAR(tmp4_2);
tmpMeta7 = MMC_CDR(tmp4_2);
_rest = tmpMeta7;
_txt = tmp4_1;
_a_startIndexOutputs = tmp4_3;
_a_res = tmp4_4;
_a_tupleAssignExps = tmp4_5;
_x_i0 = omc_Tpl_getIteri__i0(threadData, _txt);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT131);
_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 tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta1;
_return: OMC_LABEL_UNUSED
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_lm__1222(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[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;
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: {
modelica_metatype tmpMeta6;
modelica_metatype tmpMeta7;
if (listEmpty(tmp4_2)) goto tmp3_end;
tmpMeta6 = MMC_CAR(tmp4_2);
tmpMeta7 = MMC_CDR(tmp4_2);
_i_e = tmpMeta6;
_rest = tmpMeta7;
_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_LIT129);
_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_LIT113);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT98);
_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__1221(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[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_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: {
modelica_metatype tmpMeta6;
if (optionNone(tmp4_2)) goto tmp3_end;
tmpMeta6 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 1));
_i_exp = tmpMeta6;
_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_LIT136);
_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_LIT138);
_txt = omc_Tpl_writeText(threadData, _txt, _a_onPatternFail);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT113);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT98);
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__1220(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[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_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: {
modelica_metatype tmpMeta6;
modelica_metatype tmpMeta7;
if (listEmpty(tmp4_2)) goto tmp3_end;
tmpMeta6 = MMC_CAR(tmp4_2);
tmpMeta7 = MMC_CDR(tmp4_2);
_i_stmt = tmpMeta6;
_rest = tmpMeta7;
_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__1219(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[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_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_metatype tmpMeta6;
modelica_metatype tmpMeta7;
modelica_metatype tmpMeta8;
modelica_metatype tmpMeta9;
modelica_integer tmp10;
if (listEmpty(tmp4_2)) goto tmp3_end;
tmpMeta6 = MMC_CAR(tmp4_2);
tmpMeta7 = MMC_CDR(tmp4_2);
tmpMeta8 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta6), 1));
tmpMeta9 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta6), 2));
tmp10 = mmc_unbox_integer(tmpMeta9);
_i_lhs = tmpMeta8;
_i_i0 = tmp10;
_rest = tmpMeta7;
_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__1218(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 tmpMeta1;
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_ty;
tmp4_3 = _in_a_prefix;
tmp4_4 = _in_a_lastSwitchIndex;
{
modelica_metatype _txt = NULL;
modelica_metatype _a_prefix = NULL;
modelica_metatype _a_lastSwitchIndex = NULL;
volatile mmc_switch_type tmp4;
int tmp5;
tmp4 = 0;
for (; tmp4 < 2; tmp4++) {
switch (MMC_SWITCH_CAST(tmp4)) {
case 0: {
modelica_metatype tmpMeta6;
modelica_metatype tmpMeta7;
modelica_metatype tmpMeta8;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,2,1) == 0) goto tmp3_end;
tmpMeta6 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
if (optionNone(tmpMeta6)) goto tmp3_end;
tmpMeta7 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta6), 1));
tmpMeta8 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta7), 2));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta8,2,1) == 0) goto tmp3_end;
_txt = tmp4_1;
_a_lastSwitchIndex = tmp4_4;
tmpMeta1 = omc_Tpl_writeText(threadData, _txt, _a_lastSwitchIndex);
goto tmp3_done;
}
case 1: {
_txt = tmp4_1;
_a_prefix = tmp4_3;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT107);
_txt = omc_Tpl_writeText(threadData, _txt, _a_prefix);
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT140);
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta1;
_return: OMC_LABEL_UNUSED
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__1217(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 tmpMeta1;
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_ty;
tmp4_3 = _in_a_prefix;
tmp4_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 tmp4;
int tmp5;
tmp4 = 0;
for (; tmp4 < 2; tmp4++) {
switch (MMC_SWITCH_CAST(tmp4)) {
case 0: {
modelica_metatype tmpMeta6;
modelica_metatype tmpMeta7;
modelica_metatype tmpMeta8;
modelica_integer tmp9;
modelica_metatype tmpMeta10;
modelica_metatype tmpMeta11;
modelica_integer tmp12;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,2,1) == 0) goto tmp3_end;
tmpMeta6 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
if (optionNone(tmpMeta6)) goto tmp3_end;
tmpMeta7 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta6), 1));
tmpMeta8 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta7), 1));
tmp9 = mmc_unbox_integer(tmpMeta8);
tmpMeta10 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta7), 2));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta10,2,1) == 0) goto tmp3_end;
tmpMeta11 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta7), 3));
tmp12 = mmc_unbox_integer(tmpMeta11);
_i_n = tmp9;
_i_div = tmp12;
_txt = tmp4_1;
_a_prefix = tmp4_3;
_a_cases = tmp4_4;
_ret_0 = omc_List_last(threadData, _a_cases);
tmpMeta1 = omc_CodegenCFunctions_fun__1216(threadData, _txt, _ret_0, _a_prefix, _i_div, _i_n);
goto tmp3_done;
}
case 1: {
_txt = tmp4_1;
_a_prefix = tmp4_3;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT107);
_txt = omc_Tpl_writeText(threadData, _txt, _a_prefix);
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT140);
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta1;
_return: OMC_LABEL_UNUSED
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__1216(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 tmpMeta1;
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_metatype tmp4_2;modelica_metatype tmp4_3;modelica_integer tmp4_4;modelica_integer tmp4_5;
tmp4_1 = _in_txt;
tmp4_2 = _in_mArg;
tmp4_3 = _in_a_prefix;
tmp4_4 = _in_a_div;
tmp4_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 tmp4;
int tmp5;
tmp4 = 0;
for (; tmp4 < 2; tmp4++) {
switch (MMC_SWITCH_CAST(tmp4)) {
case 0: {
modelica_metatype tmpMeta6;
tmpMeta6 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
_txt = tmp4_1;
_i_last_patterns = tmpMeta6;
_a_prefix = tmp4_3;
_a_div = tmp4_4;
_a_n = tmp4_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);
tmpMeta1 = omc_CodegenCFunctions_fun__1215(threadData, _txt, _str_2, _a_prefix);
goto tmp3_done;
}
case 1: {
_txt = tmp4_1;
tmpMeta1 = _txt;
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta1;
_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_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__1216(threadData, _in_txt, _in_mArg, _in_a_prefix, tmp1, tmp2);
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__1215(threadData_t *threadData, modelica_metatype _in_txt, modelica_string _in_mArg, modelica_metatype _in_a_prefix)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta1;
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_prefix;
{
modelica_metatype _txt = NULL;
modelica_metatype _a_prefix = 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_LIT96), MMC_STRINGDATA(tmp4_2)) != 0) goto tmp3_end;
_txt = tmp4_1;
_a_prefix = tmp4_3;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT107);
_txt = omc_Tpl_writeText(threadData, _txt, _a_prefix);
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT142);
goto tmp3_done;
}
case 1: {
_txt = tmp4_1;
_a_prefix = tmp4_3;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT107);
_txt = omc_Tpl_writeText(threadData, _txt, _a_prefix);
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT140);
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta1;
_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[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_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: {
modelica_metatype tmpMeta6;
modelica_metatype tmpMeta7;
modelica_metatype tmpMeta8;
modelica_metatype tmpMeta9;
modelica_metatype tmpMeta10;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,33,6) == 0) goto tmp3_end;
tmpMeta6 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
tmpMeta7 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 3));
tmpMeta8 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 4));
tmpMeta9 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 5));
tmpMeta10 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 6));
_i_exp = tmp4_2;
_i_exp_matchType = tmpMeta6;
_i_exp_inputs = tmpMeta7;
_i_inputs = tmpMeta7;
_i_aliases = tmpMeta8;
_i_localDecls = tmpMeta9;
_i_exp_cases = tmpMeta10;
_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__1201(threadData, _OMC_LIT20, _i_exp_matchType);
_l_goto = omc_Tpl_writeTok(threadData, _OMC_LIT20, _OMC_LIT144);
_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__1202(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_LIT146);
_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_LIT147);
_l_ignore3 = omc_CodegenCFunctions_lm__1204(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__1205(threadData, _OMC_LIT20, _i_exp_matchType, _l_varDeclsInner, _i_exp, _l_startIndexInputs ,&_l_varDeclsInner);
omc_CodegenCFunctions_tempDecl(threadData, _OMC_LIT20, _OMC_LIT148, _l_varDeclsInner ,&_l_varDeclsInner);
_a_preExp = omc_CodegenCFunctions_fun__1213(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__1213(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__1208(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_LIT150);
_txt = omc_CodegenCFunctions_fun__1209(threadData, _txt, _i_exp_matchType);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT152);
_txt = omc_Tpl_pushBlock(threadData, _txt, _OMC_LIT105);
_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_LIT154);
_txt = omc_Tpl_pushBlock(threadData, _txt, _OMC_LIT105);
_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__1211(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_LIT105);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT156);
_txt = omc_Tpl_writeText(threadData, _txt, _a_ix);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT158);
_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_LIT162);
_txt = omc_Tpl_writeText(threadData, _txt, _a_prefix);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT164);
_txt = omc_Tpl_writeText(threadData, _txt, _a_prefix);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT166);
_txt = omc_Tpl_popBlock(threadData, _txt);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT111);
omc_SimCodeFunctionUtil_codegenPopTryThrowIndex(threadData);
_txt = omc_Tpl_softNewLine(threadData, _txt);
_txt = omc_CodegenCFunctions_fun__1212(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_LIT167);
_txt = omc_Tpl_popBlock(threadData, _txt);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT111);
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__1212(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 tmpMeta1;
MMC_SO();
_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_matchType;
tmp4_3 = _in_a_exp_cases;
tmp4_4 = _in_a_ix;
tmp4_5 = _in_a_prefix;
tmp4_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 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_exp_cases = tmp4_3;
_a_ix = tmp4_4;
_a_prefix = tmp4_5;
_a_goto = tmp4_6;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT107);
_txt = omc_Tpl_writeText(threadData, _txt, _a_goto);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT169);
_txt = omc_Tpl_writeText(threadData, _txt, _a_prefix);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT174);
_txt = omc_Tpl_writeText(threadData, _txt, _a_ix);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT178);
_txt = omc_Tpl_writeText(threadData, _txt, _a_prefix);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT180);
_txt = omc_Tpl_writeText(threadData, _txt, _a_goto);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT187);
_txt = omc_Tpl_writeText(threadData, _txt, _a_ix);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT189);
_ret_0 = listLength(_a_exp_cases);
_txt = omc_Tpl_writeStr(threadData, _txt, intString(_ret_0));
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT191);
_txt = omc_Tpl_pushBlock(threadData, _txt, _OMC_LIT105);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT107);
_txt = omc_Tpl_writeText(threadData, _txt, _a_prefix);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT193);
_txt = omc_Tpl_popBlock(threadData, _txt);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT167);
_txt = omc_CodegenCFunctions_generateThrow(threadData, _txt);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT169);
_txt = omc_Tpl_writeText(threadData, _txt, _a_prefix);
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT195);
goto tmp3_done;
}
case 1: {
_txt = tmp4_1;
_a_prefix = tmp4_5;
_a_goto = tmp4_6;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT107);
_txt = omc_Tpl_writeText(threadData, _txt, _a_goto);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT169);
_txt = omc_Tpl_writeText(threadData, _txt, _a_goto);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT196);
_txt = omc_CodegenCFunctions_generateThrow(threadData, _txt);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT198);
_txt = omc_Tpl_writeText(threadData, _txt, _a_prefix);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT109);
_txt = omc_Tpl_writeText(threadData, _txt, _a_prefix);
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT200);
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta1;
_return: OMC_LABEL_UNUSED
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__1211(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 tmpMeta1;
MMC_SO();
_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_exp_cases;
tmp4_4 = _in_a_prefix;
tmp4_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 tmp4;
int tmp5;
tmp4 = 0;
for (; tmp4 < 2; tmp4++) {
switch (MMC_SWITCH_CAST(tmp4)) {
case 0: {
modelica_metatype tmpMeta6;
modelica_metatype tmpMeta7;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,2,1) == 0) goto tmp3_end;
tmpMeta6 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
if (optionNone(tmpMeta6)) goto tmp3_end;
tmpMeta7 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta6), 1));
_txt = tmp4_1;
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT202);
goto tmp3_done;
}
case 1: {
_txt = tmp4_1;
_i_exp_matchType = tmp4_2;
_a_exp_cases = tmp4_3;
_a_prefix = tmp4_4;
_a_ix = tmp4_5;
_txt = omc_Tpl_writeText(threadData, _txt, _a_ix);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT204);
_txt = omc_CodegenCFunctions_fun__1210(threadData, _txt, _i_exp_matchType, _a_prefix);
_txt = omc_Tpl_softNewLine(threadData, _txt);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT206);
_txt = omc_Tpl_writeText(threadData, _txt, _a_ix);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT189);
_ret_0 = listLength(_a_exp_cases);
_txt = omc_Tpl_writeStr(threadData, _txt, intString(_ret_0));
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT208);
_txt = omc_Tpl_writeText(threadData, _txt, _a_ix);
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT210);
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta1;
_return: OMC_LABEL_UNUSED
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__1210(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 tmpMeta1;
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_exp_matchType;
tmp4_3 = _in_a_prefix;
{
modelica_metatype _txt = NULL;
modelica_metatype _a_prefix = 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_prefix = tmp4_3;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT212);
_txt = omc_Tpl_writeText(threadData, _txt, _a_prefix);
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT217);
goto tmp3_done;
}
case 1: {
_txt = tmp4_1;
tmpMeta1 = _txt;
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta1;
_return: OMC_LABEL_UNUSED
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__1209(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_exp_matchType)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta1;
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_metatype tmp4_2;
tmp4_1 = _in_txt;
tmp4_2 = _in_a_exp_matchType;
{
modelica_metatype _txt = 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;
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT219);
goto tmp3_done;
}
case 5: {
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,2,1) == 0) goto tmp3_end;
_txt = tmp4_1;
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT221);
goto tmp3_done;
}
default:
tmp3_default: OMC_LABEL_UNUSED; {
_txt = tmp4_1;
tmpMeta1 = _txt;
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta1;
_return: OMC_LABEL_UNUSED
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__1208(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[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_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: {
modelica_metatype tmpMeta6;
modelica_metatype tmpMeta7;
modelica_metatype tmpMeta8;
modelica_metatype tmpMeta9;
modelica_metatype tmpMeta10;
modelica_metatype tmpMeta11;
if (listEmpty(tmp4_2)) goto tmp3_end;
tmpMeta6 = MMC_CAR(tmp4_2);
tmpMeta7 = MMC_CDR(tmp4_2);
tmpMeta8 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta6), 5));
if (listEmpty(tmpMeta7)) goto tmp3_end;
tmpMeta9 = MMC_CAR(tmpMeta7);
tmpMeta10 = MMC_CDR(tmpMeta7);
tmpMeta11 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta9), 5));
if (!listEmpty(tmpMeta10)) goto tmp3_end;
_i_try_body = tmpMeta8;
_i_else_body = tmpMeta11;
_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_LIT104);
_l_tryb = omc_CodegenCFunctions_lm__1206(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_LIT104);
_l_elseb = omc_CodegenCFunctions_lm__1207(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_LIT223);
_txt = omc_Tpl_pushBlock(threadData, _txt, _OMC_LIT105);
_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_LIT154);
_txt = omc_Tpl_pushBlock(threadData, _txt, _OMC_LIT105);
_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_LIT225);
_txt = omc_Tpl_writeText(threadData, _txt, _l_tryb);
_txt = omc_Tpl_softNewLine(threadData, _txt);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT227);
_txt = omc_Tpl_writeText(threadData, _txt, _l_elseb);
_txt = omc_Tpl_softNewLine(threadData, _txt);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT229);
_txt = omc_Tpl_popBlock(threadData, _txt);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT167);
_txt = omc_Tpl_popBlock(threadData, _txt);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT111);
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) 7487), ((modelica_integer) 18)), _OMC_LIT230);
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__1207(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[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_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: {
modelica_metatype tmpMeta6;
modelica_metatype tmpMeta7;
if (listEmpty(tmp4_2)) goto tmp3_end;
tmpMeta6 = MMC_CAR(tmp4_2);
tmpMeta7 = MMC_CDR(tmp4_2);
_i_stmt = tmpMeta6;
_rest = tmpMeta7;
_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__1206(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[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_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: {
modelica_metatype tmpMeta6;
modelica_metatype tmpMeta7;
if (listEmpty(tmp4_2)) goto tmp3_end;
tmpMeta6 = MMC_CAR(tmp4_2);
tmpMeta7 = MMC_CDR(tmp4_2);
_i_stmt = tmpMeta6;
_rest = tmpMeta7;
_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__1205(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[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_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_metatype tmpMeta6;
modelica_metatype tmpMeta7;
modelica_metatype tmpMeta8;
modelica_integer tmp9;
modelica_metatype tmpMeta10;
modelica_metatype tmpMeta11;
modelica_integer tmp12;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,2,1) == 0) goto tmp3_end;
tmpMeta6 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
if (optionNone(tmpMeta6)) goto tmp3_end;
tmpMeta7 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta6), 1));
tmpMeta8 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta7), 1));
tmp9 = mmc_unbox_integer(tmpMeta8);
tmpMeta10 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta7), 2));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta10,2,1) == 0) goto tmp3_end;
tmpMeta11 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta7), 3));
tmp12 = mmc_unbox_integer(tmpMeta11);
_i_switchIndex = tmp9;
_i_div = tmp12;
_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_LIT232);
_txt = omc_Tpl_writeText(threadData, _txt, _l_matchInputVar);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT234);
_txt = omc_Tpl_writeStr(threadData, _txt, intString(_i_div));
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT87);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_varDeclsInner;
goto tmp3_done;
}
case 1: {
modelica_metatype tmpMeta13;
modelica_metatype tmpMeta14;
modelica_metatype tmpMeta15;
modelica_integer tmp16;
modelica_metatype tmpMeta17;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,2,1) == 0) goto tmp3_end;
tmpMeta13 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
if (optionNone(tmpMeta13)) goto tmp3_end;
tmpMeta14 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta13), 1));
tmpMeta15 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta14), 1));
tmp16 = mmc_unbox_integer(tmpMeta15);
tmpMeta17 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta14), 2));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta17,25,1) == 0) goto tmp3_end;
_i_switchIndex = tmp16;
_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_LIT236);
_txt = omc_Tpl_writeText(threadData, _txt, _l_matchInputVar);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT87);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_varDeclsInner;
goto tmp3_done;
}
case 2: {
modelica_metatype tmpMeta18;
modelica_metatype tmpMeta19;
modelica_metatype tmpMeta20;
modelica_integer tmp21;
modelica_metatype tmpMeta22;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,2,1) == 0) goto tmp3_end;
tmpMeta18 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
if (optionNone(tmpMeta18)) goto tmp3_end;
tmpMeta19 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta18), 1));
tmpMeta20 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta19), 1));
tmp21 = mmc_unbox_integer(tmpMeta20);
tmpMeta22 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta19), 2));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta22,0,1) == 0) goto tmp3_end;
_i_switchIndex = tmp21;
_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: {
modelica_metatype tmpMeta23;
modelica_metatype tmpMeta24;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,2,1) == 0) goto tmp3_end;
tmpMeta23 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
if (optionNone(tmpMeta23)) goto tmp3_end;
tmpMeta24 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta23), 1));
_txt = tmp4_1;
_a_varDeclsInner = tmp4_3;
_a_exp = tmp4_4;
_txt_1 = omc_Tpl_writeTok(threadData, _OMC_LIT20, _OMC_LIT238);
_txt_1 = omc_ExpressionDumpTpl_dumpExp(threadData, _txt_1, _a_exp, _OMC_LIT239);
_txt = omc_CodegenUtil_error(threadData, _txt, omc_Tpl_sourceInfo(threadData, _OMC_LIT27, ((modelica_integer) 7459), ((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_LIT240, _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__1204(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[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_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: {
modelica_metatype tmpMeta6;
modelica_metatype tmpMeta7;
modelica_metatype tmpMeta8;
modelica_metatype tmpMeta9;
if (listEmpty(tmp4_2)) goto tmp3_end;
tmpMeta6 = MMC_CAR(tmp4_2);
tmpMeta7 = MMC_CDR(tmp4_2);
tmpMeta8 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta6), 1));
tmpMeta9 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta6), 2));
_i_e1 = tmpMeta8;
_i_alias = tmpMeta9;
_rest = tmpMeta7;
_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_LIT129);
_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_LIT113);
_a_expInput = omc_Tpl_writeTok(threadData, _a_expInput, _OMC_LIT98);
_a_expInput = omc_Tpl_pushIter(threadData, _a_expInput, _OMC_LIT104);
_a_expInput = omc_CodegenCFunctions_lm__1203(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__1203(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[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_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: {
modelica_metatype tmpMeta6;
modelica_metatype tmpMeta7;
if (listEmpty(tmp4_2)) goto tmp3_end;
tmpMeta6 = MMC_CAR(tmp4_2);
tmpMeta7 = MMC_CDR(tmp4_2);
_i_a = tmpMeta6;
_rest = tmpMeta7;
_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_LIT242);
_a_varDeclsInput = omc_Tpl_writeStr(threadData, _a_varDeclsInput, _i_a);
_a_varDeclsInput = omc_Tpl_writeTok(threadData, _a_varDeclsInput, _OMC_LIT113);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT244);
_txt = omc_Tpl_writeStr(threadData, _txt, _i_a);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT129);
_txt = omc_Tpl_writeText(threadData, _txt, _a_decl);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT113);
_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__1202(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[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_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: {
modelica_metatype tmpMeta6;
modelica_metatype tmpMeta7;
if (listEmpty(tmp4_2)) goto tmp3_end;
tmpMeta6 = MMC_CAR(tmp4_2);
tmpMeta7 = MMC_CDR(tmp4_2);
_i_var = tmpMeta6;
_rest = tmpMeta7;
_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_LIT28, _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__1201(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_exp_matchType)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta1;
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_metatype tmp4_2;
tmp4_1 = _in_txt;
tmp4_2 = _in_a_exp_matchType;
{
modelica_metatype _txt = 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 (mmc__uniontype__metarecord__typedef__equal(tmp4_2,1,0) == 0) goto tmp3_end;
_txt = tmp4_1;
tmpMeta1 = _txt;
goto tmp3_done;
}
case 1: {
_txt = tmp4_1;
_ret_0 = omc_System_tmpTick(threadData);
omc_SimCodeFunctionUtil_codegenPushTryThrowIndex(threadData, _ret_0);
tmpMeta1 = _txt;
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta1;
_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[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_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: {
modelica_metatype tmpMeta6;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,33,6) == 0) goto tmp3_end;
tmpMeta6 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 7));
_i_exp = tmp4_2;
_i_et = tmpMeta6;
_txt = tmp4_1;
_a_context = tmp4_3;
_a_preExp = tmp4_4;
_a_varDecls = tmp4_5;
_a_auxFunction = tmp4_6;
_l_res = omc_CodegenCFunctions_fun__1199(threadData, _OMC_LIT20, _i_et, _a_varDecls, _i_exp ,&_a_varDecls);
_l_startIndexOutputs = omc_Tpl_writeTok(threadData, _OMC_LIT20, _OMC_LIT246);
_txt = omc_CodegenCFunctions_daeExpMatch2(threadData, _txt, _i_exp, _OMC_LIT248, _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__1199(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[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_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_LIT250);
_txt_0 = omc_ExpressionDumpTpl_dumpExp(threadData, _txt_0, _a_exp, _OMC_LIT239);
_txt = omc_CodegenUtil_error(threadData, _txt, omc_Tpl_sourceInfo(threadData, _OMC_LIT27, ((modelica_integer) 7412), ((modelica_integer) 37)), omc_Tpl_textString(threadData, _txt_0));
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_varDecls;
goto tmp3_done;
}
case 1: {
modelica_metatype tmpMeta6;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,14,2) == 0) goto tmp3_end;
tmpMeta6 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
if (!listEmpty(tmpMeta6)) goto tmp3_end;
_txt = tmp4_1;
_a_varDecls = tmp4_3;
_a_exp = tmp4_4;
_txt_1 = omc_Tpl_writeTok(threadData, _OMC_LIT20, _OMC_LIT252);
_txt_1 = omc_ExpressionDumpTpl_dumpExp(threadData, _txt_1, _a_exp, _OMC_LIT239);
_txt = omc_CodegenUtil_error(threadData, _txt, omc_Tpl_sourceInfo(threadData, _OMC_LIT27, ((modelica_integer) 7413), ((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[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_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_32 = NULL;
modelica_integer _ret_31;
modelica_metatype _ret_30 = NULL;
modelica_metatype _ret_29 = NULL;
modelica_metatype _ret_28 = NULL;
modelica_metatype _ret_27 = NULL;
modelica_integer _ret_26;
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_19 = NULL;
modelica_metatype _l_bodyExprType = NULL;
modelica_metatype _ret_17 = NULL;
modelica_metatype _l_reductionBodyExpr = NULL;
modelica_metatype _l_sub_1 = 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 _l_sub = NULL;
modelica_metatype _ret_7 = 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: {
modelica_metatype tmpMeta6;
modelica_metatype tmpMeta7;
modelica_metatype tmpMeta8;
modelica_metatype tmpMeta9;
modelica_metatype tmpMeta10;
modelica_metatype tmpMeta11;
modelica_metatype tmpMeta12;
modelica_metatype tmpMeta13;
modelica_metatype tmpMeta14;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,27,3) == 0) goto tmp3_end;
tmpMeta6 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
tmpMeta7 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta6), 2));
tmpMeta8 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta6), 3));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta8,1,0) == 0) goto tmp3_end;
tmpMeta9 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta6), 5));
tmpMeta10 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta6), 6));
tmpMeta11 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta6), 7));
tmpMeta12 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta6), 8));
tmpMeta13 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 3));
tmpMeta14 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 4));
_i_r = tmp4_2;
_i_ri_path = tmpMeta7;
_i_ri_defaultValue = tmpMeta9;
_i_ri_foldName = tmpMeta10;
_i_ri_resultName = tmpMeta11;
_i_ri_foldExp = tmpMeta12;
_i_r_expr = tmpMeta13;
_i_iterators = tmpMeta14;
_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__1082(threadData, _OMC_LIT20, _i_ri_path, _l_tmpVarDecls ,&_l_tmpVarDecls);
_l_foundFirst = omc_CodegenCFunctions_fun__1084(threadData, _OMC_LIT20, _i_ri_path, _l_tmpVarDecls, _i_ri_defaultValue ,&_l_tmpVarDecls);
_ret_7 = omc_Expression_typeof(threadData, _i_r);
_l_resType = omc_CodegenCFunctions_expTypeArrayIf(threadData, _OMC_LIT20, _ret_7);
_l_sub = _OMC_LIT20;
_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, _l_sub ,&_a_preExp ,&_a_varDecls ,&_a_auxFunction ,&_l_sub);
_l_tmpVarDecls = omc_Tpl_writeText(threadData, _l_tmpVarDecls, _l_resType);
_l_tmpVarDecls = omc_Tpl_writeTok(threadData, _l_tmpVarDecls, _OMC_LIT34);
_l_tmpVarDecls = omc_Tpl_writeText(threadData, _l_tmpVarDecls, _l_res);
_l_tmpVarDecls = omc_Tpl_writeTok(threadData, _l_tmpVarDecls, _OMC_LIT113);
_l_tmpVarDecls = omc_Tpl_writeTok(threadData, _l_tmpVarDecls, _OMC_LIT98);
_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__1085(threadData, _OMC_LIT20, _i_ri_path, _l_tmpVarDecls ,&_l_tmpVarDecls);
_l_defaultValue = omc_CodegenCFunctions_fun__1087(threadData, _OMC_LIT20, _i_ri_path, _a_auxFunction, _l_tmpVarDecls, _l_preDefault, _a_context, _i_ri_defaultValue ,&_a_auxFunction ,&_l_tmpVarDecls ,&_l_preDefault);
_l_sub_1 = _OMC_LIT20;
_ret_17 = omc_ComponentReference_makeUntypedCrefIdent(threadData, _i_ri_foldName);
_l_reductionBodyExpr = omc_CodegenCFunctions_contextCref(threadData, _OMC_LIT20, _ret_17, _a_context, _a_preExp, _a_varDecls, _a_auxFunction, _l_sub_1 ,&_a_preExp ,&_a_varDecls ,&_a_auxFunction ,&_l_sub_1);
_ret_19 = omc_Expression_typeof(threadData, _i_r_expr);
_l_bodyExprType = omc_CodegenCFunctions_expTypeArrayIf(threadData, _OMC_LIT20, _ret_19);
_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_LIT34);
_l_tmpVarDecls = omc_Tpl_writeText(threadData, _l_tmpVarDecls, _l_reductionBodyExpr);
_l_tmpVarDecls = omc_Tpl_writeTok(threadData, _l_tmpVarDecls, _OMC_LIT113);
_l_tmpVarDecls = omc_Tpl_writeTok(threadData, _l_tmpVarDecls, _OMC_LIT98);
_l_bodyExpPre = omc_Tpl_writeText(threadData, _l_bodyExpPre, _l_reductionBodyExpr);
_l_bodyExpPre = omc_Tpl_writeTok(threadData, _l_bodyExpPre, _OMC_LIT129);
_l_bodyExpPre = omc_Tpl_writeText(threadData, _l_bodyExpPre, _l_reductionBodyExprWork);
_l_bodyExpPre = omc_Tpl_writeTok(threadData, _l_bodyExpPre, _OMC_LIT113);
_l_bodyExpPre = omc_Tpl_writeTok(threadData, _l_bodyExpPre, _OMC_LIT98);
_l_foldExp = omc_CodegenCFunctions_fun__1092(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_LIT253, _l_tmpVarDecls ,&_l_tmpVarDecls);
_l_loopHeadIter = omc_CodegenCFunctions_lm__1126(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__1135(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_LIT255);
_l_loop = omc_Tpl_pushBlock(threadData, _l_loop, _OMC_LIT105);
_l_loop = omc_Tpl_writeText(threadData, _l_loop, _l_endLoop);
_l_loop = omc_Tpl_writeTok(threadData, _l_loop, _OMC_LIT129);
_ret_26 = listLength(_i_iterators);
_l_loop = omc_Tpl_writeStr(threadData, _l_loop, intString(_ret_26));
_l_loop = omc_Tpl_writeTok(threadData, _l_loop, _OMC_LIT169);
_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_LIT257);
_l_loop = omc_Tpl_writeText(threadData, _l_loop, _l_endLoop);
_l_loop = omc_Tpl_writeTok(threadData, _l_loop, _OMC_LIT259);
_l_loop = omc_Tpl_pushBlock(threadData, _l_loop, _OMC_LIT105);
_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_LIT261);
_l_loop = omc_CodegenCFunctions_fun__1136(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_LIT111);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT154);
_a_preExp = omc_Tpl_pushBlock(threadData, _a_preExp, _OMC_LIT105);
_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__1137(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__1138(threadData, _a_preExp, _l_foundFirst);
_a_preExp = omc_Tpl_softNewLine(threadData, _a_preExp);
_a_preExp = omc_CodegenCFunctions_fun__1139(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_LIT129);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _l_res);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT169);
_a_preExp = omc_Tpl_popBlock(threadData, _a_preExp);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT111);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT98);
_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: {
modelica_metatype tmpMeta15;
modelica_metatype tmpMeta16;
modelica_metatype tmpMeta17;
modelica_metatype tmpMeta18;
modelica_metatype tmpMeta19;
modelica_metatype tmpMeta20;
modelica_metatype tmpMeta21;
modelica_metatype tmpMeta22;
modelica_metatype tmpMeta23;
modelica_metatype tmpMeta24;
modelica_metatype tmpMeta25;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,27,3) == 0) goto tmp3_end;
tmpMeta15 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
tmpMeta16 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta15), 2));
tmpMeta17 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta15), 3));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta17,0,0) == 0) goto tmp3_end;
tmpMeta18 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta15), 5));
tmpMeta19 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta15), 6));
tmpMeta20 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta15), 7));
tmpMeta21 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta15), 8));
tmpMeta22 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 3));
tmpMeta23 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 4));
if (listEmpty(tmpMeta23)) goto tmp3_end;
tmpMeta24 = MMC_CAR(tmpMeta23);
tmpMeta25 = MMC_CDR(tmpMeta23);
if (!listEmpty(tmpMeta25)) goto tmp3_end;
_i_r = tmp4_2;
_i_ri_path = tmpMeta16;
_i_ri_defaultValue = tmpMeta18;
_i_ri_foldName = tmpMeta19;
_i_ri_resultName = tmpMeta20;
_i_ri_foldExp = tmpMeta21;
_i_r_expr = tmpMeta22;
_i_iterators = tmpMeta23;
_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__1140(threadData, _OMC_LIT20, _i_ri_path, _l_tmpVarDecls ,&_l_tmpVarDecls);
_l_foundFirst = omc_CodegenCFunctions_fun__1142(threadData, _OMC_LIT20, _i_ri_path, _l_tmpVarDecls, _i_ri_defaultValue ,&_l_tmpVarDecls);
_ret_27 = omc_Expression_typeof(threadData, _i_r);
_l_resType = omc_CodegenCFunctions_expTypeArrayIf(threadData, _OMC_LIT20, _ret_27);
_l_sub = _OMC_LIT20;
_ret_28 = omc_ComponentReference_makeUntypedCrefIdent(threadData, _i_ri_resultName);
_l_res = omc_CodegenCFunctions_contextCref(threadData, _OMC_LIT20, _ret_28, _a_context, _a_preExp, _a_varDecls, _a_auxFunction, _l_sub ,&_a_preExp ,&_a_varDecls ,&_a_auxFunction ,&_l_sub);
_l_tmpVarDecls = omc_Tpl_writeText(threadData, _l_tmpVarDecls, _l_resType);
_l_tmpVarDecls = omc_Tpl_writeTok(threadData, _l_tmpVarDecls, _OMC_LIT34);
_l_tmpVarDecls = omc_Tpl_writeText(threadData, _l_tmpVarDecls, _l_res);
_l_tmpVarDecls = omc_Tpl_writeTok(threadData, _l_tmpVarDecls, _OMC_LIT113);
_l_tmpVarDecls = omc_Tpl_writeTok(threadData, _l_tmpVarDecls, _OMC_LIT98);
_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__1143(threadData, _OMC_LIT20, _i_ri_path, _l_tmpVarDecls ,&_l_tmpVarDecls);
_l_defaultValue = omc_CodegenCFunctions_fun__1145(threadData, _OMC_LIT20, _i_ri_path, _a_auxFunction, _l_tmpVarDecls, _l_preDefault, _a_context, _i_ri_defaultValue ,&_a_auxFunction ,&_l_tmpVarDecls ,&_l_preDefault);
_l_sub_1 = _OMC_LIT20;
_ret_29 = omc_ComponentReference_makeUntypedCrefIdent(threadData, _i_ri_foldName);
_l_reductionBodyExpr = omc_CodegenCFunctions_contextCref(threadData, _OMC_LIT20, _ret_29, _a_context, _a_preExp, _a_varDecls, _a_auxFunction, _l_sub_1 ,&_a_preExp ,&_a_varDecls ,&_a_auxFunction ,&_l_sub_1);
_ret_30 = omc_Expression_typeof(threadData, _i_r_expr);
_l_bodyExprType = omc_CodegenCFunctions_expTypeArrayIf(threadData, _OMC_LIT20, _ret_30);
_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_LIT34);
_l_tmpVarDecls = omc_Tpl_writeText(threadData, _l_tmpVarDecls, _l_reductionBodyExpr);
_l_tmpVarDecls = omc_Tpl_writeTok(threadData, _l_tmpVarDecls, _OMC_LIT113);
_l_tmpVarDecls = omc_Tpl_writeTok(threadData, _l_tmpVarDecls, _OMC_LIT98);
_l_bodyExpPre = omc_Tpl_writeText(threadData, _l_bodyExpPre, _l_reductionBodyExpr);
_l_bodyExpPre = omc_Tpl_writeTok(threadData, _l_bodyExpPre, _OMC_LIT129);
_l_bodyExpPre = omc_Tpl_writeText(threadData, _l_bodyExpPre, _l_reductionBodyExprWork);
_l_bodyExpPre = omc_Tpl_writeTok(threadData, _l_bodyExpPre, _OMC_LIT113);
_l_bodyExpPre = omc_Tpl_writeTok(threadData, _l_bodyExpPre, _OMC_LIT98);
_l_foldExp = omc_CodegenCFunctions_fun__1150(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_LIT253, _l_tmpVarDecls ,&_l_tmpVarDecls);
_l_loopHeadIter = omc_CodegenCFunctions_lm__1184(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__1193(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_LIT255);
_l_loop = omc_Tpl_pushBlock(threadData, _l_loop, _OMC_LIT105);
_l_loop = omc_Tpl_writeText(threadData, _l_loop, _l_endLoop);
_l_loop = omc_Tpl_writeTok(threadData, _l_loop, _OMC_LIT129);
_ret_31 = listLength(_i_iterators);
_l_loop = omc_Tpl_writeStr(threadData, _l_loop, intString(_ret_31));
_l_loop = omc_Tpl_writeTok(threadData, _l_loop, _OMC_LIT169);
_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_LIT257);
_l_loop = omc_Tpl_writeText(threadData, _l_loop, _l_endLoop);
_l_loop = omc_Tpl_writeTok(threadData, _l_loop, _OMC_LIT259);
_l_loop = omc_Tpl_pushBlock(threadData, _l_loop, _OMC_LIT105);
_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_LIT261);
_l_loop = omc_CodegenCFunctions_fun__1194(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_LIT111);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT154);
_a_preExp = omc_Tpl_pushBlock(threadData, _a_preExp, _OMC_LIT105);
_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__1195(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__1196(threadData, _a_preExp, _l_foundFirst);
_a_preExp = omc_Tpl_softNewLine(threadData, _a_preExp);
_a_preExp = omc_CodegenCFunctions_fun__1197(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_LIT129);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _l_res);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT169);
_a_preExp = omc_Tpl_popBlock(threadData, _a_preExp);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT111);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT98);
_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_32 = omc_Tpl_writeTok(threadData, _OMC_LIT20, _OMC_LIT263);
_txt_32 = omc_ExpressionDumpTpl_dumpExp(threadData, _txt_32, _i_exp, _OMC_LIT239);
_txt = omc_CodegenUtil_error(threadData, _txt, omc_Tpl_sourceInfo(threadData, _OMC_LIT27, ((modelica_integer) 7403), ((modelica_integer) 14)), omc_Tpl_textString(threadData, _txt_32));
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__1197(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_resTail)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta1;
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_metatype tmp4_2;
tmp4_1 = _in_txt;
tmp4_2 = _in_a_resTail;
{
modelica_metatype _txt = NULL;
modelica_metatype _i_resTail = NULL;
volatile mmc_switch_type tmp4;
int tmp5;
tmp4 = 0;
for (; tmp4 < 2; tmp4++) {
switch (MMC_SWITCH_CAST(tmp4)) {
case 0: {
modelica_metatype tmpMeta6;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,0,2) == 0) goto tmp3_end;
tmpMeta6 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
if (!listEmpty(tmpMeta6)) goto tmp3_end;
_txt = tmp4_1;
tmpMeta1 = _txt;
goto tmp3_done;
}
case 1: {
_txt = tmp4_1;
_i_resTail = tmp4_2;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT265);
_txt = omc_Tpl_writeText(threadData, _txt, _i_resTail);
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT267);
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta1;
_return: OMC_LABEL_UNUSED
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__1196(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_foundFirst)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta1;
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_metatype tmp4_2;
tmp4_1 = _in_txt;
tmp4_2 = _in_a_foundFirst;
{
modelica_metatype _txt = NULL;
modelica_metatype _i_foundFirst = NULL;
volatile mmc_switch_type tmp4;
int tmp5;
tmp4 = 0;
for (; tmp4 < 2; tmp4++) {
switch (MMC_SWITCH_CAST(tmp4)) {
case 0: {
modelica_metatype tmpMeta6;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,0,2) == 0) goto tmp3_end;
tmpMeta6 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
if (!listEmpty(tmpMeta6)) goto tmp3_end;
_txt = tmp4_1;
tmpMeta1 = _txt;
goto tmp3_done;
}
case 1: {
_txt = tmp4_1;
_i_foundFirst = tmp4_2;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT268);
_txt = omc_Tpl_writeText(threadData, _txt, _i_foundFirst);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT138);
_txt = omc_CodegenCFunctions_generateThrow(threadData, _txt);
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT113);
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta1;
_return: OMC_LABEL_UNUSED
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__1195(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_resTail, modelica_metatype _in_a_res)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta1;
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_resTail;
tmp4_3 = _in_a_res;
{
modelica_metatype _txt = NULL;
modelica_metatype _a_res = NULL;
modelica_metatype _i_resTail = NULL;
volatile mmc_switch_type tmp4;
int tmp5;
tmp4 = 0;
for (; tmp4 < 2; tmp4++) {
switch (MMC_SWITCH_CAST(tmp4)) {
case 0: {
modelica_metatype tmpMeta6;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,0,2) == 0) goto tmp3_end;
tmpMeta6 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
if (!listEmpty(tmpMeta6)) goto tmp3_end;
_txt = tmp4_1;
tmpMeta1 = _txt;
goto tmp3_done;
}
case 1: {
_txt = tmp4_1;
_i_resTail = tmp4_2;
_a_res = tmp4_3;
_txt = omc_Tpl_writeText(threadData, _txt, _i_resTail);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT270);
_txt = omc_Tpl_writeText(threadData, _txt, _a_res);
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT113);
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta1;
_return: OMC_LABEL_UNUSED
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__1194(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_iterators, modelica_metatype _in_a_endLoop)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta1;
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_iterators;
tmp4_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 tmp4;
int tmp5;
tmp4 = 0;
for (; tmp4 < 2; tmp4++) {
switch (MMC_SWITCH_CAST(tmp4)) {
case 0: {
modelica_metatype tmpMeta6;
modelica_metatype tmpMeta7;
if (listEmpty(tmp4_2)) goto tmp3_end;
tmpMeta6 = MMC_CAR(tmp4_2);
tmpMeta7 = MMC_CDR(tmp4_2);
_i_iterators = tmp4_2;
_txt = tmp4_1;
_a_endLoop = tmp4_3;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT272);
_txt = omc_Tpl_writeText(threadData, _txt, _a_endLoop);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT274);
_ret_0 = listLength(_i_iterators);
_txt = omc_Tpl_writeStr(threadData, _txt, intString(_ret_0));
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT280);
_txt = omc_Tpl_pushBlock(threadData, _txt, _OMC_LIT105);
_txt = omc_CodegenCFunctions_generateThrow(threadData, _txt);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT169);
_txt = omc_Tpl_popBlock(threadData, _txt);
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT111);
goto tmp3_done;
}
case 1: {
_txt = tmp4_1;
tmpMeta1 = _txt;
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta1;
_return: OMC_LABEL_UNUSED
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__1193(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[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_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: {
modelica_metatype tmpMeta6;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,1,1) == 0) goto tmp3_end;
tmpMeta6 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
if (5 != MMC_STRLEN(tmpMeta6) || strcmp(MMC_STRINGDATA(_OMC_LIT285), MMC_STRINGDATA(tmpMeta6)) != 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_LIT253, _a_tmpVarDecls ,&_a_tmpVarDecls);
_a_rangeExpPre = omc_Tpl_writeText(threadData, _a_rangeExpPre, _l_length);
_a_rangeExpPre = omc_Tpl_writeTok(threadData, _a_rangeExpPre, _OMC_LIT282);
_a_rangeExpPre = omc_Tpl_writeTok(threadData, _a_rangeExpPre, _OMC_LIT98);
omc_CodegenCFunctions_lm__1188(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_LIT284);
_ret_2 = omc_Expression_typeof(threadData, _a_r_expr);
_txt = omc_CodegenCFunctions_fun__1191(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__1192(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__1192(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 tmpMeta1;
MMC_SO();
_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_foundFirst;
tmp4_3 = _in_a_ri_path;
tmp4_4 = _in_a_defaultValue;
tmp4_5 = _in_a_res;
tmp4_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 tmp4;
int tmp5;
tmp4 = 0;
for (; tmp4 < 2; tmp4++) {
switch (MMC_SWITCH_CAST(tmp4)) {
case 0: {
modelica_metatype tmpMeta6;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,0,2) == 0) goto tmp3_end;
tmpMeta6 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
if (!listEmpty(tmpMeta6)) goto tmp3_end;
_txt = tmp4_1;
_a_defaultValue = tmp4_4;
_a_res = tmp4_5;
_a_preDefault = tmp4_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_LIT129);
_txt = omc_Tpl_writeText(threadData, _txt, _a_defaultValue);
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT287);
goto tmp3_done;
}
case 1: {
_txt = tmp4_1;
_i_foundFirst = tmp4_2;
_a_ri_path = tmp4_3;
_txt = omc_Tpl_writeText(threadData, _txt, _i_foundFirst);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT289);
_txt = omc_CodegenUtil_dotPath(threadData, _txt, _a_ri_path);
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT291);
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta1;
_return: OMC_LABEL_UNUSED
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__1191(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[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_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: {
modelica_metatype tmpMeta5;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,9,3) == 0) goto tmp3_end;
tmpMeta5 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
_i_record__state = tmpMeta5;
_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_LIT293);
_txt = omc_Tpl_writeText(threadData, _txt, _a_res);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT295);
_txt = omc_Tpl_writeText(threadData, _txt, _l_rec__name);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT297);
_txt = omc_Tpl_writeText(threadData, _txt, _a_length);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT299);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_auxFunction;
tmpMeta[0+2] = _a_tmpVarDecls;
tmpMeta[0+3] = _a_rangeExpPre;
goto tmp3_done;
}
case 9: {
modelica_metatype tmpMeta6;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,6,2) == 0) goto tmp3_end;
tmpMeta6 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 3));
_i_dims = tmpMeta6;
_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_LIT303);
_l_dimSizes = omc_CodegenCFunctions_lm__1190(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_LIT305);
_txt = omc_Tpl_writeText(threadData, _txt, _a_arrayTypeResult);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT307);
_txt = omc_Tpl_writeText(threadData, _txt, _a_res);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT301);
_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_LIT301);
_txt = omc_Tpl_writeText(threadData, _txt, _a_length);
_txt = omc_Tpl_writeText(threadData, _txt, _l_dimSizes);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT299);
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_LIT309);
_txt = omc_Tpl_writeText(threadData, _txt, _a_arrayTypeResult);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT307);
_txt = omc_Tpl_writeText(threadData, _txt, _a_res);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT234);
_txt = omc_Tpl_writeText(threadData, _txt, _a_length);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT299);
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__1190(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[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_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: {
modelica_metatype tmpMeta6;
modelica_metatype tmpMeta7;
if (listEmpty(tmp4_2)) goto tmp3_end;
tmpMeta6 = MMC_CAR(tmp4_2);
tmpMeta7 = MMC_CDR(tmp4_2);
_i_dim = tmpMeta6;
_rest = tmpMeta7;
_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__1189(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__1189(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[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_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_metatype tmpMeta5;
modelica_integer tmp6;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,0,1) == 0) goto tmp3_end;
tmpMeta5 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
tmp6 = mmc_unbox_integer(tmpMeta5);
_i_integer = tmp6;
_txt = tmp4_1;
_a_auxFunction = tmp4_4;
_a_tmpVarDecls = tmp4_5;
_a_rangeExpPre = tmp4_6;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT311);
_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_LIT313);
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_metatype tmpMeta7;
modelica_integer tmp8;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,2,3) == 0) goto tmp3_end;
tmpMeta7 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 4));
tmp8 = mmc_unbox_integer(tmpMeta7);
_i_size = tmp8;
_txt = tmp4_1;
_a_auxFunction = tmp4_4;
_a_tmpVarDecls = tmp4_5;
_a_rangeExpPre = tmp4_6;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT311);
_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: {
modelica_metatype tmpMeta9;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,3,1) == 0) goto tmp3_end;
tmpMeta9 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
_i_e = tmpMeta9;
_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_LIT311);
_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_LIT315);
_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_LIT317);
_txt_0 = omc_ExpressionDumpTpl_dumpExp(threadData, _txt_0, _a_r_expr, _OMC_LIT239);
_txt = omc_CodegenUtil_error(threadData, _txt, omc_Tpl_sourceInfo(threadData, _OMC_LIT27, ((modelica_integer) 7355), ((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__1188(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[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_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: {
modelica_metatype tmpMeta6;
modelica_metatype tmpMeta7;
modelica_metatype tmpMeta8;
modelica_metatype tmpMeta9;
if (listEmpty(tmp4_2)) goto tmp3_end;
tmpMeta6 = MMC_CAR(tmp4_2);
tmpMeta7 = MMC_CDR(tmp4_2);
tmpMeta8 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta6), 2));
tmpMeta9 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta6), 3));
_i_iter_id = tmpMeta8;
_i_iter_exp = tmpMeta9;
_rest = tmpMeta7;
_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_LIT319);
_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_LIT321);
_a_rangeExpPre = omc_Tpl_writeText(threadData, _a_rangeExpPre, _a_length);
_a_rangeExpPre = omc_Tpl_writeTok(threadData, _a_rangeExpPre, _OMC_LIT234);
_str_3 = omc_Tpl_textString(threadData, _l_identType);
_a_rangeExpPre = omc_CodegenCFunctions_fun__1187(threadData, _a_rangeExpPre, _str_3, _l_iteratorName, _l_loopVar, _i_iter_exp);
_a_rangeExpPre = omc_Tpl_writeTok(threadData, _a_rangeExpPre, _OMC_LIT299);
_a_rangeExpPre = omc_Tpl_writeTok(threadData, _a_rangeExpPre, _OMC_LIT98);
_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: {
modelica_metatype tmpMeta10;
modelica_metatype tmpMeta11;
if (listEmpty(tmp4_2)) goto tmp3_end;
tmpMeta10 = MMC_CAR(tmp4_2);
tmpMeta11 = MMC_CDR(tmp4_2);
_rest = tmpMeta11;
_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__1187(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 tmpMeta1;
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_iteratorName;
tmp4_4 = _in_a_loopVar;
tmp4_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 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_LIT322), MMC_STRINGDATA(tmp4_2)) != 0) goto tmp3_end;
_txt = tmp4_1;
_a_loopVar = tmp4_4;
_a_iter_exp = tmp4_5;
_ret_0 = omc_Expression_isMetaArray(threadData, _a_iter_exp);
tmpMeta1 = omc_CodegenCFunctions_fun__1185(threadData, _txt, _ret_0, _a_loopVar);
goto tmp3_done;
}
case 1: {
_txt = tmp4_1;
_a_iteratorName = tmp4_3;
_a_loopVar = tmp4_4;
_a_iter_exp = tmp4_5;
tmpMeta1 = omc_CodegenCFunctions_fun__1186(threadData, _txt, _a_iter_exp, _a_loopVar, _a_iteratorName);
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta1;
_return: OMC_LABEL_UNUSED
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__1186(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 tmpMeta1;
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_loopVar;
tmp4_4 = _in_a_iteratorName;
{
modelica_metatype _txt = NULL;
modelica_metatype _a_loopVar = NULL;
modelica_metatype _a_iteratorName = 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_iteratorName = tmp4_4;
_txt = omc_Tpl_writeText(threadData, _txt, _a_iteratorName);
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT324);
goto tmp3_done;
}
case 1: {
_txt = tmp4_1;
_a_loopVar = tmp4_3;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT326);
_txt = omc_Tpl_writeText(threadData, _txt, _a_loopVar);
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT328);
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta1;
_return: OMC_LABEL_UNUSED
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__1185(threadData_t *threadData, modelica_metatype _in_txt, modelica_boolean _in_mArg, modelica_metatype _in_a_loopVar)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta1;
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_loopVar;
{
modelica_metatype _txt = NULL;
modelica_metatype _a_loopVar = 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_loopVar = tmp4_3;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT330);
_txt = omc_Tpl_writeText(threadData, _txt, _a_loopVar);
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT87);
goto tmp3_done;
}
case 1: {
_txt = tmp4_1;
_a_loopVar = tmp4_3;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT332);
_txt = omc_Tpl_writeText(threadData, _txt, _a_loopVar);
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT87);
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta1;
_return: OMC_LABEL_UNUSED
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__1185(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__1185(threadData, _in_txt, tmp1, _in_a_loopVar);
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_lm__1184(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[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_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: {
modelica_metatype tmpMeta6;
modelica_metatype tmpMeta7;
modelica_metatype tmpMeta8;
modelica_metatype tmpMeta9;
modelica_metatype tmpMeta10;
modelica_metatype tmpMeta11;
if (listEmpty(tmp4_2)) goto tmp3_end;
tmpMeta6 = MMC_CAR(tmp4_2);
tmpMeta7 = MMC_CDR(tmp4_2);
tmpMeta8 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta6), 2));
tmpMeta9 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta6), 3));
tmpMeta10 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta6), 4));
tmpMeta11 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta6), 5));
_i_iter_id = tmpMeta8;
_i_iter_exp = tmpMeta9;
_i_iter_guardExp = tmpMeta10;
_i_iter_ty = tmpMeta11;
_rest = tmpMeta7;
_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__1151(threadData, _OMC_LIT20, _i_iter_exp, _l_iteratorName);
_l_stepVar = omc_CodegenCFunctions_fun__1152(threadData, _OMC_LIT20, _i_iter_exp, _a_tmpVarDecls, _l_identType ,&_a_tmpVarDecls);
_l_stopVar = omc_CodegenCFunctions_fun__1153(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__1155(threadData, _a_tmpVarDecls, _str_7, _l_arrayType, _i_iter_exp, _l_loopVar);
_l_firstIndex = omc_CodegenCFunctions_fun__1158(threadData, _OMC_LIT20, _i_iter_exp, _a_tmpVarDecls, _l_identType ,&_a_tmpVarDecls);
_l_rangeExpStep = omc_CodegenCFunctions_fun__1159(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__1160(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__1161(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__1162(threadData, _a_rangeExpPre, _l_rangeExpStep, _l_stepVar);
_a_rangeExpPre = omc_CodegenCFunctions_fun__1163(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_LIT129);
_a_rangeExpPre = omc_Tpl_writeText(threadData, _a_rangeExpPre, _l_rangeExp);
_a_rangeExpPre = omc_Tpl_writeTok(threadData, _a_rangeExpPre, _OMC_LIT113);
_a_rangeExpPre = omc_Tpl_writeTok(threadData, _a_rangeExpPre, _OMC_LIT98);
_a_rangeExpPre = omc_CodegenCFunctions_fun__1165(threadData, _a_rangeExpPre, _l_rangeExpStop, _i_iter_exp, _l_stepVar);
_l_isArrayWithLength = omc_CodegenCFunctions_fun__1167(threadData, _OMC_LIT20, _l_rangeExpStop, _a_ri_path);
_a_tmpVarDecls = omc_CodegenCFunctions_fun__1168(threadData, _a_tmpVarDecls, _l_isArrayWithLength, _l_iteratorName);
_a_rangeExpPre = omc_CodegenCFunctions_fun__1170(threadData, _a_rangeExpPre, _i_iter_exp, _l_firstIndex);
_l_guardCond = omc_CodegenCFunctions_fun__1171(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_LIT34);
_a_tmpVarDecls = omc_Tpl_writeText(threadData, _a_tmpVarDecls, _l_iteratorName);
_a_tmpVarDecls = omc_Tpl_writeTok(threadData, _a_tmpVarDecls, _OMC_LIT113);
_a_tmpVarDecls = omc_Tpl_writeTok(threadData, _a_tmpVarDecls, _OMC_LIT98);
_a_rangeExpPre = omc_CodegenCFunctions_fun__1173(threadData, _a_rangeExpPre, _l_isArrayWithLength, _l_stepVar, _l_firstIndex, _l_stopVar, _l_iteratorName);
_a_rangeExpPre = omc_CodegenCFunctions_fun__1174(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_LIT257);
_l_guardExp = omc_Tpl_writeText(threadData, _l_guardExp, _l_guardCond);
_l_guardExp = omc_Tpl_writeTok(threadData, _l_guardExp, _OMC_LIT191);
_l_guardExp = omc_Tpl_pushBlock(threadData, _l_guardExp, _OMC_LIT105);
_l_guardExp = omc_Tpl_writeText(threadData, _l_guardExp, _a_endLoop);
_l_guardExp = omc_Tpl_writeTok(threadData, _l_guardExp, _OMC_LIT337);
_l_guardExp = omc_Tpl_popBlock(threadData, _l_guardExp);
_l_guardExp = omc_Tpl_writeTok(threadData, _l_guardExp, _OMC_LIT111);
_str_15 = omc_Tpl_textString(threadData, _l_identType);
_txt = omc_CodegenCFunctions_fun__1183(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: {
modelica_metatype tmpMeta12;
modelica_metatype tmpMeta13;
if (listEmpty(tmp4_2)) goto tmp3_end;
tmpMeta12 = MMC_CAR(tmp4_2);
tmpMeta13 = MMC_CDR(tmp4_2);
_rest = tmpMeta13;
_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__1183(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 tmpMeta1;
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;modelica_metatype tmp4_11;modelica_metatype tmp4_12;modelica_metatype tmp4_13;
tmp4_1 = _in_txt;
tmp4_2 = _in_mArg;
tmp4_3 = _in_a_arrayType;
tmp4_4 = _in_a_iter_ty;
tmp4_5 = _in_a_stopVar;
tmp4_6 = _in_a_stepVar;
tmp4_7 = _in_a_firstIndex;
tmp4_8 = _in_a_endLoop;
tmp4_9 = _in_a_guardExp;
tmp4_10 = _in_a_iteratorName;
tmp4_11 = _in_a_loopVar;
tmp4_12 = _in_a_guardCond;
tmp4_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 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_LIT322), MMC_STRINGDATA(tmp4_2)) != 0) goto tmp3_end;
_txt = tmp4_1;
_a_firstIndex = tmp4_7;
_a_endLoop = tmp4_8;
_a_guardExp = tmp4_9;
_a_iteratorName = tmp4_10;
_a_loopVar = tmp4_11;
_a_guardCond = tmp4_12;
_a_iter_exp = tmp4_13;
_ret_0 = omc_Expression_isMetaArray(threadData, _a_iter_exp);
tmpMeta1 = omc_CodegenCFunctions_fun__1177(threadData, _txt, _ret_0, _a_firstIndex, _a_endLoop, _a_guardExp, _a_iteratorName, _a_loopVar, _a_guardCond);
goto tmp3_done;
}
case 1: {
_txt = tmp4_1;
_a_arrayType = tmp4_3;
_a_iter_ty = tmp4_4;
_a_stopVar = tmp4_5;
_a_stepVar = tmp4_6;
_a_firstIndex = tmp4_7;
_a_endLoop = tmp4_8;
_a_guardExp = tmp4_9;
_a_iteratorName = tmp4_10;
_a_loopVar = tmp4_11;
_a_guardCond = tmp4_12;
_a_iter_exp = tmp4_13;
tmpMeta1 = omc_CodegenCFunctions_fun__1182(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 tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta1;
_return: OMC_LABEL_UNUSED
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__1182(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 tmpMeta1;
MMC_SO();
_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_iter_exp;
tmp4_3 = _in_a_arrayType;
tmp4_4 = _in_a_firstIndex;
tmp4_5 = _in_a_loopVar;
tmp4_6 = _in_a_iter_ty;
tmp4_7 = _in_a_endLoop;
tmp4_8 = _in_a_guardExp;
tmp4_9 = _in_a_stopVar;
tmp4_10 = _in_a_iteratorName;
tmp4_11 = _in_a_stepVar;
tmp4_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 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_endLoop = tmp4_7;
_a_guardExp = tmp4_8;
_a_stopVar = tmp4_9;
_a_iteratorName = tmp4_10;
_a_stepVar = tmp4_11;
_a_guardCond = tmp4_12;
_ret_0 = (stringEqual(omc_Tpl_textString(threadData, _a_guardCond), _OMC_LIT28));
_txt = omc_CodegenCFunctions_fun__1178(threadData, _txt, _ret_0);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT339);
_txt = omc_Tpl_writeText(threadData, _txt, _a_stepVar);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT341);
_txt = omc_Tpl_writeText(threadData, _txt, _a_iteratorName);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT343);
_txt = omc_Tpl_writeText(threadData, _txt, _a_stepVar);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT345);
_txt = omc_Tpl_writeText(threadData, _txt, _a_stopVar);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT347);
_txt = omc_Tpl_writeText(threadData, _txt, _a_iteratorName);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT343);
_txt = omc_Tpl_writeText(threadData, _txt, _a_stepVar);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT349);
_txt = omc_Tpl_writeText(threadData, _txt, _a_stopVar);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT191);
_txt = omc_Tpl_pushBlock(threadData, _txt, _OMC_LIT105);
_txt = omc_Tpl_writeText(threadData, _txt, _a_iteratorName);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT117);
_txt = omc_Tpl_writeText(threadData, _txt, _a_stepVar);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT169);
_ret_1 = (stringEqual(omc_Tpl_textString(threadData, _a_guardCond), _OMC_LIT28));
_txt = omc_CodegenCFunctions_fun__1179(threadData, _txt, _ret_1, _a_endLoop, _a_guardExp);
_txt = omc_Tpl_softNewLine(threadData, _txt);
_txt = omc_Tpl_popBlock(threadData, _txt);
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT111);
goto tmp3_done;
}
case 1: {
_txt = tmp4_1;
_a_arrayType = tmp4_3;
_a_firstIndex = tmp4_4;
_a_loopVar = tmp4_5;
_a_iter_ty = tmp4_6;
_a_endLoop = tmp4_7;
_a_guardExp = tmp4_8;
_a_iteratorName = tmp4_10;
_a_guardCond = tmp4_12;
_l_addr = omc_CodegenCFunctions_fun__1180(threadData, _OMC_LIT20, _a_iter_ty, _a_arrayType, _a_firstIndex, _a_loopVar);
_ret_3 = (stringEqual(omc_Tpl_textString(threadData, _a_guardCond), _OMC_LIT28));
tmpMeta1 = omc_CodegenCFunctions_fun__1181(threadData, _txt, _ret_3, _a_endLoop, _a_guardExp, _l_addr, _a_iteratorName, _a_loopVar, _a_firstIndex);
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta1;
_return: OMC_LABEL_UNUSED
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__1181(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 tmpMeta1;
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_endLoop;
tmp4_4 = _in_a_guardExp;
tmp4_5 = _in_a_addr;
tmp4_6 = _in_a_iteratorName;
tmp4_7 = _in_a_loopVar;
tmp4_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 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_guardExp = tmp4_4;
_a_addr = tmp4_5;
_a_iteratorName = tmp4_6;
_a_loopVar = tmp4_7;
_a_firstIndex = tmp4_8;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT351);
_txt = omc_Tpl_writeText(threadData, _txt, _a_firstIndex);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT353);
_txt = omc_Tpl_writeText(threadData, _txt, _a_loopVar);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT355);
_txt = omc_Tpl_pushBlock(threadData, _txt, _OMC_LIT105);
_txt = omc_Tpl_writeText(threadData, _txt, _a_iteratorName);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT129);
_txt = omc_Tpl_writeText(threadData, _txt, _a_addr);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT169);
_txt = omc_Tpl_writeText(threadData, _txt, _a_guardExp);
_txt = omc_Tpl_softNewLine(threadData, _txt);
_txt = omc_Tpl_popBlock(threadData, _txt);
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT111);
goto tmp3_done;
}
case 1: {
_txt = tmp4_1;
_a_endLoop = tmp4_3;
_a_addr = tmp4_5;
_a_iteratorName = tmp4_6;
_a_loopVar = tmp4_7;
_a_firstIndex = tmp4_8;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT357);
_txt = omc_Tpl_writeText(threadData, _txt, _a_firstIndex);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT353);
_txt = omc_Tpl_writeText(threadData, _txt, _a_loopVar);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT355);
_txt = omc_Tpl_pushBlock(threadData, _txt, _OMC_LIT105);
_txt = omc_Tpl_writeText(threadData, _txt, _a_iteratorName);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT129);
_txt = omc_Tpl_writeText(threadData, _txt, _a_addr);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT169);
_txt = omc_Tpl_writeText(threadData, _txt, _a_endLoop);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT358);
_txt = omc_Tpl_popBlock(threadData, _txt);
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT111);
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta1;
_return: OMC_LABEL_UNUSED
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__1181(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__1181(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__1180(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 tmpMeta1;
MMC_SO();
_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_iter_ty;
tmp4_3 = _in_a_arrayType;
tmp4_4 = _in_a_firstIndex;
tmp4_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 tmp4;
int tmp5;
tmp4 = 0;
for (; tmp4 < 2; tmp4++) {
switch (MMC_SWITCH_CAST(tmp4)) {
case 0: {
modelica_metatype tmpMeta6;
modelica_metatype tmpMeta7;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,6,2) == 0) goto tmp3_end;
tmpMeta6 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta6,9,3) == 0) goto tmp3_end;
tmpMeta7 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta6), 2));
_i_record__state = tmpMeta7;
_txt = tmp4_1;
_a_firstIndex = tmp4_4;
_a_loopVar = tmp4_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_LIT360);
_txt = omc_Tpl_writeText(threadData, _txt, _a_loopVar);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT362);
_txt = omc_Tpl_writeText(threadData, _txt, _a_firstIndex);
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT364);
goto tmp3_done;
}
case 1: {
_txt = tmp4_1;
_a_arrayType = tmp4_3;
_a_firstIndex = tmp4_4;
_a_loopVar = tmp4_5;
_txt = omc_Tpl_writeText(threadData, _txt, _a_arrayType);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT366);
_txt = omc_Tpl_writeText(threadData, _txt, _a_loopVar);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT362);
_txt = omc_Tpl_writeText(threadData, _txt, _a_firstIndex);
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT364);
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta1;
_return: OMC_LABEL_UNUSED
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__1179(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 tmpMeta1;
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_endLoop;
tmp4_4 = _in_a_guardExp;
{
modelica_metatype _txt = NULL;
modelica_metatype _a_endLoop = NULL;
modelica_metatype _a_guardExp = 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_guardExp = tmp4_4;
tmpMeta1 = omc_Tpl_writeText(threadData, _txt, _a_guardExp);
goto tmp3_done;
}
case 1: {
_txt = tmp4_1;
_a_endLoop = tmp4_3;
_txt = omc_Tpl_writeText(threadData, _txt, _a_endLoop);
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT368);
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta1;
_return: OMC_LABEL_UNUSED
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__1179(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__1179(threadData, _in_txt, tmp1, _in_a_endLoop, _in_a_guardExp);
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__1178(threadData_t *threadData, modelica_metatype _in_txt, modelica_boolean _in_mArg)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta1;
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_boolean tmp4_2;
tmp4_1 = _in_txt;
tmp4_2 = _in_mArg;
{
modelica_metatype _txt = 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;
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT370);
goto tmp3_done;
}
case 1: {
_txt = tmp4_1;
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT372);
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta1;
_return: OMC_LABEL_UNUSED
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__1178(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__1178(threadData, _in_txt, tmp1);
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__1177(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 tmpMeta1;
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_firstIndex;
tmp4_4 = _in_a_endLoop;
tmp4_5 = _in_a_guardExp;
tmp4_6 = _in_a_iteratorName;
tmp4_7 = _in_a_loopVar;
tmp4_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 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_endLoop = tmp4_4;
_a_guardExp = tmp4_5;
_a_iteratorName = tmp4_6;
_a_loopVar = tmp4_7;
_a_guardCond = tmp4_8;
_ret_0 = (stringEqual(omc_Tpl_textString(threadData, _a_guardCond), _OMC_LIT28));
tmpMeta1 = omc_CodegenCFunctions_fun__1175(threadData, _txt, _ret_0, _a_endLoop, _a_guardExp, _a_iteratorName, _a_loopVar);
goto tmp3_done;
}
case 1: {
_txt = tmp4_1;
_a_firstIndex = tmp4_3;
_a_endLoop = tmp4_4;
_a_guardExp = tmp4_5;
_a_iteratorName = tmp4_6;
_a_loopVar = tmp4_7;
_a_guardCond = tmp4_8;
_ret_1 = (stringEqual(omc_Tpl_textString(threadData, _a_guardCond), _OMC_LIT28));
tmpMeta1 = omc_CodegenCFunctions_fun__1176(threadData, _txt, _ret_1, _a_endLoop, _a_guardExp, _a_iteratorName, _a_loopVar, _a_firstIndex);
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta1;
_return: OMC_LABEL_UNUSED
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__1177(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__1177(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__1176(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 tmpMeta1;
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_endLoop;
tmp4_4 = _in_a_guardExp;
tmp4_5 = _in_a_iteratorName;
tmp4_6 = _in_a_loopVar;
tmp4_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 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_guardExp = tmp4_4;
_a_iteratorName = tmp4_5;
_a_loopVar = tmp4_6;
_a_firstIndex = tmp4_7;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT374);
_txt = omc_Tpl_writeText(threadData, _txt, _a_firstIndex);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT376);
_txt = omc_Tpl_writeText(threadData, _txt, _a_loopVar);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT158);
_txt = omc_Tpl_pushBlock(threadData, _txt, _OMC_LIT105);
_txt = omc_Tpl_writeText(threadData, _txt, _a_iteratorName);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT378);
_txt = omc_Tpl_writeText(threadData, _txt, _a_loopVar);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT301);
_txt = omc_Tpl_writeText(threadData, _txt, _a_firstIndex);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT380);
_txt = omc_Tpl_writeText(threadData, _txt, _a_guardExp);
_txt = omc_Tpl_softNewLine(threadData, _txt);
_txt = omc_Tpl_popBlock(threadData, _txt);
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT111);
goto tmp3_done;
}
case 1: {
_txt = tmp4_1;
_a_endLoop = tmp4_3;
_a_iteratorName = tmp4_5;
_a_loopVar = tmp4_6;
_a_firstIndex = tmp4_7;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT257);
_txt = omc_Tpl_writeText(threadData, _txt, _a_firstIndex);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT376);
_txt = omc_Tpl_writeText(threadData, _txt, _a_loopVar);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT158);
_txt = omc_Tpl_pushBlock(threadData, _txt, _OMC_LIT105);
_txt = omc_Tpl_writeText(threadData, _txt, _a_iteratorName);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT378);
_txt = omc_Tpl_writeText(threadData, _txt, _a_loopVar);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT301);
_txt = omc_Tpl_writeText(threadData, _txt, _a_firstIndex);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT380);
_txt = omc_Tpl_writeText(threadData, _txt, _a_endLoop);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT358);
_txt = omc_Tpl_popBlock(threadData, _txt);
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT111);
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta1;
_return: OMC_LABEL_UNUSED
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__1176(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__1176(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__1175(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 tmpMeta1;
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_endLoop;
tmp4_4 = _in_a_guardExp;
tmp4_5 = _in_a_iteratorName;
tmp4_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 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_guardExp = tmp4_4;
_a_iteratorName = tmp4_5;
_a_loopVar = tmp4_6;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT382);
_txt = omc_Tpl_writeText(threadData, _txt, _a_loopVar);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT158);
_txt = omc_Tpl_pushBlock(threadData, _txt, _OMC_LIT105);
_txt = omc_Tpl_writeText(threadData, _txt, _a_iteratorName);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT384);
_txt = omc_Tpl_writeText(threadData, _txt, _a_loopVar);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT386);
_txt = omc_Tpl_writeText(threadData, _txt, _a_loopVar);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT388);
_txt = omc_Tpl_writeText(threadData, _txt, _a_loopVar);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT386);
_txt = omc_Tpl_writeText(threadData, _txt, _a_guardExp);
_txt = omc_Tpl_softNewLine(threadData, _txt);
_txt = omc_Tpl_popBlock(threadData, _txt);
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT111);
goto tmp3_done;
}
case 1: {
_txt = tmp4_1;
_a_endLoop = tmp4_3;
_a_iteratorName = tmp4_5;
_a_loopVar = tmp4_6;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT390);
_txt = omc_Tpl_writeText(threadData, _txt, _a_loopVar);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT158);
_txt = omc_Tpl_pushBlock(threadData, _txt, _OMC_LIT105);
_txt = omc_Tpl_writeText(threadData, _txt, _a_iteratorName);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT384);
_txt = omc_Tpl_writeText(threadData, _txt, _a_loopVar);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT386);
_txt = omc_Tpl_writeText(threadData, _txt, _a_loopVar);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT388);
_txt = omc_Tpl_writeText(threadData, _txt, _a_loopVar);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT386);
_txt = omc_Tpl_writeText(threadData, _txt, _a_endLoop);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT358);
_txt = omc_Tpl_popBlock(threadData, _txt);
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT111);
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta1;
_return: OMC_LABEL_UNUSED
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__1175(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__1175(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__1174(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 tmpMeta1;
MMC_SO();
_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_iter_exp;
tmp4_3 = _in_a_stepVar;
tmp4_4 = _in_a_rangeExp;
tmp4_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 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_stepVar = tmp4_3;
_a_rangeExp = tmp4_4;
_a_iteratorName = tmp4_5;
_txt = omc_Tpl_writeText(threadData, _txt, _a_iteratorName);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT392);
_txt = omc_Tpl_writeText(threadData, _txt, _a_rangeExp);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT394);
_txt = omc_Tpl_writeText(threadData, _txt, _a_stepVar);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT113);
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT98);
goto tmp3_done;
}
case 1: {
_txt = tmp4_1;
tmpMeta1 = _txt;
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta1;
_return: OMC_LABEL_UNUSED
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__1173(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 tmpMeta1;
MMC_SO();
_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_isArrayWithLength;
tmp4_3 = _in_a_stepVar;
tmp4_4 = _in_a_firstIndex;
tmp4_5 = _in_a_stopVar;
tmp4_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 tmp4;
int tmp5;
tmp4 = 0;
for (; tmp4 < 2; tmp4++) {
switch (MMC_SWITCH_CAST(tmp4)) {
case 0: {
modelica_metatype tmpMeta6;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,0,2) == 0) goto tmp3_end;
tmpMeta6 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
if (!listEmpty(tmpMeta6)) goto tmp3_end;
_txt = tmp4_1;
tmpMeta1 = _txt;
goto tmp3_done;
}
case 1: {
_txt = tmp4_1;
_a_stepVar = tmp4_3;
_a_firstIndex = tmp4_4;
_a_stopVar = tmp4_5;
_a_iteratorName = tmp4_6;
_txt = omc_Tpl_writeText(threadData, _txt, _a_iteratorName);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT396);
_txt = omc_Tpl_writeText(threadData, _txt, _a_stopVar);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT398);
_txt = omc_CodegenCFunctions_fun__1172(threadData, _txt, _a_firstIndex, _a_iteratorName);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT400);
_txt = omc_Tpl_writeText(threadData, _txt, _a_stepVar);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT402);
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT98);
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta1;
_return: OMC_LABEL_UNUSED
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__1172(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_firstIndex, modelica_metatype _in_a_iteratorName)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta1;
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_firstIndex;
tmp4_3 = _in_a_iteratorName;
{
modelica_metatype _txt = NULL;
modelica_metatype _a_iteratorName = NULL;
modelica_metatype _i_firstIndex = NULL;
volatile mmc_switch_type tmp4;
int tmp5;
tmp4 = 0;
for (; tmp4 < 2; tmp4++) {
switch (MMC_SWITCH_CAST(tmp4)) {
case 0: {
modelica_metatype tmpMeta6;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,0,2) == 0) goto tmp3_end;
tmpMeta6 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
if (!listEmpty(tmpMeta6)) goto tmp3_end;
_txt = tmp4_1;
_a_iteratorName = tmp4_3;
tmpMeta1 = omc_Tpl_writeText(threadData, _txt, _a_iteratorName);
goto tmp3_done;
}
case 1: {
_txt = tmp4_1;
_i_firstIndex = tmp4_2;
tmpMeta1 = omc_Tpl_writeText(threadData, _txt, _i_firstIndex);
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta1;
_return: OMC_LABEL_UNUSED
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__1171(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[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_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: {
modelica_metatype tmpMeta6;
if (optionNone(tmp4_2)) goto tmp3_end;
tmpMeta6 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 1));
_i_grd = tmpMeta6;
_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__1170(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 tmpMeta1;
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_iter_exp;
tmp4_3 = _in_a_firstIndex;
{
modelica_metatype _txt = NULL;
modelica_metatype _a_firstIndex = 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;
tmpMeta1 = _txt;
goto tmp3_done;
}
case 1: {
_txt = tmp4_1;
_a_firstIndex = tmp4_3;
tmpMeta1 = omc_CodegenCFunctions_fun__1169(threadData, _txt, _a_firstIndex);
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta1;
_return: OMC_LABEL_UNUSED
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__1169(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_firstIndex)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta1;
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_metatype tmp4_2;
tmp4_1 = _in_txt;
tmp4_2 = _in_a_firstIndex;
{
modelica_metatype _txt = NULL;
modelica_metatype _i_firstIndex = NULL;
volatile mmc_switch_type tmp4;
int tmp5;
tmp4 = 0;
for (; tmp4 < 2; tmp4++) {
switch (MMC_SWITCH_CAST(tmp4)) {
case 0: {
modelica_metatype tmpMeta6;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,0,2) == 0) goto tmp3_end;
tmpMeta6 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
if (!listEmpty(tmpMeta6)) goto tmp3_end;
_txt = tmp4_1;
tmpMeta1 = _txt;
goto tmp3_done;
}
case 1: {
_txt = tmp4_1;
_i_firstIndex = tmp4_2;
_txt = omc_Tpl_writeText(threadData, _txt, _i_firstIndex);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT404);
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT98);
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta1;
_return: OMC_LABEL_UNUSED
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__1168(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_isArrayWithLength, modelica_metatype _in_a_iteratorName)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta1;
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_isArrayWithLength;
tmp4_3 = _in_a_iteratorName;
{
modelica_metatype _txt = NULL;
modelica_metatype _a_iteratorName = NULL;
volatile mmc_switch_type tmp4;
int tmp5;
tmp4 = 0;
for (; tmp4 < 2; tmp4++) {
switch (MMC_SWITCH_CAST(tmp4)) {
case 0: {
modelica_metatype tmpMeta6;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,0,2) == 0) goto tmp3_end;
tmpMeta6 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
if (!listEmpty(tmpMeta6)) goto tmp3_end;
_txt = tmp4_1;
tmpMeta1 = _txt;
goto tmp3_done;
}
case 1: {
_txt = tmp4_1;
_a_iteratorName = tmp4_3;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT406);
_txt = omc_Tpl_writeText(threadData, _txt, _a_iteratorName);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT408);
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT98);
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta1;
_return: OMC_LABEL_UNUSED
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__1167(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 tmpMeta1;
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_rangeExpStop;
tmp4_3 = _in_a_ri_path;
{
modelica_metatype _txt = NULL;
modelica_metatype _a_ri_path = NULL;
volatile mmc_switch_type tmp4;
int tmp5;
tmp4 = 0;
for (; tmp4 < 2; tmp4++) {
switch (MMC_SWITCH_CAST(tmp4)) {
case 0: {
modelica_metatype tmpMeta6;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,0,2) == 0) goto tmp3_end;
tmpMeta6 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
if (!listEmpty(tmpMeta6)) goto tmp3_end;
_txt = tmp4_1;
tmpMeta1 = _txt;
goto tmp3_done;
}
case 1: {
_txt = tmp4_1;
_a_ri_path = tmp4_3;
tmpMeta1 = omc_CodegenCFunctions_fun__1166(threadData, _txt, _a_ri_path);
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta1;
_return: OMC_LABEL_UNUSED
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__1166(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_ri_path)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta1;
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_metatype tmp4_2;
tmp4_1 = _in_txt;
tmp4_2 = _in_a_ri_path;
{
modelica_metatype _txt = NULL;
volatile mmc_switch_type tmp4;
int tmp5;
tmp4 = 0;
for (; tmp4 < 2; tmp4++) {
switch (MMC_SWITCH_CAST(tmp4)) {
case 0: {
modelica_metatype tmpMeta6;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,1,1) == 0) goto tmp3_end;
tmpMeta6 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
if (5 != MMC_STRLEN(tmpMeta6) || strcmp(MMC_STRINGDATA(_OMC_LIT285), MMC_STRINGDATA(tmpMeta6)) != 0) goto tmp3_end;
_txt = tmp4_1;
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT410);
goto tmp3_done;
}
case 1: {
_txt = tmp4_1;
tmpMeta1 = _txt;
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta1;
_return: OMC_LABEL_UNUSED
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__1165(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 tmpMeta1;
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_rangeExpStop;
tmp4_3 = _in_a_iter_exp;
tmp4_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 tmp4;
int tmp5;
tmp4 = 0;
for (; tmp4 < 2; tmp4++) {
switch (MMC_SWITCH_CAST(tmp4)) {
case 0: {
modelica_metatype tmpMeta6;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,0,2) == 0) goto tmp3_end;
tmpMeta6 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
if (!listEmpty(tmpMeta6)) goto tmp3_end;
_txt = tmp4_1;
tmpMeta1 = _txt;
goto tmp3_done;
}
case 1: {
_txt = tmp4_1;
_a_iter_exp = tmp4_3;
_a_stepVar = tmp4_4;
_l_check = omc_Tpl_writeTok(threadData, _OMC_LIT20, _OMC_LIT257);
_l_check = omc_Tpl_writeText(threadData, _l_check, _a_stepVar);
_l_check = omc_Tpl_writeTok(threadData, _l_check, _OMC_LIT417);
_l_check = omc_Tpl_writeTok(threadData, _l_check, _OMC_LIT98);
tmpMeta1 = omc_CodegenCFunctions_fun__1164(threadData, _txt, _a_iter_exp, _l_check);
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta1;
_return: OMC_LABEL_UNUSED
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__1164(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 tmpMeta1;
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_iter_exp;
tmp4_3 = _in_a_check;
{
modelica_metatype _txt = NULL;
modelica_metatype _a_check = NULL;
volatile mmc_switch_type tmp4;
int tmp5;
tmp4 = 0;
for (; tmp4 < 4; tmp4++) {
switch (MMC_SWITCH_CAST(tmp4)) {
case 0: {
modelica_metatype tmpMeta6;
modelica_metatype tmpMeta7;
modelica_metatype tmpMeta8;
modelica_integer tmp9;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,18,4) == 0) goto tmp3_end;
tmpMeta6 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 4));
if (optionNone(tmpMeta6)) goto tmp3_end;
tmpMeta7 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta6), 1));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta7,0,1) == 0) goto tmp3_end;
tmpMeta8 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta7), 2));
tmp9 = mmc_unbox_integer(tmpMeta8);
if (0 != tmp9) goto tmp3_end;
_txt = tmp4_1;
_a_check = tmp4_3;
tmpMeta1 = omc_Tpl_writeText(threadData, _txt, _a_check);
goto tmp3_done;
}
case 1: {
modelica_metatype tmpMeta10;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,18,4) == 0) goto tmp3_end;
tmpMeta10 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 4));
if (!optionNone(tmpMeta10)) goto tmp3_end;
_txt = tmp4_1;
tmpMeta1 = _txt;
goto tmp3_done;
}
case 2: {
modelica_metatype tmpMeta11;
modelica_metatype tmpMeta12;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,18,4) == 0) goto tmp3_end;
tmpMeta11 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 4));
if (optionNone(tmpMeta11)) goto tmp3_end;
tmpMeta12 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta11), 1));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta12,0,1) == 0) goto tmp3_end;
_txt = tmp4_1;
tmpMeta1 = _txt;
goto tmp3_done;
}
case 3: {
_txt = tmp4_1;
_a_check = tmp4_3;
tmpMeta1 = omc_Tpl_writeText(threadData, _txt, _a_check);
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta1;
_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_rangeExpStop, modelica_metatype _in_a_stopVar)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta1;
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_rangeExpStop;
tmp4_3 = _in_a_stopVar;
{
modelica_metatype _txt = NULL;
modelica_metatype _a_stopVar = NULL;
modelica_metatype _i_rangeExpStop = NULL;
volatile mmc_switch_type tmp4;
int tmp5;
tmp4 = 0;
for (; tmp4 < 2; tmp4++) {
switch (MMC_SWITCH_CAST(tmp4)) {
case 0: {
modelica_metatype tmpMeta6;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,0,2) == 0) goto tmp3_end;
tmpMeta6 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
if (!listEmpty(tmpMeta6)) goto tmp3_end;
_txt = tmp4_1;
tmpMeta1 = _txt;
goto tmp3_done;
}
case 1: {
_txt = tmp4_1;
_i_rangeExpStop = tmp4_2;
_a_stopVar = tmp4_3;
_txt = omc_Tpl_writeText(threadData, _txt, _a_stopVar);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT129);
_txt = omc_Tpl_writeText(threadData, _txt, _i_rangeExpStop);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT113);
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT98);
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta1;
_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_rangeExpStep, modelica_metatype _in_a_stepVar)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta1;
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_rangeExpStep;
tmp4_3 = _in_a_stepVar;
{
modelica_metatype _txt = NULL;
modelica_metatype _a_stepVar = NULL;
modelica_metatype _i_rangeExpStep = NULL;
volatile mmc_switch_type tmp4;
int tmp5;
tmp4 = 0;
for (; tmp4 < 2; tmp4++) {
switch (MMC_SWITCH_CAST(tmp4)) {
case 0: {
modelica_metatype tmpMeta6;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,0,2) == 0) goto tmp3_end;
tmpMeta6 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
if (!listEmpty(tmpMeta6)) goto tmp3_end;
_txt = tmp4_1;
tmpMeta1 = _txt;
goto tmp3_done;
}
case 1: {
_txt = tmp4_1;
_i_rangeExpStep = tmp4_2;
_a_stepVar = tmp4_3;
_txt = omc_Tpl_writeText(threadData, _txt, _a_stepVar);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT129);
_txt = omc_Tpl_writeText(threadData, _txt, _i_rangeExpStep);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT113);
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT98);
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta1;
_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_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[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_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: {
modelica_metatype tmpMeta6;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,18,4) == 0) goto tmp3_end;
tmpMeta6 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 3));
_i_start = tmpMeta6;
_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_LIT419);
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__1160(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[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_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: {
modelica_metatype tmpMeta6;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,18,4) == 0) goto tmp3_end;
tmpMeta6 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 5));
_i_stop = tmpMeta6;
_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_LIT421);
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__1159(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[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_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: {
modelica_metatype tmpMeta6;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,18,4) == 0) goto tmp3_end;
tmpMeta6 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 4));
if (!optionNone(tmpMeta6)) 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_LIT423);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_auxFunction;
tmpMeta[0+2] = _a_tmpVarDecls;
tmpMeta[0+3] = _a_rangeExpPre;
goto tmp3_done;
}
case 1: {
modelica_metatype tmpMeta7;
modelica_metatype tmpMeta8;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,18,4) == 0) goto tmp3_end;
tmpMeta7 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 4));
if (optionNone(tmpMeta7)) goto tmp3_end;
tmpMeta8 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta7), 1));
_i_step = tmpMeta8;
_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_LIT425);
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__1158(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__1157(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__1157(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_LIT322), 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__1156(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_LIT253, _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__1156(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_LIT253, _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__1156(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__1156(threadData, _in_txt, tmp1, _in_a_tmpVarDecls, out_out_a_tmpVarDecls);
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__1155(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 tmpMeta1;
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_arrayType;
tmp4_4 = _in_a_iter_exp;
tmp4_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 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_LIT322), MMC_STRINGDATA(tmp4_2)) != 0) goto tmp3_end;
_txt = tmp4_1;
_a_loopVar = tmp4_5;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT427);
_txt = omc_Tpl_writeText(threadData, _txt, _a_loopVar);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT282);
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT98);
goto tmp3_done;
}
case 1: {
_txt = tmp4_1;
_a_arrayType = tmp4_3;
_a_iter_exp = tmp4_4;
_a_loopVar = tmp4_5;
tmpMeta1 = omc_CodegenCFunctions_fun__1154(threadData, _txt, _a_iter_exp, _a_loopVar, _a_arrayType);
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta1;
_return: OMC_LABEL_UNUSED
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__1154(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 tmpMeta1;
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_loopVar;
tmp4_4 = _in_a_arrayType;
{
modelica_metatype _txt = NULL;
modelica_metatype _a_loopVar = NULL;
modelica_metatype _a_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,18,4) == 0) goto tmp3_end;
_txt = tmp4_1;
tmpMeta1 = _txt;
goto tmp3_done;
}
case 1: {
_txt = tmp4_1;
_a_loopVar = tmp4_3;
_a_arrayType = tmp4_4;
_txt = omc_Tpl_writeText(threadData, _txt, _a_arrayType);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT34);
_txt = omc_Tpl_writeText(threadData, _txt, _a_loopVar);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT113);
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT98);
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta1;
_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_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__1152(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__1151(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 tmpMeta1;
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_iter_exp;
tmp4_3 = _in_a_iteratorName;
{
modelica_metatype _txt = NULL;
modelica_metatype _a_iteratorName = 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_iteratorName = tmp4_3;
tmpMeta1 = omc_Tpl_writeText(threadData, _txt, _a_iteratorName);
goto tmp3_done;
}
case 1: {
_txt = tmp4_1;
_a_iteratorName = tmp4_3;
_txt = omc_Tpl_writeText(threadData, _txt, _a_iteratorName);
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT319);
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta1;
_return: OMC_LABEL_UNUSED
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__1150(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[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;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: {
modelica_metatype tmpMeta6;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,1,1) == 0) goto tmp3_end;
tmpMeta6 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
if (4 != MMC_STRLEN(tmpMeta6) || strcmp(MMC_STRINGDATA(_OMC_LIT434), MMC_STRINGDATA(tmpMeta6)) != 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_LIT265);
_txt = omc_Tpl_writeText(threadData, _txt, _a_resTail);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT429);
_txt = omc_Tpl_writeText(threadData, _txt, _a_reductionBodyExpr);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT431);
_txt = omc_Tpl_writeText(threadData, _txt, _a_resTail);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT433);
_txt = omc_Tpl_writeText(threadData, _txt, _a_resTail);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT299);
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: {
modelica_metatype tmpMeta7;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,1,1) == 0) goto tmp3_end;
tmpMeta7 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
if (11 != MMC_STRLEN(tmpMeta7) || strcmp(MMC_STRINGDATA(_OMC_LIT435), MMC_STRINGDATA(tmpMeta7)) != 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_LIT429);
_txt = omc_Tpl_writeText(threadData, _txt, _a_reductionBodyExpr);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT234);
_txt = omc_Tpl_writeText(threadData, _txt, _a_res);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT299);
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: {
modelica_metatype tmpMeta8;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,1,1) == 0) goto tmp3_end;
tmpMeta8 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
if (5 != MMC_STRLEN(tmpMeta8) || strcmp(MMC_STRINGDATA(_OMC_LIT285), MMC_STRINGDATA(tmpMeta8)) != 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__1147(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__1149(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__1149(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[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;
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: {
modelica_metatype tmpMeta6;
if (optionNone(tmp4_2)) goto tmp3_end;
tmpMeta6 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 1));
_i_fExp = tmpMeta6;
_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__1148(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__1148(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 tmpMeta1;
MMC_SO();
_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_foundFirst;
tmp4_3 = _in_a_reductionBodyExpr;
tmp4_4 = _in_a_fExpStr;
tmp4_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 tmp4;
int tmp5;
tmp4 = 0;
for (; tmp4 < 2; tmp4++) {
switch (MMC_SWITCH_CAST(tmp4)) {
case 0: {
modelica_metatype tmpMeta6;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,0,2) == 0) goto tmp3_end;
tmpMeta6 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
if (!listEmpty(tmpMeta6)) goto tmp3_end;
_txt = tmp4_1;
_a_fExpStr = tmp4_4;
_a_res = tmp4_5;
_txt = omc_Tpl_writeText(threadData, _txt, _a_res);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT129);
_txt = omc_Tpl_writeText(threadData, _txt, _a_fExpStr);
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT113);
goto tmp3_done;
}
case 1: {
_txt = tmp4_1;
_i_foundFirst = tmp4_2;
_a_reductionBodyExpr = tmp4_3;
_a_fExpStr = tmp4_4;
_a_res = tmp4_5;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT257);
_txt = omc_Tpl_writeText(threadData, _txt, _i_foundFirst);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT439);
_txt = omc_Tpl_pushBlock(threadData, _txt, _OMC_LIT105);
_txt = omc_Tpl_writeText(threadData, _txt, _a_res);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT129);
_txt = omc_Tpl_writeText(threadData, _txt, _a_fExpStr);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT169);
_txt = omc_Tpl_popBlock(threadData, _txt);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT443);
_txt = omc_Tpl_pushBlock(threadData, _txt, _OMC_LIT105);
_txt = omc_Tpl_writeText(threadData, _txt, _a_res);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT129);
_txt = omc_Tpl_writeText(threadData, _txt, _a_reductionBodyExpr);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT169);
_txt = omc_Tpl_writeText(threadData, _txt, _i_foundFirst);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT284);
_txt = omc_Tpl_popBlock(threadData, _txt);
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT111);
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta1;
_return: OMC_LABEL_UNUSED
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__1147(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[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_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: {
modelica_metatype tmpMeta5;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,9,3) == 0) goto tmp3_end;
tmpMeta5 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
_i_record__state = tmpMeta5;
_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_LIT360);
_txt = omc_Tpl_writeText(threadData, _txt, _a_res);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT362);
_txt = omc_Tpl_writeText(threadData, _txt, _a_arrIndex);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT445);
_txt = omc_Tpl_writeText(threadData, _txt, _a_reductionBodyExpr);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT113);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_varDecls;
goto tmp3_done;
}
case 9: {
modelica_metatype tmpMeta6;
modelica_metatype tmpMeta7;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,6,2) == 0) goto tmp3_end;
tmpMeta6 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
tmpMeta7 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 3));
_i_ty = tmpMeta6;
_i_dims = tmpMeta7;
_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_LIT446, _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__1146(threadData, _OMC_LIT20, _i_dims);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT448);
_txt = omc_Tpl_writeText(threadData, _txt, _l_tmp);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT301);
_txt = omc_Tpl_writeText(threadData, _txt, _l_nridx__str);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT450);
_txt = omc_Tpl_writeText(threadData, _txt, _a_arrIndex);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT452);
_txt = omc_Tpl_writeText(threadData, _txt, _l_idx__str);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT456);
_txt = omc_CodegenCFunctions_expTypeArray(threadData, _txt, _i_ty);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT30);
_txt = omc_Tpl_writeText(threadData, _txt, _a_reductionBodyExpr);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT131);
_txt = omc_Tpl_writeText(threadData, _txt, _a_res);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT131);
_txt = omc_Tpl_writeText(threadData, _txt, _l_tmp);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT299);
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_LIT366);
_txt = omc_Tpl_writeText(threadData, _txt, _a_res);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT362);
_txt = omc_Tpl_writeText(threadData, _txt, _a_arrIndex);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT445);
_txt = omc_Tpl_writeText(threadData, _txt, _a_reductionBodyExpr);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT113);
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__1146(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_items)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta1;
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_metatype tmp4_2;
tmp4_1 = _in_txt;
tmp4_2 = _in_items;
{
modelica_metatype _txt = NULL;
modelica_metatype _rest = 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;
tmpMeta1 = _txt;
goto tmp3_done;
}
case 1: {
modelica_metatype tmpMeta6;
modelica_metatype tmpMeta7;
if (listEmpty(tmp4_2)) goto tmp3_end;
tmpMeta6 = MMC_CAR(tmp4_2);
tmpMeta7 = MMC_CDR(tmp4_2);
_rest = tmpMeta7;
_txt = tmp4_1;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT458);
_in_txt = _txt;
_in_items = _rest;
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 = tmpMeta1;
_return: OMC_LABEL_UNUSED
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__1145(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[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_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: {
modelica_metatype tmpMeta6;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,1,1) == 0) goto tmp3_end;
tmpMeta6 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
if (5 != MMC_STRLEN(tmpMeta6) || strcmp(MMC_STRINGDATA(_OMC_LIT285), MMC_STRINGDATA(tmpMeta6)) != 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__1144(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__1144(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[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_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: {
modelica_metatype tmpMeta6;
if (optionNone(tmp4_2)) goto tmp3_end;
tmpMeta6 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 1));
_i_v = tmpMeta6;
_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__1143(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[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_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: {
modelica_metatype tmpMeta6;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,1,1) == 0) goto tmp3_end;
tmpMeta6 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
if (4 != MMC_STRLEN(tmpMeta6) || strcmp(MMC_STRINGDATA(_OMC_LIT434), MMC_STRINGDATA(tmpMeta6)) != 0) goto tmp3_end;
_txt = tmp4_1;
_a_tmpVarDecls = tmp4_3;
tmpMeta[0+0] = omc_CodegenCFunctions_tempDecl(threadData, _txt, _OMC_LIT459, _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__1142(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[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_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: {
modelica_metatype tmpMeta6;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,1,1) == 0) goto tmp3_end;
tmpMeta6 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
if (5 != MMC_STRLEN(tmpMeta6) || strcmp(MMC_STRINGDATA(_OMC_LIT285), MMC_STRINGDATA(tmpMeta6)) != 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__1141(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__1141(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_LIT253, _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__1140(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[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_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: {
modelica_metatype tmpMeta6;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,1,1) == 0) goto tmp3_end;
tmpMeta6 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
if (5 != MMC_STRLEN(tmpMeta6) || strcmp(MMC_STRINGDATA(_OMC_LIT285), MMC_STRINGDATA(tmpMeta6)) != 0) goto tmp3_end;
_txt = tmp4_1;
_a_tmpVarDecls = tmp4_3;
tmpMeta[0+0] = omc_CodegenCFunctions_tempDecl(threadData, _txt, _OMC_LIT253, _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__1139(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_resTail)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta1;
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_metatype tmp4_2;
tmp4_1 = _in_txt;
tmp4_2 = _in_a_resTail;
{
modelica_metatype _txt = NULL;
modelica_metatype _i_resTail = NULL;
volatile mmc_switch_type tmp4;
int tmp5;
tmp4 = 0;
for (; tmp4 < 2; tmp4++) {
switch (MMC_SWITCH_CAST(tmp4)) {
case 0: {
modelica_metatype tmpMeta6;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,0,2) == 0) goto tmp3_end;
tmpMeta6 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
if (!listEmpty(tmpMeta6)) goto tmp3_end;
_txt = tmp4_1;
tmpMeta1 = _txt;
goto tmp3_done;
}
case 1: {
_txt = tmp4_1;
_i_resTail = tmp4_2;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT265);
_txt = omc_Tpl_writeText(threadData, _txt, _i_resTail);
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT267);
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta1;
_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_foundFirst)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta1;
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_metatype tmp4_2;
tmp4_1 = _in_txt;
tmp4_2 = _in_a_foundFirst;
{
modelica_metatype _txt = NULL;
modelica_metatype _i_foundFirst = NULL;
volatile mmc_switch_type tmp4;
int tmp5;
tmp4 = 0;
for (; tmp4 < 2; tmp4++) {
switch (MMC_SWITCH_CAST(tmp4)) {
case 0: {
modelica_metatype tmpMeta6;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,0,2) == 0) goto tmp3_end;
tmpMeta6 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
if (!listEmpty(tmpMeta6)) goto tmp3_end;
_txt = tmp4_1;
tmpMeta1 = _txt;
goto tmp3_done;
}
case 1: {
_txt = tmp4_1;
_i_foundFirst = tmp4_2;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT268);
_txt = omc_Tpl_writeText(threadData, _txt, _i_foundFirst);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT138);
_txt = omc_CodegenCFunctions_generateThrow(threadData, _txt);
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT113);
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta1;
_return: OMC_LABEL_UNUSED
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__1137(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_resTail, modelica_metatype _in_a_res)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta1;
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_resTail;
tmp4_3 = _in_a_res;
{
modelica_metatype _txt = NULL;
modelica_metatype _a_res = NULL;
modelica_metatype _i_resTail = NULL;
volatile mmc_switch_type tmp4;
int tmp5;
tmp4 = 0;
for (; tmp4 < 2; tmp4++) {
switch (MMC_SWITCH_CAST(tmp4)) {
case 0: {
modelica_metatype tmpMeta6;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,0,2) == 0) goto tmp3_end;
tmpMeta6 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
if (!listEmpty(tmpMeta6)) goto tmp3_end;
_txt = tmp4_1;
tmpMeta1 = _txt;
goto tmp3_done;
}
case 1: {
_txt = tmp4_1;
_i_resTail = tmp4_2;
_a_res = tmp4_3;
_txt = omc_Tpl_writeText(threadData, _txt, _i_resTail);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT270);
_txt = omc_Tpl_writeText(threadData, _txt, _a_res);
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT113);
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta1;
_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_iterators, modelica_metatype _in_a_endLoop)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta1;
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_iterators;
tmp4_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 tmp4;
int tmp5;
tmp4 = 0;
for (; tmp4 < 2; tmp4++) {
switch (MMC_SWITCH_CAST(tmp4)) {
case 0: {
modelica_metatype tmpMeta6;
modelica_metatype tmpMeta7;
if (listEmpty(tmp4_2)) goto tmp3_end;
tmpMeta6 = MMC_CAR(tmp4_2);
tmpMeta7 = MMC_CDR(tmp4_2);
_i_iterators = tmp4_2;
_txt = tmp4_1;
_a_endLoop = tmp4_3;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT272);
_txt = omc_Tpl_writeText(threadData, _txt, _a_endLoop);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT274);
_ret_0 = listLength(_i_iterators);
_txt = omc_Tpl_writeStr(threadData, _txt, intString(_ret_0));
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT280);
_txt = omc_Tpl_pushBlock(threadData, _txt, _OMC_LIT105);
_txt = omc_CodegenCFunctions_generateThrow(threadData, _txt);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT169);
_txt = omc_Tpl_popBlock(threadData, _txt);
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT111);
goto tmp3_done;
}
case 1: {
_txt = tmp4_1;
tmpMeta1 = _txt;
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta1;
_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_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[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_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: {
modelica_metatype tmpMeta6;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,1,1) == 0) goto tmp3_end;
tmpMeta6 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
if (5 != MMC_STRLEN(tmpMeta6) || strcmp(MMC_STRINGDATA(_OMC_LIT285), MMC_STRINGDATA(tmpMeta6)) != 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_LIT253, _a_tmpVarDecls ,&_a_tmpVarDecls);
_a_rangeExpPre = omc_Tpl_writeText(threadData, _a_rangeExpPre, _l_length);
_a_rangeExpPre = omc_Tpl_writeTok(threadData, _a_rangeExpPre, _OMC_LIT282);
_a_rangeExpPre = omc_Tpl_writeTok(threadData, _a_rangeExpPre, _OMC_LIT98);
omc_CodegenCFunctions_lm__1130(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_LIT284);
_ret_2 = omc_Expression_typeof(threadData, _a_r_expr);
_txt = omc_CodegenCFunctions_fun__1133(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__1134(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__1134(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 tmpMeta1;
MMC_SO();
_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_foundFirst;
tmp4_3 = _in_a_ri_path;
tmp4_4 = _in_a_defaultValue;
tmp4_5 = _in_a_res;
tmp4_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 tmp4;
int tmp5;
tmp4 = 0;
for (; tmp4 < 2; tmp4++) {
switch (MMC_SWITCH_CAST(tmp4)) {
case 0: {
modelica_metatype tmpMeta6;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,0,2) == 0) goto tmp3_end;
tmpMeta6 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
if (!listEmpty(tmpMeta6)) goto tmp3_end;
_txt = tmp4_1;
_a_defaultValue = tmp4_4;
_a_res = tmp4_5;
_a_preDefault = tmp4_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_LIT129);
_txt = omc_Tpl_writeText(threadData, _txt, _a_defaultValue);
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT287);
goto tmp3_done;
}
case 1: {
_txt = tmp4_1;
_i_foundFirst = tmp4_2;
_a_ri_path = tmp4_3;
_txt = omc_Tpl_writeText(threadData, _txt, _i_foundFirst);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT289);
_txt = omc_CodegenUtil_dotPath(threadData, _txt, _a_ri_path);
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT291);
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta1;
_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_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[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_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: {
modelica_metatype tmpMeta5;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,9,3) == 0) goto tmp3_end;
tmpMeta5 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
_i_record__state = tmpMeta5;
_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_LIT293);
_txt = omc_Tpl_writeText(threadData, _txt, _a_res);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT295);
_txt = omc_Tpl_writeText(threadData, _txt, _l_rec__name);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT297);
_txt = omc_Tpl_writeText(threadData, _txt, _a_length);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT299);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_auxFunction;
tmpMeta[0+2] = _a_tmpVarDecls;
tmpMeta[0+3] = _a_rangeExpPre;
goto tmp3_done;
}
case 9: {
modelica_metatype tmpMeta6;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,6,2) == 0) goto tmp3_end;
tmpMeta6 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 3));
_i_dims = tmpMeta6;
_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_LIT303);
_l_dimSizes = omc_CodegenCFunctions_lm__1132(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_LIT305);
_txt = omc_Tpl_writeText(threadData, _txt, _a_arrayTypeResult);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT307);
_txt = omc_Tpl_writeText(threadData, _txt, _a_res);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT301);
_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_LIT301);
_txt = omc_Tpl_writeText(threadData, _txt, _a_length);
_txt = omc_Tpl_writeText(threadData, _txt, _l_dimSizes);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT299);
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_LIT309);
_txt = omc_Tpl_writeText(threadData, _txt, _a_arrayTypeResult);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT307);
_txt = omc_Tpl_writeText(threadData, _txt, _a_res);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT234);
_txt = omc_Tpl_writeText(threadData, _txt, _a_length);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT299);
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__1132(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[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_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: {
modelica_metatype tmpMeta6;
modelica_metatype tmpMeta7;
if (listEmpty(tmp4_2)) goto tmp3_end;
tmpMeta6 = MMC_CAR(tmp4_2);
tmpMeta7 = MMC_CDR(tmp4_2);
_i_dim = tmpMeta6;
_rest = tmpMeta7;
_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__1131(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__1131(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[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_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_metatype tmpMeta5;
modelica_integer tmp6;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,0,1) == 0) goto tmp3_end;
tmpMeta5 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
tmp6 = mmc_unbox_integer(tmpMeta5);
_i_integer = tmp6;
_txt = tmp4_1;
_a_auxFunction = tmp4_4;
_a_tmpVarDecls = tmp4_5;
_a_rangeExpPre = tmp4_6;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT311);
_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_LIT313);
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_metatype tmpMeta7;
modelica_integer tmp8;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,2,3) == 0) goto tmp3_end;
tmpMeta7 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 4));
tmp8 = mmc_unbox_integer(tmpMeta7);
_i_size = tmp8;
_txt = tmp4_1;
_a_auxFunction = tmp4_4;
_a_tmpVarDecls = tmp4_5;
_a_rangeExpPre = tmp4_6;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT311);
_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: {
modelica_metatype tmpMeta9;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,3,1) == 0) goto tmp3_end;
tmpMeta9 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
_i_e = tmpMeta9;
_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_LIT311);
_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_LIT315);
_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_LIT317);
_txt_0 = omc_ExpressionDumpTpl_dumpExp(threadData, _txt_0, _a_r_expr, _OMC_LIT239);
_txt = omc_CodegenUtil_error(threadData, _txt, omc_Tpl_sourceInfo(threadData, _OMC_LIT27, ((modelica_integer) 7355), ((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__1130(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[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_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: {
modelica_metatype tmpMeta6;
modelica_metatype tmpMeta7;
modelica_metatype tmpMeta8;
modelica_metatype tmpMeta9;
if (listEmpty(tmp4_2)) goto tmp3_end;
tmpMeta6 = MMC_CAR(tmp4_2);
tmpMeta7 = MMC_CDR(tmp4_2);
tmpMeta8 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta6), 2));
tmpMeta9 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta6), 3));
_i_iter_id = tmpMeta8;
_i_iter_exp = tmpMeta9;
_rest = tmpMeta7;
_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_LIT319);
_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_LIT321);
_a_rangeExpPre = omc_Tpl_writeText(threadData, _a_rangeExpPre, _a_length);
_a_rangeExpPre = omc_Tpl_writeTok(threadData, _a_rangeExpPre, _OMC_LIT234);
_str_3 = omc_Tpl_textString(threadData, _l_identType);
_a_rangeExpPre = omc_CodegenCFunctions_fun__1129(threadData, _a_rangeExpPre, _str_3, _l_iteratorName, _l_loopVar, _i_iter_exp);
_a_rangeExpPre = omc_Tpl_writeTok(threadData, _a_rangeExpPre, _OMC_LIT299);
_a_rangeExpPre = omc_Tpl_writeTok(threadData, _a_rangeExpPre, _OMC_LIT98);
_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: {
modelica_metatype tmpMeta10;
modelica_metatype tmpMeta11;
if (listEmpty(tmp4_2)) goto tmp3_end;
tmpMeta10 = MMC_CAR(tmp4_2);
tmpMeta11 = MMC_CDR(tmp4_2);
_rest = tmpMeta11;
_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__1129(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 tmpMeta1;
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_iteratorName;
tmp4_4 = _in_a_loopVar;
tmp4_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 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_LIT322), MMC_STRINGDATA(tmp4_2)) != 0) goto tmp3_end;
_txt = tmp4_1;
_a_loopVar = tmp4_4;
_a_iter_exp = tmp4_5;
_ret_0 = omc_Expression_isMetaArray(threadData, _a_iter_exp);
tmpMeta1 = omc_CodegenCFunctions_fun__1127(threadData, _txt, _ret_0, _a_loopVar);
goto tmp3_done;
}
case 1: {
_txt = tmp4_1;
_a_iteratorName = tmp4_3;
_a_loopVar = tmp4_4;
_a_iter_exp = tmp4_5;
tmpMeta1 = omc_CodegenCFunctions_fun__1128(threadData, _txt, _a_iter_exp, _a_loopVar, _a_iteratorName);
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta1;
_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_loopVar, modelica_metatype _in_a_iteratorName)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta1;
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_loopVar;
tmp4_4 = _in_a_iteratorName;
{
modelica_metatype _txt = NULL;
modelica_metatype _a_loopVar = NULL;
modelica_metatype _a_iteratorName = 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_iteratorName = tmp4_4;
_txt = omc_Tpl_writeText(threadData, _txt, _a_iteratorName);
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT324);
goto tmp3_done;
}
case 1: {
_txt = tmp4_1;
_a_loopVar = tmp4_3;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT326);
_txt = omc_Tpl_writeText(threadData, _txt, _a_loopVar);
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT328);
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta1;
_return: OMC_LABEL_UNUSED
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__1127(threadData_t *threadData, modelica_metatype _in_txt, modelica_boolean _in_mArg, modelica_metatype _in_a_loopVar)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta1;
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_loopVar;
{
modelica_metatype _txt = NULL;
modelica_metatype _a_loopVar = 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_loopVar = tmp4_3;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT330);
_txt = omc_Tpl_writeText(threadData, _txt, _a_loopVar);
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT87);
goto tmp3_done;
}
case 1: {
_txt = tmp4_1;
_a_loopVar = tmp4_3;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT332);
_txt = omc_Tpl_writeText(threadData, _txt, _a_loopVar);
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT87);
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta1;
_return: OMC_LABEL_UNUSED
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__1127(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__1127(threadData, _in_txt, tmp1, _in_a_loopVar);
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_lm__1126(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[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_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: {
modelica_metatype tmpMeta6;
modelica_metatype tmpMeta7;
modelica_metatype tmpMeta8;
modelica_metatype tmpMeta9;
modelica_metatype tmpMeta10;
modelica_metatype tmpMeta11;
if (listEmpty(tmp4_2)) goto tmp3_end;
tmpMeta6 = MMC_CAR(tmp4_2);
tmpMeta7 = MMC_CDR(tmp4_2);
tmpMeta8 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta6), 2));
tmpMeta9 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta6), 3));
tmpMeta10 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta6), 4));
tmpMeta11 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta6), 5));
_i_iter_id = tmpMeta8;
_i_iter_exp = tmpMeta9;
_i_iter_guardExp = tmpMeta10;
_i_iter_ty = tmpMeta11;
_rest = tmpMeta7;
_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__1093(threadData, _OMC_LIT20, _i_iter_exp, _l_iteratorName);
_l_stepVar = omc_CodegenCFunctions_fun__1094(threadData, _OMC_LIT20, _i_iter_exp, _a_tmpVarDecls, _l_identType ,&_a_tmpVarDecls);
_l_stopVar = omc_CodegenCFunctions_fun__1095(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__1097(threadData, _a_tmpVarDecls, _str_7, _l_arrayType, _i_iter_exp, _l_loopVar);
_l_firstIndex = omc_CodegenCFunctions_fun__1100(threadData, _OMC_LIT20, _i_iter_exp, _a_tmpVarDecls, _l_identType ,&_a_tmpVarDecls);
_l_rangeExpStep = omc_CodegenCFunctions_fun__1101(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__1102(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__1103(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__1104(threadData, _a_rangeExpPre, _l_rangeExpStep, _l_stepVar);
_a_rangeExpPre = omc_CodegenCFunctions_fun__1105(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_LIT129);
_a_rangeExpPre = omc_Tpl_writeText(threadData, _a_rangeExpPre, _l_rangeExp);
_a_rangeExpPre = omc_Tpl_writeTok(threadData, _a_rangeExpPre, _OMC_LIT113);
_a_rangeExpPre = omc_Tpl_writeTok(threadData, _a_rangeExpPre, _OMC_LIT98);
_a_rangeExpPre = omc_CodegenCFunctions_fun__1107(threadData, _a_rangeExpPre, _l_rangeExpStop, _i_iter_exp, _l_stepVar);
_l_isArrayWithLength = omc_CodegenCFunctions_fun__1109(threadData, _OMC_LIT20, _l_rangeExpStop, _a_ri_path);
_a_tmpVarDecls = omc_CodegenCFunctions_fun__1110(threadData, _a_tmpVarDecls, _l_isArrayWithLength, _l_iteratorName);
_a_rangeExpPre = omc_CodegenCFunctions_fun__1112(threadData, _a_rangeExpPre, _i_iter_exp, _l_firstIndex);
_l_guardCond = omc_CodegenCFunctions_fun__1113(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_LIT34);
_a_tmpVarDecls = omc_Tpl_writeText(threadData, _a_tmpVarDecls, _l_iteratorName);
_a_tmpVarDecls = omc_Tpl_writeTok(threadData, _a_tmpVarDecls, _OMC_LIT113);
_a_tmpVarDecls = omc_Tpl_writeTok(threadData, _a_tmpVarDecls, _OMC_LIT98);
_a_rangeExpPre = omc_CodegenCFunctions_fun__1115(threadData, _a_rangeExpPre, _l_isArrayWithLength, _l_stepVar, _l_firstIndex, _l_stopVar, _l_iteratorName);
_a_rangeExpPre = omc_CodegenCFunctions_fun__1116(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_LIT257);
_l_guardExp = omc_Tpl_writeText(threadData, _l_guardExp, _l_guardCond);
_l_guardExp = omc_Tpl_writeTok(threadData, _l_guardExp, _OMC_LIT191);
_l_guardExp = omc_Tpl_pushBlock(threadData, _l_guardExp, _OMC_LIT105);
_l_guardExp = omc_Tpl_writeText(threadData, _l_guardExp, _a_endLoop);
_l_guardExp = omc_Tpl_writeTok(threadData, _l_guardExp, _OMC_LIT337);
_l_guardExp = omc_Tpl_popBlock(threadData, _l_guardExp);
_l_guardExp = omc_Tpl_writeTok(threadData, _l_guardExp, _OMC_LIT111);
_str_15 = omc_Tpl_textString(threadData, _l_identType);
_txt = omc_CodegenCFunctions_fun__1125(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: {
modelica_metatype tmpMeta12;
modelica_metatype tmpMeta13;
if (listEmpty(tmp4_2)) goto tmp3_end;
tmpMeta12 = MMC_CAR(tmp4_2);
tmpMeta13 = MMC_CDR(tmp4_2);
_rest = tmpMeta13;
_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__1125(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 tmpMeta1;
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;modelica_metatype tmp4_11;modelica_metatype tmp4_12;modelica_metatype tmp4_13;
tmp4_1 = _in_txt;
tmp4_2 = _in_mArg;
tmp4_3 = _in_a_arrayType;
tmp4_4 = _in_a_iter_ty;
tmp4_5 = _in_a_stopVar;
tmp4_6 = _in_a_stepVar;
tmp4_7 = _in_a_firstIndex;
tmp4_8 = _in_a_endLoop;
tmp4_9 = _in_a_guardExp;
tmp4_10 = _in_a_iteratorName;
tmp4_11 = _in_a_loopVar;
tmp4_12 = _in_a_guardCond;
tmp4_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 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_LIT322), MMC_STRINGDATA(tmp4_2)) != 0) goto tmp3_end;
_txt = tmp4_1;
_a_firstIndex = tmp4_7;
_a_endLoop = tmp4_8;
_a_guardExp = tmp4_9;
_a_iteratorName = tmp4_10;
_a_loopVar = tmp4_11;
_a_guardCond = tmp4_12;
_a_iter_exp = tmp4_13;
_ret_0 = omc_Expression_isMetaArray(threadData, _a_iter_exp);
tmpMeta1 = omc_CodegenCFunctions_fun__1119(threadData, _txt, _ret_0, _a_firstIndex, _a_endLoop, _a_guardExp, _a_iteratorName, _a_loopVar, _a_guardCond);
goto tmp3_done;
}
case 1: {
_txt = tmp4_1;
_a_arrayType = tmp4_3;
_a_iter_ty = tmp4_4;
_a_stopVar = tmp4_5;
_a_stepVar = tmp4_6;
_a_firstIndex = tmp4_7;
_a_endLoop = tmp4_8;
_a_guardExp = tmp4_9;
_a_iteratorName = tmp4_10;
_a_loopVar = tmp4_11;
_a_guardCond = tmp4_12;
_a_iter_exp = tmp4_13;
tmpMeta1 = omc_CodegenCFunctions_fun__1124(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 tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta1;
_return: OMC_LABEL_UNUSED
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__1124(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 tmpMeta1;
MMC_SO();
_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_iter_exp;
tmp4_3 = _in_a_arrayType;
tmp4_4 = _in_a_firstIndex;
tmp4_5 = _in_a_loopVar;
tmp4_6 = _in_a_iter_ty;
tmp4_7 = _in_a_endLoop;
tmp4_8 = _in_a_guardExp;
tmp4_9 = _in_a_stopVar;
tmp4_10 = _in_a_iteratorName;
tmp4_11 = _in_a_stepVar;
tmp4_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 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_endLoop = tmp4_7;
_a_guardExp = tmp4_8;
_a_stopVar = tmp4_9;
_a_iteratorName = tmp4_10;
_a_stepVar = tmp4_11;
_a_guardCond = tmp4_12;
_ret_0 = (stringEqual(omc_Tpl_textString(threadData, _a_guardCond), _OMC_LIT28));
_txt = omc_CodegenCFunctions_fun__1120(threadData, _txt, _ret_0);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT339);
_txt = omc_Tpl_writeText(threadData, _txt, _a_stepVar);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT341);
_txt = omc_Tpl_writeText(threadData, _txt, _a_iteratorName);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT343);
_txt = omc_Tpl_writeText(threadData, _txt, _a_stepVar);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT345);
_txt = omc_Tpl_writeText(threadData, _txt, _a_stopVar);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT347);
_txt = omc_Tpl_writeText(threadData, _txt, _a_iteratorName);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT343);
_txt = omc_Tpl_writeText(threadData, _txt, _a_stepVar);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT349);
_txt = omc_Tpl_writeText(threadData, _txt, _a_stopVar);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT191);
_txt = omc_Tpl_pushBlock(threadData, _txt, _OMC_LIT105);
_txt = omc_Tpl_writeText(threadData, _txt, _a_iteratorName);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT117);
_txt = omc_Tpl_writeText(threadData, _txt, _a_stepVar);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT169);
_ret_1 = (stringEqual(omc_Tpl_textString(threadData, _a_guardCond), _OMC_LIT28));
_txt = omc_CodegenCFunctions_fun__1121(threadData, _txt, _ret_1, _a_endLoop, _a_guardExp);
_txt = omc_Tpl_softNewLine(threadData, _txt);
_txt = omc_Tpl_popBlock(threadData, _txt);
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT111);
goto tmp3_done;
}
case 1: {
_txt = tmp4_1;
_a_arrayType = tmp4_3;
_a_firstIndex = tmp4_4;
_a_loopVar = tmp4_5;
_a_iter_ty = tmp4_6;
_a_endLoop = tmp4_7;
_a_guardExp = tmp4_8;
_a_iteratorName = tmp4_10;
_a_guardCond = tmp4_12;
_l_addr = omc_CodegenCFunctions_fun__1122(threadData, _OMC_LIT20, _a_iter_ty, _a_arrayType, _a_firstIndex, _a_loopVar);
_ret_3 = (stringEqual(omc_Tpl_textString(threadData, _a_guardCond), _OMC_LIT28));
tmpMeta1 = omc_CodegenCFunctions_fun__1123(threadData, _txt, _ret_3, _a_endLoop, _a_guardExp, _l_addr, _a_iteratorName, _a_loopVar, _a_firstIndex);
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta1;
_return: OMC_LABEL_UNUSED
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_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 tmpMeta1;
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_endLoop;
tmp4_4 = _in_a_guardExp;
tmp4_5 = _in_a_addr;
tmp4_6 = _in_a_iteratorName;
tmp4_7 = _in_a_loopVar;
tmp4_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 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_guardExp = tmp4_4;
_a_addr = tmp4_5;
_a_iteratorName = tmp4_6;
_a_loopVar = tmp4_7;
_a_firstIndex = tmp4_8;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT351);
_txt = omc_Tpl_writeText(threadData, _txt, _a_firstIndex);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT353);
_txt = omc_Tpl_writeText(threadData, _txt, _a_loopVar);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT355);
_txt = omc_Tpl_pushBlock(threadData, _txt, _OMC_LIT105);
_txt = omc_Tpl_writeText(threadData, _txt, _a_iteratorName);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT129);
_txt = omc_Tpl_writeText(threadData, _txt, _a_addr);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT169);
_txt = omc_Tpl_writeText(threadData, _txt, _a_guardExp);
_txt = omc_Tpl_softNewLine(threadData, _txt);
_txt = omc_Tpl_popBlock(threadData, _txt);
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT111);
goto tmp3_done;
}
case 1: {
_txt = tmp4_1;
_a_endLoop = tmp4_3;
_a_addr = tmp4_5;
_a_iteratorName = tmp4_6;
_a_loopVar = tmp4_7;
_a_firstIndex = tmp4_8;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT357);
_txt = omc_Tpl_writeText(threadData, _txt, _a_firstIndex);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT353);
_txt = omc_Tpl_writeText(threadData, _txt, _a_loopVar);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT355);
_txt = omc_Tpl_pushBlock(threadData, _txt, _OMC_LIT105);
_txt = omc_Tpl_writeText(threadData, _txt, _a_iteratorName);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT129);
_txt = omc_Tpl_writeText(threadData, _txt, _a_addr);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT169);
_txt = omc_Tpl_writeText(threadData, _txt, _a_endLoop);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT358);
_txt = omc_Tpl_popBlock(threadData, _txt);
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT111);
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta1;
_return: OMC_LABEL_UNUSED
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_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__1123(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__1122(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 tmpMeta1;
MMC_SO();
_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_iter_ty;
tmp4_3 = _in_a_arrayType;
tmp4_4 = _in_a_firstIndex;
tmp4_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 tmp4;
int tmp5;
tmp4 = 0;
for (; tmp4 < 2; tmp4++) {
switch (MMC_SWITCH_CAST(tmp4)) {
case 0: {
modelica_metatype tmpMeta6;
modelica_metatype tmpMeta7;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,6,2) == 0) goto tmp3_end;
tmpMeta6 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta6,9,3) == 0) goto tmp3_end;
tmpMeta7 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta6), 2));
_i_record__state = tmpMeta7;
_txt = tmp4_1;
_a_firstIndex = tmp4_4;
_a_loopVar = tmp4_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_LIT360);
_txt = omc_Tpl_writeText(threadData, _txt, _a_loopVar);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT362);
_txt = omc_Tpl_writeText(threadData, _txt, _a_firstIndex);
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT364);
goto tmp3_done;
}
case 1: {
_txt = tmp4_1;
_a_arrayType = tmp4_3;
_a_firstIndex = tmp4_4;
_a_loopVar = tmp4_5;
_txt = omc_Tpl_writeText(threadData, _txt, _a_arrayType);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT366);
_txt = omc_Tpl_writeText(threadData, _txt, _a_loopVar);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT362);
_txt = omc_Tpl_writeText(threadData, _txt, _a_firstIndex);
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT364);
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta1;
_return: OMC_LABEL_UNUSED
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__1121(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 tmpMeta1;
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_endLoop;
tmp4_4 = _in_a_guardExp;
{
modelica_metatype _txt = NULL;
modelica_metatype _a_endLoop = NULL;
modelica_metatype _a_guardExp = 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_guardExp = tmp4_4;
tmpMeta1 = omc_Tpl_writeText(threadData, _txt, _a_guardExp);
goto tmp3_done;
}
case 1: {
_txt = tmp4_1;
_a_endLoop = tmp4_3;
_txt = omc_Tpl_writeText(threadData, _txt, _a_endLoop);
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT368);
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta1;
_return: OMC_LABEL_UNUSED
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__1121(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__1121(threadData, _in_txt, tmp1, _in_a_endLoop, _in_a_guardExp);
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__1120(threadData_t *threadData, modelica_metatype _in_txt, modelica_boolean _in_mArg)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta1;
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_boolean tmp4_2;
tmp4_1 = _in_txt;
tmp4_2 = _in_mArg;
{
modelica_metatype _txt = 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;
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT370);
goto tmp3_done;
}
case 1: {
_txt = tmp4_1;
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT372);
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta1;
_return: OMC_LABEL_UNUSED
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__1120(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__1120(threadData, _in_txt, tmp1);
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__1119(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 tmpMeta1;
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_firstIndex;
tmp4_4 = _in_a_endLoop;
tmp4_5 = _in_a_guardExp;
tmp4_6 = _in_a_iteratorName;
tmp4_7 = _in_a_loopVar;
tmp4_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 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_endLoop = tmp4_4;
_a_guardExp = tmp4_5;
_a_iteratorName = tmp4_6;
_a_loopVar = tmp4_7;
_a_guardCond = tmp4_8;
_ret_0 = (stringEqual(omc_Tpl_textString(threadData, _a_guardCond), _OMC_LIT28));
tmpMeta1 = omc_CodegenCFunctions_fun__1117(threadData, _txt, _ret_0, _a_endLoop, _a_guardExp, _a_iteratorName, _a_loopVar);
goto tmp3_done;
}
case 1: {
_txt = tmp4_1;
_a_firstIndex = tmp4_3;
_a_endLoop = tmp4_4;
_a_guardExp = tmp4_5;
_a_iteratorName = tmp4_6;
_a_loopVar = tmp4_7;
_a_guardCond = tmp4_8;
_ret_1 = (stringEqual(omc_Tpl_textString(threadData, _a_guardCond), _OMC_LIT28));
tmpMeta1 = omc_CodegenCFunctions_fun__1118(threadData, _txt, _ret_1, _a_endLoop, _a_guardExp, _a_iteratorName, _a_loopVar, _a_firstIndex);
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta1;
_return: OMC_LABEL_UNUSED
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__1119(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__1119(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__1118(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 tmpMeta1;
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_endLoop;
tmp4_4 = _in_a_guardExp;
tmp4_5 = _in_a_iteratorName;
tmp4_6 = _in_a_loopVar;
tmp4_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 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_guardExp = tmp4_4;
_a_iteratorName = tmp4_5;
_a_loopVar = tmp4_6;
_a_firstIndex = tmp4_7;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT374);
_txt = omc_Tpl_writeText(threadData, _txt, _a_firstIndex);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT376);
_txt = omc_Tpl_writeText(threadData, _txt, _a_loopVar);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT158);
_txt = omc_Tpl_pushBlock(threadData, _txt, _OMC_LIT105);
_txt = omc_Tpl_writeText(threadData, _txt, _a_iteratorName);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT378);
_txt = omc_Tpl_writeText(threadData, _txt, _a_loopVar);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT301);
_txt = omc_Tpl_writeText(threadData, _txt, _a_firstIndex);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT380);
_txt = omc_Tpl_writeText(threadData, _txt, _a_guardExp);
_txt = omc_Tpl_softNewLine(threadData, _txt);
_txt = omc_Tpl_popBlock(threadData, _txt);
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT111);
goto tmp3_done;
}
case 1: {
_txt = tmp4_1;
_a_endLoop = tmp4_3;
_a_iteratorName = tmp4_5;
_a_loopVar = tmp4_6;
_a_firstIndex = tmp4_7;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT257);
_txt = omc_Tpl_writeText(threadData, _txt, _a_firstIndex);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT376);
_txt = omc_Tpl_writeText(threadData, _txt, _a_loopVar);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT158);
_txt = omc_Tpl_pushBlock(threadData, _txt, _OMC_LIT105);
_txt = omc_Tpl_writeText(threadData, _txt, _a_iteratorName);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT378);
_txt = omc_Tpl_writeText(threadData, _txt, _a_loopVar);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT301);
_txt = omc_Tpl_writeText(threadData, _txt, _a_firstIndex);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT380);
_txt = omc_Tpl_writeText(threadData, _txt, _a_endLoop);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT358);
_txt = omc_Tpl_popBlock(threadData, _txt);
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT111);
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta1;
_return: OMC_LABEL_UNUSED
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__1118(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__1118(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__1117(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 tmpMeta1;
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_endLoop;
tmp4_4 = _in_a_guardExp;
tmp4_5 = _in_a_iteratorName;
tmp4_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 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_guardExp = tmp4_4;
_a_iteratorName = tmp4_5;
_a_loopVar = tmp4_6;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT382);
_txt = omc_Tpl_writeText(threadData, _txt, _a_loopVar);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT158);
_txt = omc_Tpl_pushBlock(threadData, _txt, _OMC_LIT105);
_txt = omc_Tpl_writeText(threadData, _txt, _a_iteratorName);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT384);
_txt = omc_Tpl_writeText(threadData, _txt, _a_loopVar);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT386);
_txt = omc_Tpl_writeText(threadData, _txt, _a_loopVar);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT388);
_txt = omc_Tpl_writeText(threadData, _txt, _a_loopVar);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT386);
_txt = omc_Tpl_writeText(threadData, _txt, _a_guardExp);
_txt = omc_Tpl_softNewLine(threadData, _txt);
_txt = omc_Tpl_popBlock(threadData, _txt);
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT111);
goto tmp3_done;
}
case 1: {
_txt = tmp4_1;
_a_endLoop = tmp4_3;
_a_iteratorName = tmp4_5;
_a_loopVar = tmp4_6;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT390);
_txt = omc_Tpl_writeText(threadData, _txt, _a_loopVar);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT158);
_txt = omc_Tpl_pushBlock(threadData, _txt, _OMC_LIT105);
_txt = omc_Tpl_writeText(threadData, _txt, _a_iteratorName);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT384);
_txt = omc_Tpl_writeText(threadData, _txt, _a_loopVar);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT386);
_txt = omc_Tpl_writeText(threadData, _txt, _a_loopVar);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT388);
_txt = omc_Tpl_writeText(threadData, _txt, _a_loopVar);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT386);
_txt = omc_Tpl_writeText(threadData, _txt, _a_endLoop);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT358);
_txt = omc_Tpl_popBlock(threadData, _txt);
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT111);
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta1;
_return: OMC_LABEL_UNUSED
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__1117(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__1117(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__1116(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 tmpMeta1;
MMC_SO();
_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_iter_exp;
tmp4_3 = _in_a_stepVar;
tmp4_4 = _in_a_rangeExp;
tmp4_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 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_stepVar = tmp4_3;
_a_rangeExp = tmp4_4;
_a_iteratorName = tmp4_5;
_txt = omc_Tpl_writeText(threadData, _txt, _a_iteratorName);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT392);
_txt = omc_Tpl_writeText(threadData, _txt, _a_rangeExp);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT394);
_txt = omc_Tpl_writeText(threadData, _txt, _a_stepVar);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT113);
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT98);
goto tmp3_done;
}
case 1: {
_txt = tmp4_1;
tmpMeta1 = _txt;
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta1;
_return: OMC_LABEL_UNUSED
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__1115(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 tmpMeta1;
MMC_SO();
_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_isArrayWithLength;
tmp4_3 = _in_a_stepVar;
tmp4_4 = _in_a_firstIndex;
tmp4_5 = _in_a_stopVar;
tmp4_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 tmp4;
int tmp5;
tmp4 = 0;
for (; tmp4 < 2; tmp4++) {
switch (MMC_SWITCH_CAST(tmp4)) {
case 0: {
modelica_metatype tmpMeta6;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,0,2) == 0) goto tmp3_end;
tmpMeta6 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
if (!listEmpty(tmpMeta6)) goto tmp3_end;
_txt = tmp4_1;
tmpMeta1 = _txt;
goto tmp3_done;
}
case 1: {
_txt = tmp4_1;
_a_stepVar = tmp4_3;
_a_firstIndex = tmp4_4;
_a_stopVar = tmp4_5;
_a_iteratorName = tmp4_6;
_txt = omc_Tpl_writeText(threadData, _txt, _a_iteratorName);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT396);
_txt = omc_Tpl_writeText(threadData, _txt, _a_stopVar);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT398);
_txt = omc_CodegenCFunctions_fun__1114(threadData, _txt, _a_firstIndex, _a_iteratorName);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT400);
_txt = omc_Tpl_writeText(threadData, _txt, _a_stepVar);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT402);
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT98);
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta1;
_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_a_firstIndex, modelica_metatype _in_a_iteratorName)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta1;
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_firstIndex;
tmp4_3 = _in_a_iteratorName;
{
modelica_metatype _txt = NULL;
modelica_metatype _a_iteratorName = NULL;
modelica_metatype _i_firstIndex = NULL;
volatile mmc_switch_type tmp4;
int tmp5;
tmp4 = 0;
for (; tmp4 < 2; tmp4++) {
switch (MMC_SWITCH_CAST(tmp4)) {
case 0: {
modelica_metatype tmpMeta6;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,0,2) == 0) goto tmp3_end;
tmpMeta6 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
if (!listEmpty(tmpMeta6)) goto tmp3_end;
_txt = tmp4_1;
_a_iteratorName = tmp4_3;
tmpMeta1 = omc_Tpl_writeText(threadData, _txt, _a_iteratorName);
goto tmp3_done;
}
case 1: {
_txt = tmp4_1;
_i_firstIndex = tmp4_2;
tmpMeta1 = omc_Tpl_writeText(threadData, _txt, _i_firstIndex);
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta1;
_return: OMC_LABEL_UNUSED
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__1113(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[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_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: {
modelica_metatype tmpMeta6;
if (optionNone(tmp4_2)) goto tmp3_end;
tmpMeta6 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 1));
_i_grd = tmpMeta6;
_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__1112(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 tmpMeta1;
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_iter_exp;
tmp4_3 = _in_a_firstIndex;
{
modelica_metatype _txt = NULL;
modelica_metatype _a_firstIndex = 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;
tmpMeta1 = _txt;
goto tmp3_done;
}
case 1: {
_txt = tmp4_1;
_a_firstIndex = tmp4_3;
tmpMeta1 = omc_CodegenCFunctions_fun__1111(threadData, _txt, _a_firstIndex);
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta1;
_return: OMC_LABEL_UNUSED
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__1111(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_firstIndex)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta1;
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_metatype tmp4_2;
tmp4_1 = _in_txt;
tmp4_2 = _in_a_firstIndex;
{
modelica_metatype _txt = NULL;
modelica_metatype _i_firstIndex = NULL;
volatile mmc_switch_type tmp4;
int tmp5;
tmp4 = 0;
for (; tmp4 < 2; tmp4++) {
switch (MMC_SWITCH_CAST(tmp4)) {
case 0: {
modelica_metatype tmpMeta6;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,0,2) == 0) goto tmp3_end;
tmpMeta6 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
if (!listEmpty(tmpMeta6)) goto tmp3_end;
_txt = tmp4_1;
tmpMeta1 = _txt;
goto tmp3_done;
}
case 1: {
_txt = tmp4_1;
_i_firstIndex = tmp4_2;
_txt = omc_Tpl_writeText(threadData, _txt, _i_firstIndex);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT404);
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT98);
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta1;
_return: OMC_LABEL_UNUSED
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__1110(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_isArrayWithLength, modelica_metatype _in_a_iteratorName)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta1;
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_isArrayWithLength;
tmp4_3 = _in_a_iteratorName;
{
modelica_metatype _txt = NULL;
modelica_metatype _a_iteratorName = NULL;
volatile mmc_switch_type tmp4;
int tmp5;
tmp4 = 0;
for (; tmp4 < 2; tmp4++) {
switch (MMC_SWITCH_CAST(tmp4)) {
case 0: {
modelica_metatype tmpMeta6;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,0,2) == 0) goto tmp3_end;
tmpMeta6 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
if (!listEmpty(tmpMeta6)) goto tmp3_end;
_txt = tmp4_1;
tmpMeta1 = _txt;
goto tmp3_done;
}
case 1: {
_txt = tmp4_1;
_a_iteratorName = tmp4_3;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT406);
_txt = omc_Tpl_writeText(threadData, _txt, _a_iteratorName);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT408);
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT98);
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta1;
_return: OMC_LABEL_UNUSED
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__1109(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 tmpMeta1;
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_rangeExpStop;
tmp4_3 = _in_a_ri_path;
{
modelica_metatype _txt = NULL;
modelica_metatype _a_ri_path = NULL;
volatile mmc_switch_type tmp4;
int tmp5;
tmp4 = 0;
for (; tmp4 < 2; tmp4++) {
switch (MMC_SWITCH_CAST(tmp4)) {
case 0: {
modelica_metatype tmpMeta6;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,0,2) == 0) goto tmp3_end;
tmpMeta6 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
if (!listEmpty(tmpMeta6)) goto tmp3_end;
_txt = tmp4_1;
tmpMeta1 = _txt;
goto tmp3_done;
}
case 1: {
_txt = tmp4_1;
_a_ri_path = tmp4_3;
tmpMeta1 = omc_CodegenCFunctions_fun__1108(threadData, _txt, _a_ri_path);
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta1;
_return: OMC_LABEL_UNUSED
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__1108(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_ri_path)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta1;
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_metatype tmp4_2;
tmp4_1 = _in_txt;
tmp4_2 = _in_a_ri_path;
{
modelica_metatype _txt = NULL;
volatile mmc_switch_type tmp4;
int tmp5;
tmp4 = 0;
for (; tmp4 < 2; tmp4++) {
switch (MMC_SWITCH_CAST(tmp4)) {
case 0: {
modelica_metatype tmpMeta6;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,1,1) == 0) goto tmp3_end;
tmpMeta6 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
if (5 != MMC_STRLEN(tmpMeta6) || strcmp(MMC_STRINGDATA(_OMC_LIT285), MMC_STRINGDATA(tmpMeta6)) != 0) goto tmp3_end;
_txt = tmp4_1;
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT410);
goto tmp3_done;
}
case 1: {
_txt = tmp4_1;
tmpMeta1 = _txt;
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta1;
_return: OMC_LABEL_UNUSED
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__1107(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 tmpMeta1;
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_rangeExpStop;
tmp4_3 = _in_a_iter_exp;
tmp4_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 tmp4;
int tmp5;
tmp4 = 0;
for (; tmp4 < 2; tmp4++) {
switch (MMC_SWITCH_CAST(tmp4)) {
case 0: {
modelica_metatype tmpMeta6;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,0,2) == 0) goto tmp3_end;
tmpMeta6 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
if (!listEmpty(tmpMeta6)) goto tmp3_end;
_txt = tmp4_1;
tmpMeta1 = _txt;
goto tmp3_done;
}
case 1: {
_txt = tmp4_1;
_a_iter_exp = tmp4_3;
_a_stepVar = tmp4_4;
_l_check = omc_Tpl_writeTok(threadData, _OMC_LIT20, _OMC_LIT257);
_l_check = omc_Tpl_writeText(threadData, _l_check, _a_stepVar);
_l_check = omc_Tpl_writeTok(threadData, _l_check, _OMC_LIT417);
_l_check = omc_Tpl_writeTok(threadData, _l_check, _OMC_LIT98);
tmpMeta1 = omc_CodegenCFunctions_fun__1106(threadData, _txt, _a_iter_exp, _l_check);
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta1;
_return: OMC_LABEL_UNUSED
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__1106(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 tmpMeta1;
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_iter_exp;
tmp4_3 = _in_a_check;
{
modelica_metatype _txt = NULL;
modelica_metatype _a_check = NULL;
volatile mmc_switch_type tmp4;
int tmp5;
tmp4 = 0;
for (; tmp4 < 4; tmp4++) {
switch (MMC_SWITCH_CAST(tmp4)) {
case 0: {
modelica_metatype tmpMeta6;
modelica_metatype tmpMeta7;
modelica_metatype tmpMeta8;
modelica_integer tmp9;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,18,4) == 0) goto tmp3_end;
tmpMeta6 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 4));
if (optionNone(tmpMeta6)) goto tmp3_end;
tmpMeta7 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta6), 1));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta7,0,1) == 0) goto tmp3_end;
tmpMeta8 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta7), 2));
tmp9 = mmc_unbox_integer(tmpMeta8);
if (0 != tmp9) goto tmp3_end;
_txt = tmp4_1;
_a_check = tmp4_3;
tmpMeta1 = omc_Tpl_writeText(threadData, _txt, _a_check);
goto tmp3_done;
}
case 1: {
modelica_metatype tmpMeta10;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,18,4) == 0) goto tmp3_end;
tmpMeta10 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 4));
if (!optionNone(tmpMeta10)) goto tmp3_end;
_txt = tmp4_1;
tmpMeta1 = _txt;
goto tmp3_done;
}
case 2: {
modelica_metatype tmpMeta11;
modelica_metatype tmpMeta12;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,18,4) == 0) goto tmp3_end;
tmpMeta11 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 4));
if (optionNone(tmpMeta11)) goto tmp3_end;
tmpMeta12 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta11), 1));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta12,0,1) == 0) goto tmp3_end;
_txt = tmp4_1;
tmpMeta1 = _txt;
goto tmp3_done;
}
case 3: {
_txt = tmp4_1;
_a_check = tmp4_3;
tmpMeta1 = omc_Tpl_writeText(threadData, _txt, _a_check);
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta1;
_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_rangeExpStop, modelica_metatype _in_a_stopVar)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta1;
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_rangeExpStop;
tmp4_3 = _in_a_stopVar;
{
modelica_metatype _txt = NULL;
modelica_metatype _a_stopVar = NULL;
modelica_metatype _i_rangeExpStop = NULL;
volatile mmc_switch_type tmp4;
int tmp5;
tmp4 = 0;
for (; tmp4 < 2; tmp4++) {
switch (MMC_SWITCH_CAST(tmp4)) {
case 0: {
modelica_metatype tmpMeta6;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,0,2) == 0) goto tmp3_end;
tmpMeta6 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
if (!listEmpty(tmpMeta6)) goto tmp3_end;
_txt = tmp4_1;
tmpMeta1 = _txt;
goto tmp3_done;
}
case 1: {
_txt = tmp4_1;
_i_rangeExpStop = tmp4_2;
_a_stopVar = tmp4_3;
_txt = omc_Tpl_writeText(threadData, _txt, _a_stopVar);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT129);
_txt = omc_Tpl_writeText(threadData, _txt, _i_rangeExpStop);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT113);
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT98);
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta1;
_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_rangeExpStep, modelica_metatype _in_a_stepVar)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta1;
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_rangeExpStep;
tmp4_3 = _in_a_stepVar;
{
modelica_metatype _txt = NULL;
modelica_metatype _a_stepVar = NULL;
modelica_metatype _i_rangeExpStep = NULL;
volatile mmc_switch_type tmp4;
int tmp5;
tmp4 = 0;
for (; tmp4 < 2; tmp4++) {
switch (MMC_SWITCH_CAST(tmp4)) {
case 0: {
modelica_metatype tmpMeta6;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,0,2) == 0) goto tmp3_end;
tmpMeta6 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
if (!listEmpty(tmpMeta6)) goto tmp3_end;
_txt = tmp4_1;
tmpMeta1 = _txt;
goto tmp3_done;
}
case 1: {
_txt = tmp4_1;
_i_rangeExpStep = tmp4_2;
_a_stepVar = tmp4_3;
_txt = omc_Tpl_writeText(threadData, _txt, _a_stepVar);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT129);
_txt = omc_Tpl_writeText(threadData, _txt, _i_rangeExpStep);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT113);
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT98);
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta1;
_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_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[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_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: {
modelica_metatype tmpMeta6;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,18,4) == 0) goto tmp3_end;
tmpMeta6 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 3));
_i_start = tmpMeta6;
_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_LIT419);
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__1102(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[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_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: {
modelica_metatype tmpMeta6;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,18,4) == 0) goto tmp3_end;
tmpMeta6 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 5));
_i_stop = tmpMeta6;
_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_LIT421);
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__1101(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[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_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: {
modelica_metatype tmpMeta6;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,18,4) == 0) goto tmp3_end;
tmpMeta6 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 4));
if (!optionNone(tmpMeta6)) 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_LIT423);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_auxFunction;
tmpMeta[0+2] = _a_tmpVarDecls;
tmpMeta[0+3] = _a_rangeExpPre;
goto tmp3_done;
}
case 1: {
modelica_metatype tmpMeta7;
modelica_metatype tmpMeta8;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,18,4) == 0) goto tmp3_end;
tmpMeta7 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 4));
if (optionNone(tmpMeta7)) goto tmp3_end;
tmpMeta8 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta7), 1));
_i_step = tmpMeta8;
_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_LIT425);
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__1100(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__1099(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__1099(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_LIT322), 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__1098(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_LIT253, _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__1098(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_LIT253, _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__1098(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__1098(threadData, _in_txt, tmp1, _in_a_tmpVarDecls, out_out_a_tmpVarDecls);
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__1097(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 tmpMeta1;
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_arrayType;
tmp4_4 = _in_a_iter_exp;
tmp4_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 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_LIT322), MMC_STRINGDATA(tmp4_2)) != 0) goto tmp3_end;
_txt = tmp4_1;
_a_loopVar = tmp4_5;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT427);
_txt = omc_Tpl_writeText(threadData, _txt, _a_loopVar);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT282);
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT98);
goto tmp3_done;
}
case 1: {
_txt = tmp4_1;
_a_arrayType = tmp4_3;
_a_iter_exp = tmp4_4;
_a_loopVar = tmp4_5;
tmpMeta1 = omc_CodegenCFunctions_fun__1096(threadData, _txt, _a_iter_exp, _a_loopVar, _a_arrayType);
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta1;
_return: OMC_LABEL_UNUSED
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__1096(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 tmpMeta1;
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_loopVar;
tmp4_4 = _in_a_arrayType;
{
modelica_metatype _txt = NULL;
modelica_metatype _a_loopVar = NULL;
modelica_metatype _a_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,18,4) == 0) goto tmp3_end;
_txt = tmp4_1;
tmpMeta1 = _txt;
goto tmp3_done;
}
case 1: {
_txt = tmp4_1;
_a_loopVar = tmp4_3;
_a_arrayType = tmp4_4;
_txt = omc_Tpl_writeText(threadData, _txt, _a_arrayType);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT34);
_txt = omc_Tpl_writeText(threadData, _txt, _a_loopVar);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT113);
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT98);
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta1;
_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_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__1094(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__1093(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 tmpMeta1;
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_iter_exp;
tmp4_3 = _in_a_iteratorName;
{
modelica_metatype _txt = NULL;
modelica_metatype _a_iteratorName = 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_iteratorName = tmp4_3;
tmpMeta1 = omc_Tpl_writeText(threadData, _txt, _a_iteratorName);
goto tmp3_done;
}
case 1: {
_txt = tmp4_1;
_a_iteratorName = tmp4_3;
_txt = omc_Tpl_writeText(threadData, _txt, _a_iteratorName);
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT319);
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta1;
_return: OMC_LABEL_UNUSED
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__1092(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[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;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: {
modelica_metatype tmpMeta6;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,1,1) == 0) goto tmp3_end;
tmpMeta6 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
if (4 != MMC_STRLEN(tmpMeta6) || strcmp(MMC_STRINGDATA(_OMC_LIT434), MMC_STRINGDATA(tmpMeta6)) != 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_LIT265);
_txt = omc_Tpl_writeText(threadData, _txt, _a_resTail);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT429);
_txt = omc_Tpl_writeText(threadData, _txt, _a_reductionBodyExpr);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT431);
_txt = omc_Tpl_writeText(threadData, _txt, _a_resTail);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT433);
_txt = omc_Tpl_writeText(threadData, _txt, _a_resTail);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT299);
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: {
modelica_metatype tmpMeta7;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,1,1) == 0) goto tmp3_end;
tmpMeta7 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
if (11 != MMC_STRLEN(tmpMeta7) || strcmp(MMC_STRINGDATA(_OMC_LIT435), MMC_STRINGDATA(tmpMeta7)) != 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_LIT429);
_txt = omc_Tpl_writeText(threadData, _txt, _a_reductionBodyExpr);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT234);
_txt = omc_Tpl_writeText(threadData, _txt, _a_res);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT299);
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: {
modelica_metatype tmpMeta8;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,1,1) == 0) goto tmp3_end;
tmpMeta8 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
if (5 != MMC_STRLEN(tmpMeta8) || strcmp(MMC_STRINGDATA(_OMC_LIT285), MMC_STRINGDATA(tmpMeta8)) != 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__1089(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__1091(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__1091(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[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;
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: {
modelica_metatype tmpMeta6;
if (optionNone(tmp4_2)) goto tmp3_end;
tmpMeta6 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 1));
_i_fExp = tmpMeta6;
_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__1090(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__1090(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 tmpMeta1;
MMC_SO();
_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_foundFirst;
tmp4_3 = _in_a_reductionBodyExpr;
tmp4_4 = _in_a_fExpStr;
tmp4_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 tmp4;
int tmp5;
tmp4 = 0;
for (; tmp4 < 2; tmp4++) {
switch (MMC_SWITCH_CAST(tmp4)) {
case 0: {
modelica_metatype tmpMeta6;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,0,2) == 0) goto tmp3_end;
tmpMeta6 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
if (!listEmpty(tmpMeta6)) goto tmp3_end;
_txt = tmp4_1;
_a_fExpStr = tmp4_4;
_a_res = tmp4_5;
_txt = omc_Tpl_writeText(threadData, _txt, _a_res);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT129);
_txt = omc_Tpl_writeText(threadData, _txt, _a_fExpStr);
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT113);
goto tmp3_done;
}
case 1: {
_txt = tmp4_1;
_i_foundFirst = tmp4_2;
_a_reductionBodyExpr = tmp4_3;
_a_fExpStr = tmp4_4;
_a_res = tmp4_5;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT257);
_txt = omc_Tpl_writeText(threadData, _txt, _i_foundFirst);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT439);
_txt = omc_Tpl_pushBlock(threadData, _txt, _OMC_LIT105);
_txt = omc_Tpl_writeText(threadData, _txt, _a_res);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT129);
_txt = omc_Tpl_writeText(threadData, _txt, _a_fExpStr);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT169);
_txt = omc_Tpl_popBlock(threadData, _txt);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT443);
_txt = omc_Tpl_pushBlock(threadData, _txt, _OMC_LIT105);
_txt = omc_Tpl_writeText(threadData, _txt, _a_res);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT129);
_txt = omc_Tpl_writeText(threadData, _txt, _a_reductionBodyExpr);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT169);
_txt = omc_Tpl_writeText(threadData, _txt, _i_foundFirst);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT284);
_txt = omc_Tpl_popBlock(threadData, _txt);
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT111);
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta1;
_return: OMC_LABEL_UNUSED
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__1089(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[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_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: {
modelica_metatype tmpMeta5;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,9,3) == 0) goto tmp3_end;
tmpMeta5 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
_i_record__state = tmpMeta5;
_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_LIT360);
_txt = omc_Tpl_writeText(threadData, _txt, _a_res);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT362);
_txt = omc_Tpl_writeText(threadData, _txt, _a_arrIndex);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT445);
_txt = omc_Tpl_writeText(threadData, _txt, _a_reductionBodyExpr);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT113);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_varDecls;
goto tmp3_done;
}
case 9: {
modelica_metatype tmpMeta6;
modelica_metatype tmpMeta7;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,6,2) == 0) goto tmp3_end;
tmpMeta6 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
tmpMeta7 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 3));
_i_ty = tmpMeta6;
_i_dims = tmpMeta7;
_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_LIT446, _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__1088(threadData, _OMC_LIT20, _i_dims);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT448);
_txt = omc_Tpl_writeText(threadData, _txt, _l_tmp);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT301);
_txt = omc_Tpl_writeText(threadData, _txt, _l_nridx__str);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT450);
_txt = omc_Tpl_writeText(threadData, _txt, _a_arrIndex);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT452);
_txt = omc_Tpl_writeText(threadData, _txt, _l_idx__str);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT456);
_txt = omc_CodegenCFunctions_expTypeArray(threadData, _txt, _i_ty);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT30);
_txt = omc_Tpl_writeText(threadData, _txt, _a_reductionBodyExpr);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT131);
_txt = omc_Tpl_writeText(threadData, _txt, _a_res);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT131);
_txt = omc_Tpl_writeText(threadData, _txt, _l_tmp);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT299);
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_LIT366);
_txt = omc_Tpl_writeText(threadData, _txt, _a_res);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT362);
_txt = omc_Tpl_writeText(threadData, _txt, _a_arrIndex);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT445);
_txt = omc_Tpl_writeText(threadData, _txt, _a_reductionBodyExpr);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT113);
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__1088(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_items)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta1;
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_metatype tmp4_2;
tmp4_1 = _in_txt;
tmp4_2 = _in_items;
{
modelica_metatype _txt = NULL;
modelica_metatype _rest = 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;
tmpMeta1 = _txt;
goto tmp3_done;
}
case 1: {
modelica_metatype tmpMeta6;
modelica_metatype tmpMeta7;
if (listEmpty(tmp4_2)) goto tmp3_end;
tmpMeta6 = MMC_CAR(tmp4_2);
tmpMeta7 = MMC_CDR(tmp4_2);
_rest = tmpMeta7;
_txt = tmp4_1;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT458);
_in_txt = _txt;
_in_items = _rest;
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 = tmpMeta1;
_return: OMC_LABEL_UNUSED
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__1087(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[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_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: {
modelica_metatype tmpMeta6;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,1,1) == 0) goto tmp3_end;
tmpMeta6 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
if (5 != MMC_STRLEN(tmpMeta6) || strcmp(MMC_STRINGDATA(_OMC_LIT285), MMC_STRINGDATA(tmpMeta6)) != 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__1086(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__1086(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[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_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: {
modelica_metatype tmpMeta6;
if (optionNone(tmp4_2)) goto tmp3_end;
tmpMeta6 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 1));
_i_v = tmpMeta6;
_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__1085(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[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_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: {
modelica_metatype tmpMeta6;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,1,1) == 0) goto tmp3_end;
tmpMeta6 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
if (4 != MMC_STRLEN(tmpMeta6) || strcmp(MMC_STRINGDATA(_OMC_LIT434), MMC_STRINGDATA(tmpMeta6)) != 0) goto tmp3_end;
_txt = tmp4_1;
_a_tmpVarDecls = tmp4_3;
tmpMeta[0+0] = omc_CodegenCFunctions_tempDecl(threadData, _txt, _OMC_LIT459, _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__1084(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[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_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: {
modelica_metatype tmpMeta6;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,1,1) == 0) goto tmp3_end;
tmpMeta6 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
if (5 != MMC_STRLEN(tmpMeta6) || strcmp(MMC_STRINGDATA(_OMC_LIT285), MMC_STRINGDATA(tmpMeta6)) != 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__1083(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__1083(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_LIT253, _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__1082(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[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_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: {
modelica_metatype tmpMeta6;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,1,1) == 0) goto tmp3_end;
tmpMeta6 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
if (5 != MMC_STRLEN(tmpMeta6) || strcmp(MMC_STRINGDATA(_OMC_LIT285), MMC_STRINGDATA(tmpMeta6)) != 0) goto tmp3_end;
_txt = tmp4_1;
_a_tmpVarDecls = tmp4_3;
tmpMeta[0+0] = omc_CodegenCFunctions_tempDecl(threadData, _txt, _OMC_LIT253, _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[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_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: {
modelica_metatype tmpMeta6;
modelica_metatype tmpMeta7;
modelica_metatype tmpMeta8;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,24,2) == 0) goto tmp3_end;
tmpMeta6 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
tmpMeta7 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 3));
if (optionNone(tmpMeta7)) goto tmp3_end;
tmpMeta8 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta7), 1));
_i_exp = tmpMeta6;
_i_dim = tmpMeta8;
_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_LIT253, _a_varDecls ,&_a_varDecls);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _l_resVar);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT461);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _l_expPart);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT301);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _l_dimPart);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT299);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT98);
_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: {
modelica_metatype tmpMeta9;
modelica_metatype tmpMeta10;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,24,2) == 0) goto tmp3_end;
tmpMeta9 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
tmpMeta10 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 3));
if (!optionNone(tmpMeta10)) goto tmp3_end;
_i_exp = tmpMeta9;
_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_LIT462, _a_varDecls ,&_a_varDecls);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT464);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _l_expPart);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT131);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _l_resVar);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT299);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT98);
_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_LIT239);
_txt_3 = omc_Tpl_writeTok(threadData, _txt_3, _OMC_LIT466);
_txt = omc_CodegenUtil_error(threadData, _txt, omc_Tpl_sourceInfo(threadData, _OMC_LIT27, ((modelica_integer) 7140), ((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_LIT468);
_txt_0 = omc_ExpressionDumpTpl_dumpExp(threadData, _txt_0, _i_exp, _OMC_LIT239);
_txt_0 = omc_Tpl_writeTok(threadData, _txt_0, _OMC_LIT87);
_txt = omc_CodegenUtil_error(threadData, _txt, omc_Tpl_sourceInfo(threadData, _OMC_LIT27, ((modelica_integer) 7121), ((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[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_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_metatype tmpMeta5;
modelica_integer tmp6;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,0,1) == 0) goto tmp3_end;
tmpMeta5 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
tmp6 = mmc_unbox_integer(tmpMeta5);
_i_integer = tmp6;
_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_metatype tmpMeta7;
modelica_integer tmp8;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,5,2) == 0) goto tmp3_end;
tmpMeta7 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 3));
tmp8 = mmc_unbox_integer(tmpMeta7);
_i_index = tmp8;
_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_LIT30);
_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_LIT470);
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__1077(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__1077(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_LIT471), 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__1071(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__1076(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__1076(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[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_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_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_18 = NULL;
modelica_metatype _ret_17 = NULL;
modelica_metatype _l_typeShort = NULL;
modelica_metatype _l_exp = NULL;
modelica_metatype _ret_14 = 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: {
modelica_metatype tmpMeta6;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,21,2) == 0) goto tmp3_end;
tmpMeta6 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta6,21,2) == 0) goto tmp3_end;
_i_exp = tmpMeta6;
_txt = tmp4_1;
_a_auxFunction = tmp4_3;
_a_preExp = tmp4_4;
_a_varDecls = tmp4_6;
_txt_0 = omc_Tpl_writeTok(threadData, _OMC_LIT20, _OMC_LIT473);
_txt_0 = omc_ExpressionDumpTpl_dumpExp(threadData, _txt_0, _i_exp, _OMC_LIT239);
_txt = omc_CodegenUtil_error(threadData, _txt, omc_Tpl_sourceInfo(threadData, _OMC_LIT27, ((modelica_integer) 7039), ((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_metatype tmpMeta7;
modelica_metatype tmpMeta8;
modelica_integer tmp9;
modelica_metatype tmpMeta10;
modelica_metatype tmpMeta11;
modelica_metatype tmpMeta12;
modelica_metatype tmpMeta13;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,21,2) == 0) goto tmp3_end;
tmpMeta7 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta7,16,3) == 0) goto tmp3_end;
tmpMeta8 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta7), 3));
tmp9 = mmc_unbox_integer(tmpMeta8);
if (1 != tmp9) goto tmp3_end;
tmpMeta10 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta7), 4));
tmpMeta11 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 3));
if (listEmpty(tmpMeta11)) goto tmp3_end;
tmpMeta12 = MMC_CAR(tmpMeta11);
tmpMeta13 = MMC_CDR(tmpMeta11);
if (!listEmpty(tmpMeta13)) goto tmp3_end;
_i_exp = tmpMeta7;
_i_exp_array = tmpMeta10;
_i_idx = tmpMeta12;
_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_LIT474);
_l_expl = omc_CodegenCFunctions_lm__1072(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_LIT476);
_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_expl);
_a_preExp = omc_Tpl_softNewLine(threadData, _a_preExp);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT482);
_a_preExp = omc_Tpl_pushBlock(threadData, _a_preExp, _OMC_LIT105);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT484);
_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_LIT486);
_txt_6 = omc_ExpressionDumpTpl_dumpExp(threadData, _OMC_LIT20, _i_exp, _OMC_LIT239);
_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_LIT488);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _l_idx1);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT386);
_a_preExp = omc_Tpl_popBlock(threadData, _a_preExp);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT167);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT98);
_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: {
modelica_metatype tmpMeta14;
modelica_metatype tmpMeta15;
modelica_metatype tmpMeta16;
modelica_metatype tmpMeta17;
modelica_metatype tmpMeta18;
modelica_metatype tmpMeta19;
modelica_metatype tmpMeta20;
modelica_metatype tmpMeta21;
modelica_metatype tmpMeta22;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,21,2) == 0) goto tmp3_end;
tmpMeta14 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta14,18,4) == 0) goto tmp3_end;
tmpMeta15 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta14), 2));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta15,6,2) == 0) goto tmp3_end;
tmpMeta16 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta15), 2));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta16,0,1) == 0) goto tmp3_end;
tmpMeta17 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta14), 3));
tmpMeta18 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta14), 4));
if (!optionNone(tmpMeta18)) goto tmp3_end;
tmpMeta19 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta14), 5));
tmpMeta20 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 3));
if (listEmpty(tmpMeta20)) goto tmp3_end;
tmpMeta21 = MMC_CAR(tmpMeta20);
tmpMeta22 = MMC_CDR(tmpMeta20);
if (!listEmpty(tmpMeta22)) goto tmp3_end;
_i_range = tmpMeta14;
_i_range_start = tmpMeta17;
_i_range_stop = tmpMeta19;
_i_idx = tmpMeta21;
_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_LIT253, _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_LIT129);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _l_idx1);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT490);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _l_start);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT494);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _l_res);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT496);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _l_stop);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT191);
_a_preExp = omc_Tpl_pushBlock(threadData, _a_preExp, _OMC_LIT105);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT498);
_txt_10 = omc_ExpressionDumpTpl_dumpExp(threadData, _OMC_LIT20, _i_range, _OMC_LIT239);
_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_LIT488);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _l_res);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT386);
_a_preExp = omc_Tpl_popBlock(threadData, _a_preExp);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT111);
_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: {
modelica_metatype tmpMeta23;
modelica_metatype tmpMeta24;
modelica_metatype tmpMeta25;
modelica_metatype tmpMeta26;
modelica_metatype tmpMeta27;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,21,2) == 0) goto tmp3_end;
tmpMeta23 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta23,18,4) == 0) goto tmp3_end;
tmpMeta24 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta23), 2));
tmpMeta25 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 3));
if (listEmpty(tmpMeta25)) goto tmp3_end;
tmpMeta26 = MMC_CAR(tmpMeta25);
tmpMeta27 = MMC_CDR(tmpMeta25);
if (!listEmpty(tmpMeta27)) goto tmp3_end;
_i_exp = tmpMeta23;
_i_t = tmpMeta24;
_i_idx = tmpMeta26;
_txt = tmp4_1;
_a_auxFunction = tmp4_3;
_a_preExp = tmp4_4;
_a_varDecls = tmp4_6;
_txt_12 = omc_Tpl_writeTok(threadData, _OMC_LIT20, _OMC_LIT500);
_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_LIT502);
_txt_12 = omc_ExpressionDumpTpl_dumpExp(threadData, _txt_12, _i_exp, _OMC_LIT239);
_txt_12 = omc_Tpl_writeTok(threadData, _txt_12, _OMC_LIT504);
_txt_12 = omc_ExpressionDumpTpl_dumpExp(threadData, _txt_12, _i_idx, _OMC_LIT239);
_txt = omc_CodegenUtil_error(threadData, _txt, omc_Tpl_sourceInfo(threadData, _OMC_LIT27, ((modelica_integer) 7083), ((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: {
modelica_metatype tmpMeta28;
modelica_metatype tmpMeta29;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,21,2) == 0) goto tmp3_end;
tmpMeta28 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta28,6,2) == 0) goto tmp3_end;
tmpMeta29 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 3));
_i_ecr = tmpMeta28;
_i_subs = tmpMeta29;
_txt = tmp4_1;
_a_auxFunction = tmp4_3;
_a_preExp = tmp4_4;
_a_context = tmp4_5;
_a_varDecls = tmp4_6;
_ret_14 = omc_SimCodeFunctionUtil_buildCrefExpFromAsub(threadData, _i_ecr, _i_subs);
_txt = omc_CodegenCFunctions_daeExpCrefLhs(threadData, _txt, _ret_14, _a_context, _a_preExp, _a_varDecls, _a_auxFunction, 0 ,&_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 5: {
modelica_metatype tmpMeta30;
modelica_metatype tmpMeta31;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,21,2) == 0) goto tmp3_end;
tmpMeta30 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
tmpMeta31 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 3));
_i_inExp = tmp4_2;
_i_e = tmpMeta30;
_i_indexes = tmpMeta31;
_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_17 = omc_Expression_typeof(threadData, _i_inExp);
_txt = omc_CodegenCFunctions_fun__1075(threadData, _txt, _ret_17, _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_18 = omc_Tpl_writeTok(threadData, _OMC_LIT20, _OMC_LIT506);
_txt_18 = omc_ExpressionDumpTpl_dumpExp(threadData, _txt_18, _i_inExp, _OMC_LIT239);
_txt = omc_CodegenUtil_error(threadData, _txt, omc_Tpl_sourceInfo(threadData, _OMC_LIT27, ((modelica_integer) 7099), ((modelica_integer) 11)), omc_Tpl_textString(threadData, _txt_18));
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__1075(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_LIT508);
_txt_0 = omc_ExpressionDumpTpl_dumpExp(threadData, _txt_0, _a_inExp, _OMC_LIT239);
_txt_0 = omc_Tpl_writeTok(threadData, _txt_0, _OMC_LIT510);
_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_LIT512);
_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_LIT514);
_txt = omc_CodegenUtil_error(threadData, _txt, omc_Tpl_sourceInfo(threadData, _OMC_LIT27, ((modelica_integer) 7093), ((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_LIT303);
_l_expIndexes = omc_CodegenCFunctions_lm__1073(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_LIT516);
_ret_6 = listLength(_a_indexes);
_txt = omc_CodegenCFunctions_fun__1074(threadData, _txt, _ret_6);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT30);
_txt = omc_Tpl_writeText(threadData, _txt, _a_exp);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT301);
_txt = omc_Tpl_writeText(threadData, _txt, _l_expIndexes);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT87);
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__1074(threadData_t *threadData, modelica_metatype _in_txt, modelica_integer _in_mArg)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta1;
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_integer tmp4_2;
tmp4_1 = _in_txt;
tmp4_2 = _in_mArg;
{
modelica_metatype _txt = NULL;
modelica_integer _i_i;
volatile mmc_switch_type tmp4;
int tmp5;
tmp4 = 0;
for (; tmp4 < 2; tmp4++) {
switch (MMC_SWITCH_CAST(tmp4)) {
case 0: {
if (1 != tmp4_2) goto tmp3_end;
_txt = tmp4_1;
tmpMeta1 = _txt;
goto tmp3_done;
}
case 1: {
_txt = tmp4_1;
_i_i = tmp4_2;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT244);
_txt = omc_Tpl_writeStr(threadData, _txt, intString(_i_i));
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT518);
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta1;
_return: OMC_LABEL_UNUSED
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__1074(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__1074(threadData, _in_txt, tmp1);
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_lm__1073(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[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_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: {
modelica_metatype tmpMeta6;
modelica_metatype tmpMeta7;
if (listEmpty(tmp4_2)) goto tmp3_end;
tmpMeta6 = MMC_CAR(tmp4_2);
tmpMeta7 = MMC_CDR(tmp4_2);
_i_index = tmpMeta6;
_rest = tmpMeta7;
_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_lm__1072(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[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_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: {
modelica_metatype tmpMeta6;
modelica_metatype tmpMeta7;
if (listEmpty(tmp4_2)) goto tmp3_end;
tmpMeta6 = MMC_CAR(tmp4_2);
tmpMeta7 = MMC_CDR(tmp4_2);
_i_e = tmpMeta6;
_rest = tmpMeta7;
_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_LIT93);
_txt = omc_Tpl_writeStr(threadData, _txt, intString(_x_i1));
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT520);
_txt = omc_Tpl_pushBlock(threadData, _txt, _OMC_LIT105);
_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_LIT129);
_txt = omc_Tpl_writeText(threadData, _txt, _l_v);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT522);
_txt = omc_Tpl_popBlock(threadData, _txt);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT111);
_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__1071(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[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_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: {
modelica_metatype tmpMeta6;
modelica_metatype tmpMeta7;
modelica_metatype tmpMeta8;
modelica_metatype tmpMeta9;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,21,2) == 0) goto tmp3_end;
tmpMeta6 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
tmpMeta7 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 3));
if (listEmpty(tmpMeta7)) goto tmp3_end;
tmpMeta8 = MMC_CAR(tmpMeta7);
tmpMeta9 = MMC_CDR(tmpMeta7);
if (!listEmpty(tmpMeta9)) goto tmp3_end;
_i_e = tmpMeta6;
_i_idx = tmpMeta8;
_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_LIT524);
_txt = omc_Tpl_writeText(threadData, _txt, _l_e1);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT234);
_txt = omc_Tpl_writeText(threadData, _txt, _l_idx1);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT526);
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[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_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_metatype tmpMeta6;
modelica_metatype tmpMeta7;
modelica_integer tmp8;
modelica_metatype tmpMeta9;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,23,4) == 0) goto tmp3_end;
tmpMeta6 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
tmpMeta7 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 3));
tmp8 = mmc_unbox_integer(tmpMeta7);
if (-1 != tmp8) goto tmp3_end;
tmpMeta9 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 4));
_i_exp = tmpMeta6;
_i_fieldName = tmpMeta9;
_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_LIT528);
_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_metatype tmpMeta10;
modelica_metatype tmpMeta11;
modelica_integer tmp12;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,23,4) == 0) goto tmp3_end;
tmpMeta10 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
tmpMeta11 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 3));
tmp12 = mmc_unbox_integer(tmpMeta11);
_i_exp = tmpMeta10;
_i_ix = tmp12;
_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_LIT530);
_txt = omc_Tpl_writeText(threadData, _txt, _l_res);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT532);
_txt = omc_Tpl_writeText(threadData, _txt, _l_offset);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT534);
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_LIT239);
_txt_3 = omc_Tpl_writeTok(threadData, _txt_3, _OMC_LIT536);
_txt = omc_CodegenUtil_error(threadData, _txt, omc_Tpl_sourceInfo(threadData, _OMC_LIT27, ((modelica_integer) 7021), ((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[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_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_metatype tmpMeta6;
modelica_metatype tmpMeta7;
modelica_integer tmp8;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,22,3) == 0) goto tmp3_end;
tmpMeta6 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
tmpMeta7 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 3));
tmp8 = mmc_unbox_integer(tmpMeta7);
if (1 != tmp8) goto tmp3_end;
_i_exp = tmpMeta6;
_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_metatype tmpMeta9;
modelica_metatype tmpMeta10;
modelica_metatype tmpMeta11;
modelica_metatype tmpMeta12;
modelica_metatype tmpMeta13;
modelica_integer tmp14;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,22,3) == 0) goto tmp3_end;
tmpMeta9 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta9,13,3) == 0) goto tmp3_end;
tmpMeta10 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta9), 4));
tmpMeta11 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta10), 2));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta11,14,2) == 0) goto tmp3_end;
tmpMeta12 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta11), 2));
tmpMeta13 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 3));
tmp14 = mmc_unbox_integer(tmpMeta13);
_i_exp = tmpMeta9;
_i_tys = tmpMeta12;
_i_ix = tmp14;
_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_LIT127);
_l_additionalOutputs = omc_CodegenCFunctions_lm__1067(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__1068(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_LIT113);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT98);
_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_LIT239);
_txt_8 = omc_Tpl_writeTok(threadData, _txt_8, _OMC_LIT538);
_txt = omc_CodegenUtil_error(threadData, _txt, omc_Tpl_sourceInfo(threadData, _OMC_LIT27, ((modelica_integer) 7005), ((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__1068(threadData_t *threadData, modelica_metatype _in_txt, modelica_boolean _in_mArg, modelica_metatype _in_a_v)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta1;
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_v;
{
modelica_metatype _txt = 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 (0 != tmp4_2) goto tmp3_end;
_txt = tmp4_1;
tmpMeta1 = _txt;
goto tmp3_done;
}
case 1: {
_txt = tmp4_1;
_a_v = tmp4_3;
_txt = omc_Tpl_writeText(threadData, _txt, _a_v);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT540);
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT98);
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta1;
_return: OMC_LABEL_UNUSED
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__1068(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__1068(threadData, _in_txt, tmp1, _in_a_v);
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_lm__1067(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 tmpMeta1;
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_metatype tmp4_2;modelica_metatype tmp4_3;modelica_integer tmp4_4;
tmp4_1 = _in_txt;
tmp4_2 = _in_items;
tmp4_3 = _in_a_v;
tmp4_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 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;
tmpMeta1 = _txt;
goto tmp3_done;
}
case 1: {
modelica_metatype tmpMeta6;
modelica_metatype tmpMeta7;
if (listEmpty(tmp4_2)) goto tmp3_end;
tmpMeta6 = MMC_CAR(tmp4_2);
tmpMeta7 = MMC_CDR(tmp4_2);
_rest = tmpMeta7;
_txt = tmp4_1;
_a_v = tmp4_3;
_a_ix = tmp4_4;
_x_i1 = omc_Tpl_getIteri__i0(threadData, _txt);
_ret_0 = (_x_i1 == _a_ix);
_txt = omc_CodegenCFunctions_fun__1066(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 tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta1;
_return: OMC_LABEL_UNUSED
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_lm__1067(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__1067(threadData, _in_txt, _in_items, _in_a_v, tmp1);
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__1066(threadData_t *threadData, modelica_metatype _in_txt, modelica_boolean _in_mArg, modelica_metatype _in_a_v)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta1;
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_v;
{
modelica_metatype _txt = 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 (0 != tmp4_2) goto tmp3_end;
_txt = tmp4_1;
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT542);
goto tmp3_done;
}
case 1: {
_txt = tmp4_1;
_a_v = tmp4_3;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT131);
tmpMeta1 = omc_Tpl_writeText(threadData, _txt, _a_v);
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta1;
_return: OMC_LABEL_UNUSED
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__1066(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__1066(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[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_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: {
modelica_metatype tmpMeta6;
modelica_metatype tmpMeta7;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,20,2) == 0) goto tmp3_end;
tmpMeta6 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
tmpMeta7 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 3));
_i_ty = tmpMeta6;
_i_exp = tmpMeta7;
_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__1064(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__1064(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[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_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_LIT30);
_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_LIT87);
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_LIT30);
_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_LIT87);
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_LIT30);
_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_LIT87);
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_LIT30);
_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_LIT87);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_preExp;
tmpMeta[0+2] = _a_varDecls;
goto tmp3_done;
}
case 4: {
modelica_metatype tmpMeta6;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,6,2) == 0) goto tmp3_end;
tmpMeta6 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
_i_ty = tmpMeta6;
_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_LIT129);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _a_expVar);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT113);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT98);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT544);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _l_from);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT546);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _l_to);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT307);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _l_tevar);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT131);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _l_tvar);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT299);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT98);
_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: {
modelica_metatype tmpMeta7;
modelica_metatype tmpMeta8;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,9,3) == 0) goto tmp3_end;
tmpMeta7 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta7,3,1) == 0) goto tmp3_end;
tmpMeta8 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 3));
_i_ty1_varLst = tmpMeta8;
_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__1063(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__1063(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 tmpMeta1;
MMC_SO();
_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_expVar;
tmp4_4 = _in_a_exp;
tmp4_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 tmp4;
int tmp5;
tmp4 = 0;
for (; tmp4 < 2; tmp4++) {
switch (MMC_SWITCH_CAST(tmp4)) {
case 0: {
modelica_metatype tmpMeta6;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,9,3) == 0) goto tmp3_end;
tmpMeta6 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 3));
_i_ty2_varLst = tmpMeta6;
_txt = tmp4_1;
_a_expVar = tmp4_3;
_a_exp = tmp4_4;
_a_ty1_varLst = tmp4_5;
_ret_0 = listLength(_a_ty1_varLst);
_ret_1 = listLength(_i_ty2_varLst);
_ret_2 = (_ret_0 == _ret_1);
tmpMeta1 = omc_CodegenCFunctions_fun__1062(threadData, _txt, _ret_2, _a_expVar, _a_exp);
goto tmp3_done;
}
case 1: {
_txt = tmp4_1;
_a_expVar = tmp4_3;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT30);
_txt = omc_Tpl_writeText(threadData, _txt, _a_expVar);
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT548);
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta1;
_return: OMC_LABEL_UNUSED
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__1062(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 tmpMeta1;
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_expVar;
tmp4_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 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;
_txt_0 = omc_Tpl_writeTok(threadData, _OMC_LIT20, _OMC_LIT550);
_txt_0 = omc_ExpressionDumpTpl_dumpExp(threadData, _txt_0, _a_exp, _OMC_LIT239);
tmpMeta1 = omc_CodegenUtil_error(threadData, _txt, omc_Tpl_sourceInfo(threadData, _OMC_LIT27, ((modelica_integer) 6978), ((modelica_integer) 17)), omc_Tpl_textString(threadData, _txt_0));
goto tmp3_done;
}
case 1: {
_txt = tmp4_1;
_a_expVar = tmp4_3;
tmpMeta1 = omc_Tpl_writeText(threadData, _txt, _a_expVar);
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta1;
_return: OMC_LABEL_UNUSED
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__1062(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__1062(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[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_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: {
modelica_metatype tmpMeta6;
modelica_metatype tmpMeta7;
modelica_metatype tmpMeta8;
modelica_metatype tmpMeta9;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,18,4) == 0) goto tmp3_end;
tmpMeta6 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
tmpMeta7 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 3));
tmpMeta8 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 4));
tmpMeta9 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 5));
_i_ty = tmpMeta6;
_i_start = tmpMeta7;
_i_step = tmpMeta8;
_i_stop = tmpMeta9;
_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__1060(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_LIT552);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _l_ty__str);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT554);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _l_tmp);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT301);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _l_start__exp);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT301);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _l_step__exp);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT301);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _l_stop__exp);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT299);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT98);
_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__1060(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[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_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: {
modelica_metatype tmpMeta6;
if (optionNone(tmp4_2)) goto tmp3_end;
tmpMeta6 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 1));
_i_stepExp = tmpMeta6;
_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_LIT410);
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_LIT104);
_l_preExp2 = omc_CodegenCFunctions_lm__1058(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_LIT98);
_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__1058(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[5] __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: {
modelica_metatype tmpMeta6;
modelica_metatype tmpMeta7;
if (listEmpty(tmp4_2)) goto tmp3_end;
tmpMeta6 = MMC_CAR(tmp4_2);
tmpMeta7 = MMC_CDR(tmp4_2);
_i_e = tmpMeta6;
_rest = tmpMeta7;
_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_LIT131);
_a_varLstStr = omc_Tpl_writeText(threadData, _a_varLstStr, _l_tmp);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT556);
_txt = omc_Tpl_writeStr(threadData, _txt, _a_arrayTypeStr);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT30);
_txt = omc_Tpl_writeText(threadData, _txt, _l_expVar);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT558);
_txt = omc_Tpl_writeText(threadData, _txt, _l_tmp);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT299);
_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[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_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: {
modelica_metatype tmpMeta6;
modelica_metatype tmpMeta7;
modelica_metatype tmpMeta8;
modelica_metatype tmpMeta9;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,17,3) == 0) goto tmp3_end;
tmpMeta6 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
tmpMeta7 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 4));
if (listEmpty(tmpMeta7)) goto tmp3_end;
tmpMeta8 = MMC_CAR(tmpMeta7);
tmpMeta9 = MMC_CDR(tmpMeta7);
if (!listEmpty(tmpMeta8)) goto tmp3_end;
if (!listEmpty(tmpMeta9)) goto tmp3_end;
_i_ty = tmpMeta6;
_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_LIT305);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _l_arrayTypeStr);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT307);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _l_tmp);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT560);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT98);
_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: {
modelica_metatype tmpMeta10;
modelica_metatype tmpMeta11;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,17,3) == 0) goto tmp3_end;
tmpMeta10 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
tmpMeta11 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 4));
if (!listEmpty(tmpMeta11)) goto tmp3_end;
_i_ty = tmpMeta10;
_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_LIT305);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _l_arrayTypeStr);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT307);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _l_tmp);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT560);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT98);
_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: {
modelica_metatype tmpMeta12;
modelica_metatype tmpMeta13;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,17,3) == 0) goto tmp3_end;
tmpMeta12 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
tmpMeta13 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 4));
_i_m_ty = tmpMeta12;
_i_m_matrix = tmpMeta13;
_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__1056(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__1056(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_LIT575), 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_LIT104);
_l_matrix = omc_CodegenCFunctions_lm__1050(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_LIT562);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _l_rows);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT234);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _l_cols);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT564);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT98);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT305);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _a_typeStr);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT566);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _l_tmp);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT568);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _l_rows);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT311);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _l_cols);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT299);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT98);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _l_matrix);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT98);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT570);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _l_rows);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT234);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _l_cols);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT564);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT98);
_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_LIT576), 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_LIT104);
_l_matrix = omc_CodegenCFunctions_lm__1052(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_LIT562);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _l_rows);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT234);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _l_cols);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT564);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT98);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT305);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _a_typeStr);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT566);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _l_tmp);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT568);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _l_rows);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT311);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _l_cols);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT299);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT98);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _l_matrix);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT98);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT570);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _l_rows);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT234);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _l_cols);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT564);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT98);
_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_LIT577), 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_LIT104);
_l_matrix = omc_CodegenCFunctions_lm__1054(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_LIT562);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _l_rows);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT234);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _l_cols);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT564);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT98);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT305);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _a_typeStr);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT566);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _l_tmp);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT568);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _l_rows);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT311);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _l_cols);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT299);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT98);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _l_matrix);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT98);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT570);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _l_rows);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT234);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _l_cols);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT564);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT98);
_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_LIT104);
_l_catAlloc = omc_CodegenCFunctions_lm__1055(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_LIT98);
_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_LIT572);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _a_arrayTypeStr);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT574);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _l_tmp);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT301);
_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_LIT299);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT98);
_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__1055(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[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_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: {
modelica_metatype tmpMeta6;
modelica_metatype tmpMeta7;
if (listEmpty(tmp4_2)) goto tmp3_end;
tmpMeta6 = MMC_CAR(tmp4_2);
tmpMeta7 = MMC_CDR(tmp4_2);
_i_row = tmpMeta6;
_rest = tmpMeta7;
_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_LIT131);
_a_vars2 = omc_Tpl_writeText(threadData, _a_vars2, _l_tmp);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT572);
_txt = omc_Tpl_writeText(threadData, _txt, _a_arrayTypeStr);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT579);
_txt = omc_Tpl_writeText(threadData, _txt, _l_tmp);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT301);
_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_LIT299);
_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__1054(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[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_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: {
modelica_metatype tmpMeta6;
modelica_metatype tmpMeta7;
if (listEmpty(tmp4_2)) goto tmp3_end;
tmpMeta6 = MMC_CAR(tmp4_2);
tmpMeta7 = MMC_CDR(tmp4_2);
_i_row = tmpMeta6;
_rest = tmpMeta7;
_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_LIT104);
_l_els = omc_CodegenCFunctions_lm__1053(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__1053(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[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;
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: {
modelica_metatype tmpMeta6;
modelica_metatype tmpMeta7;
if (listEmpty(tmp4_2)) goto tmp3_end;
tmpMeta6 = MMC_CAR(tmp4_2);
tmpMeta7 = MMC_CDR(tmp4_2);
_i_e = tmpMeta6;
_rest = tmpMeta7;
_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_LIT581);
_txt = omc_Tpl_writeText(threadData, _txt, _a_typeStr);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT583);
_txt = omc_Tpl_writeText(threadData, _txt, _l_expVar);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT301);
_txt = omc_Tpl_writeStr(threadData, _txt, intString(_a_i0));
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT301);
_txt = omc_Tpl_writeStr(threadData, _txt, intString(_x_j0));
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT131);
_txt = omc_Tpl_writeText(threadData, _txt, _a_tmp);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT299);
_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__1053(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__1053(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__1052(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[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_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: {
modelica_metatype tmpMeta6;
modelica_metatype tmpMeta7;
if (listEmpty(tmp4_2)) goto tmp3_end;
tmpMeta6 = MMC_CAR(tmp4_2);
tmpMeta7 = MMC_CDR(tmp4_2);
_i_row = tmpMeta6;
_rest = tmpMeta7;
_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_LIT104);
_l_els = omc_CodegenCFunctions_lm__1051(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__1051(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[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;
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: {
modelica_metatype tmpMeta6;
modelica_metatype tmpMeta7;
if (listEmpty(tmp4_2)) goto tmp3_end;
tmpMeta6 = MMC_CAR(tmp4_2);
tmpMeta7 = MMC_CDR(tmp4_2);
_i_e = tmpMeta6;
_rest = tmpMeta7;
_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_LIT581);
_txt = omc_Tpl_writeText(threadData, _txt, _a_typeStr);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT583);
_txt = omc_Tpl_writeText(threadData, _txt, _l_expVar);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT301);
_txt = omc_Tpl_writeStr(threadData, _txt, intString(_a_i0));
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT301);
_txt = omc_Tpl_writeStr(threadData, _txt, intString(_x_j0));
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT131);
_txt = omc_Tpl_writeText(threadData, _txt, _a_tmp);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT299);
_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__1051(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__1051(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__1050(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[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_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: {
modelica_metatype tmpMeta6;
modelica_metatype tmpMeta7;
if (listEmpty(tmp4_2)) goto tmp3_end;
tmpMeta6 = MMC_CAR(tmp4_2);
tmpMeta7 = MMC_CDR(tmp4_2);
_i_row = tmpMeta6;
_rest = tmpMeta7;
_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_LIT104);
_l_els = omc_CodegenCFunctions_lm__1049(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__1049(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[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;
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: {
modelica_metatype tmpMeta6;
modelica_metatype tmpMeta7;
if (listEmpty(tmp4_2)) goto tmp3_end;
tmpMeta6 = MMC_CAR(tmp4_2);
tmpMeta7 = MMC_CDR(tmp4_2);
_i_e = tmpMeta6;
_rest = tmpMeta7;
_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_LIT581);
_txt = omc_Tpl_writeText(threadData, _txt, _a_typeStr);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT583);
_txt = omc_Tpl_writeText(threadData, _txt, _l_expVar);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT301);
_txt = omc_Tpl_writeStr(threadData, _txt, intString(_a_i0));
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT301);
_txt = omc_Tpl_writeStr(threadData, _txt, intString(_x_j0));
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT131);
_txt = omc_Tpl_writeText(threadData, _txt, _a_tmp);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT299);
_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__1049(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__1049(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[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_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_metatype tmpMeta6;
modelica_metatype tmpMeta7;
modelica_metatype tmpMeta8;
modelica_integer tmp9;
modelica_metatype tmpMeta10;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,16,3) == 0) goto tmp3_end;
tmpMeta6 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta6,6,2) == 0) goto tmp3_end;
tmpMeta7 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta6), 2));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta7,9,3) == 0) goto tmp3_end;
tmpMeta8 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 3));
tmp9 = mmc_unbox_integer(tmpMeta8);
tmpMeta10 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 4));
_i_ty = tmpMeta6;
_i_t = tmpMeta7;
_i_scalar = tmp9;
_i_array = tmpMeta10;
_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_LIT305);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _l_rec__name);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT566);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _l_arrayVar);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT585);
_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_LIT299);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT98);
_l_params = omc_Tpl_pushIter(threadData, _OMC_LIT20, _OMC_LIT474);
_l_params = omc_CodegenCFunctions_lm__1042(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_LIT98);
_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: {
modelica_metatype tmpMeta11;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,16,3) == 0) goto tmp3_end;
tmpMeta11 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 4));
if (!listEmpty(tmpMeta11)) 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_LIT586, _a_varDecls ,&_a_varDecls);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT588);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _l_arrayVar);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT590);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT98);
_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_metatype tmpMeta12;
modelica_metatype tmpMeta13;
modelica_integer tmp14;
modelica_metatype tmpMeta15;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,16,3) == 0) goto tmp3_end;
tmpMeta12 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
tmpMeta13 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 3));
tmp14 = mmc_unbox_integer(tmpMeta13);
tmpMeta15 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 4));
_i_ty = tmpMeta12;
_i_scalar = tmp14;
_i_array = tmpMeta15;
_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__1043(threadData, _OMC_LIT20, _i_scalar);
omc_CodegenCFunctions_fun__1044(threadData, _OMC_LIT20, _i_scalar);
_l_params = omc_Tpl_pushIter(threadData, _OMC_LIT20, _OMC_LIT303);
_l_params = omc_CodegenCFunctions_lm__1046(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_LIT592);
_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_LIT307);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _l_arrayVar);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT301);
_ret_7 = listLength(_i_array);
_a_preExp = omc_Tpl_writeStr(threadData, _a_preExp, intString(_ret_7));
_a_preExp = omc_CodegenCFunctions_fun__1047(threadData, _a_preExp, _l_params);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _l_params);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT299);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT98);
_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__1047(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_params)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta1;
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_metatype tmp4_2;
tmp4_1 = _in_txt;
tmp4_2 = _in_a_params;
{
modelica_metatype _txt = NULL;
volatile mmc_switch_type tmp4;
int tmp5;
tmp4 = 0;
for (; tmp4 < 2; tmp4++) {
switch (MMC_SWITCH_CAST(tmp4)) {
case 0: {
modelica_metatype tmpMeta6;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,0,2) == 0) goto tmp3_end;
tmpMeta6 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
if (!listEmpty(tmpMeta6)) goto tmp3_end;
_txt = tmp4_1;
tmpMeta1 = _txt;
goto tmp3_done;
}
case 1: {
_txt = tmp4_1;
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT301);
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta1;
_return: OMC_LABEL_UNUSED
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_lm__1046(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[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_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: {
modelica_metatype tmpMeta6;
modelica_metatype tmpMeta7;
if (listEmpty(tmp4_2)) goto tmp3_end;
tmpMeta6 = MMC_CAR(tmp4_2);
tmpMeta7 = MMC_CDR(tmp4_2);
_i_e = tmpMeta6;
_rest = tmpMeta7;
_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__1045(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__1046(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__1046(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__1045(threadData_t *threadData, modelica_metatype _in_txt, modelica_boolean _in_a_scalar, modelica_metatype _in_a_e)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta1;
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_a_scalar;
tmp4_3 = _in_a_e;
{
modelica_metatype _txt = NULL;
modelica_metatype _a_e = 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;
tmpMeta1 = _txt;
goto tmp3_done;
}
case 1: {
_txt = tmp4_1;
_a_e = tmp4_3;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT30);
_txt = omc_CodegenCFunctions_expTypeFromExpModelica(threadData, _txt, _a_e);
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT87);
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta1;
_return: OMC_LABEL_UNUSED
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__1045(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__1045(threadData, _in_txt, tmp1, _in_a_e);
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__1044(threadData_t *threadData, modelica_metatype _in_txt, modelica_boolean _in_a_scalar)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta1;
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_boolean tmp4_2;
tmp4_1 = _in_txt;
tmp4_2 = _in_a_scalar;
{
modelica_metatype _txt = 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;
tmpMeta1 = _txt;
goto tmp3_done;
}
case 1: {
_txt = tmp4_1;
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT40);
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta1;
_return: OMC_LABEL_UNUSED
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__1044(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__1044(threadData, _in_txt, tmp1);
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__1043(threadData_t *threadData, modelica_metatype _in_txt, modelica_boolean _in_a_scalar)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta1;
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_boolean tmp4_2;
tmp4_1 = _in_txt;
tmp4_2 = _in_a_scalar;
{
modelica_metatype _txt = 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;
tmpMeta1 = _txt;
goto tmp3_done;
}
case 1: {
_txt = tmp4_1;
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT594);
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta1;
_return: OMC_LABEL_UNUSED
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__1043(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__1043(threadData, _in_txt, tmp1);
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_lm__1042(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[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_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: {
modelica_metatype tmpMeta6;
modelica_metatype tmpMeta7;
if (listEmpty(tmp4_2)) goto tmp3_end;
tmpMeta6 = MMC_CAR(tmp4_2);
tmpMeta7 = MMC_CDR(tmp4_2);
_i_e = tmpMeta6;
_rest = tmpMeta7;
_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__1041(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_LIT599);
_txt = omc_Tpl_writeText(threadData, _txt, _a_rec__name);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT601);
_txt = omc_Tpl_writeText(threadData, _txt, _l_src);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT301);
_txt = omc_Tpl_writeText(threadData, _txt, _a_rec__name);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT360);
_txt = omc_Tpl_writeText(threadData, _txt, _a_arrayVar);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT362);
_txt = omc_Tpl_writeStr(threadData, _txt, intString(_x_i1));
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT603);
_txt = omc_Tpl_writeText(threadData, _txt, _a_rec__name);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT360);
_txt = omc_Tpl_writeText(threadData, _txt, _a_arrayVar);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT362);
_txt = omc_Tpl_writeStr(threadData, _txt, intString(_x_i1));
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT605);
_txt = omc_Tpl_writeText(threadData, _txt, _l_src);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT113);
_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__1042(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__1042(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__1041(threadData_t *threadData, modelica_metatype _in_txt, modelica_boolean _in_a_scalar)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta1;
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_boolean tmp4_2;
tmp4_1 = _in_txt;
tmp4_2 = _in_a_scalar;
{
modelica_metatype _txt = 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;
tmpMeta1 = omc_CodegenUtil_error(threadData, _txt, omc_Tpl_sourceInfo(threadData, _OMC_LIT27, ((modelica_integer) 6837), ((modelica_integer) 49)), _OMC_LIT606);
goto tmp3_done;
}
case 1: {
_txt = tmp4_1;
tmpMeta1 = _txt;
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta1;
_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_a_scalar)
{
modelica_integer tmp1;
modelica_metatype _out_txt = NULL;
tmp1 = mmc_unbox_integer(_in_a_scalar);
_out_txt = omc_CodegenCFunctions_fun__1041(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[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_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: {
modelica_metatype tmpMeta6;
modelica_metatype tmpMeta7;
if (listEmpty(tmp4_2)) goto tmp3_end;
tmpMeta6 = MMC_CAR(tmp4_2);
tmpMeta7 = MMC_CDR(tmp4_2);
_i_e = tmpMeta6;
_i_erest = tmpMeta7;
_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__1039(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__1039(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[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_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: {
modelica_metatype tmpMeta6;
modelica_metatype tmpMeta7;
if (listEmpty(tmp4_2)) goto tmp3_end;
tmpMeta6 = MMC_CAR(tmp4_2);
tmpMeta7 = MMC_CDR(tmp4_2);
_i_v = tmpMeta6;
_i_vrest = tmpMeta7;
_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__1038(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__1038(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[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_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: {
modelica_metatype tmpMeta6;
modelica_metatype tmpMeta7;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,6,2) == 0) goto tmp3_end;
tmpMeta6 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
tmpMeta7 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 3));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta7,12,1) == 0) goto tmp3_end;
_i_cr = tmpMeta6;
_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__1035(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__1037(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__1037(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_LIT244);
_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__1036(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_LIT244);
_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_LIT129);
_a_postExp = omc_Tpl_writeText(threadData, _a_postExp, _l_tmp);
_a_postExp = omc_Tpl_writeTok(threadData, _a_postExp, _OMC_LIT113);
_a_postExp = omc_Tpl_writeTok(threadData, _a_postExp, _OMC_LIT98);
_txt = omc_Tpl_writeText(threadData, _txt, _l_tmp);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT129);
_txt = omc_Tpl_writeText(threadData, _txt, _a_exp);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT113);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT98);
_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__1037(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__1037(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__1036(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 tmpMeta1;
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_restText;
tmp4_4 = _in_a_exp;
tmp4_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 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_restText = tmp4_3;
_a_exp = tmp4_4;
_a_v2 = tmp4_5;
_txt = omc_Tpl_writeText(threadData, _txt, _a_v2);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT129);
_txt = omc_Tpl_writeText(threadData, _txt, _a_exp);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT113);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT98);
tmpMeta1 = omc_Tpl_writeText(threadData, _txt, _a_restText);
goto tmp3_done;
}
case 1: {
_txt = tmp4_1;
_a_restText = tmp4_3;
tmpMeta1 = omc_Tpl_writeText(threadData, _txt, _a_restText);
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta1;
_return: OMC_LABEL_UNUSED
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__1036(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__1036(threadData, _in_txt, tmp1, _in_a_restText, _in_a_exp, _in_a_v2);
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__1035(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_LIT244);
_ret_0 = omc_System_unquoteIdentifier(threadData, _a_v);
_txt = omc_Tpl_writeStr(threadData, _txt, _ret_0);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT129);
_txt = omc_Tpl_writeText(threadData, _txt, _a_exp);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT113);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT98);
_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__1035(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__1035(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__1027(threadData, _OMC_LIT20, _a_ty);
_l_inputs = omc_CodegenCFunctions_fun__1029(threadData, _OMC_LIT20, _a_ty);
_l_outputs = omc_CodegenCFunctions_fun__1031(threadData, _OMC_LIT20, _a_ty);
_out_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT30);
_out_txt = omc_Tpl_writeText(threadData, _out_txt, _l_ret);
_out_txt = omc_Tpl_writeTok(threadData, _out_txt, _OMC_LIT608);
_out_txt = omc_CodegenCFunctions_fun__1032(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_LIT610);
_ret_3 = (!_a_isClosure);
_ret_4 = omc_Flags_isSet(threadData, _OMC_LIT614);
_ret_5 = (_ret_3 && _ret_4);
_out_txt = omc_CodegenCFunctions_fun__1033(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__1033(threadData_t *threadData, modelica_metatype _in_txt, modelica_boolean _in_mArg)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta1;
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_boolean tmp4_2;
tmp4_1 = _in_txt;
tmp4_2 = _in_mArg;
{
modelica_metatype _txt = 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;
tmpMeta1 = _txt;
goto tmp3_done;
}
case 1: {
_txt = tmp4_1;
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT616);
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta1;
_return: OMC_LABEL_UNUSED
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__1033(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__1033(threadData, _in_txt, tmp1);
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__1032(threadData_t *threadData, modelica_metatype _in_txt, modelica_boolean _in_a_isClosure)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta1;
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_boolean tmp4_2;
tmp4_1 = _in_txt;
tmp4_2 = _in_a_isClosure;
{
modelica_metatype _txt = 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;
tmpMeta1 = _txt;
goto tmp3_done;
}
case 1: {
_txt = tmp4_1;
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT618);
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta1;
_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_a_isClosure)
{
modelica_integer tmp1;
modelica_metatype _out_txt = NULL;
tmp1 = mmc_unbox_integer(_in_a_isClosure);
_out_txt = omc_CodegenCFunctions_fun__1032(threadData, _in_txt, tmp1);
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__1031(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_ty)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta1;
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_metatype tmp4_2;
tmp4_1 = _in_txt;
tmp4_2 = _in_a_ty;
{
modelica_metatype _txt = 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: {
modelica_metatype tmpMeta6;
modelica_metatype tmpMeta7;
modelica_metatype tmpMeta8;
modelica_metatype tmpMeta9;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,11,4) == 0) goto tmp3_end;
tmpMeta6 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 3));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta6,14,2) == 0) goto tmp3_end;
tmpMeta7 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta6), 2));
if (listEmpty(tmpMeta7)) goto tmp3_end;
tmpMeta8 = MMC_CAR(tmpMeta7);
tmpMeta9 = MMC_CDR(tmpMeta7);
_i_tys = tmpMeta9;
_txt = tmp4_1;
tmpMeta1 = omc_CodegenCFunctions_lm__1030(threadData, _txt, _i_tys);
goto tmp3_done;
}
case 1: {
_txt = tmp4_1;
tmpMeta1 = _txt;
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta1;
_return: OMC_LABEL_UNUSED
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_lm__1030(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_items)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta1;
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_metatype tmp4_2;
tmp4_1 = _in_txt;
tmp4_2 = _in_items;
{
modelica_metatype _txt = NULL;
modelica_metatype _rest = NULL;
modelica_metatype _i_t = 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;
tmpMeta1 = _txt;
goto tmp3_done;
}
case 1: {
modelica_metatype tmpMeta6;
modelica_metatype tmpMeta7;
if (listEmpty(tmp4_2)) goto tmp3_end;
tmpMeta6 = MMC_CAR(tmp4_2);
tmpMeta7 = MMC_CDR(tmp4_2);
_i_t = tmpMeta6;
_rest = tmpMeta7;
_txt = tmp4_1;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT301);
_txt = omc_CodegenCFunctions_expTypeArrayIf(threadData, _txt, _i_t);
_in_txt = _txt;
_in_items = _rest;
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 = tmpMeta1;
_return: OMC_LABEL_UNUSED
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__1029(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_ty)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta1;
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_metatype tmp4_2;
tmp4_1 = _in_txt;
tmp4_2 = _in_a_ty;
{
modelica_metatype _txt = NULL;
modelica_metatype _i_funcArg = NULL;
volatile mmc_switch_type tmp4;
int tmp5;
tmp4 = 0;
for (; tmp4 < 2; tmp4++) {
switch (MMC_SWITCH_CAST(tmp4)) {
case 0: {
modelica_metatype tmpMeta6;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,11,4) == 0) goto tmp3_end;
tmpMeta6 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
_i_funcArg = tmpMeta6;
_txt = tmp4_1;
tmpMeta1 = omc_CodegenCFunctions_lm__1028(threadData, _txt, _i_funcArg);
goto tmp3_done;
}
case 1: {
_txt = tmp4_1;
tmpMeta1 = _txt;
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta1;
_return: OMC_LABEL_UNUSED
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_lm__1028(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_items)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta1;
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_metatype tmp4_2;
tmp4_1 = _in_txt;
tmp4_2 = _in_items;
{
modelica_metatype _txt = NULL;
modelica_metatype _rest = NULL;
modelica_metatype _i_fa_ty = 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;
tmpMeta1 = _txt;
goto tmp3_done;
}
case 1: {
modelica_metatype tmpMeta6;
modelica_metatype tmpMeta7;
modelica_metatype tmpMeta8;
if (listEmpty(tmp4_2)) goto tmp3_end;
tmpMeta6 = MMC_CAR(tmp4_2);
tmpMeta7 = MMC_CDR(tmp4_2);
tmpMeta8 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta6), 3));
_i_fa_ty = tmpMeta8;
_rest = tmpMeta7;
_txt = tmp4_1;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT301);
_txt = omc_CodegenCFunctions_expTypeArrayIf(threadData, _txt, _i_fa_ty);
_in_txt = _txt;
_in_items = _rest;
goto _tailrecursive;
goto tmp3_done;
}
case 2: {
modelica_metatype tmpMeta9;
modelica_metatype tmpMeta10;
if (listEmpty(tmp4_2)) goto tmp3_end;
tmpMeta9 = MMC_CAR(tmp4_2);
tmpMeta10 = MMC_CDR(tmp4_2);
_rest = tmpMeta10;
_txt = tmp4_1;
_in_txt = _txt;
_in_items = _rest;
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 = tmpMeta1;
_return: OMC_LABEL_UNUSED
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__1027(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_ty)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta1;
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_metatype tmp4_2;
tmp4_1 = _in_txt;
tmp4_2 = _in_a_ty;
{
modelica_metatype _txt = NULL;
volatile mmc_switch_type tmp4;
int tmp5;
tmp4 = 0;
for (; tmp4 < 2; tmp4++) {
switch (MMC_SWITCH_CAST(tmp4)) {
case 0: {
modelica_metatype tmpMeta6;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,11,4) == 0) goto tmp3_end;
tmpMeta6 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 3));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta6,7,0) == 0) goto tmp3_end;
_txt = tmp4_1;
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT620);
goto tmp3_done;
}
case 1: {
_txt = tmp4_1;
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT621);
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta1;
_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__1020(threadData, _OMC_LIT20, _a_ty);
_l_inputs = omc_CodegenCFunctions_lm__1021(threadData, _OMC_LIT20, _a_es);
_l_outputs = omc_CodegenCFunctions_fun__1023(threadData, _OMC_LIT20, _a_ty);
_out_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT30);
_out_txt = omc_Tpl_writeText(threadData, _out_txt, _l_ret);
_out_txt = omc_Tpl_writeTok(threadData, _out_txt, _OMC_LIT608);
_out_txt = omc_CodegenCFunctions_fun__1024(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_LIT610);
_ret_3 = (!_a_isClosure);
_ret_4 = omc_Flags_isSet(threadData, _OMC_LIT614);
_ret_5 = (_ret_3 && _ret_4);
_out_txt = omc_CodegenCFunctions_fun__1025(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__1025(threadData_t *threadData, modelica_metatype _in_txt, modelica_boolean _in_mArg)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta1;
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_boolean tmp4_2;
tmp4_1 = _in_txt;
tmp4_2 = _in_mArg;
{
modelica_metatype _txt = 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;
tmpMeta1 = _txt;
goto tmp3_done;
}
case 1: {
_txt = tmp4_1;
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT616);
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta1;
_return: OMC_LABEL_UNUSED
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__1025(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__1025(threadData, _in_txt, tmp1);
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__1024(threadData_t *threadData, modelica_metatype _in_txt, modelica_boolean _in_a_isClosure)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta1;
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_boolean tmp4_2;
tmp4_1 = _in_txt;
tmp4_2 = _in_a_isClosure;
{
modelica_metatype _txt = 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;
tmpMeta1 = _txt;
goto tmp3_done;
}
case 1: {
_txt = tmp4_1;
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT618);
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta1;
_return: OMC_LABEL_UNUSED
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__1024(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__1024(threadData, _in_txt, tmp1);
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__1023(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_ty)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta1;
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_metatype tmp4_2;
tmp4_1 = _in_txt;
tmp4_2 = _in_a_ty;
{
modelica_metatype _txt = 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: {
modelica_metatype tmpMeta6;
modelica_metatype tmpMeta7;
modelica_metatype tmpMeta8;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,14,2) == 0) goto tmp3_end;
tmpMeta6 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
if (listEmpty(tmpMeta6)) goto tmp3_end;
tmpMeta7 = MMC_CAR(tmpMeta6);
tmpMeta8 = MMC_CDR(tmpMeta6);
_i_tys = tmpMeta8;
_txt = tmp4_1;
tmpMeta1 = omc_CodegenCFunctions_lm__1022(threadData, _txt, _i_tys);
goto tmp3_done;
}
case 1: {
_txt = tmp4_1;
tmpMeta1 = _txt;
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta1;
_return: OMC_LABEL_UNUSED
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_lm__1022(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_items)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta1;
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_metatype tmp4_2;
tmp4_1 = _in_txt;
tmp4_2 = _in_items;
{
modelica_metatype _txt = NULL;
modelica_metatype _rest = NULL;
modelica_metatype _i_t = 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;
tmpMeta1 = _txt;
goto tmp3_done;
}
case 1: {
modelica_metatype tmpMeta6;
modelica_metatype tmpMeta7;
if (listEmpty(tmp4_2)) goto tmp3_end;
tmpMeta6 = MMC_CAR(tmp4_2);
tmpMeta7 = MMC_CDR(tmp4_2);
_i_t = tmpMeta6;
_rest = tmpMeta7;
_txt = tmp4_1;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT301);
_txt = omc_CodegenCFunctions_expTypeArrayIf(threadData, _txt, _i_t);
_in_txt = _txt;
_in_items = _rest;
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 = tmpMeta1;
_return: OMC_LABEL_UNUSED
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 _out_txt = NULL;
modelica_metatype tmpMeta1;
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_metatype tmp4_2;
tmp4_1 = _in_txt;
tmp4_2 = _in_items;
{
modelica_metatype _txt = NULL;
modelica_metatype _rest = 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;
tmpMeta1 = _txt;
goto tmp3_done;
}
case 1: {
modelica_metatype tmpMeta6;
modelica_metatype tmpMeta7;
if (listEmpty(tmp4_2)) goto tmp3_end;
tmpMeta6 = MMC_CAR(tmp4_2);
tmpMeta7 = MMC_CDR(tmp4_2);
_i_e = tmpMeta6;
_rest = tmpMeta7;
_txt = tmp4_1;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT301);
_txt = omc_CodegenCFunctions_expTypeFromExpArrayIf(threadData, _txt, _i_e);
_in_txt = _txt;
_in_items = _rest;
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 = tmpMeta1;
_return: OMC_LABEL_UNUSED
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__1020(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_ty)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta1;
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_metatype tmp4_2;
tmp4_1 = _in_txt;
tmp4_2 = _in_a_ty;
{
modelica_metatype _txt = 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,0) == 0) goto tmp3_end;
_txt = tmp4_1;
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT620);
goto tmp3_done;
}
case 1: {
_txt = tmp4_1;
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT621);
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta1;
_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__1018(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__1018(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[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_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_integer _i_index;
modelica_metatype _i_dir = NULL;
modelica_metatype _i_posX = NULL;
modelica_metatype _i_in1 = NULL;
modelica_metatype _i_in0 = NULL;
modelica_boolean _ret_7;
modelica_boolean _ret_6;
modelica_metatype _l_argStr = NULL;
modelica_metatype _l_var4 = NULL;
modelica_metatype _l_var3 = NULL;
modelica_metatype _l_var2 = NULL;
modelica_metatype _l_var1 = NULL;
modelica_metatype _l_tvar = NULL;
volatile mmc_switch_type tmp4;
int tmp5;
tmp4 = 0;
for (; tmp4 < 3; tmp4++) {
switch (MMC_SWITCH_CAST(tmp4)) {
case 0: {
modelica_metatype tmpMeta6;
modelica_metatype tmpMeta7;
modelica_metatype tmpMeta8;
modelica_metatype tmpMeta9;
modelica_metatype tmpMeta10;
modelica_metatype tmpMeta11;
modelica_integer tmp12;
modelica_metatype tmpMeta13;
modelica_metatype tmpMeta14;
modelica_metatype tmpMeta15;
modelica_metatype tmpMeta16;
modelica_metatype tmpMeta17;
modelica_metatype tmpMeta18;
modelica_metatype tmpMeta19;
modelica_metatype tmpMeta20;
modelica_metatype tmpMeta21;
modelica_metatype tmpMeta22;
modelica_metatype tmpMeta23;
modelica_metatype tmpMeta24;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,13,3) == 0) goto tmp3_end;
tmpMeta6 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta6,1,1) == 0) goto tmp3_end;
tmpMeta7 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta6), 2));
if (19 != MMC_STRLEN(tmpMeta7) || strcmp(MMC_STRINGDATA(_OMC_LIT627), MMC_STRINGDATA(tmpMeta7)) != 0) goto tmp3_end;
tmpMeta8 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 3));
if (listEmpty(tmpMeta8)) goto tmp3_end;
tmpMeta9 = MMC_CAR(tmpMeta8);
tmpMeta10 = MMC_CDR(tmpMeta8);
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta9,0,1) == 0) goto tmp3_end;
tmpMeta11 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta9), 2));
tmp12 = mmc_unbox_integer(tmpMeta11);
if (listEmpty(tmpMeta10)) goto tmp3_end;
tmpMeta13 = MMC_CAR(tmpMeta10);
tmpMeta14 = MMC_CDR(tmpMeta10);
if (listEmpty(tmpMeta14)) goto tmp3_end;
tmpMeta15 = MMC_CAR(tmpMeta14);
tmpMeta16 = MMC_CDR(tmpMeta14);
if (listEmpty(tmpMeta16)) goto tmp3_end;
tmpMeta17 = MMC_CAR(tmpMeta16);
tmpMeta18 = MMC_CDR(tmpMeta16);
if (listEmpty(tmpMeta18)) goto tmp3_end;
tmpMeta19 = MMC_CAR(tmpMeta18);
tmpMeta20 = MMC_CDR(tmpMeta18);
if (listEmpty(tmpMeta20)) goto tmp3_end;
tmpMeta21 = MMC_CAR(tmpMeta20);
tmpMeta22 = MMC_CDR(tmpMeta20);
if (listEmpty(tmpMeta22)) goto tmp3_end;
tmpMeta23 = MMC_CAR(tmpMeta22);
tmpMeta24 = MMC_CDR(tmpMeta22);
if (!listEmpty(tmpMeta24)) goto tmp3_end;
_i_index = tmp12;
_i_in0 = tmpMeta13;
_i_in1 = tmpMeta15;
_i_posX = tmpMeta17;
_i_dir = tmpMeta19;
_txt = tmp4_1;
_a_additionalOutputs = tmp4_3;
_a_context = tmp4_4;
_a_preExp = tmp4_5;
_a_varDecls = tmp4_6;
_a_auxFunction = tmp4_7;
_l_tvar = omc_CodegenCFunctions_tempDecl(threadData, _OMC_LIT20, _OMC_LIT622, _a_varDecls ,&_a_varDecls);
_l_var1 = omc_CodegenCFunctions_daeExp(threadData, _OMC_LIT20, _i_in0, _a_context, _a_preExp, _a_varDecls, _a_auxFunction ,&_a_preExp ,&_a_varDecls ,&_a_auxFunction);
_l_var2 = omc_CodegenCFunctions_daeExp(threadData, _OMC_LIT20, _i_in1, _a_context, _a_preExp, _a_varDecls, _a_auxFunction ,&_a_preExp ,&_a_varDecls ,&_a_auxFunction);
_l_var3 = omc_CodegenCFunctions_daeExp(threadData, _OMC_LIT20, _i_posX, _a_context, _a_preExp, _a_varDecls, _a_auxFunction ,&_a_preExp ,&_a_varDecls ,&_a_auxFunction);
_l_var4 = omc_CodegenCFunctions_daeExp(threadData, _OMC_LIT20, _i_dir, _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_LIT624);
_a_preExp = omc_Tpl_writeStr(threadData, _a_preExp, intString(_i_index));
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT626);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _l_var1);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT301);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _l_var2);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT301);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _l_var3);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT301);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _l_var4);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _a_additionalOutputs);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT299);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT98);
_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 1: {
modelica_metatype tmpMeta25;
modelica_metatype tmpMeta26;
modelica_metatype tmpMeta27;
modelica_metatype tmpMeta28;
modelica_metatype tmpMeta29;
modelica_integer tmp30;
modelica_metatype tmpMeta31;
modelica_integer tmp32;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,13,3) == 0) goto tmp3_end;
tmpMeta25 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
tmpMeta26 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 3));
tmpMeta27 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 4));
tmpMeta28 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta27), 2));
tmpMeta29 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta27), 4));
tmp30 = mmc_unbox_integer(tmpMeta29);
tmpMeta31 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta27), 6));
tmp32 = mmc_unbox_integer(tmpMeta31);
_i_path = tmpMeta25;
_i_expLst = tmpMeta26;
_i_attr_ty = tmpMeta28;
_i_attr_builtin = tmp30;
_i_attr_isFunctionPointerCall = tmp32;
_txt = tmp4_1;
_a_additionalOutputs = tmp4_3;
_a_context = tmp4_4;
_a_preExp = tmp4_5;
_a_varDecls = tmp4_6;
_a_auxFunction = tmp4_7;
_ret_6 = omc_SimCodeFunctionUtil_isParallelFunctionContext(threadData, _a_context);
_ret_7 = (_i_attr_builtin || _ret_6);
_l_argStr = omc_CodegenCFunctions_fun__1013(threadData, _OMC_LIT20, _ret_7, _a_auxFunction, _a_varDecls, _a_preExp, _a_context, _i_expLst ,&_a_auxFunction ,&_a_varDecls ,&_a_preExp);
_txt = omc_CodegenCFunctions_fun__1017(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 2: {
_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__1017(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_sub = 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__1014(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_LIT30);
_txt = omc_Tpl_writeText(threadData, _txt, _a_argStr);
_txt = omc_Tpl_writeText(threadData, _txt, _a_additionalOutputs);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT87);
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_sub = _OMC_LIT20;
_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__1015(threadData, _OMC_LIT20, _a_path, _l_sub, _a_auxFunction, _a_varDecls, _a_preExp, _a_context ,&_l_sub ,&_a_auxFunction ,&_a_varDecls ,&_a_preExp);
_l_func = omc_Tpl_writeTok(threadData, _OMC_LIT20, _OMC_LIT530);
_l_func = omc_Tpl_writeText(threadData, _l_func, _l_n);
_l_func = omc_Tpl_writeTok(threadData, _l_func, _OMC_LIT629);
_l_closure = omc_Tpl_writeTok(threadData, _OMC_LIT20, _OMC_LIT530);
_l_closure = omc_Tpl_writeText(threadData, _l_closure, _l_n);
_l_closure = omc_Tpl_writeTok(threadData, _l_closure, _OMC_LIT631);
_l_argStrPointer = omc_Tpl_writeTok(threadData, _OMC_LIT20, _OMC_LIT633);
_l_argStrPointer = omc_Tpl_writeText(threadData, _l_argStrPointer, _l_closure);
_l_argStrPointer = omc_CodegenCFunctions_lm__1016(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_LIT635);
_txt = omc_Tpl_writeText(threadData, _txt, _l_typeCast1);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT34);
_txt = omc_Tpl_writeText(threadData, _txt, _l_func);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT637);
_txt = omc_Tpl_writeText(threadData, _txt, _l_argStrPointer);
_txt = omc_Tpl_writeText(threadData, _txt, _a_additionalOutputs);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT639);
_txt = omc_Tpl_writeText(threadData, _txt, _l_typeCast2);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT34);
_txt = omc_Tpl_writeText(threadData, _txt, _l_func);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT637);
_txt = omc_Tpl_writeText(threadData, _txt, _a_argStr);
_txt = omc_Tpl_writeText(threadData, _txt, _a_additionalOutputs);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT87);
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__1017(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__1017(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__1016(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[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_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: {
modelica_metatype tmpMeta6;
modelica_metatype tmpMeta7;
if (listEmpty(tmp4_2)) goto tmp3_end;
tmpMeta6 = MMC_CAR(tmp4_2);
tmpMeta7 = MMC_CDR(tmp4_2);
_i_exp = tmpMeta6;
_rest = tmpMeta7;
_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_LIT301);
_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__1015(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_path, 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_sub, 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_sub = 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;
tmp4_1 = _in_txt;
tmp4_2 = _in_a_path;
tmp4_3 = _in_a_sub;
tmp4_4 = _in_a_auxFunction;
tmp4_5 = _in_a_varDecls;
tmp4_6 = _in_a_preExp;
tmp4_7 = _in_a_context;
{
modelica_metatype _txt = NULL;
modelica_metatype _a_sub = 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: {
modelica_metatype tmpMeta6;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,1,1) == 0) goto tmp3_end;
tmpMeta6 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
_i_name = tmpMeta6;
_txt = tmp4_1;
_a_sub = tmp4_3;
_a_auxFunction = tmp4_4;
_a_varDecls = tmp4_5;
_a_preExp = tmp4_6;
_a_context = tmp4_7;
_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_sub ,&_a_preExp ,&_a_varDecls ,&_a_auxFunction ,&_a_sub);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_sub;
tmpMeta[0+2] = _a_auxFunction;
tmpMeta[0+3] = _a_varDecls;
tmpMeta[0+4] = _a_preExp;
goto tmp3_done;
}
case 1: {
_txt = tmp4_1;
_i_path = tmp4_2;
_a_sub = tmp4_3;
_a_auxFunction = tmp4_4;
_a_varDecls = tmp4_5;
_a_preExp = tmp4_6;
_txt_1 = omc_Tpl_writeTok(threadData, _OMC_LIT20, _OMC_LIT641);
_txt_1 = omc_CodegenUtil_underscorePath(threadData, _txt_1, _i_path);
_txt = omc_CodegenUtil_error(threadData, _txt, omc_Tpl_sourceInfo(threadData, _OMC_LIT27, ((modelica_integer) 6764), ((modelica_integer) 22)), omc_Tpl_textString(threadData, _txt_1));
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_sub;
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_sub = 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_sub) { *out_out_a_sub = _out_a_sub; }
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__1014(threadData_t *threadData, modelica_metatype _in_txt, modelica_boolean _in_a_attr_builtin)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta1;
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_boolean tmp4_2;
tmp4_1 = _in_txt;
tmp4_2 = _in_a_attr_builtin;
{
modelica_metatype _txt = 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;
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT643);
goto tmp3_done;
}
case 1: {
_txt = tmp4_1;
tmpMeta1 = _txt;
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta1;
_return: OMC_LABEL_UNUSED
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__1014(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__1014(threadData, _in_txt, tmp1);
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__1013(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_LIT645);
tmpMeta[0+0] = omc_CodegenCFunctions_lm__1011(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_LIT303);
_txt = omc_CodegenCFunctions_lm__1012(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__1013(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__1013(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__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 *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_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: {
modelica_metatype tmpMeta6;
modelica_metatype tmpMeta7;
if (listEmpty(tmp4_2)) goto tmp3_end;
tmpMeta6 = MMC_CAR(tmp4_2);
tmpMeta7 = MMC_CDR(tmp4_2);
_i_exp = tmpMeta6;
_rest = tmpMeta7;
_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__1011(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[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_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: {
modelica_metatype tmpMeta6;
modelica_metatype tmpMeta7;
if (listEmpty(tmp4_2)) goto tmp3_end;
tmpMeta6 = MMC_CAR(tmp4_2);
tmpMeta7 = MMC_CDR(tmp4_2);
_i_exp = tmpMeta6;
_rest = tmpMeta7;
_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_LIT301);
_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 _txt, modelica_metatype _a_call, 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_sub = NULL;
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
_l_sub = _OMC_LIT20;
_out_txt = omc_CodegenCFunctions_fun__1009(threadData, _txt, _a_call, _l_sub, _a_auxFunction, _a_varDecls, _a_preExp, _a_context ,&_l_sub ,&_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__1009(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_call, 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_sub, 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_sub = 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;
tmp4_1 = _in_txt;
tmp4_2 = _in_a_call;
tmp4_3 = _in_a_sub;
tmp4_4 = _in_a_auxFunction;
tmp4_5 = _in_a_varDecls;
tmp4_6 = _in_a_preExp;
tmp4_7 = _in_a_context;
{
modelica_metatype _txt = NULL;
modelica_metatype _a_sub = 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_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_metatype _i_dir = NULL;
modelica_metatype _i_xPos = NULL;
modelica_integer _i_rindex;
modelica_metatype _i_delay = NULL;
modelica_integer _i_setIndex;
modelica_metatype _i_toBeCasted = NULL;
modelica_metatype _i_posVelo = NULL;
modelica_metatype _i_posX = NULL;
modelica_metatype _i_in1 = NULL;
modelica_metatype _i_in0 = 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_metatype _l_dir__T = NULL;
modelica_metatype _l_xPos__T = NULL;
modelica_metatype _l_delayMax__T = NULL;
modelica_metatype _l_delay__T = NULL;
modelica_metatype _l_e__T = NULL;
modelica_string _ret_81 = NULL;
modelica_metatype _l_castedVar = NULL;
modelica_metatype _l_var4 = 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 < 83; tmp4++) {
switch (MMC_SWITCH_CAST(tmp4)) {
case 0: {
modelica_metatype tmpMeta6;
modelica_metatype tmpMeta7;
modelica_metatype tmpMeta8;
modelica_metatype tmpMeta9;
modelica_metatype tmpMeta10;
modelica_metatype tmpMeta11;
modelica_metatype tmpMeta12;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,13,3) == 0) goto tmp3_end;
tmpMeta6 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta6,1,1) == 0) goto tmp3_end;
tmpMeta7 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta6), 2));
if (6 != MMC_STRLEN(tmpMeta7) || strcmp(MMC_STRINGDATA(_OMC_LIT852), MMC_STRINGDATA(tmpMeta7)) != 0) goto tmp3_end;
tmpMeta8 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 3));
if (listEmpty(tmpMeta8)) goto tmp3_end;
tmpMeta9 = MMC_CAR(tmpMeta8);
tmpMeta10 = MMC_CDR(tmpMeta8);
if (listEmpty(tmpMeta10)) goto tmp3_end;
tmpMeta11 = MMC_CAR(tmpMeta10);
tmpMeta12 = MMC_CDR(tmpMeta10);
if (!listEmpty(tmpMeta12)) goto tmp3_end;
_i_e1 = tmpMeta9;
_i_e2 = tmpMeta11;
_txt = tmp4_1;
_a_sub = tmp4_3;
_a_auxFunction = tmp4_4;
_a_varDecls = tmp4_5;
_a_preExp = tmp4_6;
_a_context = tmp4_7;
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_sub;
tmpMeta[0+2] = _a_auxFunction;
tmpMeta[0+3] = _a_varDecls;
tmpMeta[0+4] = _a_preExp;
goto tmp3_done;
}
case 1: {
modelica_metatype tmpMeta13;
modelica_metatype tmpMeta14;
modelica_metatype tmpMeta15;
modelica_metatype tmpMeta16;
modelica_metatype tmpMeta17;
modelica_metatype tmpMeta18;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,13,3) == 0) goto tmp3_end;
tmpMeta13 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta13,1,1) == 0) goto tmp3_end;
tmpMeta14 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta13), 2));
if (3 != MMC_STRLEN(tmpMeta14) || strcmp(MMC_STRINGDATA(_OMC_LIT853), MMC_STRINGDATA(tmpMeta14)) != 0) goto tmp3_end;
tmpMeta15 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 3));
if (listEmpty(tmpMeta15)) goto tmp3_end;
tmpMeta16 = MMC_CAR(tmpMeta15);
tmpMeta17 = MMC_CDR(tmpMeta15);
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta16,6,2) == 0) goto tmp3_end;
tmpMeta18 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta16), 2));
if (!listEmpty(tmpMeta17)) goto tmp3_end;
_i_arg_componentRef = tmpMeta18;
_txt = tmp4_1;
_a_sub = tmp4_3;
_a_auxFunction = tmp4_4;
_a_varDecls = tmp4_5;
_a_preExp = tmp4_6;
_ret_2 = omc_ComponentReference_crefPrefixDer(threadData, _i_arg_componentRef);
_txt = omc_CodegenCFunctions_cref(threadData, _txt, _ret_2, _a_sub ,&_a_sub);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_sub;
tmpMeta[0+2] = _a_auxFunction;
tmpMeta[0+3] = _a_varDecls;
tmpMeta[0+4] = _a_preExp;
goto tmp3_done;
}
case 2: {
modelica_metatype tmpMeta19;
modelica_metatype tmpMeta20;
modelica_metatype tmpMeta21;
modelica_metatype tmpMeta22;
modelica_metatype tmpMeta23;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,13,3) == 0) goto tmp3_end;
tmpMeta19 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta19,1,1) == 0) goto tmp3_end;
tmpMeta20 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta19), 2));
if (3 != MMC_STRLEN(tmpMeta20) || strcmp(MMC_STRINGDATA(_OMC_LIT853), MMC_STRINGDATA(tmpMeta20)) != 0) goto tmp3_end;
tmpMeta21 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 3));
if (listEmpty(tmpMeta21)) goto tmp3_end;
tmpMeta22 = MMC_CAR(tmpMeta21);
tmpMeta23 = MMC_CDR(tmpMeta21);
if (!listEmpty(tmpMeta23)) goto tmp3_end;
_i_exp = tmpMeta22;
_txt = tmp4_1;
_a_sub = tmp4_3;
_a_auxFunction = tmp4_4;
_a_varDecls = tmp4_5;
_a_preExp = tmp4_6;
_txt_3 = omc_Tpl_writeTok(threadData, _OMC_LIT20, _OMC_LIT647);
_txt_3 = omc_ExpressionDumpTpl_dumpExp(threadData, _txt_3, _i_exp, _OMC_LIT239);
_txt_3 = omc_Tpl_writeTok(threadData, _txt_3, _OMC_LIT87);
_txt = omc_CodegenUtil_error(threadData, _txt, omc_Tpl_sourceInfo(threadData, _OMC_LIT27, ((modelica_integer) 6221), ((modelica_integer) 11)), omc_Tpl_textString(threadData, _txt_3));
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_sub;
tmpMeta[0+2] = _a_auxFunction;
tmpMeta[0+3] = _a_varDecls;
tmpMeta[0+4] = _a_preExp;
goto tmp3_done;
}
case 3: {
modelica_metatype tmpMeta24;
modelica_metatype tmpMeta25;
modelica_metatype tmpMeta26;
modelica_metatype tmpMeta27;
modelica_metatype tmpMeta28;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,13,3) == 0) goto tmp3_end;
tmpMeta24 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta24,1,1) == 0) goto tmp3_end;
tmpMeta25 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta24), 2));
if (3 != MMC_STRLEN(tmpMeta25) || strcmp(MMC_STRINGDATA(_OMC_LIT854), MMC_STRINGDATA(tmpMeta25)) != 0) goto tmp3_end;
tmpMeta26 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 3));
if (listEmpty(tmpMeta26)) goto tmp3_end;
tmpMeta27 = MMC_CAR(tmpMeta26);
tmpMeta28 = MMC_CDR(tmpMeta26);
if (!listEmpty(tmpMeta28)) goto tmp3_end;
_i_arg = tmpMeta27;
_txt = tmp4_1;
_a_sub = tmp4_3;
_a_auxFunction = tmp4_4;
_a_varDecls = tmp4_5;
_a_preExp = tmp4_6;
_a_context = tmp4_7;
_txt = omc_CodegenCFunctions_daeExpCallPre(threadData, _txt, _i_arg, _a_context, _a_preExp, _a_varDecls, _a_auxFunction ,&_a_preExp ,&_a_varDecls ,&_a_auxFunction);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_sub;
tmpMeta[0+2] = _a_auxFunction;
tmpMeta[0+3] = _a_varDecls;
tmpMeta[0+4] = _a_preExp;
goto tmp3_done;
}
case 4: {
modelica_metatype tmpMeta29;
modelica_metatype tmpMeta30;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,13,3) == 0) goto tmp3_end;
tmpMeta29 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta29,1,1) == 0) goto tmp3_end;
tmpMeta30 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta29), 2));
if (8 != MMC_STRLEN(tmpMeta30) || strcmp(MMC_STRINGDATA(_OMC_LIT855), MMC_STRINGDATA(tmpMeta30)) != 0) goto tmp3_end;
_txt = tmp4_1;
_a_sub = tmp4_3;
_a_auxFunction = tmp4_4;
_a_varDecls = tmp4_5;
_a_preExp = tmp4_6;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT649);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_sub;
tmpMeta[0+2] = _a_auxFunction;
tmpMeta[0+3] = _a_varDecls;
tmpMeta[0+4] = _a_preExp;
goto tmp3_done;
}
case 5: {
modelica_metatype tmpMeta31;
modelica_metatype tmpMeta32;
modelica_metatype tmpMeta33;
modelica_metatype tmpMeta34;
modelica_metatype tmpMeta35;
modelica_metatype tmpMeta36;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,13,3) == 0) goto tmp3_end;
tmpMeta31 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta31,1,1) == 0) goto tmp3_end;
tmpMeta32 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta31), 2));
if (8 != MMC_STRLEN(tmpMeta32) || strcmp(MMC_STRINGDATA(_OMC_LIT856), MMC_STRINGDATA(tmpMeta32)) != 0) goto tmp3_end;
tmpMeta33 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 3));
if (listEmpty(tmpMeta33)) goto tmp3_end;
tmpMeta34 = MMC_CAR(tmpMeta33);
tmpMeta35 = MMC_CDR(tmpMeta33);
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta34,6,2) == 0) goto tmp3_end;
tmpMeta36 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta34), 2));
if (!listEmpty(tmpMeta35)) goto tmp3_end;
_i_arg_componentRef = tmpMeta36;
_txt = tmp4_1;
_a_sub = tmp4_3;
_a_auxFunction = tmp4_4;
_a_varDecls = tmp4_5;
_a_preExp = tmp4_6;
_ret_4 = omc_ComponentReference_crefPrefixPrevious(threadData, _i_arg_componentRef);
_txt = omc_CodegenCFunctions_cref(threadData, _txt, _ret_4, _a_sub ,&_a_sub);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_sub;
tmpMeta[0+2] = _a_auxFunction;
tmpMeta[0+3] = _a_varDecls;
tmpMeta[0+4] = _a_preExp;
goto tmp3_done;
}
case 6: {
modelica_metatype tmpMeta37;
modelica_metatype tmpMeta38;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,13,3) == 0) goto tmp3_end;
tmpMeta37 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta37,1,1) == 0) goto tmp3_end;
tmpMeta38 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta37), 2));
if (9 != MMC_STRLEN(tmpMeta38) || strcmp(MMC_STRINGDATA(_OMC_LIT857), MMC_STRINGDATA(tmpMeta38)) != 0) goto tmp3_end;
_txt = tmp4_1;
_a_sub = tmp4_3;
_a_auxFunction = tmp4_4;
_a_varDecls = tmp4_5;
_a_preExp = tmp4_6;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT651);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_sub;
tmpMeta[0+2] = _a_auxFunction;
tmpMeta[0+3] = _a_varDecls;
tmpMeta[0+4] = _a_preExp;
goto tmp3_done;
}
case 7: {
modelica_metatype tmpMeta39;
modelica_metatype tmpMeta40;
modelica_metatype tmpMeta41;
modelica_metatype tmpMeta42;
modelica_metatype tmpMeta43;
modelica_metatype tmpMeta44;
modelica_integer tmp45;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,13,3) == 0) goto tmp3_end;
tmpMeta39 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta39,1,1) == 0) goto tmp3_end;
tmpMeta40 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta39), 2));
if (9 != MMC_STRLEN(tmpMeta40) || strcmp(MMC_STRINGDATA(_OMC_LIT858), MMC_STRINGDATA(tmpMeta40)) != 0) goto tmp3_end;
tmpMeta41 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 3));
if (listEmpty(tmpMeta41)) goto tmp3_end;
tmpMeta42 = MMC_CAR(tmpMeta41);
tmpMeta43 = MMC_CDR(tmpMeta41);
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta42,0,1) == 0) goto tmp3_end;
tmpMeta44 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta42), 2));
tmp45 = mmc_unbox_integer(tmpMeta44);
if (!listEmpty(tmpMeta43)) goto tmp3_end;
_i_arg_integer = tmp45;
_txt = tmp4_1;
_a_sub = tmp4_3;
_a_auxFunction = tmp4_4;
_a_varDecls = tmp4_5;
_a_preExp = tmp4_6;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT653);
_ret_5 = ((modelica_integer) -1) + _i_arg_integer;
_txt = omc_Tpl_writeStr(threadData, _txt, intString(_ret_5));
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT655);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_sub;
tmpMeta[0+2] = _a_auxFunction;
tmpMeta[0+3] = _a_varDecls;
tmpMeta[0+4] = _a_preExp;
goto tmp3_done;
}
case 8: {
modelica_metatype tmpMeta46;
modelica_metatype tmpMeta47;
modelica_metatype tmpMeta48;
modelica_metatype tmpMeta49;
modelica_metatype tmpMeta50;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,13,3) == 0) goto tmp3_end;
tmpMeta46 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta46,1,1) == 0) goto tmp3_end;
tmpMeta47 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta46), 2));
if (12 != MMC_STRLEN(tmpMeta47) || strcmp(MMC_STRINGDATA(_OMC_LIT859), MMC_STRINGDATA(tmpMeta47)) != 0) goto tmp3_end;
tmpMeta48 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 3));
if (listEmpty(tmpMeta48)) goto tmp3_end;
tmpMeta49 = MMC_CAR(tmpMeta48);
tmpMeta50 = MMC_CDR(tmpMeta48);
if (!listEmpty(tmpMeta50)) goto tmp3_end;
_i_e1 = tmpMeta49;
_txt = tmp4_1;
_a_sub = tmp4_3;
_a_auxFunction = tmp4_4;
_a_varDecls = tmp4_5;
_a_preExp = tmp4_6;
_a_context = tmp4_7;
_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_LIT30);
_txt = omc_Tpl_writeText(threadData, _txt, _l_var1);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT657);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_sub;
tmpMeta[0+2] = _a_auxFunction;
tmpMeta[0+3] = _a_varDecls;
tmpMeta[0+4] = _a_preExp;
goto tmp3_done;
}
case 9: {
modelica_metatype tmpMeta51;
modelica_metatype tmpMeta52;
modelica_metatype tmpMeta53;
modelica_metatype tmpMeta54;
modelica_metatype tmpMeta55;
modelica_metatype tmpMeta56;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,13,3) == 0) goto tmp3_end;
tmpMeta51 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta51,1,1) == 0) goto tmp3_end;
tmpMeta52 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta51), 2));
if (8 != MMC_STRLEN(tmpMeta52) || strcmp(MMC_STRINGDATA(_OMC_LIT860), MMC_STRINGDATA(tmpMeta52)) != 0) goto tmp3_end;
tmpMeta53 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 3));
if (listEmpty(tmpMeta53)) goto tmp3_end;
tmpMeta54 = MMC_CAR(tmpMeta53);
tmpMeta55 = MMC_CDR(tmpMeta53);
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta54,6,2) == 0) goto tmp3_end;
tmpMeta56 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta54), 2));
if (!listEmpty(tmpMeta55)) goto tmp3_end;
_i_arg_componentRef = tmpMeta56;
_txt = tmp4_1;
_a_sub = tmp4_3;
_a_auxFunction = tmp4_4;
_a_varDecls = tmp4_5;
_a_preExp = tmp4_6;
_ret_7 = omc_ComponentReference_crefPrefixDer(threadData, _i_arg_componentRef);
_l_derstr = omc_CodegenCFunctions_cref(threadData, _OMC_LIT20, _ret_7, _a_sub ,&_a_sub);
_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_LIT659);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT30);
_txt = omc_Tpl_writeText(threadData, _txt, _l_dt);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT661);
_txt = omc_Tpl_writeText(threadData, _txt, _l_derstr);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT663);
_txt = omc_Tpl_writeText(threadData, _txt, _l_nameold0);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT665);
_txt = omc_Tpl_writeText(threadData, _txt, _l_nameold1);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT400);
_txt = omc_Tpl_writeText(threadData, _txt, _l_dt);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT87);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_sub;
tmpMeta[0+2] = _a_auxFunction;
tmpMeta[0+3] = _a_varDecls;
tmpMeta[0+4] = _a_preExp;
goto tmp3_done;
}
case 10: {
modelica_metatype tmpMeta57;
modelica_metatype tmpMeta58;
modelica_metatype tmpMeta59;
modelica_metatype tmpMeta60;
modelica_metatype tmpMeta61;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,13,3) == 0) goto tmp3_end;
tmpMeta57 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta57,1,1) == 0) goto tmp3_end;
tmpMeta58 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta57), 2));
if (7 != MMC_STRLEN(tmpMeta58) || strcmp(MMC_STRINGDATA(_OMC_LIT861), MMC_STRINGDATA(tmpMeta58)) != 0) goto tmp3_end;
tmpMeta59 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 3));
if (listEmpty(tmpMeta59)) goto tmp3_end;
tmpMeta60 = MMC_CAR(tmpMeta59);
tmpMeta61 = MMC_CDR(tmpMeta59);
if (!listEmpty(tmpMeta61)) goto tmp3_end;
_i_e1 = tmpMeta60;
_txt = tmp4_1;
_a_sub = tmp4_3;
_a_auxFunction = tmp4_4;
_a_varDecls = tmp4_5;
_a_preExp = tmp4_6;
_a_context = tmp4_7;
_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_LIT667);
_txt = omc_Tpl_writeText(threadData, _txt, _l_var1);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT534);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_sub;
tmpMeta[0+2] = _a_auxFunction;
tmpMeta[0+3] = _a_varDecls;
tmpMeta[0+4] = _a_preExp;
goto tmp3_done;
}
case 11: {
modelica_metatype tmpMeta62;
modelica_metatype tmpMeta63;
modelica_metatype tmpMeta64;
modelica_metatype tmpMeta65;
modelica_metatype tmpMeta66;
modelica_metatype tmpMeta67;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,13,3) == 0) goto tmp3_end;
tmpMeta62 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta62,1,1) == 0) goto tmp3_end;
tmpMeta63 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta62), 2));
if (4 != MMC_STRLEN(tmpMeta63) || strcmp(MMC_STRINGDATA(_OMC_LIT862), MMC_STRINGDATA(tmpMeta63)) != 0) goto tmp3_end;
tmpMeta64 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 3));
if (listEmpty(tmpMeta64)) goto tmp3_end;
tmpMeta65 = MMC_CAR(tmpMeta64);
tmpMeta66 = MMC_CDR(tmpMeta64);
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta65,6,2) == 0) goto tmp3_end;
tmpMeta67 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta65), 2));
if (!listEmpty(tmpMeta66)) goto tmp3_end;
_i_arg_componentRef = tmpMeta67;
_txt = tmp4_1;
_a_sub = tmp4_3;
_a_auxFunction = tmp4_4;
_a_varDecls = tmp4_5;
_a_preExp = tmp4_6;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT30);
_txt = omc_CodegenCFunctions_cref(threadData, _txt, _i_arg_componentRef, _a_sub ,&_a_sub);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT669);
_txt = omc_CodegenCFunctions_crefPre(threadData, _txt, _i_arg_componentRef);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT87);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_sub;
tmpMeta[0+2] = _a_auxFunction;
tmpMeta[0+3] = _a_varDecls;
tmpMeta[0+4] = _a_preExp;
goto tmp3_done;
}
case 12: {
modelica_metatype tmpMeta68;
modelica_metatype tmpMeta69;
modelica_metatype tmpMeta70;
modelica_metatype tmpMeta71;
modelica_metatype tmpMeta72;
modelica_metatype tmpMeta73;
modelica_metatype tmpMeta74;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,13,3) == 0) goto tmp3_end;
tmpMeta68 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta68,1,1) == 0) goto tmp3_end;
tmpMeta69 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta68), 2));
if (4 != MMC_STRLEN(tmpMeta69) || strcmp(MMC_STRINGDATA(_OMC_LIT862), MMC_STRINGDATA(tmpMeta69)) != 0) goto tmp3_end;
tmpMeta70 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 3));
if (listEmpty(tmpMeta70)) goto tmp3_end;
tmpMeta71 = MMC_CAR(tmpMeta70);
tmpMeta72 = MMC_CDR(tmpMeta70);
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta71,10,2) == 0) goto tmp3_end;
tmpMeta73 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta71), 3));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta73,6,2) == 0) goto tmp3_end;
tmpMeta74 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta73), 2));
if (!listEmpty(tmpMeta72)) goto tmp3_end;
_i_arg_componentRef = tmpMeta74;
_txt = tmp4_1;
_a_sub = tmp4_3;
_a_auxFunction = tmp4_4;
_a_varDecls = tmp4_5;
_a_preExp = tmp4_6;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT671);
_txt = omc_CodegenCFunctions_cref(threadData, _txt, _i_arg_componentRef, _a_sub ,&_a_sub);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT673);
_txt = omc_CodegenCFunctions_crefPre(threadData, _txt, _i_arg_componentRef);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT87);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_sub;
tmpMeta[0+2] = _a_auxFunction;
tmpMeta[0+3] = _a_varDecls;
tmpMeta[0+4] = _a_preExp;
goto tmp3_done;
}
case 13: {
modelica_metatype tmpMeta75;
modelica_metatype tmpMeta76;
modelica_metatype tmpMeta77;
modelica_metatype tmpMeta78;
modelica_metatype tmpMeta79;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,13,3) == 0) goto tmp3_end;
tmpMeta75 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta75,1,1) == 0) goto tmp3_end;
tmpMeta76 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta75), 2));
if (4 != MMC_STRLEN(tmpMeta76) || strcmp(MMC_STRINGDATA(_OMC_LIT862), MMC_STRINGDATA(tmpMeta76)) != 0) goto tmp3_end;
tmpMeta77 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 3));
if (listEmpty(tmpMeta77)) goto tmp3_end;
tmpMeta78 = MMC_CAR(tmpMeta77);
tmpMeta79 = MMC_CDR(tmpMeta77);
if (!listEmpty(tmpMeta79)) goto tmp3_end;
_i_exp = tmpMeta78;
_txt = tmp4_1;
_a_sub = tmp4_3;
_a_auxFunction = tmp4_4;
_a_varDecls = tmp4_5;
_a_preExp = tmp4_6;
_txt_11 = omc_Tpl_writeTok(threadData, _OMC_LIT20, _OMC_LIT675);
_txt_11 = omc_ExpressionDumpTpl_dumpExp(threadData, _txt_11, _i_exp, _OMC_LIT239);
_txt_11 = omc_Tpl_writeTok(threadData, _txt_11, _OMC_LIT87);
_txt = omc_CodegenUtil_error(threadData, _txt, omc_Tpl_sourceInfo(threadData, _OMC_LIT27, ((modelica_integer) 6254), ((modelica_integer) 11)), omc_Tpl_textString(threadData, _txt_11));
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_sub;
tmpMeta[0+2] = _a_auxFunction;
tmpMeta[0+3] = _a_varDecls;
tmpMeta[0+4] = _a_preExp;
goto tmp3_done;
}
case 14: {
modelica_metatype tmpMeta80;
modelica_metatype tmpMeta81;
modelica_metatype tmpMeta82;
modelica_metatype tmpMeta83;
modelica_metatype tmpMeta84;
modelica_metatype tmpMeta85;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,13,3) == 0) goto tmp3_end;
tmpMeta80 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta80,1,1) == 0) goto tmp3_end;
tmpMeta81 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta80), 2));
if (6 != MMC_STRLEN(tmpMeta81) || strcmp(MMC_STRINGDATA(_OMC_LIT863), MMC_STRINGDATA(tmpMeta81)) != 0) goto tmp3_end;
tmpMeta82 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 3));
if (listEmpty(tmpMeta82)) goto tmp3_end;
tmpMeta83 = MMC_CAR(tmpMeta82);
tmpMeta84 = MMC_CDR(tmpMeta82);
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta83,6,2) == 0) goto tmp3_end;
tmpMeta85 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta83), 2));
if (!listEmpty(tmpMeta84)) goto tmp3_end;
_i_arg_componentRef = tmpMeta85;
_txt = tmp4_1;
_a_sub = tmp4_3;
_a_auxFunction = tmp4_4;
_a_varDecls = tmp4_5;
_a_preExp = tmp4_6;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT30);
_txt = omc_CodegenCFunctions_cref(threadData, _txt, _i_arg_componentRef, _a_sub ,&_a_sub);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT677);
_txt = omc_CodegenCFunctions_crefPre(threadData, _txt, _i_arg_componentRef);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT87);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_sub;
tmpMeta[0+2] = _a_auxFunction;
tmpMeta[0+3] = _a_varDecls;
tmpMeta[0+4] = _a_preExp;
goto tmp3_done;
}
case 15: {
modelica_metatype tmpMeta86;
modelica_metatype tmpMeta87;
modelica_metatype tmpMeta88;
modelica_metatype tmpMeta89;
modelica_metatype tmpMeta90;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,13,3) == 0) goto tmp3_end;
tmpMeta86 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta86,1,1) == 0) goto tmp3_end;
tmpMeta87 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta86), 2));
if (6 != MMC_STRLEN(tmpMeta87) || strcmp(MMC_STRINGDATA(_OMC_LIT863), MMC_STRINGDATA(tmpMeta87)) != 0) goto tmp3_end;
tmpMeta88 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 3));
if (listEmpty(tmpMeta88)) goto tmp3_end;
tmpMeta89 = MMC_CAR(tmpMeta88);
tmpMeta90 = MMC_CDR(tmpMeta88);
if (!listEmpty(tmpMeta90)) goto tmp3_end;
_i_exp = tmpMeta89;
_txt = tmp4_1;
_a_sub = tmp4_3;
_a_auxFunction = tmp4_4;
_a_varDecls = tmp4_5;
_a_preExp = tmp4_6;
_txt_12 = omc_Tpl_writeTok(threadData, _OMC_LIT20, _OMC_LIT679);
_txt_12 = omc_ExpressionDumpTpl_dumpExp(threadData, _txt_12, _i_exp, _OMC_LIT239);
_txt_12 = omc_Tpl_writeTok(threadData, _txt_12, _OMC_LIT87);
_txt = omc_CodegenUtil_error(threadData, _txt, omc_Tpl_sourceInfo(threadData, _OMC_LIT27, ((modelica_integer) 6258), ((modelica_integer) 11)), omc_Tpl_textString(threadData, _txt_12));
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_sub;
tmpMeta[0+2] = _a_auxFunction;
tmpMeta[0+3] = _a_varDecls;
tmpMeta[0+4] = _a_preExp;
goto tmp3_done;
}
case 16: {
modelica_metatype tmpMeta91;
modelica_metatype tmpMeta92;
modelica_metatype tmpMeta93;
modelica_metatype tmpMeta94;
modelica_metatype tmpMeta95;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,13,3) == 0) goto tmp3_end;
tmpMeta91 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta91,1,1) == 0) goto tmp3_end;
tmpMeta92 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta91), 2));
if (11 != MMC_STRLEN(tmpMeta92) || strcmp(MMC_STRINGDATA(_OMC_LIT864), MMC_STRINGDATA(tmpMeta92)) != 0) goto tmp3_end;
tmpMeta93 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 3));
if (listEmpty(tmpMeta93)) goto tmp3_end;
tmpMeta94 = MMC_CAR(tmpMeta93);
tmpMeta95 = MMC_CDR(tmpMeta93);
if (!listEmpty(tmpMeta95)) goto tmp3_end;
_i_exp = tmpMeta94;
_txt = tmp4_1;
_a_sub = tmp4_3;
_a_auxFunction = tmp4_4;
_a_varDecls = tmp4_5;
_a_preExp = tmp4_6;
_txt_13 = omc_Tpl_writeTok(threadData, _OMC_LIT20, _OMC_LIT681);
_txt_13 = omc_ExpressionDumpTpl_dumpExp(threadData, _txt_13, _i_exp, _OMC_LIT239);
_txt_13 = omc_Tpl_writeTok(threadData, _txt_13, _OMC_LIT683);
_txt = omc_CodegenUtil_error(threadData, _txt, omc_Tpl_sourceInfo(threadData, _OMC_LIT27, ((modelica_integer) 6260), ((modelica_integer) 11)), omc_Tpl_textString(threadData, _txt_13));
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_sub;
tmpMeta[0+2] = _a_auxFunction;
tmpMeta[0+3] = _a_varDecls;
tmpMeta[0+4] = _a_preExp;
goto tmp3_done;
}
case 17: {
modelica_metatype tmpMeta96;
modelica_metatype tmpMeta97;
modelica_metatype tmpMeta98;
modelica_metatype tmpMeta99;
modelica_metatype tmpMeta100;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,13,3) == 0) goto tmp3_end;
tmpMeta96 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta96,1,1) == 0) goto tmp3_end;
tmpMeta97 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta96), 2));
if (5 != MMC_STRLEN(tmpMeta97) || strcmp(MMC_STRINGDATA(_OMC_LIT865), MMC_STRINGDATA(tmpMeta97)) != 0) goto tmp3_end;
tmpMeta98 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 3));
if (listEmpty(tmpMeta98)) goto tmp3_end;
tmpMeta99 = MMC_CAR(tmpMeta98);
tmpMeta100 = MMC_CDR(tmpMeta98);
if (!listEmpty(tmpMeta100)) goto tmp3_end;
_i_e1 = tmpMeta99;
_txt = tmp4_1;
_a_sub = tmp4_3;
_a_auxFunction = tmp4_4;
_a_varDecls = tmp4_5;
_a_preExp = tmp4_6;
_a_context = tmp4_7;
_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_LIT685);
_txt = omc_Tpl_writeText(threadData, _txt, _l_var1);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT687);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_sub;
tmpMeta[0+2] = _a_auxFunction;
tmpMeta[0+3] = _a_varDecls;
tmpMeta[0+4] = _a_preExp;
goto tmp3_done;
}
case 18: {
modelica_metatype tmpMeta101;
modelica_metatype tmpMeta102;
modelica_metatype tmpMeta103;
modelica_metatype tmpMeta104;
modelica_metatype tmpMeta105;
modelica_metatype tmpMeta106;
modelica_metatype tmpMeta107;
modelica_metatype tmpMeta108;
modelica_metatype tmpMeta109;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,13,3) == 0) goto tmp3_end;
tmpMeta101 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta101,1,1) == 0) goto tmp3_end;
tmpMeta102 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta101), 2));
if (3 != MMC_STRLEN(tmpMeta102) || strcmp(MMC_STRINGDATA(_OMC_LIT866), MMC_STRINGDATA(tmpMeta102)) != 0) goto tmp3_end;
tmpMeta103 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 3));
if (listEmpty(tmpMeta103)) goto tmp3_end;
tmpMeta104 = MMC_CAR(tmpMeta103);
tmpMeta105 = MMC_CDR(tmpMeta103);
if (listEmpty(tmpMeta105)) goto tmp3_end;
tmpMeta106 = MMC_CAR(tmpMeta105);
tmpMeta107 = MMC_CDR(tmpMeta105);
if (!listEmpty(tmpMeta107)) goto tmp3_end;
tmpMeta108 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 4));
tmpMeta109 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta108), 2));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta109,1,1) == 0) goto tmp3_end;
_i_e1 = tmpMeta104;
_i_e2 = tmpMeta106;
_txt = tmp4_1;
_a_sub = tmp4_3;
_a_auxFunction = tmp4_4;
_a_varDecls = tmp4_5;
_a_preExp = tmp4_6;
_a_context = tmp4_7;
_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_LIT689);
_txt = omc_Tpl_writeText(threadData, _txt, _l_var1);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT234);
_txt = omc_Tpl_writeText(threadData, _txt, _l_var2);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT87);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_sub;
tmpMeta[0+2] = _a_auxFunction;
tmpMeta[0+3] = _a_varDecls;
tmpMeta[0+4] = _a_preExp;
goto tmp3_done;
}
case 19: {
modelica_metatype tmpMeta110;
modelica_metatype tmpMeta111;
modelica_metatype tmpMeta112;
modelica_metatype tmpMeta113;
modelica_metatype tmpMeta114;
modelica_metatype tmpMeta115;
modelica_metatype tmpMeta116;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,13,3) == 0) goto tmp3_end;
tmpMeta110 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta110,1,1) == 0) goto tmp3_end;
tmpMeta111 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta110), 2));
if (3 != MMC_STRLEN(tmpMeta111) || strcmp(MMC_STRINGDATA(_OMC_LIT866), MMC_STRINGDATA(tmpMeta111)) != 0) goto tmp3_end;
tmpMeta112 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 3));
if (listEmpty(tmpMeta112)) goto tmp3_end;
tmpMeta113 = MMC_CAR(tmpMeta112);
tmpMeta114 = MMC_CDR(tmpMeta112);
if (listEmpty(tmpMeta114)) goto tmp3_end;
tmpMeta115 = MMC_CAR(tmpMeta114);
tmpMeta116 = MMC_CDR(tmpMeta114);
if (!listEmpty(tmpMeta116)) goto tmp3_end;
_i_e1 = tmpMeta113;
_i_e2 = tmpMeta115;
_txt = tmp4_1;
_a_sub = tmp4_3;
_a_auxFunction = tmp4_4;
_a_varDecls = tmp4_5;
_a_preExp = tmp4_6;
_a_context = tmp4_7;
_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_LIT691);
_txt = omc_Tpl_writeText(threadData, _txt, _l_var1);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT693);
_txt = omc_Tpl_writeText(threadData, _txt, _l_var2);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT610);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_sub;
tmpMeta[0+2] = _a_auxFunction;
tmpMeta[0+3] = _a_varDecls;
tmpMeta[0+4] = _a_preExp;
goto tmp3_done;
}
case 20: {
modelica_metatype tmpMeta117;
modelica_metatype tmpMeta118;
modelica_metatype tmpMeta119;
modelica_metatype tmpMeta120;
modelica_metatype tmpMeta121;
modelica_metatype tmpMeta122;
modelica_metatype tmpMeta123;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,13,3) == 0) goto tmp3_end;
tmpMeta117 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta117,1,1) == 0) goto tmp3_end;
tmpMeta118 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta117), 2));
if (3 != MMC_STRLEN(tmpMeta118) || strcmp(MMC_STRINGDATA(_OMC_LIT867), MMC_STRINGDATA(tmpMeta118)) != 0) goto tmp3_end;
tmpMeta119 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 3));
if (listEmpty(tmpMeta119)) goto tmp3_end;
tmpMeta120 = MMC_CAR(tmpMeta119);
tmpMeta121 = MMC_CDR(tmpMeta119);
if (!listEmpty(tmpMeta121)) goto tmp3_end;
tmpMeta122 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 4));
tmpMeta123 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta122), 2));
_i_e = tmpMeta120;
_i_ty = tmpMeta123;
_txt = tmp4_1;
_a_sub = tmp4_3;
_a_auxFunction = tmp4_4;
_a_varDecls = tmp4_5;
_a_preExp = tmp4_6;
_a_context = tmp4_7;
_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_LIT695);
_txt = omc_Tpl_writeText(threadData, _txt, _l_ty__str);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT30);
_txt = omc_Tpl_writeText(threadData, _txt, _l_arr);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT87);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_sub;
tmpMeta[0+2] = _a_auxFunction;
tmpMeta[0+3] = _a_varDecls;
tmpMeta[0+4] = _a_preExp;
goto tmp3_done;
}
case 21: {
modelica_metatype tmpMeta124;
modelica_metatype tmpMeta125;
modelica_metatype tmpMeta126;
modelica_metatype tmpMeta127;
modelica_metatype tmpMeta128;
modelica_metatype tmpMeta129;
modelica_metatype tmpMeta130;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,13,3) == 0) goto tmp3_end;
tmpMeta124 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta124,1,1) == 0) goto tmp3_end;
tmpMeta125 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta124), 2));
if (7 != MMC_STRLEN(tmpMeta125) || strcmp(MMC_STRINGDATA(_OMC_LIT868), MMC_STRINGDATA(tmpMeta125)) != 0) goto tmp3_end;
tmpMeta126 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 3));
if (listEmpty(tmpMeta126)) goto tmp3_end;
tmpMeta127 = MMC_CAR(tmpMeta126);
tmpMeta128 = MMC_CDR(tmpMeta126);
if (!listEmpty(tmpMeta128)) goto tmp3_end;
tmpMeta129 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 4));
tmpMeta130 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta129), 2));
_i_e = tmpMeta127;
_i_ty = tmpMeta130;
_txt = tmp4_1;
_a_sub = tmp4_3;
_a_auxFunction = tmp4_4;
_a_varDecls = tmp4_5;
_a_preExp = tmp4_6;
_a_context = tmp4_7;
_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_LIT697);
_txt = omc_Tpl_writeText(threadData, _txt, _l_ty__str);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT30);
_txt = omc_Tpl_writeText(threadData, _txt, _l_arr);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT87);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_sub;
tmpMeta[0+2] = _a_auxFunction;
tmpMeta[0+3] = _a_varDecls;
tmpMeta[0+4] = _a_preExp;
goto tmp3_done;
}
case 22: {
modelica_metatype tmpMeta131;
modelica_metatype tmpMeta132;
modelica_metatype tmpMeta133;
modelica_metatype tmpMeta134;
modelica_metatype tmpMeta135;
modelica_metatype tmpMeta136;
modelica_metatype tmpMeta137;
modelica_metatype tmpMeta138;
modelica_metatype tmpMeta139;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,13,3) == 0) goto tmp3_end;
tmpMeta131 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta131,1,1) == 0) goto tmp3_end;
tmpMeta132 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta131), 2));
if (3 != MMC_STRLEN(tmpMeta132) || strcmp(MMC_STRINGDATA(_OMC_LIT869), MMC_STRINGDATA(tmpMeta132)) != 0) goto tmp3_end;
tmpMeta133 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 3));
if (listEmpty(tmpMeta133)) goto tmp3_end;
tmpMeta134 = MMC_CAR(tmpMeta133);
tmpMeta135 = MMC_CDR(tmpMeta133);
if (listEmpty(tmpMeta135)) goto tmp3_end;
tmpMeta136 = MMC_CAR(tmpMeta135);
tmpMeta137 = MMC_CDR(tmpMeta135);
if (!listEmpty(tmpMeta137)) goto tmp3_end;
tmpMeta138 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 4));
tmpMeta139 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta138), 2));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta139,1,1) == 0) goto tmp3_end;
_i_e1 = tmpMeta134;
_i_e2 = tmpMeta136;
_txt = tmp4_1;
_a_sub = tmp4_3;
_a_auxFunction = tmp4_4;
_a_varDecls = tmp4_5;
_a_preExp = tmp4_6;
_a_context = tmp4_7;
_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_LIT699);
_txt = omc_Tpl_writeText(threadData, _txt, _l_var1);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT234);
_txt = omc_Tpl_writeText(threadData, _txt, _l_var2);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT87);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_sub;
tmpMeta[0+2] = _a_auxFunction;
tmpMeta[0+3] = _a_varDecls;
tmpMeta[0+4] = _a_preExp;
goto tmp3_done;
}
case 23: {
modelica_metatype tmpMeta140;
modelica_metatype tmpMeta141;
modelica_metatype tmpMeta142;
modelica_metatype tmpMeta143;
modelica_metatype tmpMeta144;
modelica_metatype tmpMeta145;
modelica_metatype tmpMeta146;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,13,3) == 0) goto tmp3_end;
tmpMeta140 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta140,1,1) == 0) goto tmp3_end;
tmpMeta141 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta140), 2));
if (3 != MMC_STRLEN(tmpMeta141) || strcmp(MMC_STRINGDATA(_OMC_LIT869), MMC_STRINGDATA(tmpMeta141)) != 0) goto tmp3_end;
tmpMeta142 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 3));
if (listEmpty(tmpMeta142)) goto tmp3_end;
tmpMeta143 = MMC_CAR(tmpMeta142);
tmpMeta144 = MMC_CDR(tmpMeta142);
if (listEmpty(tmpMeta144)) goto tmp3_end;
tmpMeta145 = MMC_CAR(tmpMeta144);
tmpMeta146 = MMC_CDR(tmpMeta144);
if (!listEmpty(tmpMeta146)) goto tmp3_end;
_i_e1 = tmpMeta143;
_i_e2 = tmpMeta145;
_txt = tmp4_1;
_a_sub = tmp4_3;
_a_auxFunction = tmp4_4;
_a_varDecls = tmp4_5;
_a_preExp = tmp4_6;
_a_context = tmp4_7;
_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_LIT701);
_txt = omc_Tpl_writeText(threadData, _txt, _l_var1);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT693);
_txt = omc_Tpl_writeText(threadData, _txt, _l_var2);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT610);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_sub;
tmpMeta[0+2] = _a_auxFunction;
tmpMeta[0+3] = _a_varDecls;
tmpMeta[0+4] = _a_preExp;
goto tmp3_done;
}
case 24: {
modelica_metatype tmpMeta147;
modelica_metatype tmpMeta148;
modelica_metatype tmpMeta149;
modelica_metatype tmpMeta150;
modelica_metatype tmpMeta151;
modelica_metatype tmpMeta152;
modelica_metatype tmpMeta153;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,13,3) == 0) goto tmp3_end;
tmpMeta147 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta147,1,1) == 0) goto tmp3_end;
tmpMeta148 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta147), 2));
if (3 != MMC_STRLEN(tmpMeta148) || strcmp(MMC_STRINGDATA(_OMC_LIT870), MMC_STRINGDATA(tmpMeta148)) != 0) goto tmp3_end;
tmpMeta149 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 3));
if (listEmpty(tmpMeta149)) goto tmp3_end;
tmpMeta150 = MMC_CAR(tmpMeta149);
tmpMeta151 = MMC_CDR(tmpMeta149);
if (!listEmpty(tmpMeta151)) goto tmp3_end;
tmpMeta152 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 4));
tmpMeta153 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta152), 2));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta153,0,1) == 0) goto tmp3_end;
_i_e1 = tmpMeta150;
_txt = tmp4_1;
_a_sub = tmp4_3;
_a_auxFunction = tmp4_4;
_a_varDecls = tmp4_5;
_a_preExp = tmp4_6;
_a_context = tmp4_7;
_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_LIT703);
_txt = omc_Tpl_writeText(threadData, _txt, _l_var1);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT87);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_sub;
tmpMeta[0+2] = _a_auxFunction;
tmpMeta[0+3] = _a_varDecls;
tmpMeta[0+4] = _a_preExp;
goto tmp3_done;
}
case 25: {
modelica_metatype tmpMeta154;
modelica_metatype tmpMeta155;
modelica_metatype tmpMeta156;
modelica_metatype tmpMeta157;
modelica_metatype tmpMeta158;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,13,3) == 0) goto tmp3_end;
tmpMeta154 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta154,1,1) == 0) goto tmp3_end;
tmpMeta155 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta154), 2));
if (3 != MMC_STRLEN(tmpMeta155) || strcmp(MMC_STRINGDATA(_OMC_LIT870), MMC_STRINGDATA(tmpMeta155)) != 0) goto tmp3_end;
tmpMeta156 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 3));
if (listEmpty(tmpMeta156)) goto tmp3_end;
tmpMeta157 = MMC_CAR(tmpMeta156);
tmpMeta158 = MMC_CDR(tmpMeta156);
if (!listEmpty(tmpMeta158)) goto tmp3_end;
_i_e1 = tmpMeta157;
_txt = tmp4_1;
_a_sub = tmp4_3;
_a_auxFunction = tmp4_4;
_a_varDecls = tmp4_5;
_a_preExp = tmp4_6;
_a_context = tmp4_7;
_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_LIT705);
_txt = omc_Tpl_writeText(threadData, _txt, _l_var1);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT87);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_sub;
tmpMeta[0+2] = _a_auxFunction;
tmpMeta[0+3] = _a_varDecls;
tmpMeta[0+4] = _a_preExp;
goto tmp3_done;
}
case 26: {
modelica_metatype tmpMeta159;
modelica_metatype tmpMeta160;
modelica_metatype tmpMeta161;
modelica_metatype tmpMeta162;
modelica_metatype tmpMeta163;
modelica_metatype tmpMeta164;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,13,3) == 0) goto tmp3_end;
tmpMeta159 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta159,1,1) == 0) goto tmp3_end;
tmpMeta160 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta159), 2));
if (4 != MMC_STRLEN(tmpMeta160) || strcmp(MMC_STRINGDATA(_OMC_LIT871), MMC_STRINGDATA(tmpMeta160)) != 0) goto tmp3_end;
tmpMeta161 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 3));
if (listEmpty(tmpMeta161)) goto tmp3_end;
tmpMeta162 = MMC_CAR(tmpMeta161);
tmpMeta163 = MMC_CDR(tmpMeta161);
if (!listEmpty(tmpMeta163)) goto tmp3_end;
tmpMeta164 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 4));
_i_e1 = tmpMeta162;
_txt = tmp4_1;
_a_sub = tmp4_3;
_a_auxFunction = tmp4_4;
_a_varDecls = tmp4_5;
_a_preExp = tmp4_6;
_a_context = tmp4_7;
_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__978(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_sub;
tmpMeta[0+2] = _a_auxFunction;
tmpMeta[0+3] = _a_varDecls;
tmpMeta[0+4] = _a_preExp;
goto tmp3_done;
}
case 27: {
modelica_metatype tmpMeta165;
modelica_metatype tmpMeta166;
modelica_metatype tmpMeta167;
modelica_metatype tmpMeta168;
modelica_metatype tmpMeta169;
modelica_metatype tmpMeta170;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,13,3) == 0) goto tmp3_end;
tmpMeta165 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta165,1,1) == 0) goto tmp3_end;
tmpMeta166 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta165), 2));
if (3 != MMC_STRLEN(tmpMeta166) || strcmp(MMC_STRINGDATA(_OMC_LIT872), MMC_STRINGDATA(tmpMeta166)) != 0) goto tmp3_end;
tmpMeta167 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 3));
if (listEmpty(tmpMeta167)) goto tmp3_end;
tmpMeta168 = MMC_CAR(tmpMeta167);
tmpMeta169 = MMC_CDR(tmpMeta167);
if (!listEmpty(tmpMeta169)) goto tmp3_end;
tmpMeta170 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 4));
_i_e1 = tmpMeta168;
_txt = tmp4_1;
_a_sub = tmp4_3;
_a_auxFunction = tmp4_4;
_a_varDecls = tmp4_5;
_a_preExp = tmp4_6;
_a_context = tmp4_7;
_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_LIT239);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _l_tmp);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT129);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _l_argStr);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT169);
_txt_21 = omc_Tpl_writeText(threadData, _OMC_LIT20, _l_tmp);
_txt_21 = omc_Tpl_writeTok(threadData, _txt_21, _OMC_LIT707);
_txt_22 = omc_Tpl_writeTok(threadData, _OMC_LIT20, _OMC_LIT709);
_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_LIT711);
_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_LIT713 ,&_txt_21 ,&_txt_22 ,&_a_varDecls);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT715);
_txt = omc_Tpl_writeText(threadData, _txt, _l_tmp);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT87);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_sub;
tmpMeta[0+2] = _a_auxFunction;
tmpMeta[0+3] = _a_varDecls;
tmpMeta[0+4] = _a_preExp;
goto tmp3_done;
}
case 28: {
modelica_metatype tmpMeta171;
modelica_metatype tmpMeta172;
modelica_metatype tmpMeta173;
modelica_metatype tmpMeta174;
modelica_metatype tmpMeta175;
modelica_metatype tmpMeta176;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,13,3) == 0) goto tmp3_end;
tmpMeta171 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta171,1,1) == 0) goto tmp3_end;
tmpMeta172 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta171), 2));
if (5 != MMC_STRLEN(tmpMeta172) || strcmp(MMC_STRINGDATA(_OMC_LIT873), MMC_STRINGDATA(tmpMeta172)) != 0) goto tmp3_end;
tmpMeta173 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 3));
if (listEmpty(tmpMeta173)) goto tmp3_end;
tmpMeta174 = MMC_CAR(tmpMeta173);
tmpMeta175 = MMC_CDR(tmpMeta173);
if (!listEmpty(tmpMeta175)) goto tmp3_end;
tmpMeta176 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 4));
_i_e1 = tmpMeta174;
_txt = tmp4_1;
_a_sub = tmp4_3;
_a_auxFunction = tmp4_4;
_a_varDecls = tmp4_5;
_a_preExp = tmp4_6;
_a_context = tmp4_7;
_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_LIT239);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _l_tmp);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT129);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _l_argStr);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT169);
_txt_25 = omc_Tpl_writeText(threadData, _OMC_LIT20, _l_tmp);
_txt_25 = omc_Tpl_writeTok(threadData, _txt_25, _OMC_LIT707);
_txt_26 = omc_Tpl_writeTok(threadData, _OMC_LIT20, _OMC_LIT717);
_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_LIT711);
_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_LIT713 ,&_txt_25 ,&_txt_26 ,&_a_varDecls);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT719);
_txt = omc_Tpl_writeText(threadData, _txt, _l_tmp);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT87);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_sub;
tmpMeta[0+2] = _a_auxFunction;
tmpMeta[0+3] = _a_varDecls;
tmpMeta[0+4] = _a_preExp;
goto tmp3_done;
}
case 29: {
modelica_metatype tmpMeta177;
modelica_metatype tmpMeta178;
modelica_metatype tmpMeta179;
modelica_metatype tmpMeta180;
modelica_metatype tmpMeta181;
modelica_metatype tmpMeta182;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,13,3) == 0) goto tmp3_end;
tmpMeta177 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta177,1,1) == 0) goto tmp3_end;
tmpMeta178 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta177), 2));
if (4 != MMC_STRLEN(tmpMeta178) || strcmp(MMC_STRINGDATA(_OMC_LIT874), MMC_STRINGDATA(tmpMeta178)) != 0) goto tmp3_end;
tmpMeta179 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 3));
if (listEmpty(tmpMeta179)) goto tmp3_end;
tmpMeta180 = MMC_CAR(tmpMeta179);
tmpMeta181 = MMC_CDR(tmpMeta179);
if (!listEmpty(tmpMeta181)) goto tmp3_end;
tmpMeta182 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 4));
_i_call = tmp4_2;
_i_e1 = tmpMeta180;
_txt = tmp4_1;
_a_sub = tmp4_3;
_a_auxFunction = tmp4_4;
_a_varDecls = tmp4_5;
_a_preExp = tmp4_6;
_a_context = tmp4_7;
_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_LIT622, _a_varDecls ,&_a_varDecls);
_l_cstr = omc_ExpressionDumpTpl_dumpExp(threadData, _OMC_LIT20, _i_call, _OMC_LIT239);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _l_tmp);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT129);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _l_argStr);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT169);
_txt_28 = omc_Tpl_writeText(threadData, _OMC_LIT20, _l_tmp);
_txt_28 = omc_Tpl_writeTok(threadData, _txt_28, _OMC_LIT721);
_txt_28 = omc_Tpl_writeText(threadData, _txt_28, _l_tmp);
_txt_28 = omc_Tpl_writeTok(threadData, _txt_28, _OMC_LIT723);
_txt_29 = omc_Tpl_writeTok(threadData, _OMC_LIT20, _OMC_LIT725);
_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_LIT727);
_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_LIT713 ,&_txt_28 ,&_txt_29 ,&_a_varDecls);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT729);
_txt = omc_Tpl_writeText(threadData, _txt, _l_tmp);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT87);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_sub;
tmpMeta[0+2] = _a_auxFunction;
tmpMeta[0+3] = _a_varDecls;
tmpMeta[0+4] = _a_preExp;
goto tmp3_done;
}
case 30: {
modelica_metatype tmpMeta183;
modelica_metatype tmpMeta184;
modelica_metatype tmpMeta185;
modelica_metatype tmpMeta186;
modelica_metatype tmpMeta187;
modelica_metatype tmpMeta188;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,13,3) == 0) goto tmp3_end;
tmpMeta183 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta183,1,1) == 0) goto tmp3_end;
tmpMeta184 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta183), 2));
if (4 != MMC_STRLEN(tmpMeta184) || strcmp(MMC_STRINGDATA(_OMC_LIT875), MMC_STRINGDATA(tmpMeta184)) != 0) goto tmp3_end;
tmpMeta185 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 3));
if (listEmpty(tmpMeta185)) goto tmp3_end;
tmpMeta186 = MMC_CAR(tmpMeta185);
tmpMeta187 = MMC_CDR(tmpMeta185);
if (!listEmpty(tmpMeta187)) goto tmp3_end;
tmpMeta188 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 4));
_i_call = tmp4_2;
_i_e1 = tmpMeta186;
_txt = tmp4_1;
_a_sub = tmp4_3;
_a_auxFunction = tmp4_4;
_a_varDecls = tmp4_5;
_a_preExp = tmp4_6;
_a_context = tmp4_7;
_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_LIT622, _a_varDecls ,&_a_varDecls);
_l_cstr = omc_ExpressionDumpTpl_dumpExp(threadData, _OMC_LIT20, _i_call, _OMC_LIT239);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _l_tmp);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT129);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _l_argStr);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT169);
_txt_31 = omc_Tpl_writeText(threadData, _OMC_LIT20, _l_tmp);
_txt_31 = omc_Tpl_writeTok(threadData, _txt_31, _OMC_LIT721);
_txt_31 = omc_Tpl_writeText(threadData, _txt_31, _l_tmp);
_txt_31 = omc_Tpl_writeTok(threadData, _txt_31, _OMC_LIT723);
_txt_32 = omc_Tpl_writeTok(threadData, _OMC_LIT20, _OMC_LIT725);
_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_LIT727);
_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_LIT713 ,&_txt_31 ,&_txt_32 ,&_a_varDecls);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT731);
_txt = omc_Tpl_writeText(threadData, _txt, _l_tmp);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT87);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_sub;
tmpMeta[0+2] = _a_auxFunction;
tmpMeta[0+3] = _a_varDecls;
tmpMeta[0+4] = _a_preExp;
goto tmp3_done;
}
case 31: {
modelica_metatype tmpMeta189;
modelica_metatype tmpMeta190;
modelica_metatype tmpMeta191;
modelica_metatype tmpMeta192;
modelica_metatype tmpMeta193;
modelica_metatype tmpMeta194;
modelica_metatype tmpMeta195;
modelica_metatype tmpMeta196;
modelica_metatype tmpMeta197;
modelica_metatype tmpMeta198;
modelica_metatype tmpMeta199;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,13,3) == 0) goto tmp3_end;
tmpMeta189 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta189,1,1) == 0) goto tmp3_end;
tmpMeta190 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta189), 2));
if (3 != MMC_STRLEN(tmpMeta190) || strcmp(MMC_STRINGDATA(_OMC_LIT876), MMC_STRINGDATA(tmpMeta190)) != 0) goto tmp3_end;
tmpMeta191 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 3));
if (listEmpty(tmpMeta191)) goto tmp3_end;
tmpMeta192 = MMC_CAR(tmpMeta191);
tmpMeta193 = MMC_CDR(tmpMeta191);
if (listEmpty(tmpMeta193)) goto tmp3_end;
tmpMeta194 = MMC_CAR(tmpMeta193);
tmpMeta195 = MMC_CDR(tmpMeta193);
if (listEmpty(tmpMeta195)) goto tmp3_end;
tmpMeta196 = MMC_CAR(tmpMeta195);
tmpMeta197 = MMC_CDR(tmpMeta195);
if (!listEmpty(tmpMeta197)) goto tmp3_end;
tmpMeta198 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 4));
tmpMeta199 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta198), 2));
_i_e1 = tmpMeta192;
_i_e2 = tmpMeta194;
_i_index = tmpMeta196;
_i_ty = tmpMeta199;
_txt = tmp4_1;
_a_sub = tmp4_3;
_a_auxFunction = tmp4_4;
_a_varDecls = tmp4_5;
_a_preExp = tmp4_6;
_a_context = tmp4_7;
_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_LIT733);
_txt = omc_CodegenCFunctions_expTypeShort(threadData, _txt, _i_ty);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT30);
_txt = omc_Tpl_writeText(threadData, _txt, _l_var1);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT301);
_txt = omc_Tpl_writeText(threadData, _txt, _l_var2);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT301);
_txt = omc_Tpl_writeText(threadData, _txt, _l_constIndex);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT735);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_sub;
tmpMeta[0+2] = _a_auxFunction;
tmpMeta[0+3] = _a_varDecls;
tmpMeta[0+4] = _a_preExp;
goto tmp3_done;
}
case 32: {
modelica_metatype tmpMeta200;
modelica_metatype tmpMeta201;
modelica_metatype tmpMeta202;
modelica_metatype tmpMeta203;
modelica_metatype tmpMeta204;
modelica_metatype tmpMeta205;
modelica_metatype tmpMeta206;
modelica_metatype tmpMeta207;
modelica_metatype tmpMeta208;
modelica_metatype tmpMeta209;
modelica_metatype tmpMeta210;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,13,3) == 0) goto tmp3_end;
tmpMeta200 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta200,1,1) == 0) goto tmp3_end;
tmpMeta201 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta200), 2));
if (3 != MMC_STRLEN(tmpMeta201) || strcmp(MMC_STRINGDATA(_OMC_LIT877), MMC_STRINGDATA(tmpMeta201)) != 0) goto tmp3_end;
tmpMeta202 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 3));
if (listEmpty(tmpMeta202)) goto tmp3_end;
tmpMeta203 = MMC_CAR(tmpMeta202);
tmpMeta204 = MMC_CDR(tmpMeta202);
if (listEmpty(tmpMeta204)) goto tmp3_end;
tmpMeta205 = MMC_CAR(tmpMeta204);
tmpMeta206 = MMC_CDR(tmpMeta204);
if (listEmpty(tmpMeta206)) goto tmp3_end;
tmpMeta207 = MMC_CAR(tmpMeta206);
tmpMeta208 = MMC_CDR(tmpMeta206);
if (!listEmpty(tmpMeta208)) goto tmp3_end;
tmpMeta209 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 4));
tmpMeta210 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta209), 2));
_i_e1 = tmpMeta203;
_i_e2 = tmpMeta205;
_i_index = tmpMeta207;
_i_ty = tmpMeta210;
_txt = tmp4_1;
_a_sub = tmp4_3;
_a_auxFunction = tmp4_4;
_a_varDecls = tmp4_5;
_a_preExp = tmp4_6;
_a_context = tmp4_7;
_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_LIT737);
_txt = omc_CodegenCFunctions_expTypeShort(threadData, _txt, _i_ty);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT30);
_txt = omc_Tpl_writeText(threadData, _txt, _l_var1);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT301);
_txt = omc_Tpl_writeText(threadData, _txt, _l_var2);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT301);
_txt = omc_Tpl_writeText(threadData, _txt, _l_constIndex);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT735);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_sub;
tmpMeta[0+2] = _a_auxFunction;
tmpMeta[0+3] = _a_varDecls;
tmpMeta[0+4] = _a_preExp;
goto tmp3_done;
}
case 33: {
modelica_metatype tmpMeta211;
modelica_metatype tmpMeta212;
modelica_metatype tmpMeta213;
modelica_metatype tmpMeta214;
modelica_metatype tmpMeta215;
modelica_metatype tmpMeta216;
modelica_metatype tmpMeta217;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,13,3) == 0) goto tmp3_end;
tmpMeta211 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta211,1,1) == 0) goto tmp3_end;
tmpMeta212 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta211), 2));
if (7 != MMC_STRLEN(tmpMeta212) || strcmp(MMC_STRINGDATA(_OMC_LIT576), MMC_STRINGDATA(tmpMeta212)) != 0) goto tmp3_end;
tmpMeta213 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 3));
if (listEmpty(tmpMeta213)) goto tmp3_end;
tmpMeta214 = MMC_CAR(tmpMeta213);
tmpMeta215 = MMC_CDR(tmpMeta213);
if (listEmpty(tmpMeta215)) goto tmp3_end;
tmpMeta216 = MMC_CAR(tmpMeta215);
tmpMeta217 = MMC_CDR(tmpMeta215);
if (!listEmpty(tmpMeta217)) goto tmp3_end;
_i_inExp = tmpMeta214;
_i_index = tmpMeta216;
_txt = tmp4_1;
_a_sub = tmp4_3;
_a_auxFunction = tmp4_4;
_a_varDecls = tmp4_5;
_a_preExp = tmp4_6;
_a_context = tmp4_7;
_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_LIT739);
_txt = omc_Tpl_writeText(threadData, _txt, _l_exp);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT301);
_txt = omc_Tpl_writeText(threadData, _txt, _l_constIndex);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT741);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_sub;
tmpMeta[0+2] = _a_auxFunction;
tmpMeta[0+3] = _a_varDecls;
tmpMeta[0+4] = _a_preExp;
goto tmp3_done;
}
case 34: {
modelica_metatype tmpMeta218;
modelica_metatype tmpMeta219;
modelica_metatype tmpMeta220;
modelica_metatype tmpMeta221;
modelica_metatype tmpMeta222;
modelica_metatype tmpMeta223;
modelica_metatype tmpMeta224;
modelica_metatype tmpMeta225;
modelica_metatype tmpMeta226;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,13,3) == 0) goto tmp3_end;
tmpMeta218 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta218,1,1) == 0) goto tmp3_end;
tmpMeta219 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta218), 2));
if (5 != MMC_STRLEN(tmpMeta219) || strcmp(MMC_STRINGDATA(_OMC_LIT878), MMC_STRINGDATA(tmpMeta219)) != 0) goto tmp3_end;
tmpMeta220 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 3));
if (listEmpty(tmpMeta220)) goto tmp3_end;
tmpMeta221 = MMC_CAR(tmpMeta220);
tmpMeta222 = MMC_CDR(tmpMeta220);
if (listEmpty(tmpMeta222)) goto tmp3_end;
tmpMeta223 = MMC_CAR(tmpMeta222);
tmpMeta224 = MMC_CDR(tmpMeta222);
if (!listEmpty(tmpMeta224)) goto tmp3_end;
tmpMeta225 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 4));
tmpMeta226 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta225), 2));
_i_inExp = tmpMeta221;
_i_index = tmpMeta223;
_i_ty = tmpMeta226;
_txt = tmp4_1;
_a_sub = tmp4_3;
_a_auxFunction = tmp4_4;
_a_varDecls = tmp4_5;
_a_preExp = tmp4_6;
_a_context = tmp4_7;
_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_LIT743);
_txt = omc_CodegenCFunctions_expTypeShort(threadData, _txt, _i_ty);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT745);
_txt = omc_Tpl_writeText(threadData, _txt, _l_exp);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT301);
_txt = omc_Tpl_writeText(threadData, _txt, _l_constIndex);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT741);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_sub;
tmpMeta[0+2] = _a_auxFunction;
tmpMeta[0+3] = _a_varDecls;
tmpMeta[0+4] = _a_preExp;
goto tmp3_done;
}
case 35: {
modelica_metatype tmpMeta227;
modelica_metatype tmpMeta228;
modelica_metatype tmpMeta229;
modelica_metatype tmpMeta230;
modelica_metatype tmpMeta231;
modelica_metatype tmpMeta232;
modelica_metatype tmpMeta233;
modelica_metatype tmpMeta234;
modelica_metatype tmpMeta235;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,13,3) == 0) goto tmp3_end;
tmpMeta227 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta227,1,1) == 0) goto tmp3_end;
tmpMeta228 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta227), 2));
if (4 != MMC_STRLEN(tmpMeta228) || strcmp(MMC_STRINGDATA(_OMC_LIT879), MMC_STRINGDATA(tmpMeta228)) != 0) goto tmp3_end;
tmpMeta229 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 3));
if (listEmpty(tmpMeta229)) goto tmp3_end;
tmpMeta230 = MMC_CAR(tmpMeta229);
tmpMeta231 = MMC_CDR(tmpMeta229);
if (listEmpty(tmpMeta231)) goto tmp3_end;
tmpMeta232 = MMC_CAR(tmpMeta231);
tmpMeta233 = MMC_CDR(tmpMeta231);
if (!listEmpty(tmpMeta233)) goto tmp3_end;
tmpMeta234 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 4));
tmpMeta235 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta234), 2));
_i_inExp = tmpMeta230;
_i_index = tmpMeta232;
_i_ty = tmpMeta235;
_txt = tmp4_1;
_a_sub = tmp4_3;
_a_auxFunction = tmp4_4;
_a_varDecls = tmp4_5;
_a_preExp = tmp4_6;
_a_context = tmp4_7;
_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_LIT743);
_txt = omc_CodegenCFunctions_expTypeShort(threadData, _txt, _i_ty);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT747);
_txt = omc_Tpl_writeText(threadData, _txt, _l_exp);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT301);
_txt = omc_Tpl_writeText(threadData, _txt, _l_constIndex);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT741);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_sub;
tmpMeta[0+2] = _a_auxFunction;
tmpMeta[0+3] = _a_varDecls;
tmpMeta[0+4] = _a_preExp;
goto tmp3_done;
}
case 36: {
modelica_metatype tmpMeta236;
modelica_metatype tmpMeta237;
modelica_metatype tmpMeta238;
modelica_metatype tmpMeta239;
modelica_metatype tmpMeta240;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,13,3) == 0) goto tmp3_end;
tmpMeta236 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta236,1,1) == 0) goto tmp3_end;
tmpMeta237 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta236), 2));
if (7 != MMC_STRLEN(tmpMeta237) || strcmp(MMC_STRINGDATA(_OMC_LIT576), MMC_STRINGDATA(tmpMeta237)) != 0) goto tmp3_end;
tmpMeta238 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 3));
if (listEmpty(tmpMeta238)) goto tmp3_end;
tmpMeta239 = MMC_CAR(tmpMeta238);
tmpMeta240 = MMC_CDR(tmpMeta238);
if (!listEmpty(tmpMeta240)) goto tmp3_end;
_i_inExp = tmpMeta239;
_txt = tmp4_1;
_a_sub = tmp4_3;
_a_auxFunction = tmp4_4;
_a_varDecls = tmp4_5;
_a_preExp = tmp4_6;
_a_context = tmp4_7;
_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_LIT749);
_txt = omc_Tpl_writeText(threadData, _txt, _l_exp);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT610);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_sub;
tmpMeta[0+2] = _a_auxFunction;
tmpMeta[0+3] = _a_varDecls;
tmpMeta[0+4] = _a_preExp;
goto tmp3_done;
}
case 37: {
modelica_metatype tmpMeta241;
modelica_metatype tmpMeta242;
modelica_metatype tmpMeta243;
modelica_metatype tmpMeta244;
modelica_metatype tmpMeta245;
modelica_metatype tmpMeta246;
modelica_metatype tmpMeta247;
modelica_metatype tmpMeta248;
modelica_metatype tmpMeta249;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,13,3) == 0) goto tmp3_end;
tmpMeta241 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta241,1,1) == 0) goto tmp3_end;
tmpMeta242 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta241), 2));
if (3 != MMC_STRLEN(tmpMeta242) || strcmp(MMC_STRINGDATA(_OMC_LIT876), MMC_STRINGDATA(tmpMeta242)) != 0) goto tmp3_end;
tmpMeta243 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 3));
if (listEmpty(tmpMeta243)) goto tmp3_end;
tmpMeta244 = MMC_CAR(tmpMeta243);
tmpMeta245 = MMC_CDR(tmpMeta243);
if (listEmpty(tmpMeta245)) goto tmp3_end;
tmpMeta246 = MMC_CAR(tmpMeta245);
tmpMeta247 = MMC_CDR(tmpMeta245);
if (!listEmpty(tmpMeta247)) goto tmp3_end;
tmpMeta248 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 4));
tmpMeta249 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta248), 2));
_i_call = tmp4_2;
_i_e1 = tmpMeta244;
_i_e2 = tmpMeta246;
_i_ty = tmpMeta249;
_txt = tmp4_1;
_a_sub = tmp4_3;
_a_auxFunction = tmp4_4;
_a_varDecls = tmp4_5;
_a_preExp = tmp4_6;
_a_context = tmp4_7;
_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__979(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_LIT239);
_ret_39 = omc_Config_acceptMetaModelicaGrammar(threadData);
_a_preExp = omc_CodegenCFunctions_fun__980(threadData, _a_preExp, _ret_39, _l_var2, _l_tvar);
_ret_40 = omc_Config_acceptMetaModelicaGrammar(threadData);
_a_preExp = omc_CodegenCFunctions_fun__981(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_LIT751);
_txt = omc_Tpl_writeText(threadData, _txt, _l_var1);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT301);
_txt = omc_Tpl_writeText(threadData, _txt, _l_tvar);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT87);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_sub;
tmpMeta[0+2] = _a_auxFunction;
tmpMeta[0+3] = _a_varDecls;
tmpMeta[0+4] = _a_preExp;
goto tmp3_done;
}
case 38: {
modelica_metatype tmpMeta250;
modelica_metatype tmpMeta251;
modelica_metatype tmpMeta252;
modelica_metatype tmpMeta253;
modelica_metatype tmpMeta254;
modelica_metatype tmpMeta255;
modelica_metatype tmpMeta256;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,13,3) == 0) goto tmp3_end;
tmpMeta250 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta250,1,1) == 0) goto tmp3_end;
tmpMeta251 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta250), 2));
if (3 != MMC_STRLEN(tmpMeta251) || strcmp(MMC_STRINGDATA(_OMC_LIT876), MMC_STRINGDATA(tmpMeta251)) != 0) goto tmp3_end;
tmpMeta252 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 3));
if (listEmpty(tmpMeta252)) goto tmp3_end;
tmpMeta253 = MMC_CAR(tmpMeta252);
tmpMeta254 = MMC_CDR(tmpMeta252);
if (listEmpty(tmpMeta254)) goto tmp3_end;
tmpMeta255 = MMC_CAR(tmpMeta254);
tmpMeta256 = MMC_CDR(tmpMeta254);
if (!listEmpty(tmpMeta256)) goto tmp3_end;
_i_call = tmp4_2;
_i_e1 = tmpMeta253;
_i_e2 = tmpMeta255;
_txt = tmp4_1;
_a_sub = tmp4_3;
_a_auxFunction = tmp4_4;
_a_varDecls = tmp4_5;
_a_preExp = tmp4_6;
_a_context = tmp4_7;
_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_LIT622, _a_varDecls ,&_a_varDecls);
_l_cstr = omc_ExpressionDumpTpl_dumpExp(threadData, _OMC_LIT20, _i_call, _OMC_LIT239);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _l_tvar);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT129);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _l_var2);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT113);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT98);
_ret_41 = omc_Config_acceptMetaModelicaGrammar(threadData);
_a_preExp = omc_CodegenCFunctions_fun__982(threadData, _a_preExp, _ret_41, _l_cstr, _l_tvar);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT753);
_txt = omc_Tpl_writeText(threadData, _txt, _l_var1);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT755);
_txt = omc_Tpl_writeText(threadData, _txt, _l_var1);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT757);
_txt = omc_Tpl_writeText(threadData, _txt, _l_tvar);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT759);
_txt = omc_Tpl_writeText(threadData, _txt, _l_tvar);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT610);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_sub;
tmpMeta[0+2] = _a_auxFunction;
tmpMeta[0+3] = _a_varDecls;
tmpMeta[0+4] = _a_preExp;
goto tmp3_done;
}
case 39: {
modelica_metatype tmpMeta257;
modelica_metatype tmpMeta258;
modelica_metatype tmpMeta259;
modelica_metatype tmpMeta260;
modelica_metatype tmpMeta261;
modelica_metatype tmpMeta262;
modelica_metatype tmpMeta263;
modelica_metatype tmpMeta264;
modelica_metatype tmpMeta265;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,13,3) == 0) goto tmp3_end;
tmpMeta257 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta257,1,1) == 0) goto tmp3_end;
tmpMeta258 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta257), 2));
if (3 != MMC_STRLEN(tmpMeta258) || strcmp(MMC_STRINGDATA(_OMC_LIT877), MMC_STRINGDATA(tmpMeta258)) != 0) goto tmp3_end;
tmpMeta259 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 3));
if (listEmpty(tmpMeta259)) goto tmp3_end;
tmpMeta260 = MMC_CAR(tmpMeta259);
tmpMeta261 = MMC_CDR(tmpMeta259);
if (listEmpty(tmpMeta261)) goto tmp3_end;
tmpMeta262 = MMC_CAR(tmpMeta261);
tmpMeta263 = MMC_CDR(tmpMeta261);
if (!listEmpty(tmpMeta263)) goto tmp3_end;
tmpMeta264 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 4));
tmpMeta265 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta264), 2));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta265,0,1) == 0) goto tmp3_end;
_i_call = tmp4_2;
_i_e1 = tmpMeta260;
_i_e2 = tmpMeta262;
_txt = tmp4_1;
_a_sub = tmp4_3;
_a_auxFunction = tmp4_4;
_a_varDecls = tmp4_5;
_a_preExp = tmp4_6;
_a_context = tmp4_7;
_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_LIT253, _a_varDecls ,&_a_varDecls);
_l_cstr = omc_ExpressionDumpTpl_dumpExp(threadData, _OMC_LIT20, _i_call, _OMC_LIT239);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _l_tvar);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT129);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _l_var2);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT113);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT98);
_ret_42 = omc_Config_acceptMetaModelicaGrammar(threadData);
_a_preExp = omc_CodegenCFunctions_fun__983(threadData, _a_preExp, _ret_42, _l_cstr, _l_tvar);
_ret_43 = omc_SimCodeFunctionUtil_isParallelFunctionContext(threadData, _a_context);
_txt = omc_CodegenCFunctions_fun__984(threadData, _txt, _ret_43, _l_tvar, _l_var1);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_sub;
tmpMeta[0+2] = _a_auxFunction;
tmpMeta[0+3] = _a_varDecls;
tmpMeta[0+4] = _a_preExp;
goto tmp3_done;
}
case 40: {
modelica_metatype tmpMeta266;
modelica_metatype tmpMeta267;
modelica_metatype tmpMeta268;
modelica_metatype tmpMeta269;
modelica_metatype tmpMeta270;
modelica_metatype tmpMeta271;
modelica_metatype tmpMeta272;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,13,3) == 0) goto tmp3_end;
tmpMeta266 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta266,1,1) == 0) goto tmp3_end;
tmpMeta267 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta266), 2));
if (3 != MMC_STRLEN(tmpMeta267) || strcmp(MMC_STRINGDATA(_OMC_LIT877), MMC_STRINGDATA(tmpMeta267)) != 0) goto tmp3_end;
tmpMeta268 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 3));
if (listEmpty(tmpMeta268)) goto tmp3_end;
tmpMeta269 = MMC_CAR(tmpMeta268);
tmpMeta270 = MMC_CDR(tmpMeta268);
if (listEmpty(tmpMeta270)) goto tmp3_end;
tmpMeta271 = MMC_CAR(tmpMeta270);
tmpMeta272 = MMC_CDR(tmpMeta270);
if (!listEmpty(tmpMeta272)) goto tmp3_end;
_i_call = tmp4_2;
_i_e1 = tmpMeta269;
_i_e2 = tmpMeta271;
_txt = tmp4_1;
_a_sub = tmp4_3;
_a_auxFunction = tmp4_4;
_a_varDecls = tmp4_5;
_a_preExp = tmp4_6;
_a_context = tmp4_7;
_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_LIT239);
_l_tvar = omc_CodegenCFunctions_tempDecl(threadData, _OMC_LIT20, _OMC_LIT622, _a_varDecls ,&_a_varDecls);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _l_tvar);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT129);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _l_var2);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT113);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT98);
_ret_44 = omc_Config_acceptMetaModelicaGrammar(threadData);
_a_preExp = omc_CodegenCFunctions_fun__985(threadData, _a_preExp, _ret_44, _l_cstr, _l_tvar);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT761);
_txt = omc_Tpl_writeText(threadData, _txt, _l_var1);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT757);
_txt = omc_Tpl_writeText(threadData, _txt, _l_tvar);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT610);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_sub;
tmpMeta[0+2] = _a_auxFunction;
tmpMeta[0+3] = _a_varDecls;
tmpMeta[0+4] = _a_preExp;
goto tmp3_done;
}
case 41: {
modelica_metatype tmpMeta273;
modelica_metatype tmpMeta274;
modelica_metatype tmpMeta275;
modelica_metatype tmpMeta276;
modelica_metatype tmpMeta277;
modelica_metatype tmpMeta278;
modelica_metatype tmpMeta279;
modelica_metatype tmpMeta280;
modelica_metatype tmpMeta281;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,13,3) == 0) goto tmp3_end;
tmpMeta273 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta273,1,1) == 0) goto tmp3_end;
tmpMeta274 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta273), 2));
if (3 != MMC_STRLEN(tmpMeta274) || strcmp(MMC_STRINGDATA(_OMC_LIT876), MMC_STRINGDATA(tmpMeta274)) != 0) goto tmp3_end;
tmpMeta275 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 3));
if (listEmpty(tmpMeta275)) goto tmp3_end;
tmpMeta276 = MMC_CAR(tmpMeta275);
tmpMeta277 = MMC_CDR(tmpMeta275);
if (listEmpty(tmpMeta277)) goto tmp3_end;
tmpMeta278 = MMC_CAR(tmpMeta277);
tmpMeta279 = MMC_CDR(tmpMeta277);
if (!listEmpty(tmpMeta279)) goto tmp3_end;
tmpMeta280 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 4));
tmpMeta281 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta280), 2));
_i_e1 = tmpMeta276;
_i_e2 = tmpMeta278;
_i_ty = tmpMeta281;
_txt = tmp4_1;
_a_sub = tmp4_3;
_a_auxFunction = tmp4_4;
_a_varDecls = tmp4_5;
_a_preExp = tmp4_6;
_a_context = tmp4_7;
_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_LIT763);
_txt = omc_CodegenCFunctions_expTypeShort(threadData, _txt, _i_ty);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT30);
_txt = omc_Tpl_writeText(threadData, _txt, _l_var1);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT234);
_txt = omc_Tpl_writeText(threadData, _txt, _l_var2);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT87);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_sub;
tmpMeta[0+2] = _a_auxFunction;
tmpMeta[0+3] = _a_varDecls;
tmpMeta[0+4] = _a_preExp;
goto tmp3_done;
}
case 42: {
modelica_metatype tmpMeta282;
modelica_metatype tmpMeta283;
modelica_metatype tmpMeta284;
modelica_metatype tmpMeta285;
modelica_metatype tmpMeta286;
modelica_metatype tmpMeta287;
modelica_metatype tmpMeta288;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,13,3) == 0) goto tmp3_end;
tmpMeta282 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta282,1,1) == 0) goto tmp3_end;
tmpMeta283 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta282), 2));
if (3 != MMC_STRLEN(tmpMeta283) || strcmp(MMC_STRINGDATA(_OMC_LIT866), MMC_STRINGDATA(tmpMeta283)) != 0) goto tmp3_end;
tmpMeta284 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 3));
if (listEmpty(tmpMeta284)) goto tmp3_end;
tmpMeta285 = MMC_CAR(tmpMeta284);
tmpMeta286 = MMC_CDR(tmpMeta284);
if (!listEmpty(tmpMeta286)) goto tmp3_end;
tmpMeta287 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 4));
tmpMeta288 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta287), 2));
_i_array = tmpMeta285;
_i_ty = tmpMeta288;
_txt = tmp4_1;
_a_sub = tmp4_3;
_a_auxFunction = tmp4_4;
_a_varDecls = tmp4_5;
_a_preExp = tmp4_6;
_a_context = tmp4_7;
_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_LIT765);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _l_arr__tp__str);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT30);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _l_expVar);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT299);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT98);
_txt = omc_Tpl_writeText(threadData, _txt, _l_tvar);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_sub;
tmpMeta[0+2] = _a_auxFunction;
tmpMeta[0+3] = _a_varDecls;
tmpMeta[0+4] = _a_preExp;
goto tmp3_done;
}
case 43: {
modelica_metatype tmpMeta289;
modelica_metatype tmpMeta290;
modelica_metatype tmpMeta291;
modelica_metatype tmpMeta292;
modelica_metatype tmpMeta293;
modelica_metatype tmpMeta294;
modelica_metatype tmpMeta295;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,13,3) == 0) goto tmp3_end;
tmpMeta289 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta289,1,1) == 0) goto tmp3_end;
tmpMeta290 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta289), 2));
if (3 != MMC_STRLEN(tmpMeta290) || strcmp(MMC_STRINGDATA(_OMC_LIT869), MMC_STRINGDATA(tmpMeta290)) != 0) goto tmp3_end;
tmpMeta291 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 3));
if (listEmpty(tmpMeta291)) goto tmp3_end;
tmpMeta292 = MMC_CAR(tmpMeta291);
tmpMeta293 = MMC_CDR(tmpMeta291);
if (!listEmpty(tmpMeta293)) goto tmp3_end;
tmpMeta294 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 4));
tmpMeta295 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta294), 2));
_i_array = tmpMeta292;
_i_ty = tmpMeta295;
_txt = tmp4_1;
_a_sub = tmp4_3;
_a_auxFunction = tmp4_4;
_a_varDecls = tmp4_5;
_a_preExp = tmp4_6;
_a_context = tmp4_7;
_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_LIT767);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _l_arr__tp__str);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT30);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _l_expVar);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT299);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT98);
_txt = omc_Tpl_writeText(threadData, _txt, _l_tvar);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_sub;
tmpMeta[0+2] = _a_auxFunction;
tmpMeta[0+3] = _a_varDecls;
tmpMeta[0+4] = _a_preExp;
goto tmp3_done;
}
case 44: {
modelica_metatype tmpMeta296;
modelica_metatype tmpMeta297;
modelica_metatype tmpMeta298;
modelica_metatype tmpMeta299;
modelica_metatype tmpMeta300;
modelica_metatype tmpMeta301;
modelica_metatype tmpMeta302;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,13,3) == 0) goto tmp3_end;
tmpMeta296 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta296,1,1) == 0) goto tmp3_end;
tmpMeta297 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta296), 2));
if (4 != MMC_STRLEN(tmpMeta297) || strcmp(MMC_STRINGDATA(_OMC_LIT880), MMC_STRINGDATA(tmpMeta297)) != 0) goto tmp3_end;
tmpMeta298 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 3));
if (listEmpty(tmpMeta298)) goto tmp3_end;
tmpMeta299 = MMC_CAR(tmpMeta298);
tmpMeta300 = MMC_CDR(tmpMeta298);
tmpMeta301 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 4));
tmpMeta302 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta301), 2));
_i_val = tmpMeta299;
_i_dims = tmpMeta300;
_i_ty = tmpMeta302;
_txt = tmp4_1;
_a_sub = tmp4_3;
_a_auxFunction = tmp4_4;
_a_varDecls = tmp4_5;
_a_preExp = tmp4_6;
_a_context = tmp4_7;
_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_LIT303);
_l_dimsExp = omc_CodegenCFunctions_lm__986(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_LIT769);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _l_ty__str);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT307);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _l_tvar);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT301);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _l_valExp);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT301);
_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_LIT301);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _l_dimsExp);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT299);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT98);
_txt = omc_Tpl_writeText(threadData, _txt, _l_tvar);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_sub;
tmpMeta[0+2] = _a_auxFunction;
tmpMeta[0+3] = _a_varDecls;
tmpMeta[0+4] = _a_preExp;
goto tmp3_done;
}
case 45: {
modelica_metatype tmpMeta303;
modelica_metatype tmpMeta304;
modelica_metatype tmpMeta305;
modelica_metatype tmpMeta306;
modelica_metatype tmpMeta307;
modelica_metatype tmpMeta308;
modelica_metatype tmpMeta309;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,13,3) == 0) goto tmp3_end;
tmpMeta303 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta303,1,1) == 0) goto tmp3_end;
tmpMeta304 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta303), 2));
if (6 != MMC_STRLEN(tmpMeta304) || strcmp(MMC_STRINGDATA(_OMC_LIT881), MMC_STRINGDATA(tmpMeta304)) != 0) goto tmp3_end;
tmpMeta305 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 3));
if (listEmpty(tmpMeta305)) goto tmp3_end;
tmpMeta306 = MMC_CAR(tmpMeta305);
tmpMeta307 = MMC_CDR(tmpMeta305);
if (!listEmpty(tmpMeta307)) goto tmp3_end;
tmpMeta308 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 4));
tmpMeta309 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta308), 2));
_i_exp = tmpMeta306;
_i_ty = tmpMeta309;
_txt = tmp4_1;
_a_sub = tmp4_3;
_a_auxFunction = tmp4_4;
_a_varDecls = tmp4_5;
_a_preExp = tmp4_6;
_a_context = tmp4_7;
_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_LIT253, _a_varDecls ,&_a_varDecls);
_l_tvardata = omc_CodegenCFunctions_tempDecl(threadData, _OMC_LIT20, _OMC_LIT770, _a_varDecls ,&_a_varDecls);
_l_nElts = omc_CodegenCFunctions_tempDecl(threadData, _OMC_LIT20, _OMC_LIT253, _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_LIT772);
_l_szElt = omc_CodegenCFunctions_expTypeModelica(threadData, _l_szElt, _i_ty);
_l_szElt = omc_Tpl_writeTok(threadData, _l_szElt, _OMC_LIT87);
_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_LIT147);
_l_dims = omc_CodegenCFunctions_lm__988(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_LIT105);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _l_tvarc);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT774);
_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_LIT257);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _l_tvarc);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT776);
_a_preExp = omc_Tpl_pushBlock(threadData, _a_preExp, _OMC_LIT105);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT778);
_txt_64 = omc_ExpressionDumpTpl_dumpExp(threadData, _OMC_LIT20, _i_exp, _OMC_LIT239);
_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_LIT780);
_a_preExp = omc_Tpl_popBlock(threadData, _a_preExp);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT167);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _l_nElts);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT782);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _l_val);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT386);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _l_tvardata);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT784);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _l_szElt);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT265);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _l_nElts);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT788);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _l_tvardata);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT301);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _l_val);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT790);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _l_szElt);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT265);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _l_nElts);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT793);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _l_tvar);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT301);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _l_nElts);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT301);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _l_tvardata);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT299);
_txt = omc_Tpl_writeText(threadData, _txt, _l_tvar);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_sub;
tmpMeta[0+2] = _a_auxFunction;
tmpMeta[0+3] = _a_varDecls;
tmpMeta[0+4] = _a_preExp;
goto tmp3_done;
}
case 46: {
modelica_metatype tmpMeta310;
modelica_metatype tmpMeta311;
modelica_metatype tmpMeta312;
modelica_metatype tmpMeta313;
modelica_metatype tmpMeta314;
modelica_metatype tmpMeta315;
modelica_metatype tmpMeta316;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,13,3) == 0) goto tmp3_end;
tmpMeta310 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta310,1,1) == 0) goto tmp3_end;
tmpMeta311 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta310), 2));
if (3 != MMC_STRLEN(tmpMeta311) || strcmp(MMC_STRINGDATA(_OMC_LIT882), MMC_STRINGDATA(tmpMeta311)) != 0) goto tmp3_end;
tmpMeta312 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 3));
if (listEmpty(tmpMeta312)) goto tmp3_end;
tmpMeta313 = MMC_CAR(tmpMeta312);
tmpMeta314 = MMC_CDR(tmpMeta312);
tmpMeta315 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 4));
tmpMeta316 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta315), 2));
_i_dim = tmpMeta313;
_i_arrays = tmpMeta314;
_i_ty = tmpMeta316;
_txt = tmp4_1;
_a_sub = tmp4_3;
_a_auxFunction = tmp4_4;
_a_varDecls = tmp4_5;
_a_preExp = tmp4_6;
_a_context = tmp4_7;
_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_LIT795);
_l_arrays__exp = omc_CodegenCFunctions_lm__989(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_LIT572);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _l_ty__str);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT30);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _l_dim__exp);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT131);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _l_tvar);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT301);
_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_LIT131);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _l_arrays__exp);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT299);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT98);
_txt = omc_Tpl_writeText(threadData, _txt, _l_tvar);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_sub;
tmpMeta[0+2] = _a_auxFunction;
tmpMeta[0+3] = _a_varDecls;
tmpMeta[0+4] = _a_preExp;
goto tmp3_done;
}
case 47: {
modelica_metatype tmpMeta317;
modelica_metatype tmpMeta318;
modelica_metatype tmpMeta319;
modelica_metatype tmpMeta320;
modelica_metatype tmpMeta321;
modelica_metatype tmpMeta322;
modelica_metatype tmpMeta323;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,13,3) == 0) goto tmp3_end;
tmpMeta317 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta317,1,1) == 0) goto tmp3_end;
tmpMeta318 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta317), 2));
if (7 != MMC_STRLEN(tmpMeta318) || strcmp(MMC_STRINGDATA(_OMC_LIT883), MMC_STRINGDATA(tmpMeta318)) != 0) goto tmp3_end;
tmpMeta319 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 3));
if (listEmpty(tmpMeta319)) goto tmp3_end;
tmpMeta320 = MMC_CAR(tmpMeta319);
tmpMeta321 = MMC_CDR(tmpMeta319);
if (listEmpty(tmpMeta321)) goto tmp3_end;
tmpMeta322 = MMC_CAR(tmpMeta321);
tmpMeta323 = MMC_CDR(tmpMeta321);
if (!listEmpty(tmpMeta323)) goto tmp3_end;
_i_A = tmpMeta320;
_i_n = tmpMeta322;
_txt = tmp4_1;
_a_sub = tmp4_3;
_a_auxFunction = tmp4_4;
_a_varDecls = tmp4_5;
_a_preExp = tmp4_6;
_a_context = tmp4_7;
_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_LIT797);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _l_arr__tp__str);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT307);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _l_var1);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT301);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _l_var2);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT799);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _l_var1);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT801);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _l_tvar);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT299);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT98);
_txt = omc_Tpl_writeText(threadData, _txt, _l_tvar);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_sub;
tmpMeta[0+2] = _a_auxFunction;
tmpMeta[0+3] = _a_varDecls;
tmpMeta[0+4] = _a_preExp;
goto tmp3_done;
}
case 48: {
modelica_metatype tmpMeta324;
modelica_metatype tmpMeta325;
modelica_metatype tmpMeta326;
modelica_metatype tmpMeta327;
modelica_metatype tmpMeta328;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,13,3) == 0) goto tmp3_end;
tmpMeta324 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta324,1,1) == 0) goto tmp3_end;
tmpMeta325 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta324), 2));
if (9 != MMC_STRLEN(tmpMeta325) || strcmp(MMC_STRINGDATA(_OMC_LIT884), MMC_STRINGDATA(tmpMeta325)) != 0) goto tmp3_end;
tmpMeta326 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 3));
if (listEmpty(tmpMeta326)) goto tmp3_end;
tmpMeta327 = MMC_CAR(tmpMeta326);
tmpMeta328 = MMC_CDR(tmpMeta326);
if (!listEmpty(tmpMeta328)) goto tmp3_end;
_i_A = tmpMeta327;
_txt = tmp4_1;
_a_sub = tmp4_3;
_a_auxFunction = tmp4_4;
_a_varDecls = tmp4_5;
_a_preExp = tmp4_6;
_a_context = tmp4_7;
_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_LIT803);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _l_arr__tp__str);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT307);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _l_var1);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT131);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _l_tvar);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT299);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT98);
_txt = omc_Tpl_writeText(threadData, _txt, _l_tvar);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_sub;
tmpMeta[0+2] = _a_auxFunction;
tmpMeta[0+3] = _a_varDecls;
tmpMeta[0+4] = _a_preExp;
goto tmp3_done;
}
case 49: {
modelica_metatype tmpMeta329;
modelica_metatype tmpMeta330;
modelica_metatype tmpMeta331;
modelica_metatype tmpMeta332;
modelica_metatype tmpMeta333;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,13,3) == 0) goto tmp3_end;
tmpMeta329 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta329,1,1) == 0) goto tmp3_end;
tmpMeta330 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta329), 2));
if (9 != MMC_STRLEN(tmpMeta330) || strcmp(MMC_STRINGDATA(_OMC_LIT885), MMC_STRINGDATA(tmpMeta330)) != 0) goto tmp3_end;
tmpMeta331 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 3));
if (listEmpty(tmpMeta331)) goto tmp3_end;
tmpMeta332 = MMC_CAR(tmpMeta331);
tmpMeta333 = MMC_CDR(tmpMeta331);
if (!listEmpty(tmpMeta333)) goto tmp3_end;
_i_A = tmpMeta332;
_txt = tmp4_1;
_a_sub = tmp4_3;
_a_auxFunction = tmp4_4;
_a_varDecls = tmp4_5;
_a_preExp = tmp4_6;
_a_context = tmp4_7;
_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_LIT805);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _l_arr__tp__str);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT307);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _l_var1);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT131);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _l_tvar);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT299);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT98);
_txt = omc_Tpl_writeText(threadData, _txt, _l_tvar);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_sub;
tmpMeta[0+2] = _a_auxFunction;
tmpMeta[0+3] = _a_varDecls;
tmpMeta[0+4] = _a_preExp;
goto tmp3_done;
}
case 50: {
modelica_metatype tmpMeta334;
modelica_metatype tmpMeta335;
modelica_metatype tmpMeta336;
modelica_metatype tmpMeta337;
modelica_metatype tmpMeta338;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,13,3) == 0) goto tmp3_end;
tmpMeta334 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta334,1,1) == 0) goto tmp3_end;
tmpMeta335 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta334), 2));
if (4 != MMC_STRLEN(tmpMeta335) || strcmp(MMC_STRINGDATA(_OMC_LIT886), MMC_STRINGDATA(tmpMeta335)) != 0) goto tmp3_end;
tmpMeta336 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 3));
if (listEmpty(tmpMeta336)) goto tmp3_end;
tmpMeta337 = MMC_CAR(tmpMeta336);
tmpMeta338 = MMC_CDR(tmpMeta336);
if (!listEmpty(tmpMeta338)) goto tmp3_end;
_i_A = tmpMeta337;
_txt = tmp4_1;
_a_sub = tmp4_3;
_a_auxFunction = tmp4_4;
_a_varDecls = tmp4_5;
_a_preExp = tmp4_6;
_a_context = tmp4_7;
_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_LIT807);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _l_arr__tp__str);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT307);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _l_var1);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT131);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _l_tvar);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT299);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT98);
_txt = omc_Tpl_writeText(threadData, _txt, _l_tvar);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_sub;
tmpMeta[0+2] = _a_auxFunction;
tmpMeta[0+3] = _a_varDecls;
tmpMeta[0+4] = _a_preExp;
goto tmp3_done;
}
case 51: {
modelica_metatype tmpMeta339;
modelica_metatype tmpMeta340;
modelica_metatype tmpMeta341;
modelica_metatype tmpMeta342;
modelica_metatype tmpMeta343;
modelica_metatype tmpMeta344;
modelica_metatype tmpMeta345;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,13,3) == 0) goto tmp3_end;
tmpMeta339 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta339,1,1) == 0) goto tmp3_end;
tmpMeta340 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta339), 2));
if (5 != MMC_STRLEN(tmpMeta340) || strcmp(MMC_STRINGDATA(_OMC_LIT887), MMC_STRINGDATA(tmpMeta340)) != 0) goto tmp3_end;
tmpMeta341 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 3));
if (listEmpty(tmpMeta341)) goto tmp3_end;
tmpMeta342 = MMC_CAR(tmpMeta341);
tmpMeta343 = MMC_CDR(tmpMeta341);
if (listEmpty(tmpMeta343)) goto tmp3_end;
tmpMeta344 = MMC_CAR(tmpMeta343);
tmpMeta345 = MMC_CDR(tmpMeta343);
if (!listEmpty(tmpMeta345)) goto tmp3_end;
_i_v1 = tmpMeta342;
_i_v2 = tmpMeta344;
_txt = tmp4_1;
_a_sub = tmp4_3;
_a_auxFunction = tmp4_4;
_a_varDecls = tmp4_5;
_a_preExp = tmp4_6;
_a_context = tmp4_7;
_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_LIT809);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _l_arr__tp__str);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT307);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _l_var1);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT131);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _l_var2);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT131);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _l_tvar);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT299);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT98);
_txt = omc_Tpl_writeText(threadData, _txt, _l_tvar);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_sub;
tmpMeta[0+2] = _a_auxFunction;
tmpMeta[0+3] = _a_varDecls;
tmpMeta[0+4] = _a_preExp;
goto tmp3_done;
}
case 52: {
modelica_metatype tmpMeta346;
modelica_metatype tmpMeta347;
modelica_metatype tmpMeta348;
modelica_metatype tmpMeta349;
modelica_metatype tmpMeta350;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,13,3) == 0) goto tmp3_end;
tmpMeta346 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta346,1,1) == 0) goto tmp3_end;
tmpMeta347 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta346), 2));
if (8 != MMC_STRLEN(tmpMeta347) || strcmp(MMC_STRINGDATA(_OMC_LIT888), MMC_STRINGDATA(tmpMeta347)) != 0) goto tmp3_end;
tmpMeta348 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 3));
if (listEmpty(tmpMeta348)) goto tmp3_end;
tmpMeta349 = MMC_CAR(tmpMeta348);
tmpMeta350 = MMC_CDR(tmpMeta348);
if (!listEmpty(tmpMeta350)) goto tmp3_end;
_i_A = tmpMeta349;
_txt = tmp4_1;
_a_sub = tmp4_3;
_a_auxFunction = tmp4_4;
_a_varDecls = tmp4_5;
_a_preExp = tmp4_6;
_a_context = tmp4_7;
_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_LIT811);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _l_arr__tp__str);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT30);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _l_var1);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT131);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _l_tvar);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT299);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT98);
_txt = omc_Tpl_writeText(threadData, _txt, _l_tvar);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_sub;
tmpMeta[0+2] = _a_auxFunction;
tmpMeta[0+3] = _a_varDecls;
tmpMeta[0+4] = _a_preExp;
goto tmp3_done;
}
case 53: {
modelica_metatype tmpMeta351;
modelica_metatype tmpMeta352;
modelica_metatype tmpMeta353;
modelica_metatype tmpMeta354;
modelica_metatype tmpMeta355;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,13,3) == 0) goto tmp3_end;
tmpMeta351 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta351,1,1) == 0) goto tmp3_end;
tmpMeta352 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta351), 2));
if (8 != MMC_STRLEN(tmpMeta352) || strcmp(MMC_STRINGDATA(_OMC_LIT889), MMC_STRINGDATA(tmpMeta352)) != 0) goto tmp3_end;
tmpMeta353 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 3));
if (listEmpty(tmpMeta353)) goto tmp3_end;
tmpMeta354 = MMC_CAR(tmpMeta353);
tmpMeta355 = MMC_CDR(tmpMeta353);
if (!listEmpty(tmpMeta355)) goto tmp3_end;
_i_A = tmpMeta354;
_txt = tmp4_1;
_a_sub = tmp4_3;
_a_auxFunction = tmp4_4;
_a_varDecls = tmp4_5;
_a_preExp = tmp4_6;
_a_context = tmp4_7;
_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_LIT813);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _l_arr__tp__str);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT307);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _l_var1);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT131);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _l_tvar);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT299);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT98);
_txt = omc_Tpl_writeText(threadData, _txt, _l_tvar);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_sub;
tmpMeta[0+2] = _a_auxFunction;
tmpMeta[0+3] = _a_varDecls;
tmpMeta[0+4] = _a_preExp;
goto tmp3_done;
}
case 54: {
modelica_metatype tmpMeta356;
modelica_metatype tmpMeta357;
modelica_metatype tmpMeta358;
modelica_metatype tmpMeta359;
modelica_metatype tmpMeta360;
modelica_metatype tmpMeta361;
modelica_metatype tmpMeta362;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,13,3) == 0) goto tmp3_end;
tmpMeta356 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta356,1,1) == 0) goto tmp3_end;
tmpMeta357 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta356), 2));
if (6 != MMC_STRLEN(tmpMeta357) || strcmp(MMC_STRINGDATA(_OMC_LIT890), MMC_STRINGDATA(tmpMeta357)) != 0) goto tmp3_end;
tmpMeta358 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 3));
if (listEmpty(tmpMeta358)) goto tmp3_end;
tmpMeta359 = MMC_CAR(tmpMeta358);
tmpMeta360 = MMC_CDR(tmpMeta358);
if (listEmpty(tmpMeta360)) goto tmp3_end;
tmpMeta361 = MMC_CAR(tmpMeta360);
tmpMeta362 = MMC_CDR(tmpMeta360);
if (!listEmpty(tmpMeta362)) goto tmp3_end;
_i_s = tmpMeta359;
_i_format = tmpMeta361;
_txt = tmp4_1;
_a_sub = tmp4_3;
_a_auxFunction = tmp4_4;
_a_varDecls = tmp4_5;
_a_preExp = tmp4_6;
_a_context = tmp4_7;
_l_tvar = omc_CodegenCFunctions_tempDecl(threadData, _OMC_LIT20, _OMC_LIT814, _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_LIT129);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _l_typeStr);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT816);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _l_sExp);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT301);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _l_formatExp);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT299);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT98);
_txt = omc_Tpl_writeText(threadData, _txt, _l_tvar);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_sub;
tmpMeta[0+2] = _a_auxFunction;
tmpMeta[0+3] = _a_varDecls;
tmpMeta[0+4] = _a_preExp;
goto tmp3_done;
}
case 55: {
modelica_metatype tmpMeta363;
modelica_metatype tmpMeta364;
modelica_metatype tmpMeta365;
modelica_metatype tmpMeta366;
modelica_metatype tmpMeta367;
modelica_metatype tmpMeta368;
modelica_metatype tmpMeta369;
modelica_metatype tmpMeta370;
modelica_metatype tmpMeta371;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,13,3) == 0) goto tmp3_end;
tmpMeta363 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta363,1,1) == 0) goto tmp3_end;
tmpMeta364 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta363), 2));
if (6 != MMC_STRLEN(tmpMeta364) || strcmp(MMC_STRINGDATA(_OMC_LIT890), MMC_STRINGDATA(tmpMeta364)) != 0) goto tmp3_end;
tmpMeta365 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 3));
if (listEmpty(tmpMeta365)) goto tmp3_end;
tmpMeta366 = MMC_CAR(tmpMeta365);
tmpMeta367 = MMC_CDR(tmpMeta365);
if (listEmpty(tmpMeta367)) goto tmp3_end;
tmpMeta368 = MMC_CAR(tmpMeta367);
tmpMeta369 = MMC_CDR(tmpMeta367);
if (listEmpty(tmpMeta369)) goto tmp3_end;
tmpMeta370 = MMC_CAR(tmpMeta369);
tmpMeta371 = MMC_CDR(tmpMeta369);
if (!listEmpty(tmpMeta371)) goto tmp3_end;
_i_s = tmpMeta366;
_i_minlen = tmpMeta368;
_i_leftjust = tmpMeta370;
_txt = tmp4_1;
_a_sub = tmp4_3;
_a_auxFunction = tmp4_4;
_a_varDecls = tmp4_5;
_a_preExp = tmp4_6;
_a_context = tmp4_7;
_l_tvar = omc_CodegenCFunctions_tempDecl(threadData, _OMC_LIT20, _OMC_LIT814, _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__991(threadData, _OMC_LIT20, _ret_75, _a_varDecls ,&_a_varDecls);
_l_typeStr = omc_CodegenCFunctions_fun__992(threadData, _OMC_LIT20, _l_enumStr, _i_s);
_str_76 = omc_Tpl_textString(threadData, _l_typeStr);
_txt = omc_CodegenCFunctions_fun__993(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_sub;
tmpMeta[0+2] = _a_auxFunction;
tmpMeta[0+3] = _a_varDecls;
tmpMeta[0+4] = _a_preExp;
goto tmp3_done;
}
case 56: {
modelica_metatype tmpMeta372;
modelica_metatype tmpMeta373;
modelica_metatype tmpMeta374;
modelica_metatype tmpMeta375;
modelica_metatype tmpMeta376;
modelica_metatype tmpMeta377;
modelica_metatype tmpMeta378;
modelica_metatype tmpMeta379;
modelica_metatype tmpMeta380;
modelica_metatype tmpMeta381;
modelica_metatype tmpMeta382;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,13,3) == 0) goto tmp3_end;
tmpMeta372 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta372,1,1) == 0) goto tmp3_end;
tmpMeta373 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta372), 2));
if (6 != MMC_STRLEN(tmpMeta373) || strcmp(MMC_STRINGDATA(_OMC_LIT890), MMC_STRINGDATA(tmpMeta373)) != 0) goto tmp3_end;
tmpMeta374 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 3));
if (listEmpty(tmpMeta374)) goto tmp3_end;
tmpMeta375 = MMC_CAR(tmpMeta374);
tmpMeta376 = MMC_CDR(tmpMeta374);
if (listEmpty(tmpMeta376)) goto tmp3_end;
tmpMeta377 = MMC_CAR(tmpMeta376);
tmpMeta378 = MMC_CDR(tmpMeta376);
if (listEmpty(tmpMeta378)) goto tmp3_end;
tmpMeta379 = MMC_CAR(tmpMeta378);
tmpMeta380 = MMC_CDR(tmpMeta378);
if (listEmpty(tmpMeta380)) goto tmp3_end;
tmpMeta381 = MMC_CAR(tmpMeta380);
tmpMeta382 = MMC_CDR(tmpMeta380);
if (!listEmpty(tmpMeta382)) goto tmp3_end;
_i_s = tmpMeta375;
_i_signdig = tmpMeta377;
_i_minlen = tmpMeta379;
_i_leftjust = tmpMeta381;
_txt = tmp4_1;
_a_sub = tmp4_3;
_a_auxFunction = tmp4_4;
_a_varDecls = tmp4_5;
_a_preExp = tmp4_6;
_a_context = tmp4_7;
_l_tvar = omc_CodegenCFunctions_tempDecl(threadData, _OMC_LIT20, _OMC_LIT814, _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_LIT818);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _l_sExp);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT301);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _l_signdigExp);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT301);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _l_minlenExp);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT301);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _l_leftjustExp);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT299);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT98);
_txt = omc_Tpl_writeText(threadData, _txt, _l_tvar);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_sub;
tmpMeta[0+2] = _a_auxFunction;
tmpMeta[0+3] = _a_varDecls;
tmpMeta[0+4] = _a_preExp;
goto tmp3_done;
}
case 57: {
modelica_metatype tmpMeta383;
modelica_metatype tmpMeta384;
modelica_metatype tmpMeta385;
modelica_metatype tmpMeta386;
modelica_metatype tmpMeta387;
modelica_metatype tmpMeta388;
modelica_integer tmp389;
modelica_metatype tmpMeta390;
modelica_metatype tmpMeta391;
modelica_metatype tmpMeta392;
modelica_metatype tmpMeta393;
modelica_metatype tmpMeta394;
modelica_metatype tmpMeta395;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,13,3) == 0) goto tmp3_end;
tmpMeta383 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta383,1,1) == 0) goto tmp3_end;
tmpMeta384 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta383), 2));
if (5 != MMC_STRLEN(tmpMeta384) || strcmp(MMC_STRINGDATA(_OMC_LIT891), MMC_STRINGDATA(tmpMeta384)) != 0) goto tmp3_end;
tmpMeta385 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 3));
if (listEmpty(tmpMeta385)) goto tmp3_end;
tmpMeta386 = MMC_CAR(tmpMeta385);
tmpMeta387 = MMC_CDR(tmpMeta385);
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta386,0,1) == 0) goto tmp3_end;
tmpMeta388 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta386), 2));
tmp389 = mmc_unbox_integer(tmpMeta388);
if (listEmpty(tmpMeta387)) goto tmp3_end;
tmpMeta390 = MMC_CAR(tmpMeta387);
tmpMeta391 = MMC_CDR(tmpMeta387);
if (listEmpty(tmpMeta391)) goto tmp3_end;
tmpMeta392 = MMC_CAR(tmpMeta391);
tmpMeta393 = MMC_CDR(tmpMeta391);
if (listEmpty(tmpMeta393)) goto tmp3_end;
tmpMeta394 = MMC_CAR(tmpMeta393);
tmpMeta395 = MMC_CDR(tmpMeta393);
if (!listEmpty(tmpMeta395)) goto tmp3_end;
_i_index_1 = tmp389;
_i_e = tmpMeta390;
_i_d = tmpMeta392;
_i_delayMax = tmpMeta394;
_txt = tmp4_1;
_a_sub = tmp4_3;
_a_auxFunction = tmp4_4;
_a_varDecls = tmp4_5;
_a_preExp = tmp4_6;
_a_context = tmp4_7;
_l_tvar = omc_CodegenCFunctions_tempDecl(threadData, _OMC_LIT20, _OMC_LIT622, _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_LIT820);
_a_preExp = omc_Tpl_writeStr(threadData, _a_preExp, intString(_i_index_1));
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT301);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _l_var1);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT822);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _l_var2);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT301);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _l_var3);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT299);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT98);
_txt = omc_Tpl_writeText(threadData, _txt, _l_tvar);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_sub;
tmpMeta[0+2] = _a_auxFunction;
tmpMeta[0+3] = _a_varDecls;
tmpMeta[0+4] = _a_preExp;
goto tmp3_done;
}
case 58: {
modelica_metatype tmpMeta396;
modelica_metatype tmpMeta397;
modelica_metatype tmpMeta398;
modelica_metatype tmpMeta399;
modelica_metatype tmpMeta400;
modelica_metatype tmpMeta401;
modelica_integer tmp402;
modelica_metatype tmpMeta403;
modelica_metatype tmpMeta404;
modelica_metatype tmpMeta405;
modelica_metatype tmpMeta406;
modelica_metatype tmpMeta407;
modelica_metatype tmpMeta408;
modelica_metatype tmpMeta409;
modelica_metatype tmpMeta410;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,13,3) == 0) goto tmp3_end;
tmpMeta396 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta396,1,1) == 0) goto tmp3_end;
tmpMeta397 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta396), 2));
if (19 != MMC_STRLEN(tmpMeta397) || strcmp(MMC_STRINGDATA(_OMC_LIT627), MMC_STRINGDATA(tmpMeta397)) != 0) goto tmp3_end;
tmpMeta398 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 3));
if (listEmpty(tmpMeta398)) goto tmp3_end;
tmpMeta399 = MMC_CAR(tmpMeta398);
tmpMeta400 = MMC_CDR(tmpMeta398);
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta399,0,1) == 0) goto tmp3_end;
tmpMeta401 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta399), 2));
tmp402 = mmc_unbox_integer(tmpMeta401);
if (listEmpty(tmpMeta400)) goto tmp3_end;
tmpMeta403 = MMC_CAR(tmpMeta400);
tmpMeta404 = MMC_CDR(tmpMeta400);
if (listEmpty(tmpMeta404)) goto tmp3_end;
tmpMeta405 = MMC_CAR(tmpMeta404);
tmpMeta406 = MMC_CDR(tmpMeta404);
if (listEmpty(tmpMeta406)) goto tmp3_end;
tmpMeta407 = MMC_CAR(tmpMeta406);
tmpMeta408 = MMC_CDR(tmpMeta406);
if (listEmpty(tmpMeta408)) goto tmp3_end;
tmpMeta409 = MMC_CAR(tmpMeta408);
tmpMeta410 = MMC_CDR(tmpMeta408);
if (!listEmpty(tmpMeta410)) goto tmp3_end;
_i_index_1 = tmp402;
_i_in0 = tmpMeta403;
_i_in1 = tmpMeta405;
_i_posX = tmpMeta407;
_i_posVelo = tmpMeta409;
_txt = tmp4_1;
_a_sub = tmp4_3;
_a_auxFunction = tmp4_4;
_a_varDecls = tmp4_5;
_a_preExp = tmp4_6;
_a_context = tmp4_7;
_l_tvar = omc_CodegenCFunctions_tempDecl(threadData, _OMC_LIT20, _OMC_LIT622, _a_varDecls ,&_a_varDecls);
_l_var1 = omc_CodegenCFunctions_daeExp(threadData, _OMC_LIT20, _i_in0, _a_context, _a_preExp, _a_varDecls, _a_auxFunction ,&_a_preExp ,&_a_varDecls ,&_a_auxFunction);
_l_var2 = omc_CodegenCFunctions_daeExp(threadData, _OMC_LIT20, _i_in1, _a_context, _a_preExp, _a_varDecls, _a_auxFunction ,&_a_preExp ,&_a_varDecls ,&_a_auxFunction);
_l_var3 = omc_CodegenCFunctions_daeExp(threadData, _OMC_LIT20, _i_posX, _a_context, _a_preExp, _a_varDecls, _a_auxFunction ,&_a_preExp ,&_a_varDecls ,&_a_auxFunction);
_l_var4 = omc_CodegenCFunctions_daeExp(threadData, _OMC_LIT20, _i_posVelo, _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_LIT624);
_a_preExp = omc_Tpl_writeStr(threadData, _a_preExp, intString(_i_index_1));
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT301);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _l_var1);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT301);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _l_var2);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT301);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _l_var3);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT301);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _l_var4);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT299);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT98);
_txt = omc_Tpl_writeText(threadData, _txt, _l_tvar);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_sub;
tmpMeta[0+2] = _a_auxFunction;
tmpMeta[0+3] = _a_varDecls;
tmpMeta[0+4] = _a_preExp;
goto tmp3_done;
}
case 59: {
modelica_metatype tmpMeta411;
modelica_metatype tmpMeta412;
modelica_metatype tmpMeta413;
modelica_metatype tmpMeta414;
modelica_metatype tmpMeta415;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,13,3) == 0) goto tmp3_end;
tmpMeta411 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta411,1,1) == 0) goto tmp3_end;
tmpMeta412 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta411), 2));
if (7 != MMC_STRLEN(tmpMeta412) || strcmp(MMC_STRINGDATA(_OMC_LIT892), MMC_STRINGDATA(tmpMeta412)) != 0) goto tmp3_end;
tmpMeta413 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 3));
if (listEmpty(tmpMeta413)) goto tmp3_end;
tmpMeta414 = MMC_CAR(tmpMeta413);
tmpMeta415 = MMC_CDR(tmpMeta413);
if (!listEmpty(tmpMeta415)) goto tmp3_end;
_i_toBeCasted = tmpMeta414;
_txt = tmp4_1;
_a_sub = tmp4_3;
_a_auxFunction = tmp4_4;
_a_varDecls = tmp4_5;
_a_preExp = tmp4_6;
_a_context = tmp4_7;
_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_LIT824);
_txt = omc_Tpl_writeText(threadData, _txt, _l_castedVar);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT610);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_sub;
tmpMeta[0+2] = _a_auxFunction;
tmpMeta[0+3] = _a_varDecls;
tmpMeta[0+4] = _a_preExp;
goto tmp3_done;
}
case 60: {
modelica_metatype tmpMeta416;
modelica_metatype tmpMeta417;
modelica_metatype tmpMeta418;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,13,3) == 0) goto tmp3_end;
tmpMeta416 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta416,1,1) == 0) goto tmp3_end;
tmpMeta417 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta416), 2));
if (5 != MMC_STRLEN(tmpMeta417) || strcmp(MMC_STRINGDATA(_OMC_LIT893), MMC_STRINGDATA(tmpMeta417)) != 0) goto tmp3_end;
tmpMeta418 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 3));
if (!listEmpty(tmpMeta418)) goto tmp3_end;
_txt = tmp4_1;
_a_sub = tmp4_3;
_a_auxFunction = tmp4_4;
_a_varDecls = tmp4_5;
_a_preExp = tmp4_6;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT826);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_sub;
tmpMeta[0+2] = _a_auxFunction;
tmpMeta[0+3] = _a_varDecls;
tmpMeta[0+4] = _a_preExp;
goto tmp3_done;
}
case 61: {
modelica_metatype tmpMeta419;
modelica_metatype tmpMeta420;
modelica_metatype tmpMeta421;
modelica_metatype tmpMeta422;
modelica_metatype tmpMeta423;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,13,3) == 0) goto tmp3_end;
tmpMeta419 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta419,1,1) == 0) goto tmp3_end;
tmpMeta420 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta419), 2));
if (7 != MMC_STRLEN(tmpMeta420) || strcmp(MMC_STRINGDATA(_OMC_LIT894), MMC_STRINGDATA(tmpMeta420)) != 0) goto tmp3_end;
tmpMeta421 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 3));
if (listEmpty(tmpMeta421)) goto tmp3_end;
tmpMeta422 = MMC_CAR(tmpMeta421);
tmpMeta423 = MMC_CDR(tmpMeta421);
if (!listEmpty(tmpMeta423)) goto tmp3_end;
_i_e1 = tmpMeta422;
_txt = tmp4_1;
_a_sub = tmp4_3;
_a_auxFunction = tmp4_4;
_a_varDecls = tmp4_5;
_a_preExp = tmp4_6;
_a_context = tmp4_7;
_txt = omc_CodegenCFunctions_daeExp(threadData, _txt, _i_e1, _a_context, _a_preExp, _a_varDecls, _a_auxFunction ,&_a_preExp ,&_a_varDecls ,&_a_auxFunction);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_sub;
tmpMeta[0+2] = _a_auxFunction;
tmpMeta[0+3] = _a_varDecls;
tmpMeta[0+4] = _a_preExp;
goto tmp3_done;
}
case 62: {
modelica_metatype tmpMeta424;
modelica_metatype tmpMeta425;
modelica_metatype tmpMeta426;
modelica_metatype tmpMeta427;
modelica_metatype tmpMeta428;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,13,3) == 0) goto tmp3_end;
tmpMeta424 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta424,1,1) == 0) goto tmp3_end;
tmpMeta425 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta424), 2));
if (8 != MMC_STRLEN(tmpMeta425) || strcmp(MMC_STRINGDATA(_OMC_LIT895), MMC_STRINGDATA(tmpMeta425)) != 0) goto tmp3_end;
tmpMeta426 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 3));
if (listEmpty(tmpMeta426)) goto tmp3_end;
tmpMeta427 = MMC_CAR(tmpMeta426);
tmpMeta428 = MMC_CDR(tmpMeta426);
if (!listEmpty(tmpMeta428)) goto tmp3_end;
_i_e1 = tmpMeta427;
_txt = tmp4_1;
_a_sub = tmp4_3;
_a_auxFunction = tmp4_4;
_a_varDecls = tmp4_5;
_a_preExp = tmp4_6;
_a_context = tmp4_7;
_txt = omc_CodegenCFunctions_daeExp(threadData, _txt, _i_e1, _a_context, _a_preExp, _a_varDecls, _a_auxFunction ,&_a_preExp ,&_a_varDecls ,&_a_auxFunction);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_sub;
tmpMeta[0+2] = _a_auxFunction;
tmpMeta[0+3] = _a_varDecls;
tmpMeta[0+4] = _a_preExp;
goto tmp3_done;
}
case 63: {
modelica_metatype tmpMeta429;
modelica_metatype tmpMeta430;
modelica_metatype tmpMeta431;
modelica_metatype tmpMeta432;
modelica_metatype tmpMeta433;
modelica_metatype tmpMeta434;
modelica_integer tmp435;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,13,3) == 0) goto tmp3_end;
tmpMeta429 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta429,1,1) == 0) goto tmp3_end;
tmpMeta430 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta429), 2));
if (18 != MMC_STRLEN(tmpMeta430) || strcmp(MMC_STRINGDATA(_OMC_LIT896), MMC_STRINGDATA(tmpMeta430)) != 0) goto tmp3_end;
tmpMeta431 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 3));
if (listEmpty(tmpMeta431)) goto tmp3_end;
tmpMeta432 = MMC_CAR(tmpMeta431);
tmpMeta433 = MMC_CDR(tmpMeta431);
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta432,0,1) == 0) goto tmp3_end;
tmpMeta434 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta432), 2));
tmp435 = mmc_unbox_integer(tmpMeta434);
_i_setIndex = tmp435;
_txt = tmp4_1;
_a_sub = tmp4_3;
_a_auxFunction = tmp4_4;
_a_varDecls = tmp4_5;
_a_preExp = tmp4_6;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT828);
_txt = omc_Tpl_writeStr(threadData, _txt, intString(_i_setIndex));
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT830);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_sub;
tmpMeta[0+2] = _a_auxFunction;
tmpMeta[0+3] = _a_varDecls;
tmpMeta[0+4] = _a_preExp;
goto tmp3_done;
}
case 64: {
modelica_metatype tmpMeta436;
modelica_metatype tmpMeta437;
modelica_metatype tmpMeta438;
modelica_metatype tmpMeta439;
modelica_metatype tmpMeta440;
modelica_metatype tmpMeta441;
modelica_integer tmp442;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,13,3) == 0) goto tmp3_end;
tmpMeta436 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta436,1,1) == 0) goto tmp3_end;
tmpMeta437 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta436), 2));
if (22 != MMC_STRLEN(tmpMeta437) || strcmp(MMC_STRINGDATA(_OMC_LIT897), MMC_STRINGDATA(tmpMeta437)) != 0) goto tmp3_end;
tmpMeta438 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 3));
if (listEmpty(tmpMeta438)) goto tmp3_end;
tmpMeta439 = MMC_CAR(tmpMeta438);
tmpMeta440 = MMC_CDR(tmpMeta438);
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta439,0,1) == 0) goto tmp3_end;
tmpMeta441 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta439), 2));
tmp442 = mmc_unbox_integer(tmpMeta441);
_i_setIndex = tmp442;
_txt = tmp4_1;
_a_sub = tmp4_3;
_a_auxFunction = tmp4_4;
_a_varDecls = tmp4_5;
_a_preExp = tmp4_6;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT832);
_txt = omc_Tpl_writeStr(threadData, _txt, intString(_i_setIndex));
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT830);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_sub;
tmpMeta[0+2] = _a_auxFunction;
tmpMeta[0+3] = _a_varDecls;
tmpMeta[0+4] = _a_preExp;
goto tmp3_done;
}
case 65: {
modelica_metatype tmpMeta443;
modelica_metatype tmpMeta444;
modelica_metatype tmpMeta445;
modelica_metatype tmpMeta446;
modelica_metatype tmpMeta447;
modelica_metatype tmpMeta448;
modelica_integer tmp449;
modelica_metatype tmpMeta450;
modelica_metatype tmpMeta451;
modelica_metatype tmpMeta452;
modelica_metatype tmpMeta453;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,13,3) == 0) goto tmp3_end;
tmpMeta443 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta443,1,1) == 0) goto tmp3_end;
tmpMeta444 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta443), 2));
if (6 != MMC_STRLEN(tmpMeta444) || strcmp(MMC_STRINGDATA(_OMC_LIT898), MMC_STRINGDATA(tmpMeta444)) != 0) goto tmp3_end;
tmpMeta445 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 3));
if (listEmpty(tmpMeta445)) goto tmp3_end;
tmpMeta446 = MMC_CAR(tmpMeta445);
tmpMeta447 = MMC_CDR(tmpMeta445);
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta446,0,1) == 0) goto tmp3_end;
tmpMeta448 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta446), 2));
tmp449 = mmc_unbox_integer(tmpMeta448);
if (listEmpty(tmpMeta447)) goto tmp3_end;
tmpMeta450 = MMC_CAR(tmpMeta447);
tmpMeta451 = MMC_CDR(tmpMeta447);
if (listEmpty(tmpMeta451)) goto tmp3_end;
tmpMeta452 = MMC_CAR(tmpMeta451);
tmpMeta453 = MMC_CDR(tmpMeta451);
if (!listEmpty(tmpMeta453)) goto tmp3_end;
_i_index_1 = tmp449;
_txt = tmp4_1;
_a_sub = tmp4_3;
_a_auxFunction = tmp4_4;
_a_varDecls = tmp4_5;
_a_preExp = tmp4_6;
_ret_81 = omc_Config_simCodeTarget(threadData);
_txt = omc_CodegenCFunctions_fun__994(threadData, _txt, _ret_81, _i_index_1);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_sub;
tmpMeta[0+2] = _a_auxFunction;
tmpMeta[0+3] = _a_varDecls;
tmpMeta[0+4] = _a_preExp;
goto tmp3_done;
}
case 66: {
modelica_metatype tmpMeta454;
modelica_metatype tmpMeta455;
modelica_metatype tmpMeta456;
modelica_metatype tmpMeta457;
modelica_metatype tmpMeta458;
modelica_metatype tmpMeta459;
modelica_integer tmp460;
modelica_metatype tmpMeta461;
modelica_metatype tmpMeta462;
modelica_metatype tmpMeta463;
modelica_integer tmp464;
modelica_metatype tmpMeta465;
modelica_metatype tmpMeta466;
modelica_metatype tmpMeta467;
modelica_metatype tmpMeta468;
modelica_metatype tmpMeta469;
modelica_metatype tmpMeta470;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,13,3) == 0) goto tmp3_end;
tmpMeta454 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta454,1,1) == 0) goto tmp3_end;
tmpMeta455 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta454), 2));
if (17 != MMC_STRLEN(tmpMeta455) || strcmp(MMC_STRINGDATA(_OMC_LIT899), MMC_STRINGDATA(tmpMeta455)) != 0) goto tmp3_end;
tmpMeta456 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 3));
if (listEmpty(tmpMeta456)) goto tmp3_end;
tmpMeta457 = MMC_CAR(tmpMeta456);
tmpMeta458 = MMC_CDR(tmpMeta456);
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta457,0,1) == 0) goto tmp3_end;
tmpMeta459 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta457), 2));
tmp460 = mmc_unbox_integer(tmpMeta459);
if (listEmpty(tmpMeta458)) goto tmp3_end;
tmpMeta461 = MMC_CAR(tmpMeta458);
tmpMeta462 = MMC_CDR(tmpMeta458);
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta461,0,1) == 0) goto tmp3_end;
tmpMeta463 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta461), 2));
tmp464 = mmc_unbox_integer(tmpMeta463);
if (listEmpty(tmpMeta462)) goto tmp3_end;
tmpMeta465 = MMC_CAR(tmpMeta462);
tmpMeta466 = MMC_CDR(tmpMeta462);
if (listEmpty(tmpMeta466)) goto tmp3_end;
tmpMeta467 = MMC_CAR(tmpMeta466);
tmpMeta468 = MMC_CDR(tmpMeta466);
if (listEmpty(tmpMeta468)) goto tmp3_end;
tmpMeta469 = MMC_CAR(tmpMeta468);
tmpMeta470 = MMC_CDR(tmpMeta468);
if (!listEmpty(tmpMeta470)) goto tmp3_end;
_i_index_1 = tmp460;
_i_rindex = tmp464;
_i_e = tmpMeta465;
_i_delay = tmpMeta467;
_i_delayMax = tmpMeta469;
_txt = tmp4_1;
_a_sub = tmp4_3;
_a_auxFunction = tmp4_4;
_a_varDecls = tmp4_5;
_a_preExp = tmp4_6;
_a_context = tmp4_7;
_l_e__T = omc_CodegenCFunctions_daeExp(threadData, _OMC_LIT20, _i_e, _a_context, _a_preExp, _a_varDecls, _a_auxFunction ,&_a_preExp ,&_a_varDecls ,&_a_auxFunction);
_l_delay__T = omc_CodegenCFunctions_daeExp(threadData, _OMC_LIT20, _i_delay, _a_context, _a_preExp, _a_varDecls, _a_auxFunction ,&_a_preExp ,&_a_varDecls ,&_a_auxFunction);
_l_delayMax__T = omc_CodegenCFunctions_daeExp(threadData, _OMC_LIT20, _i_delayMax, _a_context, _a_preExp, _a_varDecls, _a_auxFunction ,&_a_preExp ,&_a_varDecls ,&_a_auxFunction);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT834);
_txt = omc_Tpl_writeStr(threadData, _txt, intString(_i_index_1));
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT301);
_txt = omc_Tpl_writeStr(threadData, _txt, intString(_i_rindex));
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT301);
_txt = omc_Tpl_writeText(threadData, _txt, _l_e__T);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT301);
_txt = omc_Tpl_writeText(threadData, _txt, _l_delay__T);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT301);
_txt = omc_Tpl_writeText(threadData, _txt, _l_delayMax__T);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT87);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_sub;
tmpMeta[0+2] = _a_auxFunction;
tmpMeta[0+3] = _a_varDecls;
tmpMeta[0+4] = _a_preExp;
goto tmp3_done;
}
case 67: {
modelica_metatype tmpMeta471;
modelica_metatype tmpMeta472;
modelica_metatype tmpMeta473;
modelica_metatype tmpMeta474;
modelica_metatype tmpMeta475;
modelica_metatype tmpMeta476;
modelica_integer tmp477;
modelica_metatype tmpMeta478;
modelica_metatype tmpMeta479;
modelica_metatype tmpMeta480;
modelica_integer tmp481;
modelica_metatype tmpMeta482;
modelica_metatype tmpMeta483;
modelica_metatype tmpMeta484;
modelica_metatype tmpMeta485;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,13,3) == 0) goto tmp3_end;
tmpMeta471 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta471,1,1) == 0) goto tmp3_end;
tmpMeta472 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta471), 2));
if (31 != MMC_STRLEN(tmpMeta472) || strcmp(MMC_STRINGDATA(_OMC_LIT900), MMC_STRINGDATA(tmpMeta472)) != 0) goto tmp3_end;
tmpMeta473 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 3));
if (listEmpty(tmpMeta473)) goto tmp3_end;
tmpMeta474 = MMC_CAR(tmpMeta473);
tmpMeta475 = MMC_CDR(tmpMeta473);
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta474,0,1) == 0) goto tmp3_end;
tmpMeta476 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta474), 2));
tmp477 = mmc_unbox_integer(tmpMeta476);
if (listEmpty(tmpMeta475)) goto tmp3_end;
tmpMeta478 = MMC_CAR(tmpMeta475);
tmpMeta479 = MMC_CDR(tmpMeta475);
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta478,0,1) == 0) goto tmp3_end;
tmpMeta480 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta478), 2));
tmp481 = mmc_unbox_integer(tmpMeta480);
if (listEmpty(tmpMeta479)) goto tmp3_end;
tmpMeta482 = MMC_CAR(tmpMeta479);
tmpMeta483 = MMC_CDR(tmpMeta479);
if (listEmpty(tmpMeta483)) goto tmp3_end;
tmpMeta484 = MMC_CAR(tmpMeta483);
tmpMeta485 = MMC_CDR(tmpMeta483);
if (!listEmpty(tmpMeta485)) goto tmp3_end;
_i_index_1 = tmp477;
_i_rindex = tmp481;
_i_xPos = tmpMeta482;
_i_dir = tmpMeta484;
_txt = tmp4_1;
_a_sub = tmp4_3;
_a_auxFunction = tmp4_4;
_a_varDecls = tmp4_5;
_a_preExp = tmp4_6;
_a_context = tmp4_7;
_l_xPos__T = omc_CodegenCFunctions_daeExp(threadData, _OMC_LIT20, _i_xPos, _a_context, _a_preExp, _a_varDecls, _a_auxFunction ,&_a_preExp ,&_a_varDecls ,&_a_auxFunction);
_l_dir__T = omc_CodegenCFunctions_daeExp(threadData, _OMC_LIT20, _i_dir, _a_context, _a_preExp, _a_varDecls, _a_auxFunction ,&_a_preExp ,&_a_varDecls ,&_a_auxFunction);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT836);
_txt = omc_Tpl_writeStr(threadData, _txt, intString(_i_index_1));
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT301);
_txt = omc_Tpl_writeStr(threadData, _txt, intString(_i_rindex));
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT301);
_txt = omc_Tpl_writeText(threadData, _txt, _l_xPos__T);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT301);
_txt = omc_Tpl_writeText(threadData, _txt, _l_dir__T);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT87);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_sub;
tmpMeta[0+2] = _a_auxFunction;
tmpMeta[0+3] = _a_varDecls;
tmpMeta[0+4] = _a_preExp;
goto tmp3_done;
}
case 68: {
modelica_metatype tmpMeta486;
modelica_metatype tmpMeta487;
modelica_metatype tmpMeta488;
modelica_metatype tmpMeta489;
modelica_metatype tmpMeta490;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,13,3) == 0) goto tmp3_end;
tmpMeta486 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta486,1,1) == 0) goto tmp3_end;
tmpMeta487 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta486), 2));
if (9 != MMC_STRLEN(tmpMeta487) || strcmp(MMC_STRINGDATA(_OMC_LIT901), MMC_STRINGDATA(tmpMeta487)) != 0) goto tmp3_end;
tmpMeta488 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 3));
if (listEmpty(tmpMeta488)) goto tmp3_end;
tmpMeta489 = MMC_CAR(tmpMeta488);
tmpMeta490 = MMC_CDR(tmpMeta488);
if (!listEmpty(tmpMeta490)) goto tmp3_end;
_i_e1 = tmpMeta489;
_txt = tmp4_1;
_a_sub = tmp4_3;
_a_auxFunction = tmp4_4;
_a_varDecls = tmp4_5;
_a_preExp = tmp4_6;
_a_context = tmp4_7;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT838);
_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_LIT87);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_sub;
tmpMeta[0+2] = _a_auxFunction;
tmpMeta[0+3] = _a_varDecls;
tmpMeta[0+4] = _a_preExp;
goto tmp3_done;
}
case 69: {
modelica_metatype tmpMeta491;
modelica_metatype tmpMeta492;
modelica_metatype tmpMeta493;
modelica_metatype tmpMeta494;
modelica_integer tmp495;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,13,3) == 0) goto tmp3_end;
tmpMeta491 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta491,1,1) == 0) goto tmp3_end;
tmpMeta492 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta491), 2));
if (4 != MMC_STRLEN(tmpMeta492) || strcmp(MMC_STRINGDATA(_OMC_LIT902), MMC_STRINGDATA(tmpMeta492)) != 0) goto tmp3_end;
tmpMeta493 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 4));
tmpMeta494 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta493), 4));
tmp495 = mmc_unbox_integer(tmpMeta494);
if (1 != tmp495) goto tmp3_end;
_txt = tmp4_1;
_a_sub = tmp4_3;
_a_auxFunction = tmp4_4;
_a_varDecls = tmp4_5;
_a_preExp = tmp4_6;
_txt = omc_CodegenCFunctions_generateThrow(threadData, _txt);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_sub;
tmpMeta[0+2] = _a_auxFunction;
tmpMeta[0+3] = _a_varDecls;
tmpMeta[0+4] = _a_preExp;
goto tmp3_done;
}
case 70: {
modelica_metatype tmpMeta496;
modelica_metatype tmpMeta497;
modelica_metatype tmpMeta498;
modelica_metatype tmpMeta499;
modelica_metatype tmpMeta500;
modelica_metatype tmpMeta501;
modelica_metatype tmpMeta502;
modelica_metatype tmpMeta503;
modelica_integer tmp504;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,13,3) == 0) goto tmp3_end;
tmpMeta496 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta496,1,1) == 0) goto tmp3_end;
tmpMeta497 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta496), 2));
if (13 != MMC_STRLEN(tmpMeta497) || strcmp(MMC_STRINGDATA(_OMC_LIT903), MMC_STRINGDATA(tmpMeta497)) != 0) goto tmp3_end;
tmpMeta498 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 3));
if (listEmpty(tmpMeta498)) goto tmp3_end;
tmpMeta499 = MMC_CAR(tmpMeta498);
tmpMeta500 = MMC_CDR(tmpMeta498);
if (listEmpty(tmpMeta500)) goto tmp3_end;
tmpMeta501 = MMC_CAR(tmpMeta500);
tmpMeta502 = MMC_CDR(tmpMeta500);
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta501,0,1) == 0) goto tmp3_end;
tmpMeta503 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta501), 2));
tmp504 = mmc_unbox_integer(tmpMeta503);
if (!listEmpty(tmpMeta502)) goto tmp3_end;
_i_s1 = tmpMeta499;
_i_i = tmp504;
_txt = tmp4_1;
_a_sub = tmp4_3;
_a_auxFunction = tmp4_4;
_a_varDecls = tmp4_5;
_a_preExp = tmp4_6;
_a_context = tmp4_7;
_l_tvar = omc_CodegenCFunctions_tempDecl(threadData, _OMC_LIT20, _OMC_LIT322, _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_LIT840);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _l_expPart);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT532);
_a_preExp = omc_Tpl_writeStr(threadData, _a_preExp, intString(_i_i));
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT842);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT98);
_txt = omc_Tpl_writeText(threadData, _txt, _l_tvar);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_sub;
tmpMeta[0+2] = _a_auxFunction;
tmpMeta[0+3] = _a_varDecls;
tmpMeta[0+4] = _a_preExp;
goto tmp3_done;
}
case 71: {
modelica_metatype tmpMeta505;
modelica_metatype tmpMeta506;
modelica_metatype tmpMeta507;
modelica_metatype tmpMeta508;
modelica_metatype tmpMeta509;
modelica_metatype tmpMeta510;
modelica_metatype tmpMeta511;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,13,3) == 0) goto tmp3_end;
tmpMeta505 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta505,1,1) == 0) goto tmp3_end;
tmpMeta506 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta505), 2));
if (16 != MMC_STRLEN(tmpMeta506) || strcmp(MMC_STRINGDATA(_OMC_LIT904), MMC_STRINGDATA(tmpMeta506)) != 0) goto tmp3_end;
tmpMeta507 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 3));
if (listEmpty(tmpMeta507)) goto tmp3_end;
tmpMeta508 = MMC_CAR(tmpMeta507);
tmpMeta509 = MMC_CDR(tmpMeta507);
if (!listEmpty(tmpMeta509)) goto tmp3_end;
tmpMeta510 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 4));
tmpMeta511 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta510), 2));
_i_s1 = tmpMeta508;
_i_ty = tmpMeta511;
_txt = tmp4_1;
_a_sub = tmp4_3;
_a_auxFunction = tmp4_4;
_a_varDecls = tmp4_5;
_a_preExp = tmp4_6;
_a_context = tmp4_7;
_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_sub;
tmpMeta[0+2] = _a_auxFunction;
tmpMeta[0+3] = _a_varDecls;
tmpMeta[0+4] = _a_preExp;
goto tmp3_done;
}
case 72: {
modelica_metatype tmpMeta512;
modelica_metatype tmpMeta513;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,13,3) == 0) goto tmp3_end;
tmpMeta512 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta512,1,1) == 0) goto tmp3_end;
tmpMeta513 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta512), 2));
if (10 != MMC_STRLEN(tmpMeta513) || strcmp(MMC_STRINGDATA(_OMC_LIT644), MMC_STRINGDATA(tmpMeta513)) != 0) goto tmp3_end;
_txt = tmp4_1;
_a_sub = tmp4_3;
_a_auxFunction = tmp4_4;
_a_varDecls = tmp4_5;
_a_preExp = tmp4_6;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT645);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_sub;
tmpMeta[0+2] = _a_auxFunction;
tmpMeta[0+3] = _a_varDecls;
tmpMeta[0+4] = _a_preExp;
goto tmp3_done;
}
case 73: {
modelica_metatype tmpMeta514;
modelica_metatype tmpMeta515;
modelica_metatype tmpMeta516;
modelica_metatype tmpMeta517;
modelica_metatype tmpMeta518;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,13,3) == 0) goto tmp3_end;
tmpMeta514 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta514,1,1) == 0) goto tmp3_end;
tmpMeta515 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta514), 2));
if (9 != MMC_STRLEN(tmpMeta515) || strcmp(MMC_STRINGDATA(_OMC_LIT905), MMC_STRINGDATA(tmpMeta515)) != 0) goto tmp3_end;
tmpMeta516 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 3));
if (listEmpty(tmpMeta516)) goto tmp3_end;
tmpMeta517 = MMC_CAR(tmpMeta516);
tmpMeta518 = MMC_CDR(tmpMeta516);
if (!listEmpty(tmpMeta518)) goto tmp3_end;
_i_e = tmpMeta517;
_txt = tmp4_1;
_a_sub = tmp4_3;
_a_auxFunction = tmp4_4;
_a_varDecls = tmp4_5;
_a_preExp = tmp4_6;
_a_context = tmp4_7;
_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_LIT844);
_txt = omc_Tpl_writeText(threadData, _txt, _l_e1);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT87);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_sub;
tmpMeta[0+2] = _a_auxFunction;
tmpMeta[0+3] = _a_varDecls;
tmpMeta[0+4] = _a_preExp;
goto tmp3_done;
}
case 74: {
modelica_metatype tmpMeta519;
modelica_metatype tmpMeta520;
modelica_metatype tmpMeta521;
modelica_metatype tmpMeta522;
modelica_metatype tmpMeta523;
modelica_metatype tmpMeta524;
modelica_metatype tmpMeta525;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,13,3) == 0) goto tmp3_end;
tmpMeta519 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta519,1,1) == 0) goto tmp3_end;
tmpMeta520 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta519), 2));
if (9 != MMC_STRLEN(tmpMeta520) || strcmp(MMC_STRINGDATA(_OMC_LIT905), MMC_STRINGDATA(tmpMeta520)) != 0) goto tmp3_end;
tmpMeta521 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 3));
if (listEmpty(tmpMeta521)) goto tmp3_end;
tmpMeta522 = MMC_CAR(tmpMeta521);
tmpMeta523 = MMC_CDR(tmpMeta521);
if (listEmpty(tmpMeta523)) goto tmp3_end;
tmpMeta524 = MMC_CAR(tmpMeta523);
tmpMeta525 = MMC_CDR(tmpMeta523);
if (!listEmpty(tmpMeta525)) goto tmp3_end;
_i_name = tmpMeta520;
_i_e1 = tmpMeta522;
_i_e2 = tmpMeta524;
_txt = tmp4_1;
_a_sub = tmp4_3;
_a_auxFunction = tmp4_4;
_a_varDecls = tmp4_5;
_a_preExp = tmp4_6;
_a_context = tmp4_7;
_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__995(threadData, _OMC_LIT20, _i_name);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT753);
_txt = omc_Tpl_writeText(threadData, _txt, _l_i1);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT138);
_txt = omc_Tpl_writeText(threadData, _txt, _l_op);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT339);
_txt = omc_Tpl_writeText(threadData, _txt, _l_i2);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT610);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_sub;
tmpMeta[0+2] = _a_auxFunction;
tmpMeta[0+3] = _a_varDecls;
tmpMeta[0+4] = _a_preExp;
goto tmp3_done;
}
case 75: {
modelica_metatype tmpMeta526;
modelica_metatype tmpMeta527;
modelica_metatype tmpMeta528;
modelica_metatype tmpMeta529;
modelica_metatype tmpMeta530;
modelica_metatype tmpMeta531;
modelica_metatype tmpMeta532;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,13,3) == 0) goto tmp3_end;
tmpMeta526 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta526,1,1) == 0) goto tmp3_end;
tmpMeta527 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta526), 2));
if (9 != MMC_STRLEN(tmpMeta527) || strcmp(MMC_STRINGDATA(_OMC_LIT906), MMC_STRINGDATA(tmpMeta527)) != 0) goto tmp3_end;
tmpMeta528 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 3));
if (listEmpty(tmpMeta528)) goto tmp3_end;
tmpMeta529 = MMC_CAR(tmpMeta528);
tmpMeta530 = MMC_CDR(tmpMeta528);
if (listEmpty(tmpMeta530)) goto tmp3_end;
tmpMeta531 = MMC_CAR(tmpMeta530);
tmpMeta532 = MMC_CDR(tmpMeta530);
if (!listEmpty(tmpMeta532)) goto tmp3_end;
_i_name = tmpMeta527;
_i_e1 = tmpMeta529;
_i_e2 = tmpMeta531;
_txt = tmp4_1;
_a_sub = tmp4_3;
_a_auxFunction = tmp4_4;
_a_varDecls = tmp4_5;
_a_preExp = tmp4_6;
_a_context = tmp4_7;
_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__996(threadData, _OMC_LIT20, _i_name);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT753);
_txt = omc_Tpl_writeText(threadData, _txt, _l_i1);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT138);
_txt = omc_Tpl_writeText(threadData, _txt, _l_op);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT339);
_txt = omc_Tpl_writeText(threadData, _txt, _l_i2);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT610);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_sub;
tmpMeta[0+2] = _a_auxFunction;
tmpMeta[0+3] = _a_varDecls;
tmpMeta[0+4] = _a_preExp;
goto tmp3_done;
}
case 76: {
modelica_metatype tmpMeta533;
modelica_metatype tmpMeta534;
modelica_metatype tmpMeta535;
modelica_metatype tmpMeta536;
modelica_metatype tmpMeta537;
modelica_metatype tmpMeta538;
modelica_metatype tmpMeta539;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,13,3) == 0) goto tmp3_end;
tmpMeta533 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta533,1,1) == 0) goto tmp3_end;
tmpMeta534 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta533), 2));
if (8 != MMC_STRLEN(tmpMeta534) || strcmp(MMC_STRINGDATA(_OMC_LIT907), MMC_STRINGDATA(tmpMeta534)) != 0) goto tmp3_end;
tmpMeta535 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 3));
if (listEmpty(tmpMeta535)) goto tmp3_end;
tmpMeta536 = MMC_CAR(tmpMeta535);
tmpMeta537 = MMC_CDR(tmpMeta535);
if (listEmpty(tmpMeta537)) goto tmp3_end;
tmpMeta538 = MMC_CAR(tmpMeta537);
tmpMeta539 = MMC_CDR(tmpMeta537);
if (!listEmpty(tmpMeta539)) goto tmp3_end;
_i_name = tmpMeta534;
_i_e1 = tmpMeta536;
_i_e2 = tmpMeta538;
_txt = tmp4_1;
_a_sub = tmp4_3;
_a_auxFunction = tmp4_4;
_a_varDecls = tmp4_5;
_a_preExp = tmp4_6;
_a_context = tmp4_7;
_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__997(threadData, _OMC_LIT20, _i_name);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT753);
_txt = omc_Tpl_writeText(threadData, _txt, _l_i1);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT138);
_txt = omc_Tpl_writeText(threadData, _txt, _l_op);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT339);
_txt = omc_Tpl_writeText(threadData, _txt, _l_i2);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT610);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_sub;
tmpMeta[0+2] = _a_auxFunction;
tmpMeta[0+3] = _a_varDecls;
tmpMeta[0+4] = _a_preExp;
goto tmp3_done;
}
case 77: {
modelica_metatype tmpMeta540;
modelica_metatype tmpMeta541;
modelica_metatype tmpMeta542;
modelica_metatype tmpMeta543;
modelica_metatype tmpMeta544;
modelica_metatype tmpMeta545;
modelica_metatype tmpMeta546;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,13,3) == 0) goto tmp3_end;
tmpMeta540 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta540,1,1) == 0) goto tmp3_end;
tmpMeta541 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta540), 2));
if (9 != MMC_STRLEN(tmpMeta541) || strcmp(MMC_STRINGDATA(_OMC_LIT908), MMC_STRINGDATA(tmpMeta541)) != 0) goto tmp3_end;
tmpMeta542 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 3));
if (listEmpty(tmpMeta542)) goto tmp3_end;
tmpMeta543 = MMC_CAR(tmpMeta542);
tmpMeta544 = MMC_CDR(tmpMeta542);
if (listEmpty(tmpMeta544)) goto tmp3_end;
tmpMeta545 = MMC_CAR(tmpMeta544);
tmpMeta546 = MMC_CDR(tmpMeta544);
if (!listEmpty(tmpMeta546)) goto tmp3_end;
_i_name = tmpMeta541;
_i_e1 = tmpMeta543;
_i_e2 = tmpMeta545;
_txt = tmp4_1;
_a_sub = tmp4_3;
_a_auxFunction = tmp4_4;
_a_varDecls = tmp4_5;
_a_preExp = tmp4_6;
_a_context = tmp4_7;
_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__998(threadData, _OMC_LIT20, _i_name);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT753);
_txt = omc_Tpl_writeText(threadData, _txt, _l_i1);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT138);
_txt = omc_Tpl_writeText(threadData, _txt, _l_op);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT339);
_txt = omc_Tpl_writeText(threadData, _txt, _l_i2);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT610);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_sub;
tmpMeta[0+2] = _a_auxFunction;
tmpMeta[0+3] = _a_varDecls;
tmpMeta[0+4] = _a_preExp;
goto tmp3_done;
}
case 78: {
modelica_metatype tmpMeta547;
modelica_metatype tmpMeta548;
modelica_metatype tmpMeta549;
modelica_metatype tmpMeta550;
modelica_metatype tmpMeta551;
modelica_metatype tmpMeta552;
modelica_metatype tmpMeta553;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,13,3) == 0) goto tmp3_end;
tmpMeta547 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta547,1,1) == 0) goto tmp3_end;
tmpMeta548 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta547), 2));
if (12 != MMC_STRLEN(tmpMeta548) || strcmp(MMC_STRINGDATA(_OMC_LIT909), MMC_STRINGDATA(tmpMeta548)) != 0) goto tmp3_end;
tmpMeta549 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 3));
if (listEmpty(tmpMeta549)) goto tmp3_end;
tmpMeta550 = MMC_CAR(tmpMeta549);
tmpMeta551 = MMC_CDR(tmpMeta549);
if (listEmpty(tmpMeta551)) goto tmp3_end;
tmpMeta552 = MMC_CAR(tmpMeta551);
tmpMeta553 = MMC_CDR(tmpMeta551);
if (!listEmpty(tmpMeta553)) goto tmp3_end;
_i_name = tmpMeta548;
_i_e1 = tmpMeta550;
_i_e2 = tmpMeta552;
_txt = tmp4_1;
_a_sub = tmp4_3;
_a_auxFunction = tmp4_4;
_a_varDecls = tmp4_5;
_a_preExp = tmp4_6;
_a_context = tmp4_7;
_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__999(threadData, _OMC_LIT20, _i_name);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT753);
_txt = omc_Tpl_writeText(threadData, _txt, _l_i1);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT138);
_txt = omc_Tpl_writeText(threadData, _txt, _l_op);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT339);
_txt = omc_Tpl_writeText(threadData, _txt, _l_i2);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT610);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_sub;
tmpMeta[0+2] = _a_auxFunction;
tmpMeta[0+3] = _a_varDecls;
tmpMeta[0+4] = _a_preExp;
goto tmp3_done;
}
case 79: {
modelica_metatype tmpMeta554;
modelica_metatype tmpMeta555;
modelica_metatype tmpMeta556;
modelica_metatype tmpMeta557;
modelica_metatype tmpMeta558;
modelica_metatype tmpMeta559;
modelica_metatype tmpMeta560;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,13,3) == 0) goto tmp3_end;
tmpMeta554 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta554,1,1) == 0) goto tmp3_end;
tmpMeta555 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta554), 2));
if (12 != MMC_STRLEN(tmpMeta555) || strcmp(MMC_STRINGDATA(_OMC_LIT910), MMC_STRINGDATA(tmpMeta555)) != 0) goto tmp3_end;
tmpMeta556 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 3));
if (listEmpty(tmpMeta556)) goto tmp3_end;
tmpMeta557 = MMC_CAR(tmpMeta556);
tmpMeta558 = MMC_CDR(tmpMeta556);
if (listEmpty(tmpMeta558)) goto tmp3_end;
tmpMeta559 = MMC_CAR(tmpMeta558);
tmpMeta560 = MMC_CDR(tmpMeta558);
if (!listEmpty(tmpMeta560)) goto tmp3_end;
_i_name = tmpMeta555;
_i_e1 = tmpMeta557;
_i_e2 = tmpMeta559;
_txt = tmp4_1;
_a_sub = tmp4_3;
_a_auxFunction = tmp4_4;
_a_varDecls = tmp4_5;
_a_preExp = tmp4_6;
_a_context = tmp4_7;
_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__1000(threadData, _OMC_LIT20, _i_name);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT753);
_txt = omc_Tpl_writeText(threadData, _txt, _l_i1);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT138);
_txt = omc_Tpl_writeText(threadData, _txt, _l_op);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT339);
_txt = omc_Tpl_writeText(threadData, _txt, _l_i2);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT610);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_sub;
tmpMeta[0+2] = _a_auxFunction;
tmpMeta[0+3] = _a_varDecls;
tmpMeta[0+4] = _a_preExp;
goto tmp3_done;
}
case 80: {
modelica_metatype tmpMeta561;
modelica_metatype tmpMeta562;
modelica_metatype tmpMeta563;
modelica_metatype tmpMeta564;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,13,3) == 0) goto tmp3_end;
tmpMeta561 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 3));
tmpMeta562 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 4));
tmpMeta563 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta562), 8));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta563,1,2) == 0) goto tmp3_end;
tmpMeta564 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta563), 2));
_i_expLst = tmpMeta561;
_i_tail_vars = tmpMeta564;
_txt = tmp4_1;
_a_sub = tmp4_3;
_a_auxFunction = tmp4_4;
_a_varDecls = tmp4_5;
_a_preExp = tmp4_6;
_a_context = tmp4_7;
_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_LIT846);
_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_LIT851);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _l_res);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_sub;
tmpMeta[0+2] = _a_auxFunction;
tmpMeta[0+3] = _a_varDecls;
tmpMeta[0+4] = _a_preExp;
goto tmp3_done;
}
case 81: {
modelica_metatype tmpMeta565;
modelica_metatype tmpMeta566;
modelica_metatype tmpMeta567;
modelica_metatype tmpMeta568;
modelica_integer tmp569;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,13,3) == 0) goto tmp3_end;
tmpMeta565 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
tmpMeta566 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 4));
tmpMeta567 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta566), 2));
tmpMeta568 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta566), 4));
tmp569 = mmc_unbox_integer(tmpMeta568);
_i_exp = tmp4_2;
_i_exp_path = tmpMeta565;
_i_attr_ty = tmpMeta567;
_i_attr_builtin = tmp569;
_txt = tmp4_1;
_a_sub = tmp4_3;
_a_auxFunction = tmp4_4;
_a_varDecls = tmp4_5;
_a_preExp = tmp4_6;
_a_context = tmp4_7;
_l_additionalOutputs = omc_CodegenCFunctions_fun__1002(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__1008(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_sub;
tmpMeta[0+2] = _a_auxFunction;
tmpMeta[0+3] = _a_varDecls;
tmpMeta[0+4] = _a_preExp;
goto tmp3_done;
}
case 82: {
_txt = tmp4_1;
_a_sub = tmp4_3;
_a_auxFunction = tmp4_4;
_a_varDecls = tmp4_5;
_a_preExp = tmp4_6;
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_sub;
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_sub = 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_sub) { *out_out_a_sub = _out_a_sub; }
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__1008(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__1007(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__1008(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__1008(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__1007(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__1005(threadData, _OMC_LIT20, _a_attr_ty, _a_preExp, _a_varDecls ,&_a_preExp ,&_a_varDecls);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT912);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _l_funName);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT914);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT98);
_a_preExp = omc_CodegenCFunctions_fun__1006(threadData, _a_preExp, _l_tvar, _a_res);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT916);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _l_funName);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT914);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT98);
_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__1007(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__1007(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__1006(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_tvar, modelica_metatype _in_a_res)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta1;
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_tvar;
tmp4_3 = _in_a_res;
{
modelica_metatype _txt = NULL;
modelica_metatype _a_res = NULL;
modelica_metatype _i_tvar = NULL;
volatile mmc_switch_type tmp4;
int tmp5;
tmp4 = 0;
for (; tmp4 < 2; tmp4++) {
switch (MMC_SWITCH_CAST(tmp4)) {
case 0: {
modelica_metatype tmpMeta6;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,0,2) == 0) goto tmp3_end;
tmpMeta6 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
if (!listEmpty(tmpMeta6)) goto tmp3_end;
_txt = tmp4_1;
_a_res = tmp4_3;
_txt = omc_Tpl_writeText(threadData, _txt, _a_res);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT113);
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT98);
goto tmp3_done;
}
case 1: {
_txt = tmp4_1;
_i_tvar = tmp4_2;
_a_res = tmp4_3;
_txt = omc_Tpl_writeText(threadData, _txt, _i_tvar);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT129);
_txt = omc_Tpl_writeText(threadData, _txt, _a_res);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT113);
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT98);
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta1;
_return: OMC_LABEL_UNUSED
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__1005(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[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_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: {
modelica_metatype tmpMeta6;
modelica_metatype tmpMeta7;
modelica_metatype tmpMeta8;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,14,2) == 0) goto tmp3_end;
tmpMeta6 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
if (listEmpty(tmpMeta6)) goto tmp3_end;
tmpMeta7 = MMC_CAR(tmpMeta6);
tmpMeta8 = MMC_CDR(tmpMeta6);
_i_t = tmpMeta7;
_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__1003(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__1004(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__1004(threadData_t *threadData, modelica_metatype _in_txt, modelica_boolean _in_mArg, modelica_metatype _in_a_tvar2)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta1;
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_tvar2;
{
modelica_metatype _txt = NULL;
modelica_metatype _a_tvar2 = 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;
tmpMeta1 = _txt;
goto tmp3_done;
}
case 1: {
_txt = tmp4_1;
_a_tvar2 = tmp4_3;
_txt = omc_Tpl_writeText(threadData, _txt, _a_tvar2);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT540);
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT98);
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta1;
_return: OMC_LABEL_UNUSED
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__1004(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__1004(threadData, _in_txt, tmp1, _in_a_tvar2);
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_tvar2)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta1;
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_tvar2;
{
modelica_metatype _txt = NULL;
modelica_metatype _a_tvar2 = 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;
tmpMeta1 = _txt;
goto tmp3_done;
}
case 1: {
_txt = tmp4_1;
_a_tvar2 = tmp4_3;
_txt = omc_Tpl_writeText(threadData, _txt, _a_tvar2);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT540);
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT98);
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta1;
_return: OMC_LABEL_UNUSED
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_tvar2)
{
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_tvar2);
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__1002(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_attr_ty)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta1;
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_metatype tmp4_2;
tmp4_1 = _in_txt;
tmp4_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 tmp4;
int tmp5;
tmp4 = 0;
for (; tmp4 < 2; tmp4++) {
switch (MMC_SWITCH_CAST(tmp4)) {
case 0: {
modelica_metatype tmpMeta6;
modelica_metatype tmpMeta7;
modelica_metatype tmpMeta8;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,14,2) == 0) goto tmp3_end;
tmpMeta6 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
if (listEmpty(tmpMeta6)) goto tmp3_end;
tmpMeta7 = MMC_CAR(tmpMeta6);
tmpMeta8 = MMC_CDR(tmpMeta6);
_i_ts = tmpMeta8;
_txt = tmp4_1;
_ret_0 = listLength(_i_ts);
_ret_1 = omc_List_fill(threadData, _OMC_LIT541, _ret_0);
tmpMeta1 = omc_CodegenCFunctions_lm__1001(threadData, _txt, _ret_1);
goto tmp3_done;
}
case 1: {
_txt = tmp4_1;
tmpMeta1 = _txt;
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta1;
_return: OMC_LABEL_UNUSED
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_lm__1001(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_items)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta1;
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_metatype tmp4_2;
tmp4_1 = _in_txt;
tmp4_2 = _in_items;
{
modelica_metatype _txt = NULL;
modelica_metatype _rest = NULL;
modelica_string _i_it = 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;
tmpMeta1 = _txt;
goto tmp3_done;
}
case 1: {
modelica_metatype tmpMeta6;
modelica_metatype tmpMeta7;
if (listEmpty(tmp4_2)) goto tmp3_end;
tmpMeta6 = MMC_CAR(tmp4_2);
tmpMeta7 = MMC_CDR(tmp4_2);
_i_it = tmpMeta6;
_rest = tmpMeta7;
_txt = tmp4_1;
_txt = omc_Tpl_writeStr(threadData, _txt, _i_it);
_in_txt = _txt;
_in_items = _rest;
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 = tmpMeta1;
_return: OMC_LABEL_UNUSED
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__1000(threadData_t *threadData, modelica_metatype _in_txt, modelica_string _in_a_name)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta1;
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_string tmp4_2;
tmp4_1 = _in_txt;
tmp4_2 = _in_a_name;
{
modelica_metatype _txt = NULL;
volatile mmc_switch_type tmp4;
int tmp5;
tmp4 = 0;
for (; tmp4 < 6; tmp4++) {
switch (MMC_SWITCH_CAST(tmp4)) {
case 0: {
if (9 != MMC_STRLEN(tmp4_2) || strcmp(MMC_STRINGDATA(_OMC_LIT906), MMC_STRINGDATA(tmp4_2)) != 0) goto tmp3_end;
_txt = tmp4_1;
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT40);
goto tmp3_done;
}
case 1: {
if (8 != MMC_STRLEN(tmp4_2) || strcmp(MMC_STRINGDATA(_OMC_LIT907), MMC_STRINGDATA(tmp4_2)) != 0) goto tmp3_end;
_txt = tmp4_1;
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT918);
goto tmp3_done;
}
case 2: {
if (9 != MMC_STRLEN(tmp4_2) || strcmp(MMC_STRINGDATA(_OMC_LIT908), MMC_STRINGDATA(tmp4_2)) != 0) goto tmp3_end;
_txt = tmp4_1;
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT920);
goto tmp3_done;
}
case 3: {
if (12 != MMC_STRLEN(tmp4_2) || strcmp(MMC_STRINGDATA(_OMC_LIT909), MMC_STRINGDATA(tmp4_2)) != 0) goto tmp3_end;
_txt = tmp4_1;
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT922);
goto tmp3_done;
}
case 4: {
if (12 != MMC_STRLEN(tmp4_2) || strcmp(MMC_STRINGDATA(_OMC_LIT910), MMC_STRINGDATA(tmp4_2)) != 0) goto tmp3_end;
_txt = tmp4_1;
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT924);
goto tmp3_done;
}
case 5: {
_txt = tmp4_1;
tmpMeta1 = _txt;
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta1;
_return: OMC_LABEL_UNUSED
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__999(threadData_t *threadData, modelica_metatype _in_txt, modelica_string _in_a_name)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta1;
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_string tmp4_2;
tmp4_1 = _in_txt;
tmp4_2 = _in_a_name;
{
modelica_metatype _txt = NULL;
volatile mmc_switch_type tmp4;
int tmp5;
tmp4 = 0;
for (; tmp4 < 6; tmp4++) {
switch (MMC_SWITCH_CAST(tmp4)) {
case 0: {
if (9 != MMC_STRLEN(tmp4_2) || strcmp(MMC_STRINGDATA(_OMC_LIT906), MMC_STRINGDATA(tmp4_2)) != 0) goto tmp3_end;
_txt = tmp4_1;
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT40);
goto tmp3_done;
}
case 1: {
if (8 != MMC_STRLEN(tmp4_2) || strcmp(MMC_STRINGDATA(_OMC_LIT907), MMC_STRINGDATA(tmp4_2)) != 0) goto tmp3_end;
_txt = tmp4_1;
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT918);
goto tmp3_done;
}
case 2: {
if (9 != MMC_STRLEN(tmp4_2) || strcmp(MMC_STRINGDATA(_OMC_LIT908), MMC_STRINGDATA(tmp4_2)) != 0) goto tmp3_end;
_txt = tmp4_1;
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT920);
goto tmp3_done;
}
case 3: {
if (12 != MMC_STRLEN(tmp4_2) || strcmp(MMC_STRINGDATA(_OMC_LIT909), MMC_STRINGDATA(tmp4_2)) != 0) goto tmp3_end;
_txt = tmp4_1;
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT922);
goto tmp3_done;
}
case 4: {
if (12 != MMC_STRLEN(tmp4_2) || strcmp(MMC_STRINGDATA(_OMC_LIT910), MMC_STRINGDATA(tmp4_2)) != 0) goto tmp3_end;
_txt = tmp4_1;
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT924);
goto tmp3_done;
}
case 5: {
_txt = tmp4_1;
tmpMeta1 = _txt;
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta1;
_return: OMC_LABEL_UNUSED
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__998(threadData_t *threadData, modelica_metatype _in_txt, modelica_string _in_a_name)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta1;
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_string tmp4_2;
tmp4_1 = _in_txt;
tmp4_2 = _in_a_name;
{
modelica_metatype _txt = NULL;
volatile mmc_switch_type tmp4;
int tmp5;
tmp4 = 0;
for (; tmp4 < 6; tmp4++) {
switch (MMC_SWITCH_CAST(tmp4)) {
case 0: {
if (9 != MMC_STRLEN(tmp4_2) || strcmp(MMC_STRINGDATA(_OMC_LIT906), MMC_STRINGDATA(tmp4_2)) != 0) goto tmp3_end;
_txt = tmp4_1;
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT40);
goto tmp3_done;
}
case 1: {
if (8 != MMC_STRLEN(tmp4_2) || strcmp(MMC_STRINGDATA(_OMC_LIT907), MMC_STRINGDATA(tmp4_2)) != 0) goto tmp3_end;
_txt = tmp4_1;
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT918);
goto tmp3_done;
}
case 2: {
if (9 != MMC_STRLEN(tmp4_2) || strcmp(MMC_STRINGDATA(_OMC_LIT908), MMC_STRINGDATA(tmp4_2)) != 0) goto tmp3_end;
_txt = tmp4_1;
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT920);
goto tmp3_done;
}
case 3: {
if (12 != MMC_STRLEN(tmp4_2) || strcmp(MMC_STRINGDATA(_OMC_LIT909), MMC_STRINGDATA(tmp4_2)) != 0) goto tmp3_end;
_txt = tmp4_1;
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT922);
goto tmp3_done;
}
case 4: {
if (12 != MMC_STRLEN(tmp4_2) || strcmp(MMC_STRINGDATA(_OMC_LIT910), MMC_STRINGDATA(tmp4_2)) != 0) goto tmp3_end;
_txt = tmp4_1;
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT924);
goto tmp3_done;
}
case 5: {
_txt = tmp4_1;
tmpMeta1 = _txt;
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta1;
_return: OMC_LABEL_UNUSED
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__997(threadData_t *threadData, modelica_metatype _in_txt, modelica_string _in_a_name)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta1;
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_string tmp4_2;
tmp4_1 = _in_txt;
tmp4_2 = _in_a_name;
{
modelica_metatype _txt = NULL;
volatile mmc_switch_type tmp4;
int tmp5;
tmp4 = 0;
for (; tmp4 < 6; tmp4++) {
switch (MMC_SWITCH_CAST(tmp4)) {
case 0: {
if (9 != MMC_STRLEN(tmp4_2) || strcmp(MMC_STRINGDATA(_OMC_LIT906), MMC_STRINGDATA(tmp4_2)) != 0) goto tmp3_end;
_txt = tmp4_1;
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT40);
goto tmp3_done;
}
case 1: {
if (8 != MMC_STRLEN(tmp4_2) || strcmp(MMC_STRINGDATA(_OMC_LIT907), MMC_STRINGDATA(tmp4_2)) != 0) goto tmp3_end;
_txt = tmp4_1;
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT918);
goto tmp3_done;
}
case 2: {
if (9 != MMC_STRLEN(tmp4_2) || strcmp(MMC_STRINGDATA(_OMC_LIT908), MMC_STRINGDATA(tmp4_2)) != 0) goto tmp3_end;
_txt = tmp4_1;
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT920);
goto tmp3_done;
}
case 3: {
if (12 != MMC_STRLEN(tmp4_2) || strcmp(MMC_STRINGDATA(_OMC_LIT909), MMC_STRINGDATA(tmp4_2)) != 0) goto tmp3_end;
_txt = tmp4_1;
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT922);
goto tmp3_done;
}
case 4: {
if (12 != MMC_STRLEN(tmp4_2) || strcmp(MMC_STRINGDATA(_OMC_LIT910), MMC_STRINGDATA(tmp4_2)) != 0) goto tmp3_end;
_txt = tmp4_1;
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT924);
goto tmp3_done;
}
case 5: {
_txt = tmp4_1;
tmpMeta1 = _txt;
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta1;
_return: OMC_LABEL_UNUSED
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__996(threadData_t *threadData, modelica_metatype _in_txt, modelica_string _in_a_name)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta1;
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_string tmp4_2;
tmp4_1 = _in_txt;
tmp4_2 = _in_a_name;
{
modelica_metatype _txt = NULL;
volatile mmc_switch_type tmp4;
int tmp5;
tmp4 = 0;
for (; tmp4 < 6; tmp4++) {
switch (MMC_SWITCH_CAST(tmp4)) {
case 0: {
if (9 != MMC_STRLEN(tmp4_2) || strcmp(MMC_STRINGDATA(_OMC_LIT906), MMC_STRINGDATA(tmp4_2)) != 0) goto tmp3_end;
_txt = tmp4_1;
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT40);
goto tmp3_done;
}
case 1: {
if (8 != MMC_STRLEN(tmp4_2) || strcmp(MMC_STRINGDATA(_OMC_LIT907), MMC_STRINGDATA(tmp4_2)) != 0) goto tmp3_end;
_txt = tmp4_1;
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT918);
goto tmp3_done;
}
case 2: {
if (9 != MMC_STRLEN(tmp4_2) || strcmp(MMC_STRINGDATA(_OMC_LIT908), MMC_STRINGDATA(tmp4_2)) != 0) goto tmp3_end;
_txt = tmp4_1;
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT920);
goto tmp3_done;
}
case 3: {
if (12 != MMC_STRLEN(tmp4_2) || strcmp(MMC_STRINGDATA(_OMC_LIT909), MMC_STRINGDATA(tmp4_2)) != 0) goto tmp3_end;
_txt = tmp4_1;
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT922);
goto tmp3_done;
}
case 4: {
if (12 != MMC_STRLEN(tmp4_2) || strcmp(MMC_STRINGDATA(_OMC_LIT910), MMC_STRINGDATA(tmp4_2)) != 0) goto tmp3_end;
_txt = tmp4_1;
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT924);
goto tmp3_done;
}
case 5: {
_txt = tmp4_1;
tmpMeta1 = _txt;
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta1;
_return: OMC_LABEL_UNUSED
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__995(threadData_t *threadData, modelica_metatype _in_txt, modelica_string _in_a_name)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta1;
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_string tmp4_2;
tmp4_1 = _in_txt;
tmp4_2 = _in_a_name;
{
modelica_metatype _txt = NULL;
volatile mmc_switch_type tmp4;
int tmp5;
tmp4 = 0;
for (; tmp4 < 6; tmp4++) {
switch (MMC_SWITCH_CAST(tmp4)) {
case 0: {
if (9 != MMC_STRLEN(tmp4_2) || strcmp(MMC_STRINGDATA(_OMC_LIT906), MMC_STRINGDATA(tmp4_2)) != 0) goto tmp3_end;
_txt = tmp4_1;
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT40);
goto tmp3_done;
}
case 1: {
if (8 != MMC_STRLEN(tmp4_2) || strcmp(MMC_STRINGDATA(_OMC_LIT907), MMC_STRINGDATA(tmp4_2)) != 0) goto tmp3_end;
_txt = tmp4_1;
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT918);
goto tmp3_done;
}
case 2: {
if (9 != MMC_STRLEN(tmp4_2) || strcmp(MMC_STRINGDATA(_OMC_LIT908), MMC_STRINGDATA(tmp4_2)) != 0) goto tmp3_end;
_txt = tmp4_1;
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT920);
goto tmp3_done;
}
case 3: {
if (12 != MMC_STRLEN(tmp4_2) || strcmp(MMC_STRINGDATA(_OMC_LIT909), MMC_STRINGDATA(tmp4_2)) != 0) goto tmp3_end;
_txt = tmp4_1;
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT922);
goto tmp3_done;
}
case 4: {
if (12 != MMC_STRLEN(tmp4_2) || strcmp(MMC_STRINGDATA(_OMC_LIT910), MMC_STRINGDATA(tmp4_2)) != 0) goto tmp3_end;
_txt = tmp4_1;
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT924);
goto tmp3_done;
}
case 5: {
_txt = tmp4_1;
tmpMeta1 = _txt;
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta1;
_return: OMC_LABEL_UNUSED
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__994(threadData_t *threadData, modelica_metatype _in_txt, modelica_string _in_mArg, modelica_integer _in_a_index)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta1;
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_string tmp4_2;modelica_integer tmp4_3;
tmp4_1 = _in_txt;
tmp4_2 = _in_mArg;
tmp4_3 = _in_a_index;
{
modelica_metatype _txt = NULL;
modelica_integer _a_index;
modelica_integer _ret_1;
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 (5 != MMC_STRLEN(tmp4_2) || strcmp(MMC_STRINGDATA(_OMC_LIT47), MMC_STRINGDATA(tmp4_2)) != 0) goto tmp3_end;
_txt = tmp4_1;
_a_index = tmp4_3;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT926);
_ret_0 = ((modelica_integer) -1) + _a_index;
_txt = omc_Tpl_writeStr(threadData, _txt, intString(_ret_0));
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT928);
goto tmp3_done;
}
case 1: {
_txt = tmp4_1;
_a_index = tmp4_3;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT930);
_ret_1 = ((modelica_integer) -1) + _a_index;
_txt = omc_Tpl_writeStr(threadData, _txt, intString(_ret_1));
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT932);
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta1;
_return: OMC_LABEL_UNUSED
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__994(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__994(threadData, _in_txt, _in_mArg, tmp1);
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__993(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_LIT622), 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_LIT129);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _a_typeStr);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT934);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _a_sExp);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT301);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _a_minlenExp);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT301);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _a_leftjustExp);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT936);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT98);
_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_LIT814), 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_LIT129);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _a_sExp);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT113);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT98);
_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_LIT129);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _a_typeStr);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT934);
_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_LIT301);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _a_minlenExp);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT301);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _a_leftjustExp);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT299);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT98);
_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__992(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_enumStr, modelica_metatype _in_a_s)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta1;
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_enumStr;
tmp4_3 = _in_a_s;
{
modelica_metatype _txt = NULL;
modelica_metatype _a_s = NULL;
volatile mmc_switch_type tmp4;
int tmp5;
tmp4 = 0;
for (; tmp4 < 2; tmp4++) {
switch (MMC_SWITCH_CAST(tmp4)) {
case 0: {
modelica_metatype tmpMeta6;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,0,2) == 0) goto tmp3_end;
tmpMeta6 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
if (!listEmpty(tmpMeta6)) goto tmp3_end;
_txt = tmp4_1;
_a_s = tmp4_3;
tmpMeta1 = omc_CodegenCFunctions_expTypeFromExpModelica(threadData, _txt, _a_s);
goto tmp3_done;
}
case 1: {
_txt = tmp4_1;
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT938);
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta1;
_return: OMC_LABEL_UNUSED
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__991(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[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_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: {
modelica_metatype tmpMeta6;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,5,5) == 0) goto tmp3_end;
tmpMeta6 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 4));
_i_names = tmpMeta6;
_txt = tmp4_1;
_a_varDecls = tmp4_3;
_l_strs = omc_Tpl_pushIter(threadData, _OMC_LIT20, _OMC_LIT303);
_l_strs = omc_CodegenCFunctions_lm__990(threadData, _l_strs, _i_names);
_l_strs = omc_Tpl_popIter(threadData, _l_strs);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT301);
_ret_1 = listLength(_i_names);
_txt = omc_CodegenCFunctions_tempDeclArray(threadData, _txt, _OMC_LIT939, 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__990(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_items)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta1;
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_metatype tmp4_2;
tmp4_1 = _in_txt;
tmp4_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 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;
tmpMeta1 = _txt;
goto tmp3_done;
}
case 1: {
modelica_metatype tmpMeta6;
modelica_metatype tmpMeta7;
if (listEmpty(tmp4_2)) goto tmp3_end;
tmpMeta6 = MMC_CAR(tmp4_2);
tmpMeta7 = MMC_CDR(tmp4_2);
_i_s = tmpMeta6;
_rest = tmpMeta7;
_txt = tmp4_1;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT940);
_ret_0 = omc_Util_escapeModelicaStringToCString(threadData, _i_s);
_txt = omc_Tpl_writeStr(threadData, _txt, _ret_0);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT940);
_txt = omc_Tpl_nextIter(threadData, _txt);
_in_txt = _txt;
_in_items = _rest;
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 = tmpMeta1;
_return: OMC_LABEL_UNUSED
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_lm__989(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[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_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: {
modelica_metatype tmpMeta6;
modelica_metatype tmpMeta7;
if (listEmpty(tmp4_2)) goto tmp3_end;
tmpMeta6 = MMC_CAR(tmp4_2);
tmpMeta7 = MMC_CDR(tmp4_2);
_i_array = tmpMeta6;
_rest = tmpMeta7;
_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__988(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 tmpMeta1;
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_tvarc;
tmp4_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 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;
tmpMeta1 = _txt;
goto tmp3_done;
}
case 1: {
modelica_metatype tmpMeta6;
modelica_metatype tmpMeta7;
modelica_integer tmp8;
if (listEmpty(tmp4_2)) goto tmp3_end;
tmpMeta6 = MMC_CAR(tmp4_2);
tmpMeta7 = MMC_CDR(tmp4_2);
tmp8 = mmc_unbox_integer(tmpMeta6);
_i_sz = tmp8;
_rest = tmpMeta7;
_txt = tmp4_1;
_a_tvarc = tmp4_3;
_a_val = tmp4_4;
_x_ix = omc_Tpl_getIteri__i0(threadData, _txt);
_txt = omc_CodegenCFunctions_fun__987(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 tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta1;
_return: OMC_LABEL_UNUSED
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__987(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 tmpMeta1;
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_integer tmp4_2;modelica_metatype tmp4_3;modelica_integer tmp4_4;modelica_metatype tmp4_5;
tmp4_1 = _in_txt;
tmp4_2 = _in_a_sz;
tmp4_3 = _in_a_tvarc;
tmp4_4 = _in_a_ix;
tmp4_5 = _in_a_val;
{
modelica_metatype _txt = NULL;
modelica_metatype _a_tvarc = NULL;
modelica_integer _a_ix;
modelica_metatype _a_val = NULL;
int tmp4;
{
switch (MMC_SWITCH_CAST(tmp4_2)) {
case 0: {
if (0 != tmp4_2) goto tmp3_end;
_txt = tmp4_1;
_a_tvarc = tmp4_3;
_a_ix = tmp4_4;
_a_val = tmp4_5;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT942);
_txt = omc_Tpl_writeText(threadData, _txt, _a_val);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT301);
_txt = omc_Tpl_writeStr(threadData, _txt, intString(_a_ix));
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT944);
_txt = omc_Tpl_writeText(threadData, _txt, _a_tvarc);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT946);
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT98);
goto tmp3_done;
}
case 1: {
if (1 != tmp4_2) goto tmp3_end;
_txt = tmp4_1;
tmpMeta1 = _txt;
goto tmp3_done;
}
default:
tmp3_default: OMC_LABEL_UNUSED; {
_txt = tmp4_1;
_a_tvarc = tmp4_3;
_txt = omc_Tpl_writeText(threadData, _txt, _a_tvarc);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT946);
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT98);
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta1;
_return: OMC_LABEL_UNUSED
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__987(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__987(threadData, _in_txt, tmp1, _in_a_tvarc, tmp2, _in_a_val);
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_lm__986(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[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_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: {
modelica_metatype tmpMeta6;
modelica_metatype tmpMeta7;
if (listEmpty(tmp4_2)) goto tmp3_end;
tmpMeta6 = MMC_CAR(tmp4_2);
tmpMeta7 = MMC_CDR(tmp4_2);
_i_dim = tmpMeta6;
_rest = tmpMeta7;
_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__985(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 tmpMeta1;
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_cstr;
tmp4_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 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_cstr = tmp4_3;
_a_tvar = tmp4_4;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT257);
_txt = omc_Tpl_writeText(threadData, _txt, _a_tvar);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT948);
_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_LIT950);
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT98);
goto tmp3_done;
}
case 1: {
_txt = tmp4_1;
_a_tvar = tmp4_4;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT257);
_txt = omc_Tpl_writeText(threadData, _txt, _a_tvar);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT952);
_txt = omc_CodegenCFunctions_generateThrow(threadData, _txt);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT954);
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT98);
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta1;
_return: OMC_LABEL_UNUSED
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__985(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__985(threadData, _in_txt, tmp1, _in_a_cstr, _in_a_tvar);
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__984(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 tmpMeta1;
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_tvar;
tmp4_4 = _in_a_var1;
{
modelica_metatype _txt = NULL;
modelica_metatype _a_tvar = NULL;
modelica_metatype _a_var1 = 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_tvar = tmp4_3;
_a_var1 = tmp4_4;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT956);
_txt = omc_Tpl_writeText(threadData, _txt, _a_var1);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT234);
_txt = omc_Tpl_writeText(threadData, _txt, _a_tvar);
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT958);
goto tmp3_done;
}
case 1: {
_txt = tmp4_1;
_a_tvar = tmp4_3;
_a_var1 = tmp4_4;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT960);
_txt = omc_Tpl_writeText(threadData, _txt, _a_var1);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT962);
_txt = omc_Tpl_writeText(threadData, _txt, _a_tvar);
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT87);
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta1;
_return: OMC_LABEL_UNUSED
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__984(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__984(threadData, _in_txt, tmp1, _in_a_tvar, _in_a_var1);
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__983(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 tmpMeta1;
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_cstr;
tmp4_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 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_cstr = tmp4_3;
_a_tvar = tmp4_4;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT257);
_txt = omc_Tpl_writeText(threadData, _txt, _a_tvar);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT964);
_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_LIT950);
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT98);
goto tmp3_done;
}
case 1: {
_txt = tmp4_1;
_a_tvar = tmp4_4;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT257);
_txt = omc_Tpl_writeText(threadData, _txt, _a_tvar);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT966);
_txt = omc_CodegenCFunctions_generateThrow(threadData, _txt);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT954);
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT98);
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta1;
_return: OMC_LABEL_UNUSED
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__983(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__983(threadData, _in_txt, tmp1, _in_a_cstr, _in_a_tvar);
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__982(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 tmpMeta1;
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_cstr;
tmp4_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 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_cstr = tmp4_3;
_a_tvar = tmp4_4;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT257);
_txt = omc_Tpl_writeText(threadData, _txt, _a_tvar);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT964);
_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_LIT950);
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT98);
goto tmp3_done;
}
case 1: {
_txt = tmp4_1;
_a_tvar = tmp4_4;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT257);
_txt = omc_Tpl_writeText(threadData, _txt, _a_tvar);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT966);
_txt = omc_CodegenCFunctions_generateThrow(threadData, _txt);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT954);
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT98);
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta1;
_return: OMC_LABEL_UNUSED
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__982(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__982(threadData, _in_txt, tmp1, _in_a_cstr, _in_a_tvar);
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__981(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 tmpMeta1;
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_cstr;
tmp4_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 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_cstr = tmp4_3;
_a_tvar = tmp4_4;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT257);
_txt = omc_Tpl_writeText(threadData, _txt, _a_tvar);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT964);
_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_LIT950);
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT98);
goto tmp3_done;
}
case 1: {
_txt = tmp4_1;
tmpMeta1 = _txt;
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta1;
_return: OMC_LABEL_UNUSED
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__981(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__981(threadData, _in_txt, tmp1, _in_a_cstr, _in_a_tvar);
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__980(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 tmpMeta1;
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_var2;
tmp4_4 = _in_a_tvar;
{
modelica_metatype _txt = NULL;
modelica_metatype _a_var2 = NULL;
modelica_metatype _a_tvar = 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_var2 = tmp4_3;
_a_tvar = tmp4_4;
_txt = omc_Tpl_writeText(threadData, _txt, _a_tvar);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT129);
_txt = omc_Tpl_writeText(threadData, _txt, _a_var2);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT113);
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT98);
goto tmp3_done;
}
case 1: {
_txt = tmp4_1;
tmpMeta1 = _txt;
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta1;
_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_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__980(threadData, _in_txt, tmp1, _in_a_var2, _in_a_tvar);
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_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__979(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__979(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__978(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_LIT239);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _l_tmp);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT129);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _a_argStr);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT169);
_txt_3 = omc_Tpl_writeText(threadData, _OMC_LIT20, _l_tmp);
_txt_3 = omc_Tpl_writeTok(threadData, _txt_3, _OMC_LIT968);
_txt_4 = omc_Tpl_writeTok(threadData, _OMC_LIT20, _OMC_LIT970);
_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_LIT972);
_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_LIT713 ,&_txt_3 ,&_txt_4 ,&_a_varDecls);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT974);
_txt = omc_Tpl_writeText(threadData, _txt, _l_tmp);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT87);
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_LIT974);
_txt = omc_Tpl_writeText(threadData, _txt, _a_argStr);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT87);
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__978(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__978(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[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_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_metatype tmpMeta6;
modelica_metatype tmpMeta7;
modelica_metatype tmpMeta8;
modelica_metatype tmpMeta9;
modelica_metatype tmpMeta10;
modelica_metatype tmpMeta11;
modelica_metatype tmpMeta12;
modelica_metatype tmpMeta13;
modelica_metatype tmpMeta14;
modelica_metatype tmpMeta15;
modelica_integer tmp16;
modelica_metatype tmpMeta17;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,15,4) == 0) goto tmp3_end;
tmpMeta6 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 3));
tmpMeta7 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 4));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta7,12,1) == 0) goto tmp3_end;
tmpMeta8 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta7), 2));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta8,11,4) == 0) goto tmp3_end;
tmpMeta9 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta8), 2));
tmpMeta10 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta8), 3));
tmpMeta11 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 5));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta11,12,1) == 0) goto tmp3_end;
tmpMeta12 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta11), 2));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta12,11,4) == 0) goto tmp3_end;
tmpMeta13 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta12), 2));
tmpMeta14 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta12), 4));
tmpMeta15 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta14), 5));
tmp16 = mmc_unbox_integer(tmpMeta15);
tmpMeta17 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta12), 5));
_i_expList = tmpMeta6;
_i_t_funcArg = tmpMeta9;
_i_t_funcResultType = tmpMeta10;
_i_orig = tmpMeta12;
_i_orig_funcArg = tmpMeta13;
_i_attr_isFunctionPointer = tmp16;
_i_name = tmpMeta17;
_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__964(threadData, _OMC_LIT20, _i_t_funcResultType, _l_ret ,&_l_ret);
_l_func = omc_Tpl_writeTok(threadData, _OMC_LIT20, _OMC_LIT976);
_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_LIT244);
_l_func = omc_CodegenUtil_underscorePath(threadData, _l_func, _i_name);
_l_return = omc_CodegenCFunctions_fun__965(threadData, _OMC_LIT20, _i_t_funcResultType);
_l_closure = omc_CodegenCFunctions_tempDecl(threadData, _OMC_LIT20, _OMC_LIT322, _a_varDecls ,&_a_varDecls);
_l_createClosure = omc_CodegenCFunctions_lm__966(threadData, _OMC_LIT20, _i_expList, _a_auxFunction, _a_varDecls, _a_preExp, _a_context ,&_a_auxFunction ,&_a_varDecls ,&_a_preExp);
_l_createClosure = omc_CodegenCFunctions_fun__967(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_LIT978);
_a_preExp = omc_CodegenCFunctions_fun__968(threadData, _a_preExp, _i_attr_isFunctionPointer, _i_expList);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT980);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _l_createClosure);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT299);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT98);
_a_auxFunction = omc_Tpl_writeTok(threadData, _a_auxFunction, _OMC_LIT982);
_a_auxFunction = omc_CodegenCFunctions_fun__969(threadData, _a_auxFunction, _i_t_funcResultType);
_a_auxFunction = omc_Tpl_writeTok(threadData, _a_auxFunction, _OMC_LIT34);
_a_auxFunction = omc_Tpl_writeText(threadData, _a_auxFunction, _l_func);
_a_auxFunction = omc_Tpl_writeTok(threadData, _a_auxFunction, _OMC_LIT984);
_a_auxFunction = omc_CodegenCFunctions_lm__970(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_LIT439);
_a_auxFunction = omc_Tpl_pushBlock(threadData, _a_auxFunction, _OMC_LIT105);
_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_LIT126);
_a_auxFunction = omc_CodegenCFunctions_lm__971(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__975(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_LIT111);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT986);
_ret_9 = omc_Flags_isSet(threadData, _OMC_LIT614);
_txt = omc_CodegenCFunctions_fun__976(threadData, _txt, _ret_9);
_txt = omc_Tpl_writeText(threadData, _txt, _l_func);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT234);
_txt = omc_Tpl_writeText(threadData, _txt, _l_closure);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT87);
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_metatype tmpMeta18;
modelica_metatype tmpMeta19;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,15,4) == 0) goto tmp3_end;
tmpMeta18 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 4));
tmpMeta19 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 5));
_i_exp = tmp4_2;
_i_ty = tmpMeta18;
_i_origType = tmpMeta19;
_txt = tmp4_1;
_a_preExp = tmp4_4;
_a_varDecls = tmp4_5;
_a_auxFunction = tmp4_6;
_txt_10 = omc_Tpl_writeTok(threadData, _OMC_LIT20, _OMC_LIT988);
_txt_10 = omc_ExpressionDumpTpl_dumpExp(threadData, _txt_10, _i_exp, _OMC_LIT239);
_txt_10 = omc_Tpl_writeTok(threadData, _txt_10, _OMC_LIT990);
_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_LIT992);
_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) 6203), ((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__976(threadData_t *threadData, modelica_metatype _in_txt, modelica_boolean _in_mArg)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta1;
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_boolean tmp4_2;
tmp4_1 = _in_txt;
tmp4_2 = _in_mArg;
{
modelica_metatype _txt = 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;
tmpMeta1 = _txt;
goto tmp3_done;
}
case 1: {
_txt = tmp4_1;
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT40);
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta1;
_return: OMC_LABEL_UNUSED
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__976(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__976(threadData, _in_txt, tmp1);
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__975(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 tmpMeta1;
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_attr_isFunctionPointer;
tmp4_3 = _in_a_t_funcArg;
tmp4_4 = _in_a_orig;
tmp4_5 = _in_a_ret;
tmp4_6 = _in_a_orig_funcArg;
tmp4_7 = _in_a_name;
tmp4_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 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_ret = tmp4_5;
_a_orig_funcArg = tmp4_6;
_a_name = tmp4_7;
_a_return = tmp4_8;
_txt = omc_Tpl_writeText(threadData, _txt, _a_return);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT994);
_txt = omc_CodegenUtil_underscorePath(threadData, _txt, _a_name);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT996);
_txt = omc_CodegenCFunctions_lm__972(threadData, _txt, _a_orig_funcArg);
_txt = omc_Tpl_writeText(threadData, _txt, _a_ret);
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT299);
goto tmp3_done;
}
case 1: {
_txt = tmp4_1;
_a_t_funcArg = tmp4_3;
_a_orig = tmp4_4;
_a_ret = tmp4_5;
_a_orig_funcArg = tmp4_6;
_a_name = tmp4_7;
_a_return = tmp4_8;
_l_fname = omc_Tpl_writeTok(threadData, _OMC_LIT20, _OMC_LIT244);
_l_fname = omc_CodegenUtil_underscorePath(threadData, _l_fname, _a_name);
_l_func = omc_Tpl_writeTok(threadData, _OMC_LIT20, _OMC_LIT530);
_l_func = omc_Tpl_writeText(threadData, _l_func, _l_fname);
_l_func = omc_Tpl_writeTok(threadData, _l_func, _OMC_LIT629);
_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_LIT998);
_txt = omc_Tpl_writeText(threadData, _txt, _l_fname);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1000);
_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_LIT1004);
_txt = omc_Tpl_writeText(threadData, _txt, _l_fname);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1006);
_txt = omc_Tpl_pushBlock(threadData, _txt, _OMC_LIT105);
_txt = omc_Tpl_writeText(threadData, _txt, _a_return);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT339);
_txt = omc_Tpl_writeText(threadData, _txt, _l_typeCast1);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT34);
_txt = omc_Tpl_writeText(threadData, _txt, _l_func);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1008);
_txt = omc_Tpl_writeText(threadData, _txt, _l_fname);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1010);
_txt = omc_CodegenCFunctions_lm__973(threadData, _txt, _a_orig_funcArg);
_txt = omc_Tpl_writeText(threadData, _txt, _a_ret);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT386);
_txt = omc_Tpl_popBlock(threadData, _txt);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1012);
_txt = omc_Tpl_pushBlock(threadData, _txt, _OMC_LIT105);
_txt = omc_Tpl_writeText(threadData, _txt, _a_return);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT339);
_txt = omc_Tpl_writeText(threadData, _txt, _l_typeCast2);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT34);
_txt = omc_Tpl_writeText(threadData, _txt, _l_func);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1014);
_txt = omc_CodegenCFunctions_lm__974(threadData, _txt, _a_orig_funcArg);
_txt = omc_Tpl_writeText(threadData, _txt, _a_ret);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT386);
_txt = omc_Tpl_popBlock(threadData, _txt);
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT111);
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta1;
_return: OMC_LABEL_UNUSED
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__975(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__975(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__974(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_items)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta1;
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_metatype tmp4_2;
tmp4_1 = _in_txt;
tmp4_2 = _in_items;
{
modelica_metatype _txt = NULL;
modelica_metatype _rest = NULL;
modelica_string _i_a_name = 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;
tmpMeta1 = _txt;
goto tmp3_done;
}
case 1: {
modelica_metatype tmpMeta6;
modelica_metatype tmpMeta7;
modelica_metatype tmpMeta8;
if (listEmpty(tmp4_2)) goto tmp3_end;
tmpMeta6 = MMC_CAR(tmp4_2);
tmpMeta7 = MMC_CDR(tmp4_2);
tmpMeta8 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta6), 2));
_i_a_name = tmpMeta8;
_rest = tmpMeta7;
_txt = tmp4_1;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT301);
_txt = omc_Tpl_writeStr(threadData, _txt, _i_a_name);
_in_txt = _txt;
_in_items = _rest;
goto _tailrecursive;
goto tmp3_done;
}
case 2: {
modelica_metatype tmpMeta9;
modelica_metatype tmpMeta10;
if (listEmpty(tmp4_2)) goto tmp3_end;
tmpMeta9 = MMC_CAR(tmp4_2);
tmpMeta10 = MMC_CDR(tmp4_2);
_rest = tmpMeta10;
_txt = tmp4_1;
_in_txt = _txt;
_in_items = _rest;
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 = tmpMeta1;
_return: OMC_LABEL_UNUSED
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_lm__973(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_items)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta1;
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_metatype tmp4_2;
tmp4_1 = _in_txt;
tmp4_2 = _in_items;
{
modelica_metatype _txt = NULL;
modelica_metatype _rest = NULL;
modelica_string _i_a_name = 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;
tmpMeta1 = _txt;
goto tmp3_done;
}
case 1: {
modelica_metatype tmpMeta6;
modelica_metatype tmpMeta7;
modelica_metatype tmpMeta8;
if (listEmpty(tmp4_2)) goto tmp3_end;
tmpMeta6 = MMC_CAR(tmp4_2);
tmpMeta7 = MMC_CDR(tmp4_2);
tmpMeta8 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta6), 2));
_i_a_name = tmpMeta8;
_rest = tmpMeta7;
_txt = tmp4_1;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT301);
_txt = omc_Tpl_writeStr(threadData, _txt, _i_a_name);
_in_txt = _txt;
_in_items = _rest;
goto _tailrecursive;
goto tmp3_done;
}
case 2: {
modelica_metatype tmpMeta9;
modelica_metatype tmpMeta10;
if (listEmpty(tmp4_2)) goto tmp3_end;
tmpMeta9 = MMC_CAR(tmp4_2);
tmpMeta10 = MMC_CDR(tmp4_2);
_rest = tmpMeta10;
_txt = tmp4_1;
_in_txt = _txt;
_in_items = _rest;
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 = tmpMeta1;
_return: OMC_LABEL_UNUSED
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_lm__972(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_items)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta1;
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_metatype tmp4_2;
tmp4_1 = _in_txt;
tmp4_2 = _in_items;
{
modelica_metatype _txt = NULL;
modelica_metatype _rest = NULL;
modelica_string _i_a_name = 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;
tmpMeta1 = _txt;
goto tmp3_done;
}
case 1: {
modelica_metatype tmpMeta6;
modelica_metatype tmpMeta7;
modelica_metatype tmpMeta8;
if (listEmpty(tmp4_2)) goto tmp3_end;
tmpMeta6 = MMC_CAR(tmp4_2);
tmpMeta7 = MMC_CDR(tmp4_2);
tmpMeta8 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta6), 2));
_i_a_name = tmpMeta8;
_rest = tmpMeta7;
_txt = tmp4_1;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT301);
_txt = omc_Tpl_writeStr(threadData, _txt, _i_a_name);
_in_txt = _txt;
_in_items = _rest;
goto _tailrecursive;
goto tmp3_done;
}
case 2: {
modelica_metatype tmpMeta9;
modelica_metatype tmpMeta10;
if (listEmpty(tmp4_2)) goto tmp3_end;
tmpMeta9 = MMC_CAR(tmp4_2);
tmpMeta10 = MMC_CDR(tmp4_2);
_rest = tmpMeta10;
_txt = tmp4_1;
_in_txt = _txt;
_in_items = _rest;
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 = tmpMeta1;
_return: OMC_LABEL_UNUSED
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_lm__971(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_items)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta1;
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_metatype tmp4_2;
tmp4_1 = _in_txt;
tmp4_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 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;
tmpMeta1 = _txt;
goto tmp3_done;
}
case 1: {
modelica_metatype tmpMeta6;
modelica_metatype tmpMeta7;
modelica_metatype tmpMeta8;
modelica_metatype tmpMeta9;
if (listEmpty(tmp4_2)) goto tmp3_end;
tmpMeta6 = MMC_CAR(tmp4_2);
tmpMeta7 = MMC_CDR(tmp4_2);
tmpMeta8 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta6), 2));
tmpMeta9 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta6), 3));
_i_a_name = tmpMeta8;
_i_a_ty = tmpMeta9;
_rest = tmpMeta7;
_txt = tmp4_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_LIT34);
_txt = omc_Tpl_writeStr(threadData, _txt, _i_a_name);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1000);
_txt = omc_Tpl_writeStr(threadData, _txt, intString(_x_i1));
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT842);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT98);
_txt = omc_Tpl_nextIter(threadData, _txt);
_in_txt = _txt;
_in_items = _rest;
goto _tailrecursive;
goto tmp3_done;
}
case 2: {
modelica_metatype tmpMeta10;
modelica_metatype tmpMeta11;
if (listEmpty(tmp4_2)) goto tmp3_end;
tmpMeta10 = MMC_CAR(tmp4_2);
tmpMeta11 = MMC_CDR(tmp4_2);
_rest = tmpMeta11;
_txt = tmp4_1;
_in_txt = _txt;
_in_items = _rest;
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 = tmpMeta1;
_return: OMC_LABEL_UNUSED
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_lm__970(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_items)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta1;
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_metatype tmp4_2;
tmp4_1 = _in_txt;
tmp4_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 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;
tmpMeta1 = _txt;
goto tmp3_done;
}
case 1: {
modelica_metatype tmpMeta6;
modelica_metatype tmpMeta7;
modelica_metatype tmpMeta8;
modelica_metatype tmpMeta9;
if (listEmpty(tmp4_2)) goto tmp3_end;
tmpMeta6 = MMC_CAR(tmp4_2);
tmpMeta7 = MMC_CDR(tmp4_2);
tmpMeta8 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta6), 2));
tmpMeta9 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta6), 3));
_i_a_name = tmpMeta8;
_i_a_ty = tmpMeta9;
_rest = tmpMeta7;
_txt = tmp4_1;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT301);
_txt = omc_CodegenCFunctions_expTypeArrayIf(threadData, _txt, _i_a_ty);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT34);
_txt = omc_Tpl_writeStr(threadData, _txt, _i_a_name);
_in_txt = _txt;
_in_items = _rest;
goto _tailrecursive;
goto tmp3_done;
}
case 2: {
modelica_metatype tmpMeta10;
modelica_metatype tmpMeta11;
if (listEmpty(tmp4_2)) goto tmp3_end;
tmpMeta10 = MMC_CAR(tmp4_2);
tmpMeta11 = MMC_CDR(tmp4_2);
_rest = tmpMeta11;
_txt = tmp4_1;
_in_txt = _txt;
_in_items = _rest;
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 = tmpMeta1;
_return: OMC_LABEL_UNUSED
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__969(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_t_funcResultType)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta1;
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_metatype tmp4_2;
tmp4_1 = _in_txt;
tmp4_2 = _in_a_t_funcResultType;
{
modelica_metatype _txt = 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,0) == 0) goto tmp3_end;
_txt = tmp4_1;
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT620);
goto tmp3_done;
}
case 1: {
_txt = tmp4_1;
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT621);
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta1;
_return: OMC_LABEL_UNUSED
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__968(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 tmpMeta1;
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_a_attr_isFunctionPointer;
tmp4_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 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_expList = tmp4_3;
_ret_0 = listLength(_a_expList);
tmpMeta1 = omc_CodegenCFunctions_daeExpMetaHelperBoxStart(threadData, _txt, _ret_0);
goto tmp3_done;
}
case 1: {
_txt = tmp4_1;
_a_expList = tmp4_3;
_ret_1 = listLength(_a_expList);
_ret_2 = omc_SimCodeFunctionUtil_incrementInt(threadData, _ret_1, ((modelica_integer) 1));
tmpMeta1 = omc_CodegenCFunctions_daeExpMetaHelperBoxStart(threadData, _txt, _ret_2);
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta1;
_return: OMC_LABEL_UNUSED
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__968(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__968(threadData, _in_txt, tmp1, _in_a_expList);
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__967(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 tmpMeta1;
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_a_attr_isFunctionPointer;
tmp4_3 = _in_a_name;
{
modelica_metatype _txt = NULL;
modelica_metatype _a_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;
tmpMeta1 = _txt;
goto tmp3_done;
}
case 1: {
_txt = tmp4_1;
_a_name = tmp4_3;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1016);
tmpMeta1 = omc_CodegenUtil_underscorePath(threadData, _txt, _a_name);
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta1;
_return: OMC_LABEL_UNUSED
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__967(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__967(threadData, _in_txt, tmp1, _in_a_name);
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_lm__966(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[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_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: {
modelica_metatype tmpMeta6;
modelica_metatype tmpMeta7;
if (listEmpty(tmp4_2)) goto tmp3_end;
tmpMeta6 = MMC_CAR(tmp4_2);
tmpMeta7 = MMC_CDR(tmp4_2);
_i_e = tmpMeta6;
_rest = tmpMeta7;
_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_LIT301);
_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__965(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_t_funcResultType)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta1;
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_metatype tmp4_2;
tmp4_1 = _in_txt;
tmp4_2 = _in_a_t_funcResultType;
{
modelica_metatype _txt = 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,0) == 0) goto tmp3_end;
_txt = tmp4_1;
tmpMeta1 = _txt;
goto tmp3_done;
}
case 1: {
_txt = tmp4_1;
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1018);
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta1;
_return: OMC_LABEL_UNUSED
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__964(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[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_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: {
modelica_metatype tmpMeta6;
modelica_metatype tmpMeta7;
modelica_metatype tmpMeta8;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,14,2) == 0) goto tmp3_end;
tmpMeta6 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
if (listEmpty(tmpMeta6)) goto tmp3_end;
tmpMeta7 = MMC_CAR(tmpMeta6);
tmpMeta8 = MMC_CDR(tmpMeta6);
_i_tys = tmpMeta8;
_txt = tmp4_1;
_a_ret = tmp4_3;
tmpMeta[0+0] = omc_CodegenCFunctions_lm__963(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__963(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[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_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: {
modelica_metatype tmpMeta6;
modelica_metatype tmpMeta7;
if (listEmpty(tmp4_2)) goto tmp3_end;
tmpMeta6 = MMC_CAR(tmp4_2);
tmpMeta7 = MMC_CDR(tmp4_2);
_i_ty = tmpMeta6;
_rest = tmpMeta7;
_txt = tmp4_1;
_a_ret = tmp4_3;
_l_name = omc_Tpl_writeTok(threadData, _OMC_LIT20, _OMC_LIT146);
_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_LIT301);
_a_ret = omc_Tpl_writeText(threadData, _a_ret, _l_name);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT301);
_txt = omc_CodegenCFunctions_expTypeArrayIf(threadData, _txt, _i_ty);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT34);
_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[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_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: {
modelica_metatype tmpMeta6;
modelica_metatype tmpMeta7;
modelica_metatype tmpMeta8;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,14,4) == 0) goto tmp3_end;
tmpMeta6 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
tmpMeta7 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 3));
tmpMeta8 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 4));
_i_path = tmpMeta6;
_i_exps = tmpMeta7;
_i_comp = tmpMeta8;
_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__961(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__961(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[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_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: {
modelica_metatype tmpMeta6;
modelica_metatype tmpMeta7;
modelica_metatype tmpMeta8;
modelica_metatype tmpMeta9;
if (listEmpty(tmp4_2)) goto tmp3_end;
tmpMeta6 = MMC_CAR(tmp4_2);
tmpMeta7 = MMC_CDR(tmp4_2);
tmpMeta8 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta6), 1));
tmpMeta9 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta6), 2));
_i_exp = tmpMeta8;
_i_compn = tmpMeta9;
_rest = tmpMeta7;
_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_LIT528);
_txt = omc_Tpl_writeStr(threadData, _txt, _i_compn);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT129);
_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_LIT113);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT98);
_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__959(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__959(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 tmpMeta1;
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_ty;
tmp4_3 = _in_a_lhs;
tmp4_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 tmp4;
int tmp5;
tmp4 = 0;
for (; tmp4 < 2; tmp4++) {
switch (MMC_SWITCH_CAST(tmp4)) {
case 0: {
modelica_metatype tmpMeta6;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,14,2) == 0) goto tmp3_end;
tmpMeta6 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
_i_types = tmpMeta6;
_txt = tmp4_1;
_a_lhs = tmp4_3;
_a_rhs = tmp4_4;
_txt = omc_Tpl_pushIter(threadData, _txt, _OMC_LIT474);
_txt = omc_CodegenCFunctions_lm__958(threadData, _txt, _i_types, _a_rhs, _a_lhs);
tmpMeta1 = omc_Tpl_popIter(threadData, _txt);
goto tmp3_done;
}
case 1: {
_txt = tmp4_1;
_a_lhs = tmp4_3;
_a_rhs = tmp4_4;
_txt = omc_Tpl_writeText(threadData, _txt, _a_lhs);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT129);
_txt = omc_Tpl_writeText(threadData, _txt, _a_rhs);
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT113);
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta1;
_return: OMC_LABEL_UNUSED
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_lm__958(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 tmpMeta1;
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_rhs;
tmp4_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 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;
tmpMeta1 = _txt;
goto tmp3_done;
}
case 1: {
modelica_metatype tmpMeta6;
modelica_metatype tmpMeta7;
if (listEmpty(tmp4_2)) goto tmp3_end;
tmpMeta6 = MMC_CAR(tmp4_2);
tmpMeta7 = MMC_CDR(tmp4_2);
_rest = tmpMeta7;
_txt = tmp4_1;
_a_rhs = tmp4_3;
_a_lhs = tmp4_4;
_x_i1 = omc_Tpl_getIteri__i0(threadData, _txt);
_txt = omc_Tpl_writeText(threadData, _txt, _a_lhs);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1020);
_txt = omc_Tpl_writeStr(threadData, _txt, intString(_x_i1));
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT129);
_txt = omc_Tpl_writeText(threadData, _txt, _a_rhs);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1020);
_txt = omc_Tpl_writeStr(threadData, _txt, intString(_x_i1));
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT113);
_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 tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta1;
_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[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_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: {
modelica_metatype tmpMeta6;
modelica_metatype tmpMeta7;
modelica_metatype tmpMeta8;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,12,3) == 0) goto tmp3_end;
tmpMeta6 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
tmpMeta7 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 3));
tmpMeta8 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 4));
_i_exp = tmp4_2;
_i_expCond = tmpMeta6;
_i_expThen = tmpMeta7;
_i_expElse = tmpMeta8;
_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__952(threadData, _OMC_LIT20, _l_preExpThen, _i_exp, _l_preExpElse);
_txt = omc_CodegenCFunctions_fun__955(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__955(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[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;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: {
modelica_metatype tmpMeta6;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,0,2) == 0) goto tmp3_end;
tmpMeta6 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
if (!listEmpty(tmpMeta6)) 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_LIT80, _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_LIT1022);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _a_condExp);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT1025);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _l_condVar);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT439);
_a_preExp = omc_Tpl_pushBlock(threadData, _a_preExp, _OMC_LIT105);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _a_preExpThen);
_a_preExp = omc_Tpl_softNewLine(threadData, _a_preExp);
_a_preExp = omc_CodegenCFunctions_fun__953(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_LIT443);
_a_preExp = omc_Tpl_pushBlock(threadData, _a_preExp, _OMC_LIT105);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _a_preExpElse);
_a_preExp = omc_Tpl_softNewLine(threadData, _a_preExp);
_a_preExp = omc_CodegenCFunctions_fun__954(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_LIT111);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT98);
_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_LIT30);
_txt = omc_Tpl_writeText(threadData, _txt, _a_condExp);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1027);
_txt = omc_Tpl_writeText(threadData, _txt, _a_eThen);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1029);
_txt = omc_Tpl_writeText(threadData, _txt, _a_eElse);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT87);
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__954(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[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_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: {
modelica_metatype tmpMeta6;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,0,2) == 0) goto tmp3_end;
tmpMeta6 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
if (!listEmpty(tmpMeta6)) 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__953(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[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_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: {
modelica_metatype tmpMeta6;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,0,2) == 0) goto tmp3_end;
tmpMeta6 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
if (!listEmpty(tmpMeta6)) 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__952(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 tmpMeta1;
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_preExpThen;
tmp4_3 = _in_a_exp;
tmp4_4 = _in_a_preExpElse;
{
modelica_metatype _txt = NULL;
modelica_metatype _a_exp = NULL;
modelica_metatype _a_preExpElse = NULL;
volatile mmc_switch_type tmp4;
int tmp5;
tmp4 = 0;
for (; tmp4 < 2; tmp4++) {
switch (MMC_SWITCH_CAST(tmp4)) {
case 0: {
modelica_metatype tmpMeta6;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,0,2) == 0) goto tmp3_end;
tmpMeta6 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
if (!listEmpty(tmpMeta6)) goto tmp3_end;
_txt = tmp4_1;
_a_exp = tmp4_3;
_a_preExpElse = tmp4_4;
tmpMeta1 = omc_CodegenCFunctions_fun__951(threadData, _txt, _a_preExpElse, _a_exp);
goto tmp3_done;
}
case 1: {
_txt = tmp4_1;
tmpMeta1 = _txt;
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta1;
_return: OMC_LABEL_UNUSED
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__951(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_preExpElse, modelica_metatype _in_a_exp)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta1;
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_preExpElse;
tmp4_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 tmp4;
int tmp5;
tmp4 = 0;
for (; tmp4 < 2; tmp4++) {
switch (MMC_SWITCH_CAST(tmp4)) {
case 0: {
modelica_metatype tmpMeta6;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,0,2) == 0) goto tmp3_end;
tmpMeta6 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
if (!listEmpty(tmpMeta6)) goto tmp3_end;
_txt = tmp4_1;
_a_exp = tmp4_3;
_ret_0 = omc_Expression_typeof(threadData, _a_exp);
_ret_1 = omc_Expression_isArrayType(threadData, _ret_0);
tmpMeta1 = omc_CodegenCFunctions_fun__950(threadData, _txt, _ret_1, _a_exp);
goto tmp3_done;
}
case 1: {
_txt = tmp4_1;
tmpMeta1 = _txt;
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta1;
_return: OMC_LABEL_UNUSED
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_exp)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta1;
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_exp;
{
modelica_metatype _txt = NULL;
modelica_metatype _a_exp = NULL;
modelica_boolean _ret_1;
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_exp = tmp4_3;
_ret_0 = omc_Expression_typeof(threadData, _a_exp);
_ret_1 = omc_Expression_isRecordType(threadData, _ret_0);
tmpMeta1 = omc_CodegenCFunctions_fun__949(threadData, _txt, _ret_1);
goto tmp3_done;
}
case 1: {
_txt = tmp4_1;
tmpMeta1 = _txt;
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta1;
_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_exp)
{
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_exp);
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 _out_txt = NULL;
modelica_metatype tmpMeta1;
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_boolean tmp4_2;
tmp4_1 = _in_txt;
tmp4_2 = _in_mArg;
{
modelica_metatype _txt = 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;
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1031);
goto tmp3_done;
}
case 1: {
_txt = tmp4_1;
tmpMeta1 = _txt;
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta1;
_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_integer tmp1;
modelica_metatype _out_txt = NULL;
tmp1 = mmc_unbox_integer(_in_mArg);
_out_txt = omc_CodegenCFunctions_fun__949(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[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_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_metatype tmpMeta6;
modelica_metatype tmpMeta7;
modelica_metatype tmpMeta8;
modelica_metatype tmpMeta9;
modelica_integer tmp10;
modelica_metatype tmpMeta11;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,11,5) == 0) goto tmp3_end;
tmpMeta6 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
tmpMeta7 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 3));
tmpMeta8 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 4));
tmpMeta9 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 5));
tmp10 = mmc_unbox_integer(tmpMeta9);
tmpMeta11 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 6));
_i_rel_exp1 = tmpMeta6;
_i_rel_operator = tmpMeta7;
_i_rel_exp2 = tmpMeta8;
_i_rel_index = tmp10;
_i_rel_optionExpisASUB = tmpMeta11;
_txt = tmp4_1;
_a_context = tmp4_3;
_a_preExp = tmp4_4;
_a_varDecls = tmp4_5;
_a_auxFunction = tmp4_6;
_txt = omc_CodegenCFunctions_fun__947(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__947(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_LIT1032, _a_varDecls ,&_a_varDecls);
omc_CodegenCFunctions_fun__862(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__864(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__885(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__906(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__927(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__946(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__947(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__947(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__946(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[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_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_LIT80, _a_varDecls ,&_a_varDecls);
_ret_3 = (_a_rel_index == ((modelica_integer) -1));
_txt = omc_CodegenCFunctions_fun__936(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: {
modelica_metatype tmpMeta6;
if (optionNone(tmp4_2)) goto tmp3_end;
tmpMeta6 = 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_LIT80, _a_varDecls ,&_a_varDecls);
_ret_4 = (_a_rel_index == ((modelica_integer) -1));
_txt = omc_CodegenCFunctions_fun__945(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__946(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__946(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__945(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__938(threadData, _OMC_LIT20, _ret_2, _a_rel_exp2);
tmpMeta[0+0] = omc_CodegenCFunctions_fun__943(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__944(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__945(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__945(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__944(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_LIT1034);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _a_e1);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT234);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _a_e2);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT299);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT98);
_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_LIT1036);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _a_e1);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT234);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _a_e2);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT299);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT98);
_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_LIT1038);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _a_e1);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT234);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _a_e2);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT299);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT98);
_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_LIT1040);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _a_e1);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT234);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _a_e2);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT299);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT98);
_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__943(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__939(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_LIT129);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _l_hysteresisfunction);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT113);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT98);
_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__940(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_LIT129);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _l_hysteresisfunction);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT113);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT98);
_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__941(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_LIT129);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _l_hysteresisfunction);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT113);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT98);
_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__942(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_LIT129);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _l_hysteresisfunction);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT113);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT98);
_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__943(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__943(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__942(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 tmpMeta1;
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;
tmp4_1 = _in_txt;
tmp4_2 = _in_a_isReal;
tmp4_3 = _in_a_rel_index;
tmp4_4 = _in_a_e2;
tmp4_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 tmp4;
int tmp5;
tmp4 = 0;
for (; tmp4 < 2; tmp4++) {
switch (MMC_SWITCH_CAST(tmp4)) {
case 0: {
modelica_metatype tmpMeta6;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,0,2) == 0) goto tmp3_end;
tmpMeta6 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
if (!listEmpty(tmpMeta6)) goto tmp3_end;
_txt = tmp4_1;
_a_e2 = tmp4_4;
_a_e1 = tmp4_5;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1042);
_txt = omc_Tpl_writeText(threadData, _txt, _a_e1);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT234);
_txt = omc_Tpl_writeText(threadData, _txt, _a_e2);
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT87);
goto tmp3_done;
}
case 1: {
_txt = tmp4_1;
_a_rel_index = tmp4_3;
_a_e2 = tmp4_4;
_a_e1 = tmp4_5;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1044);
_txt = omc_Tpl_writeText(threadData, _txt, _a_e1);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT301);
_txt = omc_Tpl_writeText(threadData, _txt, _a_e2);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1046);
_txt = omc_Tpl_writeStr(threadData, _txt, intString(_a_rel_index));
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT55);
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta1;
_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_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__942(threadData, _in_txt, _in_a_isReal, tmp1, _in_a_e2, _in_a_e1);
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__941(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 tmpMeta1;
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;
tmp4_1 = _in_txt;
tmp4_2 = _in_a_isReal;
tmp4_3 = _in_a_rel_index;
tmp4_4 = _in_a_e2;
tmp4_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 tmp4;
int tmp5;
tmp4 = 0;
for (; tmp4 < 2; tmp4++) {
switch (MMC_SWITCH_CAST(tmp4)) {
case 0: {
modelica_metatype tmpMeta6;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,0,2) == 0) goto tmp3_end;
tmpMeta6 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
if (!listEmpty(tmpMeta6)) goto tmp3_end;
_txt = tmp4_1;
_a_e2 = tmp4_4;
_a_e1 = tmp4_5;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1048);
_txt = omc_Tpl_writeText(threadData, _txt, _a_e1);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT234);
_txt = omc_Tpl_writeText(threadData, _txt, _a_e2);
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT87);
goto tmp3_done;
}
case 1: {
_txt = tmp4_1;
_a_rel_index = tmp4_3;
_a_e2 = tmp4_4;
_a_e1 = tmp4_5;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1050);
_txt = omc_Tpl_writeText(threadData, _txt, _a_e1);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT301);
_txt = omc_Tpl_writeText(threadData, _txt, _a_e2);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1046);
_txt = omc_Tpl_writeStr(threadData, _txt, intString(_a_rel_index));
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT55);
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta1;
_return: OMC_LABEL_UNUSED
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__941(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__941(threadData, _in_txt, _in_a_isReal, tmp1, _in_a_e2, _in_a_e1);
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__940(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 tmpMeta1;
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;
tmp4_1 = _in_txt;
tmp4_2 = _in_a_isReal;
tmp4_3 = _in_a_rel_index;
tmp4_4 = _in_a_e2;
tmp4_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 tmp4;
int tmp5;
tmp4 = 0;
for (; tmp4 < 2; tmp4++) {
switch (MMC_SWITCH_CAST(tmp4)) {
case 0: {
modelica_metatype tmpMeta6;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,0,2) == 0) goto tmp3_end;
tmpMeta6 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
if (!listEmpty(tmpMeta6)) goto tmp3_end;
_txt = tmp4_1;
_a_e2 = tmp4_4;
_a_e1 = tmp4_5;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1052);
_txt = omc_Tpl_writeText(threadData, _txt, _a_e1);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT234);
_txt = omc_Tpl_writeText(threadData, _txt, _a_e2);
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT87);
goto tmp3_done;
}
case 1: {
_txt = tmp4_1;
_a_rel_index = tmp4_3;
_a_e2 = tmp4_4;
_a_e1 = tmp4_5;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1054);
_txt = omc_Tpl_writeText(threadData, _txt, _a_e1);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT301);
_txt = omc_Tpl_writeText(threadData, _txt, _a_e2);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1046);
_txt = omc_Tpl_writeStr(threadData, _txt, intString(_a_rel_index));
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT55);
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta1;
_return: OMC_LABEL_UNUSED
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__940(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__940(threadData, _in_txt, _in_a_isReal, tmp1, _in_a_e2, _in_a_e1);
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__939(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 tmpMeta1;
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;
tmp4_1 = _in_txt;
tmp4_2 = _in_a_isReal;
tmp4_3 = _in_a_rel_index;
tmp4_4 = _in_a_e2;
tmp4_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 tmp4;
int tmp5;
tmp4 = 0;
for (; tmp4 < 2; tmp4++) {
switch (MMC_SWITCH_CAST(tmp4)) {
case 0: {
modelica_metatype tmpMeta6;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,0,2) == 0) goto tmp3_end;
tmpMeta6 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
if (!listEmpty(tmpMeta6)) goto tmp3_end;
_txt = tmp4_1;
_a_e2 = tmp4_4;
_a_e1 = tmp4_5;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1056);
_txt = omc_Tpl_writeText(threadData, _txt, _a_e1);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT234);
_txt = omc_Tpl_writeText(threadData, _txt, _a_e2);
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT87);
goto tmp3_done;
}
case 1: {
_txt = tmp4_1;
_a_rel_index = tmp4_3;
_a_e2 = tmp4_4;
_a_e1 = tmp4_5;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1058);
_txt = omc_Tpl_writeText(threadData, _txt, _a_e1);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT301);
_txt = omc_Tpl_writeText(threadData, _txt, _a_e2);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1046);
_txt = omc_Tpl_writeStr(threadData, _txt, intString(_a_rel_index));
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT55);
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta1;
_return: OMC_LABEL_UNUSED
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__939(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__939(threadData, _in_txt, _in_a_isReal, tmp1, _in_a_e2, _in_a_e1);
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__938(threadData_t *threadData, modelica_metatype _in_txt, modelica_boolean _in_mArg, modelica_metatype _in_a_rel_exp2)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta1;
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_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 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;
tmpMeta1 = _txt;
goto tmp3_done;
}
case 1: {
_txt = tmp4_1;
_a_rel_exp2 = tmp4_3;
_ret_0 = omc_Expression_typeof(threadData, _a_rel_exp2);
_ret_1 = omc_Expression_isRealType(threadData, _ret_0);
tmpMeta1 = omc_CodegenCFunctions_fun__937(threadData, _txt, _ret_1);
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta1;
_return: OMC_LABEL_UNUSED
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__938(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__938(threadData, _in_txt, tmp1, _in_a_rel_exp2);
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__937(threadData_t *threadData, modelica_metatype _in_txt, modelica_boolean _in_mArg)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta1;
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_boolean tmp4_2;
tmp4_1 = _in_txt;
tmp4_2 = _in_mArg;
{
modelica_metatype _txt = 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;
tmpMeta1 = _txt;
goto tmp3_done;
}
case 1: {
_txt = tmp4_1;
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1060);
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta1;
_return: OMC_LABEL_UNUSED
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__937(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__937(threadData, _in_txt, tmp1);
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__936(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__929(threadData, _OMC_LIT20, _ret_2, _a_rel_exp2);
tmpMeta[0+0] = omc_CodegenCFunctions_fun__934(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__935(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__936(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__936(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__935(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_LIT1034);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _a_e1);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT234);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _a_e2);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT299);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT98);
_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_LIT1036);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _a_e1);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT234);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _a_e2);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT299);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT98);
_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_LIT1038);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _a_e1);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT234);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _a_e2);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT299);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT98);
_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_LIT1040);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _a_e1);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT234);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _a_e2);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT299);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT98);
_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__934(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__930(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_LIT129);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _l_hysteresisfunction);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT113);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT98);
_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__931(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_LIT129);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _l_hysteresisfunction);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT113);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT98);
_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__932(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_LIT129);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _l_hysteresisfunction);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT113);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT98);
_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__933(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_LIT129);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _l_hysteresisfunction);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT113);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT98);
_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__934(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__934(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__933(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 tmpMeta1;
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;
tmp4_1 = _in_txt;
tmp4_2 = _in_a_isReal;
tmp4_3 = _in_a_rel_index;
tmp4_4 = _in_a_e2;
tmp4_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 tmp4;
int tmp5;
tmp4 = 0;
for (; tmp4 < 2; tmp4++) {
switch (MMC_SWITCH_CAST(tmp4)) {
case 0: {
modelica_metatype tmpMeta6;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,0,2) == 0) goto tmp3_end;
tmpMeta6 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
if (!listEmpty(tmpMeta6)) goto tmp3_end;
_txt = tmp4_1;
_a_e2 = tmp4_4;
_a_e1 = tmp4_5;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1042);
_txt = omc_Tpl_writeText(threadData, _txt, _a_e1);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT234);
_txt = omc_Tpl_writeText(threadData, _txt, _a_e2);
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT87);
goto tmp3_done;
}
case 1: {
_txt = tmp4_1;
_a_rel_index = tmp4_3;
_a_e2 = tmp4_4;
_a_e1 = tmp4_5;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1044);
_txt = omc_Tpl_writeText(threadData, _txt, _a_e1);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT301);
_txt = omc_Tpl_writeText(threadData, _txt, _a_e2);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1046);
_txt = omc_Tpl_writeStr(threadData, _txt, intString(_a_rel_index));
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT55);
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta1;
_return: OMC_LABEL_UNUSED
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__933(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__933(threadData, _in_txt, _in_a_isReal, tmp1, _in_a_e2, _in_a_e1);
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__932(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 tmpMeta1;
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;
tmp4_1 = _in_txt;
tmp4_2 = _in_a_isReal;
tmp4_3 = _in_a_rel_index;
tmp4_4 = _in_a_e2;
tmp4_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 tmp4;
int tmp5;
tmp4 = 0;
for (; tmp4 < 2; tmp4++) {
switch (MMC_SWITCH_CAST(tmp4)) {
case 0: {
modelica_metatype tmpMeta6;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,0,2) == 0) goto tmp3_end;
tmpMeta6 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
if (!listEmpty(tmpMeta6)) goto tmp3_end;
_txt = tmp4_1;
_a_e2 = tmp4_4;
_a_e1 = tmp4_5;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1048);
_txt = omc_Tpl_writeText(threadData, _txt, _a_e1);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT234);
_txt = omc_Tpl_writeText(threadData, _txt, _a_e2);
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT87);
goto tmp3_done;
}
case 1: {
_txt = tmp4_1;
_a_rel_index = tmp4_3;
_a_e2 = tmp4_4;
_a_e1 = tmp4_5;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1050);
_txt = omc_Tpl_writeText(threadData, _txt, _a_e1);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT301);
_txt = omc_Tpl_writeText(threadData, _txt, _a_e2);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1046);
_txt = omc_Tpl_writeStr(threadData, _txt, intString(_a_rel_index));
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT55);
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta1;
_return: OMC_LABEL_UNUSED
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__932(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__932(threadData, _in_txt, _in_a_isReal, tmp1, _in_a_e2, _in_a_e1);
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__931(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 tmpMeta1;
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;
tmp4_1 = _in_txt;
tmp4_2 = _in_a_isReal;
tmp4_3 = _in_a_rel_index;
tmp4_4 = _in_a_e2;
tmp4_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 tmp4;
int tmp5;
tmp4 = 0;
for (; tmp4 < 2; tmp4++) {
switch (MMC_SWITCH_CAST(tmp4)) {
case 0: {
modelica_metatype tmpMeta6;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,0,2) == 0) goto tmp3_end;
tmpMeta6 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
if (!listEmpty(tmpMeta6)) goto tmp3_end;
_txt = tmp4_1;
_a_e2 = tmp4_4;
_a_e1 = tmp4_5;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1052);
_txt = omc_Tpl_writeText(threadData, _txt, _a_e1);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT234);
_txt = omc_Tpl_writeText(threadData, _txt, _a_e2);
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT87);
goto tmp3_done;
}
case 1: {
_txt = tmp4_1;
_a_rel_index = tmp4_3;
_a_e2 = tmp4_4;
_a_e1 = tmp4_5;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1054);
_txt = omc_Tpl_writeText(threadData, _txt, _a_e1);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT301);
_txt = omc_Tpl_writeText(threadData, _txt, _a_e2);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1046);
_txt = omc_Tpl_writeStr(threadData, _txt, intString(_a_rel_index));
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT55);
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta1;
_return: OMC_LABEL_UNUSED
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__931(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__931(threadData, _in_txt, _in_a_isReal, tmp1, _in_a_e2, _in_a_e1);
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__930(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 tmpMeta1;
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;
tmp4_1 = _in_txt;
tmp4_2 = _in_a_isReal;
tmp4_3 = _in_a_rel_index;
tmp4_4 = _in_a_e2;
tmp4_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 tmp4;
int tmp5;
tmp4 = 0;
for (; tmp4 < 2; tmp4++) {
switch (MMC_SWITCH_CAST(tmp4)) {
case 0: {
modelica_metatype tmpMeta6;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,0,2) == 0) goto tmp3_end;
tmpMeta6 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
if (!listEmpty(tmpMeta6)) goto tmp3_end;
_txt = tmp4_1;
_a_e2 = tmp4_4;
_a_e1 = tmp4_5;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1056);
_txt = omc_Tpl_writeText(threadData, _txt, _a_e1);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT234);
_txt = omc_Tpl_writeText(threadData, _txt, _a_e2);
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT87);
goto tmp3_done;
}
case 1: {
_txt = tmp4_1;
_a_rel_index = tmp4_3;
_a_e2 = tmp4_4;
_a_e1 = tmp4_5;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1058);
_txt = omc_Tpl_writeText(threadData, _txt, _a_e1);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT301);
_txt = omc_Tpl_writeText(threadData, _txt, _a_e2);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1046);
_txt = omc_Tpl_writeStr(threadData, _txt, intString(_a_rel_index));
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT55);
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta1;
_return: OMC_LABEL_UNUSED
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__930(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__930(threadData, _in_txt, _in_a_isReal, tmp1, _in_a_e2, _in_a_e1);
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__929(threadData_t *threadData, modelica_metatype _in_txt, modelica_boolean _in_mArg, modelica_metatype _in_a_rel_exp2)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta1;
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_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 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;
tmpMeta1 = _txt;
goto tmp3_done;
}
case 1: {
_txt = tmp4_1;
_a_rel_exp2 = tmp4_3;
_ret_0 = omc_Expression_typeof(threadData, _a_rel_exp2);
_ret_1 = omc_Expression_isRealType(threadData, _ret_0);
tmpMeta1 = omc_CodegenCFunctions_fun__928(threadData, _txt, _ret_1);
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta1;
_return: OMC_LABEL_UNUSED
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__929(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__929(threadData, _in_txt, tmp1, _in_a_rel_exp2);
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__928(threadData_t *threadData, modelica_metatype _in_txt, modelica_boolean _in_mArg)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta1;
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_boolean tmp4_2;
tmp4_1 = _in_txt;
tmp4_2 = _in_mArg;
{
modelica_metatype _txt = 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;
tmpMeta1 = _txt;
goto tmp3_done;
}
case 1: {
_txt = tmp4_1;
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1060);
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta1;
_return: OMC_LABEL_UNUSED
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__928(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__928(threadData, _in_txt, tmp1);
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__927(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[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_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_LIT80, _a_varDecls ,&_a_varDecls);
_ret_3 = (_a_rel_index == ((modelica_integer) -1));
_txt = omc_CodegenCFunctions_fun__916(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_metatype tmpMeta6;
modelica_metatype tmpMeta7;
modelica_metatype tmpMeta8;
modelica_integer tmp9;
modelica_metatype tmpMeta10;
modelica_integer tmp11;
if (optionNone(tmp4_2)) goto tmp3_end;
tmpMeta6 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 1));
tmpMeta7 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta6), 1));
tmpMeta8 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta6), 2));
tmp9 = mmc_unbox_integer(tmpMeta8);
tmpMeta10 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta6), 3));
tmp11 = mmc_unbox_integer(tmpMeta10);
_i_exp = tmpMeta7;
_i_i = tmp9;
_i_j = tmp11;
_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_LIT80, _a_varDecls ,&_a_varDecls);
_ret_5 = (_a_rel_index == ((modelica_integer) -1));
_txt = omc_CodegenCFunctions_fun__926(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__927(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__927(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__926(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__918(threadData, _OMC_LIT20, _ret_2, _a_rel_exp2);
_l_hysteresisfunction = omc_CodegenCFunctions_fun__919(threadData, _OMC_LIT20, _l_isReal);
tmpMeta[0+0] = omc_CodegenCFunctions_fun__924(threadData, _txt, _a_rel_operator, _l_isReal, _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__925(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__926(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__926(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__925(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_LIT1034);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _a_e1);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT234);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _a_e2);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT299);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT98);
_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_LIT1036);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _a_e1);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT234);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _a_e2);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT299);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT98);
_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_LIT1038);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _a_e1);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT234);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _a_e2);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT299);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT98);
_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_LIT1040);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _a_e1);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT234);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _a_e2);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT299);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT98);
_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__924(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_rel_operator, modelica_metatype _in_a_isReal, 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_metatype tmp4_3;modelica_integer tmp4_4;modelica_integer tmp4_5;modelica_metatype tmp4_6;modelica_integer 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_rel_operator;
tmp4_3 = _in_a_isReal;
tmp4_4 = _in_a_j;
tmp4_5 = _in_a_i;
tmp4_6 = _in_a_iterator;
tmp4_7 = _in_a_rel_index;
tmp4_8 = _in_a_e2;
tmp4_9 = _in_a_e1;
tmp4_10 = _in_a_res;
tmp4_11 = _in_a_hysteresisfunction;
tmp4_12 = _in_a_preExp;
{
modelica_metatype _txt = NULL;
modelica_metatype _a_isReal = 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_isReal = tmp4_3;
_a_j = tmp4_4;
_a_i = tmp4_5;
_a_iterator = tmp4_6;
_a_rel_index = tmp4_7;
_a_e2 = tmp4_8;
_a_e1 = tmp4_9;
_a_res = tmp4_10;
_a_hysteresisfunction = tmp4_11;
_a_preExp = tmp4_12;
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _a_hysteresisfunction);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT1062);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _a_res);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT301);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _a_e1);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT301);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _a_e2);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT301);
_a_preExp = omc_Tpl_writeStr(threadData, _a_preExp, intString(_a_rel_index));
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT1064);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _a_iterator);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT665);
_a_preExp = omc_Tpl_writeStr(threadData, _a_preExp, intString(_a_i));
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT400);
_a_preExp = omc_Tpl_writeStr(threadData, _a_preExp, intString(_a_j));
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT1066);
_a_preExp = omc_CodegenCFunctions_fun__920(threadData, _a_preExp, _a_isReal);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT299);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT98);
_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_isReal = tmp4_3;
_a_j = tmp4_4;
_a_i = tmp4_5;
_a_iterator = tmp4_6;
_a_rel_index = tmp4_7;
_a_e2 = tmp4_8;
_a_e1 = tmp4_9;
_a_res = tmp4_10;
_a_hysteresisfunction = tmp4_11;
_a_preExp = tmp4_12;
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _a_hysteresisfunction);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT1062);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _a_res);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT301);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _a_e1);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT301);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _a_e2);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT301);
_a_preExp = omc_Tpl_writeStr(threadData, _a_preExp, intString(_a_rel_index));
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT1064);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _a_iterator);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT665);
_a_preExp = omc_Tpl_writeStr(threadData, _a_preExp, intString(_a_i));
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT400);
_a_preExp = omc_Tpl_writeStr(threadData, _a_preExp, intString(_a_j));
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT1068);
_a_preExp = omc_CodegenCFunctions_fun__921(threadData, _a_preExp, _a_isReal);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT299);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT98);
_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_isReal = tmp4_3;
_a_j = tmp4_4;
_a_i = tmp4_5;
_a_iterator = tmp4_6;
_a_rel_index = tmp4_7;
_a_e2 = tmp4_8;
_a_e1 = tmp4_9;
_a_res = tmp4_10;
_a_hysteresisfunction = tmp4_11;
_a_preExp = tmp4_12;
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _a_hysteresisfunction);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT1062);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _a_res);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT301);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _a_e1);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT301);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _a_e2);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT301);
_a_preExp = omc_Tpl_writeStr(threadData, _a_preExp, intString(_a_rel_index));
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT1064);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _a_iterator);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT665);
_a_preExp = omc_Tpl_writeStr(threadData, _a_preExp, intString(_a_i));
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT400);
_a_preExp = omc_Tpl_writeStr(threadData, _a_preExp, intString(_a_j));
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT1070);
_a_preExp = omc_CodegenCFunctions_fun__922(threadData, _a_preExp, _a_isReal);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT299);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT98);
_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_isReal = tmp4_3;
_a_j = tmp4_4;
_a_i = tmp4_5;
_a_iterator = tmp4_6;
_a_rel_index = tmp4_7;
_a_e2 = tmp4_8;
_a_e1 = tmp4_9;
_a_res = tmp4_10;
_a_hysteresisfunction = tmp4_11;
_a_preExp = tmp4_12;
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _a_hysteresisfunction);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT1062);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _a_res);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT301);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _a_e1);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT301);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _a_e2);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT301);
_a_preExp = omc_Tpl_writeStr(threadData, _a_preExp, intString(_a_rel_index));
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT1064);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _a_iterator);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT665);
_a_preExp = omc_Tpl_writeStr(threadData, _a_preExp, intString(_a_i));
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT400);
_a_preExp = omc_Tpl_writeStr(threadData, _a_preExp, intString(_a_j));
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT1072);
_a_preExp = omc_CodegenCFunctions_fun__923(threadData, _a_preExp, _a_isReal);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT299);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT98);
_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_12;
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__924(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_rel_operator, modelica_metatype _in_a_isReal, 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__924(threadData, _in_txt, _in_a_rel_operator, _in_a_isReal, 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__923(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_isReal)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta1;
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_metatype tmp4_2;
tmp4_1 = _in_txt;
tmp4_2 = _in_a_isReal;
{
modelica_metatype _txt = NULL;
volatile mmc_switch_type tmp4;
int tmp5;
tmp4 = 0;
for (; tmp4 < 2; tmp4++) {
switch (MMC_SWITCH_CAST(tmp4)) {
case 0: {
modelica_metatype tmpMeta6;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,0,2) == 0) goto tmp3_end;
tmpMeta6 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
if (!listEmpty(tmpMeta6)) goto tmp3_end;
_txt = tmp4_1;
tmpMeta1 = _txt;
goto tmp3_done;
}
case 1: {
_txt = tmp4_1;
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1074);
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta1;
_return: OMC_LABEL_UNUSED
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__922(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_isReal)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta1;
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_metatype tmp4_2;
tmp4_1 = _in_txt;
tmp4_2 = _in_a_isReal;
{
modelica_metatype _txt = NULL;
volatile mmc_switch_type tmp4;
int tmp5;
tmp4 = 0;
for (; tmp4 < 2; tmp4++) {
switch (MMC_SWITCH_CAST(tmp4)) {
case 0: {
modelica_metatype tmpMeta6;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,0,2) == 0) goto tmp3_end;
tmpMeta6 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
if (!listEmpty(tmpMeta6)) goto tmp3_end;
_txt = tmp4_1;
tmpMeta1 = _txt;
goto tmp3_done;
}
case 1: {
_txt = tmp4_1;
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1076);
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta1;
_return: OMC_LABEL_UNUSED
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__921(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_isReal)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta1;
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_metatype tmp4_2;
tmp4_1 = _in_txt;
tmp4_2 = _in_a_isReal;
{
modelica_metatype _txt = NULL;
volatile mmc_switch_type tmp4;
int tmp5;
tmp4 = 0;
for (; tmp4 < 2; tmp4++) {
switch (MMC_SWITCH_CAST(tmp4)) {
case 0: {
modelica_metatype tmpMeta6;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,0,2) == 0) goto tmp3_end;
tmpMeta6 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
if (!listEmpty(tmpMeta6)) goto tmp3_end;
_txt = tmp4_1;
tmpMeta1 = _txt;
goto tmp3_done;
}
case 1: {
_txt = tmp4_1;
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1078);
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta1;
_return: OMC_LABEL_UNUSED
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__920(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_isReal)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta1;
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_metatype tmp4_2;
tmp4_1 = _in_txt;
tmp4_2 = _in_a_isReal;
{
modelica_metatype _txt = NULL;
volatile mmc_switch_type tmp4;
int tmp5;
tmp4 = 0;
for (; tmp4 < 2; tmp4++) {
switch (MMC_SWITCH_CAST(tmp4)) {
case 0: {
modelica_metatype tmpMeta6;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,0,2) == 0) goto tmp3_end;
tmpMeta6 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
if (!listEmpty(tmpMeta6)) goto tmp3_end;
_txt = tmp4_1;
tmpMeta1 = _txt;
goto tmp3_done;
}
case 1: {
_txt = tmp4_1;
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1080);
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta1;
_return: OMC_LABEL_UNUSED
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__919(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_isReal)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta1;
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_metatype tmp4_2;
tmp4_1 = _in_txt;
tmp4_2 = _in_a_isReal;
{
modelica_metatype _txt = NULL;
volatile mmc_switch_type tmp4;
int tmp5;
tmp4 = 0;
for (; tmp4 < 2; tmp4++) {
switch (MMC_SWITCH_CAST(tmp4)) {
case 0: {
modelica_metatype tmpMeta6;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,0,2) == 0) goto tmp3_end;
tmpMeta6 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
if (!listEmpty(tmpMeta6)) goto tmp3_end;
_txt = tmp4_1;
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1082);
goto tmp3_done;
}
case 1: {
_txt = tmp4_1;
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1084);
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta1;
_return: OMC_LABEL_UNUSED
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__918(threadData_t *threadData, modelica_metatype _in_txt, modelica_boolean _in_mArg, modelica_metatype _in_a_rel_exp2)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta1;
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_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 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;
tmpMeta1 = _txt;
goto tmp3_done;
}
case 1: {
_txt = tmp4_1;
_a_rel_exp2 = tmp4_3;
_ret_0 = omc_Expression_typeof(threadData, _a_rel_exp2);
_ret_1 = omc_Expression_isRealType(threadData, _ret_0);
tmpMeta1 = omc_CodegenCFunctions_fun__917(threadData, _txt, _ret_1);
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta1;
_return: OMC_LABEL_UNUSED
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__918(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__918(threadData, _in_txt, tmp1, _in_a_rel_exp2);
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 _out_txt = NULL;
modelica_metatype tmpMeta1;
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_boolean tmp4_2;
tmp4_1 = _in_txt;
tmp4_2 = _in_mArg;
{
modelica_metatype _txt = 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;
tmpMeta1 = _txt;
goto tmp3_done;
}
case 1: {
_txt = tmp4_1;
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1060);
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta1;
_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_integer tmp1;
modelica_metatype _out_txt = NULL;
tmp1 = mmc_unbox_integer(_in_mArg);
_out_txt = omc_CodegenCFunctions_fun__917(threadData, _in_txt, tmp1);
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__916(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__908(threadData, _OMC_LIT20, _ret_2, _a_rel_exp2);
_l_hysteresisfunction = omc_CodegenCFunctions_fun__909(threadData, _OMC_LIT20, _l_isReal);
tmpMeta[0+0] = omc_CodegenCFunctions_fun__914(threadData, _txt, _a_rel_operator, _l_isReal, _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__915(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__916(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__916(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__915(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_LIT1034);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _a_e1);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT234);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _a_e2);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT299);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT98);
_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_LIT1036);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _a_e1);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT234);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _a_e2);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT299);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT98);
_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_LIT1038);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _a_e1);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT234);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _a_e2);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT299);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT98);
_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_LIT1040);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _a_e1);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT234);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _a_e2);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT299);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT98);
_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__914(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_rel_operator, modelica_metatype _in_a_isReal, 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_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_a_rel_operator;
tmp4_3 = _in_a_isReal;
tmp4_4 = _in_a_rel_index;
tmp4_5 = _in_a_e2;
tmp4_6 = _in_a_e1;
tmp4_7 = _in_a_res;
tmp4_8 = _in_a_hysteresisfunction;
tmp4_9 = _in_a_preExp;
{
modelica_metatype _txt = NULL;
modelica_metatype _a_isReal = 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_isReal = tmp4_3;
_a_rel_index = tmp4_4;
_a_e2 = tmp4_5;
_a_e1 = tmp4_6;
_a_res = tmp4_7;
_a_hysteresisfunction = tmp4_8;
_a_preExp = tmp4_9;
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _a_hysteresisfunction);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT1062);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _a_res);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT301);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _a_e1);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT301);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _a_e2);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT301);
_a_preExp = omc_Tpl_writeStr(threadData, _a_preExp, intString(_a_rel_index));
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT1066);
_a_preExp = omc_CodegenCFunctions_fun__910(threadData, _a_preExp, _a_isReal);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT299);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT98);
_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_isReal = tmp4_3;
_a_rel_index = tmp4_4;
_a_e2 = tmp4_5;
_a_e1 = tmp4_6;
_a_res = tmp4_7;
_a_hysteresisfunction = tmp4_8;
_a_preExp = tmp4_9;
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _a_hysteresisfunction);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT1062);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _a_res);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT301);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _a_e1);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT301);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _a_e2);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT301);
_a_preExp = omc_Tpl_writeStr(threadData, _a_preExp, intString(_a_rel_index));
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT1068);
_a_preExp = omc_CodegenCFunctions_fun__911(threadData, _a_preExp, _a_isReal);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT299);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT98);
_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_isReal = tmp4_3;
_a_rel_index = tmp4_4;
_a_e2 = tmp4_5;
_a_e1 = tmp4_6;
_a_res = tmp4_7;
_a_hysteresisfunction = tmp4_8;
_a_preExp = tmp4_9;
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _a_hysteresisfunction);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT1062);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _a_res);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT301);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _a_e1);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT301);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _a_e2);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT301);
_a_preExp = omc_Tpl_writeStr(threadData, _a_preExp, intString(_a_rel_index));
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT1070);
_a_preExp = omc_CodegenCFunctions_fun__912(threadData, _a_preExp, _a_isReal);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT299);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT98);
_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_isReal = tmp4_3;
_a_rel_index = tmp4_4;
_a_e2 = tmp4_5;
_a_e1 = tmp4_6;
_a_res = tmp4_7;
_a_hysteresisfunction = tmp4_8;
_a_preExp = tmp4_9;
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _a_hysteresisfunction);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT1062);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _a_res);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT301);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _a_e1);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT301);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _a_e2);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT301);
_a_preExp = omc_Tpl_writeStr(threadData, _a_preExp, intString(_a_rel_index));
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT1072);
_a_preExp = omc_CodegenCFunctions_fun__913(threadData, _a_preExp, _a_isReal);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT299);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT98);
_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_9;
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__914(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_rel_operator, modelica_metatype _in_a_isReal, 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__914(threadData, _in_txt, _in_a_rel_operator, _in_a_isReal, 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__913(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_isReal)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta1;
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_metatype tmp4_2;
tmp4_1 = _in_txt;
tmp4_2 = _in_a_isReal;
{
modelica_metatype _txt = NULL;
volatile mmc_switch_type tmp4;
int tmp5;
tmp4 = 0;
for (; tmp4 < 2; tmp4++) {
switch (MMC_SWITCH_CAST(tmp4)) {
case 0: {
modelica_metatype tmpMeta6;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,0,2) == 0) goto tmp3_end;
tmpMeta6 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
if (!listEmpty(tmpMeta6)) goto tmp3_end;
_txt = tmp4_1;
tmpMeta1 = _txt;
goto tmp3_done;
}
case 1: {
_txt = tmp4_1;
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1074);
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta1;
_return: OMC_LABEL_UNUSED
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__912(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_isReal)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta1;
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_metatype tmp4_2;
tmp4_1 = _in_txt;
tmp4_2 = _in_a_isReal;
{
modelica_metatype _txt = NULL;
volatile mmc_switch_type tmp4;
int tmp5;
tmp4 = 0;
for (; tmp4 < 2; tmp4++) {
switch (MMC_SWITCH_CAST(tmp4)) {
case 0: {
modelica_metatype tmpMeta6;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,0,2) == 0) goto tmp3_end;
tmpMeta6 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
if (!listEmpty(tmpMeta6)) goto tmp3_end;
_txt = tmp4_1;
tmpMeta1 = _txt;
goto tmp3_done;
}
case 1: {
_txt = tmp4_1;
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1076);
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta1;
_return: OMC_LABEL_UNUSED
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__911(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_isReal)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta1;
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_metatype tmp4_2;
tmp4_1 = _in_txt;
tmp4_2 = _in_a_isReal;
{
modelica_metatype _txt = NULL;
volatile mmc_switch_type tmp4;
int tmp5;
tmp4 = 0;
for (; tmp4 < 2; tmp4++) {
switch (MMC_SWITCH_CAST(tmp4)) {
case 0: {
modelica_metatype tmpMeta6;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,0,2) == 0) goto tmp3_end;
tmpMeta6 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
if (!listEmpty(tmpMeta6)) goto tmp3_end;
_txt = tmp4_1;
tmpMeta1 = _txt;
goto tmp3_done;
}
case 1: {
_txt = tmp4_1;
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1078);
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta1;
_return: OMC_LABEL_UNUSED
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__910(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_isReal)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta1;
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_metatype tmp4_2;
tmp4_1 = _in_txt;
tmp4_2 = _in_a_isReal;
{
modelica_metatype _txt = NULL;
volatile mmc_switch_type tmp4;
int tmp5;
tmp4 = 0;
for (; tmp4 < 2; tmp4++) {
switch (MMC_SWITCH_CAST(tmp4)) {
case 0: {
modelica_metatype tmpMeta6;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,0,2) == 0) goto tmp3_end;
tmpMeta6 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
if (!listEmpty(tmpMeta6)) goto tmp3_end;
_txt = tmp4_1;
tmpMeta1 = _txt;
goto tmp3_done;
}
case 1: {
_txt = tmp4_1;
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1080);
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta1;
_return: OMC_LABEL_UNUSED
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_metatype _out_txt = NULL;
modelica_metatype tmpMeta1;
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_metatype tmp4_2;
tmp4_1 = _in_txt;
tmp4_2 = _in_a_isReal;
{
modelica_metatype _txt = NULL;
volatile mmc_switch_type tmp4;
int tmp5;
tmp4 = 0;
for (; tmp4 < 2; tmp4++) {
switch (MMC_SWITCH_CAST(tmp4)) {
case 0: {
modelica_metatype tmpMeta6;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,0,2) == 0) goto tmp3_end;
tmpMeta6 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
if (!listEmpty(tmpMeta6)) goto tmp3_end;
_txt = tmp4_1;
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1082);
goto tmp3_done;
}
case 1: {
_txt = tmp4_1;
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1084);
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta1;
_return: OMC_LABEL_UNUSED
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__908(threadData_t *threadData, modelica_metatype _in_txt, modelica_boolean _in_mArg, modelica_metatype _in_a_rel_exp2)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta1;
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_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 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;
tmpMeta1 = _txt;
goto tmp3_done;
}
case 1: {
_txt = tmp4_1;
_a_rel_exp2 = tmp4_3;
_ret_0 = omc_Expression_typeof(threadData, _a_rel_exp2);
_ret_1 = omc_Expression_isRealType(threadData, _ret_0);
tmpMeta1 = omc_CodegenCFunctions_fun__907(threadData, _txt, _ret_1);
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta1;
_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_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__908(threadData, _in_txt, tmp1, _in_a_rel_exp2);
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__907(threadData_t *threadData, modelica_metatype _in_txt, modelica_boolean _in_mArg)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta1;
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_boolean tmp4_2;
tmp4_1 = _in_txt;
tmp4_2 = _in_mArg;
{
modelica_metatype _txt = 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;
tmpMeta1 = _txt;
goto tmp3_done;
}
case 1: {
_txt = tmp4_1;
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1060);
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta1;
_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_mArg)
{
modelica_integer tmp1;
modelica_metatype _out_txt = NULL;
tmp1 = mmc_unbox_integer(_in_mArg);
_out_txt = omc_CodegenCFunctions_fun__907(threadData, _in_txt, tmp1);
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__906(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[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_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_LIT80, _a_varDecls ,&_a_varDecls);
_ret_3 = (_a_rel_index == ((modelica_integer) -1));
_txt = omc_CodegenCFunctions_fun__895(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_metatype tmpMeta6;
modelica_metatype tmpMeta7;
modelica_metatype tmpMeta8;
modelica_integer tmp9;
modelica_metatype tmpMeta10;
modelica_integer tmp11;
if (optionNone(tmp4_2)) goto tmp3_end;
tmpMeta6 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 1));
tmpMeta7 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta6), 1));
tmpMeta8 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta6), 2));
tmp9 = mmc_unbox_integer(tmpMeta8);
tmpMeta10 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta6), 3));
tmp11 = mmc_unbox_integer(tmpMeta10);
_i_exp = tmpMeta7;
_i_i = tmp9;
_i_j = tmp11;
_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_LIT80, _a_varDecls ,&_a_varDecls);
_ret_5 = (_a_rel_index == ((modelica_integer) -1));
_txt = omc_CodegenCFunctions_fun__905(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__906(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__906(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__905(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__897(threadData, _OMC_LIT20, _ret_2, _a_rel_exp2);
_l_hysteresisfunction = omc_CodegenCFunctions_fun__898(threadData, _OMC_LIT20, _l_isReal);
tmpMeta[0+0] = omc_CodegenCFunctions_fun__903(threadData, _txt, _a_rel_operator, _l_isReal, _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__904(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__905(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__905(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__904(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_LIT1034);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _a_e1);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT234);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _a_e2);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT299);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT98);
_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_LIT1036);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _a_e1);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT234);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _a_e2);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT299);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT98);
_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_LIT1038);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _a_e1);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT234);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _a_e2);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT299);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT98);
_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_LIT1040);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _a_e1);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT234);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _a_e2);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT299);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT98);
_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__903(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_rel_operator, modelica_metatype _in_a_isReal, 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_metatype tmp4_3;modelica_integer tmp4_4;modelica_integer tmp4_5;modelica_metatype tmp4_6;modelica_integer 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_rel_operator;
tmp4_3 = _in_a_isReal;
tmp4_4 = _in_a_j;
tmp4_5 = _in_a_i;
tmp4_6 = _in_a_iterator;
tmp4_7 = _in_a_rel_index;
tmp4_8 = _in_a_e2;
tmp4_9 = _in_a_e1;
tmp4_10 = _in_a_res;
tmp4_11 = _in_a_hysteresisfunction;
tmp4_12 = _in_a_preExp;
{
modelica_metatype _txt = NULL;
modelica_metatype _a_isReal = 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_isReal = tmp4_3;
_a_j = tmp4_4;
_a_i = tmp4_5;
_a_iterator = tmp4_6;
_a_rel_index = tmp4_7;
_a_e2 = tmp4_8;
_a_e1 = tmp4_9;
_a_res = tmp4_10;
_a_hysteresisfunction = tmp4_11;
_a_preExp = tmp4_12;
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _a_hysteresisfunction);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT1062);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _a_res);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT301);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _a_e1);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT301);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _a_e2);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT301);
_a_preExp = omc_Tpl_writeStr(threadData, _a_preExp, intString(_a_rel_index));
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT1064);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _a_iterator);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT665);
_a_preExp = omc_Tpl_writeStr(threadData, _a_preExp, intString(_a_i));
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT400);
_a_preExp = omc_Tpl_writeStr(threadData, _a_preExp, intString(_a_j));
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT1066);
_a_preExp = omc_CodegenCFunctions_fun__899(threadData, _a_preExp, _a_isReal);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT299);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT98);
_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_isReal = tmp4_3;
_a_j = tmp4_4;
_a_i = tmp4_5;
_a_iterator = tmp4_6;
_a_rel_index = tmp4_7;
_a_e2 = tmp4_8;
_a_e1 = tmp4_9;
_a_res = tmp4_10;
_a_hysteresisfunction = tmp4_11;
_a_preExp = tmp4_12;
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _a_hysteresisfunction);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT1062);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _a_res);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT301);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _a_e1);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT301);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _a_e2);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT301);
_a_preExp = omc_Tpl_writeStr(threadData, _a_preExp, intString(_a_rel_index));
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT1064);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _a_iterator);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT665);
_a_preExp = omc_Tpl_writeStr(threadData, _a_preExp, intString(_a_i));
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT400);
_a_preExp = omc_Tpl_writeStr(threadData, _a_preExp, intString(_a_j));
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT1068);
_a_preExp = omc_CodegenCFunctions_fun__900(threadData, _a_preExp, _a_isReal);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT299);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT98);
_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_isReal = tmp4_3;
_a_j = tmp4_4;
_a_i = tmp4_5;
_a_iterator = tmp4_6;
_a_rel_index = tmp4_7;
_a_e2 = tmp4_8;
_a_e1 = tmp4_9;
_a_res = tmp4_10;
_a_hysteresisfunction = tmp4_11;
_a_preExp = tmp4_12;
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _a_hysteresisfunction);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT1062);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _a_res);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT301);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _a_e1);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT301);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _a_e2);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT301);
_a_preExp = omc_Tpl_writeStr(threadData, _a_preExp, intString(_a_rel_index));
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT1064);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _a_iterator);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT665);
_a_preExp = omc_Tpl_writeStr(threadData, _a_preExp, intString(_a_i));
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT400);
_a_preExp = omc_Tpl_writeStr(threadData, _a_preExp, intString(_a_j));
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT1070);
_a_preExp = omc_CodegenCFunctions_fun__901(threadData, _a_preExp, _a_isReal);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT299);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT98);
_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_isReal = tmp4_3;
_a_j = tmp4_4;
_a_i = tmp4_5;
_a_iterator = tmp4_6;
_a_rel_index = tmp4_7;
_a_e2 = tmp4_8;
_a_e1 = tmp4_9;
_a_res = tmp4_10;
_a_hysteresisfunction = tmp4_11;
_a_preExp = tmp4_12;
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _a_hysteresisfunction);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT1062);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _a_res);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT301);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _a_e1);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT301);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _a_e2);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT301);
_a_preExp = omc_Tpl_writeStr(threadData, _a_preExp, intString(_a_rel_index));
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT1064);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _a_iterator);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT665);
_a_preExp = omc_Tpl_writeStr(threadData, _a_preExp, intString(_a_i));
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT400);
_a_preExp = omc_Tpl_writeStr(threadData, _a_preExp, intString(_a_j));
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT1072);
_a_preExp = omc_CodegenCFunctions_fun__902(threadData, _a_preExp, _a_isReal);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT299);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT98);
_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_12;
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__903(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_rel_operator, modelica_metatype _in_a_isReal, 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__903(threadData, _in_txt, _in_a_rel_operator, _in_a_isReal, 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__902(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_isReal)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta1;
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_metatype tmp4_2;
tmp4_1 = _in_txt;
tmp4_2 = _in_a_isReal;
{
modelica_metatype _txt = NULL;
volatile mmc_switch_type tmp4;
int tmp5;
tmp4 = 0;
for (; tmp4 < 2; tmp4++) {
switch (MMC_SWITCH_CAST(tmp4)) {
case 0: {
modelica_metatype tmpMeta6;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,0,2) == 0) goto tmp3_end;
tmpMeta6 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
if (!listEmpty(tmpMeta6)) goto tmp3_end;
_txt = tmp4_1;
tmpMeta1 = _txt;
goto tmp3_done;
}
case 1: {
_txt = tmp4_1;
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1074);
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta1;
_return: OMC_LABEL_UNUSED
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__901(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_isReal)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta1;
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_metatype tmp4_2;
tmp4_1 = _in_txt;
tmp4_2 = _in_a_isReal;
{
modelica_metatype _txt = NULL;
volatile mmc_switch_type tmp4;
int tmp5;
tmp4 = 0;
for (; tmp4 < 2; tmp4++) {
switch (MMC_SWITCH_CAST(tmp4)) {
case 0: {
modelica_metatype tmpMeta6;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,0,2) == 0) goto tmp3_end;
tmpMeta6 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
if (!listEmpty(tmpMeta6)) goto tmp3_end;
_txt = tmp4_1;
tmpMeta1 = _txt;
goto tmp3_done;
}
case 1: {
_txt = tmp4_1;
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1076);
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta1;
_return: OMC_LABEL_UNUSED
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_metatype _out_txt = NULL;
modelica_metatype tmpMeta1;
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_metatype tmp4_2;
tmp4_1 = _in_txt;
tmp4_2 = _in_a_isReal;
{
modelica_metatype _txt = NULL;
volatile mmc_switch_type tmp4;
int tmp5;
tmp4 = 0;
for (; tmp4 < 2; tmp4++) {
switch (MMC_SWITCH_CAST(tmp4)) {
case 0: {
modelica_metatype tmpMeta6;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,0,2) == 0) goto tmp3_end;
tmpMeta6 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
if (!listEmpty(tmpMeta6)) goto tmp3_end;
_txt = tmp4_1;
tmpMeta1 = _txt;
goto tmp3_done;
}
case 1: {
_txt = tmp4_1;
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1078);
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta1;
_return: OMC_LABEL_UNUSED
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_metatype _out_txt = NULL;
modelica_metatype tmpMeta1;
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_metatype tmp4_2;
tmp4_1 = _in_txt;
tmp4_2 = _in_a_isReal;
{
modelica_metatype _txt = NULL;
volatile mmc_switch_type tmp4;
int tmp5;
tmp4 = 0;
for (; tmp4 < 2; tmp4++) {
switch (MMC_SWITCH_CAST(tmp4)) {
case 0: {
modelica_metatype tmpMeta6;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,0,2) == 0) goto tmp3_end;
tmpMeta6 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
if (!listEmpty(tmpMeta6)) goto tmp3_end;
_txt = tmp4_1;
tmpMeta1 = _txt;
goto tmp3_done;
}
case 1: {
_txt = tmp4_1;
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1080);
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta1;
_return: OMC_LABEL_UNUSED
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_metatype _out_txt = NULL;
modelica_metatype tmpMeta1;
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_metatype tmp4_2;
tmp4_1 = _in_txt;
tmp4_2 = _in_a_isReal;
{
modelica_metatype _txt = NULL;
volatile mmc_switch_type tmp4;
int tmp5;
tmp4 = 0;
for (; tmp4 < 2; tmp4++) {
switch (MMC_SWITCH_CAST(tmp4)) {
case 0: {
modelica_metatype tmpMeta6;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,0,2) == 0) goto tmp3_end;
tmpMeta6 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
if (!listEmpty(tmpMeta6)) goto tmp3_end;
_txt = tmp4_1;
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1082);
goto tmp3_done;
}
case 1: {
_txt = tmp4_1;
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1084);
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta1;
_return: OMC_LABEL_UNUSED
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__897(threadData_t *threadData, modelica_metatype _in_txt, modelica_boolean _in_mArg, modelica_metatype _in_a_rel_exp2)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta1;
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_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 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;
tmpMeta1 = _txt;
goto tmp3_done;
}
case 1: {
_txt = tmp4_1;
_a_rel_exp2 = tmp4_3;
_ret_0 = omc_Expression_typeof(threadData, _a_rel_exp2);
_ret_1 = omc_Expression_isRealType(threadData, _ret_0);
tmpMeta1 = omc_CodegenCFunctions_fun__896(threadData, _txt, _ret_1);
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta1;
_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_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__897(threadData, _in_txt, tmp1, _in_a_rel_exp2);
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 _out_txt = NULL;
modelica_metatype tmpMeta1;
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_boolean tmp4_2;
tmp4_1 = _in_txt;
tmp4_2 = _in_mArg;
{
modelica_metatype _txt = 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;
tmpMeta1 = _txt;
goto tmp3_done;
}
case 1: {
_txt = tmp4_1;
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1060);
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta1;
_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_integer tmp1;
modelica_metatype _out_txt = NULL;
tmp1 = mmc_unbox_integer(_in_mArg);
_out_txt = omc_CodegenCFunctions_fun__896(threadData, _in_txt, tmp1);
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__895(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__887(threadData, _OMC_LIT20, _ret_2, _a_rel_exp2);
_l_hysteresisfunction = omc_CodegenCFunctions_fun__888(threadData, _OMC_LIT20, _l_isReal);
tmpMeta[0+0] = omc_CodegenCFunctions_fun__893(threadData, _txt, _a_rel_operator, _l_isReal, _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__894(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__895(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__895(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__894(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_LIT1034);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _a_e1);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT234);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _a_e2);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT299);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT98);
_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_LIT1036);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _a_e1);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT234);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _a_e2);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT299);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT98);
_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_LIT1038);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _a_e1);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT234);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _a_e2);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT299);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT98);
_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_LIT1040);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _a_e1);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT234);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _a_e2);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT299);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT98);
_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__893(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_rel_operator, modelica_metatype _in_a_isReal, 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_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_a_rel_operator;
tmp4_3 = _in_a_isReal;
tmp4_4 = _in_a_rel_index;
tmp4_5 = _in_a_e2;
tmp4_6 = _in_a_e1;
tmp4_7 = _in_a_res;
tmp4_8 = _in_a_hysteresisfunction;
tmp4_9 = _in_a_preExp;
{
modelica_metatype _txt = NULL;
modelica_metatype _a_isReal = 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_isReal = tmp4_3;
_a_rel_index = tmp4_4;
_a_e2 = tmp4_5;
_a_e1 = tmp4_6;
_a_res = tmp4_7;
_a_hysteresisfunction = tmp4_8;
_a_preExp = tmp4_9;
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _a_hysteresisfunction);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT1062);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _a_res);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT301);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _a_e1);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT301);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _a_e2);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT301);
_a_preExp = omc_Tpl_writeStr(threadData, _a_preExp, intString(_a_rel_index));
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT1066);
_a_preExp = omc_CodegenCFunctions_fun__889(threadData, _a_preExp, _a_isReal);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT299);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT98);
_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_isReal = tmp4_3;
_a_rel_index = tmp4_4;
_a_e2 = tmp4_5;
_a_e1 = tmp4_6;
_a_res = tmp4_7;
_a_hysteresisfunction = tmp4_8;
_a_preExp = tmp4_9;
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _a_hysteresisfunction);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT1062);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _a_res);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT301);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _a_e1);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT301);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _a_e2);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT301);
_a_preExp = omc_Tpl_writeStr(threadData, _a_preExp, intString(_a_rel_index));
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT1068);
_a_preExp = omc_CodegenCFunctions_fun__890(threadData, _a_preExp, _a_isReal);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT299);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT98);
_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_isReal = tmp4_3;
_a_rel_index = tmp4_4;
_a_e2 = tmp4_5;
_a_e1 = tmp4_6;
_a_res = tmp4_7;
_a_hysteresisfunction = tmp4_8;
_a_preExp = tmp4_9;
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _a_hysteresisfunction);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT1062);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _a_res);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT301);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _a_e1);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT301);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _a_e2);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT301);
_a_preExp = omc_Tpl_writeStr(threadData, _a_preExp, intString(_a_rel_index));
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT1070);
_a_preExp = omc_CodegenCFunctions_fun__891(threadData, _a_preExp, _a_isReal);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT299);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT98);
_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_isReal = tmp4_3;
_a_rel_index = tmp4_4;
_a_e2 = tmp4_5;
_a_e1 = tmp4_6;
_a_res = tmp4_7;
_a_hysteresisfunction = tmp4_8;
_a_preExp = tmp4_9;
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _a_hysteresisfunction);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT1062);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _a_res);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT301);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _a_e1);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT301);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _a_e2);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT301);
_a_preExp = omc_Tpl_writeStr(threadData, _a_preExp, intString(_a_rel_index));
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT1072);
_a_preExp = omc_CodegenCFunctions_fun__892(threadData, _a_preExp, _a_isReal);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT299);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT98);
_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_9;
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__893(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_rel_operator, modelica_metatype _in_a_isReal, 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__893(threadData, _in_txt, _in_a_rel_operator, _in_a_isReal, 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__892(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_isReal)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta1;
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_metatype tmp4_2;
tmp4_1 = _in_txt;
tmp4_2 = _in_a_isReal;
{
modelica_metatype _txt = NULL;
volatile mmc_switch_type tmp4;
int tmp5;
tmp4 = 0;
for (; tmp4 < 2; tmp4++) {
switch (MMC_SWITCH_CAST(tmp4)) {
case 0: {
modelica_metatype tmpMeta6;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,0,2) == 0) goto tmp3_end;
tmpMeta6 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
if (!listEmpty(tmpMeta6)) goto tmp3_end;
_txt = tmp4_1;
tmpMeta1 = _txt;
goto tmp3_done;
}
case 1: {
_txt = tmp4_1;
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1074);
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta1;
_return: OMC_LABEL_UNUSED
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__891(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_isReal)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta1;
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_metatype tmp4_2;
tmp4_1 = _in_txt;
tmp4_2 = _in_a_isReal;
{
modelica_metatype _txt = NULL;
volatile mmc_switch_type tmp4;
int tmp5;
tmp4 = 0;
for (; tmp4 < 2; tmp4++) {
switch (MMC_SWITCH_CAST(tmp4)) {
case 0: {
modelica_metatype tmpMeta6;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,0,2) == 0) goto tmp3_end;
tmpMeta6 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
if (!listEmpty(tmpMeta6)) goto tmp3_end;
_txt = tmp4_1;
tmpMeta1 = _txt;
goto tmp3_done;
}
case 1: {
_txt = tmp4_1;
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1076);
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta1;
_return: OMC_LABEL_UNUSED
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 tmpMeta1;
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_metatype tmp4_2;
tmp4_1 = _in_txt;
tmp4_2 = _in_a_isReal;
{
modelica_metatype _txt = NULL;
volatile mmc_switch_type tmp4;
int tmp5;
tmp4 = 0;
for (; tmp4 < 2; tmp4++) {
switch (MMC_SWITCH_CAST(tmp4)) {
case 0: {
modelica_metatype tmpMeta6;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,0,2) == 0) goto tmp3_end;
tmpMeta6 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
if (!listEmpty(tmpMeta6)) goto tmp3_end;
_txt = tmp4_1;
tmpMeta1 = _txt;
goto tmp3_done;
}
case 1: {
_txt = tmp4_1;
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1078);
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta1;
_return: OMC_LABEL_UNUSED
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__889(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_isReal)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta1;
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_metatype tmp4_2;
tmp4_1 = _in_txt;
tmp4_2 = _in_a_isReal;
{
modelica_metatype _txt = NULL;
volatile mmc_switch_type tmp4;
int tmp5;
tmp4 = 0;
for (; tmp4 < 2; tmp4++) {
switch (MMC_SWITCH_CAST(tmp4)) {
case 0: {
modelica_metatype tmpMeta6;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,0,2) == 0) goto tmp3_end;
tmpMeta6 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
if (!listEmpty(tmpMeta6)) goto tmp3_end;
_txt = tmp4_1;
tmpMeta1 = _txt;
goto tmp3_done;
}
case 1: {
_txt = tmp4_1;
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1080);
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta1;
_return: OMC_LABEL_UNUSED
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__888(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_isReal)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta1;
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_metatype tmp4_2;
tmp4_1 = _in_txt;
tmp4_2 = _in_a_isReal;
{
modelica_metatype _txt = NULL;
volatile mmc_switch_type tmp4;
int tmp5;
tmp4 = 0;
for (; tmp4 < 2; tmp4++) {
switch (MMC_SWITCH_CAST(tmp4)) {
case 0: {
modelica_metatype tmpMeta6;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,0,2) == 0) goto tmp3_end;
tmpMeta6 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
if (!listEmpty(tmpMeta6)) goto tmp3_end;
_txt = tmp4_1;
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1082);
goto tmp3_done;
}
case 1: {
_txt = tmp4_1;
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1084);
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta1;
_return: OMC_LABEL_UNUSED
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__887(threadData_t *threadData, modelica_metatype _in_txt, modelica_boolean _in_mArg, modelica_metatype _in_a_rel_exp2)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta1;
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_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 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;
tmpMeta1 = _txt;
goto tmp3_done;
}
case 1: {
_txt = tmp4_1;
_a_rel_exp2 = tmp4_3;
_ret_0 = omc_Expression_typeof(threadData, _a_rel_exp2);
_ret_1 = omc_Expression_isRealType(threadData, _ret_0);
tmpMeta1 = omc_CodegenCFunctions_fun__886(threadData, _txt, _ret_1);
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta1;
_return: OMC_LABEL_UNUSED
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_exp2)
{
modelica_integer tmp1;
modelica_metatype _out_txt = NULL;
tmp1 = mmc_unbox_integer(_in_mArg);
_out_txt = omc_CodegenCFunctions_fun__887(threadData, _in_txt, tmp1, _in_a_rel_exp2);
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__886(threadData_t *threadData, modelica_metatype _in_txt, modelica_boolean _in_mArg)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta1;
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_boolean tmp4_2;
tmp4_1 = _in_txt;
tmp4_2 = _in_mArg;
{
modelica_metatype _txt = 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;
tmpMeta1 = _txt;
goto tmp3_done;
}
case 1: {
_txt = tmp4_1;
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1060);
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta1;
_return: OMC_LABEL_UNUSED
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__886(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__886(threadData, _in_txt, tmp1);
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__885(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[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_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_LIT80, _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_metatype tmpMeta6;
modelica_metatype tmpMeta7;
modelica_metatype tmpMeta8;
modelica_integer tmp9;
modelica_metatype tmpMeta10;
modelica_integer tmp11;
if (optionNone(tmp4_2)) goto tmp3_end;
tmpMeta6 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 1));
tmpMeta7 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta6), 1));
tmpMeta8 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta6), 2));
tmp9 = mmc_unbox_integer(tmpMeta8);
tmpMeta10 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta6), 3));
tmp11 = mmc_unbox_integer(tmpMeta10);
_i_exp = tmpMeta7;
_i_i = tmp9;
_i_j = tmp11;
_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_LIT80, _a_varDecls ,&_a_varDecls);
_ret_5 = (_a_rel_index == ((modelica_integer) -1));
_txt = omc_CodegenCFunctions_fun__884(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__885(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__885(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__884(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__882(threadData, _txt, _a_rel_operator, _l_isReal, _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__883(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__884(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__884(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__883(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_LIT1034);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _a_e1);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT234);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _a_e2);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT299);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT98);
_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_LIT1036);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _a_e1);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT234);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _a_e2);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT299);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT98);
_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_LIT1038);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _a_e1);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT234);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _a_e2);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT299);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT98);
_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_LIT1040);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _a_e1);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT234);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _a_e2);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT299);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT98);
_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__882(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_rel_operator, modelica_metatype _in_a_isReal, 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_metatype tmp4_3;modelica_integer tmp4_4;modelica_integer tmp4_5;modelica_metatype tmp4_6;modelica_integer 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_rel_operator;
tmp4_3 = _in_a_isReal;
tmp4_4 = _in_a_j;
tmp4_5 = _in_a_i;
tmp4_6 = _in_a_iterator;
tmp4_7 = _in_a_rel_index;
tmp4_8 = _in_a_e2;
tmp4_9 = _in_a_e1;
tmp4_10 = _in_a_res;
tmp4_11 = _in_a_hysteresisfunction;
tmp4_12 = _in_a_preExp;
{
modelica_metatype _txt = NULL;
modelica_metatype _a_isReal = 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_isReal = tmp4_3;
_a_j = tmp4_4;
_a_i = tmp4_5;
_a_iterator = tmp4_6;
_a_rel_index = tmp4_7;
_a_e2 = tmp4_8;
_a_e1 = tmp4_9;
_a_res = tmp4_10;
_a_hysteresisfunction = tmp4_11;
_a_preExp = tmp4_12;
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _a_hysteresisfunction);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT1062);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _a_res);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT301);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _a_e1);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT301);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _a_e2);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT301);
_a_preExp = omc_Tpl_writeStr(threadData, _a_preExp, intString(_a_rel_index));
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT1064);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _a_iterator);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT665);
_a_preExp = omc_Tpl_writeStr(threadData, _a_preExp, intString(_a_i));
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT400);
_a_preExp = omc_Tpl_writeStr(threadData, _a_preExp, intString(_a_j));
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT1066);
_a_preExp = omc_CodegenCFunctions_fun__878(threadData, _a_preExp, _a_isReal);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT299);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT98);
_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_isReal = tmp4_3;
_a_j = tmp4_4;
_a_i = tmp4_5;
_a_iterator = tmp4_6;
_a_rel_index = tmp4_7;
_a_e2 = tmp4_8;
_a_e1 = tmp4_9;
_a_res = tmp4_10;
_a_hysteresisfunction = tmp4_11;
_a_preExp = tmp4_12;
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _a_hysteresisfunction);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT1062);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _a_res);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT301);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _a_e1);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT301);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _a_e2);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT301);
_a_preExp = omc_Tpl_writeStr(threadData, _a_preExp, intString(_a_rel_index));
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT1064);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _a_iterator);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT665);
_a_preExp = omc_Tpl_writeStr(threadData, _a_preExp, intString(_a_i));
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT400);
_a_preExp = omc_Tpl_writeStr(threadData, _a_preExp, intString(_a_j));
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT1068);
_a_preExp = omc_CodegenCFunctions_fun__879(threadData, _a_preExp, _a_isReal);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT299);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT98);
_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_isReal = tmp4_3;
_a_j = tmp4_4;
_a_i = tmp4_5;
_a_iterator = tmp4_6;
_a_rel_index = tmp4_7;
_a_e2 = tmp4_8;
_a_e1 = tmp4_9;
_a_res = tmp4_10;
_a_hysteresisfunction = tmp4_11;
_a_preExp = tmp4_12;
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _a_hysteresisfunction);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT1062);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _a_res);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT301);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _a_e1);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT301);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _a_e2);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT301);
_a_preExp = omc_Tpl_writeStr(threadData, _a_preExp, intString(_a_rel_index));
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT1064);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _a_iterator);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT665);
_a_preExp = omc_Tpl_writeStr(threadData, _a_preExp, intString(_a_i));
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT400);
_a_preExp = omc_Tpl_writeStr(threadData, _a_preExp, intString(_a_j));
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT1070);
_a_preExp = omc_CodegenCFunctions_fun__880(threadData, _a_preExp, _a_isReal);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT299);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT98);
_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_isReal = tmp4_3;
_a_j = tmp4_4;
_a_i = tmp4_5;
_a_iterator = tmp4_6;
_a_rel_index = tmp4_7;
_a_e2 = tmp4_8;
_a_e1 = tmp4_9;
_a_res = tmp4_10;
_a_hysteresisfunction = tmp4_11;
_a_preExp = tmp4_12;
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _a_hysteresisfunction);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT1062);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _a_res);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT301);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _a_e1);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT301);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _a_e2);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT301);
_a_preExp = omc_Tpl_writeStr(threadData, _a_preExp, intString(_a_rel_index));
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT1064);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _a_iterator);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT665);
_a_preExp = omc_Tpl_writeStr(threadData, _a_preExp, intString(_a_i));
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT400);
_a_preExp = omc_Tpl_writeStr(threadData, _a_preExp, intString(_a_j));
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT1072);
_a_preExp = omc_CodegenCFunctions_fun__881(threadData, _a_preExp, _a_isReal);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT299);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT98);
_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_12;
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__882(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_rel_operator, modelica_metatype _in_a_isReal, 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__882(threadData, _in_txt, _in_a_rel_operator, _in_a_isReal, 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__881(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_isReal)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta1;
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_metatype tmp4_2;
tmp4_1 = _in_txt;
tmp4_2 = _in_a_isReal;
{
modelica_metatype _txt = NULL;
volatile mmc_switch_type tmp4;
int tmp5;
tmp4 = 0;
for (; tmp4 < 2; tmp4++) {
switch (MMC_SWITCH_CAST(tmp4)) {
case 0: {
modelica_metatype tmpMeta6;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,0,2) == 0) goto tmp3_end;
tmpMeta6 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
if (!listEmpty(tmpMeta6)) goto tmp3_end;
_txt = tmp4_1;
tmpMeta1 = _txt;
goto tmp3_done;
}
case 1: {
_txt = tmp4_1;
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1074);
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta1;
_return: OMC_LABEL_UNUSED
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__880(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_isReal)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta1;
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_metatype tmp4_2;
tmp4_1 = _in_txt;
tmp4_2 = _in_a_isReal;
{
modelica_metatype _txt = NULL;
volatile mmc_switch_type tmp4;
int tmp5;
tmp4 = 0;
for (; tmp4 < 2; tmp4++) {
switch (MMC_SWITCH_CAST(tmp4)) {
case 0: {
modelica_metatype tmpMeta6;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,0,2) == 0) goto tmp3_end;
tmpMeta6 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
if (!listEmpty(tmpMeta6)) goto tmp3_end;
_txt = tmp4_1;
tmpMeta1 = _txt;
goto tmp3_done;
}
case 1: {
_txt = tmp4_1;
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1076);
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta1;
_return: OMC_LABEL_UNUSED
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__879(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_isReal)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta1;
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_metatype tmp4_2;
tmp4_1 = _in_txt;
tmp4_2 = _in_a_isReal;
{
modelica_metatype _txt = NULL;
volatile mmc_switch_type tmp4;
int tmp5;
tmp4 = 0;
for (; tmp4 < 2; tmp4++) {
switch (MMC_SWITCH_CAST(tmp4)) {
case 0: {
modelica_metatype tmpMeta6;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,0,2) == 0) goto tmp3_end;
tmpMeta6 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
if (!listEmpty(tmpMeta6)) goto tmp3_end;
_txt = tmp4_1;
tmpMeta1 = _txt;
goto tmp3_done;
}
case 1: {
_txt = tmp4_1;
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1078);
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta1;
_return: OMC_LABEL_UNUSED
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__878(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_isReal)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta1;
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_metatype tmp4_2;
tmp4_1 = _in_txt;
tmp4_2 = _in_a_isReal;
{
modelica_metatype _txt = NULL;
volatile mmc_switch_type tmp4;
int tmp5;
tmp4 = 0;
for (; tmp4 < 2; tmp4++) {
switch (MMC_SWITCH_CAST(tmp4)) {
case 0: {
modelica_metatype tmpMeta6;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,0,2) == 0) goto tmp3_end;
tmpMeta6 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
if (!listEmpty(tmpMeta6)) goto tmp3_end;
_txt = tmp4_1;
tmpMeta1 = _txt;
goto tmp3_done;
}
case 1: {
_txt = tmp4_1;
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1080);
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta1;
_return: OMC_LABEL_UNUSED
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 tmpMeta1;
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_metatype tmp4_2;
tmp4_1 = _in_txt;
tmp4_2 = _in_a_isReal;
{
modelica_metatype _txt = NULL;
volatile mmc_switch_type tmp4;
int tmp5;
tmp4 = 0;
for (; tmp4 < 2; tmp4++) {
switch (MMC_SWITCH_CAST(tmp4)) {
case 0: {
modelica_metatype tmpMeta6;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,0,2) == 0) goto tmp3_end;
tmpMeta6 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
if (!listEmpty(tmpMeta6)) goto tmp3_end;
_txt = tmp4_1;
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1082);
goto tmp3_done;
}
case 1: {
_txt = tmp4_1;
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1084);
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta1;
_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 tmpMeta1;
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_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 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;
tmpMeta1 = _txt;
goto tmp3_done;
}
case 1: {
_txt = tmp4_1;
_a_rel_exp2 = tmp4_3;
_ret_0 = omc_Expression_typeof(threadData, _a_rel_exp2);
_ret_1 = omc_Expression_isRealType(threadData, _ret_0);
tmpMeta1 = omc_CodegenCFunctions_fun__875(threadData, _txt, _ret_1);
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta1;
_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 tmpMeta1;
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_boolean tmp4_2;
tmp4_1 = _in_txt;
tmp4_2 = _in_mArg;
{
modelica_metatype _txt = 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;
tmpMeta1 = _txt;
goto tmp3_done;
}
case 1: {
_txt = tmp4_1;
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1060);
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta1;
_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__866(threadData, _OMC_LIT20, _ret_2, _a_rel_exp2);
_l_hysteresisfunction = omc_CodegenCFunctions_fun__867(threadData, _OMC_LIT20, _l_isReal);
tmpMeta[0+0] = omc_CodegenCFunctions_fun__872(threadData, _txt, _a_rel_operator, _l_isReal, _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_LIT1034);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _a_e1);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT234);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _a_e2);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT299);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT98);
_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_LIT1036);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _a_e1);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT234);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _a_e2);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT299);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT98);
_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_LIT1038);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _a_e1);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT234);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _a_e2);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT299);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT98);
_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_LIT1040);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _a_e1);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT234);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _a_e2);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT299);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT98);
_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_metatype _in_a_isReal, 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_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_a_rel_operator;
tmp4_3 = _in_a_isReal;
tmp4_4 = _in_a_rel_index;
tmp4_5 = _in_a_e2;
tmp4_6 = _in_a_e1;
tmp4_7 = _in_a_res;
tmp4_8 = _in_a_hysteresisfunction;
tmp4_9 = _in_a_preExp;
{
modelica_metatype _txt = NULL;
modelica_metatype _a_isReal = 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_isReal = tmp4_3;
_a_rel_index = tmp4_4;
_a_e2 = tmp4_5;
_a_e1 = tmp4_6;
_a_res = tmp4_7;
_a_hysteresisfunction = tmp4_8;
_a_preExp = tmp4_9;
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _a_hysteresisfunction);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT1062);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _a_res);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT301);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _a_e1);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT301);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _a_e2);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT301);
_a_preExp = omc_Tpl_writeStr(threadData, _a_preExp, intString(_a_rel_index));
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT1066);
_a_preExp = omc_CodegenCFunctions_fun__868(threadData, _a_preExp, _a_isReal);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT299);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT98);
_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_isReal = tmp4_3;
_a_rel_index = tmp4_4;
_a_e2 = tmp4_5;
_a_e1 = tmp4_6;
_a_res = tmp4_7;
_a_hysteresisfunction = tmp4_8;
_a_preExp = tmp4_9;
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _a_hysteresisfunction);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT1062);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _a_res);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT301);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _a_e1);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT301);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _a_e2);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT301);
_a_preExp = omc_Tpl_writeStr(threadData, _a_preExp, intString(_a_rel_index));
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT1068);
_a_preExp = omc_CodegenCFunctions_fun__869(threadData, _a_preExp, _a_isReal);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT299);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT98);
_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_isReal = tmp4_3;
_a_rel_index = tmp4_4;
_a_e2 = tmp4_5;
_a_e1 = tmp4_6;
_a_res = tmp4_7;
_a_hysteresisfunction = tmp4_8;
_a_preExp = tmp4_9;
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _a_hysteresisfunction);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT1062);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _a_res);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT301);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _a_e1);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT301);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _a_e2);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT301);
_a_preExp = omc_Tpl_writeStr(threadData, _a_preExp, intString(_a_rel_index));
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT1070);
_a_preExp = omc_CodegenCFunctions_fun__870(threadData, _a_preExp, _a_isReal);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT299);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT98);
_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_isReal = tmp4_3;
_a_rel_index = tmp4_4;
_a_e2 = tmp4_5;
_a_e1 = tmp4_6;
_a_res = tmp4_7;
_a_hysteresisfunction = tmp4_8;
_a_preExp = tmp4_9;
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _a_hysteresisfunction);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT1062);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _a_res);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT301);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _a_e1);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT301);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _a_e2);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT301);
_a_preExp = omc_Tpl_writeStr(threadData, _a_preExp, intString(_a_rel_index));
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT1072);
_a_preExp = omc_CodegenCFunctions_fun__871(threadData, _a_preExp, _a_isReal);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT299);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT98);
_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_9;
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_isReal, 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, _in_a_isReal, 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 tmpMeta1;
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_metatype tmp4_2;
tmp4_1 = _in_txt;
tmp4_2 = _in_a_isReal;
{
modelica_metatype _txt = NULL;
volatile mmc_switch_type tmp4;
int tmp5;
tmp4 = 0;
for (; tmp4 < 2; tmp4++) {
switch (MMC_SWITCH_CAST(tmp4)) {
case 0: {
modelica_metatype tmpMeta6;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,0,2) == 0) goto tmp3_end;
tmpMeta6 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
if (!listEmpty(tmpMeta6)) goto tmp3_end;
_txt = tmp4_1;
tmpMeta1 = _txt;
goto tmp3_done;
}
case 1: {
_txt = tmp4_1;
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1074);
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta1;
_return: OMC_LABEL_UNUSED
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__870(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_isReal)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta1;
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_metatype tmp4_2;
tmp4_1 = _in_txt;
tmp4_2 = _in_a_isReal;
{
modelica_metatype _txt = NULL;
volatile mmc_switch_type tmp4;
int tmp5;
tmp4 = 0;
for (; tmp4 < 2; tmp4++) {
switch (MMC_SWITCH_CAST(tmp4)) {
case 0: {
modelica_metatype tmpMeta6;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,0,2) == 0) goto tmp3_end;
tmpMeta6 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
if (!listEmpty(tmpMeta6)) goto tmp3_end;
_txt = tmp4_1;
tmpMeta1 = _txt;
goto tmp3_done;
}
case 1: {
_txt = tmp4_1;
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1076);
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta1;
_return: OMC_LABEL_UNUSED
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__869(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_isReal)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta1;
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_metatype tmp4_2;
tmp4_1 = _in_txt;
tmp4_2 = _in_a_isReal;
{
modelica_metatype _txt = NULL;
volatile mmc_switch_type tmp4;
int tmp5;
tmp4 = 0;
for (; tmp4 < 2; tmp4++) {
switch (MMC_SWITCH_CAST(tmp4)) {
case 0: {
modelica_metatype tmpMeta6;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,0,2) == 0) goto tmp3_end;
tmpMeta6 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
if (!listEmpty(tmpMeta6)) goto tmp3_end;
_txt = tmp4_1;
tmpMeta1 = _txt;
goto tmp3_done;
}
case 1: {
_txt = tmp4_1;
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1078);
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta1;
_return: OMC_LABEL_UNUSED
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__868(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_isReal)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta1;
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_metatype tmp4_2;
tmp4_1 = _in_txt;
tmp4_2 = _in_a_isReal;
{
modelica_metatype _txt = NULL;
volatile mmc_switch_type tmp4;
int tmp5;
tmp4 = 0;
for (; tmp4 < 2; tmp4++) {
switch (MMC_SWITCH_CAST(tmp4)) {
case 0: {
modelica_metatype tmpMeta6;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,0,2) == 0) goto tmp3_end;
tmpMeta6 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
if (!listEmpty(tmpMeta6)) goto tmp3_end;
_txt = tmp4_1;
tmpMeta1 = _txt;
goto tmp3_done;
}
case 1: {
_txt = tmp4_1;
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1080);
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta1;
_return: OMC_LABEL_UNUSED
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__867(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_isReal)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta1;
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_metatype tmp4_2;
tmp4_1 = _in_txt;
tmp4_2 = _in_a_isReal;
{
modelica_metatype _txt = NULL;
volatile mmc_switch_type tmp4;
int tmp5;
tmp4 = 0;
for (; tmp4 < 2; tmp4++) {
switch (MMC_SWITCH_CAST(tmp4)) {
case 0: {
modelica_metatype tmpMeta6;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,0,2) == 0) goto tmp3_end;
tmpMeta6 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
if (!listEmpty(tmpMeta6)) goto tmp3_end;
_txt = tmp4_1;
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1082);
goto tmp3_done;
}
case 1: {
_txt = tmp4_1;
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1084);
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta1;
_return: OMC_LABEL_UNUSED
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__866(threadData_t *threadData, modelica_metatype _in_txt, modelica_boolean _in_mArg, modelica_metatype _in_a_rel_exp2)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta1;
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_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 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;
tmpMeta1 = _txt;
goto tmp3_done;
}
case 1: {
_txt = tmp4_1;
_a_rel_exp2 = tmp4_3;
_ret_0 = omc_Expression_typeof(threadData, _a_rel_exp2);
_ret_1 = omc_Expression_isRealType(threadData, _ret_0);
tmpMeta1 = omc_CodegenCFunctions_fun__865(threadData, _txt, _ret_1);
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta1;
_return: OMC_LABEL_UNUSED
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__866(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__866(threadData, _in_txt, tmp1, _in_a_rel_exp2);
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__865(threadData_t *threadData, modelica_metatype _in_txt, modelica_boolean _in_mArg)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta1;
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_boolean tmp4_2;
tmp4_1 = _in_txt;
tmp4_2 = _in_mArg;
{
modelica_metatype _txt = 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;
tmpMeta1 = _txt;
goto tmp3_done;
}
case 1: {
_txt = tmp4_1;
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1060);
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta1;
_return: OMC_LABEL_UNUSED
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__865(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__865(threadData, _in_txt, tmp1);
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__864(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 tmpMeta1;
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_boolean tmp4_2;modelica_integer tmp4_3;modelica_metatype tmp4_4;
tmp4_1 = _in_txt;
tmp4_2 = _in_mArg;
tmp4_3 = _in_a_rel_index;
tmp4_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 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_res = tmp4_4;
_ret_0 = omc_Config_simCodeTarget(threadData);
tmpMeta1 = omc_CodegenCFunctions_fun__863(threadData, _txt, _ret_0, _a_rel_index, _a_res);
goto tmp3_done;
}
case 1: {
_txt = tmp4_1;
_a_res = tmp4_4;
tmpMeta1 = omc_Tpl_writeText(threadData, _txt, _a_res);
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta1;
_return: OMC_LABEL_UNUSED
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__864(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__864(threadData, _in_txt, tmp1, tmp2, _in_a_res);
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__863(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 tmpMeta1;
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_string tmp4_2;modelica_integer tmp4_3;modelica_metatype tmp4_4;
tmp4_1 = _in_txt;
tmp4_2 = _in_mArg;
tmp4_3 = _in_a_rel_index;
tmp4_4 = _in_a_res;
{
modelica_metatype _txt = NULL;
modelica_integer _a_rel_index;
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 (5 != MMC_STRLEN(tmp4_2) || strcmp(MMC_STRINGDATA(_OMC_LIT47), MMC_STRINGDATA(tmp4_2)) != 0) goto tmp3_end;
_txt = tmp4_1;
_a_rel_index = tmp4_3;
_a_res = tmp4_4;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1086);
_txt = omc_Tpl_writeText(threadData, _txt, _a_res);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT301);
_txt = omc_Tpl_writeStr(threadData, _txt, intString(_a_rel_index));
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT928);
goto tmp3_done;
}
case 1: {
_txt = tmp4_1;
tmpMeta1 = _txt;
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta1;
_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_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__863(threadData, _in_txt, _in_mArg, tmp1, _in_a_res);
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__862(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_LIT129);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _a_e1);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT189);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _a_e2);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT113);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT98);
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_LIT129);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _a_e1);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT345);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _a_e2);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT113);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT98);
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_LIT129);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _a_e1);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT496);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _a_e2);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT113);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT98);
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_LIT129);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _a_e1);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT349);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _a_e2);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT113);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT98);
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[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_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: {
modelica_metatype tmpMeta6;
modelica_metatype tmpMeta7;
modelica_metatype tmpMeta8;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,11,5) == 0) goto tmp3_end;
tmpMeta6 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
tmpMeta7 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 3));
tmpMeta8 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 4));
_i_rel = tmp4_2;
_i_rel_exp1 = tmpMeta6;
_i_rel_operator = tmpMeta7;
_i_rel_exp2 = tmpMeta8;
_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__860(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;
_txt = omc_CodegenUtil_error(threadData, _txt, omc_Tpl_sourceInfo(threadData, _OMC_LIT27, ((modelica_integer) 5895), ((modelica_integer) 12)), _OMC_LIT1087);
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__860(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[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_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: {
modelica_metatype tmpMeta6;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,0,2) == 0) goto tmp3_end;
tmpMeta6 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
if (!listEmpty(tmpMeta6)) 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__859(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__859(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 tmpMeta1;
MMC_SO();
_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_rel_operator;
tmp4_3 = _in_a_exp;
tmp4_4 = _in_a_e2;
tmp4_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 tmp4;
int tmp5;
tmp4 = 0;
for (; tmp4 < 32; tmp4++) {
switch (MMC_SWITCH_CAST(tmp4)) {
case 0: {
modelica_metatype tmpMeta6;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,25,1) == 0) goto tmp3_end;
tmpMeta6 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta6,3,1) == 0) goto tmp3_end;
_txt = tmp4_1;
_a_e2 = tmp4_4;
_a_e1 = tmp4_5;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT671);
_txt = omc_Tpl_writeText(threadData, _txt, _a_e1);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT673);
_txt = omc_Tpl_writeText(threadData, _txt, _a_e2);
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT87);
goto tmp3_done;
}
case 1: {
modelica_metatype tmpMeta7;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,25,1) == 0) goto tmp3_end;
tmpMeta7 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta7,2,1) == 0) goto tmp3_end;
_txt = tmp4_1;
_a_e2 = tmp4_4;
_a_e1 = tmp4_5;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1089);
_txt = omc_Tpl_writeText(threadData, _txt, _a_e1);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT301);
_txt = omc_Tpl_writeText(threadData, _txt, _a_e2);
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1091);
goto tmp3_done;
}
case 2: {
modelica_metatype tmpMeta8;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,25,1) == 0) goto tmp3_end;
tmpMeta8 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta8,0,1) == 0) goto tmp3_end;
_txt = tmp4_1;
_a_e2 = tmp4_4;
_a_e1 = tmp4_5;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT30);
_txt = omc_Tpl_writeText(threadData, _txt, _a_e1);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT189);
_txt = omc_Tpl_writeText(threadData, _txt, _a_e2);
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT87);
goto tmp3_done;
}
case 3: {
modelica_metatype tmpMeta9;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,25,1) == 0) goto tmp3_end;
tmpMeta9 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta9,1,1) == 0) goto tmp3_end;
_txt = tmp4_1;
_a_e2 = tmp4_4;
_a_e1 = tmp4_5;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT30);
_txt = omc_Tpl_writeText(threadData, _txt, _a_e1);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT189);
_txt = omc_Tpl_writeText(threadData, _txt, _a_e2);
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT87);
goto tmp3_done;
}
case 4: {
modelica_metatype tmpMeta10;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,25,1) == 0) goto tmp3_end;
tmpMeta10 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta10,5,5) == 0) goto tmp3_end;
_txt = tmp4_1;
_a_e2 = tmp4_4;
_a_e1 = tmp4_5;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT30);
_txt = omc_Tpl_writeText(threadData, _txt, _a_e1);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT189);
_txt = omc_Tpl_writeText(threadData, _txt, _a_e2);
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT87);
goto tmp3_done;
}
case 5: {
modelica_metatype tmpMeta11;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,27,1) == 0) goto tmp3_end;
tmpMeta11 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta11,3,1) == 0) goto tmp3_end;
_txt = tmp4_1;
_a_e2 = tmp4_4;
_a_e1 = tmp4_5;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT30);
_txt = omc_Tpl_writeText(threadData, _txt, _a_e1);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT669);
_txt = omc_Tpl_writeText(threadData, _txt, _a_e2);
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT87);
goto tmp3_done;
}
case 6: {
modelica_metatype tmpMeta12;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,27,1) == 0) goto tmp3_end;
tmpMeta12 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta12,2,1) == 0) goto tmp3_end;
_txt = tmp4_1;
_a_e2 = tmp4_4;
_a_e1 = tmp4_5;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1089);
_txt = omc_Tpl_writeText(threadData, _txt, _a_e1);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT301);
_txt = omc_Tpl_writeText(threadData, _txt, _a_e2);
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1093);
goto tmp3_done;
}
case 7: {
modelica_metatype tmpMeta13;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,27,1) == 0) goto tmp3_end;
tmpMeta13 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta13,0,1) == 0) goto tmp3_end;
_txt = tmp4_1;
_a_e2 = tmp4_4;
_a_e1 = tmp4_5;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT30);
_txt = omc_Tpl_writeText(threadData, _txt, _a_e1);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT496);
_txt = omc_Tpl_writeText(threadData, _txt, _a_e2);
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT87);
goto tmp3_done;
}
case 8: {
modelica_metatype tmpMeta14;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,27,1) == 0) goto tmp3_end;
tmpMeta14 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta14,1,1) == 0) goto tmp3_end;
_txt = tmp4_1;
_a_e2 = tmp4_4;
_a_e1 = tmp4_5;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT30);
_txt = omc_Tpl_writeText(threadData, _txt, _a_e1);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT496);
_txt = omc_Tpl_writeText(threadData, _txt, _a_e2);
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT87);
goto tmp3_done;
}
case 9: {
modelica_metatype tmpMeta15;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,27,1) == 0) goto tmp3_end;
tmpMeta15 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta15,5,5) == 0) goto tmp3_end;
_txt = tmp4_1;
_a_e2 = tmp4_4;
_a_e1 = tmp4_5;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT30);
_txt = omc_Tpl_writeText(threadData, _txt, _a_e1);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT496);
_txt = omc_Tpl_writeText(threadData, _txt, _a_e2);
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT87);
goto tmp3_done;
}
case 10: {
modelica_metatype tmpMeta16;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,26,1) == 0) goto tmp3_end;
tmpMeta16 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta16,3,1) == 0) goto tmp3_end;
_txt = tmp4_1;
_a_e2 = tmp4_4;
_a_e1 = tmp4_5;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT671);
_txt = omc_Tpl_writeText(threadData, _txt, _a_e1);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1095);
_txt = omc_Tpl_writeText(threadData, _txt, _a_e2);
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT87);
goto tmp3_done;
}
case 11: {
modelica_metatype tmpMeta17;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,26,1) == 0) goto tmp3_end;
tmpMeta17 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta17,2,1) == 0) goto tmp3_end;
_txt = tmp4_1;
_a_e2 = tmp4_4;
_a_e1 = tmp4_5;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1089);
_txt = omc_Tpl_writeText(threadData, _txt, _a_e1);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT301);
_txt = omc_Tpl_writeText(threadData, _txt, _a_e2);
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1097);
goto tmp3_done;
}
case 12: {
modelica_metatype tmpMeta18;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,26,1) == 0) goto tmp3_end;
tmpMeta18 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta18,0,1) == 0) goto tmp3_end;
_txt = tmp4_1;
_a_e2 = tmp4_4;
_a_e1 = tmp4_5;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT30);
_txt = omc_Tpl_writeText(threadData, _txt, _a_e1);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT345);
_txt = omc_Tpl_writeText(threadData, _txt, _a_e2);
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT87);
goto tmp3_done;
}
case 13: {
modelica_metatype tmpMeta19;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,26,1) == 0) goto tmp3_end;
tmpMeta19 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta19,1,1) == 0) goto tmp3_end;
_txt = tmp4_1;
_a_e2 = tmp4_4;
_a_e1 = tmp4_5;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT30);
_txt = omc_Tpl_writeText(threadData, _txt, _a_e1);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT345);
_txt = omc_Tpl_writeText(threadData, _txt, _a_e2);
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT87);
goto tmp3_done;
}
case 14: {
modelica_metatype tmpMeta20;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,26,1) == 0) goto tmp3_end;
tmpMeta20 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta20,5,5) == 0) goto tmp3_end;
_txt = tmp4_1;
_a_e2 = tmp4_4;
_a_e1 = tmp4_5;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT30);
_txt = omc_Tpl_writeText(threadData, _txt, _a_e1);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT345);
_txt = omc_Tpl_writeText(threadData, _txt, _a_e2);
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT87);
goto tmp3_done;
}
case 15: {
modelica_metatype tmpMeta21;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,28,1) == 0) goto tmp3_end;
tmpMeta21 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta21,3,1) == 0) goto tmp3_end;
_txt = tmp4_1;
_a_e2 = tmp4_4;
_a_e1 = tmp4_5;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT30);
_txt = omc_Tpl_writeText(threadData, _txt, _a_e1);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1099);
_txt = omc_Tpl_writeText(threadData, _txt, _a_e2);
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT87);
goto tmp3_done;
}
case 16: {
modelica_metatype tmpMeta22;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,28,1) == 0) goto tmp3_end;
tmpMeta22 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta22,2,1) == 0) goto tmp3_end;
_txt = tmp4_1;
_a_e2 = tmp4_4;
_a_e1 = tmp4_5;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1089);
_txt = omc_Tpl_writeText(threadData, _txt, _a_e1);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT301);
_txt = omc_Tpl_writeText(threadData, _txt, _a_e2);
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1101);
goto tmp3_done;
}
case 17: {
modelica_metatype tmpMeta23;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,28,1) == 0) goto tmp3_end;
tmpMeta23 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta23,0,1) == 0) goto tmp3_end;
_txt = tmp4_1;
_a_e2 = tmp4_4;
_a_e1 = tmp4_5;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT30);
_txt = omc_Tpl_writeText(threadData, _txt, _a_e1);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT349);
_txt = omc_Tpl_writeText(threadData, _txt, _a_e2);
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT87);
goto tmp3_done;
}
case 18: {
modelica_metatype tmpMeta24;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,28,1) == 0) goto tmp3_end;
tmpMeta24 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta24,1,1) == 0) goto tmp3_end;
_txt = tmp4_1;
_a_e2 = tmp4_4;
_a_e1 = tmp4_5;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT30);
_txt = omc_Tpl_writeText(threadData, _txt, _a_e1);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT349);
_txt = omc_Tpl_writeText(threadData, _txt, _a_e2);
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT87);
goto tmp3_done;
}
case 19: {
modelica_metatype tmpMeta25;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,28,1) == 0) goto tmp3_end;
tmpMeta25 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta25,5,5) == 0) goto tmp3_end;
_txt = tmp4_1;
_a_e2 = tmp4_4;
_a_e1 = tmp4_5;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT30);
_txt = omc_Tpl_writeText(threadData, _txt, _a_e1);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT349);
_txt = omc_Tpl_writeText(threadData, _txt, _a_e2);
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT87);
goto tmp3_done;
}
case 20: {
modelica_metatype tmpMeta26;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,29,1) == 0) goto tmp3_end;
tmpMeta26 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta26,3,1) == 0) goto tmp3_end;
_txt = tmp4_1;
_a_e2 = tmp4_4;
_a_e1 = tmp4_5;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1103);
_txt = omc_Tpl_writeText(threadData, _txt, _a_e1);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT669);
_txt = omc_Tpl_writeText(threadData, _txt, _a_e2);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1105);
_txt = omc_Tpl_writeText(threadData, _txt, _a_e1);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT673);
_txt = omc_Tpl_writeText(threadData, _txt, _a_e2);
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT610);
goto tmp3_done;
}
case 21: {
modelica_metatype tmpMeta27;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,29,1) == 0) goto tmp3_end;
tmpMeta27 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta27,2,1) == 0) goto tmp3_end;
_txt = tmp4_1;
_a_e2 = tmp4_4;
_a_e1 = tmp4_5;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1107);
_txt = omc_Tpl_writeText(threadData, _txt, _a_e1);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT301);
_txt = omc_Tpl_writeText(threadData, _txt, _a_e2);
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT610);
goto tmp3_done;
}
case 22: {
modelica_metatype tmpMeta28;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,29,1) == 0) goto tmp3_end;
tmpMeta28 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta28,0,1) == 0) goto tmp3_end;
_txt = tmp4_1;
_a_e2 = tmp4_4;
_a_e1 = tmp4_5;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT30);
_txt = omc_Tpl_writeText(threadData, _txt, _a_e1);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT274);
_txt = omc_Tpl_writeText(threadData, _txt, _a_e2);
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT87);
goto tmp3_done;
}
case 23: {
modelica_metatype tmpMeta29;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,29,1) == 0) goto tmp3_end;
tmpMeta29 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta29,1,1) == 0) goto tmp3_end;
_txt = tmp4_1;
_a_e2 = tmp4_4;
_a_e1 = tmp4_5;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT30);
_txt = omc_Tpl_writeText(threadData, _txt, _a_e1);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT274);
_txt = omc_Tpl_writeText(threadData, _txt, _a_e2);
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT87);
goto tmp3_done;
}
case 24: {
modelica_metatype tmpMeta30;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,29,1) == 0) goto tmp3_end;
tmpMeta30 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta30,5,5) == 0) goto tmp3_end;
_txt = tmp4_1;
_a_e2 = tmp4_4;
_a_e1 = tmp4_5;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT30);
_txt = omc_Tpl_writeText(threadData, _txt, _a_e1);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT274);
_txt = omc_Tpl_writeText(threadData, _txt, _a_e2);
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT87);
goto tmp3_done;
}
case 25: {
modelica_metatype tmpMeta31;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,29,1) == 0) goto tmp3_end;
tmpMeta31 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta31,6,2) == 0) goto tmp3_end;
_txt = tmp4_1;
_a_e2 = tmp4_4;
_a_e1 = tmp4_5;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT30);
_txt = omc_Tpl_writeText(threadData, _txt, _a_e1);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT274);
_txt = omc_Tpl_writeText(threadData, _txt, _a_e2);
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT87);
goto tmp3_done;
}
case 26: {
modelica_metatype tmpMeta32;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,30,1) == 0) goto tmp3_end;
tmpMeta32 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta32,3,1) == 0) goto tmp3_end;
_txt = tmp4_1;
_a_e2 = tmp4_4;
_a_e1 = tmp4_5;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1103);
_txt = omc_Tpl_writeText(threadData, _txt, _a_e1);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT673);
_txt = omc_Tpl_writeText(threadData, _txt, _a_e2);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1105);
_txt = omc_Tpl_writeText(threadData, _txt, _a_e1);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT669);
_txt = omc_Tpl_writeText(threadData, _txt, _a_e2);
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT610);
goto tmp3_done;
}
case 27: {
modelica_metatype tmpMeta33;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,30,1) == 0) goto tmp3_end;
tmpMeta33 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta33,2,1) == 0) goto tmp3_end;
_txt = tmp4_1;
_a_e2 = tmp4_4;
_a_e1 = tmp4_5;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1109);
_txt = omc_Tpl_writeText(threadData, _txt, _a_e1);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT301);
_txt = omc_Tpl_writeText(threadData, _txt, _a_e2);
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT610);
goto tmp3_done;
}
case 28: {
modelica_metatype tmpMeta34;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,30,1) == 0) goto tmp3_end;
tmpMeta34 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta34,0,1) == 0) goto tmp3_end;
_txt = tmp4_1;
_a_e2 = tmp4_4;
_a_e1 = tmp4_5;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT30);
_txt = omc_Tpl_writeText(threadData, _txt, _a_e1);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT677);
_txt = omc_Tpl_writeText(threadData, _txt, _a_e2);
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT87);
goto tmp3_done;
}
case 29: {
modelica_metatype tmpMeta35;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,30,1) == 0) goto tmp3_end;
tmpMeta35 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta35,1,1) == 0) goto tmp3_end;
_txt = tmp4_1;
_a_e2 = tmp4_4;
_a_e1 = tmp4_5;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT30);
_txt = omc_Tpl_writeText(threadData, _txt, _a_e1);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT677);
_txt = omc_Tpl_writeText(threadData, _txt, _a_e2);
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT87);
goto tmp3_done;
}
case 30: {
modelica_metatype tmpMeta36;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,30,1) == 0) goto tmp3_end;
tmpMeta36 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta36,5,5) == 0) goto tmp3_end;
_txt = tmp4_1;
_a_e2 = tmp4_4;
_a_e1 = tmp4_5;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT30);
_txt = omc_Tpl_writeText(threadData, _txt, _a_e1);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT677);
_txt = omc_Tpl_writeText(threadData, _txt, _a_e2);
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT87);
goto tmp3_done;
}
case 31: {
_txt = tmp4_1;
_a_exp = tmp4_3;
_txt_0 = omc_Tpl_writeTok(threadData, _OMC_LIT20, _OMC_LIT1111);
_txt_0 = omc_ExpressionDumpTpl_dumpExp(threadData, _txt_0, _a_exp, _OMC_LIT239);
tmpMeta1 = omc_CodegenUtil_error(threadData, _txt, omc_Tpl_sourceInfo(threadData, _OMC_LIT27, ((modelica_integer) 5894), ((modelica_integer) 16)), omc_Tpl_textString(threadData, _txt_0));
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta1;
_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[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_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: {
modelica_metatype tmpMeta6;
modelica_metatype tmpMeta7;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,10,2) == 0) goto tmp3_end;
tmpMeta6 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
tmpMeta7 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 3));
_i_operator = tmpMeta6;
_i_exp = tmpMeta7;
_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__857(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__857(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[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_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: {
modelica_metatype tmpMeta6;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,24,1) == 0) goto tmp3_end;
tmpMeta6 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta6,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_LIT1112, _a_varDecls ,&_a_varDecls);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT1114);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _a_e);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT1116);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _l_var);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT299);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT98);
_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_LIT671);
_txt = omc_Tpl_writeText(threadData, _txt, _a_e);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT87);
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[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_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: {
modelica_metatype tmpMeta6;
modelica_metatype tmpMeta7;
modelica_metatype tmpMeta8;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,9,3) == 0) goto tmp3_end;
tmpMeta6 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
tmpMeta7 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 3));
tmpMeta8 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 4));
_i_exp1 = tmpMeta6;
_i_operator = tmpMeta7;
_i_exp2 = tmpMeta8;
_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__855(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__855(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[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;
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: {
modelica_metatype tmpMeta6;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,22,1) == 0) goto tmp3_end;
tmpMeta6 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta6,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_LIT1112, _a_varDecls ,&_a_varDecls);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT1118);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _a_e1);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT1116);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _a_e2);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT1116);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _l_var);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT299);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT98);
_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_LIT30);
_txt = omc_Tpl_writeText(threadData, _txt, _a_e1);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT673);
_txt = omc_Tpl_writeText(threadData, _txt, _a_e2);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT87);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_preExp;
tmpMeta[0+2] = _a_varDecls;
goto tmp3_done;
}
case 2: {
modelica_metatype tmpMeta7;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,23,1) == 0) goto tmp3_end;
tmpMeta7 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta7,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_LIT1112, _a_varDecls ,&_a_varDecls);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT1120);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _a_e1);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT1116);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _a_e2);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT1116);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _l_var);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT299);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT98);
_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_LIT30);
_txt = omc_Tpl_writeText(threadData, _txt, _a_e1);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1095);
_txt = omc_Tpl_writeText(threadData, _txt, _a_e2);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT87);
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) 5816), ((modelica_integer) 14)), _OMC_LIT1121);
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[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_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: {
modelica_metatype tmpMeta6;
modelica_metatype tmpMeta7;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,8,2) == 0) goto tmp3_end;
tmpMeta6 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
tmpMeta7 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 3));
_i_operator = tmpMeta6;
_i_exp = tmpMeta7;
_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__853(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__853(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[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;
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__852(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: {
modelica_metatype tmpMeta6;
modelica_metatype tmpMeta7;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,6,1) == 0) goto tmp3_end;
tmpMeta6 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta6,6,2) == 0) goto tmp3_end;
tmpMeta7 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta6), 2));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta7,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_LIT1122, _a_varDecls ,&_a_varDecls);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT1124);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _a_e);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT1116);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _l_var);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT299);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT98);
_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: {
modelica_metatype tmpMeta8;
modelica_metatype tmpMeta9;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,6,1) == 0) goto tmp3_end;
tmpMeta8 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta8,6,2) == 0) goto tmp3_end;
tmpMeta9 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta8), 2));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta9,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_LIT462, _a_varDecls ,&_a_varDecls);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT1126);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _a_e);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT1116);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _l_var);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT299);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT98);
_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) 5790), ((modelica_integer) 34)), _OMC_LIT1127);
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) 5791), ((modelica_integer) 14)), _OMC_LIT1128);
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__852(threadData_t *threadData, modelica_metatype _in_txt, modelica_boolean _in_mArg, modelica_metatype _in_a_e)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta1;
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_e;
{
modelica_metatype _txt = NULL;
modelica_metatype _a_e = 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_e = tmp4_3;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1130);
_txt = omc_Tpl_writeText(threadData, _txt, _a_e);
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT610);
goto tmp3_done;
}
case 1: {
_txt = tmp4_1;
_a_e = tmp4_3;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1132);
_txt = omc_Tpl_writeText(threadData, _txt, _a_e);
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT87);
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta1;
_return: OMC_LABEL_UNUSED
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__852(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__852(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[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_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: {
modelica_metatype tmpMeta6;
modelica_metatype tmpMeta7;
modelica_metatype tmpMeta8;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,7,3) == 0) goto tmp3_end;
tmpMeta6 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
tmpMeta7 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 3));
tmpMeta8 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 4));
_i_exp = tmp4_2;
_i_exp1 = tmpMeta6;
_i_operator = tmpMeta7;
_i_exp2 = tmpMeta8;
_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__850(threadData, _txt, _i_operator, _a_auxFunction, _i_exp1, _i_exp, _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__850(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_operator, modelica_metatype _in_a_auxFunction, modelica_metatype _in_a_exp1, modelica_metatype _in_a_exp, 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[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_a_operator;
tmp4_3 = _in_a_auxFunction;
tmp4_4 = _in_a_exp1;
tmp4_5 = _in_a_exp;
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_exp1 = NULL;
modelica_metatype _a_exp = 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: {
modelica_metatype tmpMeta6;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,0,1) == 0) goto tmp3_end;
tmpMeta6 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta6,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_LIT322, _a_varDecls ,&_a_varDecls);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _l_tmpStr);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT1134);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _a_e1);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT234);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _a_e2);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT299);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT98);
_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_LIT490);
_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__828(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_LIT30);
_txt = omc_Tpl_writeText(threadData, _txt, _a_e1);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1136);
_txt = omc_Tpl_writeText(threadData, _txt, _a_e2);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT87);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_auxFunction;
tmpMeta[0+2] = _a_preExp;
tmpMeta[0+3] = _a_varDecls;
goto tmp3_done;
}
case 4: {
modelica_metatype tmpMeta7;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,3,1) == 0) goto tmp3_end;
tmpMeta7 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
_i_ty = tmpMeta7;
_txt = tmp4_1;
_a_auxFunction = tmp4_3;
_a_exp = 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;
_txt = omc_CodegenCFunctions_fun__830(threadData, _txt, _a_context, _a_exp2, _a_e1, _a_exp, _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_4;
_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__834(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_5;
_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: {
modelica_metatype tmpMeta8;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,7,1) == 0) goto tmp3_end;
tmpMeta8 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
_i_ty = tmpMeta8;
_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_LIT1138);
_txt = omc_Tpl_writeText(threadData, _txt, _l_type);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT30);
_txt = omc_Tpl_writeText(threadData, _txt, _a_e1);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT301);
_txt = omc_Tpl_writeText(threadData, _txt, _a_e2);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT87);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_auxFunction;
tmpMeta[0+2] = _a_preExp;
tmpMeta[0+3] = _a_varDecls;
goto tmp3_done;
}
case 8: {
modelica_metatype tmpMeta9;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,8,1) == 0) goto tmp3_end;
tmpMeta9 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
_i_ty = tmpMeta9;
_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__836(threadData, _OMC_LIT20, _i_ty);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1140);
_txt = omc_Tpl_writeText(threadData, _txt, _l_type);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT30);
_txt = omc_Tpl_writeText(threadData, _txt, _a_e1);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT301);
_txt = omc_Tpl_writeText(threadData, _txt, _a_e2);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT87);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_auxFunction;
tmpMeta[0+2] = _a_preExp;
tmpMeta[0+3] = _a_varDecls;
goto tmp3_done;
}
case 9: {
modelica_metatype tmpMeta10;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,9,1) == 0) goto tmp3_end;
tmpMeta10 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
_i_ty = tmpMeta10;
_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__837(threadData, _OMC_LIT20, _i_ty);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1142);
_txt = omc_Tpl_writeText(threadData, _txt, _l_type);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT30);
_txt = omc_Tpl_writeText(threadData, _txt, _a_e1);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT301);
_txt = omc_Tpl_writeText(threadData, _txt, _a_e2);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT87);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_auxFunction;
tmpMeta[0+2] = _a_preExp;
tmpMeta[0+3] = _a_varDecls;
goto tmp3_done;
}
case 10: {
modelica_metatype tmpMeta11;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,10,1) == 0) goto tmp3_end;
tmpMeta11 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
_i_ty = tmpMeta11;
_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__838(threadData, _OMC_LIT20, _i_ty);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1144);
_txt = omc_Tpl_writeText(threadData, _txt, _l_type);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT30);
_txt = omc_Tpl_writeText(threadData, _txt, _a_e1);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT301);
_txt = omc_Tpl_writeText(threadData, _txt, _a_e2);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT87);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_auxFunction;
tmpMeta[0+2] = _a_preExp;
tmpMeta[0+3] = _a_varDecls;
goto tmp3_done;
}
case 11: {
modelica_metatype tmpMeta12;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,11,1) == 0) goto tmp3_end;
tmpMeta12 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
_i_ty = tmpMeta12;
_txt = tmp4_1;
_a_auxFunction = tmp4_3;
_a_exp1 = tmp4_4;
_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);
_ret_4 = omc_Expression_typeof(threadData, _a_exp1);
_ret_5 = omc_Expression_isArrayType(threadData, _ret_4);
_txt = omc_CodegenCFunctions_fun__840(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: {
modelica_metatype tmpMeta13;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,12,1) == 0) goto tmp3_end;
tmpMeta13 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
_i_ty = tmpMeta13;
_txt = tmp4_1;
_a_auxFunction = tmp4_3;
_a_exp1 = tmp4_4;
_a_e2 = tmp4_8;
_a_e1 = tmp4_9;
_a_preExp = tmp4_10;
_a_varDecls = tmp4_11;
_l_type = omc_CodegenCFunctions_fun__841(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__842(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: {
modelica_metatype tmpMeta14;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,13,1) == 0) goto tmp3_end;
tmpMeta14 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
_i_ty = tmpMeta14;
_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__843(threadData, _OMC_LIT20, _i_ty);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1146);
_txt = omc_Tpl_writeText(threadData, _txt, _l_type);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT30);
_txt = omc_Tpl_writeText(threadData, _txt, _a_e1);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT301);
_txt = omc_Tpl_writeText(threadData, _txt, _a_e2);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT87);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_auxFunction;
tmpMeta[0+2] = _a_preExp;
tmpMeta[0+3] = _a_varDecls;
goto tmp3_done;
}
case 14: {
modelica_metatype tmpMeta15;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,14,1) == 0) goto tmp3_end;
tmpMeta15 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
_i_ty = tmpMeta15;
_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__844(threadData, _OMC_LIT20, _i_ty);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1148);
_txt = omc_Tpl_writeText(threadData, _txt, _l_type);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1150);
_txt = omc_Tpl_writeText(threadData, _txt, _a_e1);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT301);
_txt = omc_Tpl_writeText(threadData, _txt, _a_e2);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT87);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_auxFunction;
tmpMeta[0+2] = _a_preExp;
tmpMeta[0+3] = _a_varDecls;
goto tmp3_done;
}
case 15: {
modelica_metatype tmpMeta16;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,15,1) == 0) goto tmp3_end;
tmpMeta16 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
_i_ty = tmpMeta16;
_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__845(threadData, _OMC_LIT20, _i_ty);
_l_type = omc_Tpl_writeText(threadData, _OMC_LIT20, _l_typeShort);
_l_type = omc_Tpl_writeTok(threadData, _l_type, _OMC_LIT1152);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1142);
_txt = omc_Tpl_writeText(threadData, _txt, _l_typeShort);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1154);
_txt = omc_Tpl_writeText(threadData, _txt, _a_e1);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT301);
_txt = omc_Tpl_writeText(threadData, _txt, _a_e2);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT87);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_auxFunction;
tmpMeta[0+2] = _a_preExp;
tmpMeta[0+3] = _a_varDecls;
goto tmp3_done;
}
case 16: {
modelica_metatype tmpMeta17;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,16,1) == 0) goto tmp3_end;
tmpMeta17 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
_i_ty = tmpMeta17;
_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__846(threadData, _OMC_LIT20, _i_ty);
_txt_10 = omc_ExpressionDumpTpl_dumpExp(threadData, _OMC_LIT20, _a_exp2, _OMC_LIT239);
_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__847(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: {
modelica_metatype tmpMeta18;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,17,1) == 0) goto tmp3_end;
tmpMeta18 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
_i_ty = tmpMeta18;
_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__848(threadData, _OMC_LIT20, _i_ty);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1156);
_txt = omc_Tpl_writeText(threadData, _txt, _l_type);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT30);
_txt = omc_Tpl_writeText(threadData, _txt, _a_e1);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT301);
_txt = omc_Tpl_writeText(threadData, _txt, _a_e2);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT87);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_auxFunction;
tmpMeta[0+2] = _a_preExp;
tmpMeta[0+3] = _a_varDecls;
goto tmp3_done;
}
case 18: {
modelica_metatype tmpMeta19;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,18,1) == 0) goto tmp3_end;
tmpMeta19 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
_i_ty = tmpMeta19;
_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__849(threadData, _OMC_LIT20, _i_ty);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1158);
_txt = omc_Tpl_writeText(threadData, _txt, _l_type);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1160);
_txt = omc_Tpl_writeText(threadData, _txt, _a_e1);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT301);
_txt = omc_Tpl_writeText(threadData, _txt, _a_e2);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT87);
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_LIT1162);
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_LIT1164);
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_LIT1166);
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_LIT1168);
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) 5766), ((modelica_integer) 14)), _OMC_LIT1169);
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__849(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_ty)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta1;
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_metatype tmp4_2;
tmp4_1 = _in_txt;
tmp4_2 = _in_a_ty;
{
modelica_metatype _txt = NULL;
volatile mmc_switch_type tmp4;
int tmp5;
tmp4 = 0;
for (; tmp4 < 3; tmp4++) {
switch (MMC_SWITCH_CAST(tmp4)) {
case 0: {
modelica_metatype tmpMeta6;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,6,2) == 0) goto tmp3_end;
tmpMeta6 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta6,0,1) == 0) goto tmp3_end;
_txt = tmp4_1;
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1170);
goto tmp3_done;
}
case 1: {
modelica_metatype tmpMeta7;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,6,2) == 0) goto tmp3_end;
tmpMeta7 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta7,5,5) == 0) goto tmp3_end;
_txt = tmp4_1;
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1170);
goto tmp3_done;
}
case 2: {
_txt = tmp4_1;
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1171);
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta1;
_return: OMC_LABEL_UNUSED
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__848(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_ty)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta1;
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_metatype tmp4_2;
tmp4_1 = _in_txt;
tmp4_2 = _in_a_ty;
{
modelica_metatype _txt = NULL;
volatile mmc_switch_type tmp4;
int tmp5;
tmp4 = 0;
for (; tmp4 < 3; tmp4++) {
switch (MMC_SWITCH_CAST(tmp4)) {
case 0: {
modelica_metatype tmpMeta6;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,6,2) == 0) goto tmp3_end;
tmpMeta6 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta6,0,1) == 0) goto tmp3_end;
_txt = tmp4_1;
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1170);
goto tmp3_done;
}
case 1: {
modelica_metatype tmpMeta7;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,6,2) == 0) goto tmp3_end;
tmpMeta7 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta7,5,5) == 0) goto tmp3_end;
_txt = tmp4_1;
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1170);
goto tmp3_done;
}
case 2: {
_txt = tmp4_1;
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1171);
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta1;
_return: OMC_LABEL_UNUSED
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__847(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 tmpMeta1;
MMC_SO();
_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_e2str;
tmp4_4 = _in_a_e2;
tmp4_5 = _in_a_e1;
tmp4_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 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_e2 = tmp4_4;
_a_e1 = tmp4_5;
_a_type = tmp4_6;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1144);
_txt = omc_Tpl_writeText(threadData, _txt, _a_type);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1160);
_txt = omc_Tpl_writeText(threadData, _txt, _a_e1);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT301);
_txt = omc_Tpl_writeText(threadData, _txt, _a_e2);
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT87);
goto tmp3_done;
}
case 1: {
_txt = tmp4_1;
_a_e2str = tmp4_3;
_a_e2 = tmp4_4;
_a_e1 = tmp4_5;
_a_type = tmp4_6;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1173);
_txt = omc_Tpl_writeText(threadData, _txt, _a_type);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1175);
_txt = omc_Tpl_writeText(threadData, _txt, _a_e1);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT234);
_txt = omc_Tpl_writeText(threadData, _txt, _a_e2);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1177);
_txt = omc_Tpl_writeText(threadData, _txt, _a_e2str);
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1179);
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta1;
_return: OMC_LABEL_UNUSED
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__846(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_ty)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta1;
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_metatype tmp4_2;
tmp4_1 = _in_txt;
tmp4_2 = _in_a_ty;
{
modelica_metatype _txt = NULL;
volatile mmc_switch_type tmp4;
int tmp5;
tmp4 = 0;
for (; tmp4 < 3; tmp4++) {
switch (MMC_SWITCH_CAST(tmp4)) {
case 0: {
modelica_metatype tmpMeta6;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,6,2) == 0) goto tmp3_end;
tmpMeta6 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta6,0,1) == 0) goto tmp3_end;
_txt = tmp4_1;
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1170);
goto tmp3_done;
}
case 1: {
modelica_metatype tmpMeta7;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,6,2) == 0) goto tmp3_end;
tmpMeta7 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta7,5,5) == 0) goto tmp3_end;
_txt = tmp4_1;
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1170);
goto tmp3_done;
}
case 2: {
_txt = tmp4_1;
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1171);
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta1;
_return: OMC_LABEL_UNUSED
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__845(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_ty)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta1;
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_metatype tmp4_2;
tmp4_1 = _in_txt;
tmp4_2 = _in_a_ty;
{
modelica_metatype _txt = NULL;
volatile mmc_switch_type tmp4;
int tmp5;
tmp4 = 0;
for (; tmp4 < 3; tmp4++) {
switch (MMC_SWITCH_CAST(tmp4)) {
case 0: {
modelica_metatype tmpMeta6;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,6,2) == 0) goto tmp3_end;
tmpMeta6 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta6,0,1) == 0) goto tmp3_end;
_txt = tmp4_1;
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1180);
goto tmp3_done;
}
case 1: {
modelica_metatype tmpMeta7;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,6,2) == 0) goto tmp3_end;
tmpMeta7 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta7,5,5) == 0) goto tmp3_end;
_txt = tmp4_1;
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1180);
goto tmp3_done;
}
case 2: {
_txt = tmp4_1;
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1181);
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta1;
_return: OMC_LABEL_UNUSED
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__844(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_ty)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta1;
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_metatype tmp4_2;
tmp4_1 = _in_txt;
tmp4_2 = _in_a_ty;
{
modelica_metatype _txt = NULL;
volatile mmc_switch_type tmp4;
int tmp5;
tmp4 = 0;
for (; tmp4 < 5; tmp4++) {
switch (MMC_SWITCH_CAST(tmp4)) {
case 0: {
modelica_metatype tmpMeta6;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,6,2) == 0) goto tmp3_end;
tmpMeta6 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta6,0,1) == 0) goto tmp3_end;
_txt = tmp4_1;
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1183);
goto tmp3_done;
}
case 1: {
modelica_metatype tmpMeta7;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,6,2) == 0) goto tmp3_end;
tmpMeta7 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta7,5,5) == 0) goto tmp3_end;
_txt = tmp4_1;
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1183);
goto tmp3_done;
}
case 2: {
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,0,1) == 0) goto tmp3_end;
_txt = tmp4_1;
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1183);
goto tmp3_done;
}
case 3: {
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,5,5) == 0) goto tmp3_end;
_txt = tmp4_1;
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1183);
goto tmp3_done;
}
case 4: {
_txt = tmp4_1;
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1185);
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta1;
_return: OMC_LABEL_UNUSED
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__843(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_ty)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta1;
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_metatype tmp4_2;
tmp4_1 = _in_txt;
tmp4_2 = _in_a_ty;
{
modelica_metatype _txt = NULL;
volatile mmc_switch_type tmp4;
int tmp5;
tmp4 = 0;
for (; tmp4 < 3; tmp4++) {
switch (MMC_SWITCH_CAST(tmp4)) {
case 0: {
modelica_metatype tmpMeta6;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,6,2) == 0) goto tmp3_end;
tmpMeta6 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta6,0,1) == 0) goto tmp3_end;
_txt = tmp4_1;
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1170);
goto tmp3_done;
}
case 1: {
modelica_metatype tmpMeta7;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,6,2) == 0) goto tmp3_end;
tmpMeta7 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta7,5,5) == 0) goto tmp3_end;
_txt = tmp4_1;
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1170);
goto tmp3_done;
}
case 2: {
_txt = tmp4_1;
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1171);
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta1;
_return: OMC_LABEL_UNUSED
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__842(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 tmpMeta1;
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_e1;
tmp4_4 = _in_a_e2;
tmp4_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 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_e1 = tmp4_3;
_a_e2 = tmp4_4;
_a_type = tmp4_5;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1138);
_txt = omc_Tpl_writeText(threadData, _txt, _a_type);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1160);
_txt = omc_Tpl_writeText(threadData, _txt, _a_e2);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT301);
_txt = omc_Tpl_writeText(threadData, _txt, _a_e1);
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT87);
goto tmp3_done;
}
case 1: {
_txt = tmp4_1;
_a_e1 = tmp4_3;
_a_e2 = tmp4_4;
_a_type = tmp4_5;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1138);
_txt = omc_Tpl_writeText(threadData, _txt, _a_type);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1160);
_txt = omc_Tpl_writeText(threadData, _txt, _a_e1);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT301);
_txt = omc_Tpl_writeText(threadData, _txt, _a_e2);
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT87);
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta1;
_return: OMC_LABEL_UNUSED
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__842(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__842(threadData, _in_txt, tmp1, _in_a_e1, _in_a_e2, _in_a_type);
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__841(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_ty)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta1;
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_metatype tmp4_2;
tmp4_1 = _in_txt;
tmp4_2 = _in_a_ty;
{
modelica_metatype _txt = NULL;
volatile mmc_switch_type tmp4;
int tmp5;
tmp4 = 0;
for (; tmp4 < 3; tmp4++) {
switch (MMC_SWITCH_CAST(tmp4)) {
case 0: {
modelica_metatype tmpMeta6;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,6,2) == 0) goto tmp3_end;
tmpMeta6 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta6,0,1) == 0) goto tmp3_end;
_txt = tmp4_1;
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1170);
goto tmp3_done;
}
case 1: {
modelica_metatype tmpMeta7;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,6,2) == 0) goto tmp3_end;
tmpMeta7 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta7,5,5) == 0) goto tmp3_end;
_txt = tmp4_1;
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1170);
goto tmp3_done;
}
case 2: {
_txt = tmp4_1;
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1171);
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta1;
_return: OMC_LABEL_UNUSED
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__840(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 tmpMeta1;
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_e1;
tmp4_4 = _in_a_e2;
tmp4_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 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_e1 = tmp4_3;
_a_e2 = tmp4_4;
_a_type = tmp4_5;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1142);
_txt = omc_Tpl_writeText(threadData, _txt, _a_type);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1160);
_txt = omc_Tpl_writeText(threadData, _txt, _a_e2);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT301);
_txt = omc_Tpl_writeText(threadData, _txt, _a_e1);
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT87);
goto tmp3_done;
}
case 1: {
_txt = tmp4_1;
_a_e1 = tmp4_3;
_a_e2 = tmp4_4;
_a_type = tmp4_5;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1142);
_txt = omc_Tpl_writeText(threadData, _txt, _a_type);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1160);
_txt = omc_Tpl_writeText(threadData, _txt, _a_e1);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT301);
_txt = omc_Tpl_writeText(threadData, _txt, _a_e2);
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT87);
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta1;
_return: OMC_LABEL_UNUSED
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__840(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__840(threadData, _in_txt, tmp1, _in_a_e1, _in_a_e2, _in_a_type);
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 tmpMeta1;
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_metatype tmp4_2;
tmp4_1 = _in_txt;
tmp4_2 = _in_a_ty;
{
modelica_metatype _txt = NULL;
volatile mmc_switch_type tmp4;
int tmp5;
tmp4 = 0;
for (; tmp4 < 3; tmp4++) {
switch (MMC_SWITCH_CAST(tmp4)) {
case 0: {
modelica_metatype tmpMeta6;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,6,2) == 0) goto tmp3_end;
tmpMeta6 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta6,0,1) == 0) goto tmp3_end;
_txt = tmp4_1;
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1170);
goto tmp3_done;
}
case 1: {
modelica_metatype tmpMeta7;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,6,2) == 0) goto tmp3_end;
tmpMeta7 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta7,5,5) == 0) goto tmp3_end;
_txt = tmp4_1;
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1170);
goto tmp3_done;
}
case 2: {
_txt = tmp4_1;
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1171);
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta1;
_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_ty)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta1;
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_metatype tmp4_2;
tmp4_1 = _in_txt;
tmp4_2 = _in_a_ty;
{
modelica_metatype _txt = NULL;
volatile mmc_switch_type tmp4;
int tmp5;
tmp4 = 0;
for (; tmp4 < 3; tmp4++) {
switch (MMC_SWITCH_CAST(tmp4)) {
case 0: {
modelica_metatype tmpMeta6;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,6,2) == 0) goto tmp3_end;
tmpMeta6 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta6,0,1) == 0) goto tmp3_end;
_txt = tmp4_1;
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1170);
goto tmp3_done;
}
case 1: {
modelica_metatype tmpMeta7;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,6,2) == 0) goto tmp3_end;
tmpMeta7 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta7,5,5) == 0) goto tmp3_end;
_txt = tmp4_1;
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1170);
goto tmp3_done;
}
case 2: {
_txt = tmp4_1;
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1171);
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta1;
_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 tmpMeta1;
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_metatype tmp4_2;
tmp4_1 = _in_txt;
tmp4_2 = _in_a_ty;
{
modelica_metatype _txt = NULL;
volatile mmc_switch_type tmp4;
int tmp5;
tmp4 = 0;
for (; tmp4 < 3; tmp4++) {
switch (MMC_SWITCH_CAST(tmp4)) {
case 0: {
modelica_metatype tmpMeta6;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,6,2) == 0) goto tmp3_end;
tmpMeta6 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta6,0,1) == 0) goto tmp3_end;
_txt = tmp4_1;
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1170);
goto tmp3_done;
}
case 1: {
modelica_metatype tmpMeta7;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,6,2) == 0) goto tmp3_end;
tmpMeta7 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta7,5,5) == 0) goto tmp3_end;
_txt = tmp4_1;
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1170);
goto tmp3_done;
}
case 2: {
_txt = tmp4_1;
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1171);
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta1;
_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 tmpMeta1;
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_metatype tmp4_2;
tmp4_1 = _in_txt;
tmp4_2 = _in_a_ty;
{
modelica_metatype _txt = NULL;
volatile mmc_switch_type tmp4;
int tmp5;
tmp4 = 0;
for (; tmp4 < 3; tmp4++) {
switch (MMC_SWITCH_CAST(tmp4)) {
case 0: {
modelica_metatype tmpMeta6;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,6,2) == 0) goto tmp3_end;
tmpMeta6 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta6,0,1) == 0) goto tmp3_end;
_txt = tmp4_1;
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1170);
goto tmp3_done;
}
case 1: {
modelica_metatype tmpMeta7;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,6,2) == 0) goto tmp3_end;
tmpMeta7 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta7,5,5) == 0) goto tmp3_end;
_txt = tmp4_1;
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1170);
goto tmp3_done;
}
case 2: {
_txt = tmp4_1;
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1171);
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta1;
_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 tmpMeta1;
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_metatype tmp4_2;
tmp4_1 = _in_txt;
tmp4_2 = _in_a_ty;
{
modelica_metatype _txt = NULL;
volatile mmc_switch_type tmp4;
int tmp5;
tmp4 = 0;
for (; tmp4 < 3; tmp4++) {
switch (MMC_SWITCH_CAST(tmp4)) {
case 0: {
modelica_metatype tmpMeta6;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,6,2) == 0) goto tmp3_end;
tmpMeta6 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta6,0,1) == 0) goto tmp3_end;
_txt = tmp4_1;
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1170);
goto tmp3_done;
}
case 1: {
modelica_metatype tmpMeta7;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,6,2) == 0) goto tmp3_end;
tmpMeta7 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta7,5,5) == 0) goto tmp3_end;
_txt = tmp4_1;
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1170);
goto tmp3_done;
}
case 2: {
_txt = tmp4_1;
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1171);
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta1;
_return: OMC_LABEL_UNUSED
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__834(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__833(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_LIT239);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _l_tmp);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT129);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _a_e1);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT169);
_txt_4 = omc_Tpl_writeText(threadData, _OMC_LIT20, _l_tmp);
_txt_4 = omc_Tpl_writeTok(threadData, _txt_4, _OMC_LIT968);
_txt_5 = omc_Tpl_writeTok(threadData, _OMC_LIT20, _OMC_LIT970);
_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_LIT972);
_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_LIT713 ,&_txt_4 ,&_txt_5 ,&_a_varDecls);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT974);
_txt = omc_Tpl_writeText(threadData, _txt, _l_tmp);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT87);
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__834(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__834(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__833(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[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;
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_metatype tmpMeta6;
modelica_integer tmp7;
if (optionNone(tmp4_2)) goto tmp3_end;
tmpMeta6 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 1));
tmp7 = mmc_unbox_integer(tmpMeta6);
if (2 != 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_LIT622, _a_varDecls ,&_a_varDecls);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _l_tmp);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT129);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _a_e1);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT113);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT98);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT30);
_txt = omc_Tpl_writeText(threadData, _txt, _l_tmp);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1187);
_txt = omc_Tpl_writeText(threadData, _txt, _l_tmp);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT87);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_preExp;
tmpMeta[0+2] = _a_varDecls;
goto tmp3_done;
}
case 1: {
modelica_metatype tmpMeta8;
modelica_integer tmp9;
if (optionNone(tmp4_2)) goto tmp3_end;
tmpMeta8 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 1));
tmp9 = mmc_unbox_integer(tmpMeta8);
if (3 != tmp9) 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_LIT622, _a_varDecls ,&_a_varDecls);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _l_tmp);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT129);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _a_e1);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT113);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT98);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT30);
_txt = omc_Tpl_writeText(threadData, _txt, _l_tmp);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1187);
_txt = omc_Tpl_writeText(threadData, _txt, _l_tmp);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1187);
_txt = omc_Tpl_writeText(threadData, _txt, _l_tmp);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT87);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_preExp;
tmpMeta[0+2] = _a_varDecls;
goto tmp3_done;
}
case 2: {
modelica_metatype tmpMeta10;
modelica_integer tmp11;
if (optionNone(tmp4_2)) goto tmp3_end;
tmpMeta10 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 1));
tmp11 = mmc_unbox_integer(tmpMeta10);
if (4 != tmp11) 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_LIT622, _a_varDecls ,&_a_varDecls);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _l_tmp);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT129);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _a_e1);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT113);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT98);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _l_tmp);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT1189);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _l_tmp);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT113);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT30);
_txt = omc_Tpl_writeText(threadData, _txt, _l_tmp);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1187);
_txt = omc_Tpl_writeText(threadData, _txt, _l_tmp);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT87);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_preExp;
tmpMeta[0+2] = _a_varDecls;
goto tmp3_done;
}
case 3: {
modelica_metatype tmpMeta12;
modelica_integer tmp13;
if (optionNone(tmp4_2)) goto tmp3_end;
tmpMeta12 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 1));
tmp13 = mmc_unbox_integer(tmpMeta12);
_i_i = tmp13;
_txt = tmp4_1;
_a_e1 = tmp4_4;
_a_preExp = tmp4_5;
_a_varDecls = tmp4_6;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1191);
_txt = omc_Tpl_writeText(threadData, _txt, _a_e1);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT301);
_txt = omc_Tpl_writeStr(threadData, _txt, intString(_i_i));
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT87);
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_LIT622, _a_varDecls ,&_a_varDecls);
_l_tmp2 = omc_CodegenCFunctions_tempDecl(threadData, _OMC_LIT20, _OMC_LIT622, _a_varDecls ,&_a_varDecls);
_l_tmp3 = omc_CodegenCFunctions_tempDecl(threadData, _OMC_LIT20, _OMC_LIT622, _a_varDecls ,&_a_varDecls);
_l_tmp4 = omc_CodegenCFunctions_tempDecl(threadData, _OMC_LIT20, _OMC_LIT622, _a_varDecls ,&_a_varDecls);
_l_tmp5 = omc_CodegenCFunctions_tempDecl(threadData, _OMC_LIT20, _OMC_LIT622, _a_varDecls ,&_a_varDecls);
_l_tmp6 = omc_CodegenCFunctions_tempDecl(threadData, _OMC_LIT20, _OMC_LIT622, _a_varDecls ,&_a_varDecls);
_l_tmp7 = omc_CodegenCFunctions_tempDecl(threadData, _OMC_LIT20, _OMC_LIT622, _a_varDecls ,&_a_varDecls);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _l_tmp1);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT129);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _a_e1);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT169);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _l_tmp2);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT129);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _a_e2);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT1025);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _l_tmp1);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT1193);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _l_tmp2);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT1196);
_a_preExp = omc_Tpl_pushBlock(threadData, _a_preExp, _OMC_LIT105);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _l_tmp4);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT1198);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _l_tmp2);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT131);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _l_tmp5);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT1202);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _l_tmp4);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT1205);
_a_preExp = omc_Tpl_pushBlock(threadData, _a_preExp, _OMC_LIT105);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _l_tmp4);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT1207);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _l_tmp5);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT1209);
_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_tmp4);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT1216);
_a_preExp = omc_Tpl_pushBlock(threadData, _a_preExp, _OMC_LIT105);
_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_tmp5);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT1207);
_a_preExp = omc_Tpl_popBlock(threadData, _a_preExp);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT1221);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _l_tmp4);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT1223);
_a_preExp = omc_Tpl_pushBlock(threadData, _a_preExp, _OMC_LIT105);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _l_tmp3);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT1225);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _l_tmp1);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT301);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _l_tmp5);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT386);
_a_preExp = omc_Tpl_popBlock(threadData, _a_preExp);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT1226);
_a_preExp = omc_Tpl_pushBlock(threadData, _a_preExp, _OMC_LIT105);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _l_tmp7);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT1228);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _l_tmp2);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT131);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _l_tmp6);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT1230);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _l_tmp7);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT1205);
_a_preExp = omc_Tpl_pushBlock(threadData, _a_preExp, _OMC_LIT105);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _l_tmp7);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT1207);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _l_tmp6);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT1209);
_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_tmp7);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT1216);
_a_preExp = omc_Tpl_pushBlock(threadData, _a_preExp, _OMC_LIT105);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _l_tmp7);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT1209);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _l_tmp6);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT1207);
_a_preExp = omc_Tpl_popBlock(threadData, _a_preExp);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT1232);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _l_tmp7);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT1234);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _l_tmp6);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT1237);
_a_preExp = omc_Tpl_pushBlock(threadData, _a_preExp, _OMC_LIT105);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _l_tmp3);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT1239);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _l_tmp1);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT301);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _l_tmp4);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT1241);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _l_tmp1);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT301);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _l_tmp5);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT386);
_a_preExp = omc_Tpl_popBlock(threadData, _a_preExp);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT443);
_a_preExp = omc_Tpl_pushBlock(threadData, _a_preExp, _OMC_LIT105);
_ret_8 = omc_Config_acceptMetaModelicaGrammar(threadData);
_a_preExp = omc_CodegenCFunctions_fun__831(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_LIT167);
_a_preExp = omc_Tpl_popBlock(threadData, _a_preExp);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT167);
_a_preExp = omc_Tpl_popBlock(threadData, _a_preExp);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT443);
_a_preExp = omc_Tpl_pushBlock(threadData, _a_preExp, _OMC_LIT105);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _l_tmp3);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT1225);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _l_tmp1);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT301);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _l_tmp2);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT386);
_a_preExp = omc_Tpl_popBlock(threadData, _a_preExp);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT1245);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _l_tmp3);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT1247);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _l_tmp3);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT1250);
_a_preExp = omc_Tpl_pushBlock(threadData, _a_preExp, _OMC_LIT105);
_ret_9 = omc_Config_acceptMetaModelicaGrammar(threadData);
_a_preExp = omc_CodegenCFunctions_fun__832(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_LIT111);
_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__832(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 tmpMeta1;
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_tmp2;
tmp4_4 = _in_a_tmp1;
{
modelica_metatype _txt = NULL;
modelica_metatype _a_tmp2 = NULL;
modelica_metatype _a_tmp1 = 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_tmp2 = tmp4_3;
_a_tmp1 = tmp4_4;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1252);
_txt = omc_Tpl_writeText(threadData, _txt, _a_tmp1);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT301);
_txt = omc_Tpl_writeText(threadData, _txt, _a_tmp2);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT299);
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT98);
goto tmp3_done;
}
case 1: {
_txt = tmp4_1;
_txt = omc_CodegenCFunctions_generateThrow(threadData, _txt);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT113);
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT98);
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta1;
_return: OMC_LABEL_UNUSED
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__832(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__832(threadData, _in_txt, tmp1, _in_a_tmp2, _in_a_tmp1);
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_tmp2, modelica_metatype _in_a_tmp1)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta1;
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_tmp2;
tmp4_4 = _in_a_tmp1;
{
modelica_metatype _txt = NULL;
modelica_metatype _a_tmp2 = NULL;
modelica_metatype _a_tmp1 = 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_tmp2 = tmp4_3;
_a_tmp1 = tmp4_4;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1252);
_txt = omc_Tpl_writeText(threadData, _txt, _a_tmp1);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT301);
_txt = omc_Tpl_writeText(threadData, _txt, _a_tmp2);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT299);
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT98);
goto tmp3_done;
}
case 1: {
_txt = tmp4_1;
_txt = omc_CodegenCFunctions_generateThrow(threadData, _txt);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT113);
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT98);
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta1;
_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_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__831(threadData, _in_txt, tmp1, _in_a_tmp2, _in_a_tmp1);
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__830(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_exp, 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;modelica_metatype tmp4_9;
tmp4_1 = _in_txt;
tmp4_2 = _in_a_context;
tmp4_3 = _in_a_exp2;
tmp4_4 = _in_a_e1;
tmp4_5 = _in_a_exp;
tmp4_6 = _in_a_e2;
tmp4_7 = _in_a_preExp;
tmp4_8 = _in_a_varDecls;
tmp4_9 = _in_a_ty;
{
modelica_metatype _txt = NULL;
modelica_metatype _a_exp2 = NULL;
modelica_metatype _a_e1 = NULL;
modelica_metatype _a_exp = 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_exp = tmp4_5;
_a_e2 = tmp4_6;
_a_preExp = tmp4_7;
_a_varDecls = tmp4_8;
_a_ty = tmp4_9;
_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_LIT129);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _a_e2);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT113);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT98);
_ret_2 = omc_Config_acceptMetaModelicaGrammar(threadData);
_a_preExp = omc_CodegenCFunctions_fun__829(threadData, _a_preExp, _ret_2, _a_exp, _l_tvar);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT30);
_txt = omc_Tpl_writeText(threadData, _txt, _a_e1);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT962);
_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_6;
_a_preExp = tmp4_7;
_a_varDecls = tmp4_8;
_txt_4 = omc_ExpressionDumpTpl_dumpExp(threadData, _OMC_LIT20, _a_exp2, _OMC_LIT239);
_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_LIT1254);
_txt = omc_Tpl_writeText(threadData, _txt, _a_e1);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT234);
_txt = omc_Tpl_writeText(threadData, _txt, _a_e2);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1177);
_txt = omc_Tpl_writeText(threadData, _txt, _l_e2str);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1256);
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_6;
_a_preExp = tmp4_7;
_a_varDecls = tmp4_8;
_txt_6 = omc_ExpressionDumpTpl_dumpExp(threadData, _OMC_LIT20, _a_exp2, _OMC_LIT239);
_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_LIT1258);
_txt = omc_Tpl_writeText(threadData, _txt, _a_e1);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT234);
_txt = omc_Tpl_writeText(threadData, _txt, _a_e2);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1177);
_txt = omc_Tpl_writeText(threadData, _txt, _l_e2str);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1179);
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__829(threadData_t *threadData, modelica_metatype _in_txt, modelica_boolean _in_mArg, modelica_metatype _in_a_exp, modelica_metatype _in_a_tvar)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta1;
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_exp;
tmp4_4 = _in_a_tvar;
{
modelica_metatype _txt = NULL;
modelica_metatype _a_exp = NULL;
modelica_metatype _a_tvar = NULL;
modelica_string _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_exp = tmp4_3;
_a_tvar = tmp4_4;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT257);
_txt = omc_Tpl_writeText(threadData, _txt, _a_tvar);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1260);
_txt_0 = omc_ExpressionDumpTpl_dumpExp(threadData, _OMC_LIT20, _a_exp, _OMC_LIT239);
_ret_1 = omc_Util_escapeModelicaStringToCString(threadData, omc_Tpl_textString(threadData, _txt_0));
_txt = omc_Tpl_writeStr(threadData, _txt, _ret_1);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT950);
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT98);
goto tmp3_done;
}
case 1: {
_txt = tmp4_1;
_a_tvar = tmp4_4;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT257);
_txt = omc_Tpl_writeText(threadData, _txt, _a_tvar);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT966);
_txt = omc_CodegenCFunctions_generateThrow(threadData, _txt);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT954);
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT98);
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta1;
_return: OMC_LABEL_UNUSED
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__829(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_mArg, modelica_metatype _in_a_exp, modelica_metatype _in_a_tvar)
{
modelica_integer tmp1;
modelica_metatype _out_txt = NULL;
tmp1 = mmc_unbox_integer(_in_mArg);
_out_txt = omc_CodegenCFunctions_fun__829(threadData, _in_txt, tmp1, _in_a_exp, _in_a_tvar);
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__828(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 tmpMeta1;
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_e2;
tmp4_4 = _in_a_e1;
{
modelica_metatype _txt = NULL;
modelica_metatype _a_e2 = NULL;
modelica_metatype _a_e1 = 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_3;
_a_e1 = tmp4_4;
_txt = omc_Tpl_writeText(threadData, _txt, _a_e1);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1262);
_txt = omc_Tpl_writeText(threadData, _txt, _a_e2);
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT87);
goto tmp3_done;
}
case 1: {
_txt = tmp4_1;
_a_e2 = tmp4_3;
_a_e1 = tmp4_4;
_txt = omc_Tpl_writeText(threadData, _txt, _a_e1);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT665);
tmpMeta1 = omc_Tpl_writeText(threadData, _txt, _a_e2);
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta1;
_return: OMC_LABEL_UNUSED
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__828(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__828(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_LIT303);
_l_idx__str = omc_CodegenCFunctions_lm__826(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_LIT446, _out_a_varDecls ,&_out_a_varDecls);
_out_a_preExp = omc_Tpl_writeTok(threadData, _out_a_preExp, _OMC_LIT448);
_out_a_preExp = omc_Tpl_writeText(threadData, _out_a_preExp, _l_tmp);
_out_a_preExp = omc_Tpl_writeTok(threadData, _out_a_preExp, _OMC_LIT301);
_out_a_preExp = omc_Tpl_writeText(threadData, _out_a_preExp, _l_nridx__str);
_out_a_preExp = omc_Tpl_writeTok(threadData, _out_a_preExp, _OMC_LIT301);
_out_a_preExp = omc_Tpl_writeText(threadData, _out_a_preExp, _l_idx__str);
_out_a_preExp = omc_Tpl_writeTok(threadData, _out_a_preExp, _OMC_LIT299);
_out_a_preExp = omc_Tpl_writeTok(threadData, _out_a_preExp, _OMC_LIT98);
_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__826(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[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_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: {
modelica_metatype tmpMeta6;
modelica_metatype tmpMeta7;
if (listEmpty(tmp4_2)) goto tmp3_end;
tmpMeta6 = MMC_CAR(tmp4_2);
tmpMeta7 = MMC_CDR(tmp4_2);
_i_sub = tmpMeta6;
_rest = tmpMeta7;
_txt = tmp4_1;
_a_auxFunction = tmp4_3;
_a_varDecls = tmp4_4;
_a_preExp = tmp4_5;
_a_context = tmp4_6;
_txt = omc_CodegenCFunctions_fun__825(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__825(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[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_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: {
modelica_metatype tmpMeta5;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,2,1) == 0) goto tmp3_end;
tmpMeta5 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
_i_exp = tmpMeta5;
_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_LIT1264);
_l_str = omc_Tpl_writeText(threadData, _l_str, _l_expPart);
_l_str = omc_Tpl_writeTok(threadData, _l_str, _OMC_LIT1266);
_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_LIT1268);
_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: {
modelica_metatype tmpMeta6;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,1,1) == 0) goto tmp3_end;
tmpMeta6 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
_i_exp = tmpMeta6;
_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_LIT253, _a_varDecls ,&_a_varDecls);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _l_tmp);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT461);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _l_expPart);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT1270);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT98);
_l_str = omc_Tpl_writeText(threadData, _OMC_LIT20, _l_tmp);
_l_str = omc_Tpl_writeTok(threadData, _l_str, _OMC_LIT1272);
_l_str = omc_Tpl_writeText(threadData, _l_str, _l_expPart);
_l_str = omc_Tpl_writeTok(threadData, _l_str, _OMC_LIT1274);
_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[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_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: {
modelica_metatype tmpMeta6;
modelica_metatype tmpMeta7;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,6,2) == 0) goto tmp3_end;
tmpMeta6 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
tmpMeta7 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 3));
_i_ecr = tmp4_2;
_i_cr = tmpMeta6;
_i_ty = tmpMeta7;
_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__823(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_LIT1276);
_txt_1 = omc_ExpressionDumpTpl_dumpExp(threadData, _txt_1, _i_ecr, _OMC_LIT239);
_txt = omc_CodegenUtil_error(threadData, _txt, omc_Tpl_sourceInfo(threadData, _OMC_LIT27, ((modelica_integer) 5524), ((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__823(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_metatype _l_sub = 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__822(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;
_l_sub = _OMC_LIT20;
_txt = omc_CodegenCFunctions_contextCref(threadData, _txt, _a_cr, _a_context, _a_preExp, _a_varDecls, _a_auxFunction, _l_sub ,&_a_preExp ,&_a_varDecls ,&_a_auxFunction ,&_l_sub);
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__823(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__823(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__822(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_9 = NULL;
modelica_metatype _l_subsValuesStr = NULL;
modelica_integer _ret_7;
modelica_metatype _ret_6 = NULL;
modelica_metatype _l_subsLenStr = NULL;
modelica_metatype _l_arrayType = NULL;
modelica_metatype _ret_3 = NULL;
modelica_metatype _l_arrName = NULL;
modelica_metatype _l_sub = 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_LIT1278);
_txt_0 = omc_ExpressionDumpTpl_dumpExp(threadData, _txt_0, _a_ecr, _OMC_LIT239);
_txt = omc_CodegenUtil_error(threadData, _txt, omc_Tpl_sourceInfo(threadData, _OMC_LIT27, ((modelica_integer) 5521), ((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;
_l_sub = _OMC_LIT20;
_ret_3 = omc_ComponentReference_crefStripLastSubs(threadData, _a_cr);
_l_arrName = omc_CodegenCFunctions_contextCref(threadData, _OMC_LIT20, _ret_3, _a_context, _a_preExp, _a_varDecls, _a_auxFunction, _l_sub ,&_a_preExp ,&_a_varDecls ,&_a_auxFunction ,&_l_sub);
_l_arrayType = omc_CodegenCFunctions_expTypeArray(threadData, _OMC_LIT20, _a_ty);
_ret_6 = omc_ComponentReference_crefSubs(threadData, _a_cr);
_ret_7 = listLength(_ret_6);
_l_subsLenStr = omc_Tpl_writeStr(threadData, _OMC_LIT20, intString(_ret_7));
_ret_9 = omc_ComponentReference_crefSubs(threadData, _a_cr);
_l_subsValuesStr = omc_Tpl_pushIter(threadData, _OMC_LIT20, _OMC_LIT303);
_l_subsValuesStr = omc_CodegenCFunctions_lm__821(threadData, _l_subsValuesStr, _ret_9, _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_LIT1280);
_txt = omc_Tpl_writeText(threadData, _txt, _l_arrayType);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1282);
_txt = omc_Tpl_writeText(threadData, _txt, _l_subsLenStr);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT307);
_txt = omc_Tpl_writeText(threadData, _txt, _l_arrName);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT301);
_txt = omc_Tpl_writeText(threadData, _txt, _l_subsLenStr);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT301);
_txt = omc_Tpl_writeText(threadData, _txt, _l_subsValuesStr);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT610);
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__822(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__822(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__821(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[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_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: {
modelica_metatype tmpMeta6;
modelica_metatype tmpMeta7;
modelica_metatype tmpMeta8;
if (listEmpty(tmp4_2)) goto tmp3_end;
tmpMeta6 = MMC_CAR(tmp4_2);
tmpMeta7 = MMC_CDR(tmp4_2);
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta6,2,1) == 0) goto tmp3_end;
tmpMeta8 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta6), 2));
_i_exp = tmpMeta8;
_rest = tmpMeta7;
_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: {
modelica_metatype tmpMeta9;
modelica_metatype tmpMeta10;
if (listEmpty(tmp4_2)) goto tmp3_end;
tmpMeta9 = MMC_CAR(tmp4_2);
tmpMeta10 = MMC_CDR(tmp4_2);
_rest = tmpMeta10;
_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[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_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_2 = NULL;
modelica_boolean _ret_1;
modelica_metatype _l_sub = NULL;
volatile mmc_switch_type tmp4;
int tmp5;
tmp4 = 0;
for (; tmp4 < 2; tmp4++) {
switch (MMC_SWITCH_CAST(tmp4)) {
case 0: {
modelica_metatype tmpMeta6;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,6,2) == 0) goto tmp3_end;
tmpMeta6 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
_i_ecr = tmp4_2;
_i_cr = tmpMeta6;
_txt = tmp4_1;
_a_context = tmp4_3;
_a_preExp = tmp4_4;
_a_varDecls = tmp4_5;
_a_auxFunction = tmp4_6;
_l_sub = _OMC_LIT20;
_ret_1 = omc_SimCodeFunctionUtil_crefIsScalar(threadData, _i_cr, _a_context);
_txt = omc_CodegenCFunctions_fun__819(threadData, _txt, _ret_1, _l_sub, _a_auxFunction, _a_varDecls, _a_preExp, _a_context, _i_ecr, _i_cr ,&_l_sub ,&_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_2 = omc_Tpl_writeTok(threadData, _OMC_LIT20, _OMC_LIT1284);
_txt_2 = omc_ExpressionDumpTpl_dumpExp(threadData, _txt_2, _i_ecr, _OMC_LIT239);
_txt = omc_CodegenUtil_error(threadData, _txt, omc_Tpl_sourceInfo(threadData, _OMC_LIT27, ((modelica_integer) 5493), ((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;
}
}
goto 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__819(threadData_t *threadData, modelica_metatype _in_txt, modelica_boolean _in_mArg, 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 _in_a_ecr, modelica_metatype _in_a_cr, modelica_metatype *out_out_a_sub, 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_sub = 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_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_sub;
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_sub = 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_sub = 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__818(threadData, _txt, _ret_0, _a_sub, _a_auxFunction, _a_varDecls, _a_preExp, _a_context, _a_cr, _a_ecr, &tmpMeta[0+1], &tmpMeta[0+2], &tmpMeta[0+3], &tmpMeta[0+4]);
goto tmp3_done;
}
case 1: {
_txt = tmp4_1;
_a_sub = tmp4_3;
_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_sub ,&_a_preExp ,&_a_varDecls ,&_a_auxFunction ,&_a_sub);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_sub;
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_sub = 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_sub) { *out_out_a_sub = _out_a_sub; }
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__819(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_mArg, 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 _in_a_ecr, modelica_metatype _in_a_cr, modelica_metatype *out_out_a_sub, 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__819(threadData, _in_txt, tmp1, _in_a_sub, _in_a_auxFunction, _in_a_varDecls, _in_a_preExp, _in_a_context, _in_a_ecr, _in_a_cr, out_out_a_sub, out_out_a_auxFunction, out_out_a_varDecls, out_out_a_preExp);
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__818(threadData_t *threadData, modelica_metatype _in_txt, modelica_boolean _in_mArg, 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 _in_a_cr, modelica_metatype _in_a_ecr, modelica_metatype *out_out_a_sub, 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_sub = 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_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_sub;
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_sub = 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_sub = tmp4_3;
_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_LIT1278);
_txt_0 = omc_ExpressionDumpTpl_dumpExp(threadData, _txt_0, _a_ecr, _OMC_LIT239);
_txt = omc_CodegenUtil_error(threadData, _txt, omc_Tpl_sourceInfo(threadData, _OMC_LIT27, ((modelica_integer) 5490), ((modelica_integer) 13)), omc_Tpl_textString(threadData, _txt_0));
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_sub;
tmpMeta[0+2] = _a_auxFunction;
tmpMeta[0+3] = _a_varDecls;
tmpMeta[0+4] = _a_preExp;
goto tmp3_done;
}
case 1: {
_txt = tmp4_1;
_a_sub = tmp4_3;
_a_auxFunction = tmp4_4;
_a_varDecls = tmp4_5;
_a_preExp = tmp4_6;
_a_context = tmp4_7;
_a_cr = tmp4_8;
_txt = omc_CodegenCFunctions_contextCref(threadData, _txt, _a_cr, _a_context, _a_preExp, _a_varDecls, _a_auxFunction, _a_sub ,&_a_preExp ,&_a_varDecls ,&_a_auxFunction ,&_a_sub);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_sub;
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_sub = 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_sub) { *out_out_a_sub = _out_a_sub; }
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__818(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_mArg, 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 _in_a_cr, modelica_metatype _in_a_ecr, modelica_metatype *out_out_a_sub, 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__818(threadData, _in_txt, tmp1, _in_a_sub, _in_a_auxFunction, _in_a_varDecls, _in_a_preExp, _in_a_context, _in_a_cr, _in_a_ecr, out_out_a_sub, 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__816(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__816(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[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_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_metatype tmpMeta6;
modelica_integer tmp7;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,1,2) == 0) goto tmp3_end;
tmpMeta6 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 3));
tmp7 = mmc_unbox_integer(tmpMeta6);
if (1 != tmp7) 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_LIT1286);
_txt_0 = omc_ExpressionDumpTpl_dumpExp(threadData, _txt_0, _a_ecr, _OMC_LIT239);
_txt = omc_CodegenUtil_error(threadData, _txt, omc_Tpl_sourceInfo(threadData, _OMC_LIT27, ((modelica_integer) 5474), ((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_indexSubRecursive(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;
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
_out_txt = omc_CodegenCFunctions_fun__814(threadData, _txt, _a_subs, _a_dims, _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__814(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_subs, modelica_metatype _in_a_dims, 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_a_subs;
tmp4_3 = _in_a_dims;
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_dims = 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__rest = NULL;
modelica_metatype _i_sub = NULL;
modelica_metatype _l_sub1 = NULL;
modelica_metatype _ret_3 = NULL;
modelica_metatype _l_dim1 = NULL;
modelica_metatype _ret_1 = NULL;
modelica_metatype _l_recurse = NULL;
volatile mmc_switch_type tmp4;
int tmp5;
tmp4 = 0;
for (; tmp4 < 3; tmp4++) {
switch (MMC_SWITCH_CAST(tmp4)) {
case 0: {
modelica_metatype tmpMeta6;
modelica_metatype tmpMeta7;
if (listEmpty(tmp4_2)) goto tmp3_end;
tmpMeta6 = MMC_CAR(tmp4_2);
tmpMeta7 = MMC_CDR(tmp4_2);
if (!listEmpty(tmpMeta7)) goto tmp3_end;
_i_sub = tmpMeta6;
_txt = tmp4_1;
_a_context = tmp4_4;
_a_preExp = tmp4_5;
_a_varDecls = tmp4_6;
_a_auxFunction = tmp4_7;
_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_writeTok(threadData, _txt, _OMC_LIT1288);
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_metatype tmpMeta8;
modelica_metatype tmpMeta9;
if (listEmpty(tmp4_2)) goto tmp3_end;
tmpMeta8 = MMC_CAR(tmp4_2);
tmpMeta9 = MMC_CDR(tmp4_2);
_i_sub = tmpMeta8;
_i_sub__rest = tmpMeta9;
_txt = tmp4_1;
_a_dims = tmp4_3;
_a_context = tmp4_4;
_a_preExp = tmp4_5;
_a_varDecls = tmp4_6;
_a_auxFunction = tmp4_7;
_ret_1 = omc_List_restOrEmpty(threadData, _a_dims);
_l_recurse = omc_CodegenCFunctions_indexSubRecursive(threadData, _OMC_LIT20, _ret_1, _i_sub__rest, _a_context, _a_preExp, _a_varDecls, _a_auxFunction ,&_a_preExp ,&_a_varDecls ,&_a_auxFunction);
_ret_3 = omc_List_first(threadData, _a_dims);
_l_dim1 = omc_CodegenCFunctions_dimension(threadData, _OMC_LIT20, _ret_3, _a_context, _a_preExp, _a_varDecls, _a_auxFunction ,&_a_preExp ,&_a_varDecls ,&_a_auxFunction);
_l_sub1 = omc_CodegenCFunctions_daeSubscript(threadData, _OMC_LIT20, _i_sub, _a_context, _a_preExp, _a_varDecls, _a_auxFunction ,&_a_preExp ,&_a_varDecls ,&_a_auxFunction);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT30);
_txt = omc_Tpl_writeText(threadData, _txt, _l_recurse);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1290);
_txt = omc_Tpl_writeText(threadData, _txt, _l_dim1);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1064);
_txt = omc_Tpl_writeText(threadData, _txt, _l_sub1);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1292);
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_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;
}
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__812(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__812(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_metatype _ret_2 = NULL;
modelica_metatype _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 (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_LIT71);
_ret_0 = omc_List_restOrEmpty(threadData, _a_dims);
_ret_1 = listReverse(_ret_0);
_ret_2 = listReverse(_a_subs);
_txt = omc_CodegenCFunctions_indexSubRecursive(threadData, _txt, _ret_1, _ret_2, _a_context, _a_preExp, _a_varDecls, _a_auxFunction ,&_a_preExp ,&_a_varDecls ,&_a_auxFunction);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT932);
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) 5447), ((modelica_integer) 11)), _OMC_LIT1293);
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__812(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__812(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;
}
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[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_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: {
modelica_metatype tmpMeta6;
modelica_metatype tmpMeta7;
modelica_metatype tmpMeta8;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,6,2) == 0) goto tmp3_end;
tmpMeta6 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
tmpMeta7 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 3));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta7,9,3) == 0) goto tmp3_end;
tmpMeta8 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta7), 2));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta8,17,1) == 0) goto tmp3_end;
_i_cr = tmpMeta6;
_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: {
modelica_metatype tmpMeta9;
modelica_metatype tmpMeta10;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,6,2) == 0) goto tmp3_end;
tmpMeta9 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
tmpMeta10 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 3));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta10,9,3) == 0) goto tmp3_end;
_i_cr = tmpMeta9;
_txt = tmp4_1;
_a_preExp = tmp4_4;
_a_varDecls = tmp4_5;
_a_auxFunction = tmp4_6;
_txt_0 = omc_Tpl_writeTok(threadData, _OMC_LIT20, _OMC_LIT1295);
_txt_0 = omc_CodegenUtil_crefStrNoUnderscore(threadData, _txt_0, _i_cr);
_txt_0 = omc_Tpl_writeTok(threadData, _txt_0, _OMC_LIT1297);
_txt = omc_CodegenUtil_error(threadData, _txt, omc_Tpl_sourceInfo(threadData, _OMC_LIT27, ((modelica_integer) 5418), ((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: {
modelica_metatype tmpMeta11;
modelica_metatype tmpMeta12;
modelica_metatype tmpMeta13;
modelica_metatype tmpMeta14;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,6,2) == 0) goto tmp3_end;
tmpMeta11 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
tmpMeta12 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 3));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta12,6,2) == 0) goto tmp3_end;
tmpMeta13 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta12), 2));
tmpMeta14 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta12), 3));
_i_ecr = tmp4_2;
_i_cr = tmpMeta11;
_i_aty = tmpMeta13;
_i_dims = tmpMeta14;
_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_LIT1152);
_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__808(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: {
modelica_metatype tmpMeta15;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,6,2) == 0) goto tmp3_end;
tmpMeta15 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
_i_ecr = tmp4_2;
_i_cr = tmpMeta15;
_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__810(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__810(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__809(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__810(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__810(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__809(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_LIT1299);
_txt_0 = omc_ExpressionDumpTpl_dumpExp(threadData, _txt_0, _a_ecr, _OMC_LIT239);
_txt = omc_CodegenUtil_error(threadData, _txt, omc_Tpl_sourceInfo(threadData, _OMC_LIT27, ((modelica_integer) 5441), ((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_LIT307);
_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_LIT87);
_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__809(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__809(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__808(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_LIT1301);
_txt_0 = omc_ExpressionDumpTpl_dumpExp(threadData, _txt_0, _a_ecr, _OMC_LIT239);
_txt = omc_CodegenUtil_error(threadData, _txt, omc_Tpl_sourceInfo(threadData, _OMC_LIT27, ((modelica_integer) 5432), ((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_LIT303);
_l_dimsValuesStr = omc_CodegenCFunctions_lm__807(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_LIT1303);
_l_t = omc_Tpl_writeText(threadData, _l_t, _a_wrapperArray);
_l_t = omc_Tpl_writeTok(threadData, _l_t, _OMC_LIT1305);
_l_t = omc_Tpl_writeText(threadData, _l_t, _a_type);
_l_t = omc_Tpl_writeTok(threadData, _l_t, _OMC_LIT1307);
_l_t = omc_Tpl_writeText(threadData, _l_t, _l_nosubname);
_l_t = omc_Tpl_writeTok(threadData, _l_t, _OMC_LIT87);
_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_LIT1309);
_l_t = omc_Tpl_writeText(threadData, _l_t, _l_dimsLenStr);
_l_t = omc_Tpl_writeTok(threadData, _l_t, _OMC_LIT301);
_l_t = omc_Tpl_writeText(threadData, _l_t, _l_dimsValuesStr);
_l_t = omc_Tpl_writeTok(threadData, _l_t, _OMC_LIT299);
_l_t = omc_Tpl_writeTok(threadData, _l_t, _OMC_LIT98);
_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__808(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__808(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__807(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[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_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: {
modelica_metatype tmpMeta6;
modelica_metatype tmpMeta7;
if (listEmpty(tmp4_2)) goto tmp3_end;
tmpMeta6 = MMC_CAR(tmp4_2);
tmpMeta7 = MMC_CDR(tmp4_2);
_i_dim = tmpMeta6;
_rest = tmpMeta7;
_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_LIT1311);
_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[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_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: {
modelica_metatype tmpMeta6;
modelica_metatype tmpMeta7;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,6,2) == 0) goto tmp3_end;
tmpMeta6 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
tmpMeta7 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 3));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta7,13,2) == 0) goto tmp3_end;
_i_cr = tmpMeta6;
_txt = tmp4_1;
_a_preExp = tmp4_4;
_a_varDecls = tmp4_5;
_a_auxFunction = tmp4_6;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1313);
_txt = omc_CodegenCFunctions_crefFunctionName(threadData, _txt, _i_cr);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT87);
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_metatype tmpMeta8;
modelica_metatype tmpMeta9;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,6,2) == 0) goto tmp3_end;
tmpMeta8 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
tmpMeta9 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 3));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta9,12,1) == 0) goto tmp3_end;
_i_cr = tmpMeta8;
_txt = tmp4_1;
_a_preExp = tmp4_4;
_a_varDecls = tmp4_5;
_a_auxFunction = tmp4_6;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT244);
_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__805(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__805(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__805(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__805(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_LIT303);
_l_subsValuesStr = omc_CodegenCFunctions_lm__800(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__803(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__803(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 tmpMeta1;
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_string tmp4_8;
tmp4_1 = _in_txt;
tmp4_2 = _in_mArg;
tmp4_3 = _in_a_subs;
tmp4_4 = _in_a_subsLenStr;
tmp4_5 = _in_a_arrayType;
tmp4_6 = _in_a_context;
tmp4_7 = _in_a_subsValuesStr;
tmp4_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 tmp4;
int tmp5;
tmp4 = 0;
for (; tmp4 < 2; tmp4++) {
switch (MMC_SWITCH_CAST(tmp4)) {
case 0: {
if (14 != MMC_STRLEN(tmp4_2) || strcmp(MMC_STRINGDATA(_OMC_LIT1316), MMC_STRINGDATA(tmp4_2)) != 0) goto tmp3_end;
_txt = tmp4_1;
_a_subsValuesStr = tmp4_7;
_a_arrName = tmp4_8;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT524);
_txt = omc_Tpl_writeStr(threadData, _txt, _a_arrName);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT234);
_txt = omc_Tpl_writeText(threadData, _txt, _a_subsValuesStr);
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1315);
goto tmp3_done;
}
case 1: {
_txt = tmp4_1;
_a_subs = tmp4_3;
_a_subsLenStr = tmp4_4;
_a_arrayType = tmp4_5;
_a_context = tmp4_6;
_a_subsValuesStr = tmp4_7;
_a_arrName = tmp4_8;
tmpMeta1 = omc_CodegenCFunctions_fun__802(threadData, _txt, _a_context, _a_subs, _a_subsValuesStr, _a_arrName, _a_subsLenStr, _a_arrayType);
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta1;
_return: OMC_LABEL_UNUSED
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__802(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 tmpMeta1;
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;
tmp4_1 = _in_txt;
tmp4_2 = _in_a_context;
tmp4_3 = _in_a_subs;
tmp4_4 = _in_a_subsValuesStr;
tmp4_5 = _in_a_arrName;
tmp4_6 = _in_a_subsLenStr;
tmp4_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 tmp4;
int tmp5;
tmp4 = 0;
for (; tmp4 < 2; tmp4++) {
switch (MMC_SWITCH_CAST(tmp4)) {
case 0: {
modelica_metatype tmpMeta6;
modelica_integer tmp7;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,1,2) == 0) goto tmp3_end;
tmpMeta6 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 3));
tmp7 = mmc_unbox_integer(tmpMeta6);
if (1 != tmp7) goto tmp3_end;
_txt = tmp4_1;
_a_subsValuesStr = tmp4_4;
_a_arrName = tmp4_5;
_a_subsLenStr = tmp4_6;
_a_arrayType = tmp4_7;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1280);
_txt = omc_Tpl_writeText(threadData, _txt, _a_arrayType);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1282);
_txt = omc_Tpl_writeText(threadData, _txt, _a_subsLenStr);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT307);
_txt = omc_Tpl_writeStr(threadData, _txt, _a_arrName);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT301);
_txt = omc_Tpl_writeText(threadData, _txt, _a_subsLenStr);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT301);
_txt = omc_Tpl_writeText(threadData, _txt, _a_subsValuesStr);
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT610);
goto tmp3_done;
}
case 1: {
_txt = tmp4_1;
_a_subs = tmp4_3;
_a_subsValuesStr = tmp4_4;
_a_arrName = tmp4_5;
_a_subsLenStr = tmp4_6;
_a_arrayType = tmp4_7;
_txt = omc_Tpl_writeText(threadData, _txt, _a_arrayType);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT516);
_ret_0 = listLength(_a_subs);
_ret_1 = (_ret_0 < ((modelica_integer) 3));
_txt = omc_CodegenCFunctions_fun__801(threadData, _txt, _ret_1, _a_subs);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT30);
_txt = omc_Tpl_writeStr(threadData, _txt, _a_arrName);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT301);
_txt = omc_Tpl_writeText(threadData, _txt, _a_subsLenStr);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT301);
_txt = omc_Tpl_writeText(threadData, _txt, _a_subsValuesStr);
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT87);
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta1;
_return: OMC_LABEL_UNUSED
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_subs)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta1;
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_subs;
{
modelica_metatype _txt = NULL;
modelica_metatype _a_subs = 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;
tmpMeta1 = _txt;
goto tmp3_done;
}
case 1: {
_txt = tmp4_1;
_a_subs = tmp4_3;
_ret_0 = listLength(_a_subs);
tmpMeta1 = omc_Tpl_writeStr(threadData, _txt, intString(_ret_0));
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta1;
_return: OMC_LABEL_UNUSED
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_subs)
{
modelica_integer tmp1;
modelica_metatype _out_txt = NULL;
tmp1 = mmc_unbox_integer(_in_mArg);
_out_txt = omc_CodegenCFunctions_fun__801(threadData, _in_txt, tmp1, _in_a_subs);
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_lm__800(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[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_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: {
modelica_metatype tmpMeta6;
modelica_metatype tmpMeta7;
if (listEmpty(tmp4_2)) goto tmp3_end;
tmpMeta6 = MMC_CAR(tmp4_2);
tmpMeta7 = MMC_CDR(tmp4_2);
_i_exp = tmpMeta6;
_rest = tmpMeta7;
_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_daeExpCrefRhsFunContextParallel(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;
modelica_metatype _l_sub = NULL;
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
_l_sub = _OMC_LIT20;
_out_txt = omc_CodegenCFunctions_fun__798(threadData, _txt, _a_ecr, _l_sub, _a_auxFunction, _a_varDecls, _a_preExp, _a_context ,&_l_sub ,&_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__798(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_ecr, 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_sub, 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_sub = 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;
tmp4_1 = _in_txt;
tmp4_2 = _in_a_ecr;
tmp4_3 = _in_a_sub;
tmp4_4 = _in_a_auxFunction;
tmp4_5 = _in_a_varDecls;
tmp4_6 = _in_a_preExp;
tmp4_7 = _in_a_context;
{
modelica_metatype _txt = NULL;
modelica_metatype _a_sub = NULL;
modelica_metatype _a_auxFunction = NULL;
modelica_metatype _a_varDecls = NULL;
modelica_metatype _a_preExp = NULL;
modelica_metatype _a_context = 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: {
modelica_metatype tmpMeta6;
modelica_metatype tmpMeta7;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,6,2) == 0) goto tmp3_end;
tmpMeta6 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
tmpMeta7 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 3));
_i_cr = tmpMeta6;
_i_ty = tmpMeta7;
_txt = tmp4_1;
_a_sub = tmp4_3;
_a_auxFunction = tmp4_4;
_a_varDecls = tmp4_5;
_a_preExp = tmp4_6;
_a_context = tmp4_7;
_ret_0 = omc_SimCodeFunctionUtil_crefIsScalar(threadData, _i_cr, _a_context);
tmpMeta[0+0] = omc_CodegenCFunctions_fun__797(threadData, _txt, _ret_0, _i_ty, _a_sub, _a_auxFunction, _a_varDecls, _a_preExp, _a_context, _i_cr, &tmpMeta[0+1], &tmpMeta[0+2], &tmpMeta[0+3], &tmpMeta[0+4]);
goto tmp3_done;
}
case 1: {
_txt = tmp4_1;
_i_ecr = tmp4_2;
_a_sub = tmp4_3;
_a_auxFunction = tmp4_4;
_a_varDecls = tmp4_5;
_a_preExp = tmp4_6;
_txt_1 = omc_Tpl_writeTok(threadData, _OMC_LIT20, _OMC_LIT1318);
_txt_1 = omc_ExpressionDumpTpl_dumpExp(threadData, _txt_1, _i_ecr, _OMC_LIT239);
_txt = omc_CodegenUtil_error(threadData, _txt, omc_Tpl_sourceInfo(threadData, _OMC_LIT27, ((modelica_integer) 5357), ((modelica_integer) 11)), omc_Tpl_textString(threadData, _txt_1));
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_sub;
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_sub = 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_sub) { *out_out_a_sub = _out_a_sub; }
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__797(threadData_t *threadData, modelica_metatype _in_txt, modelica_boolean _in_mArg, modelica_metatype _in_a_ty, 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 _in_a_cr, modelica_metatype *out_out_a_sub, 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_sub = 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_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_sub;
tmp4_5 = _in_a_auxFunction;
tmp4_6 = _in_a_varDecls;
tmp4_7 = _in_a_preExp;
tmp4_8 = _in_a_context;
tmp4_9 = _in_a_cr;
{
modelica_metatype _txt = NULL;
modelica_metatype _a_ty = NULL;
modelica_metatype _a_sub = 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 _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_ty = tmp4_3;
_a_sub = tmp4_4;
_a_auxFunction = tmp4_5;
_a_varDecls = tmp4_6;
_a_preExp = tmp4_7;
_a_context = tmp4_8;
_a_cr = tmp4_9;
_ret_0 = omc_SimCodeFunctionUtil_crefSubIsScalar(threadData, _a_cr);
tmpMeta[0+0] = omc_CodegenCFunctions_fun__796(threadData, _txt, _ret_0, _a_ty, _a_sub, _a_auxFunction, _a_varDecls, _a_preExp, _a_context, _a_cr, &tmpMeta[0+1], &tmpMeta[0+2], &tmpMeta[0+3], &tmpMeta[0+4]);
goto tmp3_done;
}
case 1: {
_txt = tmp4_1;
_a_ty = tmp4_3;
_a_sub = tmp4_4;
_a_auxFunction = tmp4_5;
_a_varDecls = tmp4_6;
_a_preExp = 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_sub ,&_a_preExp ,&_a_varDecls ,&_a_auxFunction ,&_a_sub);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_sub;
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_sub = 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_sub) { *out_out_a_sub = _out_a_sub; }
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__797(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_mArg, modelica_metatype _in_a_ty, 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 _in_a_cr, modelica_metatype *out_out_a_sub, 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__797(threadData, _in_txt, tmp1, _in_a_ty, _in_a_sub, _in_a_auxFunction, _in_a_varDecls, _in_a_preExp, _in_a_context, _in_a_cr, out_out_a_sub, out_out_a_auxFunction, out_out_a_varDecls, out_out_a_preExp);
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__796(threadData_t *threadData, modelica_metatype _in_txt, modelica_boolean _in_mArg, modelica_metatype _in_a_ty, 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 _in_a_cr, modelica_metatype *out_out_a_sub, 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_sub = 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_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_sub;
tmp4_5 = _in_a_auxFunction;
tmp4_6 = _in_a_varDecls;
tmp4_7 = _in_a_preExp;
tmp4_8 = _in_a_context;
tmp4_9 = _in_a_cr;
{
modelica_metatype _txt = NULL;
modelica_metatype _a_ty = NULL;
modelica_metatype _a_sub = 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_11 = NULL;
modelica_metatype _l_subsValuesStr = NULL;
modelica_integer _ret_9;
modelica_metatype _ret_8 = NULL;
modelica_metatype _l_subsLenStr = NULL;
modelica_metatype _ret_6 = NULL;
modelica_metatype _ret_5 = NULL;
modelica_metatype _l_spec1 = NULL;
modelica_metatype _l_tmp = 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_ty = tmp4_3;
_a_sub = tmp4_4;
_a_auxFunction = tmp4_5;
_a_varDecls = tmp4_6;
_a_preExp = tmp4_7;
_a_context = tmp4_8;
_a_cr = 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_sub ,&_a_preExp ,&_a_varDecls ,&_a_auxFunction ,&_a_sub);
_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_5 = omc_ComponentReference_crefSubs(threadData, _a_cr);
_l_spec1 = omc_CodegenCFunctions_daeExpCrefIndexSpec(threadData, _OMC_LIT20, _ret_5, _a_context, _a_preExp, _a_varDecls, _a_auxFunction ,&_a_preExp ,&_a_varDecls ,&_a_auxFunction);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT1320);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _l_arrayType);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT307);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _l_arrName);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT131);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _l_spec1);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT131);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _l_tmp);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT299);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT98);
_txt = omc_Tpl_writeText(threadData, _txt, _l_tmp);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_sub;
tmpMeta[0+2] = _a_auxFunction;
tmpMeta[0+3] = _a_varDecls;
tmpMeta[0+4] = _a_preExp;
goto tmp3_done;
}
case 1: {
_txt = tmp4_1;
_a_ty = tmp4_3;
_a_sub = tmp4_4;
_a_auxFunction = tmp4_5;
_a_varDecls = tmp4_6;
_a_preExp = tmp4_7;
_a_context = tmp4_8;
_a_cr = tmp4_9;
_ret_6 = omc_ComponentReference_crefStripLastSubs(threadData, _a_cr);
_l_arrName = omc_CodegenCFunctions_contextCref(threadData, _OMC_LIT20, _ret_6, _a_context, _a_preExp, _a_varDecls, _a_auxFunction, _a_sub ,&_a_preExp ,&_a_varDecls ,&_a_auxFunction ,&_a_sub);
_l_arrayType = omc_CodegenCFunctions_expTypeArray(threadData, _OMC_LIT20, _a_ty);
_ret_8 = omc_ComponentReference_crefSubs(threadData, _a_cr);
_ret_9 = listLength(_ret_8);
_l_subsLenStr = omc_Tpl_writeStr(threadData, _OMC_LIT20, intString(_ret_9));
_ret_11 = omc_ComponentReference_crefSubs(threadData, _a_cr);
_l_subsValuesStr = omc_Tpl_pushIter(threadData, _OMC_LIT20, _OMC_LIT303);
_l_subsValuesStr = omc_CodegenCFunctions_lm__795(threadData, _l_subsValuesStr, _ret_11, _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_LIT1280);
_txt = omc_Tpl_writeText(threadData, _txt, _l_arrayType);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1282);
_txt = omc_Tpl_writeText(threadData, _txt, _l_subsLenStr);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT307);
_txt = omc_Tpl_writeText(threadData, _txt, _l_arrName);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT301);
_txt = omc_Tpl_writeText(threadData, _txt, _l_subsLenStr);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT301);
_txt = omc_Tpl_writeText(threadData, _txt, _l_subsValuesStr);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT610);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_sub;
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_sub = 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_sub) { *out_out_a_sub = _out_a_sub; }
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_mArg, modelica_metatype _in_a_ty, 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 _in_a_cr, modelica_metatype *out_out_a_sub, 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__796(threadData, _in_txt, tmp1, _in_a_ty, _in_a_sub, _in_a_auxFunction, _in_a_varDecls, _in_a_preExp, _in_a_context, _in_a_cr, out_out_a_sub, out_out_a_auxFunction, out_out_a_varDecls, out_out_a_preExp);
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_lm__795(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[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_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: {
modelica_metatype tmpMeta6;
modelica_metatype tmpMeta7;
modelica_metatype tmpMeta8;
if (listEmpty(tmp4_2)) goto tmp3_end;
tmpMeta6 = MMC_CAR(tmp4_2);
tmpMeta7 = MMC_CDR(tmp4_2);
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta6,2,1) == 0) goto tmp3_end;
tmpMeta8 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta6), 2));
_i_exp = tmpMeta8;
_rest = tmpMeta7;
_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: {
modelica_metatype tmpMeta9;
modelica_metatype tmpMeta10;
if (listEmpty(tmp4_2)) goto tmp3_end;
tmpMeta9 = MMC_CAR(tmp4_2);
tmpMeta10 = MMC_CDR(tmp4_2);
_rest = tmpMeta10;
_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_daeExpCrefRhsFunContext(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;
modelica_metatype _l_sub = NULL;
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
_l_sub = _OMC_LIT20;
_out_txt = omc_CodegenCFunctions_fun__793(threadData, _txt, _a_ecr, _l_sub, _a_auxFunction, _a_varDecls, _a_preExp, _a_context ,&_l_sub ,&_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__793(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_ecr, 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_sub, 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_sub = 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;
tmp4_1 = _in_txt;
tmp4_2 = _in_a_ecr;
tmp4_3 = _in_a_sub;
tmp4_4 = _in_a_auxFunction;
tmp4_5 = _in_a_varDecls;
tmp4_6 = _in_a_preExp;
tmp4_7 = _in_a_context;
{
modelica_metatype _txt = NULL;
modelica_metatype _a_sub = NULL;
modelica_metatype _a_auxFunction = NULL;
modelica_metatype _a_varDecls = NULL;
modelica_metatype _a_preExp = NULL;
modelica_metatype _a_context = NULL;
modelica_metatype _i_ecr = NULL;
modelica_metatype _i_cr = NULL;
modelica_metatype _i_ty = NULL;
modelica_metatype _txt_2 = 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: {
modelica_metatype tmpMeta6;
modelica_metatype tmpMeta7;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,6,2) == 0) goto tmp3_end;
tmpMeta6 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
tmpMeta7 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 3));
_i_ecr = tmp4_2;
_i_cr = tmpMeta6;
_i_ty = tmpMeta7;
_txt = tmp4_1;
_a_sub = tmp4_3;
_a_auxFunction = tmp4_4;
_a_varDecls = tmp4_5;
_a_preExp = tmp4_6;
_a_context = tmp4_7;
_ret_0 = omc_Expression_isArrayType(threadData, _i_ty);
_ret_1 = (!_ret_0);
tmpMeta[0+0] = omc_CodegenCFunctions_fun__792(threadData, _txt, _ret_1, _i_ecr, _i_ty, _a_sub, _a_auxFunction, _a_varDecls, _a_preExp, _a_context, _i_cr, &tmpMeta[0+1], &tmpMeta[0+2], &tmpMeta[0+3], &tmpMeta[0+4]);
goto tmp3_done;
}
case 1: {
_txt = tmp4_1;
_i_ecr = tmp4_2;
_a_sub = tmp4_3;
_a_auxFunction = tmp4_4;
_a_varDecls = tmp4_5;
_a_preExp = tmp4_6;
_txt_2 = omc_Tpl_writeTok(threadData, _OMC_LIT20, _OMC_LIT1318);
_txt_2 = omc_ExpressionDumpTpl_dumpExp(threadData, _txt_2, _i_ecr, _OMC_LIT239);
_txt = omc_CodegenUtil_error(threadData, _txt, omc_Tpl_sourceInfo(threadData, _OMC_LIT27, ((modelica_integer) 5323), ((modelica_integer) 11)), omc_Tpl_textString(threadData, _txt_2));
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_sub;
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_sub = 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_sub) { *out_out_a_sub = _out_a_sub; }
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__792(threadData_t *threadData, modelica_metatype _in_txt, modelica_boolean _in_mArg, modelica_metatype _in_a_ecr, modelica_metatype _in_a_ty, 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 _in_a_cr, modelica_metatype *out_out_a_sub, 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_sub = 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_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_ecr;
tmp4_4 = _in_a_ty;
tmp4_5 = _in_a_sub;
tmp4_6 = _in_a_auxFunction;
tmp4_7 = _in_a_varDecls;
tmp4_8 = _in_a_preExp;
tmp4_9 = _in_a_context;
tmp4_10 = _in_a_cr;
{
modelica_metatype _txt = NULL;
modelica_metatype _a_ecr = NULL;
modelica_metatype _a_ty = NULL;
modelica_metatype _a_sub = 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 _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_ty = tmp4_4;
_a_sub = tmp4_5;
_a_auxFunction = tmp4_6;
_a_varDecls = tmp4_7;
_a_preExp = tmp4_8;
_a_context = tmp4_9;
_a_cr = tmp4_10;
_ret_0 = omc_SimCodeFunctionUtil_crefSubIsScalar(threadData, _a_cr);
tmpMeta[0+0] = omc_CodegenCFunctions_fun__791(threadData, _txt, _ret_0, _a_ecr, _a_ty, _a_sub, _a_auxFunction, _a_varDecls, _a_preExp, _a_cr, _a_context, &tmpMeta[0+1], &tmpMeta[0+2], &tmpMeta[0+3], &tmpMeta[0+4]);
goto tmp3_done;
}
case 1: {
_txt = tmp4_1;
_a_ty = tmp4_4;
_a_sub = tmp4_5;
_a_auxFunction = tmp4_6;
_a_varDecls = tmp4_7;
_a_preExp = tmp4_8;
_a_context = tmp4_9;
_a_cr = tmp4_10;
_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_sub ,&_a_preExp ,&_a_varDecls ,&_a_auxFunction ,&_a_sub);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_sub;
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_sub = 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_sub) { *out_out_a_sub = _out_a_sub; }
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__792(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_mArg, modelica_metatype _in_a_ecr, modelica_metatype _in_a_ty, 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 _in_a_cr, modelica_metatype *out_out_a_sub, 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__792(threadData, _in_txt, tmp1, _in_a_ecr, _in_a_ty, _in_a_sub, _in_a_auxFunction, _in_a_varDecls, _in_a_preExp, _in_a_context, _in_a_cr, out_out_a_sub, out_out_a_auxFunction, out_out_a_varDecls, out_out_a_preExp);
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__791(threadData_t *threadData, modelica_metatype _in_txt, modelica_boolean _in_mArg, modelica_metatype _in_a_ecr, modelica_metatype _in_a_ty, modelica_metatype _in_a_sub, modelica_metatype _in_a_auxFunction, modelica_metatype _in_a_varDecls, modelica_metatype _in_a_preExp, modelica_metatype _in_a_cr, modelica_metatype _in_a_context, modelica_metatype *out_out_a_sub, 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_sub = 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_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_ecr;
tmp4_4 = _in_a_ty;
tmp4_5 = _in_a_sub;
tmp4_6 = _in_a_auxFunction;
tmp4_7 = _in_a_varDecls;
tmp4_8 = _in_a_preExp;
tmp4_9 = _in_a_cr;
tmp4_10 = _in_a_context;
{
modelica_metatype _txt = NULL;
modelica_metatype _a_ecr = NULL;
modelica_metatype _a_ty = NULL;
modelica_metatype _a_sub = NULL;
modelica_metatype _a_auxFunction = NULL;
modelica_metatype _a_varDecls = NULL;
modelica_metatype _a_preExp = NULL;
modelica_metatype _a_cr = NULL;
modelica_metatype _a_context = NULL;
modelica_metatype _l_cast = 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_ty = tmp4_4;
_a_sub = tmp4_5;
_a_auxFunction = tmp4_6;
_a_varDecls = tmp4_7;
_a_preExp = tmp4_8;
_a_cr = tmp4_9;
_a_context = tmp4_10;
tmpMeta[0+0] = omc_CodegenCFunctions_fun__790(threadData, _txt, _a_context, _a_ecr, _a_ty, _a_sub, _a_auxFunction, _a_varDecls, _a_preExp, _a_cr, &tmpMeta[0+1], &tmpMeta[0+2], &tmpMeta[0+3], &tmpMeta[0+4]);
goto tmp3_done;
}
case 1: {
_txt = tmp4_1;
_a_ty = tmp4_4;
_a_sub = tmp4_5;
_a_auxFunction = tmp4_6;
_a_varDecls = tmp4_7;
_a_preExp = tmp4_8;
_a_cr = tmp4_9;
_a_context = tmp4_10;
_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_sub ,&_a_preExp ,&_a_varDecls ,&_a_auxFunction ,&_a_sub);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_sub;
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_sub = 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_sub) { *out_out_a_sub = _out_a_sub; }
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__791(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_mArg, modelica_metatype _in_a_ecr, modelica_metatype _in_a_ty, modelica_metatype _in_a_sub, modelica_metatype _in_a_auxFunction, modelica_metatype _in_a_varDecls, modelica_metatype _in_a_preExp, modelica_metatype _in_a_cr, modelica_metatype _in_a_context, modelica_metatype *out_out_a_sub, 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__791(threadData, _in_txt, tmp1, _in_a_ecr, _in_a_ty, _in_a_sub, _in_a_auxFunction, _in_a_varDecls, _in_a_preExp, _in_a_cr, _in_a_context, out_out_a_sub, out_out_a_auxFunction, out_out_a_varDecls, out_out_a_preExp);
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__790(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_context, modelica_metatype _in_a_ecr, modelica_metatype _in_a_ty, modelica_metatype _in_a_sub, modelica_metatype _in_a_auxFunction, modelica_metatype _in_a_varDecls, modelica_metatype _in_a_preExp, modelica_metatype _in_a_cr, modelica_metatype *out_out_a_sub, 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_sub = 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_context;
tmp4_3 = _in_a_ecr;
tmp4_4 = _in_a_ty;
tmp4_5 = _in_a_sub;
tmp4_6 = _in_a_auxFunction;
tmp4_7 = _in_a_varDecls;
tmp4_8 = _in_a_preExp;
tmp4_9 = _in_a_cr;
{
modelica_metatype _txt = NULL;
modelica_metatype _a_ecr = NULL;
modelica_metatype _a_ty = NULL;
modelica_metatype _a_sub = NULL;
modelica_metatype _a_auxFunction = NULL;
modelica_metatype _a_varDecls = NULL;
modelica_metatype _a_preExp = NULL;
modelica_metatype _a_cr = NULL;
modelica_metatype _i_context = NULL;
modelica_metatype _txt_6 = NULL;
modelica_metatype _ret_5 = NULL;
modelica_metatype _l_spec1 = NULL;
modelica_metatype _l_tmp = 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 (mmc__uniontype__metarecord__typedef__equal(tmp4_2,1,2) == 0) goto tmp3_end;
_i_context = tmp4_2;
_txt = tmp4_1;
_a_ty = tmp4_4;
_a_sub = tmp4_5;
_a_auxFunction = tmp4_6;
_a_varDecls = tmp4_7;
_a_preExp = tmp4_8;
_a_cr = tmp4_9;
_ret_1 = omc_ComponentReference_crefStripSubs(threadData, _a_cr);
_l_arrName = omc_CodegenCFunctions_contextCref(threadData, _OMC_LIT20, _ret_1, _i_context, _a_preExp, _a_varDecls, _a_auxFunction, _a_sub ,&_a_preExp ,&_a_varDecls ,&_a_auxFunction ,&_a_sub);
_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_5 = omc_ComponentReference_crefSubs(threadData, _a_cr);
_l_spec1 = omc_CodegenCFunctions_daeExpCrefIndexSpec(threadData, _OMC_LIT20, _ret_5, _i_context, _a_preExp, _a_varDecls, _a_auxFunction ,&_a_preExp ,&_a_varDecls ,&_a_auxFunction);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT1320);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _l_arrayType);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT307);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _l_arrName);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT131);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _l_spec1);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT131);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _l_tmp);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT299);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT98);
_txt = omc_Tpl_writeText(threadData, _txt, _l_tmp);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_sub;
tmpMeta[0+2] = _a_auxFunction;
tmpMeta[0+3] = _a_varDecls;
tmpMeta[0+4] = _a_preExp;
goto tmp3_done;
}
case 1: {
_txt = tmp4_1;
_a_ecr = tmp4_3;
_a_sub = tmp4_5;
_a_auxFunction = tmp4_6;
_a_varDecls = tmp4_7;
_a_preExp = tmp4_8;
_txt_6 = omc_Tpl_writeTok(threadData, _OMC_LIT20, _OMC_LIT1322);
_txt_6 = omc_ExpressionDumpTpl_dumpExp(threadData, _txt_6, _a_ecr, _OMC_LIT239);
_txt = omc_CodegenUtil_error(threadData, _txt, omc_Tpl_sourceInfo(threadData, _OMC_LIT27, ((modelica_integer) 5321), ((modelica_integer) 15)), omc_Tpl_textString(threadData, _txt_6));
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_sub;
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_sub = 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_sub) { *out_out_a_sub = _out_a_sub; }
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_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[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_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_8;
modelica_boolean _ret_7;
modelica_metatype _l_wrapperArray = NULL;
modelica_metatype _l_arrayType = NULL;
modelica_metatype _l_type = NULL;
modelica_metatype _ret_3 = NULL;
modelica_metatype _l_record__type__name = NULL;
modelica_metatype _l_vars = NULL;
modelica_metatype _l_sub = NULL;
volatile mmc_switch_type tmp4;
int tmp5;
tmp4 = 0;
for (; tmp4 < 5; tmp4++) {
switch (MMC_SWITCH_CAST(tmp4)) {
case 0: {
modelica_metatype tmpMeta6;
modelica_metatype tmpMeta7;
modelica_metatype tmpMeta8;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,6,2) == 0) goto tmp3_end;
tmpMeta6 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
tmpMeta7 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 3));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta7,9,3) == 0) goto tmp3_end;
tmpMeta8 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta7), 2));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta8,17,1) == 0) goto tmp3_end;
_i_cr = tmpMeta6;
_txt = tmp4_1;
_a_context = tmp4_3;
_a_preExp = tmp4_4;
_a_varDecls = tmp4_5;
_a_auxFunction = tmp4_6;
_l_sub = _OMC_LIT20;
_txt = omc_CodegenCFunctions_contextCref(threadData, _txt, _i_cr, _a_context, _a_preExp, _a_varDecls, _a_auxFunction, _l_sub ,&_a_preExp ,&_a_varDecls ,&_a_auxFunction ,&_l_sub);
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_metatype tmpMeta9;
modelica_metatype tmpMeta10;
modelica_metatype tmpMeta11;
modelica_metatype tmpMeta12;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,6,2) == 0) goto tmp3_end;
tmpMeta9 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
tmpMeta10 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 3));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta10,9,3) == 0) goto tmp3_end;
tmpMeta11 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta10), 2));
tmpMeta12 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta10), 3));
_i_cr = tmpMeta9;
_i_record__state = tmpMeta11;
_i_var__lst = tmpMeta12;
_txt = tmp4_1;
_a_context = tmp4_3;
_a_preExp = tmp4_4;
_a_varDecls = tmp4_5;
_a_auxFunction = tmp4_6;
_l_vars = omc_CodegenCFunctions_lm__782(threadData, _OMC_LIT20, _i_var__lst, _a_auxFunction, _a_varDecls, _a_preExp, _a_context, _i_cr ,&_a_auxFunction ,&_a_varDecls ,&_a_preExp);
_ret_3 = omc_ClassInf_getStateName(threadData, _i_record__state);
_l_record__type__name = omc_CodegenUtil_underscorePath(threadData, _OMC_LIT20, _ret_3);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT643);
_txt = omc_Tpl_writeText(threadData, _txt, _l_record__type__name);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1324);
_txt = omc_Tpl_writeText(threadData, _txt, _l_vars);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT87);
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_metatype tmpMeta13;
modelica_metatype tmpMeta14;
modelica_metatype tmpMeta15;
modelica_metatype tmpMeta16;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,6,2) == 0) goto tmp3_end;
tmpMeta13 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
tmpMeta14 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 3));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta14,6,2) == 0) goto tmp3_end;
tmpMeta15 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta14), 2));
tmpMeta16 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta14), 3));
_i_cr = tmpMeta13;
_i_aty = tmpMeta15;
_i_dims = tmpMeta16;
_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_LIT1152);
_l_wrapperArray = omc_CodegenCFunctions_tempDecl(threadData, _OMC_LIT20, omc_Tpl_textString(threadData, _l_arrayType), _a_varDecls ,&_a_varDecls);
_ret_7 = omc_SimCodeFunctionUtil_crefSubIsScalar(threadData, _i_cr);
_txt = omc_CodegenCFunctions_fun__786(threadData, _txt, _ret_7, _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: {
modelica_metatype tmpMeta17;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,6,2) == 0) goto tmp3_end;
tmpMeta17 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
_i_ecr = tmp4_2;
_i_cr = tmpMeta17;
_txt = tmp4_1;
_a_context = tmp4_3;
_a_preExp = tmp4_4;
_a_varDecls = tmp4_5;
_a_auxFunction = tmp4_6;
_ret_8 = omc_ComponentReference_crefIsScalarWithAllConstSubs(threadData, _i_cr);
_txt = omc_CodegenCFunctions_fun__788(threadData, _txt, _ret_8, _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__788(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_metatype _l_sub = 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__787(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;
_l_sub = _OMC_LIT20;
_txt = omc_CodegenCFunctions_contextCref(threadData, _txt, _a_cr, _a_context, _a_preExp, _a_varDecls, _a_auxFunction, _l_sub ,&_a_preExp ,&_a_varDecls ,&_a_auxFunction ,&_l_sub);
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__788(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__788(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__787(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_6 = NULL;
modelica_metatype _l_nosubname = NULL;
modelica_metatype _ret_4 = NULL;
modelica_metatype _ret_3 = NULL;
modelica_metatype _ret_2 = NULL;
modelica_metatype _l_sub = 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_LIT1326);
_txt_0 = omc_ExpressionDumpTpl_dumpExp(threadData, _txt_0, _a_ecr, _OMC_LIT239);
_txt = omc_CodegenUtil_error(threadData, _txt, omc_Tpl_sourceInfo(threadData, _OMC_LIT27, ((modelica_integer) 5292), ((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_crefDims(threadData, _a_cr);
_ret_3 = omc_ComponentReference_crefArrayGetFirstCref(threadData, _a_cr);
_ret_4 = omc_ComponentReference_crefSubs(threadData, _ret_3);
_l_sub = omc_CodegenCFunctions_indexSubs(threadData, _OMC_LIT20, _ret_2, _ret_4, _a_context, _a_preExp, _a_varDecls, _a_auxFunction ,&_a_preExp ,&_a_varDecls ,&_a_auxFunction);
_ret_6 = omc_ComponentReference_crefStripSubs(threadData, _a_cr);
_l_nosubname = omc_CodegenCFunctions_contextCref(threadData, _OMC_LIT20, _ret_6, _a_context, _a_preExp, _a_varDecls, _a_auxFunction, _l_sub ,&_a_preExp ,&_a_varDecls ,&_a_auxFunction ,&_l_sub);
_txt = omc_Tpl_writeText(threadData, _txt, _l_nosubname);
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__787(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__787(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__786(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 _l_t = NULL;
modelica_boolean _ret_16;
modelica_metatype _l_arrayData = NULL;
modelica_integer _ret_14;
modelica_metatype _ret_13 = NULL;
modelica_metatype _ret_12 = NULL;
modelica_metatype _ret_11 = NULL;
modelica_metatype _ret_10 = NULL;
modelica_metatype _l_spec1 = NULL;
modelica_metatype _l_slicedArray = NULL;
modelica_metatype _ret_7 = NULL;
modelica_metatype _l_arrName = NULL;
modelica_metatype _ret_5 = NULL;
modelica_metatype _l_dimsValuesStr = NULL;
modelica_integer _ret_3;
modelica_metatype _ret_2 = NULL;
modelica_metatype _l_dimsLenStr = NULL;
modelica_metatype _l_sub = 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;
_l_sub = _OMC_LIT20;
_ret_2 = omc_ComponentReference_crefDims(threadData, _a_cr);
_ret_3 = listLength(_ret_2);
_l_dimsLenStr = omc_Tpl_writeStr(threadData, _OMC_LIT20, intString(_ret_3));
_ret_5 = omc_ComponentReference_crefDims(threadData, _a_cr);
_l_dimsValuesStr = omc_Tpl_pushIter(threadData, _OMC_LIT20, _OMC_LIT303);
_l_dimsValuesStr = omc_CodegenCFunctions_lm__783(threadData, _l_dimsValuesStr, _ret_5, _a_auxFunction, _a_varDecls, _a_preExp, _a_context ,&_a_auxFunction ,&_a_varDecls ,&_a_preExp);
_l_dimsValuesStr = omc_Tpl_popIter(threadData, _l_dimsValuesStr);
_ret_7 = omc_ComponentReference_crefStripSubs(threadData, _a_cr);
_l_arrName = omc_CodegenCFunctions_contextCref(threadData, _OMC_LIT20, _ret_7, _a_context, _a_preExp, _a_varDecls, _a_auxFunction, _l_sub ,&_a_preExp ,&_a_varDecls ,&_a_auxFunction ,&_l_sub);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _a_type);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT1303);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _a_wrapperArray);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT1328);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _a_type);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT1330);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _l_arrName);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT301);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _l_dimsLenStr);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT301);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _l_dimsValuesStr);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT299);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT98);
_l_slicedArray = omc_CodegenCFunctions_tempDecl(threadData, _OMC_LIT20, omc_Tpl_textString(threadData, _a_arrayType), _a_varDecls ,&_a_varDecls);
_ret_10 = omc_ComponentReference_crefSubs(threadData, _a_cr);
_l_spec1 = omc_CodegenCFunctions_daeExpCrefIndexSpec(threadData, _OMC_LIT20, _ret_10, _a_context, _a_preExp, _a_varDecls, _a_auxFunction ,&_a_preExp ,&_a_varDecls ,&_a_auxFunction);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT1320);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _a_type);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT566);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _a_wrapperArray);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT131);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _l_spec1);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT131);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _l_slicedArray);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT299);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT98);
_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_11 = omc_ComponentReference_crefDims(threadData, _a_cr);
_ret_12 = omc_ComponentReference_crefArrayGetFirstCref(threadData, _a_cr);
_ret_13 = omc_ComponentReference_crefSubs(threadData, _ret_12);
_l_sub = omc_CodegenCFunctions_indexSubs(threadData, _OMC_LIT20, _ret_11, _ret_13, _a_context, _a_preExp, _a_varDecls, _a_auxFunction ,&_a_preExp ,&_a_varDecls ,&_a_auxFunction);
_ret_14 = listLength(_a_dims);
_l_dimsLenStr = omc_Tpl_writeStr(threadData, _OMC_LIT20, intString(_ret_14));
_l_dimsValuesStr = omc_Tpl_pushIter(threadData, _OMC_LIT20, _OMC_LIT303);
_l_dimsValuesStr = omc_CodegenCFunctions_lm__784(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_16 = omc_Expression_hasZeroDimension(threadData, _a_dims);
_l_arrayData = omc_CodegenCFunctions_fun__785(threadData, _OMC_LIT20, _ret_16, _a_type, _l_sub, _a_auxFunction, _a_varDecls, _a_preExp, _a_context, _a_cr ,&_l_sub ,&_a_auxFunction ,&_a_varDecls ,&_a_preExp);
_l_t = omc_Tpl_writeText(threadData, _OMC_LIT20, _a_type);
_l_t = omc_Tpl_writeTok(threadData, _l_t, _OMC_LIT1303);
_l_t = omc_Tpl_writeText(threadData, _l_t, _a_wrapperArray);
_l_t = omc_Tpl_writeTok(threadData, _l_t, _OMC_LIT301);
_l_t = omc_Tpl_writeText(threadData, _l_t, _l_arrayData);
_l_t = omc_Tpl_writeTok(threadData, _l_t, _OMC_LIT301);
_l_t = omc_Tpl_writeText(threadData, _l_t, _l_dimsLenStr);
_l_t = omc_Tpl_writeTok(threadData, _l_t, _OMC_LIT301);
_l_t = omc_Tpl_writeText(threadData, _l_t, _l_dimsValuesStr);
_l_t = omc_Tpl_writeTok(threadData, _l_t, _OMC_LIT299);
_l_t = omc_Tpl_writeTok(threadData, _l_t, _OMC_LIT98);
_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__786(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__786(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_fun__785(threadData_t *threadData, modelica_metatype _in_txt, modelica_boolean _in_mArg, modelica_metatype _in_a_type, 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 _in_a_cr, modelica_metatype *out_out_a_sub, 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_sub = 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_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_sub;
tmp4_5 = _in_a_auxFunction;
tmp4_6 = _in_a_varDecls;
tmp4_7 = _in_a_preExp;
tmp4_8 = _in_a_context;
tmp4_9 = _in_a_cr;
{
modelica_metatype _txt = NULL;
modelica_metatype _a_type = NULL;
modelica_metatype _a_sub = 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_1 = NULL;
modelica_metatype _l_nosubname = 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_type = tmp4_3;
_a_sub = tmp4_4;
_a_auxFunction = tmp4_5;
_a_varDecls = tmp4_6;
_a_preExp = tmp4_7;
_a_context = tmp4_8;
_a_cr = tmp4_9;
_ret_1 = omc_ComponentReference_crefStripSubs(threadData, _a_cr);
_l_nosubname = omc_CodegenCFunctions_contextCref(threadData, _OMC_LIT20, _ret_1, _a_context, _a_preExp, _a_varDecls, _a_auxFunction, _a_sub ,&_a_preExp ,&_a_varDecls ,&_a_auxFunction ,&_a_sub);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT743);
_txt = omc_Tpl_writeText(threadData, _txt, _a_type);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1332);
_txt = omc_Tpl_writeText(threadData, _txt, _l_nosubname);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT610);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_sub;
tmpMeta[0+2] = _a_auxFunction;
tmpMeta[0+3] = _a_varDecls;
tmpMeta[0+4] = _a_preExp;
goto tmp3_done;
}
case 1: {
_txt = tmp4_1;
_a_sub = tmp4_4;
_a_auxFunction = tmp4_5;
_a_varDecls = tmp4_6;
_a_preExp = tmp4_7;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1334);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_sub;
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_sub = 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_sub) { *out_out_a_sub = _out_a_sub; }
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__785(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_mArg, modelica_metatype _in_a_type, 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 _in_a_cr, modelica_metatype *out_out_a_sub, 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__785(threadData, _in_txt, tmp1, _in_a_type, _in_a_sub, _in_a_auxFunction, _in_a_varDecls, _in_a_preExp, _in_a_context, _in_a_cr, out_out_a_sub, out_out_a_auxFunction, out_out_a_varDecls, out_out_a_preExp);
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_lm__784(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[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_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: {
modelica_metatype tmpMeta6;
modelica_metatype tmpMeta7;
if (listEmpty(tmp4_2)) goto tmp3_end;
tmpMeta6 = MMC_CAR(tmp4_2);
tmpMeta7 = MMC_CDR(tmp4_2);
_i_dim = tmpMeta6;
_rest = tmpMeta7;
_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_LIT1311);
_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__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[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_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: {
modelica_metatype tmpMeta6;
modelica_metatype tmpMeta7;
if (listEmpty(tmp4_2)) goto tmp3_end;
tmpMeta6 = MMC_CAR(tmp4_2);
tmpMeta7 = MMC_CDR(tmp4_2);
_i_dim = tmpMeta6;
_rest = tmpMeta7;
_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_LIT1311);
_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__782(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[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_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;
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: {
modelica_metatype tmpMeta6;
modelica_metatype tmpMeta7;
if (listEmpty(tmp4_2)) goto tmp3_end;
tmpMeta6 = MMC_CAR(tmp4_2);
tmpMeta7 = MMC_CDR(tmp4_2);
_i_v = tmpMeta6;
_rest = tmpMeta7;
_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_LIT301);
_txt = omc_CodegenCFunctions_constVarOrDaeExp(threadData, _txt, _i_v, _a_cr, _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_constVarOrDaeExp(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_var, 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[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_a_var;
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_var = NULL;
modelica_string _i_name = NULL;
modelica_metatype _i_binding_exp = NULL;
modelica_metatype _ret_2 = NULL;
modelica_metatype _txt_1 = 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: {
modelica_metatype tmpMeta6;
modelica_metatype tmpMeta7;
modelica_metatype tmpMeta8;
modelica_metatype tmpMeta9;
tmpMeta6 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 3));
tmpMeta7 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta6), 4));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta7,3,0) == 0) goto tmp3_end;
tmpMeta8 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 5));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta8,1,4) == 0) goto tmp3_end;
tmpMeta9 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta8), 2));
_i_binding_exp = tmpMeta9;
_txt = tmp4_1;
_a_context = tmp4_4;
_a_preExp = tmp4_5;
_a_varDecls = tmp4_6;
_a_auxFunction = tmp4_7;
tmpMeta[0+0] = omc_CodegenCFunctions_daeExp(threadData, _txt, _i_binding_exp, _a_context, _a_preExp, _a_varDecls, _a_auxFunction, &tmpMeta[0+1], &tmpMeta[0+2], &tmpMeta[0+3]);
goto tmp3_done;
}
case 1: {
modelica_metatype tmpMeta10;
modelica_metatype tmpMeta11;
modelica_metatype tmpMeta12;
modelica_metatype tmpMeta13;
tmpMeta10 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
tmpMeta11 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 3));
tmpMeta12 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta11), 4));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta12,3,0) == 0) goto tmp3_end;
tmpMeta13 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 5));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta13,2,2) == 0) goto tmp3_end;
_i_name = tmpMeta10;
_txt = tmp4_1;
_a_preExp = tmp4_5;
_a_varDecls = tmp4_6;
_a_auxFunction = tmp4_7;
_txt_0 = omc_Tpl_writeTok(threadData, _OMC_LIT20, _OMC_LIT1336);
_txt_0 = omc_Tpl_writeStr(threadData, _txt_0, _i_name);
_txt_0 = omc_Tpl_writeTok(threadData, _txt_0, _OMC_LIT1338);
_txt = omc_CodegenUtil_error(threadData, _txt, omc_Tpl_sourceInfo(threadData, _OMC_LIT27, ((modelica_integer) 5233), ((modelica_integer) 13)), 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: {
modelica_metatype tmpMeta14;
modelica_metatype tmpMeta15;
modelica_metatype tmpMeta16;
modelica_metatype tmpMeta17;
tmpMeta14 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
tmpMeta15 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 3));
tmpMeta16 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta15), 4));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta16,3,0) == 0) goto tmp3_end;
tmpMeta17 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 5));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta17,0,0) == 0) goto tmp3_end;
_i_name = tmpMeta14;
_txt = tmp4_1;
_a_preExp = tmp4_5;
_a_varDecls = tmp4_6;
_a_auxFunction = tmp4_7;
_txt_1 = omc_Tpl_writeTok(threadData, _OMC_LIT20, _OMC_LIT1336);
_txt_1 = omc_Tpl_writeStr(threadData, _txt_1, _i_name);
_txt_1 = omc_Tpl_writeTok(threadData, _txt_1, _OMC_LIT1340);
_txt = omc_CodegenUtil_error(threadData, _txt, omc_Tpl_sourceInfo(threadData, _OMC_LIT27, ((modelica_integer) 5235), ((modelica_integer) 13)), 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 3: {
_txt = tmp4_1;
_i_var = tmp4_2;
_a_cr = tmp4_3;
_a_context = tmp4_4;
_a_preExp = tmp4_5;
_a_varDecls = tmp4_6;
_a_auxFunction = tmp4_7;
_ret_2 = omc_SimCodeFunctionUtil_makeCrefRecordExp(threadData, _a_cr, _i_var);
tmpMeta[0+0] = omc_CodegenCFunctions_daeExp(threadData, _txt, _ret_2, _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_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[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_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: {
modelica_metatype tmpMeta6;
modelica_metatype tmpMeta7;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,6,2) == 0) goto tmp3_end;
tmpMeta6 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
tmpMeta7 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 3));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta7,13,2) == 0) goto tmp3_end;
_i_cr = tmpMeta6;
_txt = tmp4_1;
_a_preExp = tmp4_4;
_a_varDecls = tmp4_5;
_a_auxFunction = tmp4_6;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1342);
_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: {
modelica_metatype tmpMeta8;
modelica_metatype tmpMeta9;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,6,2) == 0) goto tmp3_end;
tmpMeta8 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
tmpMeta9 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 3));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta9,12,1) == 0) goto tmp3_end;
_i_cr = tmpMeta8;
_txt = tmp4_1;
_a_preExp = tmp4_4;
_a_varDecls = tmp4_5;
_a_auxFunction = tmp4_6;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1344);
_txt = omc_CodegenUtil_crefStr(threadData, _txt, _i_cr);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT87);
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_metatype tmpMeta10;
modelica_metatype tmpMeta11;
modelica_metatype tmpMeta12;
modelica_metatype tmpMeta13;
modelica_metatype tmpMeta14;
modelica_metatype tmpMeta15;
modelica_metatype tmpMeta16;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,6,2) == 0) goto tmp3_end;
tmpMeta10 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta10,0,4) == 0) goto tmp3_end;
tmpMeta11 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta10), 2));
tmpMeta12 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta10), 3));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta12,25,1) == 0) goto tmp3_end;
tmpMeta13 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta12), 2));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta13,20,5) == 0) goto tmp3_end;
tmpMeta14 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta10), 4));
if (!listEmpty(tmpMeta14)) goto tmp3_end;
tmpMeta15 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta10), 5));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta15,1,3) == 0) goto tmp3_end;
tmpMeta16 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta15), 2));
_i_cr_ident = tmpMeta11;
_i_ty = tmpMeta13;
_i_cri_ident = tmpMeta16;
_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_LIT1346);
_txt = omc_Tpl_writeStr(threadData, _txt, _i_cr_ident);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT532);
_txt = omc_Tpl_writeText(threadData, _txt, _l_offset);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT534);
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_metatype tmpMeta17;
modelica_metatype tmpMeta18;
modelica_metatype tmpMeta19;
modelica_metatype tmpMeta20;
modelica_metatype tmpMeta21;
modelica_metatype tmpMeta22;
modelica_metatype tmpMeta23;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,6,2) == 0) goto tmp3_end;
tmpMeta17 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta17,0,4) == 0) goto tmp3_end;
tmpMeta18 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta17), 2));
tmpMeta19 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta17), 3));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta19,25,1) == 0) goto tmp3_end;
tmpMeta20 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta19), 2));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta20,21,6) == 0) goto tmp3_end;
tmpMeta21 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta17), 4));
if (!listEmpty(tmpMeta21)) goto tmp3_end;
tmpMeta22 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta17), 5));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta22,1,3) == 0) goto tmp3_end;
tmpMeta23 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta22), 2));
_i_cr_ident = tmpMeta18;
_i_ty = tmpMeta20;
_i_cri_ident = tmpMeta23;
_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_LIT1346);
_txt = omc_Tpl_writeStr(threadData, _txt, _i_cr_ident);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT532);
_txt = omc_Tpl_writeText(threadData, _txt, _l_offset);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT534);
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__779(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__779(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 < 3; tmp4++) {
switch (MMC_SWITCH_CAST(tmp4)) {
case 0: {
modelica_metatype tmpMeta6;
modelica_integer tmp7;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,1,2) == 0) goto tmp3_end;
tmpMeta6 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 3));
tmp7 = mmc_unbox_integer(tmpMeta6);
if (1 != tmp7) 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_daeExpCrefRhsFunContextParallel(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: {
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 2: {
_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__777(threadData, _txt, _ret_0);
_return: OMC_LABEL_UNUSED
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__777(threadData_t *threadData, modelica_metatype _in_txt, modelica_integer _in_mArg)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta1;
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_integer tmp4_2;
tmp4_1 = _in_txt;
tmp4_2 = _in_mArg;
{
modelica_metatype _txt = NULL;
modelica_integer _i_i;
volatile mmc_switch_type tmp4;
int tmp5;
tmp4 = 0;
for (; tmp4 < 2; tmp4++) {
switch (MMC_SWITCH_CAST(tmp4)) {
case 0: {
if (-1 != tmp4_2) goto tmp3_end;
_txt = tmp4_1;
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1348);
goto tmp3_done;
}
case 1: {
_txt = tmp4_1;
_i_i = tmp4_2;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1350);
tmpMeta1 = omc_Tpl_writeStr(threadData, _txt, intString(_i_i));
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta1;
_return: OMC_LABEL_UNUSED
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__777(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__777(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 tmpMeta1;
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_metatype tmp4_2;
tmp4_1 = _in_txt;
tmp4_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 tmp4;
int tmp5;
tmp4 = 0;
for (; tmp4 < 6; tmp4++) {
switch (MMC_SWITCH_CAST(tmp4)) {
case 0: {
modelica_metatype tmpMeta6;
modelica_metatype tmpMeta7;
modelica_integer tmp8;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,1,1) == 0) goto tmp3_end;
tmpMeta6 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta6,0,1) == 0) goto tmp3_end;
tmpMeta7 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta6), 2));
tmp8 = mmc_unbox_integer(tmpMeta7);
_i_i = tmp8;
_txt = tmp4_1;
tmpMeta1 = omc_Tpl_writeStr(threadData, _txt, intString(_i_i));
goto tmp3_done;
}
case 1: {
modelica_metatype tmpMeta9;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,1,1) == 0) goto tmp3_end;
tmpMeta9 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
_i_exp = tmpMeta9;
_txt = tmp4_1;
_txt_0 = omc_Tpl_writeTok(threadData, _OMC_LIT20, _OMC_LIT1352);
_txt_0 = omc_ExpressionDumpTpl_dumpExp(threadData, _txt_0, _i_exp, _OMC_LIT239);
tmpMeta1 = omc_CodegenUtil_error(threadData, _txt, omc_Tpl_sourceInfo(threadData, _OMC_LIT27, ((modelica_integer) 5182), ((modelica_integer) 29)), omc_Tpl_textString(threadData, _txt_0));
goto tmp3_done;
}
case 2: {
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,0,0) == 0) goto tmp3_end;
_txt = tmp4_1;
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1354);
goto tmp3_done;
}
case 3: {
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,3,1) == 0) goto tmp3_end;
_txt = tmp4_1;
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1356);
goto tmp3_done;
}
case 4: {
modelica_metatype tmpMeta10;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,2,1) == 0) goto tmp3_end;
tmpMeta10 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
_i_exp = tmpMeta10;
_txt = tmp4_1;
tmpMeta1 = omc_CodegenCFunctions_fun__775(threadData, _txt, _i_exp);
goto tmp3_done;
}
case 5: {
_txt = tmp4_1;
tmpMeta1 = omc_CodegenUtil_error(threadData, _txt, omc_Tpl_sourceInfo(threadData, _OMC_LIT27, ((modelica_integer) 5196), ((modelica_integer) 14)), _OMC_LIT1357);
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta1;
_return: OMC_LABEL_UNUSED
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__775(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_exp)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta1;
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_metatype tmp4_2;
tmp4_1 = _in_txt;
tmp4_2 = _in_a_exp;
{
modelica_metatype _txt = NULL;
modelica_metatype _i_exp = NULL;
modelica_boolean _i_i_1;
modelica_integer _i_i;
modelica_metatype _l_auxFunction = NULL;
modelica_metatype _l_preExp = NULL;
modelica_metatype _l_varDecls = NULL;
int tmp4;
{
switch (MMC_SWITCH_CAST(valueConstructor(tmp4_2))) {
case 3: {
modelica_metatype tmpMeta5;
modelica_integer tmp6;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,0,1) == 0) goto tmp3_end;
tmpMeta5 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
tmp6 = mmc_unbox_integer(tmpMeta5);
_i_i = tmp6;
_txt = tmp4_1;
tmpMeta1 = omc_Tpl_writeStr(threadData, _txt, intString(_i_i));
goto tmp3_done;
}
case 6: {
modelica_metatype tmpMeta7;
modelica_integer tmp8;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,3,1) == 0) goto tmp3_end;
tmpMeta7 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
tmp8 = mmc_unbox_integer(tmpMeta7);
_i_i_1 = tmp8;
_txt = tmp4_1;
tmpMeta1 = omc_Tpl_writeStr(threadData, _txt, omc_Tpl_booleanString(threadData, _i_i_1));
goto tmp3_done;
}
case 8: {
modelica_metatype tmpMeta9;
modelica_integer tmp10;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,5,2) == 0) goto tmp3_end;
tmpMeta9 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 3));
tmp10 = mmc_unbox_integer(tmpMeta9);
_i_i = tmp10;
_txt = tmp4_1;
tmpMeta1 = omc_Tpl_writeStr(threadData, _txt, intString(_i_i));
goto tmp3_done;
}
default:
tmp3_default: OMC_LABEL_UNUSED; {
_txt = tmp4_1;
_i_exp = tmp4_2;
_l_varDecls = _OMC_LIT20;
_l_preExp = _OMC_LIT20;
_l_auxFunction = _OMC_LIT20;
_txt = omc_CodegenCFunctions_daeExp(threadData, _txt, _i_exp, _OMC_LIT1358, _l_preExp, _l_varDecls, _l_auxFunction ,&_l_preExp ,&_l_varDecls ,&_l_auxFunction);
tmpMeta1 = _txt;
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta1;
_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 tmpMeta1;
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_metatype tmp4_2;
tmp4_1 = _in_txt;
tmp4_2 = _in_a_subscripts;
{
modelica_metatype _txt = NULL;
modelica_metatype _i_subscripts = 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;
tmpMeta1 = _txt;
goto tmp3_done;
}
case 1: {
_txt = tmp4_1;
_i_subscripts = tmp4_2;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1360);
_txt = omc_Tpl_pushIter(threadData, _txt, _OMC_LIT1364);
_txt = omc_CodegenCFunctions_lm__773(threadData, _txt, _i_subscripts);
_txt = omc_Tpl_popIter(threadData, _txt);
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1366);
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta1;
_return: OMC_LABEL_UNUSED
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_lm__773(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_items)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta1;
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_metatype tmp4_2;
tmp4_1 = _in_txt;
tmp4_2 = _in_items;
{
modelica_metatype _txt = NULL;
modelica_metatype _rest = 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 (!listEmpty(tmp4_2)) goto tmp3_end;
_txt = tmp4_1;
tmpMeta1 = _txt;
goto tmp3_done;
}
case 1: {
modelica_metatype tmpMeta6;
modelica_metatype tmpMeta7;
if (listEmpty(tmp4_2)) goto tmp3_end;
tmpMeta6 = MMC_CAR(tmp4_2);
tmpMeta7 = MMC_CDR(tmp4_2);
_i_s = tmpMeta6;
_rest = tmpMeta7;
_txt = tmp4_1;
_txt = omc_CodegenCFunctions_subscriptToMStr(threadData, _txt, _i_s);
_txt = omc_Tpl_nextIter(threadData, _txt);
_in_txt = _txt;
_in_items = _rest;
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 = tmpMeta1;
_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 tmpMeta1;
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_metatype tmp4_2;
tmp4_1 = _in_txt;
tmp4_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 tmp4;
{
switch (MMC_SWITCH_CAST(valueConstructor(tmp4_2))) {
case 4: {
modelica_metatype tmpMeta5;
modelica_metatype tmpMeta6;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,1,3) == 0) goto tmp3_end;
tmpMeta5 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
tmpMeta6 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 4));
_i_ident = tmpMeta5;
_i_subscriptLst = tmpMeta6;
_txt = tmp4_1;
_ret_0 = omc_System_unquoteIdentifier(threadData, _i_ident);
_txt = omc_Tpl_writeStr(threadData, _txt, _ret_0);
tmpMeta1 = omc_CodegenCFunctions_subscriptsToMStr(threadData, _txt, _i_subscriptLst);
goto tmp3_done;
}
case 3: {
modelica_metatype tmpMeta7;
modelica_metatype tmpMeta8;
modelica_metatype tmpMeta9;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,0,4) == 0) goto tmp3_end;
tmpMeta7 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
tmpMeta8 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 4));
tmpMeta9 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 5));
_i_ident = tmpMeta7;
_i_subscriptLst = tmpMeta8;
_i_componentRef = tmpMeta9;
_txt = tmp4_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_LIT1368);
_in_txt = _txt;
_in_a_cr = _i_componentRef;
goto _tailrecursive;
goto tmp3_done;
}
default:
tmp3_default: OMC_LABEL_UNUSED; {
_txt = tmp4_1;
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1370);
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta1;
_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__770(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__770(threadData_t *threadData, modelica_metatype _in_txt, modelica_boolean _in_mArg, modelica_integer _in_a_numVariables)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta1;
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_boolean tmp4_2;modelica_integer tmp4_3;
tmp4_1 = _in_txt;
tmp4_2 = _in_mArg;
tmp4_3 = _in_a_numVariables;
{
modelica_metatype _txt = NULL;
modelica_integer _a_numVariables;
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_numVariables = tmp4_3;
_txt = omc_Tpl_writeStr(threadData, _txt, intString(_a_numVariables));
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT30);
goto tmp3_done;
}
case 1: {
_txt = tmp4_1;
_a_numVariables = tmp4_3;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT30);
_txt = omc_Tpl_writeStr(threadData, _txt, intString(_a_numVariables));
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT301);
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta1;
_return: OMC_LABEL_UNUSED
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__770(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__770(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[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_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_metatype tmpMeta6;
modelica_metatype tmpMeta7;
modelica_metatype tmpMeta8;
modelica_integer tmp9;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,32,5) == 0) goto tmp3_end;
tmpMeta6 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
tmpMeta7 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 3));
tmpMeta8 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 5));
tmp9 = mmc_unbox_integer(tmpMeta8);
_i_path = tmpMeta6;
_i_args = tmpMeta7;
_i_index = tmp9;
_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__768(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_LIT1372);
_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_LIT131);
_l_box = omc_CodegenUtil_underscorePath(threadData, _l_box, _i_path);
_l_box = omc_Tpl_writeTok(threadData, _l_box, _OMC_LIT1374);
_l_box = omc_Tpl_writeText(threadData, _l_box, _l_argsStr);
_l_box = omc_Tpl_writeTok(threadData, _l_box, _OMC_LIT87);
_l_tmp = omc_CodegenCFunctions_tempDecl(threadData, _OMC_LIT20, _OMC_LIT322, _a_varDecls ,&_a_varDecls);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _l_tmp);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT129);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _l_box);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT113);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT98);
_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__768(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_LIT301);
_txt = omc_Tpl_pushIter(threadData, _txt, _OMC_LIT303);
_txt = omc_CodegenCFunctions_lm__767(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__767(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[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_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: {
modelica_metatype tmpMeta6;
modelica_metatype tmpMeta7;
if (listEmpty(tmp4_2)) goto tmp3_end;
tmpMeta6 = MMC_CAR(tmp4_2);
tmpMeta7 = MMC_CDR(tmp4_2);
_i_exp = tmpMeta6;
_rest = tmpMeta7;
_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[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_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: {
modelica_metatype tmpMeta6;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,31,1) == 0) goto tmp3_end;
tmpMeta6 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
if (!optionNone(tmpMeta6)) 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_LIT1376);
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_metatype tmpMeta7;
modelica_metatype tmpMeta8;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,31,1) == 0) goto tmp3_end;
tmpMeta7 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
if (optionNone(tmpMeta7)) goto tmp3_end;
tmpMeta8 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta7), 1));
_i_e = tmpMeta8;
_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_LIT1378);
_txt = omc_Tpl_writeText(threadData, _txt, _l_expPart);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT87);
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[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_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: {
modelica_metatype tmpMeta6;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,30,1) == 0) goto tmp3_end;
tmpMeta6 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
_i_listExp = tmpMeta6;
_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_LIT303);
_l_args = omc_CodegenCFunctions_lm__763(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_LIT322, _a_varDecls ,&_a_varDecls);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _l_tmp);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT978);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _l_start);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT980);
_a_preExp = omc_CodegenCFunctions_fun__764(threadData, _a_preExp, _l_args);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _l_args);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT299);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT98);
_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__764(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_args)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta1;
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_metatype tmp4_2;
tmp4_1 = _in_txt;
tmp4_2 = _in_a_args;
{
modelica_metatype _txt = NULL;
volatile mmc_switch_type tmp4;
int tmp5;
tmp4 = 0;
for (; tmp4 < 2; tmp4++) {
switch (MMC_SWITCH_CAST(tmp4)) {
case 0: {
modelica_metatype tmpMeta6;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,0,2) == 0) goto tmp3_end;
tmpMeta6 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
if (!listEmpty(tmpMeta6)) goto tmp3_end;
_txt = tmp4_1;
tmpMeta1 = _txt;
goto tmp3_done;
}
case 1: {
_txt = tmp4_1;
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT301);
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta1;
_return: OMC_LABEL_UNUSED
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_lm__763(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[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_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: {
modelica_metatype tmpMeta6;
modelica_metatype tmpMeta7;
if (listEmpty(tmp4_2)) goto tmp3_end;
tmpMeta6 = MMC_CAR(tmp4_2);
tmpMeta7 = MMC_CDR(tmp4_2);
_i_e = tmpMeta6;
_rest = tmpMeta7;
_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[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_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: {
modelica_metatype tmpMeta6;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,19,1) == 0) goto tmp3_end;
tmpMeta6 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
_i_exp = tmp4_2;
_i_PR = tmpMeta6;
_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_LIT126);
_l_tmp = omc_CodegenCFunctions_lm__761(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__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 _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[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_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: {
modelica_metatype tmpMeta6;
modelica_metatype tmpMeta7;
if (listEmpty(tmp4_2)) goto tmp3_end;
tmpMeta6 = MMC_CAR(tmp4_2);
tmpMeta7 = MMC_CDR(tmp4_2);
_i_e = tmpMeta6;
_rest = tmpMeta7;
_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_LIT1020);
_txt = omc_Tpl_writeStr(threadData, _txt, intString(_x_i1));
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT129);
_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_LIT113);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT98);
_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[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_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: {
modelica_metatype tmpMeta6;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,14,2) == 0) goto tmp3_end;
tmpMeta6 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
_i_types = tmpMeta6;
_txt = tmp4_1;
_a_varDecls = tmp4_3;
_l_tmpVar = omc_Tpl_writeTok(threadData, _OMC_LIT20, _OMC_LIT146);
_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_LIT1380);
_a_varDecls = omc_Tpl_pushBlock(threadData, _a_varDecls, _OMC_LIT105);
_a_varDecls = omc_Tpl_pushIter(threadData, _a_varDecls, _OMC_LIT126);
_a_varDecls = omc_CodegenCFunctions_lm__759(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_LIT261);
_a_varDecls = omc_Tpl_writeText(threadData, _a_varDecls, _l_tmpVar);
_a_varDecls = omc_Tpl_writeTok(threadData, _a_varDecls, _OMC_LIT113);
_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__759(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_items)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta1;
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_metatype tmp4_2;
tmp4_1 = _in_txt;
tmp4_2 = _in_items;
{
modelica_metatype _txt = NULL;
modelica_metatype _rest = NULL;
modelica_integer _x_i1;
modelica_metatype _i_ty = 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;
tmpMeta1 = _txt;
goto tmp3_done;
}
case 1: {
modelica_metatype tmpMeta6;
modelica_metatype tmpMeta7;
if (listEmpty(tmp4_2)) goto tmp3_end;
tmpMeta6 = MMC_CAR(tmp4_2);
tmpMeta7 = MMC_CDR(tmp4_2);
_i_ty = tmpMeta6;
_rest = tmpMeta7;
_txt = tmp4_1;
_x_i1 = omc_Tpl_getIteri__i0(threadData, _txt);
_txt = omc_CodegenCFunctions_expTypeModelica(threadData, _txt, _i_ty);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1382);
_txt = omc_Tpl_writeStr(threadData, _txt, intString(_x_i1));
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT113);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT98);
_txt = omc_Tpl_nextIter(threadData, _txt);
_in_txt = _txt;
_in_items = _rest;
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 = tmpMeta1;
_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[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_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: {
modelica_metatype tmpMeta6;
modelica_metatype tmpMeta7;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,29,2) == 0) goto tmp3_end;
tmpMeta6 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
tmpMeta7 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 3));
_i_car = tmpMeta6;
_i_cdr = tmpMeta7;
_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_LIT322, _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_LIT429);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _l_carExp);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT301);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _l_cdrExp);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT299);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT98);
_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[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_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: {
modelica_metatype tmpMeta6;
modelica_metatype tmpMeta7;
if (listEmpty(tmp4_2)) goto tmp3_end;
tmpMeta6 = MMC_CAR(tmp4_2);
tmpMeta7 = MMC_CDR(tmp4_2);
_i_e = tmpMeta6;
_i_rest = tmpMeta7;
_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_LIT1384);
_txt = omc_Tpl_writeText(threadData, _txt, _l_expPart);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT301);
_txt = omc_Tpl_writeText(threadData, _txt, _l_restList);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT87);
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_LIT1386);
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[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_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: {
modelica_metatype tmpMeta6;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,28,1) == 0) goto tmp3_end;
tmpMeta6 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
_i_valList = tmpMeta6;
_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_LIT322, _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_LIT129);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _l_expPart);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT113);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT98);
_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__754(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__754(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_LIT1388);
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_LIT1390);
_ret_0 = stringGet(_a_string, ((modelica_integer) 1));
_txt = omc_Tpl_writeStr(threadData, _txt, intString(_ret_0));
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT932);
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_LIT146);
_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_LIT1392);
_a_varDecls = omc_Tpl_writeText(threadData, _a_varDecls, _l_tmp);
_a_varDecls = omc_Tpl_writeTok(threadData, _a_varDecls, _OMC_LIT234);
_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_LIT1177);
_a_varDecls = omc_Tpl_writeText(threadData, _a_varDecls, _a_escstr);
_a_varDecls = omc_Tpl_writeTok(threadData, _a_varDecls, _OMC_LIT1394);
_a_varDecls = omc_Tpl_writeTok(threadData, _a_varDecls, _OMC_LIT98);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1396);
_txt = omc_Tpl_writeText(threadData, _txt, _l_tmp);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT87);
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__754(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__754(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__752(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__752(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_LIT30);
_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_LIT1398);
_txt = omc_Tpl_writeText(threadData, _txt, _l_shortTypeStr);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1400);
_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_LIT87);
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_LIT1401, _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_LIT1403);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _l_texp);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT299);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT98);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT40);
_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_LIT1401, _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_LIT129);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _l_texp);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT113);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT98);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT40);
_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__750(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__750(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_LIT30);
_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_LIT1398);
_txt = omc_Tpl_writeText(threadData, _txt, _l_shortTypeStr);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1400);
_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_LIT87);
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_LIT1405);
_txt = omc_Tpl_writeText(threadData, _txt, _l_mstr);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT87);
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__748(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__748(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_LIT129);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _a_res1);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT113);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT98);
_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__748(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__748(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 tmpMeta1;
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_metatype tmp4_2;
tmp4_1 = _in_txt;
tmp4_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 tmp4;
{
switch (MMC_SWITCH_CAST(valueConstructor(tmp4_2))) {
case 3: {
modelica_metatype tmpMeta5;
modelica_integer tmp6;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,0,1) == 0) goto tmp3_end;
tmpMeta5 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
tmp6 = mmc_unbox_integer(tmpMeta5);
_i_integer = tmp6;
_txt = tmp4_1;
_ret_1 = omc_Config_simCodeTarget(threadData);
_l_int__type = omc_CodegenCFunctions_fun__746(threadData, _OMC_LIT20, _ret_1);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT753);
_txt = omc_Tpl_writeText(threadData, _txt, _l_int__type);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT138);
_txt = omc_Tpl_writeStr(threadData, _txt, intString(_i_integer));
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT87);
goto tmp3_done;
}
case 4: {
modelica_metatype tmpMeta7;
modelica_real tmp8;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,1,1) == 0) goto tmp3_end;
tmpMeta7 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
tmp8 = mmc_unbox_real(tmpMeta7);
_i_real = tmp8;
_txt = tmp4_1;
tmpMeta1 = omc_Tpl_writeStr(threadData, _txt, realString(_i_real));
goto tmp3_done;
}
case 6: {
modelica_metatype tmpMeta9;
modelica_integer tmp10;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,3,1) == 0) goto tmp3_end;
tmpMeta9 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
tmp10 = mmc_unbox_integer(tmpMeta9);
_i_bool = tmp10;
_txt = tmp4_1;
tmpMeta1 = omc_CodegenCFunctions_boolStrC(threadData, _txt, _i_bool);
goto tmp3_done;
}
case 8: {
modelica_metatype tmpMeta11;
modelica_integer tmp12;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,5,2) == 0) goto tmp3_end;
tmpMeta11 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 3));
tmp12 = mmc_unbox_integer(tmpMeta11);
_i_index = tmp12;
_txt = tmp4_1;
tmpMeta1 = omc_Tpl_writeStr(threadData, _txt, intString(_i_index));
goto tmp3_done;
}
default:
tmp3_default: OMC_LABEL_UNUSED; {
_txt = tmp4_1;
_i_exp = tmp4_2;
_txt_2 = omc_Tpl_writeTok(threadData, _OMC_LIT20, _OMC_LIT1407);
_txt_2 = omc_ExpressionDumpTpl_dumpExp(threadData, _txt_2, _i_exp, _OMC_LIT239);
tmpMeta1 = omc_CodegenUtil_error(threadData, _txt, omc_Tpl_sourceInfo(threadData, _OMC_LIT27, ((modelica_integer) 4983), ((modelica_integer) 14)), omc_Tpl_textString(threadData, _txt_2));
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta1;
_return: OMC_LABEL_UNUSED
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__746(threadData_t *threadData, modelica_metatype _in_txt, modelica_string _in_mArg)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta1;
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_string tmp4_2;
tmp4_1 = _in_txt;
tmp4_2 = _in_mArg;
{
modelica_metatype _txt = NULL;
volatile mmc_switch_type tmp4;
int tmp5;
tmp4 = 0;
for (; tmp4 < 2; tmp4++) {
switch (MMC_SWITCH_CAST(tmp4)) {
case 0: {
if (5 != MMC_STRLEN(tmp4_2) || strcmp(MMC_STRINGDATA(_OMC_LIT47), MMC_STRINGDATA(tmp4_2)) != 0) goto tmp3_end;
_txt = tmp4_1;
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1409);
goto tmp3_done;
}
case 1: {
_txt = tmp4_1;
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1410);
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta1;
_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__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 _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: {
modelica_metatype tmpMeta6;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,2,1) == 0) goto tmp3_end;
tmpMeta6 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
_i_string = tmpMeta6;
_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_LIT1412);
_txt = omc_ExpressionDumpTpl_dumpExp(threadData, _txt, _i_e, _OMC_LIT239);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT940);
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_LIT1414);
_txt_0 = omc_ExpressionDumpTpl_dumpExp(threadData, _txt_0, _a_exp, _OMC_LIT239);
_txt = omc_CodegenUtil_error(threadData, _txt, omc_Tpl_sourceInfo(threadData, _OMC_LIT27, ((modelica_integer) 4966), ((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__742(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__742(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 tmpMeta1;
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_string tmp4_2;modelica_string tmp4_3;modelica_integer tmp4_4;modelica_string tmp4_5;
tmp4_1 = _in_txt;
tmp4_2 = _in_mArg;
tmp4_3 = _in_a_prefix;
tmp4_4 = _in_a_index;
tmp4_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 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_LIT322), MMC_STRINGDATA(tmp4_2)) != 0) goto tmp3_end;
_txt = tmp4_1;
_a_index = tmp4_4;
_a_startIndex = tmp4_5;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1416);
_txt = omc_Tpl_writeStr(threadData, _txt, _a_startIndex);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT343);
_ret_0 = ((modelica_integer) -1) + _a_index;
_txt = omc_Tpl_writeStr(threadData, _txt, intString(_ret_0));
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT932);
goto tmp3_done;
}
case 1: {
if (19 != MMC_STRLEN(tmp4_2) || strcmp(MMC_STRINGDATA(_OMC_LIT1419), MMC_STRINGDATA(tmp4_2)) != 0) goto tmp3_end;
_txt = tmp4_1;
_a_index = tmp4_4;
_a_startIndex = tmp4_5;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1416);
_txt = omc_Tpl_writeStr(threadData, _txt, _a_startIndex);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT343);
_ret_1 = ((modelica_integer) -1) + _a_index;
_txt = omc_Tpl_writeStr(threadData, _txt, intString(_ret_1));
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT932);
goto tmp3_done;
}
case 2: {
if (25 != MMC_STRLEN(tmp4_2) || strcmp(MMC_STRINGDATA(_OMC_LIT1420), MMC_STRINGDATA(tmp4_2)) != 0) goto tmp3_end;
_txt = tmp4_1;
_a_index = tmp4_4;
_a_startIndex = tmp4_5;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1416);
_txt = omc_Tpl_writeStr(threadData, _txt, _a_startIndex);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT343);
_ret_2 = ((modelica_integer) -1) + _a_index;
_txt = omc_Tpl_writeStr(threadData, _txt, intString(_ret_2));
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT932);
goto tmp3_done;
}
case 3: {
_txt = tmp4_1;
_a_prefix = tmp4_3;
_a_index = tmp4_4;
_l_newVarIx = omc_Tpl_writeStr(threadData, _OMC_LIT20, _a_prefix);
_l_newVarIx = omc_Tpl_writeTok(threadData, _l_newVarIx, _OMC_LIT1418);
_ret_4 = ((modelica_integer) -1) + _a_index;
_l_newVarIx = omc_Tpl_writeStr(threadData, _l_newVarIx, intString(_ret_4));
tmpMeta1 = omc_Tpl_writeText(threadData, _txt, _l_newVarIx);
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta1;
_return: OMC_LABEL_UNUSED
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_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__742(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__740(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__740(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_LIT322), 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_LIT1416);
_txt = omc_Tpl_writeStr(threadData, _txt, _a_startIndex);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT343);
_txt = omc_Tpl_writeStr(threadData, _txt, _a_index);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT932);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_varDecls;
goto tmp3_done;
}
case 1: {
if (19 != MMC_STRLEN(tmp4_2) || strcmp(MMC_STRINGDATA(_OMC_LIT1419), 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_LIT1416);
_txt = omc_Tpl_writeStr(threadData, _txt, _a_startIndex);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT343);
_txt = omc_Tpl_writeStr(threadData, _txt, _a_index);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT932);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_varDecls;
goto tmp3_done;
}
case 2: {
if (25 != MMC_STRLEN(tmp4_2) || strcmp(MMC_STRINGDATA(_OMC_LIT1420), 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_LIT1416);
_txt = omc_Tpl_writeStr(threadData, _txt, _a_startIndex);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT343);
_txt = omc_Tpl_writeStr(threadData, _txt, _a_index);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT932);
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_LIT1418);
_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_LIT34);
_a_varDecls = omc_Tpl_writeText(threadData, _a_varDecls, _l_newVarIx);
_a_varDecls = omc_Tpl_writeTok(threadData, _a_varDecls, _OMC_LIT1422);
_a_varDecls = omc_Tpl_writeTok(threadData, _a_varDecls, _OMC_LIT98);
_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_LIT146);
_out_txt = omc_Tpl_writeStr(threadData, _out_txt, _a_startIndex);
_out_txt = omc_Tpl_writeTok(threadData, _out_txt, _OMC_LIT244);
_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_LIT146);
_l_ix = omc_Tpl_writeStr(threadData, _l_ix, _a_startIndex);
_l_ix = omc_Tpl_writeTok(threadData, _l_ix, _OMC_LIT244);
_l_ix = omc_Tpl_writeStr(threadData, _l_ix, _a_index);
_out_a_varDecls = omc_CodegenCFunctions_fun__737(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_LIT34);
_out_a_varDecls = omc_Tpl_writeText(threadData, _out_a_varDecls, _l_ix);
_out_a_varDecls = omc_Tpl_writeTok(threadData, _out_a_varDecls, _OMC_LIT113);
_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__737(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_matchTy)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta1;
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_metatype tmp4_2;
tmp4_1 = _in_txt;
tmp4_2 = _in_a_matchTy;
{
modelica_metatype _txt = 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;
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1424);
goto tmp3_done;
}
case 1: {
_txt = tmp4_1;
tmpMeta1 = _txt;
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta1;
_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__735(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__735(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_integer _ret_3;
modelica_integer _ret_2;
modelica_integer _ret_1;
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_LIT322), MMC_STRINGDATA(tmp4_2)) != 0) goto tmp3_end;
_txt = tmp4_1;
_a_varDecls = tmp4_3;
_l_newVarIx = omc_Tpl_writeTok(threadData, _OMC_LIT20, _OMC_LIT1426);
_ret_1 = omc_System_tmpTick(threadData);
_l_newVarIx = omc_Tpl_writeStr(threadData, _l_newVarIx, intString(_ret_1));
_a_varDecls = omc_Tpl_writeTok(threadData, _a_varDecls, _OMC_LIT427);
_a_varDecls = omc_Tpl_writeText(threadData, _a_varDecls, _l_newVarIx);
_a_varDecls = omc_Tpl_writeTok(threadData, _a_varDecls, _OMC_LIT113);
_a_varDecls = omc_Tpl_writeTok(threadData, _a_varDecls, _OMC_LIT98);
_txt = omc_Tpl_writeText(threadData, _txt, _l_newVarIx);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_varDecls;
goto tmp3_done;
}
case 1: {
if (19 != MMC_STRLEN(tmp4_2) || strcmp(MMC_STRINGDATA(_OMC_LIT1419), MMC_STRINGDATA(tmp4_2)) != 0) goto tmp3_end;
_txt = tmp4_1;
_a_varDecls = tmp4_3;
_l_newVarIx = omc_Tpl_writeTok(threadData, _OMC_LIT20, _OMC_LIT1426);
_ret_2 = omc_System_tmpTick(threadData);
_l_newVarIx = omc_Tpl_writeStr(threadData, _l_newVarIx, intString(_ret_2));
_a_varDecls = omc_Tpl_writeTok(threadData, _a_varDecls, _OMC_LIT427);
_a_varDecls = omc_Tpl_writeText(threadData, _a_varDecls, _l_newVarIx);
_a_varDecls = omc_Tpl_writeTok(threadData, _a_varDecls, _OMC_LIT113);
_a_varDecls = omc_Tpl_writeTok(threadData, _a_varDecls, _OMC_LIT98);
_txt = omc_Tpl_writeText(threadData, _txt, _l_newVarIx);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_varDecls;
goto tmp3_done;
}
case 2: {
if (25 != MMC_STRLEN(tmp4_2) || strcmp(MMC_STRINGDATA(_OMC_LIT1420), MMC_STRINGDATA(tmp4_2)) != 0) goto tmp3_end;
_txt = tmp4_1;
_a_varDecls = tmp4_3;
_l_newVarIx = omc_Tpl_writeTok(threadData, _OMC_LIT20, _OMC_LIT1426);
_ret_3 = omc_System_tmpTick(threadData);
_l_newVarIx = omc_Tpl_writeStr(threadData, _l_newVarIx, intString(_ret_3));
_a_varDecls = omc_Tpl_writeTok(threadData, _a_varDecls, _OMC_LIT427);
_a_varDecls = omc_Tpl_writeText(threadData, _a_varDecls, _l_newVarIx);
_a_varDecls = omc_Tpl_writeTok(threadData, _a_varDecls, _OMC_LIT113);
_a_varDecls = omc_Tpl_writeTok(threadData, _a_varDecls, _OMC_LIT98);
_txt = omc_Tpl_writeText(threadData, _txt, _l_newVarIx);
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_LIT146);
_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_LIT34);
_a_varDecls = omc_Tpl_writeText(threadData, _a_varDecls, _l_newVarIx);
_a_varDecls = omc_Tpl_writeTok(threadData, _a_varDecls, _OMC_LIT282);
_a_varDecls = omc_Tpl_writeTok(threadData, _a_varDecls, _OMC_LIT98);
_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_LIT146);
_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_LIT34);
_out_a_varDecls = omc_Tpl_writeText(threadData, _out_a_varDecls, _l_newVarIx);
_out_a_varDecls = omc_Tpl_writeTok(threadData, _out_a_varDecls, _OMC_LIT71);
_out_a_varDecls = omc_Tpl_writeText(threadData, _out_a_varDecls, _a_len);
_out_a_varDecls = omc_Tpl_writeTok(threadData, _out_a_varDecls, _OMC_LIT1428);
_out_a_varDecls = omc_Tpl_writeText(threadData, _out_a_varDecls, _a_elts);
_out_a_varDecls = omc_Tpl_writeTok(threadData, _out_a_varDecls, _OMC_LIT1430);
_out_a_varDecls = omc_Tpl_writeTok(threadData, _out_a_varDecls, _OMC_LIT98);
_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__732(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__732(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_integer _ret_3;
modelica_integer _ret_2;
modelica_integer _ret_1;
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_LIT322), MMC_STRINGDATA(tmp4_2)) != 0) goto tmp3_end;
_txt = tmp4_1;
_a_varDecls = tmp4_3;
_l_newVarIx = omc_Tpl_writeTok(threadData, _OMC_LIT20, _OMC_LIT1426);
_ret_1 = omc_System_tmpTick(threadData);
_l_newVarIx = omc_Tpl_writeStr(threadData, _l_newVarIx, intString(_ret_1));
_a_varDecls = omc_Tpl_writeTok(threadData, _a_varDecls, _OMC_LIT427);
_a_varDecls = omc_Tpl_writeText(threadData, _a_varDecls, _l_newVarIx);
_a_varDecls = omc_Tpl_writeTok(threadData, _a_varDecls, _OMC_LIT113);
_a_varDecls = omc_Tpl_writeTok(threadData, _a_varDecls, _OMC_LIT98);
_txt = omc_Tpl_writeText(threadData, _txt, _l_newVarIx);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_varDecls;
goto tmp3_done;
}
case 1: {
if (19 != MMC_STRLEN(tmp4_2) || strcmp(MMC_STRINGDATA(_OMC_LIT1419), MMC_STRINGDATA(tmp4_2)) != 0) goto tmp3_end;
_txt = tmp4_1;
_a_varDecls = tmp4_3;
_l_newVarIx = omc_Tpl_writeTok(threadData, _OMC_LIT20, _OMC_LIT1426);
_ret_2 = omc_System_tmpTick(threadData);
_l_newVarIx = omc_Tpl_writeStr(threadData, _l_newVarIx, intString(_ret_2));
_a_varDecls = omc_Tpl_writeTok(threadData, _a_varDecls, _OMC_LIT427);
_a_varDecls = omc_Tpl_writeText(threadData, _a_varDecls, _l_newVarIx);
_a_varDecls = omc_Tpl_writeTok(threadData, _a_varDecls, _OMC_LIT113);
_a_varDecls = omc_Tpl_writeTok(threadData, _a_varDecls, _OMC_LIT98);
_txt = omc_Tpl_writeText(threadData, _txt, _l_newVarIx);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_varDecls;
goto tmp3_done;
}
case 2: {
if (25 != MMC_STRLEN(tmp4_2) || strcmp(MMC_STRINGDATA(_OMC_LIT1420), MMC_STRINGDATA(tmp4_2)) != 0) goto tmp3_end;
_txt = tmp4_1;
_a_varDecls = tmp4_3;
_l_newVarIx = omc_Tpl_writeTok(threadData, _OMC_LIT20, _OMC_LIT1426);
_ret_3 = omc_System_tmpTick(threadData);
_l_newVarIx = omc_Tpl_writeStr(threadData, _l_newVarIx, intString(_ret_3));
_a_varDecls = omc_Tpl_writeTok(threadData, _a_varDecls, _OMC_LIT427);
_a_varDecls = omc_Tpl_writeText(threadData, _a_varDecls, _l_newVarIx);
_a_varDecls = omc_Tpl_writeTok(threadData, _a_varDecls, _OMC_LIT113);
_a_varDecls = omc_Tpl_writeTok(threadData, _a_varDecls, _OMC_LIT98);
_txt = omc_Tpl_writeText(threadData, _txt, _l_newVarIx);
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_LIT146);
_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_LIT34);
_a_varDecls = omc_Tpl_writeText(threadData, _a_varDecls, _l_newVarIx);
_a_varDecls = omc_Tpl_writeTok(threadData, _a_varDecls, _OMC_LIT113);
_a_varDecls = omc_Tpl_writeTok(threadData, _a_varDecls, _OMC_LIT98);
_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_LIT1434);
_ret_2 = (_ret_0 || _ret_1);
_out_txt = omc_CodegenCFunctions_fun__730(threadData, _txt, _ret_2);
_return: OMC_LABEL_UNUSED
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__730(threadData_t *threadData, modelica_metatype _in_txt, modelica_boolean _in_mArg)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta1;
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_boolean tmp4_2;
tmp4_1 = _in_txt;
tmp4_2 = _in_mArg;
{
modelica_metatype _txt = 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;
tmpMeta1 = _txt;
goto tmp3_done;
}
case 1: {
_txt = tmp4_1;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1436);
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT98);
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta1;
_return: OMC_LABEL_UNUSED
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__730(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__730(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_LIT1434);
_ret_2 = (_ret_0 || _ret_1);
_out_txt = omc_CodegenCFunctions_fun__728(threadData, _txt, _ret_2, _a_info);
_return: OMC_LABEL_UNUSED
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__728(threadData_t *threadData, modelica_metatype _in_txt, modelica_boolean _in_mArg, modelica_metatype _in_a_info)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta1;
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_info;
{
modelica_metatype _txt = NULL;
modelica_metatype _a_info = 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;
tmpMeta1 = _txt;
goto tmp3_done;
}
case 1: {
_txt = tmp4_1;
_a_info = tmp4_3;
_ret_0 = omc_Flags_isSet(threadData, _OMC_LIT1440);
tmpMeta1 = omc_CodegenCFunctions_fun__727(threadData, _txt, _ret_0, _a_info);
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta1;
_return: OMC_LABEL_UNUSED
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__728(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__728(threadData, _in_txt, tmp1, _in_a_info);
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__727(threadData_t *threadData, modelica_metatype _in_txt, modelica_boolean _in_mArg, modelica_metatype _in_a_info)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta1;
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_info;
{
modelica_metatype _txt = NULL;
modelica_metatype _a_info = NULL;
modelica_string _ret_1 = 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_info = tmp4_3;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1442);
_ret_0 = omc_Error_infoStr(threadData, _a_info);
_txt = omc_Tpl_writeStr(threadData, _txt, _ret_0);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1444);
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT98);
goto tmp3_done;
}
case 1: {
_txt = tmp4_1;
_a_info = tmp4_3;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1442);
_ret_1 = omc_Error_infoStr(threadData, _a_info);
_txt = omc_Tpl_writeStr(threadData, _txt, _ret_1);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1444);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT98);
tmpMeta1 = omc_CodegenCFunctions_fun__726(threadData, _txt, _a_info);
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta1;
_return: OMC_LABEL_UNUSED
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__727(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__727(threadData, _in_txt, tmp1, _in_a_info);
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__726(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_info)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta1;
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_metatype tmp4_2;
tmp4_1 = _in_txt;
tmp4_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 tmp4;
int tmp5;
tmp4 = 0;
for (; tmp4 < 2; tmp4++) {
switch (MMC_SWITCH_CAST(tmp4)) {
case 0: {
modelica_metatype tmpMeta6;
tmpMeta6 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
_txt = tmp4_1;
_i_info = tmp4_2;
_i_fileName = tmpMeta6;
_ret_0 = omc_System_stringFind(threadData, _i_fileName, _OMC_LIT1445);
_ret_1 = (((modelica_integer) -1) == _ret_0);
tmpMeta1 = omc_CodegenCFunctions_fun__725(threadData, _txt, _ret_1, _i_info);
goto tmp3_done;
}
case 1: {
_txt = tmp4_1;
tmpMeta1 = _txt;
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta1;
_return: OMC_LABEL_UNUSED
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__725(threadData_t *threadData, modelica_metatype _in_txt, modelica_boolean _in_mArg, modelica_metatype _in_a_info)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta1;
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_info;
{
modelica_metatype _txt = NULL;
modelica_metatype _a_info = 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;
tmpMeta1 = _txt;
goto tmp3_done;
}
case 1: {
_txt = tmp4_1;
_a_info = tmp4_3;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1447);
_ret_0 = omc_Error_infoStr(threadData, _a_info);
_txt = omc_Tpl_writeStr(threadData, _txt, _ret_0);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1394);
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT98);
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta1;
_return: OMC_LABEL_UNUSED
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__725(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__725(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__723(threadData, _txt, _ret_0);
_return: OMC_LABEL_UNUSED
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__723(threadData_t *threadData, modelica_metatype _in_txt, modelica_integer _in_mArg)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta1;
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_integer tmp4_2;
tmp4_1 = _in_txt;
tmp4_2 = _in_mArg;
{
modelica_metatype _txt = NULL;
modelica_integer _i_i;
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;
tmpMeta1 = _txt;
goto tmp3_done;
}
case 1: {
_txt = tmp4_1;
_i_i = tmp4_2;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1449);
_txt = omc_Tpl_writeStr(threadData, _txt, intString(_i_i));
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1451);
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta1;
_return: OMC_LABEL_UNUSED
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__723(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__723(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 tmpMeta1;
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_metatype tmp4_2;
tmp4_1 = _in_txt;
tmp4_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 tmp4;
{
switch (MMC_SWITCH_CAST(valueConstructor(tmp4_2))) {
case 4: {
modelica_metatype tmpMeta5;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,1,3) == 0) goto tmp3_end;
tmpMeta5 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
_i_ident = tmpMeta5;
_txt = tmp4_1;
_ret_0 = omc_System_unquoteIdentifier(threadData, _i_ident);
_ret_1 = omc_System_stringReplace(threadData, _ret_0, _OMC_LIT243, _OMC_LIT1452);
tmpMeta1 = omc_Tpl_writeStr(threadData, _txt, _ret_1);
goto tmp3_done;
}
case 3: {
modelica_metatype tmpMeta6;
modelica_metatype tmpMeta7;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,0,4) == 0) goto tmp3_end;
tmpMeta6 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
tmpMeta7 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 5));
_i_ident = tmpMeta6;
_i_componentRef = tmpMeta7;
_txt = tmp4_1;
_ret_2 = omc_System_unquoteIdentifier(threadData, _i_ident);
_ret_3 = omc_System_stringReplace(threadData, _ret_2, _OMC_LIT243, _OMC_LIT1452);
_txt = omc_Tpl_writeStr(threadData, _txt, _ret_3);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT244);
_in_txt = _txt;
_in_a_cr = _i_componentRef;
goto _tailrecursive;
goto tmp3_done;
}
default:
tmp3_default: OMC_LABEL_UNUSED; {
_txt = tmp4_1;
tmpMeta1 = _txt;
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta1;
_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 tmpMeta1;
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_metatype tmp4_2;
tmp4_1 = _in_txt;
tmp4_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 tmp4;
{
switch (MMC_SWITCH_CAST(valueConstructor(tmp4_2))) {
case 4: {
modelica_metatype tmpMeta5;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,1,3) == 0) goto tmp3_end;
tmpMeta5 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
_i_ident = tmpMeta5;
_txt = tmp4_1;
_ret_0 = omc_System_unquoteIdentifier(threadData, _i_ident);
tmpMeta1 = omc_Tpl_writeStr(threadData, _txt, _ret_0);
goto tmp3_done;
}
case 3: {
modelica_metatype tmpMeta6;
modelica_metatype tmpMeta7;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,0,4) == 0) goto tmp3_end;
tmpMeta6 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
tmpMeta7 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 5));
_i_ident = tmpMeta6;
_i_componentRef = tmpMeta7;
_txt = tmp4_1;
_ret_1 = omc_System_unquoteIdentifier(threadData, _i_ident);
_txt = omc_Tpl_writeStr(threadData, _txt, _ret_1);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT528);
_in_txt = _txt;
_in_a_cr = _i_componentRef;
goto _tailrecursive;
goto tmp3_done;
}
default:
tmp3_default: OMC_LABEL_UNUSED; {
_txt = tmp4_1;
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1370);
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta1;
_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;
modelica_metatype _l_sub = NULL;
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
_l_sub = _OMC_LIT20;
_out_txt = omc_CodegenCFunctions_fun__719(threadData, _txt, _a_context, _l_sub, _a_cr ,&_l_sub);
_return: OMC_LABEL_UNUSED
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__719(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_context, modelica_metatype _in_a_sub, modelica_metatype _in_a_cr, modelica_metatype *out_out_a_sub)
{
modelica_metatype _out_txt = NULL;
modelica_metatype _out_a_sub = 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_context;
tmp4_3 = _in_a_sub;
tmp4_4 = _in_a_cr;
{
modelica_metatype _txt = NULL;
modelica_metatype _a_sub = 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 (mmc__uniontype__metarecord__typedef__equal(tmp4_2,1,2) == 0) goto tmp3_end;
_txt = tmp4_1;
_a_sub = tmp4_3;
_a_cr = tmp4_4;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT244);
_txt = omc_CodegenCFunctions_arrayCrefStr(threadData, _txt, _a_cr);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_sub;
goto tmp3_done;
}
case 1: {
_txt = tmp4_1;
_a_sub = tmp4_3;
_a_cr = tmp4_4;
tmpMeta[0+0] = omc_CodegenCFunctions_crefToCStr(threadData, _txt, _a_cr, ((modelica_integer) 0), 0, 0, _a_sub, &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_sub = tmpMeta[0+1];
_return: OMC_LABEL_UNUSED
if (out_out_a_sub) { *out_out_a_sub = _out_a_sub; }
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 tmpMeta1;
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_metatype tmp4_2;
tmp4_1 = _in_txt;
tmp4_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 tmp4;
int tmp5;
tmp4 = 0;
for (; tmp4 < 10; 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;
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1454);
goto tmp3_done;
}
case 1: {
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,1,1) == 0) goto tmp3_end;
_txt = tmp4_1;
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1456);
goto tmp3_done;
}
case 2: {
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,2,1) == 0) goto tmp3_end;
_txt = tmp4_1;
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1458);
goto tmp3_done;
}
case 3: {
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,3,1) == 0) goto tmp3_end;
_txt = tmp4_1;
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1460);
goto tmp3_done;
}
case 4: {
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,5,5) == 0) goto tmp3_end;
_txt = tmp4_1;
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1454);
goto tmp3_done;
}
case 5: {
modelica_metatype tmpMeta6;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,10,4) == 0) goto tmp3_end;
tmpMeta6 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 4));
_i_complexType = tmpMeta6;
_txt = tmp4_1;
_in_txt = _txt;
_in_a_type = _i_complexType;
goto _tailrecursive;
goto tmp3_done;
}
case 6: {
modelica_metatype tmpMeta7;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,6,2) == 0) goto tmp3_end;
tmpMeta7 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
_i_ty = tmpMeta7;
_txt = tmp4_1;
_in_txt = _txt;
_in_a_type = _i_ty;
goto _tailrecursive;
goto tmp3_done;
}
case 7: {
modelica_metatype tmpMeta8;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,9,3) == 0) goto tmp3_end;
tmpMeta8 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta8,17,1) == 0) goto tmp3_end;
_txt = tmp4_1;
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1462);
goto tmp3_done;
}
case 8: {
modelica_metatype tmpMeta9;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,9,3) == 0) goto tmp3_end;
tmpMeta9 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
_i_complexClassType = tmpMeta9;
_txt = tmp4_1;
_ret_0 = omc_ClassInf_getStateName(threadData, _i_complexClassType);
tmpMeta1 = omc_CodegenUtil_underscorePath(threadData, _txt, _ret_0);
goto tmp3_done;
}
case 9: {
_txt = tmp4_1;
_i_type = tmp4_2;
_txt_1 = omc_Tpl_writeTok(threadData, _OMC_LIT20, _OMC_LIT1464);
_ret_1 = omc_Types_unparseType(threadData, _i_type);
_txt_1 = omc_Tpl_writeStr(threadData, _txt_1, _ret_1);
tmpMeta1 = omc_CodegenUtil_error(threadData, _txt, omc_Tpl_sourceInfo(threadData, _OMC_LIT27, ((modelica_integer) 4779), ((modelica_integer) 26)), omc_Tpl_textString(threadData, _txt_1));
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta1;
_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 tmpMeta1;
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_metatype tmp4_2;
tmp4_1 = _in_txt;
tmp4_2 = _in_a_cr;
{
modelica_metatype _txt = NULL;
modelica_metatype _i_componentRef = NULL;
modelica_metatype _i_identType = NULL;
int tmp4;
{
switch (MMC_SWITCH_CAST(valueConstructor(tmp4_2))) {
case 4: {
modelica_metatype tmpMeta5;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,1,3) == 0) goto tmp3_end;
tmpMeta5 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 3));
_i_identType = tmpMeta5;
_txt = tmp4_1;
tmpMeta1 = omc_CodegenCFunctions_crefTypeNameOMSIC(threadData, _txt, _i_identType);
goto tmp3_done;
}
case 3: {
modelica_metatype tmpMeta6;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,0,4) == 0) goto tmp3_end;
tmpMeta6 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 5));
_i_componentRef = tmpMeta6;
_txt = tmp4_1;
_in_txt = _txt;
_in_a_cr = _i_componentRef;
goto _tailrecursive;
goto tmp3_done;
}
default:
tmp3_default: OMC_LABEL_UNUSED; {
_txt = tmp4_1;
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT75);
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta1;
_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__715(threadData, _txt, _ret_1);
_return: OMC_LABEL_UNUSED
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__715(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_mArg)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta1;
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_metatype tmp4_2;
tmp4_1 = _in_txt;
tmp4_2 = _in_mArg;
{
modelica_metatype _txt = NULL;
modelica_integer _i_index;
volatile mmc_switch_type tmp4;
int tmp5;
tmp4 = 0;
for (; tmp4 < 2; tmp4++) {
switch (MMC_SWITCH_CAST(tmp4)) {
case 0: {
modelica_metatype tmpMeta6;
modelica_integer tmp7;
tmpMeta6 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 7));
tmp7 = mmc_unbox_integer(tmpMeta6);
_txt = tmp4_1;
_i_index = tmp7;
tmpMeta1 = omc_Tpl_writeStr(threadData, _txt, intString(_i_index));
goto tmp3_done;
}
case 1: {
_txt = tmp4_1;
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1466);
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta1;
_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 _in_a_sub, modelica_metatype *out_out_a_sub)
{
modelica_metatype _out_txt = NULL;
modelica_metatype _out_a_sub = 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_boolean tmp4_4;modelica_boolean tmp4_5;modelica_metatype tmp4_6;
tmp4_1 = _in_txt;
tmp4_2 = _in_a_cr;
tmp4_3 = _in_a_ix;
tmp4_4 = _in_a_isPre;
tmp4_5 = _in_a_isStart;
tmp4_6 = _in_a_sub;
{
modelica_metatype _txt = NULL;
modelica_integer _a_ix;
modelica_boolean _a_isPre;
modelica_boolean _a_isStart;
modelica_metatype _a_sub = NULL;
modelica_metatype _i_cr = NULL;
modelica_metatype _i_componentRef = NULL;
modelica_metatype _ret_1 = NULL;
modelica_integer _ret_0;
volatile mmc_switch_type tmp4;
int tmp5;
tmp4 = 0;
for (; tmp4 < 5; tmp4++) {
switch (MMC_SWITCH_CAST(tmp4)) {
case 0: {
modelica_metatype tmpMeta6;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,1,3) == 0) goto tmp3_end;
tmpMeta6 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
if (4 != MMC_STRLEN(tmpMeta6) || strcmp(MMC_STRINGDATA(_OMC_LIT1471), MMC_STRINGDATA(tmpMeta6)) != 0) goto tmp3_end;
_txt = tmp4_1;
_a_sub = tmp4_6;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1468);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_sub;
goto tmp3_done;
}
case 1: {
modelica_metatype tmpMeta7;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,1,3) == 0) goto tmp3_end;
tmpMeta7 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
if (7 != MMC_STRLEN(tmpMeta7) || strcmp(MMC_STRINGDATA(_OMC_LIT1472), MMC_STRINGDATA(tmpMeta7)) != 0) goto tmp3_end;
_txt = tmp4_1;
_a_sub = tmp4_6;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1470);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_sub;
goto tmp3_done;
}
case 2: {
modelica_metatype tmpMeta8;
modelica_metatype tmpMeta9;
modelica_metatype tmpMeta10;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,0,4) == 0) goto tmp3_end;
tmpMeta8 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
if (4 != MMC_STRLEN(tmpMeta8) || strcmp(MMC_STRINGDATA(_OMC_LIT1473), MMC_STRINGDATA(tmpMeta8)) != 0) goto tmp3_end;
tmpMeta9 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 4));
if (!listEmpty(tmpMeta9)) goto tmp3_end;
tmpMeta10 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 5));
_i_cr = tmp4_2;
_i_componentRef = tmpMeta10;
_txt = tmp4_1;
_a_ix = tmp4_3;
_a_isPre = tmp4_4;
_a_isStart = tmp4_5;
_a_sub = tmp4_6;
tmpMeta[0+0] = omc_CodegenCFunctions_fun__710(threadData, _txt, _a_isPre, _i_cr, _a_sub, _a_isStart, _a_ix, _i_componentRef, &tmpMeta[0+1]);
goto tmp3_done;
}
case 3: {
modelica_metatype tmpMeta11;
modelica_metatype tmpMeta12;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,0,4) == 0) goto tmp3_end;
tmpMeta11 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
if (6 != MMC_STRLEN(tmpMeta11) || strcmp(MMC_STRINGDATA(_OMC_LIT1474), MMC_STRINGDATA(tmpMeta11)) != 0) goto tmp3_end;
tmpMeta12 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 5));
_i_componentRef = tmpMeta12;
_txt = tmp4_1;
_a_ix = tmp4_3;
_a_isPre = tmp4_4;
_a_sub = tmp4_6;
_in_txt = _txt;
_in_a_cr = _i_componentRef;
_in_a_ix = _a_ix;
_in_a_isPre = _a_isPre;
_in_a_isStart = 1;
_in_a_sub = _a_sub;
goto _tailrecursive;
goto tmp3_done;
}
case 4: {
_txt = tmp4_1;
_i_cr = tmp4_2;
_a_ix = tmp4_3;
_a_isPre = tmp4_4;
_a_isStart = tmp4_5;
_a_sub = tmp4_6;
_ret_0 = omc_SimCodeUtil_getSimCode(threadData);
_ret_1 = omc_SimCodeUtil_cref2simvar(threadData, _i_cr, mmc_mk_integer(_ret_0));
tmpMeta[0+0] = omc_CodegenCFunctions_fun__713(threadData, _txt, _ret_1, _i_cr, _a_isStart, _a_isPre, _a_ix, _a_sub, &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_sub = tmpMeta[0+1];
_return: OMC_LABEL_UNUSED
if (out_out_a_sub) { *out_out_a_sub = _out_a_sub; }
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_metatype _in_a_sub, modelica_metatype *out_out_a_sub)
{
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, _in_a_sub, out_out_a_sub);
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__713(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 _in_a_sub, modelica_metatype *out_out_a_sub)
{
modelica_metatype _out_txt = NULL;
modelica_metatype _out_a_sub = 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_boolean tmp4_5;modelica_integer tmp4_6;modelica_metatype tmp4_7;
tmp4_1 = _in_txt;
tmp4_2 = _in_mArg;
tmp4_3 = _in_a_cr;
tmp4_4 = _in_a_isStart;
tmp4_5 = _in_a_isPre;
tmp4_6 = _in_a_ix;
tmp4_7 = _in_a_sub;
{
modelica_metatype _txt = NULL;
modelica_metatype _a_cr = NULL;
modelica_boolean _a_isStart;
modelica_boolean _a_isPre;
modelica_integer _a_ix;
modelica_metatype _a_sub = NULL;
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 tmp4;
int tmp5;
tmp4 = 0;
for (; tmp4 < 13; tmp4++) {
switch (MMC_SWITCH_CAST(tmp4)) {
case 0: {
modelica_metatype tmpMeta6;
modelica_metatype tmpMeta7;
modelica_integer tmp8;
tmpMeta6 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 3));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta6,20,0) == 0) goto tmp3_end;
tmpMeta7 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 7));
tmp8 = mmc_unbox_integer(tmpMeta7);
_i_index = tmp8;
_txt = tmp4_1;
_a_sub = tmp4_7;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1476);
_txt = omc_Tpl_writeStr(threadData, _txt, intString(_i_index));
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT55);
_txt = omc_Tpl_writeText(threadData, _txt, _a_sub);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_sub;
goto tmp3_done;
}
case 1: {
modelica_metatype tmpMeta9;
modelica_metatype tmpMeta10;
tmpMeta9 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 16));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta9,1,1) == 0) goto tmp3_end;
tmpMeta10 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta9), 2));
_i_varName = tmpMeta10;
_txt = tmp4_1;
_a_isStart = tmp4_4;
_a_isPre = tmp4_5;
_a_ix = tmp4_6;
_a_sub = tmp4_7;
tmpMeta[0+0] = omc_CodegenCFunctions_crefToCStr(threadData, _txt, _i_varName, _a_ix, _a_isPre, _a_isStart, _a_sub, &tmpMeta[0+1]);
goto tmp3_done;
}
case 2: {
modelica_metatype tmpMeta11;
modelica_metatype tmpMeta12;
modelica_metatype tmpMeta13;
tmpMeta11 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 13));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta11,3,1) == 0) goto tmp3_end;
tmpMeta12 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 16));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta12,2,1) == 0) goto tmp3_end;
tmpMeta13 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta12), 2));
_i_varName = tmpMeta13;
_txt = tmp4_1;
_a_isStart = tmp4_4;
_a_isPre = tmp4_5;
_a_ix = tmp4_6;
_a_sub = tmp4_7;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1478);
_txt = omc_CodegenCFunctions_crefToCStr(threadData, _txt, _i_varName, _a_ix, _a_isPre, _a_isStart, _a_sub ,&_a_sub);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT87);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_sub;
goto tmp3_done;
}
case 3: {
modelica_metatype tmpMeta14;
modelica_metatype tmpMeta15;
tmpMeta14 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 16));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta14,2,1) == 0) goto tmp3_end;
tmpMeta15 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta14), 2));
_i_varName = tmpMeta15;
_txt = tmp4_1;
_a_isStart = tmp4_4;
_a_isPre = tmp4_5;
_a_ix = tmp4_6;
_a_sub = tmp4_7;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1480);
_txt = omc_CodegenCFunctions_crefToCStr(threadData, _txt, _i_varName, _a_ix, _a_isPre, _a_isStart, _a_sub ,&_a_sub);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT87);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_sub;
goto tmp3_done;
}
case 4: {
modelica_metatype tmpMeta16;
modelica_metatype tmpMeta17;
modelica_metatype tmpMeta18;
modelica_integer tmp19;
tmpMeta16 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
tmpMeta17 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 3));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta17,10,0) == 0) goto tmp3_end;
tmpMeta18 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 7));
tmp19 = mmc_unbox_integer(tmpMeta18);
_i_name = tmpMeta16;
_i_varKind = tmpMeta17;
_i_index = tmp19;
_txt = tmp4_1;
_a_sub = tmp4_7;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1482);
_txt = omc_Tpl_writeStr(threadData, _txt, intString(_i_index));
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT55);
_txt = omc_Tpl_writeText(threadData, _txt, _a_sub);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT95);
_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_LIT34);
_txt = omc_CodegenUtil_variabilityString(threadData, _txt, _i_varKind);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT22);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_sub;
goto tmp3_done;
}
case 5: {
modelica_metatype tmpMeta20;
modelica_metatype tmpMeta21;
modelica_metatype tmpMeta22;
modelica_integer tmp23;
tmpMeta20 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
tmpMeta21 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 3));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta21,11,0) == 0) goto tmp3_end;
tmpMeta22 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 7));
tmp23 = mmc_unbox_integer(tmpMeta22);
_i_name = tmpMeta20;
_i_varKind = tmpMeta21;
_i_index = tmp23;
_txt = tmp4_1;
_a_sub = tmp4_7;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1484);
_txt = omc_Tpl_writeStr(threadData, _txt, intString(_i_index));
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT55);
_txt = omc_Tpl_writeText(threadData, _txt, _a_sub);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT95);
_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_LIT34);
_txt = omc_CodegenUtil_variabilityString(threadData, _txt, _i_varKind);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT22);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_sub;
goto tmp3_done;
}
case 6: {
modelica_metatype tmpMeta24;
modelica_metatype tmpMeta25;
modelica_metatype tmpMeta26;
modelica_integer tmp27;
tmpMeta24 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
tmpMeta25 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 3));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta25,12,0) == 0) goto tmp3_end;
tmpMeta26 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 7));
tmp27 = mmc_unbox_integer(tmpMeta26);
_i_name = tmpMeta24;
_i_varKind = tmpMeta25;
_i_index = tmp27;
_txt = tmp4_1;
_a_sub = tmp4_7;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1486);
_txt = omc_Tpl_writeStr(threadData, _txt, intString(_i_index));
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT55);
_txt = omc_Tpl_writeText(threadData, _txt, _a_sub);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT95);
_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_LIT34);
_txt = omc_CodegenUtil_variabilityString(threadData, _txt, _i_varKind);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT22);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_sub;
goto tmp3_done;
}
case 7: {
modelica_metatype tmpMeta28;
modelica_metatype tmpMeta29;
modelica_metatype tmpMeta30;
modelica_integer tmp31;
tmpMeta28 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
tmpMeta29 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 3));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta29,21,0) == 0) goto tmp3_end;
tmpMeta30 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 7));
tmp31 = mmc_unbox_integer(tmpMeta30);
_i_name = tmpMeta28;
_i_varKind = tmpMeta29;
_i_index = tmp31;
_txt = tmp4_1;
_a_sub = tmp4_7;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1488);
_txt = omc_Tpl_writeStr(threadData, _txt, intString(_i_index));
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT55);
_txt = omc_Tpl_writeText(threadData, _txt, _a_sub);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT95);
_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_LIT34);
_txt = omc_CodegenUtil_variabilityString(threadData, _txt, _i_varKind);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT22);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_sub;
goto tmp3_done;
}
case 8: {
modelica_metatype tmpMeta32;
modelica_metatype tmpMeta33;
modelica_metatype tmpMeta34;
modelica_integer tmp35;
tmpMeta32 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
tmpMeta33 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 3));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta33,22,0) == 0) goto tmp3_end;
tmpMeta34 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 7));
tmp35 = mmc_unbox_integer(tmpMeta34);
_i_name = tmpMeta32;
_i_varKind = tmpMeta33;
_i_index = tmp35;
_txt = tmp4_1;
_a_sub = tmp4_7;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1490);
_txt = omc_Tpl_writeStr(threadData, _txt, intString(_i_index));
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT55);
_txt = omc_Tpl_writeText(threadData, _txt, _a_sub);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT95);
_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_LIT34);
_txt = omc_CodegenUtil_variabilityString(threadData, _txt, _i_varKind);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT22);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_sub;
goto tmp3_done;
}
case 9: {
modelica_metatype tmpMeta36;
modelica_integer tmp37;
tmpMeta36 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 7));
tmp37 = mmc_unbox_integer(tmpMeta36);
if (-2 != tmp37) goto tmp3_end;
_txt = tmp4_1;
_a_cr = tmp4_3;
_a_isPre = tmp4_5;
_a_ix = tmp4_6;
_a_sub = tmp4_7;
_l_s = omc_CodegenCFunctions_fun__711(threadData, _OMC_LIT20, _a_isPre, _a_cr);
_ret_6 = (_a_ix == ((modelica_integer) 0));
_txt = omc_CodegenCFunctions_fun__712(threadData, _txt, _ret_6, _a_ix, _l_s);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_sub;
goto tmp3_done;
}
case 10: {
modelica_metatype tmpMeta38;
modelica_metatype tmpMeta39;
modelica_metatype tmpMeta40;
modelica_integer tmp41;
tmpMeta38 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
tmpMeta39 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 3));
tmpMeta40 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 7));
tmp41 = mmc_unbox_integer(tmpMeta40);
if (-1 != tmp41) goto tmp3_end;
_i_name = tmpMeta38;
_i_varKind = tmpMeta39;
_txt = tmp4_1;
_a_sub = tmp4_7;
_txt_7 = omc_Tpl_writeTok(threadData, _OMC_LIT20, _OMC_LIT1492);
_txt_7 = omc_CodegenUtil_variabilityString(threadData, _txt_7, _i_varKind);
_txt_7 = omc_Tpl_writeTok(threadData, _txt_7, _OMC_LIT34);
_txt_7 = omc_CodegenUtil_crefStrNoUnderscore(threadData, _txt_7, _i_name);
_txt = omc_CodegenUtil_error(threadData, _txt, omc_Tpl_sourceInfo(threadData, _OMC_LIT27, ((modelica_integer) 4740), ((modelica_integer) 45)), omc_Tpl_textString(threadData, _txt_7));
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_sub;
goto tmp3_done;
}
case 11: {
_txt = tmp4_1;
_i_var = tmp4_2;
_a_isStart = tmp4_4;
_a_isPre = tmp4_5;
_a_ix = tmp4_6;
_a_sub = tmp4_7;
tmpMeta[0+0] = omc_CodegenCFunctions_varArrayNameValues(threadData, _txt, _i_var, _a_ix, _a_isPre, _a_isStart, _a_sub, &tmpMeta[0+1]);
goto tmp3_done;
}
case 12: {
_txt = tmp4_1;
_a_sub = tmp4_7;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1370);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_sub;
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta[0+0];
_out_a_sub = tmpMeta[0+1];
_return: OMC_LABEL_UNUSED
if (out_out_a_sub) { *out_out_a_sub = _out_a_sub; }
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__713(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_metatype _in_a_sub, modelica_metatype *out_out_a_sub)
{
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__713(threadData, _in_txt, _in_mArg, _in_a_cr, tmp1, tmp2, tmp3, _in_a_sub, out_out_a_sub);
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__712(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 tmpMeta1;
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_boolean tmp4_2;modelica_integer tmp4_3;modelica_metatype tmp4_4;
tmp4_1 = _in_txt;
tmp4_2 = _in_mArg;
tmp4_3 = _in_a_ix;
tmp4_4 = _in_a_s;
{
modelica_metatype _txt = NULL;
modelica_integer _a_ix;
modelica_metatype _a_s = 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_ix = tmp4_3;
_a_s = tmp4_4;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT244);
_txt = omc_Tpl_writeText(threadData, _txt, _a_s);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT30);
_txt = omc_Tpl_writeStr(threadData, _txt, intString(_a_ix));
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT87);
goto tmp3_done;
}
case 1: {
_txt = tmp4_1;
_a_s = tmp4_4;
tmpMeta1 = omc_Tpl_writeText(threadData, _txt, _a_s);
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta1;
_return: OMC_LABEL_UNUSED
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__712(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__712(threadData, _in_txt, tmp1, tmp2, _in_a_s);
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__711(threadData_t *threadData, modelica_metatype _in_txt, modelica_boolean _in_a_isPre, modelica_metatype _in_a_cr)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta1;
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_a_isPre;
tmp4_3 = _in_a_cr;
{
modelica_metatype _txt = NULL;
modelica_metatype _a_cr = 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_cr = tmp4_3;
tmpMeta1 = omc_CodegenCFunctions_crefNonSimVar(threadData, _txt, _a_cr);
goto tmp3_done;
}
case 1: {
_txt = tmp4_1;
_a_cr = tmp4_3;
_ret_0 = omc_ComponentReference_crefPrefixPre(threadData, _a_cr);
tmpMeta1 = omc_CodegenCFunctions_crefNonSimVar(threadData, _txt, _ret_0);
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta1;
_return: OMC_LABEL_UNUSED
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__711(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__711(threadData, _in_txt, tmp1, _in_a_cr);
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__710(threadData_t *threadData, modelica_metatype _in_txt, modelica_boolean _in_a_isPre, modelica_metatype _in_a_cr, modelica_metatype _in_a_sub, modelica_boolean _in_a_isStart, modelica_integer _in_a_ix, modelica_metatype _in_a_componentRef, modelica_metatype *out_out_a_sub)
{
modelica_metatype _out_txt = NULL;
modelica_metatype _out_a_sub = 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_integer tmp4_6;modelica_metatype tmp4_7;
tmp4_1 = _in_txt;
tmp4_2 = _in_a_isPre;
tmp4_3 = _in_a_cr;
tmp4_4 = _in_a_sub;
tmp4_5 = _in_a_isStart;
tmp4_6 = _in_a_ix;
tmp4_7 = _in_a_componentRef;
{
modelica_metatype _txt = NULL;
modelica_metatype _a_cr = NULL;
modelica_metatype _a_sub = NULL;
modelica_boolean _a_isStart;
modelica_integer _a_ix;
modelica_metatype _a_componentRef = 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_sub = tmp4_4;
_a_isStart = tmp4_5;
_a_ix = tmp4_6;
_a_componentRef = tmp4_7;
tmpMeta[0+0] = omc_CodegenCFunctions_crefToCStr(threadData, _txt, _a_componentRef, _a_ix, 1, _a_isStart, _a_sub, &tmpMeta[0+1]);
goto tmp3_done;
}
case 1: {
_txt = tmp4_1;
_a_cr = tmp4_3;
_a_sub = tmp4_4;
_txt_0 = omc_Tpl_writeTok(threadData, _OMC_LIT20, _OMC_LIT1494);
_txt_0 = omc_CodegenUtil_crefStrNoUnderscore(threadData, _txt_0, _a_cr);
_txt = omc_CodegenUtil_error(threadData, _txt, omc_Tpl_sourceInfo(threadData, _OMC_LIT27, ((modelica_integer) 4722), ((modelica_integer) 26)), omc_Tpl_textString(threadData, _txt_0));
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_sub;
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta[0+0];
_out_a_sub = tmpMeta[0+1];
_return: OMC_LABEL_UNUSED
if (out_out_a_sub) { *out_out_a_sub = _out_a_sub; }
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__710(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_isPre, modelica_metatype _in_a_cr, modelica_metatype _in_a_sub, modelica_metatype _in_a_isStart, modelica_metatype _in_a_ix, modelica_metatype _in_a_componentRef, modelica_metatype *out_out_a_sub)
{
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__710(threadData, _in_txt, tmp1, _in_a_cr, _in_a_sub, tmp2, tmp3, _in_a_componentRef, out_out_a_sub);
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_LIT1401, omc_Tpl_strTokText(threadData, _OMC_LIT100), _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 tmpMeta1;
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_metatype tmp4_2;
tmp4_1 = _in_txt;
tmp4_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 tmp4;
int tmp5;
tmp4 = 0;
for (; tmp4 < 4; tmp4++) {
switch (MMC_SWITCH_CAST(tmp4)) {
case 0: {
modelica_metatype tmpMeta6;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,1,3) == 0) goto tmp3_end;
tmpMeta6 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
if (4 != MMC_STRLEN(tmpMeta6) || strcmp(MMC_STRINGDATA(_OMC_LIT1495), MMC_STRINGDATA(tmpMeta6)) != 0) goto tmp3_end;
_i_cr = tmp4_2;
_txt = tmp4_1;
tmpMeta1 = omc_CodegenUtil_crefStr(threadData, _txt, _i_cr);
goto tmp3_done;
}
case 1: {
modelica_metatype tmpMeta7;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,1,3) == 0) goto tmp3_end;
tmpMeta7 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
if (4 != MMC_STRLEN(tmpMeta7) || strcmp(MMC_STRINGDATA(_OMC_LIT1471), MMC_STRINGDATA(tmpMeta7)) != 0) goto tmp3_end;
_txt = tmp4_1;
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1468);
goto tmp3_done;
}
case 2: {
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,3,0) == 0) goto tmp3_end;
_txt = tmp4_1;
tmpMeta1 = _txt;
goto tmp3_done;
}
case 3: {
_txt = tmp4_1;
_i_cr = tmp4_2;
_txt_0 = omc_CodegenUtil_crefStrNoUnderscore(threadData, _OMC_LIT20, _i_cr);
_ret_1 = omc_System_unquoteIdentifier(threadData, omc_Tpl_textString(threadData, _txt_0));
tmpMeta1 = omc_Tpl_writeStr(threadData, _txt, _ret_1);
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta1;
_return: OMC_LABEL_UNUSED
return _out_txt;
}
DLLExport
modelica_metatype omc_CodegenCFunctions_crefPre(threadData_t *threadData, modelica_metatype _txt, modelica_metatype _a_cr)
{
modelica_metatype _out_txt = NULL;
modelica_metatype _l_sub = NULL;
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
_l_sub = _OMC_LIT20;
_out_txt = omc_CodegenCFunctions_fun__706(threadData, _txt, _a_cr, _l_sub ,&_l_sub);
_return: OMC_LABEL_UNUSED
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__706(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_cr, modelica_metatype _in_a_sub, modelica_metatype *out_out_a_sub)
{
modelica_metatype _out_txt = NULL;
modelica_metatype _out_a_sub = 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_cr;
tmp4_3 = _in_a_sub;
{
modelica_metatype _txt = NULL;
modelica_metatype _a_sub = NULL;
modelica_metatype _i_cr = NULL;
volatile mmc_switch_type tmp4;
int tmp5;
tmp4 = 0;
for (; tmp4 < 2; tmp4++) {
switch (MMC_SWITCH_CAST(tmp4)) {
case 0: {
modelica_metatype tmpMeta6;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,1,3) == 0) goto tmp3_end;
tmpMeta6 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
if (4 != MMC_STRLEN(tmpMeta6) || strcmp(MMC_STRINGDATA(_OMC_LIT1471), MMC_STRINGDATA(tmpMeta6)) != 0) goto tmp3_end;
_txt = tmp4_1;
_a_sub = tmp4_3;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1497);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_sub;
goto tmp3_done;
}
case 1: {
_txt = tmp4_1;
_i_cr = tmp4_2;
_a_sub = tmp4_3;
tmpMeta[0+0] = omc_CodegenCFunctions_crefToCStr(threadData, _txt, _i_cr, ((modelica_integer) 0), 1, 0, _a_sub, &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_sub = tmpMeta[0+1];
_return: OMC_LABEL_UNUSED
if (out_out_a_sub) { *out_out_a_sub = _out_a_sub; }
return _out_txt;
}
DLLExport
modelica_metatype omc_CodegenCFunctions_crefOld(threadData_t *threadData, modelica_metatype _txt, modelica_metatype _a_cr, modelica_integer _a_ix)
{
modelica_metatype _out_txt = NULL;
modelica_metatype _l_sub = NULL;
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
_l_sub = _OMC_LIT20;
_out_txt = omc_CodegenCFunctions_fun__704(threadData, _txt, _a_cr, _l_sub, _a_ix ,&_l_sub);
_return: OMC_LABEL_UNUSED
return _out_txt;
}
modelica_metatype boxptr_CodegenCFunctions_crefOld(threadData_t *threadData, modelica_metatype _txt, modelica_metatype _a_cr, modelica_metatype _a_ix)
{
modelica_integer tmp1;
modelica_metatype _out_txt = NULL;
tmp1 = mmc_unbox_integer(_a_ix);
_out_txt = omc_CodegenCFunctions_crefOld(threadData, _txt, _a_cr, tmp1);
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__704(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_cr, modelica_metatype _in_a_sub, modelica_integer _in_a_ix, modelica_metatype *out_out_a_sub)
{
modelica_metatype _out_txt = NULL;
modelica_metatype _out_a_sub = 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_integer tmp4_4;
tmp4_1 = _in_txt;
tmp4_2 = _in_a_cr;
tmp4_3 = _in_a_sub;
tmp4_4 = _in_a_ix;
{
modelica_metatype _txt = NULL;
modelica_metatype _a_sub = NULL;
modelica_integer _a_ix;
modelica_metatype _i_cr = NULL;
volatile mmc_switch_type tmp4;
int tmp5;
tmp4 = 0;
for (; tmp4 < 6; tmp4++) {
switch (MMC_SWITCH_CAST(tmp4)) {
case 0: {
modelica_metatype tmpMeta6;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,1,3) == 0) goto tmp3_end;
tmpMeta6 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
if (4 != MMC_STRLEN(tmpMeta6) || strcmp(MMC_STRINGDATA(_OMC_LIT1495), MMC_STRINGDATA(tmpMeta6)) != 0) goto tmp3_end;
_i_cr = tmp4_2;
_txt = tmp4_1;
_a_sub = tmp4_3;
_txt = omc_CodegenUtil_crefStr(threadData, _txt, _i_cr);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_sub;
goto tmp3_done;
}
case 1: {
modelica_metatype tmpMeta7;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,1,3) == 0) goto tmp3_end;
tmpMeta7 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
if (4 != MMC_STRLEN(tmpMeta7) || strcmp(MMC_STRINGDATA(_OMC_LIT1471), MMC_STRINGDATA(tmpMeta7)) != 0) goto tmp3_end;
_txt = tmp4_1;
_a_sub = tmp4_3;
_a_ix = tmp4_4;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT59);
_txt = omc_Tpl_writeStr(threadData, _txt, intString(_a_ix));
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1499);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_sub;
goto tmp3_done;
}
case 2: {
modelica_metatype tmpMeta8;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,1,3) == 0) goto tmp3_end;
tmpMeta8 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
if (8 != MMC_STRLEN(tmpMeta8) || strcmp(MMC_STRINGDATA(_OMC_LIT1502), MMC_STRINGDATA(tmpMeta8)) != 0) goto tmp3_end;
_txt = tmp4_1;
_a_sub = tmp4_3;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT659);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_sub;
goto tmp3_done;
}
case 3: {
modelica_metatype tmpMeta9;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,1,3) == 0) goto tmp3_end;
tmpMeta9 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
if (12 != MMC_STRLEN(tmpMeta9) || strcmp(MMC_STRINGDATA(_OMC_LIT1503), MMC_STRINGDATA(tmpMeta9)) != 0) goto tmp3_end;
_txt = tmp4_1;
_a_sub = tmp4_3;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1501);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_sub;
goto tmp3_done;
}
case 4: {
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,3,0) == 0) goto tmp3_end;
_txt = tmp4_1;
_a_sub = tmp4_3;
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_sub;
goto tmp3_done;
}
case 5: {
_txt = tmp4_1;
_i_cr = tmp4_2;
_a_sub = tmp4_3;
_a_ix = tmp4_4;
tmpMeta[0+0] = omc_CodegenCFunctions_crefToCStr(threadData, _txt, _i_cr, _a_ix, 0, 0, _a_sub, &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_sub = tmpMeta[0+1];
_return: OMC_LABEL_UNUSED
if (out_out_a_sub) { *out_out_a_sub = _out_a_sub; }
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__704(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_cr, modelica_metatype _in_a_sub, modelica_metatype _in_a_ix, modelica_metatype *out_out_a_sub)
{
modelica_integer tmp1;
modelica_metatype _out_txt = NULL;
tmp1 = mmc_unbox_integer(_in_a_ix);
_out_txt = omc_CodegenCFunctions_fun__704(threadData, _in_txt, _in_a_cr, _in_a_sub, tmp1, out_out_a_sub);
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_2 = NULL;
modelica_integer _ret_1;
modelica_metatype _l_sub = NULL;
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
_l_sub = _OMC_LIT20;
_ret_1 = omc_SimCodeUtil_getSimCode(threadData);
_ret_2 = omc_SimCodeUtil_cref2simvar(threadData, _a_cr, mmc_mk_integer(_ret_1));
_out_txt = omc_CodegenCFunctions_fun__702(threadData, _txt, _ret_2, _a_auxFunction, _a_varDecls, _a_preExp, _a_context, _l_sub, _a_cr ,&_out_a_auxFunction ,&_out_a_varDecls ,&_out_a_preExp ,&_l_sub);
_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__702(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_sub, 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_out_a_sub)
{
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_sub = 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_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_sub;
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_sub = NULL;
modelica_metatype _a_cr = 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: {
modelica_metatype tmpMeta6;
modelica_metatype tmpMeta7;
tmpMeta6 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 10));
if (optionNone(tmpMeta6)) goto tmp3_end;
tmpMeta7 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta6), 1));
_i_startExp = tmpMeta7;
_txt = tmp4_1;
_a_auxFunction = tmp4_3;
_a_varDecls = tmp4_4;
_a_preExp = tmp4_5;
_a_context = tmp4_6;
_a_sub = tmp4_7;
_a_cr = tmp4_8;
_ret_0 = omc_Expression_isConst(threadData, _i_startExp);
_ret_1 = (!_ret_0);
tmpMeta[0+0] = omc_CodegenCFunctions_fun__701(threadData, _txt, _ret_1, _a_auxFunction, _a_varDecls, _a_preExp, _a_context, _i_startExp, _a_sub, _a_cr, &tmpMeta[0+1], &tmpMeta[0+2], &tmpMeta[0+3], &tmpMeta[0+4]);
goto tmp3_done;
}
case 1: {
_txt = tmp4_1;
_a_auxFunction = tmp4_3;
_a_varDecls = tmp4_4;
_a_preExp = tmp4_5;
_a_sub = tmp4_7;
_a_cr = tmp4_8;
_txt = omc_CodegenCFunctions_cref(threadData, _txt, _a_cr, _a_sub ,&_a_sub);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_auxFunction;
tmpMeta[0+2] = _a_varDecls;
tmpMeta[0+3] = _a_preExp;
tmpMeta[0+4] = _a_sub;
goto tmp3_done;
}
}
goto 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_sub = 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_sub) { *out_out_a_sub = _out_a_sub; }
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__701(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_sub, 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_out_a_sub)
{
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_sub = 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;
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_sub;
tmp4_9 = _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_sub = 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_sub = tmp4_8;
_a_cr = tmp4_9;
_txt = omc_CodegenCFunctions_cref(threadData, _txt, _a_cr, _a_sub ,&_a_sub);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_auxFunction;
tmpMeta[0+2] = _a_varDecls;
tmpMeta[0+3] = _a_preExp;
tmpMeta[0+4] = _a_sub;
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;
_a_sub = tmp4_8;
_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;
tmpMeta[0+4] = _a_sub;
goto tmp3_done;
}
}
goto 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_sub = 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_sub) { *out_out_a_sub = _out_a_sub; }
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__701(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_sub, 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_out_a_sub)
{
modelica_integer tmp1;
modelica_metatype _out_txt = NULL;
tmp1 = mmc_unbox_integer(_in_mArg);
_out_txt = omc_CodegenCFunctions_fun__701(threadData, _in_txt, tmp1, _in_a_auxFunction, _in_a_varDecls, _in_a_preExp, _in_a_context, _in_a_startExp, _in_a_sub, _in_a_cr, out_out_a_auxFunction, out_out_a_varDecls, out_out_a_preExp, out_out_a_sub);
return _out_txt;
}
DLLExport
modelica_metatype omc_CodegenCFunctions_cref(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_cr, modelica_metatype _in_a_sub, modelica_metatype *out_out_a_sub)
{
modelica_metatype _out_txt = NULL;
modelica_metatype _out_a_sub = 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_cr;
tmp4_3 = _in_a_sub;
{
modelica_metatype _txt = NULL;
modelica_metatype _a_sub = NULL;
modelica_metatype _i_cr = NULL;
volatile mmc_switch_type tmp4;
int tmp5;
tmp4 = 0;
for (; tmp4 < 6; tmp4++) {
switch (MMC_SWITCH_CAST(tmp4)) {
case 0: {
modelica_metatype tmpMeta6;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,1,3) == 0) goto tmp3_end;
tmpMeta6 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
if (4 != MMC_STRLEN(tmpMeta6) || strcmp(MMC_STRINGDATA(_OMC_LIT1495), MMC_STRINGDATA(tmpMeta6)) != 0) goto tmp3_end;
_i_cr = tmp4_2;
_txt = tmp4_1;
_a_sub = tmp4_3;
_txt = omc_CodegenUtil_crefStr(threadData, _txt, _i_cr);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_sub;
goto tmp3_done;
}
case 1: {
modelica_metatype tmpMeta7;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,1,3) == 0) goto tmp3_end;
tmpMeta7 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
if (4 != MMC_STRLEN(tmpMeta7) || strcmp(MMC_STRINGDATA(_OMC_LIT1471), MMC_STRINGDATA(tmpMeta7)) != 0) goto tmp3_end;
_txt = tmp4_1;
_a_sub = tmp4_3;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1468);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_sub;
goto tmp3_done;
}
case 2: {
modelica_metatype tmpMeta8;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,1,3) == 0) goto tmp3_end;
tmpMeta8 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
if (8 != MMC_STRLEN(tmpMeta8) || strcmp(MMC_STRINGDATA(_OMC_LIT1502), MMC_STRINGDATA(tmpMeta8)) != 0) goto tmp3_end;
_txt = tmp4_1;
_a_sub = tmp4_3;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT659);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_sub;
goto tmp3_done;
}
case 3: {
modelica_metatype tmpMeta9;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,1,3) == 0) goto tmp3_end;
tmpMeta9 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
if (12 != MMC_STRLEN(tmpMeta9) || strcmp(MMC_STRINGDATA(_OMC_LIT1503), MMC_STRINGDATA(tmpMeta9)) != 0) goto tmp3_end;
_txt = tmp4_1;
_a_sub = tmp4_3;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1501);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_sub;
goto tmp3_done;
}
case 4: {
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,3,0) == 0) goto tmp3_end;
_txt = tmp4_1;
_a_sub = tmp4_3;
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_sub;
goto tmp3_done;
}
case 5: {
_txt = tmp4_1;
_i_cr = tmp4_2;
_a_sub = tmp4_3;
tmpMeta[0+0] = omc_CodegenCFunctions_crefToCStr(threadData, _txt, _i_cr, ((modelica_integer) 0), 0, 0, _a_sub, &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_sub = tmpMeta[0+1];
_return: OMC_LABEL_UNUSED
if (out_out_a_sub) { *out_out_a_sub = _out_a_sub; }
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__698(threadData, _txt, _a_context, _a_name);
_return: OMC_LABEL_UNUSED
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__698(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_context, modelica_string _in_a_name)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta1;
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_metatype tmp4_2;modelica_string tmp4_3;
tmp4_1 = _in_txt;
tmp4_2 = _in_a_context;
tmp4_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 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_name = tmp4_3;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT244);
_ret_0 = omc_System_unquoteIdentifier(threadData, _a_name);
tmpMeta1 = omc_Tpl_writeStr(threadData, _txt, _ret_0);
goto tmp3_done;
}
case 1: {
_txt = tmp4_1;
_a_name = tmp4_3;
_ret_1 = omc_System_unquoteIdentifier(threadData, _a_name);
tmpMeta1 = omc_Tpl_writeStr(threadData, _txt, _ret_1);
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta1;
_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__696(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__696(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__696(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__696(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__694(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__694(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 tmpMeta1;
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_metatype tmp4_2;modelica_metatype tmp4_3;modelica_integer tmp4_4;
tmp4_1 = _in_txt;
tmp4_2 = _in_a_context;
tmp4_3 = _in_a_cr;
tmp4_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 tmp4;
int tmp5;
tmp4 = 0;
for (; tmp4 < 2; tmp4++) {
switch (MMC_SWITCH_CAST(tmp4)) {
case 0: {
modelica_metatype tmpMeta6;
modelica_metatype tmpMeta7;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,3,1) == 0) goto tmp3_end;
tmpMeta6 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
if (optionNone(tmpMeta6)) goto tmp3_end;
tmpMeta7 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta6), 1));
_i_jacHT = tmpMeta7;
_txt = tmp4_1;
_a_cr = tmp4_3;
_a_ix = tmp4_4;
_ret_0 = omc_SimCodeUtil_simVarFromHT(threadData, _a_cr, _i_jacHT);
tmpMeta1 = omc_CodegenCFunctions_fun__693(threadData, _txt, _ret_0, _a_ix, _a_cr);
goto tmp3_done;
}
case 1: {
_txt = tmp4_1;
tmpMeta1 = _txt;
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta1;
_return: OMC_LABEL_UNUSED
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__694(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__694(threadData, _in_txt, _in_a_context, _in_a_cr, tmp1);
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__693(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 tmpMeta1;
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_metatype tmp4_2;modelica_integer tmp4_3;modelica_metatype tmp4_4;
tmp4_1 = _in_txt;
tmp4_2 = _in_mArg;
tmp4_3 = _in_a_ix;
tmp4_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 tmp4;
int tmp5;
tmp4 = 0;
for (; tmp4 < 5; tmp4++) {
switch (MMC_SWITCH_CAST(tmp4)) {
case 0: {
modelica_metatype tmpMeta6;
modelica_metatype tmpMeta7;
modelica_metatype tmpMeta8;
modelica_integer tmp9;
tmpMeta6 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
tmpMeta7 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 3));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta7,10,0) == 0) goto tmp3_end;
tmpMeta8 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 7));
tmp9 = mmc_unbox_integer(tmpMeta8);
_i_name = tmpMeta6;
_i_varKind = tmpMeta7;
_i_index = tmp9;
_txt = tmp4_1;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1505);
_txt = omc_Tpl_writeStr(threadData, _txt, intString(_i_index));
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1507);
_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_LIT34);
_txt = omc_CodegenUtil_variabilityString(threadData, _txt, _i_varKind);
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT22);
goto tmp3_done;
}
case 1: {
modelica_metatype tmpMeta10;
modelica_metatype tmpMeta11;
modelica_metatype tmpMeta12;
modelica_integer tmp13;
tmpMeta10 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
tmpMeta11 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 3));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta11,11,0) == 0) goto tmp3_end;
tmpMeta12 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 7));
tmp13 = mmc_unbox_integer(tmpMeta12);
_i_name = tmpMeta10;
_i_varKind = tmpMeta11;
_i_index = tmp13;
_txt = tmp4_1;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1509);
_txt = omc_Tpl_writeStr(threadData, _txt, intString(_i_index));
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1507);
_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_LIT34);
_txt = omc_CodegenUtil_variabilityString(threadData, _txt, _i_varKind);
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT22);
goto tmp3_done;
}
case 2: {
modelica_metatype tmpMeta14;
modelica_metatype tmpMeta15;
modelica_metatype tmpMeta16;
modelica_integer tmp17;
tmpMeta14 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
tmpMeta15 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 3));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta15,12,0) == 0) goto tmp3_end;
tmpMeta16 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 7));
tmp17 = mmc_unbox_integer(tmpMeta16);
_i_name = tmpMeta14;
_i_varKind = tmpMeta15;
_i_index = tmp17;
_txt = tmp4_1;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1511);
_txt = omc_Tpl_writeStr(threadData, _txt, intString(_i_index));
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1507);
_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_LIT34);
_txt = omc_CodegenUtil_variabilityString(threadData, _txt, _i_varKind);
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT22);
goto tmp3_done;
}
case 3: {
modelica_metatype tmpMeta18;
modelica_integer tmp19;
tmpMeta18 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 7));
tmp19 = mmc_unbox_integer(tmpMeta18);
if (-2 != tmp19) goto tmp3_end;
_txt = tmp4_1;
_a_ix = tmp4_3;
_a_cr = tmp4_4;
tmpMeta1 = omc_CodegenCFunctions_crefOld(threadData, _txt, _a_cr, _a_ix);
goto tmp3_done;
}
case 4: {
_txt = tmp4_1;
tmpMeta1 = _txt;
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta1;
_return: OMC_LABEL_UNUSED
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__693(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__693(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__691(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__691(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[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;
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__690(threadData, _txt, _a_cr, _a_auxFunction, _i_context, &tmpMeta[0+1]);
goto tmp3_done;
}
case 1: {
modelica_metatype tmpMeta6;
modelica_metatype tmpMeta7;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,3,1) == 0) goto tmp3_end;
tmpMeta6 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
if (optionNone(tmpMeta6)) goto tmp3_end;
tmpMeta7 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta6), 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__691(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__691(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__690(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[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_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: {
modelica_metatype tmpMeta6;
modelica_metatype tmpMeta7;
modelica_metatype tmpMeta8;
modelica_metatype tmpMeta9;
modelica_metatype tmpMeta10;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,0,4) == 0) goto tmp3_end;
tmpMeta6 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
tmpMeta7 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 3));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta7,6,2) == 0) goto tmp3_end;
tmpMeta8 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta7), 2));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta8,9,3) == 0) goto tmp3_end;
tmpMeta9 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta8), 2));
tmpMeta10 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 5));
_i_cr = tmp4_2;
_i_ident = tmpMeta6;
_i_record__state = tmpMeta9;
_i_componentRef = tmpMeta10;
_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_LIT265);
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_LIT303);
_l_dimsValuesStr = omc_CodegenCFunctions_lm__689(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_LIT1513);
_txt = omc_Tpl_writeStr(threadData, _txt, _i_ident);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT301);
_txt = omc_Tpl_writeText(threadData, _txt, _l_dimsLenStr);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT301);
_txt = omc_Tpl_writeText(threadData, _txt, _l_dimsValuesStr);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1515);
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_LIT244);
_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__689(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[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_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: {
modelica_metatype tmpMeta6;
modelica_metatype tmpMeta7;
modelica_metatype tmpMeta8;
if (listEmpty(tmp4_2)) goto tmp3_end;
tmpMeta6 = MMC_CAR(tmp4_2);
tmpMeta7 = MMC_CDR(tmp4_2);
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta6,2,1) == 0) goto tmp3_end;
tmpMeta8 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta6), 2));
_i_exp = tmpMeta8;
_rest = tmpMeta7;
_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: {
modelica_metatype tmpMeta9;
modelica_metatype tmpMeta10;
if (listEmpty(tmp4_2)) goto tmp3_end;
tmpMeta9 = MMC_CAR(tmp4_2);
tmpMeta10 = MMC_CDR(tmp4_2);
_rest = tmpMeta10;
_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__687(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__687(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[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_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: {
modelica_metatype tmpMeta6;
modelica_metatype tmpMeta7;
modelica_metatype tmpMeta8;
modelica_metatype tmpMeta9;
modelica_metatype tmpMeta10;
modelica_metatype tmpMeta11;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,0,4) == 0) goto tmp3_end;
tmpMeta6 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
tmpMeta7 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 3));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta7,6,2) == 0) goto tmp3_end;
tmpMeta8 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 4));
if (listEmpty(tmpMeta8)) goto tmp3_end;
tmpMeta9 = MMC_CAR(tmpMeta8);
tmpMeta10 = MMC_CDR(tmpMeta8);
tmpMeta11 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 5));
_i_cr_ident = tmpMeta6;
_i_identType = tmpMeta7;
_i_cr_subscriptLst = tmpMeta8;
_i_cr_componentRef = tmpMeta11;
_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_LIT303);
_l_dimsValuesStr = omc_CodegenCFunctions_lm__685(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_LIT360);
_l_fullname__i = omc_Tpl_writeText(threadData, _l_fullname__i, _l_fullname);
_l_fullname__i = omc_Tpl_writeTok(threadData, _l_fullname__i, _OMC_LIT301);
_l_fullname__i = omc_Tpl_writeText(threadData, _l_fullname__i, _l_dimsLenStr);
_l_fullname__i = omc_Tpl_writeTok(threadData, _l_fullname__i, _OMC_LIT301);
_l_fullname__i = omc_Tpl_writeText(threadData, _l_fullname__i, _l_dimsValuesStr);
_l_fullname__i = omc_Tpl_writeTok(threadData, _l_fullname__i, _OMC_LIT87);
_l_newpref = omc_Tpl_writeText(threadData, _OMC_LIT20, _l_fullname__i);
_l_newpref = omc_Tpl_writeTok(threadData, _l_newpref, _OMC_LIT514);
_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: {
modelica_metatype tmpMeta12;
modelica_metatype tmpMeta13;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,0,4) == 0) goto tmp3_end;
tmpMeta12 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
tmpMeta13 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 5));
_i_cr_ident = tmpMeta12;
_i_cr_componentRef = tmpMeta13;
_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_LIT514);
_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: {
modelica_metatype tmpMeta14;
modelica_metatype tmpMeta15;
modelica_metatype tmpMeta16;
modelica_metatype tmpMeta17;
modelica_metatype tmpMeta18;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,1,3) == 0) goto tmp3_end;
tmpMeta14 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
tmpMeta15 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 3));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta15,6,2) == 0) goto tmp3_end;
tmpMeta16 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 4));
if (listEmpty(tmpMeta16)) goto tmp3_end;
tmpMeta17 = MMC_CAR(tmpMeta16);
tmpMeta18 = MMC_CDR(tmpMeta16);
_i_cr_ident = tmpMeta14;
_i_identType = tmpMeta15;
_i_cr_subscriptLst = tmpMeta16;
_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_LIT303);
_l_dimsValuesStr = omc_CodegenCFunctions_lm__686(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_LIT360);
_l_fullname__i = omc_Tpl_writeText(threadData, _l_fullname__i, _l_fullname);
_l_fullname__i = omc_Tpl_writeTok(threadData, _l_fullname__i, _OMC_LIT301);
_l_fullname__i = omc_Tpl_writeText(threadData, _l_fullname__i, _l_dimsLenStr);
_l_fullname__i = omc_Tpl_writeTok(threadData, _l_fullname__i, _OMC_LIT301);
_l_fullname__i = omc_Tpl_writeText(threadData, _l_fullname__i, _l_dimsValuesStr);
_l_fullname__i = omc_Tpl_writeTok(threadData, _l_fullname__i, _OMC_LIT87);
_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: {
modelica_metatype tmpMeta19;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,1,3) == 0) goto tmp3_end;
tmpMeta19 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
_i_cr_ident = tmpMeta19;
_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_LIT1517);
_txt_12 = omc_CodegenUtil_crefStrNoUnderscore(threadData, _txt_12, _i_cr);
_txt = omc_CodegenUtil_error(threadData, _txt, omc_Tpl_sourceInfo(threadData, _OMC_LIT27, ((modelica_integer) 4582), ((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__686(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[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_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: {
modelica_metatype tmpMeta6;
modelica_metatype tmpMeta7;
if (listEmpty(tmp4_2)) goto tmp3_end;
tmpMeta6 = MMC_CAR(tmp4_2);
tmpMeta7 = MMC_CDR(tmp4_2);
_i_sub = tmpMeta6;
_rest = tmpMeta7;
_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__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[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_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: {
modelica_metatype tmpMeta6;
modelica_metatype tmpMeta7;
if (listEmpty(tmp4_2)) goto tmp3_end;
tmpMeta6 = MMC_CAR(tmp4_2);
tmpMeta7 = MMC_CDR(tmp4_2);
_i_sub = tmpMeta6;
_rest = tmpMeta7;
_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__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[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_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_13 = NULL;
modelica_string _ret_12 = NULL;
modelica_string _ret_11 = NULL;
modelica_integer _ret_10;
modelica_string _ret_9 = NULL;
modelica_metatype _txt_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 < 6; tmp4++) {
switch (MMC_SWITCH_CAST(tmp4)) {
case 0: {
modelica_metatype tmpMeta6;
modelica_metatype tmpMeta7;
modelica_metatype tmpMeta8;
modelica_metatype tmpMeta9;
modelica_metatype tmpMeta10;
modelica_metatype tmpMeta11;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,0,4) == 0) goto tmp3_end;
tmpMeta6 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
tmpMeta7 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 3));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta7,6,2) == 0) goto tmp3_end;
tmpMeta8 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 4));
if (listEmpty(tmpMeta8)) goto tmp3_end;
tmpMeta9 = MMC_CAR(tmpMeta8);
tmpMeta10 = MMC_CDR(tmpMeta8);
tmpMeta11 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 5));
_i_cr_ident = tmpMeta6;
_i_identType = tmpMeta7;
_i_cr_subscriptLst = tmpMeta8;
_i_cr_componentRef = tmpMeta11;
_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_LIT303);
_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);
_l_fullname = omc_Tpl_writeTok(threadData, _l_fullname, _OMC_LIT244);
_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_LIT360);
_l_fullname__i = omc_Tpl_writeText(threadData, _l_fullname__i, _l_fullname);
_l_fullname__i = omc_Tpl_writeTok(threadData, _l_fullname__i, _OMC_LIT301);
_l_fullname__i = omc_Tpl_writeText(threadData, _l_fullname__i, _l_dimsLenStr);
_l_fullname__i = omc_Tpl_writeTok(threadData, _l_fullname__i, _OMC_LIT301);
_l_fullname__i = omc_Tpl_writeText(threadData, _l_fullname__i, _l_dimsValuesStr);
_l_fullname__i = omc_Tpl_writeTok(threadData, _l_fullname__i, _OMC_LIT87);
_l_newpref = omc_Tpl_writeText(threadData, _OMC_LIT20, _l_fullname__i);
_l_newpref = omc_Tpl_writeTok(threadData, _l_newpref, _OMC_LIT514);
_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: {
modelica_metatype tmpMeta12;
modelica_metatype tmpMeta13;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,0,4) == 0) goto tmp3_end;
tmpMeta12 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 3));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta12,6,2) == 0) goto tmp3_end;
tmpMeta13 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 4));
if (!listEmpty(tmpMeta13)) goto tmp3_end;
_i_cr = tmp4_2;
_txt = tmp4_1;
_a_preExp = tmp4_5;
_a_varDecls = tmp4_6;
_a_auxFunction = tmp4_7;
_txt_8 = omc_Tpl_writeTok(threadData, _OMC_LIT20, _OMC_LIT1519);
_txt_8 = omc_CodegenUtil_crefStrNoUnderscore(threadData, _txt_8, _i_cr);
_txt = omc_CodegenUtil_error(threadData, _txt, omc_Tpl_sourceInfo(threadData, _OMC_LIT27, ((modelica_integer) 4518), ((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 2: {
modelica_metatype tmpMeta14;
modelica_metatype tmpMeta15;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,0,4) == 0) goto tmp3_end;
tmpMeta14 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
tmpMeta15 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 5));
_i_cr_ident = tmpMeta14;
_i_cr_componentRef = tmpMeta15;
_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_LIT244);
_ret_9 = omc_System_unquoteIdentifier(threadData, _i_cr_ident);
_l_fullname = omc_Tpl_writeStr(threadData, _l_fullname, _ret_9);
_l_newpref = omc_Tpl_writeText(threadData, _OMC_LIT20, _l_fullname);
_l_newpref = omc_Tpl_writeTok(threadData, _l_newpref, _OMC_LIT514);
_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 3: {
modelica_metatype tmpMeta16;
modelica_metatype tmpMeta17;
modelica_metatype tmpMeta18;
modelica_metatype tmpMeta19;
modelica_metatype tmpMeta20;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,1,3) == 0) goto tmp3_end;
tmpMeta16 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
tmpMeta17 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 3));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta17,6,2) == 0) goto tmp3_end;
tmpMeta18 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 4));
if (listEmpty(tmpMeta18)) goto tmp3_end;
tmpMeta19 = MMC_CAR(tmpMeta18);
tmpMeta20 = MMC_CDR(tmpMeta18);
_i_cr_ident = tmpMeta16;
_i_identType = tmpMeta17;
_i_cr_subscriptLst = tmpMeta18;
_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_10 = listLength(_i_cr_subscriptLst);
_l_dimsLenStr = omc_Tpl_writeStr(threadData, _OMC_LIT20, intString(_ret_10));
_l_dimsValuesStr = omc_Tpl_pushIter(threadData, _OMC_LIT20, _OMC_LIT303);
_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);
_l_fullname = omc_Tpl_writeTok(threadData, _l_fullname, _OMC_LIT244);
_ret_11 = omc_System_unquoteIdentifier(threadData, _i_cr_ident);
_l_fullname = omc_Tpl_writeStr(threadData, _l_fullname, _ret_11);
_l_fullname__i = omc_Tpl_writeText(threadData, _OMC_LIT20, _l_typeName);
_l_fullname__i = omc_Tpl_writeTok(threadData, _l_fullname__i, _OMC_LIT360);
_l_fullname__i = omc_Tpl_writeText(threadData, _l_fullname__i, _l_fullname);
_l_fullname__i = omc_Tpl_writeTok(threadData, _l_fullname__i, _OMC_LIT301);
_l_fullname__i = omc_Tpl_writeText(threadData, _l_fullname__i, _l_dimsLenStr);
_l_fullname__i = omc_Tpl_writeTok(threadData, _l_fullname__i, _OMC_LIT301);
_l_fullname__i = omc_Tpl_writeText(threadData, _l_fullname__i, _l_dimsValuesStr);
_l_fullname__i = omc_Tpl_writeTok(threadData, _l_fullname__i, _OMC_LIT87);
_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 4: {
modelica_metatype tmpMeta21;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,1,3) == 0) goto tmp3_end;
tmpMeta21 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
_i_cr_ident = tmpMeta21;
_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_LIT244);
_ret_12 = omc_System_unquoteIdentifier(threadData, _i_cr_ident);
_l_fullname = omc_Tpl_writeStr(threadData, _l_fullname, _ret_12);
_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 5: {
_txt = tmp4_1;
_i_cr = tmp4_2;
_a_preExp = tmp4_5;
_a_varDecls = tmp4_6;
_a_auxFunction = tmp4_7;
_txt_13 = omc_Tpl_writeTok(threadData, _OMC_LIT20, _OMC_LIT1521);
_txt_13 = omc_CodegenUtil_crefStrNoUnderscore(threadData, _txt_13, _i_cr);
_txt = omc_CodegenUtil_error(threadData, _txt, omc_Tpl_sourceInfo(threadData, _OMC_LIT27, ((modelica_integer) 4542), ((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;
}
}
goto 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[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_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: {
modelica_metatype tmpMeta6;
modelica_metatype tmpMeta7;
if (listEmpty(tmp4_2)) goto tmp3_end;
tmpMeta6 = MMC_CAR(tmp4_2);
tmpMeta7 = MMC_CDR(tmp4_2);
_i_sub = tmpMeta6;
_rest = tmpMeta7;
_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[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_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: {
modelica_metatype tmpMeta6;
modelica_metatype tmpMeta7;
if (listEmpty(tmp4_2)) goto tmp3_end;
tmpMeta6 = MMC_CAR(tmp4_2);
tmpMeta7 = MMC_CDR(tmp4_2);
_i_sub = tmpMeta6;
_rest = tmpMeta7;
_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 _a_sub, modelica_metatype *out_out_a_preExp, modelica_metatype *out_out_a_varDecls, modelica_metatype *out_out_a_auxFunction, modelica_metatype *out_out_a_sub)
{
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 _out_a_sub = NULL;
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
_out_txt = omc_CodegenCFunctions_fun__679(threadData, _txt, _a_context, _a_cr, _a_preExp, _a_varDecls, _a_auxFunction, _a_sub ,&_out_a_preExp ,&_out_a_varDecls ,&_out_a_auxFunction ,&_out_a_sub);
_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; }
if (out_out_a_sub) { *out_out_a_sub = _out_a_sub; }
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__679(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 _in_a_sub, modelica_metatype *out_out_a_preExp, modelica_metatype *out_out_a_varDecls, modelica_metatype *out_out_a_auxFunction, modelica_metatype *out_out_a_sub)
{
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 _out_a_sub = 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_context;
tmp4_3 = _in_a_cr;
tmp4_4 = _in_a_preExp;
tmp4_5 = _in_a_varDecls;
tmp4_6 = _in_a_auxFunction;
tmp4_7 = _in_a_sub;
{
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 _a_sub = 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;
_a_sub = tmp4_7;
_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;
tmpMeta[0+4] = _a_sub;
goto tmp3_done;
}
case 1: {
modelica_metatype tmpMeta6;
modelica_metatype tmpMeta7;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,3,1) == 0) goto tmp3_end;
tmpMeta6 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
if (optionNone(tmpMeta6)) goto tmp3_end;
tmpMeta7 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta6), 1));
_i_context = tmp4_2;
_txt = tmp4_1;
_a_cr = tmp4_3;
_a_preExp = tmp4_4;
_a_varDecls = tmp4_5;
_a_auxFunction = tmp4_6;
_a_sub = tmp4_7;
_ret_2 = omc_Config_simCodeTarget(threadData);
_txt = omc_CodegenCFunctions_fun__678(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;
tmpMeta[0+4] = _a_sub;
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;
_a_sub = tmp4_7;
_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;
tmpMeta[0+4] = _a_sub;
goto tmp3_done;
}
case 3: {
_txt = tmp4_1;
_a_cr = tmp4_3;
_a_preExp = tmp4_4;
_a_varDecls = tmp4_5;
_a_auxFunction = tmp4_6;
_a_sub = tmp4_7;
_txt = omc_CodegenCFunctions_cref(threadData, _txt, _a_cr, _a_sub ,&_a_sub);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_preExp;
tmpMeta[0+2] = _a_varDecls;
tmpMeta[0+3] = _a_auxFunction;
tmpMeta[0+4] = _a_sub;
goto tmp3_done;
}
}
goto 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];
_out_a_sub = 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_auxFunction) { *out_out_a_auxFunction = _out_a_auxFunction; }
if (out_out_a_sub) { *out_out_a_sub = _out_a_sub; }
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__678(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 tmpMeta1;
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_context;
tmp4_4 = _in_a_cr;
{
modelica_metatype _txt = NULL;
modelica_metatype _a_context = 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 (5 != MMC_STRLEN(tmp4_2) || strcmp(MMC_STRINGDATA(_OMC_LIT47), MMC_STRINGDATA(tmp4_2)) != 0) goto tmp3_end;
_txt = tmp4_1;
_a_context = tmp4_3;
_a_cr = tmp4_4;
tmpMeta1 = omc_CodegenCFunctions_crefOMSI(threadData, _txt, _a_cr, _a_context);
goto tmp3_done;
}
case 1: {
_txt = tmp4_1;
_a_context = tmp4_3;
_a_cr = tmp4_4;
tmpMeta1 = omc_CodegenCFunctions_jacCrefs(threadData, _txt, _a_cr, _a_context, ((modelica_integer) 0));
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta1;
_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_sub = 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_sub = _OMC_LIT20;
_out_txt = omc_CodegenCFunctions_contextCref(threadData, _txt, _a_cr, _a_context, _l_preExp, _l_varDecls, _a_auxFunction, _l_sub ,&_l_preExp ,&_l_varDecls ,&_out_a_auxFunction ,&_l_sub);
_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__675(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__675(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 tmpMeta1;
MMC_SO();
_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_condVar;
tmp4_4 = _in_a_msgVar;
tmp4_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 tmp4;
int tmp5;
tmp4 = 0;
for (; tmp4 < 4; tmp4++) {
switch (MMC_SWITCH_CAST(tmp4)) {
case 0: {
modelica_metatype tmpMeta6;
modelica_integer tmp7;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,1,2) == 0) goto tmp3_end;
tmpMeta6 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 3));
tmp7 = mmc_unbox_integer(tmpMeta6);
if (1 != tmp7) goto tmp3_end;
_txt = tmp4_1;
_a_condVar = tmp4_3;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1523);
_txt = omc_Tpl_writeText(threadData, _txt, _a_condVar);
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1529);
goto tmp3_done;
}
case 1: {
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,1,2) == 0) goto tmp3_end;
_txt = tmp4_1;
_a_condVar = tmp4_3;
_a_msgVar = tmp4_4;
_a_info = tmp4_5;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1523);
_txt = omc_Tpl_writeText(threadData, _txt, _a_condVar);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1250);
_txt = omc_Tpl_pushBlock(threadData, _txt, _OMC_LIT105);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1531);
_txt = omc_CodegenCFunctions_infoArgs(threadData, _txt, _a_info);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1536);
_txt = omc_Tpl_writeText(threadData, _txt, _a_msgVar);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT386);
_txt = omc_Tpl_popBlock(threadData, _txt);
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT111);
goto tmp3_done;
}
case 2: {
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,9,1) == 0) goto tmp3_end;
_txt = tmp4_1;
_a_condVar = tmp4_3;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1523);
_txt = omc_Tpl_writeText(threadData, _txt, _a_condVar);
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1541);
goto tmp3_done;
}
case 3: {
_txt = tmp4_1;
_a_condVar = tmp4_3;
_a_msgVar = tmp4_4;
_a_info = tmp4_5;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1523);
_txt = omc_Tpl_writeText(threadData, _txt, _a_condVar);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1552);
_txt = omc_Tpl_pushBlock(threadData, _txt, _OMC_LIT1553);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1531);
_txt = omc_CodegenCFunctions_infoArgs(threadData, _txt, _a_info);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1559);
_txt = omc_Tpl_writeText(threadData, _txt, _a_msgVar);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT386);
_txt = omc_Tpl_popBlock(threadData, _txt);
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1562);
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta1;
_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_LIT1405);
_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_LIT87);
_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_assertCode = NULL;
modelica_metatype _l_rethrow = NULL;
modelica_metatype _l_omcAssertFunc = NULL;
modelica_string _ret_7 = NULL;
modelica_metatype _txt_6 = NULL;
modelica_metatype _l_infoTextContext = NULL;
modelica_metatype _l_AddionalFuncName = 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_LIT303);
_l_msgVar = omc_CodegenCFunctions_lm__666(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_AddionalFuncName = omc_CodegenCFunctions_fun__667(threadData, _OMC_LIT20, _a_context);
_l_infoTextContext = omc_Tpl_writeTok(threadData, _OMC_LIT20, _OMC_LIT1564);
_txt_6 = omc_ExpressionDumpTpl_dumpExp(threadData, _OMC_LIT20, _a_condition, _OMC_LIT239);
_ret_7 = omc_Util_escapeModelicaStringToCString(threadData, omc_Tpl_textString(threadData, _txt_6));
_l_infoTextContext = omc_Tpl_writeStr(threadData, _l_infoTextContext, _ret_7);
_l_infoTextContext = omc_Tpl_writeTok(threadData, _l_infoTextContext, _OMC_LIT1566);
_l_omcAssertFunc = omc_CodegenCFunctions_fun__668(threadData, _OMC_LIT20, _a_level, _l_AddionalFuncName);
_l_rethrow = omc_CodegenCFunctions_fun__669(threadData, _OMC_LIT20, _a_level);
_l_assertCode = omc_CodegenCFunctions_fun__670(threadData, _OMC_LIT20, _a_context, _l_rethrow, _l_infoTextContext, _l_msgVar, _l_omcAssertFunc, _a_info);
_l_warningTriggered = omc_CodegenCFunctions_tempDeclZero(threadData, _OMC_LIT20, _OMC_LIT1567, _out_a_varDecls ,&_out_a_varDecls);
_l_TriggerIf = omc_CodegenCFunctions_fun__671(threadData, _OMC_LIT20, _a_level, _l_warningTriggered);
_l_TriggerVarSet = omc_CodegenCFunctions_fun__672(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_LIT154);
_out_txt = omc_Tpl_pushBlock(threadData, _out_txt, _OMC_LIT105);
_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_LIT1569);
_out_txt = omc_Tpl_writeText(threadData, _out_txt, _l_condVar);
_out_txt = omc_Tpl_writeTok(threadData, _out_txt, _OMC_LIT439);
_out_txt = omc_Tpl_pushBlock(threadData, _out_txt, _OMC_LIT105);
_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_LIT154);
_out_txt = omc_Tpl_pushBlock(threadData, _out_txt, _OMC_LIT105);
_out_txt = omc_Tpl_writeText(threadData, _out_txt, _l_assertCode);
_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_LIT167);
_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_LIT167);
_out_txt = omc_Tpl_popBlock(threadData, _out_txt);
_out_txt = omc_Tpl_writeTok(threadData, _out_txt, _OMC_LIT111);
_out_txt = omc_Tpl_writeTok(threadData, _out_txt, _OMC_LIT98);
_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__672(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_level, modelica_metatype _in_a_warningTriggered)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta1;
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_level;
tmp4_3 = _in_a_warningTriggered;
{
modelica_metatype _txt = NULL;
modelica_metatype _a_warningTriggered = NULL;
volatile mmc_switch_type tmp4;
int tmp5;
tmp4 = 0;
for (; tmp4 < 2; tmp4++) {
switch (MMC_SWITCH_CAST(tmp4)) {
case 0: {
modelica_metatype tmpMeta6;
modelica_integer tmp7;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,5,2) == 0) goto tmp3_end;
tmpMeta6 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 3));
tmp7 = mmc_unbox_integer(tmpMeta6);
if (1 != tmp7) goto tmp3_end;
_txt = tmp4_1;
_a_warningTriggered = tmp4_3;
_txt = omc_Tpl_writeText(threadData, _txt, _a_warningTriggered);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT404);
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT98);
goto tmp3_done;
}
case 1: {
_txt = tmp4_1;
tmpMeta1 = _txt;
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta1;
_return: OMC_LABEL_UNUSED
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__671(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_level, modelica_metatype _in_a_warningTriggered)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta1;
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_level;
tmp4_3 = _in_a_warningTriggered;
{
modelica_metatype _txt = NULL;
modelica_metatype _a_warningTriggered = NULL;
volatile mmc_switch_type tmp4;
int tmp5;
tmp4 = 0;
for (; tmp4 < 2; tmp4++) {
switch (MMC_SWITCH_CAST(tmp4)) {
case 0: {
modelica_metatype tmpMeta6;
modelica_integer tmp7;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,5,2) == 0) goto tmp3_end;
tmpMeta6 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 3));
tmp7 = mmc_unbox_integer(tmpMeta6);
if (1 != tmp7) goto tmp3_end;
_txt = tmp4_1;
_a_warningTriggered = tmp4_3;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1569);
_txt = omc_Tpl_writeText(threadData, _txt, _a_warningTriggered);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT87);
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT98);
goto tmp3_done;
}
case 1: {
_txt = tmp4_1;
tmpMeta1 = _txt;
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta1;
_return: OMC_LABEL_UNUSED
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__670(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_context, modelica_metatype _in_a_rethrow, modelica_metatype _in_a_infoTextContext, modelica_metatype _in_a_msgVar, modelica_metatype _in_a_omcAssertFunc, modelica_metatype _in_a_info)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta1;
MMC_SO();
_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_context;
tmp4_3 = _in_a_rethrow;
tmp4_4 = _in_a_infoTextContext;
tmp4_5 = _in_a_msgVar;
tmp4_6 = _in_a_omcAssertFunc;
tmp4_7 = _in_a_info;
{
modelica_metatype _txt = NULL;
modelica_metatype _a_rethrow = NULL;
modelica_metatype _a_infoTextContext = NULL;
modelica_metatype _a_msgVar = NULL;
modelica_metatype _a_omcAssertFunc = NULL;
modelica_metatype _a_info = 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_msgVar = tmp4_5;
_a_omcAssertFunc = tmp4_6;
_a_info = tmp4_7;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1531);
_txt = omc_CodegenCFunctions_infoArgs(threadData, _txt, _a_info);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1570);
_txt = omc_Tpl_writeText(threadData, _txt, _a_omcAssertFunc);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1572);
_txt = omc_Tpl_writeText(threadData, _txt, _a_msgVar);
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT299);
goto tmp3_done;
}
case 1: {
_txt = tmp4_1;
_a_rethrow = tmp4_3;
_a_infoTextContext = tmp4_4;
_a_msgVar = tmp4_5;
_a_omcAssertFunc = tmp4_6;
_a_info = tmp4_7;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1574);
_txt = omc_Tpl_pushBlock(threadData, _txt, _OMC_LIT105);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1576);
_txt = omc_Tpl_writeText(threadData, _txt, _a_infoTextContext);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1580);
_txt = omc_Tpl_writeText(threadData, _txt, _a_msgVar);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT299);
_txt = omc_Tpl_writeText(threadData, _txt, _a_rethrow);
_txt = omc_Tpl_softNewLine(threadData, _txt);
_txt = omc_Tpl_popBlock(threadData, _txt);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1581);
_txt = omc_Tpl_pushBlock(threadData, _txt, _OMC_LIT105);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1531);
_txt = omc_CodegenCFunctions_infoArgs(threadData, _txt, _a_info);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1585);
_txt = omc_Tpl_writeText(threadData, _txt, _a_infoTextContext);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT386);
_txt = omc_Tpl_writeText(threadData, _txt, _a_omcAssertFunc);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1587);
_txt = omc_Tpl_writeText(threadData, _txt, _a_msgVar);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT386);
_txt = omc_Tpl_popBlock(threadData, _txt);
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT111);
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta1;
_return: OMC_LABEL_UNUSED
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__669(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_level)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta1;
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_metatype tmp4_2;
tmp4_1 = _in_txt;
tmp4_2 = _in_a_level;
{
modelica_metatype _txt = NULL;
volatile mmc_switch_type tmp4;
int tmp5;
tmp4 = 0;
for (; tmp4 < 2; tmp4++) {
switch (MMC_SWITCH_CAST(tmp4)) {
case 0: {
modelica_metatype tmpMeta6;
modelica_integer tmp7;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,5,2) == 0) goto tmp3_end;
tmpMeta6 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 3));
tmp7 = mmc_unbox_integer(tmpMeta6);
if (1 != tmp7) goto tmp3_end;
_txt = tmp4_1;
tmpMeta1 = _txt;
goto tmp3_done;
}
case 1: {
_txt = tmp4_1;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT98);
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1589);
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta1;
_return: OMC_LABEL_UNUSED
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_AddionalFuncName)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta1;
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_level;
tmp4_3 = _in_a_AddionalFuncName;
{
modelica_metatype _txt = NULL;
modelica_metatype _a_AddionalFuncName = NULL;
volatile mmc_switch_type tmp4;
int tmp5;
tmp4 = 0;
for (; tmp4 < 2; tmp4++) {
switch (MMC_SWITCH_CAST(tmp4)) {
case 0: {
modelica_metatype tmpMeta6;
modelica_integer tmp7;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,5,2) == 0) goto tmp3_end;
tmpMeta6 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 3));
tmp7 = mmc_unbox_integer(tmpMeta6);
if (1 != tmp7) goto tmp3_end;
_txt = tmp4_1;
_a_AddionalFuncName = tmp4_3;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1591);
_txt = omc_Tpl_writeText(threadData, _txt, _a_AddionalFuncName);
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT30);
goto tmp3_done;
}
case 1: {
_txt = tmp4_1;
_a_AddionalFuncName = tmp4_3;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1593);
_txt = omc_Tpl_writeText(threadData, _txt, _a_AddionalFuncName);
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1595);
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta1;
_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_context)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta1;
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_metatype tmp4_2;
tmp4_1 = _in_txt;
tmp4_2 = _in_a_context;
{
modelica_metatype _txt = 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;
tmpMeta1 = _txt;
goto tmp3_done;
}
case 1: {
_txt = tmp4_1;
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1597);
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta1;
_return: OMC_LABEL_UNUSED
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_lm__666(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[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_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: {
modelica_metatype tmpMeta6;
modelica_metatype tmpMeta7;
if (listEmpty(tmp4_2)) goto tmp3_end;
tmpMeta6 = MMC_CAR(tmp4_2);
tmpMeta7 = MMC_CDR(tmp4_2);
_i_message = tmpMeta6;
_rest = tmpMeta7;
_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 tmpMeta1;
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_metatype tmp4_2;
tmp4_1 = _in_txt;
tmp4_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 tmp4;
int tmp5;
tmp4 = 0;
for (; tmp4 < 2; tmp4++) {
switch (MMC_SWITCH_CAST(tmp4)) {
case 0: {
modelica_metatype tmpMeta6;
modelica_metatype tmpMeta7;
modelica_integer tmp8;
modelica_metatype tmpMeta9;
modelica_integer tmp10;
modelica_metatype tmpMeta11;
modelica_integer tmp12;
modelica_metatype tmpMeta13;
modelica_integer tmp14;
modelica_metatype tmpMeta15;
modelica_integer tmp16;
tmpMeta6 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
tmpMeta7 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 3));
tmp8 = mmc_unbox_integer(tmpMeta7);
tmpMeta9 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 4));
tmp10 = mmc_unbox_integer(tmpMeta9);
tmpMeta11 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 5));
tmp12 = mmc_unbox_integer(tmpMeta11);
tmpMeta13 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 6));
tmp14 = mmc_unbox_integer(tmpMeta13);
tmpMeta15 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 7));
tmp16 = mmc_unbox_integer(tmpMeta15);
_txt = tmp4_1;
_i_fileName = tmpMeta6;
_i_isReadOnly = tmp8;
_i_lineNumberStart = tmp10;
_i_columnNumberStart = tmp12;
_i_lineNumberEnd = tmp14;
_i_columnNumberEnd = tmp16;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT940);
_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_LIT1599);
_txt = omc_Tpl_writeStr(threadData, _txt, intString(_i_lineNumberStart));
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT234);
_txt = omc_Tpl_writeStr(threadData, _txt, intString(_i_columnNumberStart));
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT234);
_txt = omc_Tpl_writeStr(threadData, _txt, intString(_i_lineNumberEnd));
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT234);
_txt = omc_Tpl_writeStr(threadData, _txt, intString(_i_columnNumberEnd));
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT234);
tmpMeta1 = omc_CodegenCFunctions_fun__664(threadData, _txt, _i_isReadOnly);
goto tmp3_done;
}
case 1: {
_txt = tmp4_1;
tmpMeta1 = _txt;
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta1;
_return: OMC_LABEL_UNUSED
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__664(threadData_t *threadData, modelica_metatype _in_txt, modelica_boolean _in_a_isReadOnly)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta1;
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_boolean tmp4_2;
tmp4_1 = _in_txt;
tmp4_2 = _in_a_isReadOnly;
{
modelica_metatype _txt = 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;
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT980);
goto tmp3_done;
}
case 1: {
_txt = tmp4_1;
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT410);
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta1;
_return: OMC_LABEL_UNUSED
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__664(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__664(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[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_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: {
modelica_metatype tmpMeta6;
modelica_metatype tmpMeta7;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,1,2) == 0) goto tmp3_end;
tmpMeta6 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
tmpMeta7 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 3));
_i_p_ty = tmpMeta6;
_i_p_exp = tmpMeta7;
_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__652(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__653(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: {
modelica_metatype tmpMeta8;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,9,1) == 0) goto tmp3_end;
tmpMeta8 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
_i_p_pat = tmpMeta8;
_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_LIT322, _a_varDecls ,&_a_varDecls);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1601);
_txt = omc_Tpl_writeText(threadData, _txt, _a_rhs);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1603);
_txt = omc_Tpl_writeText(threadData, _txt, _a_onPatternFail);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT169);
_txt = omc_Tpl_writeText(threadData, _txt, _l_tvar);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT840);
_txt = omc_Tpl_writeText(threadData, _txt, _a_rhs);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1605);
_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: {
modelica_metatype tmpMeta9;
modelica_metatype tmpMeta10;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,6,2) == 0) goto tmp3_end;
tmpMeta9 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
tmpMeta10 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 3));
_i_head = tmpMeta9;
_i_tail = tmpMeta10;
_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_LIT322, _a_varDecls ,&_a_varDecls);
_l_tvarTail = omc_CodegenCFunctions_tempDecl(threadData, _OMC_LIT20, _OMC_LIT322, _a_varDecls ,&_a_varDecls);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1607);
_txt = omc_Tpl_writeText(threadData, _txt, _a_rhs);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1603);
_txt = omc_Tpl_writeText(threadData, _txt, _a_onPatternFail);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT169);
_txt = omc_Tpl_writeText(threadData, _txt, _l_tvarHead);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT384);
_txt = omc_Tpl_writeText(threadData, _txt, _a_rhs);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT386);
_txt = omc_Tpl_writeText(threadData, _txt, _l_tvarTail);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT388);
_txt = omc_Tpl_writeText(threadData, _txt, _a_rhs);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT386);
_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: {
modelica_metatype tmpMeta11;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,4,1) == 0) goto tmp3_end;
tmpMeta11 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
_i_patterns = tmpMeta11;
_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_LIT147);
_txt = omc_CodegenCFunctions_lm__655(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: {
modelica_metatype tmpMeta12;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,5,1) == 0) goto tmp3_end;
tmpMeta12 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
_i_patterns = tmpMeta12;
_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_LIT147);
_txt = omc_CodegenCFunctions_lm__657(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: {
modelica_metatype tmpMeta13;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,8,2) == 0) goto tmp3_end;
tmpMeta13 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 3));
_i_patterns_1 = tmpMeta13;
_txt = tmp4_1;
_a_rhs = tmp4_3;
_a_onPatternFail = tmp4_4;
_a_varDecls = tmp4_5;
_a_assignments = tmp4_6;
_txt = omc_CodegenCFunctions_lm__659(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_metatype tmpMeta14;
modelica_integer tmp15;
modelica_metatype tmpMeta16;
modelica_metatype tmpMeta17;
modelica_integer tmp18;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,7,6) == 0) goto tmp3_end;
tmpMeta14 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 3));
tmp15 = mmc_unbox_integer(tmpMeta14);
tmpMeta16 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 4));
tmpMeta17 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 7));
tmp18 = mmc_unbox_integer(tmpMeta17);
_i_index = tmp15;
_i_patterns = tmpMeta16;
_i_knownSingleton = tmp18;
_txt = tmp4_1;
_a_rhs = tmp4_3;
_a_onPatternFail = tmp4_4;
_a_varDecls = tmp4_5;
_a_assignments = tmp4_6;
_txt = omc_CodegenCFunctions_fun__660(threadData, _txt, _i_knownSingleton, _a_onPatternFail, _i_patterns, _i_index, _a_rhs);
_txt = omc_Tpl_pushIter(threadData, _txt, _OMC_LIT1608);
_txt = omc_CodegenCFunctions_lm__662(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: {
modelica_metatype tmpMeta19;
modelica_metatype tmpMeta20;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,3,2) == 0) goto tmp3_end;
tmpMeta19 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
tmpMeta20 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 3));
_i_p_id = tmpMeta19;
_i_p_pat = tmpMeta20;
_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_LIT244);
_a_assignments = omc_Tpl_writeStr(threadData, _a_assignments, _i_p_id);
_a_assignments = omc_Tpl_writeTok(threadData, _a_assignments, _OMC_LIT129);
_a_assignments = omc_Tpl_writeText(threadData, _a_assignments, _a_rhs);
_a_assignments = omc_Tpl_writeTok(threadData, _a_assignments, _OMC_LIT113);
_a_assignments = omc_Tpl_writeTok(threadData, _a_assignments, _OMC_LIT98);
_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: {
modelica_metatype tmpMeta21;
modelica_metatype tmpMeta22;
modelica_metatype tmpMeta23;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,2,4) == 0) goto tmp3_end;
tmpMeta21 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
tmpMeta22 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 3));
if (!optionNone(tmpMeta22)) goto tmp3_end;
tmpMeta23 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 5));
_i_p_id = tmpMeta21;
_i_p_pat = tmpMeta23;
_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_LIT244);
_a_assignments = omc_Tpl_writeStr(threadData, _a_assignments, _i_p_id);
_a_assignments = omc_Tpl_writeTok(threadData, _a_assignments, _OMC_LIT129);
_a_assignments = omc_Tpl_writeText(threadData, _a_assignments, _a_rhs);
_a_assignments = omc_Tpl_writeTok(threadData, _a_assignments, _OMC_LIT113);
_a_assignments = omc_Tpl_writeTok(threadData, _a_assignments, _OMC_LIT98);
_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: {
modelica_metatype tmpMeta24;
modelica_metatype tmpMeta25;
modelica_metatype tmpMeta26;
modelica_metatype tmpMeta27;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,2,4) == 0) goto tmp3_end;
tmpMeta24 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
tmpMeta25 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 3));
if (optionNone(tmpMeta25)) goto tmp3_end;
tmpMeta26 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta25), 1));
tmpMeta27 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 5));
_i_p_id = tmpMeta24;
_i_et = tmpMeta26;
_i_p_pat = tmpMeta27;
_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_LIT244);
_a_assignments = omc_Tpl_writeStr(threadData, _a_assignments, _i_p_id);
_a_assignments = omc_Tpl_writeTok(threadData, _a_assignments, _OMC_LIT129);
_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_LIT1610);
_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_LIT1612);
_a_assignments = omc_Tpl_writeTok(threadData, _a_assignments, _OMC_LIT98);
_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_LIT1614);
_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_LIT98);
_txt = omc_CodegenUtil_error(threadData, _txt, omc_Tpl_sourceInfo(threadData, _OMC_LIT27, ((modelica_integer) 4368), ((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__662(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[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_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: {
modelica_metatype tmpMeta6;
modelica_metatype tmpMeta7;
if (listEmpty(tmp4_2)) goto tmp3_end;
tmpMeta6 = MMC_CAR(tmp4_2);
tmpMeta7 = MMC_CDR(tmp4_2);
_i_p = tmpMeta6;
_rest = tmpMeta7;
_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__661(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__661(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_LIT322, _a_varDecls ,&_a_varDecls);
_txt = omc_Tpl_writeText(threadData, _txt, _l_tvar);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT840);
_txt = omc_Tpl_writeText(threadData, _txt, _a_rhs);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT532);
_txt = omc_Tpl_writeStr(threadData, _txt, intString(_a_i2));
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT603);
_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__661(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__661(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__660(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 tmpMeta1;
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;
tmp4_1 = _in_txt;
tmp4_2 = _in_a_knownSingleton;
tmp4_3 = _in_a_onPatternFail;
tmp4_4 = _in_a_patterns;
tmp4_5 = _in_a_index;
tmp4_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 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_onPatternFail = tmp4_3;
_a_patterns = tmp4_4;
_a_index = tmp4_5;
_a_rhs = tmp4_6;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1616);
_txt = omc_Tpl_writeText(threadData, _txt, _a_rhs);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT234);
_txt = omc_Tpl_writeStr(threadData, _txt, intString(_a_index));
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT234);
_ret_0 = listLength(_a_patterns);
_txt = omc_Tpl_writeStr(threadData, _txt, intString(_ret_0));
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1618);
_txt = omc_Tpl_writeText(threadData, _txt, _a_onPatternFail);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT113);
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT98);
goto tmp3_done;
}
case 1: {
_txt = tmp4_1;
tmpMeta1 = _txt;
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta1;
_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_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__660(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__659(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[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_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: {
modelica_metatype tmpMeta6;
modelica_metatype tmpMeta7;
modelica_metatype tmpMeta8;
modelica_metatype tmpMeta9;
modelica_metatype tmpMeta10;
if (listEmpty(tmp4_2)) goto tmp3_end;
tmpMeta6 = MMC_CAR(tmp4_2);
tmpMeta7 = MMC_CDR(tmp4_2);
tmpMeta8 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta6), 1));
tmpMeta9 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta6), 2));
tmpMeta10 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta6), 3));
_i_p = tmpMeta8;
_i_n = tmpMeta9;
_i_t = tmpMeta10;
_rest = tmpMeta7;
_txt = tmp4_1;
_a_assignments = tmp4_3;
_a_onPatternFail = tmp4_4;
_a_rhs = tmp4_5;
_a_varDecls = tmp4_6;
_txt = omc_CodegenCFunctions_fun__658(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__658(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_LIT129);
_txt = omc_Tpl_writeText(threadData, _txt, _a_rhs);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT528);
_txt = omc_Tpl_writeStr(threadData, _txt, _a_n);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT169);
_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__657(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[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_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: {
modelica_metatype tmpMeta6;
modelica_metatype tmpMeta7;
if (listEmpty(tmp4_2)) goto tmp3_end;
tmpMeta6 = MMC_CAR(tmp4_2);
tmpMeta7 = MMC_CDR(tmp4_2);
_i_p = tmpMeta6;
_rest = tmpMeta7;
_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__656(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__656(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_LIT1020);
_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__656(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__656(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__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[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_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: {
modelica_metatype tmpMeta6;
modelica_metatype tmpMeta7;
if (listEmpty(tmp4_2)) goto tmp3_end;
tmpMeta6 = MMC_CAR(tmp4_2);
tmpMeta7 = MMC_CDR(tmp4_2);
_i_p = tmpMeta6;
_rest = tmpMeta7;
_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__654(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__654(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_LIT322, _a_varDecls ,&_a_varDecls);
_txt = omc_Tpl_writeText(threadData, _txt, _l_tvar);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT840);
_txt = omc_Tpl_writeText(threadData, _txt, _a_rhs);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT532);
_txt = omc_Tpl_writeStr(threadData, _txt, intString(_a_i1));
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT603);
_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__654(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__654(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__653(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 tmpMeta1;
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_p_exp;
tmp4_3 = _in_a_onPatternFail;
tmp4_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 tmp4;
int tmp5;
tmp4 = 0;
for (; tmp4 < 10; tmp4++) {
switch (MMC_SWITCH_CAST(tmp4)) {
case 0: {
modelica_metatype tmpMeta6;
modelica_integer tmp7;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,0,1) == 0) goto tmp3_end;
tmpMeta6 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
tmp7 = mmc_unbox_integer(tmpMeta6);
_i_c_integer = tmp7;
_txt = tmp4_1;
_a_onPatternFail = tmp4_3;
_a_urhs = tmp4_4;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT257);
_txt = omc_Tpl_writeStr(threadData, _txt, intString(_i_c_integer));
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT677);
_txt = omc_Tpl_writeText(threadData, _txt, _a_urhs);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT138);
_txt = omc_Tpl_writeText(threadData, _txt, _a_onPatternFail);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT113);
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT98);
goto tmp3_done;
}
case 1: {
modelica_metatype tmpMeta8;
modelica_real tmp9;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,1,1) == 0) goto tmp3_end;
tmpMeta8 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
tmp9 = mmc_unbox_real(tmpMeta8);
_i_c_real = tmp9;
_txt = tmp4_1;
_a_onPatternFail = tmp4_3;
_a_urhs = tmp4_4;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT257);
_txt = omc_Tpl_writeStr(threadData, _txt, realString(_i_c_real));
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT677);
_txt = omc_Tpl_writeText(threadData, _txt, _a_urhs);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT138);
_txt = omc_Tpl_writeText(threadData, _txt, _a_onPatternFail);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT113);
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT98);
goto tmp3_done;
}
case 2: {
modelica_metatype tmpMeta10;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,2,1) == 0) goto tmp3_end;
tmpMeta10 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
_i_c_string = tmpMeta10;
_txt = tmp4_1;
_a_onPatternFail = tmp4_3;
_a_urhs = tmp4_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_LIT257);
_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_LIT1620);
_txt = omc_Tpl_writeText(threadData, _txt, _a_urhs);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1622);
_txt = omc_Tpl_writeText(threadData, _txt, _l_escstr);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1624);
_txt = omc_Tpl_writeText(threadData, _txt, _a_urhs);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1626);
_txt = omc_Tpl_writeText(threadData, _txt, _a_onPatternFail);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT113);
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT98);
goto tmp3_done;
}
case 3: {
modelica_metatype tmpMeta11;
modelica_integer tmp12;
modelica_metatype tmpMeta13;
modelica_metatype tmpMeta14;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,36,2) == 0) goto tmp3_end;
tmpMeta11 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
tmp12 = mmc_unbox_integer(tmpMeta11);
tmpMeta13 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 3));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta13,2,1) == 0) goto tmp3_end;
tmpMeta14 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta13), 2));
_i_c_index = tmp12;
_i_d_string = tmpMeta14;
_txt = tmp4_1;
_a_onPatternFail = tmp4_3;
_a_urhs = tmp4_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_LIT257);
_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_LIT1620);
_txt = omc_Tpl_writeText(threadData, _txt, _a_urhs);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1628);
_txt = omc_Tpl_writeStr(threadData, _txt, intString(_i_c_index));
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1630);
_txt = omc_Tpl_writeText(threadData, _txt, _a_urhs);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1626);
_txt = omc_Tpl_writeText(threadData, _txt, _a_onPatternFail);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT113);
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT98);
goto tmp3_done;
}
case 4: {
modelica_metatype tmpMeta15;
modelica_integer tmp16;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,3,1) == 0) goto tmp3_end;
tmpMeta15 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
tmp16 = mmc_unbox_integer(tmpMeta15);
_i_c_bool = tmp16;
_txt = tmp4_1;
_a_onPatternFail = tmp4_3;
_a_urhs = tmp4_4;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT257);
_txt = omc_CodegenCFunctions_boolStrC(threadData, _txt, _i_c_bool);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT677);
_txt = omc_Tpl_writeText(threadData, _txt, _a_urhs);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT138);
_txt = omc_Tpl_writeText(threadData, _txt, _a_onPatternFail);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT113);
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT98);
goto tmp3_done;
}
case 5: {
modelica_metatype tmpMeta17;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,28,1) == 0) goto tmp3_end;
tmpMeta17 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
if (!listEmpty(tmpMeta17)) goto tmp3_end;
_txt = tmp4_1;
_a_onPatternFail = tmp4_3;
_a_urhs = tmp4_4;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT390);
_txt = omc_Tpl_writeText(threadData, _txt, _a_urhs);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1603);
_txt = omc_Tpl_writeText(threadData, _txt, _a_onPatternFail);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT113);
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT98);
goto tmp3_done;
}
case 6: {
modelica_metatype tmpMeta18;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,31,1) == 0) goto tmp3_end;
tmpMeta18 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
if (!optionNone(tmpMeta18)) goto tmp3_end;
_txt = tmp4_1;
_a_onPatternFail = tmp4_3;
_a_urhs = tmp4_4;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1632);
_txt = omc_Tpl_writeText(threadData, _txt, _a_urhs);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1603);
_txt = omc_Tpl_writeText(threadData, _txt, _a_onPatternFail);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT113);
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT98);
goto tmp3_done;
}
case 7: {
modelica_metatype tmpMeta19;
modelica_integer tmp20;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,5,2) == 0) goto tmp3_end;
tmpMeta19 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 3));
tmp20 = mmc_unbox_integer(tmpMeta19);
_i_c_index = tmp20;
_txt = tmp4_1;
_a_onPatternFail = tmp4_3;
_a_urhs = tmp4_4;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT257);
_txt = omc_Tpl_writeStr(threadData, _txt, intString(_i_c_index));
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT677);
_txt = omc_Tpl_writeText(threadData, _txt, _a_urhs);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT138);
_txt = omc_Tpl_writeText(threadData, _txt, _a_onPatternFail);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT113);
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT98);
goto tmp3_done;
}
case 8: {
modelica_metatype tmpMeta21;
modelica_integer tmp22;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,36,2) == 0) goto tmp3_end;
tmpMeta21 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
tmp22 = mmc_unbox_integer(tmpMeta21);
_i_c_index = tmp22;
_txt = tmp4_1;
_a_onPatternFail = tmp4_3;
_a_urhs = tmp4_4;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1634);
_txt = omc_Tpl_writeStr(threadData, _txt, intString(_i_c_index));
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT301);
_txt = omc_Tpl_writeText(threadData, _txt, _a_urhs);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1603);
_txt = omc_Tpl_writeText(threadData, _txt, _a_onPatternFail);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT113);
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT98);
goto tmp3_done;
}
case 9: {
_txt = tmp4_1;
_i_p_exp = tmp4_2;
_txt_5 = omc_Tpl_writeTok(threadData, _OMC_LIT20, _OMC_LIT1636);
_txt_5 = omc_ExpressionDumpTpl_dumpExp(threadData, _txt_5, _i_p_exp, _OMC_LIT239);
tmpMeta1 = omc_CodegenUtil_error(threadData, _txt, omc_Tpl_sourceInfo(threadData, _OMC_LIT27, ((modelica_integer) 4295), ((modelica_integer) 20)), omc_Tpl_textString(threadData, _txt_5));
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta1;
_return: OMC_LABEL_UNUSED
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__652(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[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_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: {
modelica_metatype tmpMeta6;
if (optionNone(tmp4_2)) goto tmp3_end;
tmpMeta6 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 1));
_i_et = tmpMeta6;
_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[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_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: {
modelica_metatype tmpMeta6;
modelica_metatype tmpMeta7;
modelica_metatype tmpMeta8;
modelica_metatype tmpMeta9;
modelica_metatype tmpMeta10;
modelica_metatype tmpMeta11;
modelica_metatype tmpMeta12;
modelica_metatype tmpMeta13;
modelica_metatype tmpMeta14;
modelica_metatype tmpMeta15;
modelica_metatype tmpMeta16;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,0,4) == 0) goto tmp3_end;
tmpMeta6 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 3));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta6,37,1) == 0) goto tmp3_end;
tmpMeta7 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta6), 2));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta7,5,1) == 0) goto tmp3_end;
tmpMeta8 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta7), 2));
if (listEmpty(tmpMeta8)) goto tmp3_end;
tmpMeta9 = MMC_CAR(tmpMeta8);
tmpMeta10 = MMC_CDR(tmpMeta8);
tmpMeta11 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 4));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta11,13,3) == 0) goto tmp3_end;
tmpMeta12 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta11), 4));
tmpMeta13 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta12), 2));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta13,14,2) == 0) goto tmp3_end;
tmpMeta14 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta13), 2));
if (listEmpty(tmpMeta14)) goto tmp3_end;
tmpMeta15 = MMC_CAR(tmpMeta14);
tmpMeta16 = MMC_CDR(tmpMeta14);
_i_pat = tmpMeta9;
_i_patterns = tmpMeta10;
_i_s_exp = tmpMeta11;
_i_ty = tmpMeta15;
_i_tys = tmpMeta16;
_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__649(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__650(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: {
modelica_metatype tmpMeta17;
modelica_metatype tmpMeta18;
modelica_metatype tmpMeta19;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,0,4) == 0) goto tmp3_end;
tmpMeta17 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 3));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta17,37,1) == 0) goto tmp3_end;
tmpMeta18 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta17), 2));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta18,0,0) == 0) goto tmp3_end;
tmpMeta19 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 4));
_i_exp = tmpMeta19;
_txt = tmp4_1;
_a_varDecls = tmp4_4;
_a_auxFunction = tmp4_5;
_txt_8 = omc_Tpl_writeTok(threadData, _OMC_LIT20, _OMC_LIT1638);
_txt_8 = omc_ExpressionDumpTpl_dumpExp(threadData, _txt_8, _i_exp, _OMC_LIT239);
_txt_8 = omc_Tpl_writeTok(threadData, _txt_8, _OMC_LIT1640);
_txt = omc_CodegenUtil_error(threadData, _txt, omc_Tpl_sourceInfo(threadData, _OMC_LIT27, ((modelica_integer) 4256), ((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: {
modelica_metatype tmpMeta20;
modelica_metatype tmpMeta21;
modelica_metatype tmpMeta22;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,0,4) == 0) goto tmp3_end;
tmpMeta20 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 3));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta20,37,1) == 0) goto tmp3_end;
tmpMeta21 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta20), 2));
tmpMeta22 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 4));
_i_lhs_pattern = tmpMeta21;
_i_s_exp = tmpMeta22;
_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_LIT1642);
_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_LIT129);
_txt = omc_Tpl_writeText(threadData, _txt, _l_expPart);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT169);
_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__650(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_LIT1644);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT98);
_txt = omc_Tpl_writeText(threadData, _txt, _a_preExp);
_txt = omc_Tpl_writeText(threadData, _txt, _a_expPart);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT113);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT98);
_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_LIT1646);
_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_LIT129);
_txt = omc_Tpl_writeText(threadData, _txt, _a_expPart);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT169);
_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__649(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[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_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: {
modelica_metatype tmpMeta6;
modelica_metatype tmpMeta7;
modelica_metatype tmpMeta8;
modelica_metatype tmpMeta9;
if (listEmpty(tmp4_2)) goto tmp3_end;
tmpMeta6 = MMC_CAR(tmp4_2);
tmpMeta7 = MMC_CDR(tmp4_2);
tmpMeta8 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta6), 1));
tmpMeta9 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta6), 2));
_i_pat = tmpMeta8;
_i_ty = tmpMeta9;
_rest = tmpMeta7;
_txt = tmp4_1;
_a_assignments = tmp4_3;
_a_matchPhase = tmp4_4;
_a_varDecls = tmp4_5;
_a_additionalOutputs = tmp4_6;
_txt = omc_CodegenCFunctions_fun__648(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__648(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_LIT542);
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_LIT131);
_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[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_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_LIT1648);
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_metatype tmpMeta5;
modelica_integer tmp6;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,2,3) == 0) goto tmp3_end;
tmpMeta5 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 4));
tmp6 = mmc_unbox_integer(tmpMeta5);
_i_size = tmp6;
_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: {
modelica_metatype tmpMeta7;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,3,1) == 0) goto tmp3_end;
tmpMeta7 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
_i_e = tmpMeta7;
_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_metatype tmpMeta8;
modelica_integer tmp9;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,0,1) == 0) goto tmp3_end;
tmpMeta8 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
tmp9 = mmc_unbox_integer(tmpMeta8);
_i_integer = tmp9;
_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__646(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) 4220), ((modelica_integer) 39)), _OMC_LIT1649);
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) 4221), ((modelica_integer) 14)), _OMC_LIT1650);
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__646(threadData_t *threadData, modelica_metatype _in_txt, modelica_boolean _in_mArg, modelica_integer _in_a_integer)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta1;
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_boolean tmp4_2;modelica_integer tmp4_3;
tmp4_1 = _in_txt;
tmp4_2 = _in_mArg;
tmp4_3 = _in_a_integer;
{
modelica_metatype _txt = NULL;
modelica_integer _a_integer;
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_integer = tmp4_3;
tmpMeta1 = omc_Tpl_writeStr(threadData, _txt, intString(_a_integer));
goto tmp3_done;
}
case 1: {
_txt = tmp4_1;
tmpMeta1 = omc_CodegenUtil_error(threadData, _txt, omc_Tpl_sourceInfo(threadData, _OMC_LIT27, ((modelica_integer) 4217), ((modelica_integer) 13)), _OMC_LIT1651);
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta1;
_return: OMC_LABEL_UNUSED
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__646(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__646(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 tmpMeta1;
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_metatype tmp4_2;modelica_integer tmp4_3;
tmp4_1 = _in_txt;
tmp4_2 = _in_a_op;
tmp4_3 = _in_a_flag;
{
modelica_metatype _txt = NULL;
modelica_integer _a_flag;
modelica_metatype _i_o_ty = NULL;
int tmp4;
{
switch (MMC_SWITCH_CAST(valueConstructor(tmp4_2))) {
case 3: {
modelica_metatype tmpMeta5;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,0,1) == 0) goto tmp3_end;
tmpMeta5 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
_i_o_ty = tmpMeta5;
_txt = tmp4_1;
_a_flag = tmp4_3;
tmpMeta1 = omc_CodegenCFunctions_expTypeFlag(threadData, _txt, _i_o_ty, _a_flag);
goto tmp3_done;
}
case 4: {
modelica_metatype tmpMeta6;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,1,1) == 0) goto tmp3_end;
tmpMeta6 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
_i_o_ty = tmpMeta6;
_txt = tmp4_1;
_a_flag = tmp4_3;
tmpMeta1 = omc_CodegenCFunctions_expTypeFlag(threadData, _txt, _i_o_ty, _a_flag);
goto tmp3_done;
}
case 5: {
modelica_metatype tmpMeta7;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,2,1) == 0) goto tmp3_end;
tmpMeta7 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
_i_o_ty = tmpMeta7;
_txt = tmp4_1;
_a_flag = tmp4_3;
tmpMeta1 = omc_CodegenCFunctions_expTypeFlag(threadData, _txt, _i_o_ty, _a_flag);
goto tmp3_done;
}
case 6: {
modelica_metatype tmpMeta8;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,3,1) == 0) goto tmp3_end;
tmpMeta8 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
_i_o_ty = tmpMeta8;
_txt = tmp4_1;
_a_flag = tmp4_3;
tmpMeta1 = omc_CodegenCFunctions_expTypeFlag(threadData, _txt, _i_o_ty, _a_flag);
goto tmp3_done;
}
case 7: {
modelica_metatype tmpMeta9;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,4,1) == 0) goto tmp3_end;
tmpMeta9 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
_i_o_ty = tmpMeta9;
_txt = tmp4_1;
_a_flag = tmp4_3;
tmpMeta1 = omc_CodegenCFunctions_expTypeFlag(threadData, _txt, _i_o_ty, _a_flag);
goto tmp3_done;
}
case 8: {
modelica_metatype tmpMeta10;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,5,1) == 0) goto tmp3_end;
tmpMeta10 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
_i_o_ty = tmpMeta10;
_txt = tmp4_1;
_a_flag = tmp4_3;
tmpMeta1 = omc_CodegenCFunctions_expTypeFlag(threadData, _txt, _i_o_ty, _a_flag);
goto tmp3_done;
}
case 9: {
modelica_metatype tmpMeta11;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,6,1) == 0) goto tmp3_end;
tmpMeta11 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
_i_o_ty = tmpMeta11;
_txt = tmp4_1;
_a_flag = tmp4_3;
tmpMeta1 = omc_CodegenCFunctions_expTypeFlag(threadData, _txt, _i_o_ty, _a_flag);
goto tmp3_done;
}
case 10: {
modelica_metatype tmpMeta12;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,7,1) == 0) goto tmp3_end;
tmpMeta12 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
_i_o_ty = tmpMeta12;
_txt = tmp4_1;
_a_flag = tmp4_3;
tmpMeta1 = omc_CodegenCFunctions_expTypeFlag(threadData, _txt, _i_o_ty, _a_flag);
goto tmp3_done;
}
case 11: {
modelica_metatype tmpMeta13;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,8,1) == 0) goto tmp3_end;
tmpMeta13 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
_i_o_ty = tmpMeta13;
_txt = tmp4_1;
_a_flag = tmp4_3;
tmpMeta1 = omc_CodegenCFunctions_expTypeFlag(threadData, _txt, _i_o_ty, _a_flag);
goto tmp3_done;
}
case 12: {
modelica_metatype tmpMeta14;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,9,1) == 0) goto tmp3_end;
tmpMeta14 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
_i_o_ty = tmpMeta14;
_txt = tmp4_1;
_a_flag = tmp4_3;
tmpMeta1 = omc_CodegenCFunctions_expTypeFlag(threadData, _txt, _i_o_ty, _a_flag);
goto tmp3_done;
}
case 13: {
modelica_metatype tmpMeta15;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,10,1) == 0) goto tmp3_end;
tmpMeta15 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
_i_o_ty = tmpMeta15;
_txt = tmp4_1;
_a_flag = tmp4_3;
tmpMeta1 = omc_CodegenCFunctions_expTypeFlag(threadData, _txt, _i_o_ty, _a_flag);
goto tmp3_done;
}
case 14: {
modelica_metatype tmpMeta16;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,11,1) == 0) goto tmp3_end;
tmpMeta16 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
_i_o_ty = tmpMeta16;
_txt = tmp4_1;
_a_flag = tmp4_3;
tmpMeta1 = omc_CodegenCFunctions_expTypeFlag(threadData, _txt, _i_o_ty, _a_flag);
goto tmp3_done;
}
case 15: {
modelica_metatype tmpMeta17;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,12,1) == 0) goto tmp3_end;
tmpMeta17 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
_i_o_ty = tmpMeta17;
_txt = tmp4_1;
_a_flag = tmp4_3;
tmpMeta1 = omc_CodegenCFunctions_expTypeFlag(threadData, _txt, _i_o_ty, _a_flag);
goto tmp3_done;
}
case 16: {
modelica_metatype tmpMeta18;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,13,1) == 0) goto tmp3_end;
tmpMeta18 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
_i_o_ty = tmpMeta18;
_txt = tmp4_1;
_a_flag = tmp4_3;
tmpMeta1 = omc_CodegenCFunctions_expTypeFlag(threadData, _txt, _i_o_ty, _a_flag);
goto tmp3_done;
}
case 17: {
modelica_metatype tmpMeta19;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,14,1) == 0) goto tmp3_end;
tmpMeta19 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
_i_o_ty = tmpMeta19;
_txt = tmp4_1;
_a_flag = tmp4_3;
tmpMeta1 = omc_CodegenCFunctions_expTypeFlag(threadData, _txt, _i_o_ty, _a_flag);
goto tmp3_done;
}
case 18: {
modelica_metatype tmpMeta20;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,15,1) == 0) goto tmp3_end;
tmpMeta20 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
_i_o_ty = tmpMeta20;
_txt = tmp4_1;
_a_flag = tmp4_3;
tmpMeta1 = omc_CodegenCFunctions_expTypeFlag(threadData, _txt, _i_o_ty, _a_flag);
goto tmp3_done;
}
case 19: {
modelica_metatype tmpMeta21;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,16,1) == 0) goto tmp3_end;
tmpMeta21 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
_i_o_ty = tmpMeta21;
_txt = tmp4_1;
_a_flag = tmp4_3;
tmpMeta1 = omc_CodegenCFunctions_expTypeFlag(threadData, _txt, _i_o_ty, _a_flag);
goto tmp3_done;
}
case 20: {
modelica_metatype tmpMeta22;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,17,1) == 0) goto tmp3_end;
tmpMeta22 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
_i_o_ty = tmpMeta22;
_txt = tmp4_1;
_a_flag = tmp4_3;
tmpMeta1 = omc_CodegenCFunctions_expTypeFlag(threadData, _txt, _i_o_ty, _a_flag);
goto tmp3_done;
}
case 21: {
modelica_metatype tmpMeta23;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,18,1) == 0) goto tmp3_end;
tmpMeta23 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
_i_o_ty = tmpMeta23;
_txt = tmp4_1;
_a_flag = tmp4_3;
tmpMeta1 = omc_CodegenCFunctions_expTypeFlag(threadData, _txt, _i_o_ty, _a_flag);
goto tmp3_done;
}
case 22: {
modelica_metatype tmpMeta24;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,19,1) == 0) goto tmp3_end;
tmpMeta24 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
_i_o_ty = tmpMeta24;
_txt = tmp4_1;
_a_flag = tmp4_3;
tmpMeta1 = omc_CodegenCFunctions_expTypeFlag(threadData, _txt, _i_o_ty, _a_flag);
goto tmp3_done;
}
case 23: {
modelica_metatype tmpMeta25;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,20,1) == 0) goto tmp3_end;
tmpMeta25 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
_i_o_ty = tmpMeta25;
_txt = tmp4_1;
_a_flag = tmp4_3;
tmpMeta1 = omc_CodegenCFunctions_expTypeFlag(threadData, _txt, _i_o_ty, _a_flag);
goto tmp3_done;
}
case 24: {
modelica_metatype tmpMeta26;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,21,1) == 0) goto tmp3_end;
tmpMeta26 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
_i_o_ty = tmpMeta26;
_txt = tmp4_1;
_a_flag = tmp4_3;
tmpMeta1 = omc_CodegenCFunctions_expTypeFlag(threadData, _txt, _i_o_ty, _a_flag);
goto tmp3_done;
}
case 28: {
modelica_metatype tmpMeta27;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,25,1) == 0) goto tmp3_end;
tmpMeta27 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
_i_o_ty = tmpMeta27;
_txt = tmp4_1;
_a_flag = tmp4_3;
tmpMeta1 = omc_CodegenCFunctions_expTypeFlag(threadData, _txt, _i_o_ty, _a_flag);
goto tmp3_done;
}
case 29: {
modelica_metatype tmpMeta28;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,26,1) == 0) goto tmp3_end;
tmpMeta28 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
_i_o_ty = tmpMeta28;
_txt = tmp4_1;
_a_flag = tmp4_3;
tmpMeta1 = omc_CodegenCFunctions_expTypeFlag(threadData, _txt, _i_o_ty, _a_flag);
goto tmp3_done;
}
case 30: {
modelica_metatype tmpMeta29;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,27,1) == 0) goto tmp3_end;
tmpMeta29 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
_i_o_ty = tmpMeta29;
_txt = tmp4_1;
_a_flag = tmp4_3;
tmpMeta1 = omc_CodegenCFunctions_expTypeFlag(threadData, _txt, _i_o_ty, _a_flag);
goto tmp3_done;
}
case 31: {
modelica_metatype tmpMeta30;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,28,1) == 0) goto tmp3_end;
tmpMeta30 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
_i_o_ty = tmpMeta30;
_txt = tmp4_1;
_a_flag = tmp4_3;
tmpMeta1 = omc_CodegenCFunctions_expTypeFlag(threadData, _txt, _i_o_ty, _a_flag);
goto tmp3_done;
}
case 32: {
modelica_metatype tmpMeta31;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,29,1) == 0) goto tmp3_end;
tmpMeta31 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
_i_o_ty = tmpMeta31;
_txt = tmp4_1;
_a_flag = tmp4_3;
tmpMeta1 = omc_CodegenCFunctions_expTypeFlag(threadData, _txt, _i_o_ty, _a_flag);
goto tmp3_done;
}
case 33: {
modelica_metatype tmpMeta32;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,30,1) == 0) goto tmp3_end;
tmpMeta32 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
_i_o_ty = tmpMeta32;
_txt = tmp4_1;
_a_flag = tmp4_3;
tmpMeta1 = omc_CodegenCFunctions_expTypeFlag(threadData, _txt, _i_o_ty, _a_flag);
goto tmp3_done;
}
case 25: {
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,22,1) == 0) goto tmp3_end;
_txt = tmp4_1;
_a_flag = tmp4_3;
tmpMeta1 = omc_CodegenCFunctions_fun__642(threadData, _txt, _a_flag);
goto tmp3_done;
}
case 26: {
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,23,1) == 0) goto tmp3_end;
_txt = tmp4_1;
_a_flag = tmp4_3;
tmpMeta1 = omc_CodegenCFunctions_fun__643(threadData, _txt, _a_flag);
goto tmp3_done;
}
case 27: {
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,24,1) == 0) goto tmp3_end;
_txt = tmp4_1;
_a_flag = tmp4_3;
tmpMeta1 = omc_CodegenCFunctions_fun__644(threadData, _txt, _a_flag);
goto tmp3_done;
}
default:
tmp3_default: OMC_LABEL_UNUSED; {
_txt = tmp4_1;
tmpMeta1 = omc_CodegenUtil_error(threadData, _txt, omc_Tpl_sourceInfo(threadData, _OMC_LIT27, ((modelica_integer) 4206), ((modelica_integer) 14)), _OMC_LIT1652);
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta1;
_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__644(threadData_t *threadData, modelica_metatype _in_txt, modelica_integer _in_a_flag)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta1;
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_integer tmp4_2;
tmp4_1 = _in_txt;
tmp4_2 = _in_a_flag;
{
modelica_metatype _txt = NULL;
volatile mmc_switch_type tmp4;
int tmp5;
tmp4 = 0;
for (; tmp4 < 2; tmp4++) {
switch (MMC_SWITCH_CAST(tmp4)) {
case 0: {
if (1 != tmp4_2) goto tmp3_end;
_txt = tmp4_1;
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1653);
goto tmp3_done;
}
case 1: {
_txt = tmp4_1;
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1654);
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta1;
_return: OMC_LABEL_UNUSED
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__644(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__644(threadData, _in_txt, tmp1);
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__643(threadData_t *threadData, modelica_metatype _in_txt, modelica_integer _in_a_flag)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta1;
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_integer tmp4_2;
tmp4_1 = _in_txt;
tmp4_2 = _in_a_flag;
{
modelica_metatype _txt = NULL;
volatile mmc_switch_type tmp4;
int tmp5;
tmp4 = 0;
for (; tmp4 < 2; tmp4++) {
switch (MMC_SWITCH_CAST(tmp4)) {
case 0: {
if (1 != tmp4_2) goto tmp3_end;
_txt = tmp4_1;
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1653);
goto tmp3_done;
}
case 1: {
_txt = tmp4_1;
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1654);
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta1;
_return: OMC_LABEL_UNUSED
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__643(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__643(threadData, _in_txt, tmp1);
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__642(threadData_t *threadData, modelica_metatype _in_txt, modelica_integer _in_a_flag)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta1;
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_integer tmp4_2;
tmp4_1 = _in_txt;
tmp4_2 = _in_a_flag;
{
modelica_metatype _txt = NULL;
volatile mmc_switch_type tmp4;
int tmp5;
tmp4 = 0;
for (; tmp4 < 2; tmp4++) {
switch (MMC_SWITCH_CAST(tmp4)) {
case 0: {
if (1 != tmp4_2) goto tmp3_end;
_txt = tmp4_1;
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1653);
goto tmp3_done;
}
case 1: {
_txt = tmp4_1;
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1654);
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta1;
_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_a_flag)
{
modelica_integer tmp1;
modelica_metatype _out_txt = NULL;
tmp1 = mmc_unbox_integer(_in_a_flag);
_out_txt = omc_CodegenCFunctions_fun__642(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 tmpMeta1;
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_metatype tmp4_2;modelica_integer tmp4_3;
tmp4_1 = _in_txt;
tmp4_2 = _in_a_exp;
tmp4_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 tmp4;
int tmp5;
tmp4 = 0;
for (; tmp4 < 35; 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_flag = tmp4_3;
tmpMeta1 = omc_CodegenCFunctions_fun__629(threadData, _txt, _a_flag);
goto tmp3_done;
}
case 1: {
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,1,1) == 0) goto tmp3_end;
_txt = tmp4_1;
_a_flag = tmp4_3;
tmpMeta1 = omc_CodegenCFunctions_fun__630(threadData, _txt, _a_flag);
goto tmp3_done;
}
case 2: {
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,2,1) == 0) goto tmp3_end;
_txt = tmp4_1;
_a_flag = tmp4_3;
tmpMeta1 = omc_CodegenCFunctions_fun__631(threadData, _txt, _a_flag);
goto tmp3_done;
}
case 3: {
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,3,1) == 0) goto tmp3_end;
_txt = tmp4_1;
_a_flag = tmp4_3;
tmpMeta1 = omc_CodegenCFunctions_fun__632(threadData, _txt, _a_flag);
goto tmp3_done;
}
case 4: {
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,5,2) == 0) goto tmp3_end;
_txt = tmp4_1;
_a_flag = tmp4_3;
tmpMeta1 = omc_CodegenCFunctions_fun__633(threadData, _txt, _a_flag);
goto tmp3_done;
}
case 5: {
modelica_metatype tmpMeta6;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,7,3) == 0) goto tmp3_end;
tmpMeta6 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 3));
_i_e_operator = tmpMeta6;
_txt = tmp4_1;
_a_flag = tmp4_3;
tmpMeta1 = omc_CodegenCFunctions_expTypeFromOpFlag(threadData, _txt, _i_e_operator, _a_flag);
goto tmp3_done;
}
case 6: {
modelica_metatype tmpMeta7;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,8,2) == 0) goto tmp3_end;
tmpMeta7 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
_i_e_operator = tmpMeta7;
_txt = tmp4_1;
_a_flag = tmp4_3;
tmpMeta1 = omc_CodegenCFunctions_expTypeFromOpFlag(threadData, _txt, _i_e_operator, _a_flag);
goto tmp3_done;
}
case 7: {
modelica_metatype tmpMeta8;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,9,3) == 0) goto tmp3_end;
tmpMeta8 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 3));
_i_e_operator = tmpMeta8;
_txt = tmp4_1;
_a_flag = tmp4_3;
tmpMeta1 = omc_CodegenCFunctions_expTypeFromOpFlag(threadData, _txt, _i_e_operator, _a_flag);
goto tmp3_done;
}
case 8: {
modelica_metatype tmpMeta9;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,10,2) == 0) goto tmp3_end;
tmpMeta9 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
_i_e_operator = tmpMeta9;
_txt = tmp4_1;
_a_flag = tmp4_3;
tmpMeta1 = omc_CodegenCFunctions_expTypeFromOpFlag(threadData, _txt, _i_e_operator, _a_flag);
goto tmp3_done;
}
case 9: {
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,11,5) == 0) goto tmp3_end;
_txt = tmp4_1;
_a_flag = tmp4_3;
tmpMeta1 = omc_CodegenCFunctions_fun__634(threadData, _txt, _a_flag);
goto tmp3_done;
}
case 10: {
modelica_metatype tmpMeta10;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,12,3) == 0) goto tmp3_end;
tmpMeta10 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 3));
_i_expThen = tmpMeta10;
_txt = tmp4_1;
_a_flag = tmp4_3;
_in_txt = _txt;
_in_a_exp = _i_expThen;
_in_a_flag = _a_flag;
goto _tailrecursive;
goto tmp3_done;
}
case 11: {
modelica_metatype tmpMeta11;
modelica_metatype tmpMeta12;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,13,3) == 0) goto tmp3_end;
tmpMeta11 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 4));
tmpMeta12 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta11), 2));
_i_attr_ty = tmpMeta12;
_txt = tmp4_1;
_a_flag = tmp4_3;
tmpMeta1 = omc_CodegenCFunctions_expTypeFlag(threadData, _txt, _i_attr_ty, _a_flag);
goto tmp3_done;
}
case 12: {
modelica_metatype tmpMeta13;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,14,4) == 0) goto tmp3_end;
tmpMeta13 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 5));
_i_c_ty = tmpMeta13;
_txt = tmp4_1;
_a_flag = tmp4_3;
tmpMeta1 = omc_CodegenCFunctions_expTypeFlag(threadData, _txt, _i_c_ty, _a_flag);
goto tmp3_done;
}
case 13: {
modelica_metatype tmpMeta14;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,16,3) == 0) goto tmp3_end;
tmpMeta14 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
_i_c_ty = tmpMeta14;
_txt = tmp4_1;
_a_flag = tmp4_3;
tmpMeta1 = omc_CodegenCFunctions_expTypeFlag(threadData, _txt, _i_c_ty, _a_flag);
goto tmp3_done;
}
case 14: {
modelica_metatype tmpMeta15;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,17,3) == 0) goto tmp3_end;
tmpMeta15 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
_i_c_ty = tmpMeta15;
_txt = tmp4_1;
_a_flag = tmp4_3;
tmpMeta1 = omc_CodegenCFunctions_expTypeFlag(threadData, _txt, _i_c_ty, _a_flag);
goto tmp3_done;
}
case 15: {
modelica_metatype tmpMeta16;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,18,4) == 0) goto tmp3_end;
tmpMeta16 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
_i_c_ty = tmpMeta16;
_txt = tmp4_1;
_a_flag = tmp4_3;
tmpMeta1 = omc_CodegenCFunctions_expTypeFlag(threadData, _txt, _i_c_ty, _a_flag);
goto tmp3_done;
}
case 16: {
modelica_metatype tmpMeta17;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,20,2) == 0) goto tmp3_end;
tmpMeta17 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
_i_c_ty = tmpMeta17;
_txt = tmp4_1;
_a_flag = tmp4_3;
tmpMeta1 = omc_CodegenCFunctions_expTypeFlag(threadData, _txt, _i_c_ty, _a_flag);
goto tmp3_done;
}
case 17: {
modelica_metatype tmpMeta18;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,22,3) == 0) goto tmp3_end;
tmpMeta18 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 4));
_i_c_ty = tmpMeta18;
_txt = tmp4_1;
_a_flag = tmp4_3;
tmpMeta1 = omc_CodegenCFunctions_expTypeFlag(threadData, _txt, _i_c_ty, _a_flag);
goto tmp3_done;
}
case 18: {
modelica_metatype tmpMeta19;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,6,2) == 0) goto tmp3_end;
tmpMeta19 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 3));
_i_c_ty = tmpMeta19;
_txt = tmp4_1;
_a_flag = tmp4_3;
tmpMeta1 = omc_CodegenCFunctions_expTypeFlag(threadData, _txt, _i_c_ty, _a_flag);
goto tmp3_done;
}
case 19: {
modelica_metatype tmpMeta20;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,25,2) == 0) goto tmp3_end;
tmpMeta20 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 3));
_i_c_ty = tmpMeta20;
_txt = tmp4_1;
_a_flag = tmp4_3;
tmpMeta1 = omc_CodegenCFunctions_expTypeFlag(threadData, _txt, _i_c_ty, _a_flag);
goto tmp3_done;
}
case 20: {
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,21,2) == 0) goto tmp3_end;
_i_c = tmp4_2;
_txt = tmp4_1;
_a_flag = tmp4_3;
_ret_0 = omc_Expression_typeof(threadData, _i_c);
tmpMeta1 = omc_CodegenCFunctions_expTypeFlag(threadData, _txt, _ret_0, _a_flag);
goto tmp3_done;
}
case 21: {
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,27,3) == 0) goto tmp3_end;
_i_exp = tmp4_2;
_txt = tmp4_1;
_a_flag = tmp4_3;
_ret_1 = omc_Expression_typeof(threadData, _i_exp);
tmpMeta1 = omc_CodegenCFunctions_expTypeFlag(threadData, _txt, _ret_1, _a_flag);
goto tmp3_done;
}
case 22: {
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,29,2) == 0) goto tmp3_end;
_i_e = tmp4_2;
_txt = tmp4_1;
_a_flag = tmp4_3;
_ret_2 = omc_Expression_typeof(threadData, _i_e);
tmpMeta1 = omc_CodegenCFunctions_expTypeFlag(threadData, _txt, _ret_2, _a_flag);
goto tmp3_done;
}
case 23: {
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,28,1) == 0) goto tmp3_end;
_i_e = tmp4_2;
_txt = tmp4_1;
_a_flag = tmp4_3;
_ret_3 = omc_Expression_typeof(threadData, _i_e);
tmpMeta1 = omc_CodegenCFunctions_expTypeFlag(threadData, _txt, _ret_3, _a_flag);
goto tmp3_done;
}
case 24: {
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,24,2) == 0) goto tmp3_end;
_i_e = tmp4_2;
_txt = tmp4_1;
_a_flag = tmp4_3;
_ret_4 = omc_Expression_typeof(threadData, _i_e);
tmpMeta1 = omc_CodegenCFunctions_expTypeFlag(threadData, _txt, _ret_4, _a_flag);
goto tmp3_done;
}
case 25: {
modelica_metatype tmpMeta21;
modelica_integer tmp22;
modelica_metatype tmpMeta23;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,23,4) == 0) goto tmp3_end;
tmpMeta21 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 3));
tmp22 = mmc_unbox_integer(tmpMeta21);
if (-1 != tmp22) goto tmp3_end;
tmpMeta23 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 5));
_i_c_ty = tmpMeta23;
_txt = tmp4_1;
_a_flag = tmp4_3;
tmpMeta1 = omc_CodegenCFunctions_expTypeFlag(threadData, _txt, _i_c_ty, _a_flag);
goto tmp3_done;
}
case 26: {
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,30,1) == 0) goto tmp3_end;
_txt = tmp4_1;
_a_flag = tmp4_3;
tmpMeta1 = omc_CodegenCFunctions_fun__635(threadData, _txt, _a_flag);
goto tmp3_done;
}
case 27: {
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,31,1) == 0) goto tmp3_end;
_txt = tmp4_1;
_a_flag = tmp4_3;
tmpMeta1 = omc_CodegenCFunctions_fun__636(threadData, _txt, _a_flag);
goto tmp3_done;
}
case 28: {
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,33,6) == 0) goto tmp3_end;
_txt = tmp4_1;
_a_flag = tmp4_3;
tmpMeta1 = omc_CodegenCFunctions_fun__637(threadData, _txt, _a_flag);
goto tmp3_done;
}
case 29: {
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,32,5) == 0) goto tmp3_end;
_txt = tmp4_1;
_a_flag = tmp4_3;
tmpMeta1 = omc_CodegenCFunctions_fun__638(threadData, _txt, _a_flag);
goto tmp3_done;
}
case 30: {
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,23,4) == 0) goto tmp3_end;
_txt = tmp4_1;
_a_flag = tmp4_3;
tmpMeta1 = omc_CodegenCFunctions_fun__639(threadData, _txt, _a_flag);
goto tmp3_done;
}
case 31: {
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,34,1) == 0) goto tmp3_end;
_txt = tmp4_1;
_a_flag = tmp4_3;
tmpMeta1 = omc_CodegenCFunctions_fun__640(threadData, _txt, _a_flag);
goto tmp3_done;
}
case 32: {
modelica_metatype tmpMeta24;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,35,2) == 0) goto tmp3_end;
tmpMeta24 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 3));
_i_c_ty = tmpMeta24;
_txt = tmp4_1;
_a_flag = tmp4_3;
tmpMeta1 = omc_CodegenCFunctions_expTypeFlag(threadData, _txt, _i_c_ty, _a_flag);
goto tmp3_done;
}
case 33: {
modelica_metatype tmpMeta25;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,36,2) == 0) goto tmp3_end;
tmpMeta25 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 3));
_i_c_exp = tmpMeta25;
_txt = tmp4_1;
_a_flag = tmp4_3;
_in_txt = _txt;
_in_a_exp = _i_c_exp;
_in_a_flag = _a_flag;
goto _tailrecursive;
goto tmp3_done;
}
case 34: {
_txt = tmp4_1;
_i_exp = tmp4_2;
_a_flag = tmp4_3;
_txt_5 = omc_Tpl_writeTok(threadData, _OMC_LIT20, _OMC_LIT1656);
_txt_5 = omc_Tpl_writeStr(threadData, _txt_5, intString(_a_flag));
_txt_5 = omc_Tpl_writeTok(threadData, _txt_5, _OMC_LIT1658);
_txt_5 = omc_ExpressionDumpTpl_dumpExp(threadData, _txt_5, _i_exp, _OMC_LIT239);
tmpMeta1 = omc_CodegenUtil_error(threadData, _txt, omc_Tpl_sourceInfo(threadData, _OMC_LIT27, ((modelica_integer) 4164), ((modelica_integer) 14)), omc_Tpl_textString(threadData, _txt_5));
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta1;
_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__640(threadData_t *threadData, modelica_metatype _in_txt, modelica_integer _in_a_flag)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta1;
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_integer tmp4_2;
tmp4_1 = _in_txt;
tmp4_2 = _in_a_flag;
{
modelica_metatype _txt = NULL;
volatile mmc_switch_type tmp4;
int tmp5;
tmp4 = 0;
for (; tmp4 < 2; tmp4++) {
switch (MMC_SWITCH_CAST(tmp4)) {
case 0: {
if (1 != tmp4_2) goto tmp3_end;
_txt = tmp4_1;
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1659);
goto tmp3_done;
}
case 1: {
_txt = tmp4_1;
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT621);
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta1;
_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 tmpMeta1;
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_integer tmp4_2;
tmp4_1 = _in_txt;
tmp4_2 = _in_a_flag;
{
modelica_metatype _txt = NULL;
volatile mmc_switch_type tmp4;
int tmp5;
tmp4 = 0;
for (; tmp4 < 2; tmp4++) {
switch (MMC_SWITCH_CAST(tmp4)) {
case 0: {
if (1 != tmp4_2) goto tmp3_end;
_txt = tmp4_1;
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1659);
goto tmp3_done;
}
case 1: {
_txt = tmp4_1;
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT621);
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta1;
_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 tmpMeta1;
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_integer tmp4_2;
tmp4_1 = _in_txt;
tmp4_2 = _in_a_flag;
{
modelica_metatype _txt = NULL;
volatile mmc_switch_type tmp4;
int tmp5;
tmp4 = 0;
for (; tmp4 < 2; tmp4++) {
switch (MMC_SWITCH_CAST(tmp4)) {
case 0: {
if (1 != tmp4_2) goto tmp3_end;
_txt = tmp4_1;
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1659);
goto tmp3_done;
}
case 1: {
_txt = tmp4_1;
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT621);
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta1;
_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;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__637(threadData_t *threadData, modelica_metatype _in_txt, modelica_integer _in_a_flag)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta1;
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_integer tmp4_2;
tmp4_1 = _in_txt;
tmp4_2 = _in_a_flag;
{
modelica_metatype _txt = NULL;
volatile mmc_switch_type tmp4;
int tmp5;
tmp4 = 0;
for (; tmp4 < 2; tmp4++) {
switch (MMC_SWITCH_CAST(tmp4)) {
case 0: {
if (1 != tmp4_2) goto tmp3_end;
_txt = tmp4_1;
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1659);
goto tmp3_done;
}
case 1: {
_txt = tmp4_1;
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT621);
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta1;
_return: OMC_LABEL_UNUSED
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__637(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__637(threadData, _in_txt, 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 tmpMeta1;
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_integer tmp4_2;
tmp4_1 = _in_txt;
tmp4_2 = _in_a_flag;
{
modelica_metatype _txt = NULL;
volatile mmc_switch_type tmp4;
int tmp5;
tmp4 = 0;
for (; tmp4 < 2; tmp4++) {
switch (MMC_SWITCH_CAST(tmp4)) {
case 0: {
if (1 != tmp4_2) goto tmp3_end;
_txt = tmp4_1;
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1659);
goto tmp3_done;
}
case 1: {
_txt = tmp4_1;
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT621);
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta1;
_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 tmpMeta1;
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_integer tmp4_2;
tmp4_1 = _in_txt;
tmp4_2 = _in_a_flag;
{
modelica_metatype _txt = NULL;
volatile mmc_switch_type tmp4;
int tmp5;
tmp4 = 0;
for (; tmp4 < 2; tmp4++) {
switch (MMC_SWITCH_CAST(tmp4)) {
case 0: {
if (1 != tmp4_2) goto tmp3_end;
_txt = tmp4_1;
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1659);
goto tmp3_done;
}
case 1: {
_txt = tmp4_1;
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT621);
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta1;
_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 tmpMeta1;
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_integer tmp4_2;
tmp4_1 = _in_txt;
tmp4_2 = _in_a_flag;
{
modelica_metatype _txt = NULL;
volatile mmc_switch_type tmp4;
int tmp5;
tmp4 = 0;
for (; tmp4 < 2; tmp4++) {
switch (MMC_SWITCH_CAST(tmp4)) {
case 0: {
if (1 != tmp4_2) goto tmp3_end;
_txt = tmp4_1;
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1653);
goto tmp3_done;
}
case 1: {
_txt = tmp4_1;
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1654);
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta1;
_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 tmpMeta1;
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_integer tmp4_2;
tmp4_1 = _in_txt;
tmp4_2 = _in_a_flag;
{
modelica_metatype _txt = NULL;
int tmp4;
{
switch (MMC_SWITCH_CAST(tmp4_2)) {
case 8: {
if (8 != tmp4_2) goto tmp3_end;
_txt = tmp4_1;
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1660);
goto tmp3_done;
}
case 1: {
if (1 != tmp4_2) goto tmp3_end;
_txt = tmp4_1;
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1180);
goto tmp3_done;
}
default:
tmp3_default: OMC_LABEL_UNUSED; {
_txt = tmp4_1;
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1410);
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta1;
_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 tmpMeta1;
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_integer tmp4_2;
tmp4_1 = _in_txt;
tmp4_2 = _in_a_flag;
{
modelica_metatype _txt = NULL;
volatile mmc_switch_type tmp4;
int tmp5;
tmp4 = 0;
for (; tmp4 < 2; tmp4++) {
switch (MMC_SWITCH_CAST(tmp4)) {
case 0: {
if (1 != tmp4_2) goto tmp3_end;
_txt = tmp4_1;
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1653);
goto tmp3_done;
}
case 1: {
_txt = tmp4_1;
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1654);
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta1;
_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 tmpMeta1;
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_integer tmp4_2;
tmp4_1 = _in_txt;
tmp4_2 = _in_a_flag;
{
modelica_metatype _txt = NULL;
volatile mmc_switch_type tmp4;
int tmp5;
tmp4 = 0;
for (; tmp4 < 2; tmp4++) {
switch (MMC_SWITCH_CAST(tmp4)) {
case 0: {
if (1 != tmp4_2) goto tmp3_end;
_txt = tmp4_1;
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1662);
goto tmp3_done;
}
case 1: {
_txt = tmp4_1;
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1663);
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta1;
_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 tmpMeta1;
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_integer tmp4_2;
tmp4_1 = _in_txt;
tmp4_2 = _in_a_flag;
{
modelica_metatype _txt = NULL;
volatile mmc_switch_type tmp4;
int tmp5;
tmp4 = 0;
for (; tmp4 < 2; tmp4++) {
switch (MMC_SWITCH_CAST(tmp4)) {
case 0: {
if (1 != tmp4_2) goto tmp3_end;
_txt = tmp4_1;
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1181);
goto tmp3_done;
}
case 1: {
_txt = tmp4_1;
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1664);
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta1;
_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 tmpMeta1;
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_integer tmp4_2;
tmp4_1 = _in_txt;
tmp4_2 = _in_a_flag;
{
modelica_metatype _txt = NULL;
int tmp4;
{
switch (MMC_SWITCH_CAST(tmp4_2)) {
case 8: {
if (8 != tmp4_2) goto tmp3_end;
_txt = tmp4_1;
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1660);
goto tmp3_done;
}
case 1: {
if (1 != tmp4_2) goto tmp3_end;
_txt = tmp4_1;
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1180);
goto tmp3_done;
}
default:
tmp3_default: OMC_LABEL_UNUSED; {
_txt = tmp4_1;
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1410);
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta1;
_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;
}
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__627(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__627(threadData_t *threadData, modelica_metatype _in_txt, modelica_integer _in_a_flag, modelica_metatype _in_a_ty)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta1;
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_integer tmp4_2;modelica_metatype tmp4_3;
tmp4_1 = _in_txt;
tmp4_2 = _in_a_flag;
tmp4_3 = _in_a_ty;
{
modelica_metatype _txt = NULL;
modelica_metatype _a_ty = NULL;
int tmp4;
{
switch (MMC_SWITCH_CAST(tmp4_2)) {
case 1: {
if (1 != tmp4_2) goto tmp3_end;
_txt = tmp4_1;
_a_ty = tmp4_3;
tmpMeta1 = omc_CodegenCFunctions_expTypeShort(threadData, _txt, _a_ty);
goto tmp3_done;
}
case 2: {
if (2 != tmp4_2) goto tmp3_end;
_txt = tmp4_1;
_a_ty = tmp4_3;
tmpMeta1 = omc_CodegenCFunctions_fun__624(threadData, _txt, _a_ty);
goto tmp3_done;
}
case 3: {
if (3 != tmp4_2) goto tmp3_end;
_txt = tmp4_1;
_a_ty = tmp4_3;
_txt = omc_CodegenCFunctions_expTypeShort(threadData, _txt, _a_ty);
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1152);
goto tmp3_done;
}
case 4: {
if (4 != tmp4_2) goto tmp3_end;
_txt = tmp4_1;
_a_ty = tmp4_3;
tmpMeta1 = omc_CodegenCFunctions_fun__625(threadData, _txt, _a_ty);
goto tmp3_done;
}
case 8: {
if (8 != tmp4_2) goto tmp3_end;
_txt = tmp4_1;
_a_ty = tmp4_3;
tmpMeta1 = omc_CodegenCFunctions_fun__626(threadData, _txt, _a_ty);
goto tmp3_done;
}
default:
tmp3_default: OMC_LABEL_UNUSED; {
_txt = tmp4_1;
tmpMeta1 = _txt;
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta1;
_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_metatype _in_a_ty)
{
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, _in_a_ty);
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__626(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_ty)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta1;
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_metatype tmp4_2;
tmp4_1 = _in_txt;
tmp4_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 tmp4;
{
switch (MMC_SWITCH_CAST(valueConstructor(tmp4_2))) {
case 9: {
modelica_metatype tmpMeta5;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,6,2) == 0) goto tmp3_end;
tmpMeta5 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
_i_ty = tmpMeta5;
_txt = tmp4_1;
_txt = omc_CodegenCFunctions_expTypeFlag(threadData, _txt, _i_ty, ((modelica_integer) 8));
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT265);
goto tmp3_done;
}
case 3: {
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,0,1) == 0) goto tmp3_end;
_txt = tmp4_1;
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1660);
goto tmp3_done;
}
case 6: {
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,3,1) == 0) goto tmp3_end;
_txt = tmp4_1;
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1660);
goto tmp3_done;
}
case 4: {
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,1,1) == 0) goto tmp3_end;
_txt = tmp4_1;
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1666);
goto tmp3_done;
}
case 5: {
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,2,1) == 0) goto tmp3_end;
_txt = tmp4_1;
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1667);
goto tmp3_done;
}
case 13: {
modelica_metatype tmpMeta6;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,10,4) == 0) goto tmp3_end;
tmpMeta6 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 4));
_i_complexType = tmpMeta6;
_txt = tmp4_1;
_txt = omc_CodegenCFunctions_expTypeFlag(threadData, _txt, _i_complexType, ((modelica_integer) 8));
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT265);
goto tmp3_done;
}
default:
tmp3_default: OMC_LABEL_UNUSED; {
_txt = tmp4_1;
_i_ty = tmp4_2;
_txt_0 = omc_Tpl_writeTok(threadData, _OMC_LIT20, _OMC_LIT1669);
_ret_0 = omc_Types_unparseType(threadData, _i_ty);
_txt_0 = omc_Tpl_writeStr(threadData, _txt_0, _ret_0);
tmpMeta1 = omc_CodegenUtil_error(threadData, _txt, omc_Tpl_sourceInfo(threadData, _OMC_LIT27, ((modelica_integer) 4122), ((modelica_integer) 16)), omc_Tpl_textString(threadData, _txt_0));
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta1;
_return: OMC_LABEL_UNUSED
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__625(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_ty)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta1;
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_metatype tmp4_2;
tmp4_1 = _in_txt;
tmp4_2 = _in_a_ty;
{
modelica_metatype _txt = NULL;
modelica_metatype _i_ty = NULL;
volatile mmc_switch_type tmp4;
int tmp5;
tmp4 = 0;
for (; tmp4 < 2; tmp4++) {
switch (MMC_SWITCH_CAST(tmp4)) {
case 0: {
modelica_metatype tmpMeta6;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,6,2) == 0) goto tmp3_end;
tmpMeta6 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
_i_ty = tmpMeta6;
_txt = tmp4_1;
_txt = omc_CodegenCFunctions_expTypeShort(threadData, _txt, _i_ty);
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1152);
goto tmp3_done;
}
case 1: {
_txt = tmp4_1;
_i_ty = tmp4_2;
tmpMeta1 = omc_CodegenCFunctions_expTypeFlag(threadData, _txt, _i_ty, ((modelica_integer) 2));
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta1;
_return: OMC_LABEL_UNUSED
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__624(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_ty)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta1;
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_metatype tmp4_2;
tmp4_1 = _in_txt;
tmp4_2 = _in_a_ty;
{
modelica_metatype _txt = NULL;
modelica_metatype _i_ty = NULL;
volatile mmc_switch_type tmp4;
int tmp5;
tmp4 = 0;
for (; tmp4 < 2; tmp4++) {
switch (MMC_SWITCH_CAST(tmp4)) {
case 0: {
modelica_metatype tmpMeta6;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,9,3) == 0) goto tmp3_end;
tmpMeta6 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta6,17,1) == 0) goto tmp3_end;
_i_ty = tmp4_2;
_txt = tmp4_1;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1671);
tmpMeta1 = omc_CodegenCFunctions_expTypeShort(threadData, _txt, _i_ty);
goto tmp3_done;
}
case 1: {
_txt = tmp4_1;
_i_ty = tmp4_2;
tmpMeta1 = omc_CodegenCFunctions_fun__623(threadData, _txt, _i_ty);
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta1;
_return: OMC_LABEL_UNUSED
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__623(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_ty)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta1;
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_metatype tmp4_2;
tmp4_1 = _in_txt;
tmp4_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 tmp4;
int tmp5;
tmp4 = 0;
for (; tmp4 < 2; tmp4++) {
switch (MMC_SWITCH_CAST(tmp4)) {
case 0: {
modelica_metatype tmpMeta6;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,9,3) == 0) goto tmp3_end;
tmpMeta6 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
_i_complexClassType = tmpMeta6;
_txt = tmp4_1;
_ret_0 = omc_ClassInf_getStateName(threadData, _i_complexClassType);
tmpMeta1 = omc_CodegenUtil_underscorePath(threadData, _txt, _ret_0);
goto tmp3_done;
}
case 1: {
_txt = tmp4_1;
_i_ty = tmp4_2;
tmpMeta1 = omc_CodegenCFunctions_fun__622(threadData, _txt, _i_ty);
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta1;
_return: OMC_LABEL_UNUSED
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 tmpMeta1;
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_metatype tmp4_2;
tmp4_1 = _in_txt;
tmp4_2 = _in_a_ty;
{
modelica_metatype _txt = NULL;
modelica_metatype _i_ty = NULL;
modelica_metatype _i_t = NULL;
volatile mmc_switch_type tmp4;
int tmp5;
tmp4 = 0;
for (; tmp4 < 2; tmp4++) {
switch (MMC_SWITCH_CAST(tmp4)) {
case 0: {
modelica_metatype tmpMeta6;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,6,2) == 0) goto tmp3_end;
tmpMeta6 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta6,9,3) == 0) goto tmp3_end;
_i_t = tmpMeta6;
_txt = tmp4_1;
tmpMeta1 = omc_CodegenCFunctions_expTypeShort(threadData, _txt, _i_t);
goto tmp3_done;
}
case 1: {
_txt = tmp4_1;
_i_ty = tmp4_2;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1671);
tmpMeta1 = omc_CodegenCFunctions_expTypeShort(threadData, _txt, _i_ty);
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta1;
_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__613(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__613(threadData_t *threadData, modelica_metatype _in_txt, modelica_boolean _in_a_array, modelica_metatype _in_a_ty)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta1;
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_a_array;
tmp4_3 = _in_a_ty;
{
modelica_metatype _txt = NULL;
modelica_metatype _a_ty = NULL;
volatile mmc_switch_type tmp4;
int tmp5;
tmp4 = 0;
for (; tmp4 < 3; tmp4++) {
switch (MMC_SWITCH_CAST(tmp4)) {
case 0: {
if (1 != tmp4_2) goto tmp3_end;
_txt = tmp4_1;
_a_ty = tmp4_3;
tmpMeta1 = omc_CodegenCFunctions_expTypeArray(threadData, _txt, _a_ty);
goto tmp3_done;
}
case 1: {
if (0 != tmp4_2) goto tmp3_end;
_txt = tmp4_1;
_a_ty = tmp4_3;
tmpMeta1 = omc_CodegenCFunctions_expTypeModelica(threadData, _txt, _a_ty);
goto tmp3_done;
}
case 2: {
_txt = tmp4_1;
tmpMeta1 = _txt;
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta1;
_return: OMC_LABEL_UNUSED
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__613(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__613(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 tmpMeta1;
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_metatype tmp4_2;
tmp4_1 = _in_txt;
tmp4_2 = _in_a_type;
{
modelica_metatype _txt = NULL;
modelica_metatype _i_type = NULL;
modelica_metatype _txt_0 = 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,1) == 0) goto tmp3_end;
_txt = tmp4_1;
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1180);
goto tmp3_done;
}
case 4: {
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,1,1) == 0) goto tmp3_end;
_txt = tmp4_1;
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1181);
goto tmp3_done;
}
case 5: {
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,2,1) == 0) goto tmp3_end;
_txt = tmp4_1;
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1662);
goto tmp3_done;
}
case 6: {
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,3,1) == 0) goto tmp3_end;
_txt = tmp4_1;
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1180);
goto tmp3_done;
}
case 8: {
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,5,5) == 0) goto tmp3_end;
_txt = tmp4_1;
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1180);
goto tmp3_done;
}
case 9: {
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,6,2) == 0) goto tmp3_end;
_txt = tmp4_1;
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1672);
goto tmp3_done;
}
case 23: {
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,20,5) == 0) goto tmp3_end;
_txt = tmp4_1;
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1659);
goto tmp3_done;
}
case 28: {
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,25,1) == 0) goto tmp3_end;
_txt = tmp4_1;
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1659);
goto tmp3_done;
}
case 20: {
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,17,1) == 0) goto tmp3_end;
_txt = tmp4_1;
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1659);
goto tmp3_done;
}
case 25: {
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,22,1) == 0) goto tmp3_end;
_txt = tmp4_1;
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1659);
goto tmp3_done;
}
case 27: {
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,24,1) == 0) goto tmp3_end;
_txt = tmp4_1;
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1659);
goto tmp3_done;
}
case 22: {
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,19,1) == 0) goto tmp3_end;
_txt = tmp4_1;
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1659);
goto tmp3_done;
}
case 21: {
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,18,1) == 0) goto tmp3_end;
_txt = tmp4_1;
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1659);
goto tmp3_done;
}
case 26: {
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,23,1) == 0) goto tmp3_end;
_txt = tmp4_1;
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1659);
goto tmp3_done;
}
case 15: {
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,12,1) == 0) goto tmp3_end;
_txt = tmp4_1;
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1674);
goto tmp3_done;
}
case 12: {
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,9,3) == 0) goto tmp3_end;
_txt = tmp4_1;
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1659);
goto tmp3_done;
}
default:
tmp3_default: OMC_LABEL_UNUSED; {
_txt = tmp4_1;
_i_type = tmp4_2;
_txt_0 = omc_Tpl_writeTok(threadData, _OMC_LIT20, _OMC_LIT1676);
_ret_0 = omc_Types_unparseType(threadData, _i_type);
_txt_0 = omc_Tpl_writeStr(threadData, _txt_0, _ret_0);
tmpMeta1 = omc_CodegenUtil_error(threadData, _txt, omc_Tpl_sourceInfo(threadData, _OMC_LIT27, ((modelica_integer) 4029), ((modelica_integer) 14)), omc_Tpl_textString(threadData, _txt_0));
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta1;
_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 tmpMeta1;
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_metatype tmp4_2;
tmp4_1 = _in_txt;
tmp4_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 tmp4;
int tmp5;
tmp4 = 0;
for (; tmp4 < 23; 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;
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1180);
goto tmp3_done;
}
case 1: {
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,1,1) == 0) goto tmp3_end;
_txt = tmp4_1;
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1181);
goto tmp3_done;
}
case 2: {
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,2,1) == 0) goto tmp3_end;
_txt = tmp4_1;
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1662);
goto tmp3_done;
}
case 3: {
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,3,1) == 0) goto tmp3_end;
_txt = tmp4_1;
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1653);
goto tmp3_done;
}
case 4: {
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,5,5) == 0) goto tmp3_end;
_txt = tmp4_1;
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1180);
goto tmp3_done;
}
case 5: {
modelica_metatype tmpMeta6;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,10,4) == 0) goto tmp3_end;
tmpMeta6 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 4));
_i_complexType = tmpMeta6;
_txt = tmp4_1;
_in_txt = _txt;
_in_a_type = _i_complexType;
goto _tailrecursive;
goto tmp3_done;
}
case 6: {
modelica_metatype tmpMeta7;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,6,2) == 0) goto tmp3_end;
tmpMeta7 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
_i_ty = tmpMeta7;
_txt = tmp4_1;
_in_txt = _txt;
_in_a_type = _i_ty;
goto _tailrecursive;
goto tmp3_done;
}
case 7: {
modelica_metatype tmpMeta8;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,9,3) == 0) goto tmp3_end;
tmpMeta8 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta8,17,1) == 0) goto tmp3_end;
_txt = tmp4_1;
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1462);
goto tmp3_done;
}
case 8: {
modelica_metatype tmpMeta9;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,9,3) == 0) goto tmp3_end;
tmpMeta9 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
_i_complexClassType = tmpMeta9;
_txt = tmp4_1;
_ret_0 = omc_ClassInf_getStateName(threadData, _i_complexClassType);
tmpMeta1 = omc_CodegenUtil_underscorePath(threadData, _txt, _ret_0);
goto tmp3_done;
}
case 9: {
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,20,5) == 0) goto tmp3_end;
_txt = tmp4_1;
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1659);
goto tmp3_done;
}
case 10: {
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,22,1) == 0) goto tmp3_end;
_txt = tmp4_1;
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1659);
goto tmp3_done;
}
case 11: {
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,17,1) == 0) goto tmp3_end;
_txt = tmp4_1;
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1659);
goto tmp3_done;
}
case 12: {
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,18,1) == 0) goto tmp3_end;
_txt = tmp4_1;
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1659);
goto tmp3_done;
}
case 13: {
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,19,1) == 0) goto tmp3_end;
_txt = tmp4_1;
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1659);
goto tmp3_done;
}
case 14: {
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,24,1) == 0) goto tmp3_end;
_txt = tmp4_1;
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1659);
goto tmp3_done;
}
case 15: {
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,25,1) == 0) goto tmp3_end;
_txt = tmp4_1;
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1659);
goto tmp3_done;
}
case 16: {
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,23,1) == 0) goto tmp3_end;
_txt = tmp4_1;
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1659);
goto tmp3_done;
}
case 17: {
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,11,4) == 0) goto tmp3_end;
_txt = tmp4_1;
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1674);
goto tmp3_done;
}
case 18: {
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,13,2) == 0) goto tmp3_end;
_txt = tmp4_1;
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1674);
goto tmp3_done;
}
case 19: {
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,12,1) == 0) goto tmp3_end;
_txt = tmp4_1;
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1674);
goto tmp3_done;
}
case 20: {
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,8,0) == 0) goto tmp3_end;
_txt = tmp4_1;
_ret_1 = omc_Config_acceptMetaModelicaGrammar(threadData);
tmpMeta1 = omc_CodegenCFunctions_fun__610(threadData, _txt, _ret_1);
goto tmp3_done;
}
case 21: {
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,16,1) == 0) goto tmp3_end;
_txt = tmp4_1;
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1462);
goto tmp3_done;
}
case 22: {
_txt = tmp4_1;
_i_type = tmp4_2;
_txt_2 = omc_Tpl_writeTok(threadData, _OMC_LIT20, _OMC_LIT1678);
_ret_2 = omc_Types_unparseType(threadData, _i_type);
_txt_2 = omc_Tpl_writeStr(threadData, _txt_2, _ret_2);
tmpMeta1 = omc_CodegenUtil_error(threadData, _txt, omc_Tpl_sourceInfo(threadData, _OMC_LIT27, ((modelica_integer) 4006), ((modelica_integer) 14)), omc_Tpl_textString(threadData, _txt_2));
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta1;
_return: OMC_LABEL_UNUSED
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__610(threadData_t *threadData, modelica_metatype _in_txt, modelica_boolean _in_mArg)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta1;
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_boolean tmp4_2;
tmp4_1 = _in_txt;
tmp4_2 = _in_mArg;
{
modelica_metatype _txt = 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;
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1680);
goto tmp3_done;
}
case 1: {
_txt = tmp4_1;
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1682);
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta1;
_return: OMC_LABEL_UNUSED
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__610(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__610(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 tmpMeta1;
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_metatype tmp4_2;
tmp4_1 = _in_txt;
tmp4_2 = _in_a_type;
{
modelica_metatype _txt = NULL;
modelica_metatype _i_ty = NULL;
volatile mmc_switch_type tmp4;
int tmp5;
tmp4 = 0;
for (; tmp4 < 10; 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;
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1684);
goto tmp3_done;
}
case 1: {
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,1,1) == 0) goto tmp3_end;
_txt = tmp4_1;
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1686);
goto tmp3_done;
}
case 2: {
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,2,1) == 0) goto tmp3_end;
_txt = tmp4_1;
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1688);
goto tmp3_done;
}
case 3: {
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,3,1) == 0) goto tmp3_end;
_txt = tmp4_1;
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1690);
goto tmp3_done;
}
case 4: {
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,5,5) == 0) goto tmp3_end;
_txt = tmp4_1;
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1684);
goto tmp3_done;
}
case 5: {
modelica_metatype tmpMeta6;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,6,2) == 0) goto tmp3_end;
tmpMeta6 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
_i_ty = tmpMeta6;
_txt = tmp4_1;
_txt = omc_CodegenCFunctions_expTypeRW(threadData, _txt, _i_ty);
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1692);
goto tmp3_done;
}
case 6: {
modelica_metatype tmpMeta7;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,9,3) == 0) goto tmp3_end;
tmpMeta7 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta7,3,1) == 0) goto tmp3_end;
_txt = tmp4_1;
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1694);
goto tmp3_done;
}
case 7: {
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,25,1) == 0) goto tmp3_end;
_txt = tmp4_1;
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1696);
goto tmp3_done;
}
case 8: {
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,23,1) == 0) goto tmp3_end;
_txt = tmp4_1;
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1696);
goto tmp3_done;
}
case 9: {
_txt = tmp4_1;
tmpMeta1 = _txt;
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta1;
_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 tmpMeta1;
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_cref;
tmp4_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 tmp4;
int tmp5;
tmp4 = 0;
for (; tmp4 < 3; tmp4++) {
switch (MMC_SWITCH_CAST(tmp4)) {
case 0: {
modelica_metatype tmpMeta6;
modelica_metatype tmpMeta7;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,0,4) == 0) goto tmp3_end;
tmpMeta6 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
if (6 != MMC_STRLEN(tmpMeta6) || strcmp(MMC_STRINGDATA(_OMC_LIT1474), MMC_STRINGDATA(tmpMeta6)) != 0) goto tmp3_end;
tmpMeta7 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 5));
_i_componentRef = tmpMeta7;
_txt = tmp4_1;
_a_hashTable = tmp4_3;
_in_txt = _txt;
_in_a_cref = _i_componentRef;
_in_a_hashTable = _a_hashTable;
goto _tailrecursive;
goto tmp3_done;
}
case 1: {
modelica_metatype tmpMeta8;
modelica_metatype tmpMeta9;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,0,4) == 0) goto tmp3_end;
tmpMeta8 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
if (4 != MMC_STRLEN(tmpMeta8) || strcmp(MMC_STRINGDATA(_OMC_LIT1473), MMC_STRINGDATA(tmpMeta8)) != 0) goto tmp3_end;
tmpMeta9 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 5));
_i_componentRef = tmpMeta9;
_txt = tmp4_1;
_a_hashTable = tmp4_3;
_ret_0 = omc_SimCodeUtil_localCref2SimVar(threadData, _i_componentRef, _a_hashTable);
tmpMeta1 = omc_CodegenCFunctions_fun__605(threadData, _txt, _ret_0, _i_componentRef);
goto tmp3_done;
}
case 2: {
_txt = tmp4_1;
_i_cref = tmp4_2;
_a_hashTable = tmp4_3;
_ret_1 = omc_SimCodeUtil_localCref2SimVar(threadData, _i_cref, _a_hashTable);
tmpMeta1 = omc_CodegenCFunctions_fun__607(threadData, _txt, _ret_1, _i_cref);
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta1;
_return: OMC_LABEL_UNUSED
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__607(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_mArg, modelica_metatype _in_a_cref)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta1;
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_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 tmp4;
int tmp5;
tmp4 = 0;
for (; tmp4 < 6; tmp4++) {
switch (MMC_SWITCH_CAST(tmp4)) {
case 0: {
modelica_metatype tmpMeta6;
modelica_integer tmp7;
tmpMeta6 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 7));
tmp7 = mmc_unbox_integer(tmpMeta6);
if (-2 != tmp7) goto tmp3_end;
_txt = tmp4_1;
_a_cref = tmp4_3;
_ret_0 = omc_SimCodeUtil_getSimCode(threadData);
_ret_1 = omc_SimCodeUtil_cref2simvar(threadData, _a_cref, mmc_mk_integer(_ret_0));
tmpMeta1 = omc_CodegenCFunctions_fun__606(threadData, _txt, _ret_1);
goto tmp3_done;
}
case 1: {
modelica_metatype tmpMeta8;
modelica_metatype tmpMeta9;
modelica_metatype tmpMeta10;
modelica_integer tmp11;
tmpMeta8 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
tmpMeta9 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 3));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta9,10,0) == 0) goto tmp3_end;
tmpMeta10 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 7));
tmp11 = mmc_unbox_integer(tmpMeta10);
_i_name = tmpMeta8;
_i_v_name = tmpMeta8;
_i_v_varKind = tmpMeta9;
_i_v_index = tmp11;
_txt = tmp4_1;
_l_c__comment = omc_Tpl_writeTok(threadData, _OMC_LIT20, _OMC_LIT1698);
_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_LIT34);
_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_LIT1700);
_txt = omc_CodegenCFunctions_crefTypeOMSIC(threadData, _txt, _i_name);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT71);
_txt = omc_Tpl_writeStr(threadData, _txt, intString(_i_v_index));
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1702);
tmpMeta1 = omc_Tpl_writeText(threadData, _txt, _l_c__comment);
goto tmp3_done;
}
case 2: {
modelica_metatype tmpMeta12;
modelica_metatype tmpMeta13;
modelica_metatype tmpMeta14;
modelica_integer tmp15;
tmpMeta12 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
tmpMeta13 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 3));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta13,11,0) == 0) goto tmp3_end;
tmpMeta14 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 7));
tmp15 = mmc_unbox_integer(tmpMeta14);
_i_name = tmpMeta12;
_i_v_name = tmpMeta12;
_i_v_varKind = tmpMeta13;
_i_v_index = tmp15;
_txt = tmp4_1;
_l_c__comment = omc_Tpl_writeTok(threadData, _OMC_LIT20, _OMC_LIT1698);
_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_LIT34);
_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_LIT1700);
_txt = omc_CodegenCFunctions_crefTypeOMSIC(threadData, _txt, _i_name);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT71);
_txt = omc_Tpl_writeStr(threadData, _txt, intString(_i_v_index));
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1702);
tmpMeta1 = omc_Tpl_writeText(threadData, _txt, _l_c__comment);
goto tmp3_done;
}
case 3: {
modelica_metatype tmpMeta16;
modelica_metatype tmpMeta17;
modelica_metatype tmpMeta18;
modelica_integer tmp19;
tmpMeta16 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
tmpMeta17 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 3));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta17,12,0) == 0) goto tmp3_end;
tmpMeta18 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 7));
tmp19 = mmc_unbox_integer(tmpMeta18);
_i_name = tmpMeta16;
_i_v_name = tmpMeta16;
_i_v_varKind = tmpMeta17;
_i_v_index = tmp19;
_txt = tmp4_1;
_l_c__comment = omc_Tpl_writeTok(threadData, _OMC_LIT20, _OMC_LIT1698);
_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_LIT34);
_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_LIT1700);
_txt = omc_CodegenCFunctions_crefTypeOMSIC(threadData, _txt, _i_name);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT71);
_txt = omc_Tpl_writeStr(threadData, _txt, intString(_i_v_index));
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1702);
tmpMeta1 = omc_Tpl_writeText(threadData, _txt, _l_c__comment);
goto tmp3_done;
}
case 4: {
modelica_metatype tmpMeta20;
modelica_metatype tmpMeta21;
tmpMeta20 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
tmpMeta21 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 3));
_txt = tmp4_1;
_i_v = tmp4_2;
_i_name = tmpMeta20;
_i_v_name = tmpMeta20;
_i_v_varKind = tmpMeta21;
_l_c__comment = omc_Tpl_writeTok(threadData, _OMC_LIT20, _OMC_LIT1698);
_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_LIT34);
_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_LIT69);
_txt = omc_CodegenCFunctions_crefTypeOMSIC(threadData, _txt, _i_name);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT71);
_txt = omc_Tpl_writeText(threadData, _txt, _l_index);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1702);
tmpMeta1 = omc_Tpl_writeText(threadData, _txt, _l_c__comment);
goto tmp3_done;
}
case 5: {
_txt = tmp4_1;
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1466);
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta1;
_return: OMC_LABEL_UNUSED
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__606(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_mArg)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta1;
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_metatype tmp4_2;
tmp4_1 = _in_txt;
tmp4_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 tmp4;
int tmp5;
tmp4 = 0;
for (; tmp4 < 2; tmp4++) {
switch (MMC_SWITCH_CAST(tmp4)) {
case 0: {
modelica_metatype tmpMeta6;
modelica_metatype tmpMeta7;
tmpMeta6 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
tmpMeta7 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 3));
_txt = tmp4_1;
_i_v = tmp4_2;
_i_name = tmpMeta6;
_i_v_name = tmpMeta6;
_i_varKind = tmpMeta7;
_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_LIT1698);
_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_LIT34);
_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_LIT1704);
_txt = omc_CodegenCFunctions_crefTypeOMSIC(threadData, _txt, _i_name);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT71);
_txt = omc_Tpl_writeText(threadData, _txt, _l_index);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1702);
tmpMeta1 = omc_Tpl_writeText(threadData, _txt, _l_c__comment);
goto tmp3_done;
}
case 1: {
_txt = tmp4_1;
tmpMeta1 = _txt;
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta1;
_return: OMC_LABEL_UNUSED
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__605(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_mArg, modelica_metatype _in_a_componentRef)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta1;
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_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 tmp4;
int tmp5;
tmp4 = 0;
for (; tmp4 < 3; tmp4++) {
switch (MMC_SWITCH_CAST(tmp4)) {
case 0: {
modelica_metatype tmpMeta6;
modelica_integer tmp7;
tmpMeta6 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 7));
tmp7 = mmc_unbox_integer(tmpMeta6);
if (-2 != tmp7) goto tmp3_end;
_txt = tmp4_1;
_a_componentRef = tmp4_3;
_ret_0 = omc_SimCodeUtil_getSimCode(threadData);
_ret_1 = omc_SimCodeUtil_cref2simvar(threadData, _a_componentRef, mmc_mk_integer(_ret_0));
tmpMeta1 = omc_CodegenCFunctions_fun__604(threadData, _txt, _ret_1);
goto tmp3_done;
}
case 1: {
modelica_metatype tmpMeta8;
modelica_metatype tmpMeta9;
tmpMeta8 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
tmpMeta9 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 3));
_txt = tmp4_1;
_i_v = tmp4_2;
_i_name = tmpMeta8;
_i_v_name = tmpMeta8;
_i_v_varKind = tmpMeta9;
_l_c__comment = omc_Tpl_writeTok(threadData, _OMC_LIT20, _OMC_LIT1698);
_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_LIT34);
_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_LIT73);
_txt = omc_CodegenCFunctions_crefTypeOMSIC(threadData, _txt, _i_name);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT71);
_txt = omc_Tpl_writeText(threadData, _txt, _l_index);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1702);
tmpMeta1 = omc_Tpl_writeText(threadData, _txt, _l_c__comment);
goto tmp3_done;
}
case 2: {
_txt = tmp4_1;
tmpMeta1 = _txt;
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta1;
_return: OMC_LABEL_UNUSED
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__604(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_mArg)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta1;
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_metatype tmp4_2;
tmp4_1 = _in_txt;
tmp4_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 tmp4;
int tmp5;
tmp4 = 0;
for (; tmp4 < 2; tmp4++) {
switch (MMC_SWITCH_CAST(tmp4)) {
case 0: {
modelica_metatype tmpMeta6;
modelica_metatype tmpMeta7;
tmpMeta6 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
tmpMeta7 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 3));
_txt = tmp4_1;
_i_v = tmp4_2;
_i_name = tmpMeta6;
_i_v_name = tmpMeta6;
_i_v_varKind = tmpMeta7;
_l_c__comment = omc_Tpl_writeTok(threadData, _OMC_LIT20, _OMC_LIT1698);
_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_LIT34);
_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_LIT73);
_txt = omc_CodegenCFunctions_crefTypeOMSIC(threadData, _txt, _i_name);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT71);
_txt = omc_Tpl_writeText(threadData, _txt, _l_index);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1702);
_txt = omc_Tpl_writeText(threadData, _txt, _l_c__comment);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1706);
_txt_5 = omc_CodegenUtil_crefStrNoUnderscore(threadData, _OMC_LIT20, _i_v_name);
_txt = omc_CodegenUtil_escapeCComments(threadData, _txt, omc_Tpl_textString(threadData, _txt_5));
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1708);
goto tmp3_done;
}
case 1: {
_txt = tmp4_1;
tmpMeta1 = _txt;
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta1;
_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 tmpMeta1;
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_cref;
tmp4_3 = _in_a_context;
{
modelica_metatype _txt = NULL;
modelica_metatype _a_context = NULL;
modelica_metatype _i_cref = NULL;
volatile mmc_switch_type tmp4;
int tmp5;
tmp4 = 0;
for (; tmp4 < 2; tmp4++) {
switch (MMC_SWITCH_CAST(tmp4)) {
case 0: {
modelica_metatype tmpMeta6;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,1,3) == 0) goto tmp3_end;
tmpMeta6 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
if (4 != MMC_STRLEN(tmpMeta6) || strcmp(MMC_STRINGDATA(_OMC_LIT1471), MMC_STRINGDATA(tmpMeta6)) != 0) goto tmp3_end;
_txt = tmp4_1;
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1710);
goto tmp3_done;
}
case 1: {
_txt = tmp4_1;
_i_cref = tmp4_2;
_a_context = tmp4_3;
tmpMeta1 = omc_CodegenCFunctions_fun__602(threadData, _txt, _a_context, _i_cref);
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta1;
_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_a_context, modelica_metatype _in_a_cref)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta1;
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_context;
tmp4_3 = _in_a_cref;
{
modelica_metatype _txt = NULL;
modelica_metatype _a_cref = NULL;
modelica_metatype _i_hashTable = NULL;
volatile mmc_switch_type tmp4;
int tmp5;
tmp4 = 0;
for (; tmp4 < 3; tmp4++) {
switch (MMC_SWITCH_CAST(tmp4)) {
case 0: {
modelica_metatype tmpMeta6;
modelica_metatype tmpMeta7;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,9,1) == 0) goto tmp3_end;
tmpMeta6 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
if (optionNone(tmpMeta6)) goto tmp3_end;
tmpMeta7 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta6), 1));
_i_hashTable = tmpMeta7;
_txt = tmp4_1;
_a_cref = tmp4_3;
tmpMeta1 = omc_CodegenCFunctions_crefToOMSICStr(threadData, _txt, _a_cref, _i_hashTable);
goto tmp3_done;
}
case 1: {
modelica_metatype tmpMeta8;
modelica_metatype tmpMeta9;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,3,1) == 0) goto tmp3_end;
tmpMeta8 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
if (optionNone(tmpMeta8)) goto tmp3_end;
tmpMeta9 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta8), 1));
_i_hashTable = tmpMeta9;
_txt = tmp4_1;
_a_cref = tmp4_3;
tmpMeta1 = omc_CodegenCFunctions_crefToOMSICStr(threadData, _txt, _a_cref, _i_hashTable);
goto tmp3_done;
}
case 2: {
_txt = tmp4_1;
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1712);
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta1;
_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 tmpMeta1;
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_metatype tmp4_2;
tmp4_1 = _in_txt;
tmp4_2 = _in_a_var;
{
modelica_metatype _txt = 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;
_txt = tmp4_1;
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT621);
goto tmp3_done;
}
case 4: {
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,1,4) == 0) goto tmp3_end;
_txt = tmp4_1;
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1714);
goto tmp3_done;
}
default:
tmp3_default: OMC_LABEL_UNUSED; {
_txt = tmp4_1;
tmpMeta1 = _txt;
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta1;
_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 tmpMeta1;
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_metatype tmp4_2;
tmp4_1 = _in_txt;
tmp4_2 = _in_a_var;
{
modelica_metatype _txt = NULL;
modelica_metatype _i_var_ty = NULL;
modelica_metatype _i_instDims = NULL;
volatile mmc_switch_type tmp4;
int tmp5;
tmp4 = 0;
for (; tmp4 < 6; tmp4++) {
switch (MMC_SWITCH_CAST(tmp4)) {
case 0: {
modelica_metatype tmpMeta6;
modelica_metatype tmpMeta7;
modelica_metatype tmpMeta8;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,0,7) == 0) goto tmp3_end;
tmpMeta6 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 3));
tmpMeta7 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 5));
tmpMeta8 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 6));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta8,2,0) == 0) goto tmp3_end;
_i_var_ty = tmpMeta6;
_i_instDims = tmpMeta7;
_txt = tmp4_1;
tmpMeta1 = omc_CodegenCFunctions_fun__597(threadData, _txt, _i_instDims, _i_var_ty);
goto tmp3_done;
}
case 1: {
modelica_metatype tmpMeta9;
modelica_metatype tmpMeta10;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,0,7) == 0) goto tmp3_end;
tmpMeta9 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 3));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta9,6,2) == 0) goto tmp3_end;
tmpMeta10 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 6));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta10,0,0) == 0) goto tmp3_end;
_i_var_ty = tmpMeta9;
_txt = tmp4_1;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1716);
tmpMeta1 = omc_CodegenCFunctions_expTypeArray(threadData, _txt, _i_var_ty);
goto tmp3_done;
}
case 2: {
modelica_metatype tmpMeta11;
modelica_metatype tmpMeta12;
modelica_metatype tmpMeta13;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,0,7) == 0) goto tmp3_end;
tmpMeta11 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 3));
tmpMeta12 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 5));
tmpMeta13 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 6));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta13,0,0) == 0) goto tmp3_end;
_i_var_ty = tmpMeta11;
_i_instDims = tmpMeta12;
_txt = tmp4_1;
tmpMeta1 = omc_CodegenCFunctions_fun__598(threadData, _txt, _i_instDims, _i_var_ty);
goto tmp3_done;
}
case 3: {
modelica_metatype tmpMeta14;
modelica_metatype tmpMeta15;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,0,7) == 0) goto tmp3_end;
tmpMeta14 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 3));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta14,6,2) == 0) goto tmp3_end;
tmpMeta15 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 6));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta15,1,0) == 0) goto tmp3_end;
_i_var_ty = tmpMeta14;
_txt = tmp4_1;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1718);
tmpMeta1 = omc_CodegenCFunctions_expTypeArray(threadData, _txt, _i_var_ty);
goto tmp3_done;
}
case 4: {
modelica_metatype tmpMeta16;
modelica_metatype tmpMeta17;
modelica_metatype tmpMeta18;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,0,7) == 0) goto tmp3_end;
tmpMeta16 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 3));
tmpMeta17 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 5));
tmpMeta18 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 6));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta18,1,0) == 0) goto tmp3_end;
_i_var_ty = tmpMeta16;
_i_instDims = tmpMeta17;
_txt = tmp4_1;
tmpMeta1 = omc_CodegenCFunctions_fun__599(threadData, _txt, _i_instDims, _i_var_ty);
goto tmp3_done;
}
case 5: {
_txt = tmp4_1;
tmpMeta1 = _txt;
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta1;
_return: OMC_LABEL_UNUSED
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__599(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 tmpMeta1;
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_instDims;
tmp4_3 = _in_a_var_ty;
{
modelica_metatype _txt = NULL;
modelica_metatype _a_var_ty = 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_ty = tmp4_3;
tmpMeta1 = omc_CodegenCFunctions_expTypeArrayIf(threadData, _txt, _a_var_ty);
goto tmp3_done;
}
case 1: {
_txt = tmp4_1;
_a_var_ty = tmp4_3;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1718);
tmpMeta1 = omc_CodegenCFunctions_expTypeArray(threadData, _txt, _a_var_ty);
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta1;
_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_instDims, modelica_metatype _in_a_var_ty)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta1;
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_instDims;
tmp4_3 = _in_a_var_ty;
{
modelica_metatype _txt = NULL;
modelica_metatype _a_var_ty = 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_ty = tmp4_3;
tmpMeta1 = omc_CodegenCFunctions_expTypeArrayIf(threadData, _txt, _a_var_ty);
goto tmp3_done;
}
case 1: {
_txt = tmp4_1;
_a_var_ty = tmp4_3;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1716);
tmpMeta1 = omc_CodegenCFunctions_expTypeArray(threadData, _txt, _a_var_ty);
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta1;
_return: OMC_LABEL_UNUSED
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__597(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 tmpMeta1;
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_instDims;
tmp4_3 = _in_a_var_ty;
{
modelica_metatype _txt = NULL;
modelica_metatype _a_var_ty = 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_ty = tmp4_3;
tmpMeta1 = omc_CodegenCFunctions_expTypeArrayIf(threadData, _txt, _a_var_ty);
goto tmp3_done;
}
case 1: {
_txt = tmp4_1;
_a_var_ty = tmp4_3;
tmpMeta1 = omc_CodegenCFunctions_expTypeArray(threadData, _txt, _a_var_ty);
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta1;
_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 tmpMeta1;
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_metatype tmp4_2;
tmp4_1 = _in_txt;
tmp4_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 tmp4;
{
switch (MMC_SWITCH_CAST(valueConstructor(tmp4_2))) {
case 3: {
modelica_metatype tmpMeta5;
modelica_integer tmp6;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,0,1) == 0) goto tmp3_end;
tmpMeta5 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
tmp6 = mmc_unbox_integer(tmpMeta5);
_i_integer = tmp6;
_txt = tmp4_1;
tmpMeta1 = omc_Tpl_writeStr(threadData, _txt, intString(_i_integer));
goto tmp3_done;
}
case 6: {
modelica_metatype tmpMeta7;
modelica_integer tmp8;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,3,1) == 0) goto tmp3_end;
tmpMeta7 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
tmp8 = mmc_unbox_integer(tmpMeta7);
_i_lit_bool = tmp8;
_txt = tmp4_1;
tmpMeta1 = omc_CodegenCFunctions_boolStrC(threadData, _txt, _i_lit_bool);
goto tmp3_done;
}
case 4: {
modelica_metatype tmpMeta9;
modelica_real tmp10;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,1,1) == 0) goto tmp3_end;
tmpMeta9 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
tmp10 = mmc_unbox_real(tmpMeta9);
_i_real = tmp10;
_txt = tmp4_1;
tmpMeta1 = omc_Tpl_writeStr(threadData, _txt, realString(_i_real));
goto tmp3_done;
}
case 8: {
modelica_metatype tmpMeta11;
modelica_integer tmp12;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,5,2) == 0) goto tmp3_end;
tmpMeta11 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 3));
tmp12 = mmc_unbox_integer(tmpMeta11);
_i_index = tmp12;
_txt = tmp4_1;
tmpMeta1 = omc_Tpl_writeStr(threadData, _txt, intString(_i_index));
goto tmp3_done;
}
case 39: {
modelica_metatype tmpMeta13;
modelica_integer tmp14;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,36,2) == 0) goto tmp3_end;
tmpMeta13 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
tmp14 = mmc_unbox_integer(tmpMeta13);
_i_lit_index = tmp14;
_txt = tmp4_1;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT83);
tmpMeta1 = omc_Tpl_writeStr(threadData, _txt, intString(_i_lit_index));
goto tmp3_done;
}
default:
tmp3_default: OMC_LABEL_UNUSED; {
_txt = tmp4_1;
_i_lit = tmp4_2;
_txt_0 = omc_Tpl_writeTok(threadData, _OMC_LIT20, _OMC_LIT1720);
_txt_0 = omc_ExpressionDumpTpl_dumpExp(threadData, _txt_0, _i_lit, _OMC_LIT239);
tmpMeta1 = omc_CodegenUtil_error(threadData, _txt, omc_Tpl_sourceInfo(threadData, _OMC_LIT27, ((modelica_integer) 3840), ((modelica_integer) 16)), omc_Tpl_textString(threadData, _txt_0));
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta1;
_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[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_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_metatype tmpMeta5;
modelica_real tmp6;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,1,1) == 0) goto tmp3_end;
tmpMeta5 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
tmp6 = mmc_unbox_real(tmpMeta5);
_i_lit_real = tmp6;
_txt = tmp4_1;
_a_index = tmp4_3;
_l_tmp = omc_Tpl_writeTok(threadData, _OMC_LIT20, _OMC_LIT1722);
_l_tmp = omc_Tpl_writeText(threadData, _l_tmp, _a_index);
_l_name = omc_Tpl_writeTok(threadData, _OMC_LIT20, _OMC_LIT83);
_l_name = omc_Tpl_writeText(threadData, _l_name, _a_index);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1724);
_txt = omc_Tpl_writeText(threadData, _txt, _l_tmp);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT234);
_txt = omc_Tpl_writeStr(threadData, _txt, realString(_i_lit_real));
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1728);
_txt = omc_Tpl_writeText(threadData, _txt, _l_name);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1730);
_txt = omc_Tpl_writeText(threadData, _txt, _l_tmp);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT87);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT98);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_index;
goto tmp3_done;
}
case 37: {
modelica_metatype tmpMeta7;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,34,1) == 0) goto tmp3_end;
tmpMeta7 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
_i_lit_exp = tmpMeta7;
_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_LIT83);
_l_name = omc_Tpl_writeText(threadData, _l_name, _a_index);
_out_txt = omc_CodegenCFunctions_fun__593(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__593(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[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_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_metatype tmpMeta6;
modelica_integer tmp7;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,0,1) == 0) goto tmp3_end;
tmpMeta6 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
tmp7 = mmc_unbox_integer(tmpMeta6);
_i_integer = tmp7;
_txt = tmp4_1;
_a_index = tmp4_3;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1732);
_txt = omc_Tpl_writeStr(threadData, _txt, intString(_i_integer));
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT610);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_index;
goto tmp3_done;
}
case 1: {
modelica_metatype tmpMeta8;
modelica_integer tmp9;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,5,2) == 0) goto tmp3_end;
tmpMeta8 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 3));
tmp9 = mmc_unbox_integer(tmpMeta8);
_i_index = tmp9;
_txt = tmp4_1;
_a_index = tmp4_3;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1732);
_txt = omc_Tpl_writeStr(threadData, _txt, intString(_i_index));
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT610);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_index;
goto tmp3_done;
}
case 2: {
modelica_metatype tmpMeta10;
modelica_integer tmp11;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,3,1) == 0) goto tmp3_end;
tmpMeta10 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
tmp11 = mmc_unbox_integer(tmpMeta10);
_i_lit_bool = tmp11;
_txt = tmp4_1;
_a_index = tmp4_3;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1732);
_txt = omc_CodegenCFunctions_boolStrC(threadData, _txt, _i_lit_bool);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT610);
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: {
modelica_metatype tmpMeta12;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,28,1) == 0) goto tmp3_end;
tmpMeta12 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
if (!listEmpty(tmpMeta12)) goto tmp3_end;
_txt = tmp4_1;
_a_index = tmp4_3;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1386);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_index;
goto tmp3_done;
}
case 5: {
modelica_metatype tmpMeta13;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,31,1) == 0) goto tmp3_end;
tmpMeta13 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
if (!optionNone(tmpMeta13)) goto tmp3_end;
_txt = tmp4_1;
_a_index = tmp4_3;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1734);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_index;
goto tmp3_done;
}
case 6: {
modelica_metatype tmpMeta14;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,34,1) == 0) goto tmp3_end;
tmpMeta14 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
_i_lit_exp = tmpMeta14;
_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_metatype tmpMeta15;
modelica_integer tmp16;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,36,2) == 0) goto tmp3_end;
tmpMeta15 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
tmp16 = mmc_unbox_integer(tmpMeta15);
_i_lit_index = tmp16;
_txt = tmp4_1;
_a_index = tmp4_3;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT83);
_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_LIT1736);
_txt_0 = omc_ExpressionDumpTpl_dumpExp(threadData, _txt_0, _i_lit, _OMC_LIT239);
_txt = omc_CodegenUtil_error(threadData, _txt, omc_Tpl_sourceInfo(threadData, _OMC_LIT27, ((modelica_integer) 3816), ((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_LIT83);
_l_name = omc_Tpl_writeStr(threadData, _l_name, intString(_a_litindex));
_l_tmp = omc_Tpl_writeTok(threadData, _OMC_LIT20, _OMC_LIT1722);
_l_tmp = omc_Tpl_writeStr(threadData, _l_tmp, intString(_a_litindex));
_l_meta = omc_Tpl_writeTok(threadData, _OMC_LIT20, _OMC_LIT1738);
_l_meta = omc_Tpl_writeText(threadData, _l_meta, _l_name);
_out_txt = omc_CodegenCFunctions_fun__591(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__591(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 tmpMeta1;
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;
tmp4_1 = _in_txt;
tmp4_2 = _in_a_lit;
tmp4_3 = _in_a_litindex;
tmp4_4 = _in_a_meta;
tmp4_5 = _in_a_tmp;
tmp4_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 tmp4;
int tmp5;
tmp4 = 0;
for (; tmp4 < 13; tmp4++) {
switch (MMC_SWITCH_CAST(tmp4)) {
case 0: {
modelica_metatype tmpMeta6;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,2,1) == 0) goto tmp3_end;
tmpMeta6 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
_i_string = tmpMeta6;
_txt = tmp4_1;
_a_tmp = tmp4_5;
_a_name = tmp4_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_LIT1739);
_txt = omc_Tpl_writeText(threadData, _txt, _a_name);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1741);
_txt = omc_Tpl_writeText(threadData, _txt, _l_escstr);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1745);
_txt = omc_Tpl_writeText(threadData, _txt, _a_tmp);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT234);
_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_LIT234);
_txt = omc_Tpl_writeText(threadData, _txt, _a_name);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1748);
_txt = omc_Tpl_writeText(threadData, _txt, _a_name);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1750);
_txt = omc_Tpl_writeText(threadData, _txt, _a_tmp);
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT87);
goto tmp3_done;
}
case 1: {
modelica_metatype tmpMeta7;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,17,3) == 0) goto tmp3_end;
tmpMeta7 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta7,6,2) == 0) goto tmp3_end;
_i_lit = tmp4_2;
_i_ty = tmpMeta7;
_txt = tmp4_1;
_a_name = tmp4_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_LIT303);
_l_dims = omc_CodegenCFunctions_lm__575(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_LIT303);
_l_data = omc_CodegenCFunctions_lm__576(threadData, _l_data, _ret_10);
_l_data = omc_Tpl_popIter(threadData, _l_data);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1752);
_txt = omc_Tpl_writeText(threadData, _txt, _a_name);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1754);
_txt = omc_Tpl_writeText(threadData, _txt, _l_ndim);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1428);
_txt = omc_Tpl_writeText(threadData, _txt, _l_dims);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1570);
_str_11 = omc_Tpl_textString(threadData, _l_data);
tmpMeta1 = omc_CodegenCFunctions_fun__577(threadData, _txt, _str_11, _l_data, _l_sty, _l_ndim, _a_name);
goto tmp3_done;
}
case 2: {
modelica_metatype tmpMeta8;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,16,3) == 0) goto tmp3_end;
tmpMeta8 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta8,6,2) == 0) goto tmp3_end;
_i_lit = tmp4_2;
_i_ty = tmpMeta8;
_txt = tmp4_1;
_a_name = tmp4_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_LIT303);
_l_dims = omc_CodegenCFunctions_lm__578(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_LIT303);
_l_data = omc_CodegenCFunctions_lm__579(threadData, _l_data, _ret_15);
_l_data = omc_Tpl_popIter(threadData, _l_data);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1752);
_txt = omc_Tpl_writeText(threadData, _txt, _a_name);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1754);
_txt = omc_Tpl_writeText(threadData, _txt, _l_ndim);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1428);
_txt = omc_Tpl_writeText(threadData, _txt, _l_dims);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1570);
_str_16 = omc_Tpl_textString(threadData, _l_data);
tmpMeta1 = omc_CodegenCFunctions_fun__580(threadData, _txt, _str_16, _l_data, _l_sty, _l_ndim, _a_name);
goto tmp3_done;
}
case 3: {
modelica_metatype tmpMeta9;
modelica_metatype tmpMeta10;
modelica_integer tmp11;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,34,1) == 0) goto tmp3_end;
tmpMeta9 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta9,0,1) == 0) goto tmp3_end;
tmpMeta10 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta9), 2));
tmp11 = mmc_unbox_integer(tmpMeta10);
_i_exp_integer = tmp11;
_txt = tmp4_1;
_a_meta = tmp4_4;
_txt = omc_Tpl_writeText(threadData, _txt, _a_meta);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1756);
_txt = omc_Tpl_writeStr(threadData, _txt, intString(_i_exp_integer));
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT842);
goto tmp3_done;
}
case 4: {
modelica_metatype tmpMeta12;
modelica_metatype tmpMeta13;
modelica_integer tmp14;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,34,1) == 0) goto tmp3_end;
tmpMeta12 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta12,3,1) == 0) goto tmp3_end;
tmpMeta13 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta12), 2));
tmp14 = mmc_unbox_integer(tmpMeta13);
_i_exp_bool = tmp14;
_txt = tmp4_1;
_a_meta = tmp4_4;
_txt = omc_Tpl_writeText(threadData, _txt, _a_meta);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1756);
_txt = omc_CodegenCFunctions_boolStrC(threadData, _txt, _i_exp_bool);
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT842);
goto tmp3_done;
}
case 5: {
modelica_metatype tmpMeta15;
modelica_metatype tmpMeta16;
modelica_real tmp17;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,34,1) == 0) goto tmp3_end;
tmpMeta15 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta15,1,1) == 0) goto tmp3_end;
tmpMeta16 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta15), 2));
tmp17 = mmc_unbox_real(tmpMeta16);
_i_exp_real = tmp17;
_txt = tmp4_1;
_a_tmp = tmp4_5;
_a_name = tmp4_6;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1724);
_txt = omc_Tpl_writeText(threadData, _txt, _a_tmp);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT234);
_txt = omc_Tpl_writeStr(threadData, _txt, realString(_i_exp_real));
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1728);
_txt = omc_Tpl_writeText(threadData, _txt, _a_name);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1730);
_txt = omc_Tpl_writeText(threadData, _txt, _a_tmp);
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT87);
goto tmp3_done;
}
case 6: {
modelica_metatype tmpMeta18;
modelica_metatype tmpMeta19;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,29,2) == 0) goto tmp3_end;
tmpMeta18 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
tmpMeta19 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 3));
_i_car = tmpMeta18;
_i_cdr = tmpMeta19;
_txt = tmp4_1;
_a_litindex = tmp4_3;
_a_tmp = tmp4_5;
_a_name = tmp4_6;
_txt_17 = omc_Tpl_writeStr(threadData, _OMC_LIT20, intString(_a_litindex));
_txt_17 = omc_Tpl_writeTok(threadData, _txt_17, _OMC_LIT1758);
_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_LIT1760);
_txt = omc_CodegenCFunctions_literalExpConstBoxedValPreLit(threadData, _txt, _i_cdr, _txt_18 ,&_txt_18);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1762);
_txt = omc_Tpl_writeText(threadData, _txt, _a_tmp);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1764);
_txt_19 = omc_Tpl_writeStr(threadData, _OMC_LIT20, intString(_a_litindex));
_txt_19 = omc_Tpl_writeTok(threadData, _txt_19, _OMC_LIT1758);
_txt = omc_CodegenCFunctions_literalExpConstBoxedVal(threadData, _txt, _i_car, _txt_19 ,&_txt_19);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT234);
_txt_20 = omc_Tpl_writeStr(threadData, _OMC_LIT20, intString(_a_litindex));
_txt_20 = omc_Tpl_writeTok(threadData, _txt_20, _OMC_LIT1760);
_txt = omc_CodegenCFunctions_literalExpConstBoxedVal(threadData, _txt, _i_cdr, _txt_20 ,&_txt_20);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1767);
_txt = omc_Tpl_writeText(threadData, _txt, _a_name);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1769);
_txt = omc_Tpl_writeText(threadData, _txt, _a_tmp);
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT87);
goto tmp3_done;
}
case 7: {
modelica_metatype tmpMeta20;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,28,1) == 0) goto tmp3_end;
tmpMeta20 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
_i_valList = tmpMeta20;
_txt = tmp4_1;
_a_tmp = tmp4_5;
_a_name = tmp4_6;
_ret_22 = listReverse(_i_valList);
_l_x = omc_Tpl_pushIter(threadData, _OMC_LIT20, _OMC_LIT126);
_l_x = omc_CodegenCFunctions_lm__582(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_LIT1739);
_txt = omc_Tpl_writeText(threadData, _txt, _a_name);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1769);
_txt = omc_Tpl_writeText(threadData, _txt, _a_tmp);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1771);
_ret_23 = listLength(_i_valList);
_txt = omc_Tpl_writeStr(threadData, _txt, intString(_ret_23));
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT87);
goto tmp3_done;
}
case 8: {
modelica_metatype tmpMeta21;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,30,1) == 0) goto tmp3_end;
tmpMeta21 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
_i_listExp = tmpMeta21;
_txt = tmp4_1;
_a_litindex = tmp4_3;
_a_tmp = tmp4_5;
_a_name = tmp4_6;
_txt = omc_Tpl_pushIter(threadData, _txt, _OMC_LIT102);
_txt = omc_CodegenCFunctions_lm__583(threadData, _txt, _i_listExp, _a_litindex);
_txt = omc_Tpl_popIter(threadData, _txt);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1773);
_ret_24 = listEmpty(_i_listExp);
_txt = omc_CodegenCFunctions_fun__584(threadData, _txt, _ret_24, _i_listExp, _a_tmp);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1775);
_txt = omc_Tpl_pushIter(threadData, _txt, _OMC_LIT1777);
_txt = omc_CodegenCFunctions_lm__585(threadData, _txt, _i_listExp, _a_litindex);
_txt = omc_Tpl_popIter(threadData, _txt);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1767);
_txt = omc_Tpl_writeText(threadData, _txt, _a_name);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1769);
_txt = omc_Tpl_writeText(threadData, _txt, _a_tmp);
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT87);
goto tmp3_done;
}
case 9: {
modelica_metatype tmpMeta22;
modelica_metatype tmpMeta23;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,31,1) == 0) goto tmp3_end;
tmpMeta22 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
if (optionNone(tmpMeta22)) goto tmp3_end;
tmpMeta23 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta22), 1));
_i_exp = tmpMeta23;
_txt = tmp4_1;
_a_litindex = tmp4_3;
_a_tmp = tmp4_5;
_a_name = tmp4_6;
_txt_25 = omc_Tpl_writeStr(threadData, _OMC_LIT20, intString(_a_litindex));
_txt_25 = omc_Tpl_writeTok(threadData, _txt_25, _OMC_LIT1779);
_txt = omc_CodegenCFunctions_literalExpConstBoxedValPreLit(threadData, _txt, _i_exp, _txt_25 ,&_txt_25);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1762);
_txt = omc_Tpl_writeText(threadData, _txt, _a_tmp);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1781);
_txt_26 = omc_Tpl_writeStr(threadData, _OMC_LIT20, intString(_a_litindex));
_txt_26 = omc_Tpl_writeTok(threadData, _txt_26, _OMC_LIT1779);
_txt = omc_CodegenCFunctions_literalExpConstBoxedVal(threadData, _txt, _i_exp, _txt_26 ,&_txt_26);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1767);
_txt = omc_Tpl_writeText(threadData, _txt, _a_name);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1769);
_txt = omc_Tpl_writeText(threadData, _txt, _a_tmp);
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT87);
goto tmp3_done;
}
case 10: {
modelica_metatype tmpMeta24;
modelica_metatype tmpMeta25;
modelica_metatype tmpMeta26;
modelica_integer tmp27;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,32,5) == 0) goto tmp3_end;
tmpMeta24 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
tmpMeta25 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 3));
tmpMeta26 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 5));
tmp27 = mmc_unbox_integer(tmpMeta26);
_i_path = tmpMeta24;
_i_args = tmpMeta25;
_i_index = tmp27;
_txt = tmp4_1;
_a_litindex = tmp4_3;
_a_tmp = tmp4_5;
_a_name = tmp4_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_LIT102);
_txt = omc_CodegenCFunctions_lm__586(threadData, _txt, _i_args, _a_litindex);
_txt = omc_Tpl_popIter(threadData, _txt);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1762);
_txt = omc_Tpl_writeText(threadData, _txt, _a_tmp);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT234);
_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_LIT234);
_txt = omc_Tpl_writeText(threadData, _txt, _l_newIndex);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1783);
_txt = omc_CodegenUtil_underscorePath(threadData, _txt, _i_path);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1785);
_txt = omc_Tpl_pushIter(threadData, _txt, _OMC_LIT1777);
_txt = omc_CodegenCFunctions_lm__587(threadData, _txt, _i_args, _a_litindex);
_txt = omc_Tpl_popIter(threadData, _txt);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1767);
_txt = omc_Tpl_writeText(threadData, _txt, _a_name);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1769);
_txt = omc_Tpl_writeText(threadData, _txt, _a_tmp);
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT87);
goto tmp3_done;
}
case 11: {
modelica_metatype tmpMeta28;
modelica_metatype tmpMeta29;
modelica_metatype tmpMeta30;
modelica_metatype tmpMeta31;
modelica_metatype tmpMeta32;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,13,3) == 0) goto tmp3_end;
tmpMeta28 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta28,1,1) == 0) goto tmp3_end;
tmpMeta29 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta28), 2));
if (16 != MMC_STRLEN(tmpMeta29) || strcmp(MMC_STRINGDATA(_OMC_LIT1788), MMC_STRINGDATA(tmpMeta29)) != 0) goto tmp3_end;
tmpMeta30 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 3));
if (listEmpty(tmpMeta30)) goto tmp3_end;
tmpMeta31 = MMC_CAR(tmpMeta30);
tmpMeta32 = MMC_CDR(tmpMeta30);
if (!listEmpty(tmpMeta32)) goto tmp3_end;
_i_e = tmpMeta31;
_txt = tmp4_1;
_a_litindex = tmp4_3;
_a_tmp = tmp4_5;
_a_name = tmp4_6;
_ret_31 = omc_Expression_consToListIgnoreSharedLiteral(threadData, _i_e);
tmpMeta1 = omc_CodegenCFunctions_fun__590(threadData, _txt, _ret_31, _i_e, _a_name, _a_tmp, _a_litindex);
goto tmp3_done;
}
case 12: {
_txt = tmp4_1;
_i_lit = tmp4_2;
_txt_32 = omc_Tpl_writeTok(threadData, _OMC_LIT20, _OMC_LIT1787);
_txt_32 = omc_ExpressionDumpTpl_dumpExp(threadData, _txt_32, _i_lit, _OMC_LIT239);
tmpMeta1 = omc_CodegenUtil_error(threadData, _txt, omc_Tpl_sourceInfo(threadData, _OMC_LIT27, ((modelica_integer) 3795), ((modelica_integer) 14)), omc_Tpl_textString(threadData, _txt_32));
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta1;
_return: OMC_LABEL_UNUSED
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__591(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__591(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__590(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 tmpMeta1;
MMC_SO();
_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;
tmp4_1 = _in_txt;
tmp4_2 = _in_mArg;
tmp4_3 = _in_a_e;
tmp4_4 = _in_a_name;
tmp4_5 = _in_a_tmp;
tmp4_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 tmp4;
int tmp5;
tmp4 = 0;
for (; tmp4 < 2; tmp4++) {
switch (MMC_SWITCH_CAST(tmp4)) {
case 0: {
modelica_metatype tmpMeta6;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,28,1) == 0) goto tmp3_end;
tmpMeta6 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
_i_args = tmpMeta6;
_txt = tmp4_1;
_a_name = tmp4_4;
_a_tmp = tmp4_5;
_a_litindex = tmp4_6;
_txt = omc_Tpl_pushIter(threadData, _txt, _OMC_LIT102);
_txt = omc_CodegenCFunctions_lm__588(threadData, _txt, _i_args, _a_litindex);
_txt = omc_Tpl_popIter(threadData, _txt);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1762);
_txt = omc_Tpl_writeText(threadData, _txt, _a_tmp);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT234);
_ret_0 = listLength(_i_args);
_txt = omc_Tpl_writeStr(threadData, _txt, intString(_ret_0));
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1790);
_txt = omc_Tpl_pushIter(threadData, _txt, _OMC_LIT1777);
_txt = omc_CodegenCFunctions_lm__589(threadData, _txt, _i_args, _a_litindex);
_txt = omc_Tpl_popIter(threadData, _txt);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1767);
_txt = omc_Tpl_writeText(threadData, _txt, _a_name);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1769);
_txt = omc_Tpl_writeText(threadData, _txt, _a_tmp);
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT87);
goto tmp3_done;
}
case 1: {
_txt = tmp4_1;
_a_e = tmp4_3;
_txt_1 = omc_Tpl_writeTok(threadData, _OMC_LIT20, _OMC_LIT1792);
_txt_1 = omc_ExpressionDumpTpl_dumpExp(threadData, _txt_1, _a_e, _OMC_LIT239);
tmpMeta1 = omc_CodegenUtil_error(threadData, _txt, omc_Tpl_sourceInfo(threadData, _OMC_LIT27, ((modelica_integer) 3794), ((modelica_integer) 16)), omc_Tpl_textString(threadData, _txt_1));
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta1;
_return: OMC_LABEL_UNUSED
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__590(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__590(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__589(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_items, modelica_integer _in_a_litindex)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta1;
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_metatype tmp4_2;modelica_integer tmp4_3;
tmp4_1 = _in_txt;
tmp4_2 = _in_items;
tmp4_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 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;
tmpMeta1 = _txt;
goto tmp3_done;
}
case 1: {
modelica_metatype tmpMeta6;
modelica_metatype tmpMeta7;
if (listEmpty(tmp4_2)) goto tmp3_end;
tmpMeta6 = MMC_CAR(tmp4_2);
tmpMeta7 = MMC_CDR(tmp4_2);
_i_exp = tmpMeta6;
_rest = tmpMeta7;
_txt = tmp4_1;
_a_litindex = tmp4_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_LIT244);
_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 tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta1;
_return: OMC_LABEL_UNUSED
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_lm__589(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__589(threadData, _in_txt, _in_items, tmp1);
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_lm__588(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_items, modelica_integer _in_a_litindex)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta1;
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_metatype tmp4_2;modelica_integer tmp4_3;
tmp4_1 = _in_txt;
tmp4_2 = _in_items;
tmp4_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 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;
tmpMeta1 = _txt;
goto tmp3_done;
}
case 1: {
modelica_metatype tmpMeta6;
modelica_metatype tmpMeta7;
if (listEmpty(tmp4_2)) goto tmp3_end;
tmpMeta6 = MMC_CAR(tmp4_2);
tmpMeta7 = MMC_CDR(tmp4_2);
_i_exp = tmpMeta6;
_rest = tmpMeta7;
_txt = tmp4_1;
_a_litindex = tmp4_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_LIT244);
_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 tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta1;
_return: OMC_LABEL_UNUSED
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_lm__588(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__588(threadData, _in_txt, _in_items, tmp1);
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_lm__587(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_items, modelica_integer _in_a_litindex)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta1;
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_metatype tmp4_2;modelica_integer tmp4_3;
tmp4_1 = _in_txt;
tmp4_2 = _in_items;
tmp4_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 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;
tmpMeta1 = _txt;
goto tmp3_done;
}
case 1: {
modelica_metatype tmpMeta6;
modelica_metatype tmpMeta7;
if (listEmpty(tmp4_2)) goto tmp3_end;
tmpMeta6 = MMC_CAR(tmp4_2);
tmpMeta7 = MMC_CDR(tmp4_2);
_i_exp = tmpMeta6;
_rest = tmpMeta7;
_txt = tmp4_1;
_a_litindex = tmp4_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_LIT244);
_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 tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta1;
_return: OMC_LABEL_UNUSED
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_lm__587(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__587(threadData, _in_txt, _in_items, tmp1);
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_lm__586(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_items, modelica_integer _in_a_litindex)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta1;
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_metatype tmp4_2;modelica_integer tmp4_3;
tmp4_1 = _in_txt;
tmp4_2 = _in_items;
tmp4_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 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;
tmpMeta1 = _txt;
goto tmp3_done;
}
case 1: {
modelica_metatype tmpMeta6;
modelica_metatype tmpMeta7;
if (listEmpty(tmp4_2)) goto tmp3_end;
tmpMeta6 = MMC_CAR(tmp4_2);
tmpMeta7 = MMC_CDR(tmp4_2);
_i_exp = tmpMeta6;
_rest = tmpMeta7;
_txt = tmp4_1;
_a_litindex = tmp4_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_LIT244);
_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 tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta1;
_return: OMC_LABEL_UNUSED
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_lm__586(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__586(threadData, _in_txt, _in_items, 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 tmpMeta1;
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_metatype tmp4_2;modelica_integer tmp4_3;
tmp4_1 = _in_txt;
tmp4_2 = _in_items;
tmp4_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 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;
tmpMeta1 = _txt;
goto tmp3_done;
}
case 1: {
modelica_metatype tmpMeta6;
modelica_metatype tmpMeta7;
if (listEmpty(tmp4_2)) goto tmp3_end;
tmpMeta6 = MMC_CAR(tmp4_2);
tmpMeta7 = MMC_CDR(tmp4_2);
_i_exp = tmpMeta6;
_rest = tmpMeta7;
_txt = tmp4_1;
_a_litindex = tmp4_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_LIT244);
_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 tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta1;
_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_fun__584(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 tmpMeta1;
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_listExp;
tmp4_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 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_listExp = tmp4_3;
_a_tmp = tmp4_4;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1794);
_txt = omc_Tpl_writeText(threadData, _txt, _a_tmp);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT234);
_ret_0 = listLength(_a_listExp);
_txt = omc_Tpl_writeStr(threadData, _txt, intString(_ret_0));
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1796);
goto tmp3_done;
}
case 1: {
_txt = tmp4_1;
_a_tmp = tmp4_4;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1798);
_txt = omc_Tpl_writeText(threadData, _txt, _a_tmp);
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1796);
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta1;
_return: OMC_LABEL_UNUSED
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__584(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__584(threadData, _in_txt, tmp1, _in_a_listExp, _in_a_tmp);
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 tmpMeta1;
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_metatype tmp4_2;modelica_integer tmp4_3;
tmp4_1 = _in_txt;
tmp4_2 = _in_items;
tmp4_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 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;
tmpMeta1 = _txt;
goto tmp3_done;
}
case 1: {
modelica_metatype tmpMeta6;
modelica_metatype tmpMeta7;
if (listEmpty(tmp4_2)) goto tmp3_end;
tmpMeta6 = MMC_CAR(tmp4_2);
tmpMeta7 = MMC_CDR(tmp4_2);
_i_exp = tmpMeta6;
_rest = tmpMeta7;
_txt = tmp4_1;
_a_litindex = tmp4_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_LIT244);
_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 tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta1;
_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_metatype _in_a_tmp)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta1;
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_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 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;
tmpMeta1 = _txt;
goto tmp3_done;
}
case 1: {
modelica_metatype tmpMeta6;
modelica_metatype tmpMeta7;
if (listEmpty(tmp4_2)) goto tmp3_end;
tmpMeta6 = MMC_CAR(tmp4_2);
tmpMeta7 = MMC_CDR(tmp4_2);
_i_v = tmpMeta6;
_rest = tmpMeta7;
_txt = tmp4_1;
_a_tmp = tmp4_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_LIT1800);
_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_LIT1762);
_txt = omc_Tpl_writeText(threadData, _txt, _a_tmp);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1771);
_txt = omc_Tpl_writeStr(threadData, _txt, intString(_x_i));
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1764);
_txt_1 = omc_Tpl_writeText(threadData, _OMC_LIT20, _a_tmp);
_txt_1 = omc_Tpl_writeTok(threadData, _txt_1, _OMC_LIT1800);
_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_LIT1802);
_txt = omc_CodegenCFunctions_fun__581(threadData, _txt, _x_i, _a_tmp);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1804);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT98);
_txt = omc_Tpl_nextIter(threadData, _txt);
_in_txt = _txt;
_in_items = _rest;
_in_a_tmp = _a_tmp;
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 = tmpMeta1;
_return: OMC_LABEL_UNUSED
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__581(threadData_t *threadData, modelica_metatype _in_txt, modelica_integer _in_a_i, modelica_metatype _in_a_tmp)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta1;
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_integer tmp4_2;modelica_metatype tmp4_3;
tmp4_1 = _in_txt;
tmp4_2 = _in_a_i;
tmp4_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 tmp4;
int tmp5;
tmp4 = 0;
for (; tmp4 < 2; tmp4++) {
switch (MMC_SWITCH_CAST(tmp4)) {
case 0: {
if (1 != tmp4_2) goto tmp3_end;
_txt = tmp4_1;
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1806);
goto tmp3_done;
}
case 1: {
_txt = tmp4_1;
_i_i = tmp4_2;
_a_tmp = tmp4_3;
_txt = omc_Tpl_writeText(threadData, _txt, _a_tmp);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1771);
_ret_0 = ((modelica_integer) -1) + _i_i;
tmpMeta1 = omc_Tpl_writeStr(threadData, _txt, intString(_ret_0));
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta1;
_return: OMC_LABEL_UNUSED
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__581(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__581(threadData, _in_txt, tmp1, _in_a_tmp);
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__580(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 tmpMeta1;
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;
tmp4_1 = _in_txt;
tmp4_2 = _in_mArg;
tmp4_3 = _in_a_data;
tmp4_4 = _in_a_sty;
tmp4_5 = _in_a_ndim;
tmp4_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 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_LIT28), MMC_STRINGDATA(tmp4_2)) != 0) goto tmp3_end;
_txt = tmp4_1;
_a_ndim = tmp4_5;
_a_name = tmp4_6;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1808);
_txt = omc_Tpl_writeText(threadData, _txt, _a_name);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1810);
_txt = omc_Tpl_pushBlock(threadData, _txt, _OMC_LIT105);
_txt = omc_Tpl_writeText(threadData, _txt, _a_ndim);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT301);
_txt = omc_Tpl_writeText(threadData, _txt, _a_name);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1812);
_txt = omc_Tpl_popBlock(threadData, _txt);
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1430);
goto tmp3_done;
}
case 1: {
_txt = tmp4_1;
_a_data = tmp4_3;
_a_sty = tmp4_4;
_a_ndim = tmp4_5;
_a_name = tmp4_6;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1814);
_txt = omc_Tpl_writeText(threadData, _txt, _a_sty);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT34);
_txt = omc_Tpl_writeText(threadData, _txt, _a_name);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1816);
_txt = omc_Tpl_writeText(threadData, _txt, _a_data);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1819);
_txt = omc_Tpl_writeText(threadData, _txt, _a_sty);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1821);
_txt = omc_Tpl_writeText(threadData, _txt, _a_name);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1810);
_txt = omc_Tpl_pushBlock(threadData, _txt, _OMC_LIT105);
_txt = omc_Tpl_writeText(threadData, _txt, _a_ndim);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT301);
_txt = omc_Tpl_writeText(threadData, _txt, _a_name);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1823);
_txt = omc_Tpl_writeText(threadData, _txt, _a_name);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1825);
_txt = omc_Tpl_popBlock(threadData, _txt);
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1430);
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta1;
_return: OMC_LABEL_UNUSED
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_lm__579(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_items)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta1;
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_metatype tmp4_2;
tmp4_1 = _in_txt;
tmp4_2 = _in_items;
{
modelica_metatype _txt = NULL;
modelica_metatype _rest = 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;
tmpMeta1 = _txt;
goto tmp3_done;
}
case 1: {
modelica_metatype tmpMeta6;
modelica_metatype tmpMeta7;
if (listEmpty(tmp4_2)) goto tmp3_end;
tmpMeta6 = MMC_CAR(tmp4_2);
tmpMeta7 = MMC_CDR(tmp4_2);
_i_exp = tmpMeta6;
_rest = tmpMeta7;
_txt = tmp4_1;
_txt = omc_CodegenCFunctions_literalExpConstArrayVal(threadData, _txt, _i_exp);
_txt = omc_Tpl_nextIter(threadData, _txt);
_in_txt = _txt;
_in_items = _rest;
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 = tmpMeta1;
_return: OMC_LABEL_UNUSED
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 _out_txt = NULL;
modelica_metatype tmpMeta1;
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_metatype tmp4_2;
tmp4_1 = _in_txt;
tmp4_2 = _in_items;
{
modelica_metatype _txt = NULL;
modelica_metatype _rest = NULL;
modelica_integer _i_dim;
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;
tmpMeta1 = _txt;
goto tmp3_done;
}
case 1: {
modelica_metatype tmpMeta6;
modelica_metatype tmpMeta7;
modelica_integer tmp8;
if (listEmpty(tmp4_2)) goto tmp3_end;
tmpMeta6 = MMC_CAR(tmp4_2);
tmpMeta7 = MMC_CDR(tmp4_2);
tmp8 = mmc_unbox_integer(tmpMeta6);
_i_dim = tmp8;
_rest = tmpMeta7;
_txt = tmp4_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 tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta1;
_return: OMC_LABEL_UNUSED
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__577(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 tmpMeta1;
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;
tmp4_1 = _in_txt;
tmp4_2 = _in_mArg;
tmp4_3 = _in_a_data;
tmp4_4 = _in_a_sty;
tmp4_5 = _in_a_ndim;
tmp4_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 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_LIT28), MMC_STRINGDATA(tmp4_2)) != 0) goto tmp3_end;
_txt = tmp4_1;
_a_ndim = tmp4_5;
_a_name = tmp4_6;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1808);
_txt = omc_Tpl_writeText(threadData, _txt, _a_name);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1810);
_txt = omc_Tpl_pushBlock(threadData, _txt, _OMC_LIT105);
_txt = omc_Tpl_writeText(threadData, _txt, _a_ndim);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT301);
_txt = omc_Tpl_writeText(threadData, _txt, _a_name);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1812);
_txt = omc_Tpl_popBlock(threadData, _txt);
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1430);
goto tmp3_done;
}
case 1: {
_txt = tmp4_1;
_a_data = tmp4_3;
_a_sty = tmp4_4;
_a_ndim = tmp4_5;
_a_name = tmp4_6;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1814);
_txt = omc_Tpl_writeText(threadData, _txt, _a_sty);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT34);
_txt = omc_Tpl_writeText(threadData, _txt, _a_name);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1816);
_txt = omc_Tpl_writeText(threadData, _txt, _a_data);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1819);
_txt = omc_Tpl_writeText(threadData, _txt, _a_sty);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1821);
_txt = omc_Tpl_writeText(threadData, _txt, _a_name);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1810);
_txt = omc_Tpl_pushBlock(threadData, _txt, _OMC_LIT105);
_txt = omc_Tpl_writeText(threadData, _txt, _a_ndim);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT301);
_txt = omc_Tpl_writeText(threadData, _txt, _a_name);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1823);
_txt = omc_Tpl_writeText(threadData, _txt, _a_name);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1825);
_txt = omc_Tpl_popBlock(threadData, _txt);
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1430);
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta1;
_return: OMC_LABEL_UNUSED
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_lm__576(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_items)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta1;
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_metatype tmp4_2;
tmp4_1 = _in_txt;
tmp4_2 = _in_items;
{
modelica_metatype _txt = NULL;
modelica_metatype _rest = 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;
tmpMeta1 = _txt;
goto tmp3_done;
}
case 1: {
modelica_metatype tmpMeta6;
modelica_metatype tmpMeta7;
if (listEmpty(tmp4_2)) goto tmp3_end;
tmpMeta6 = MMC_CAR(tmp4_2);
tmpMeta7 = MMC_CDR(tmp4_2);
_i_exp = tmpMeta6;
_rest = tmpMeta7;
_txt = tmp4_1;
_txt = omc_CodegenCFunctions_literalExpConstArrayVal(threadData, _txt, _i_exp);
_txt = omc_Tpl_nextIter(threadData, _txt);
_in_txt = _txt;
_in_items = _rest;
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 = tmpMeta1;
_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 tmpMeta1;
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_metatype tmp4_2;
tmp4_1 = _in_txt;
tmp4_2 = _in_items;
{
modelica_metatype _txt = NULL;
modelica_metatype _rest = NULL;
modelica_integer _i_dim;
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;
tmpMeta1 = _txt;
goto tmp3_done;
}
case 1: {
modelica_metatype tmpMeta6;
modelica_metatype tmpMeta7;
modelica_integer tmp8;
if (listEmpty(tmp4_2)) goto tmp3_end;
tmpMeta6 = MMC_CAR(tmp4_2);
tmpMeta7 = MMC_CDR(tmp4_2);
tmp8 = mmc_unbox_integer(tmpMeta6);
_i_dim = tmp8;
_rest = tmpMeta7;
_txt = tmp4_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 tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta1;
_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__572(threadData, _OMC_LIT20, _a_isSimulation, _a_filePrefix);
_out_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1827);
_out_txt = omc_Tpl_writeStr(threadData, _out_txt, _a_filePrefix);
_out_txt = omc_Tpl_writeTok(threadData, _out_txt, _OMC_LIT1829);
_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_LIT1839);
_out_txt = omc_Tpl_writeText(threadData, _out_txt, _l_recDeclsFile);
_out_txt = omc_Tpl_writeTok(threadData, _out_txt, _OMC_LIT1849);
_out_txt = omc_Tpl_pushIter(threadData, _out_txt, _OMC_LIT1853);
_out_txt = omc_CodegenCFunctions_lm__573(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_LIT1857);
_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__573(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_items)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta1;
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_metatype tmp4_2;
tmp4_1 = _in_txt;
tmp4_2 = _in_items;
{
modelica_metatype _txt = NULL;
modelica_metatype _rest = NULL;
modelica_metatype _i_rd = 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;
tmpMeta1 = _txt;
goto tmp3_done;
}
case 1: {
modelica_metatype tmpMeta6;
modelica_metatype tmpMeta7;
if (listEmpty(tmp4_2)) goto tmp3_end;
tmpMeta6 = MMC_CAR(tmp4_2);
tmpMeta7 = MMC_CDR(tmp4_2);
_i_rd = tmpMeta6;
_rest = tmpMeta7;
_txt = tmp4_1;
_txt = omc_CodegenCFunctions_recordDeclaration(threadData, _txt, _i_rd);
_txt = omc_Tpl_nextIter(threadData, _txt);
_in_txt = _txt;
_in_items = _rest;
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 = tmpMeta1;
_return: OMC_LABEL_UNUSED
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__572(threadData_t *threadData, modelica_metatype _in_txt, modelica_boolean _in_a_isSimulation, modelica_string _in_a_filePrefix)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta1;
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_boolean tmp4_2;modelica_string tmp4_3;
tmp4_1 = _in_txt;
tmp4_2 = _in_a_isSimulation;
tmp4_3 = _in_a_filePrefix;
{
modelica_metatype _txt = NULL;
modelica_string _a_filePrefix = 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_filePrefix = tmp4_3;
_txt = omc_Tpl_writeStr(threadData, _txt, _a_filePrefix);
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1859);
goto tmp3_done;
}
case 1: {
_txt = tmp4_1;
_a_filePrefix = tmp4_3;
_txt = omc_Tpl_writeStr(threadData, _txt, _a_filePrefix);
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1861);
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta1;
_return: OMC_LABEL_UNUSED
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__572(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__572(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_LIT1867);
_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_LIT1871);
_out_txt = omc_CodegenCFunctions_fun__570(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_LIT1851);
_return: OMC_LABEL_UNUSED
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__570(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_mainFunction)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta1;
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_metatype tmp4_2;
tmp4_1 = _in_txt;
tmp4_2 = _in_a_mainFunction;
{
modelica_metatype _txt = 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: {
modelica_metatype tmpMeta6;
if (optionNone(tmp4_2)) goto tmp3_end;
tmpMeta6 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 1));
_i_fn = tmpMeta6;
_txt = tmp4_1;
tmpMeta1 = omc_CodegenCFunctions_functionBodyParModelica(threadData, _txt, _i_fn, 1);
goto tmp3_done;
}
case 1: {
_txt = tmp4_1;
tmpMeta1 = _txt;
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta1;
_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[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_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: {
modelica_metatype tmpMeta5;
modelica_metatype tmpMeta6;
modelica_metatype tmpMeta7;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,1,3) == 0) goto tmp3_end;
tmpMeta5 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
tmpMeta6 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 3));
tmpMeta7 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 4));
_i_exp = tmpMeta5;
_i_statementLst = tmpMeta6;
_i_else__ = tmpMeta7;
_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_LIT1226);
_txt = omc_Tpl_pushBlock(threadData, _txt, _OMC_LIT105);
_txt = omc_Tpl_writeText(threadData, _txt, _l_preExp);
_txt = omc_Tpl_softNewLine(threadData, _txt);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT357);
_txt = omc_Tpl_writeText(threadData, _txt, _l_condExp);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT439);
_txt = omc_Tpl_pushBlock(threadData, _txt, _OMC_LIT105);
_txt = omc_Tpl_pushIter(threadData, _txt, _OMC_LIT104);
_txt = omc_CodegenCFunctions_lm__567(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_LIT167);
_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_LIT111);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_varDecls;
tmpMeta[0+2] = _a_auxFunction;
goto tmp3_done;
}
case 5: {
modelica_metatype tmpMeta8;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,2,1) == 0) goto tmp3_end;
tmpMeta8 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
_i_statementLst = tmpMeta8;
_txt = tmp4_1;
_a_context = tmp4_3;
_a_varDecls = tmp4_4;
_a_auxFunction = tmp4_5;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1226);
_txt = omc_Tpl_pushBlock(threadData, _txt, _OMC_LIT105);
_txt = omc_Tpl_pushIter(threadData, _txt, _OMC_LIT104);
_txt = omc_CodegenCFunctions_lm__568(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_LIT111);
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__568(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[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_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: {
modelica_metatype tmpMeta6;
modelica_metatype tmpMeta7;
if (listEmpty(tmp4_2)) goto tmp3_end;
tmpMeta6 = MMC_CAR(tmp4_2);
tmpMeta7 = MMC_CDR(tmp4_2);
_i_stmt = tmpMeta6;
_rest = tmpMeta7;
_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__567(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[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_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: {
modelica_metatype tmpMeta6;
modelica_metatype tmpMeta7;
if (listEmpty(tmp4_2)) goto tmp3_end;
tmpMeta6 = MMC_CAR(tmp4_2);
tmpMeta7 = MMC_CDR(tmp4_2);
_i_stmt = tmpMeta6;
_rest = tmpMeta7;
_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[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_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: {
modelica_metatype tmpMeta6;
modelica_metatype tmpMeta7;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,10,3) == 0) goto tmp3_end;
tmpMeta6 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
tmpMeta7 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 3));
_i_var = tmpMeta6;
_i_value = tmpMeta7;
_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_LIT129);
_txt = omc_Tpl_writeText(threadData, _txt, _l_expPart2);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1875);
_txt = omc_Tpl_writeText(threadData, _txt, _l_expPart1);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1877);
_txt = omc_Tpl_writeText(threadData, _txt, _l_expPart1);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1881);
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 _txt, modelica_metatype _a_stmt, 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_sub = NULL;
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
_l_sub = _OMC_LIT20;
_out_txt = omc_CodegenCFunctions_fun__564(threadData, _txt, _a_stmt, _a_auxFunction, _a_varDecls, _l_sub ,&_out_a_auxFunction ,&_out_a_varDecls ,&_l_sub);
_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__564(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_sub, modelica_metatype *out_out_a_auxFunction, modelica_metatype *out_out_a_varDecls, modelica_metatype *out_out_a_sub)
{
modelica_metatype _out_txt = NULL;
modelica_metatype _out_a_auxFunction = NULL;
modelica_metatype _out_a_varDecls = NULL;
modelica_metatype _out_a_sub = 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_sub;
{
modelica_metatype _txt = NULL;
modelica_metatype _a_auxFunction = NULL;
modelica_metatype _a_varDecls = NULL;
modelica_metatype _a_sub = 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: {
modelica_metatype tmpMeta6;
modelica_metatype tmpMeta7;
modelica_metatype tmpMeta8;
modelica_metatype tmpMeta9;
if (optionNone(tmp4_2)) goto tmp3_end;
tmpMeta6 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 1));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta6,7,6) == 0) goto tmp3_end;
tmpMeta7 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta6), 3));
tmpMeta8 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta6), 5));
tmpMeta9 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta6), 6));
_i_when_conditions = tmpMeta7;
_i_when_statementLst = tmpMeta8;
_i_when_elseWhen = tmpMeta9;
_txt = tmp4_1;
_a_auxFunction = tmp4_3;
_a_varDecls = tmp4_4;
_a_sub = tmp4_5;
_ret_1 = listEmpty(_i_when_conditions);
_l_else__conditions = omc_CodegenCFunctions_fun__562(threadData, _OMC_LIT20, _ret_1, _a_sub, _i_when_conditions ,&_a_sub);
_l_statements = omc_Tpl_pushIter(threadData, _OMC_LIT20, _OMC_LIT104);
_l_statements = omc_CodegenCFunctions_lm__563(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_LIT1882);
_txt = omc_Tpl_writeText(threadData, _txt, _l_else__conditions);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT439);
_txt = omc_Tpl_pushBlock(threadData, _txt, _OMC_LIT105);
_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_LIT167);
_txt = omc_Tpl_writeText(threadData, _txt, _l_else);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_auxFunction;
tmpMeta[0+2] = _a_varDecls;
tmpMeta[0+3] = _a_sub;
goto tmp3_done;
}
case 1: {
_txt = tmp4_1;
_a_auxFunction = tmp4_3;
_a_varDecls = tmp4_4;
_a_sub = tmp4_5;
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_auxFunction;
tmpMeta[0+2] = _a_varDecls;
tmpMeta[0+3] = _a_sub;
goto tmp3_done;
}
}
goto 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_sub = 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_sub) { *out_out_a_sub = _out_a_sub; }
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 *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_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: {
modelica_metatype tmpMeta6;
modelica_metatype tmpMeta7;
if (listEmpty(tmp4_2)) goto tmp3_end;
tmpMeta6 = MMC_CAR(tmp4_2);
tmpMeta7 = MMC_CDR(tmp4_2);
_i_stmt = tmpMeta6;
_rest = tmpMeta7;
_txt = tmp4_1;
_a_auxFunction = tmp4_3;
_a_varDecls = tmp4_4;
_txt = omc_CodegenCFunctions_algStatement(threadData, _txt, _i_stmt, _OMC_LIT1883, _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__562(threadData_t *threadData, modelica_metatype _in_txt, modelica_boolean _in_mArg, modelica_metatype _in_a_sub, modelica_metatype _in_a_when_conditions, modelica_metatype *out_out_a_sub)
{
modelica_metatype _out_txt = NULL;
modelica_metatype _out_a_sub = 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_sub;
tmp4_4 = _in_a_when_conditions;
{
modelica_metatype _txt = NULL;
modelica_metatype _a_sub = NULL;
modelica_metatype _a_when_conditions = 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_sub = tmp4_3;
_a_when_conditions = tmp4_4;
_txt = omc_Tpl_pushIter(threadData, _txt, _OMC_LIT1885);
_txt = omc_CodegenCFunctions_lm__561(threadData, _txt, _a_when_conditions, _a_sub ,&_a_sub);
_txt = omc_Tpl_popIter(threadData, _txt);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_sub;
goto tmp3_done;
}
case 1: {
_txt = tmp4_1;
_a_sub = tmp4_3;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT980);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_sub;
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta[0+0];
_out_a_sub = tmpMeta[0+1];
_return: OMC_LABEL_UNUSED
if (out_out_a_sub) { *out_out_a_sub = _out_a_sub; }
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__562(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_mArg, modelica_metatype _in_a_sub, modelica_metatype _in_a_when_conditions, modelica_metatype *out_out_a_sub)
{
modelica_integer tmp1;
modelica_metatype _out_txt = NULL;
tmp1 = mmc_unbox_integer(_in_mArg);
_out_txt = omc_CodegenCFunctions_fun__562(threadData, _in_txt, tmp1, _in_a_sub, _in_a_when_conditions, out_out_a_sub);
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_lm__561(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_items, modelica_metatype _in_a_sub, modelica_metatype *out_out_a_sub)
{
modelica_metatype _out_txt = NULL;
modelica_metatype _out_a_sub = 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_items;
tmp4_3 = _in_a_sub;
{
modelica_metatype _txt = NULL;
modelica_metatype _rest = NULL;
modelica_metatype _a_sub = 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_sub = tmp4_3;
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_sub;
goto tmp3_done;
}
case 1: {
modelica_metatype tmpMeta6;
modelica_metatype tmpMeta7;
if (listEmpty(tmp4_2)) goto tmp3_end;
tmpMeta6 = MMC_CAR(tmp4_2);
tmpMeta7 = MMC_CDR(tmp4_2);
_i_e = tmpMeta6;
_rest = tmpMeta7;
_txt = tmp4_1;
_a_sub = tmp4_3;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT30);
_txt = omc_CodegenCFunctions_cref(threadData, _txt, _i_e, _a_sub ,&_a_sub);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT669);
_txt = omc_CodegenCFunctions_crefPre(threadData, _txt, _i_e);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1887);
_txt = omc_Tpl_nextIter(threadData, _txt);
_in_txt = _txt;
_in_items = _rest;
_in_a_sub = _a_sub;
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_sub = tmpMeta[0+1];
_return: OMC_LABEL_UNUSED
if (out_out_a_sub) { *out_out_a_sub = _out_a_sub; }
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;
modelica_metatype _l_sub = NULL;
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
_l_sub = _OMC_LIT20;
_out_txt = omc_CodegenCFunctions_fun__559(threadData, _txt, _a_context, _a_auxFunction, _a_varDecls, _l_sub, _a_when ,&_out_a_auxFunction ,&_out_a_varDecls ,&_l_sub);
_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__559(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_sub, modelica_metatype _in_a_when, modelica_metatype *out_out_a_auxFunction, modelica_metatype *out_out_a_varDecls, modelica_metatype *out_out_a_sub)
{
modelica_metatype _out_txt = NULL;
modelica_metatype _out_a_auxFunction = NULL;
modelica_metatype _out_a_varDecls = NULL;
modelica_metatype _out_a_sub = 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_sub;
tmp4_6 = _in_a_when;
{
modelica_metatype _txt = NULL;
modelica_metatype _a_auxFunction = NULL;
modelica_metatype _a_varDecls = NULL;
modelica_metatype _a_sub = NULL;
modelica_metatype _a_when = 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_auxFunction = tmp4_3;
_a_varDecls = tmp4_4;
_a_sub = tmp4_5;
_a_when = tmp4_6;
tmpMeta[0+0] = omc_CodegenCFunctions_fun__554(threadData, _txt, _a_when, _a_auxFunction, _a_varDecls, _i_context, _a_sub, &tmpMeta[0+1], &tmpMeta[0+2], &tmpMeta[0+3]);
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_auxFunction = tmp4_3;
_a_varDecls = tmp4_4;
_a_sub = tmp4_5;
_a_when = tmp4_6;
tmpMeta[0+0] = omc_CodegenCFunctions_fun__558(threadData, _txt, _a_when, _a_auxFunction, _a_varDecls, _i_context, _a_sub, &tmpMeta[0+1], &tmpMeta[0+2], &tmpMeta[0+3]);
goto tmp3_done;
}
case 2: {
_txt = tmp4_1;
_a_auxFunction = tmp4_3;
_a_varDecls = tmp4_4;
_a_sub = tmp4_5;
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_auxFunction;
tmpMeta[0+2] = _a_varDecls;
tmpMeta[0+3] = _a_sub;
goto tmp3_done;
}
}
goto 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_sub = 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_sub) { *out_out_a_sub = _out_a_sub; }
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__558(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 _in_a_sub, modelica_metatype *out_out_a_auxFunction, modelica_metatype *out_out_a_varDecls, modelica_metatype *out_out_a_sub)
{
modelica_metatype _out_txt = NULL;
modelica_metatype _out_a_auxFunction = NULL;
modelica_metatype _out_a_varDecls = NULL;
modelica_metatype _out_a_sub = 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_when;
tmp4_3 = _in_a_auxFunction;
tmp4_4 = _in_a_varDecls;
tmp4_5 = _in_a_context;
tmp4_6 = _in_a_sub;
{
modelica_metatype _txt = NULL;
modelica_metatype _a_auxFunction = NULL;
modelica_metatype _a_varDecls = NULL;
modelica_metatype _a_context = NULL;
modelica_metatype _a_sub = 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: {
modelica_metatype tmpMeta6;
modelica_metatype tmpMeta7;
modelica_metatype tmpMeta8;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,7,6) == 0) goto tmp3_end;
tmpMeta6 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 3));
tmpMeta7 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 5));
tmpMeta8 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 6));
_i_conditions = tmpMeta6;
_i_statementLst = tmpMeta7;
_i_elseWhen = tmpMeta8;
_txt = tmp4_1;
_a_auxFunction = tmp4_3;
_a_varDecls = tmp4_4;
_a_context = tmp4_5;
_a_sub = tmp4_6;
_ret_1 = listEmpty(_i_conditions);
_l_if__conditions = omc_CodegenCFunctions_fun__556(threadData, _OMC_LIT20, _ret_1, _a_sub, _i_conditions ,&_a_sub);
_l_statements = omc_Tpl_pushIter(threadData, _OMC_LIT20, _OMC_LIT104);
_l_statements = omc_CodegenCFunctions_lm__557(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_LIT1890);
_txt = omc_Tpl_pushBlock(threadData, _txt, _OMC_LIT105);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT357);
_txt = omc_Tpl_writeText(threadData, _txt, _l_if__conditions);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT439);
_txt = omc_Tpl_pushBlock(threadData, _txt, _OMC_LIT105);
_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_LIT167);
_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_LIT111);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_auxFunction;
tmpMeta[0+2] = _a_varDecls;
tmpMeta[0+3] = _a_sub;
goto tmp3_done;
}
case 1: {
_txt = tmp4_1;
_a_auxFunction = tmp4_3;
_a_varDecls = tmp4_4;
_a_sub = tmp4_6;
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_auxFunction;
tmpMeta[0+2] = _a_varDecls;
tmpMeta[0+3] = _a_sub;
goto tmp3_done;
}
}
goto 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_sub = 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_sub) { *out_out_a_sub = _out_a_sub; }
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_lm__557(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[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_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: {
modelica_metatype tmpMeta6;
modelica_metatype tmpMeta7;
if (listEmpty(tmp4_2)) goto tmp3_end;
tmpMeta6 = MMC_CAR(tmp4_2);
tmpMeta7 = MMC_CDR(tmp4_2);
_i_stmt = tmpMeta6;
_rest = tmpMeta7;
_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__556(threadData_t *threadData, modelica_metatype _in_txt, modelica_boolean _in_mArg, modelica_metatype _in_a_sub, modelica_metatype _in_a_conditions, modelica_metatype *out_out_a_sub)
{
modelica_metatype _out_txt = NULL;
modelica_metatype _out_a_sub = 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_sub;
tmp4_4 = _in_a_conditions;
{
modelica_metatype _txt = NULL;
modelica_metatype _a_sub = NULL;
modelica_metatype _a_conditions = 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_sub = tmp4_3;
_a_conditions = tmp4_4;
_txt = omc_Tpl_pushIter(threadData, _txt, _OMC_LIT1885);
_txt = omc_CodegenCFunctions_lm__555(threadData, _txt, _a_conditions, _a_sub ,&_a_sub);
_txt = omc_Tpl_popIter(threadData, _txt);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_sub;
goto tmp3_done;
}
case 1: {
_txt = tmp4_1;
_a_sub = tmp4_3;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT980);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_sub;
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta[0+0];
_out_a_sub = tmpMeta[0+1];
_return: OMC_LABEL_UNUSED
if (out_out_a_sub) { *out_out_a_sub = _out_a_sub; }
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__556(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_mArg, modelica_metatype _in_a_sub, modelica_metatype _in_a_conditions, modelica_metatype *out_out_a_sub)
{
modelica_integer tmp1;
modelica_metatype _out_txt = NULL;
tmp1 = mmc_unbox_integer(_in_mArg);
_out_txt = omc_CodegenCFunctions_fun__556(threadData, _in_txt, tmp1, _in_a_sub, _in_a_conditions, out_out_a_sub);
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_lm__555(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_items, modelica_metatype _in_a_sub, modelica_metatype *out_out_a_sub)
{
modelica_metatype _out_txt = NULL;
modelica_metatype _out_a_sub = 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_items;
tmp4_3 = _in_a_sub;
{
modelica_metatype _txt = NULL;
modelica_metatype _rest = NULL;
modelica_metatype _a_sub = 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_sub = tmp4_3;
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_sub;
goto tmp3_done;
}
case 1: {
modelica_metatype tmpMeta6;
modelica_metatype tmpMeta7;
if (listEmpty(tmp4_2)) goto tmp3_end;
tmpMeta6 = MMC_CAR(tmp4_2);
tmpMeta7 = MMC_CDR(tmp4_2);
_i_e = tmpMeta6;
_rest = tmpMeta7;
_txt = tmp4_1;
_a_sub = tmp4_3;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT30);
_txt = omc_CodegenCFunctions_cref(threadData, _txt, _i_e, _a_sub ,&_a_sub);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT669);
_txt = omc_CodegenCFunctions_crefPre(threadData, _txt, _i_e);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1887);
_txt = omc_Tpl_nextIter(threadData, _txt);
_in_txt = _txt;
_in_items = _rest;
_in_a_sub = _a_sub;
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_sub = tmpMeta[0+1];
_return: OMC_LABEL_UNUSED
if (out_out_a_sub) { *out_out_a_sub = _out_a_sub; }
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__554(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 _in_a_sub, modelica_metatype *out_out_a_auxFunction, modelica_metatype *out_out_a_varDecls, modelica_metatype *out_out_a_sub)
{
modelica_metatype _out_txt = NULL;
modelica_metatype _out_a_auxFunction = NULL;
modelica_metatype _out_a_varDecls = NULL;
modelica_metatype _out_a_sub = 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_when;
tmp4_3 = _in_a_auxFunction;
tmp4_4 = _in_a_varDecls;
tmp4_5 = _in_a_context;
tmp4_6 = _in_a_sub;
{
modelica_metatype _txt = NULL;
modelica_metatype _a_auxFunction = NULL;
modelica_metatype _a_varDecls = NULL;
modelica_metatype _a_context = NULL;
modelica_metatype _a_sub = 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: {
modelica_metatype tmpMeta6;
modelica_metatype tmpMeta7;
modelica_metatype tmpMeta8;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,7,6) == 0) goto tmp3_end;
tmpMeta6 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 3));
tmpMeta7 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 5));
tmpMeta8 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 6));
_i_conditions = tmpMeta6;
_i_statementLst = tmpMeta7;
_i_elseWhen = tmpMeta8;
_txt = tmp4_1;
_a_auxFunction = tmp4_3;
_a_varDecls = tmp4_4;
_a_context = tmp4_5;
_a_sub = tmp4_6;
_ret_1 = listEmpty(_i_conditions);
_l_if__conditions = omc_CodegenCFunctions_fun__552(threadData, _OMC_LIT20, _ret_1, _a_sub, _i_conditions ,&_a_sub);
_l_statements = omc_Tpl_pushIter(threadData, _OMC_LIT20, _OMC_LIT104);
_l_statements = omc_CodegenCFunctions_lm__553(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_LIT1890);
_txt = omc_Tpl_pushBlock(threadData, _txt, _OMC_LIT105);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT357);
_txt = omc_Tpl_writeText(threadData, _txt, _l_if__conditions);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT439);
_txt = omc_Tpl_pushBlock(threadData, _txt, _OMC_LIT105);
_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_LIT167);
_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_LIT111);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_auxFunction;
tmpMeta[0+2] = _a_varDecls;
tmpMeta[0+3] = _a_sub;
goto tmp3_done;
}
case 1: {
_txt = tmp4_1;
_a_auxFunction = tmp4_3;
_a_varDecls = tmp4_4;
_a_sub = tmp4_6;
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_auxFunction;
tmpMeta[0+2] = _a_varDecls;
tmpMeta[0+3] = _a_sub;
goto tmp3_done;
}
}
goto 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_sub = 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_sub) { *out_out_a_sub = _out_a_sub; }
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_lm__553(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[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_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: {
modelica_metatype tmpMeta6;
modelica_metatype tmpMeta7;
if (listEmpty(tmp4_2)) goto tmp3_end;
tmpMeta6 = MMC_CAR(tmp4_2);
tmpMeta7 = MMC_CDR(tmp4_2);
_i_stmt = tmpMeta6;
_rest = tmpMeta7;
_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__552(threadData_t *threadData, modelica_metatype _in_txt, modelica_boolean _in_mArg, modelica_metatype _in_a_sub, modelica_metatype _in_a_conditions, modelica_metatype *out_out_a_sub)
{
modelica_metatype _out_txt = NULL;
modelica_metatype _out_a_sub = 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_sub;
tmp4_4 = _in_a_conditions;
{
modelica_metatype _txt = NULL;
modelica_metatype _a_sub = NULL;
modelica_metatype _a_conditions = 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_sub = tmp4_3;
_a_conditions = tmp4_4;
_txt = omc_Tpl_pushIter(threadData, _txt, _OMC_LIT1885);
_txt = omc_CodegenCFunctions_lm__551(threadData, _txt, _a_conditions, _a_sub ,&_a_sub);
_txt = omc_Tpl_popIter(threadData, _txt);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_sub;
goto tmp3_done;
}
case 1: {
_txt = tmp4_1;
_a_sub = tmp4_3;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT980);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_sub;
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta[0+0];
_out_a_sub = tmpMeta[0+1];
_return: OMC_LABEL_UNUSED
if (out_out_a_sub) { *out_out_a_sub = _out_a_sub; }
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__552(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_mArg, modelica_metatype _in_a_sub, modelica_metatype _in_a_conditions, modelica_metatype *out_out_a_sub)
{
modelica_integer tmp1;
modelica_metatype _out_txt = NULL;
tmp1 = mmc_unbox_integer(_in_mArg);
_out_txt = omc_CodegenCFunctions_fun__552(threadData, _in_txt, tmp1, _in_a_sub, _in_a_conditions, out_out_a_sub);
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_lm__551(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_items, modelica_metatype _in_a_sub, modelica_metatype *out_out_a_sub)
{
modelica_metatype _out_txt = NULL;
modelica_metatype _out_a_sub = 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_items;
tmp4_3 = _in_a_sub;
{
modelica_metatype _txt = NULL;
modelica_metatype _rest = NULL;
modelica_metatype _a_sub = 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_sub = tmp4_3;
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_sub;
goto tmp3_done;
}
case 1: {
modelica_metatype tmpMeta6;
modelica_metatype tmpMeta7;
if (listEmpty(tmp4_2)) goto tmp3_end;
tmpMeta6 = MMC_CAR(tmp4_2);
tmpMeta7 = MMC_CDR(tmp4_2);
_i_e = tmpMeta6;
_rest = tmpMeta7;
_txt = tmp4_1;
_a_sub = tmp4_3;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT30);
_txt = omc_CodegenCFunctions_cref(threadData, _txt, _i_e, _a_sub ,&_a_sub);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT669);
_txt = omc_CodegenCFunctions_crefPre(threadData, _txt, _i_e);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1887);
_txt = omc_Tpl_nextIter(threadData, _txt);
_in_txt = _txt;
_in_items = _rest;
_in_a_sub = _a_sub;
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_sub = tmpMeta[0+1];
_return: OMC_LABEL_UNUSED
if (out_out_a_sub) { *out_out_a_sub = _out_a_sub; }
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[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_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: {
modelica_metatype tmpMeta6;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,11,2) == 0) goto tmp3_end;
tmpMeta6 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta6,33,6) == 0) goto tmp3_end;
_i_exp = tmpMeta6;
_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_LIT248, omc_Tpl_strTokText(threadData, _OMC_LIT100), omc_Tpl_strTokText(threadData, _OMC_LIT100), _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_LIT113);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_varDecls;
tmpMeta[0+2] = _a_auxFunction;
goto tmp3_done;
}
case 1: {
modelica_metatype tmpMeta7;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,11,2) == 0) goto tmp3_end;
tmpMeta7 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
_i_exp = tmpMeta7;
_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__549(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__549(threadData_t *threadData, modelica_metatype _in_txt, modelica_boolean _in_mArg, modelica_metatype _in_a_expPart)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta1;
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_expPart;
{
modelica_metatype _txt = NULL;
modelica_metatype _a_expPart = 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_expPart = tmp4_3;
_txt = omc_Tpl_writeText(threadData, _txt, _a_expPart);
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT113);
goto tmp3_done;
}
case 1: {
_txt = tmp4_1;
tmpMeta1 = _txt;
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta1;
_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_expPart)
{
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_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[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_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: {
modelica_metatype tmpMeta6;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,16,2) == 0) goto tmp3_end;
tmpMeta6 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
_i_body = tmpMeta6;
_txt = tmp4_1;
_a_context = tmp4_3;
_a_varDecls = tmp4_4;
_a_auxFunction = tmp4_5;
_l_tmp = omc_CodegenCFunctions_tempDecl(threadData, _OMC_LIT20, _OMC_LIT80, _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_LIT144);
_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_LIT104);
_l_stmtBody = omc_CodegenCFunctions_lm__547(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_LIT1894);
_txt = omc_Tpl_pushBlock(threadData, _txt, _OMC_LIT105);
_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_LIT284);
_txt = omc_Tpl_popBlock(threadData, _txt);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT107);
_txt = omc_Tpl_writeText(threadData, _txt, _l_goto);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT169);
_txt = omc_Tpl_writeText(threadData, _txt, _l_goto);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1898);
omc_SimCodeFunctionUtil_codegenPopTryThrowIndex(threadData);
_txt = omc_Tpl_softNewLine(threadData, _txt);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT257);
_txt = omc_Tpl_writeText(threadData, _txt, _l_tmp);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1900);
_txt = omc_CodegenCFunctions_generateThrow(threadData, _txt);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1902);
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__547(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[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_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: {
modelica_metatype tmpMeta6;
modelica_metatype tmpMeta7;
if (listEmpty(tmp4_2)) goto tmp3_end;
tmpMeta6 = MMC_CAR(tmp4_2);
tmpMeta7 = MMC_CDR(tmp4_2);
_i_stmt = tmpMeta6;
_rest = tmpMeta7;
_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[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_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: {
modelica_metatype tmpMeta6;
modelica_metatype tmpMeta7;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,9,2) == 0) goto tmp3_end;
tmpMeta6 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
tmpMeta7 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 3));
_i_msg = tmpMeta6;
_i_source = tmpMeta7;
_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_LIT154);
_txt = omc_Tpl_pushBlock(threadData, _txt, _OMC_LIT105);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1531);
_ret_2 = omc_ElementSource_getElementSourceFileInfo(threadData, _i_source);
_txt = omc_CodegenCFunctions_infoArgs(threadData, _txt, _ret_2);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1906);
_txt = omc_Tpl_writeText(threadData, _txt, _l_msgVar);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT603);
_txt = omc_Tpl_popBlock(threadData, _txt);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT111);
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[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_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: {
modelica_metatype tmpMeta6;
modelica_metatype tmpMeta7;
modelica_metatype tmpMeta8;
modelica_metatype tmpMeta9;
modelica_metatype tmpMeta10;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,8,4) == 0) goto tmp3_end;
tmpMeta6 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
tmpMeta7 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 3));
tmpMeta8 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 4));
tmpMeta9 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 5));
tmpMeta10 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta9), 2));
_i_cond = tmpMeta6;
_i_msg = tmpMeta7;
_i_level = tmpMeta8;
_i_info = tmpMeta10;
_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[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_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: {
modelica_metatype tmpMeta6;
modelica_metatype tmpMeta7;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,6,3) == 0) goto tmp3_end;
tmpMeta6 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
tmpMeta7 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 3));
_i_exp = tmpMeta6;
_i_statementLst = tmpMeta7;
_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_LIT1909);
_txt = omc_Tpl_pushBlock(threadData, _txt, _OMC_LIT105);
_txt = omc_Tpl_writeText(threadData, _txt, _l_preExp);
_txt = omc_Tpl_softNewLine(threadData, _txt);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1569);
_txt = omc_Tpl_writeText(threadData, _txt, _l_var);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1911);
_txt = omc_Tpl_pushIter(threadData, _txt, _OMC_LIT104);
_txt = omc_CodegenCFunctions_lm__543(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_LIT111);
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__543(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[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_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: {
modelica_metatype tmpMeta6;
modelica_metatype tmpMeta7;
if (listEmpty(tmp4_2)) goto tmp3_end;
tmpMeta6 = MMC_CAR(tmp4_2);
tmpMeta7 = MMC_CDR(tmp4_2);
_i_stmt = tmpMeta6;
_rest = tmpMeta7;
_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_LIT154);
_out_txt = omc_Tpl_pushBlock(threadData, _out_txt, _OMC_LIT105);
_out_txt = omc_Tpl_writeStr(threadData, _out_txt, _a_type);
_out_txt = omc_Tpl_writeTok(threadData, _out_txt, _OMC_LIT34);
_out_txt = omc_Tpl_writeText(threadData, _out_txt, _l_iterName);
_out_txt = omc_Tpl_writeTok(threadData, _out_txt, _OMC_LIT169);
_out_txt = omc_CodegenCFunctions_fun__541(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_LIT111);
_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__541(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_LIT322), 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__539(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__540(threadData, _OMC_LIT20, _a_iterIsArray, _a_ivar, _i_type, _a_tvar, _a_evar, _a_arrayType, _a_iterName);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1913);
_txt = omc_Tpl_writeText(threadData, _txt, _a_tvar);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1915);
_txt = omc_Tpl_writeText(threadData, _txt, _a_tvar);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT353);
_txt = omc_Tpl_writeText(threadData, _txt, _a_evar);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1917);
_txt = omc_Tpl_writeText(threadData, _txt, _a_tvar);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT439);
_txt = omc_Tpl_pushBlock(threadData, _txt, _OMC_LIT105);
_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_LIT111);
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__541(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__541(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__540(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 tmpMeta1;
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_boolean tmp4_2;modelica_metatype 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_iterIsArray;
tmp4_3 = _in_a_ivar;
tmp4_4 = _in_a_type;
tmp4_5 = _in_a_tvar;
tmp4_6 = _in_a_evar;
tmp4_7 = _in_a_arrayType;
tmp4_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 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_tvar = tmp4_5;
_a_evar = tmp4_6;
_a_arrayType = tmp4_7;
_a_iterName = tmp4_8;
_txt = omc_Tpl_writeText(threadData, _txt, _a_iterName);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT129);
_txt = omc_Tpl_writeStr(threadData, _txt, _a_arrayType);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT366);
_txt = omc_Tpl_writeText(threadData, _txt, _a_evar);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT362);
_txt = omc_Tpl_writeText(threadData, _txt, _a_tvar);
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT299);
goto tmp3_done;
}
case 1: {
_txt = tmp4_1;
_a_ivar = tmp4_3;
_a_type = tmp4_4;
_a_tvar = tmp4_5;
_a_evar = tmp4_6;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1919);
_txt = omc_Tpl_writeStr(threadData, _txt, _a_type);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1921);
_txt = omc_Tpl_writeText(threadData, _txt, _a_evar);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT301);
_txt = omc_Tpl_writeText(threadData, _txt, _a_tvar);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT131);
_txt = omc_Tpl_writeText(threadData, _txt, _a_ivar);
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT299);
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta1;
_return: OMC_LABEL_UNUSED
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_CodegenCFunctions_fun__540(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__540(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__539(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[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_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_LIT253, _a_varDecls ,&_a_varDecls);
_l_len = omc_CodegenCFunctions_tempDecl(threadData, _OMC_LIT20, _OMC_LIT253, _a_varDecls ,&_a_varDecls);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1923);
_txt = omc_Tpl_writeText(threadData, _txt, _a_tvar);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT129);
_txt = omc_Tpl_writeText(threadData, _txt, _a_evar);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT301);
_txt = omc_Tpl_writeText(threadData, _txt, _l_len);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1925);
_txt = omc_Tpl_writeText(threadData, _txt, _a_tvar);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT532);
_txt = omc_Tpl_writeText(threadData, _txt, _l_tmp);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1915);
_txt = omc_Tpl_writeText(threadData, _txt, _l_tmp);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT345);
_txt = omc_Tpl_writeText(threadData, _txt, _l_len);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT208);
_txt = omc_Tpl_writeText(threadData, _txt, _l_tmp);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1928);
_txt = omc_Tpl_pushBlock(threadData, _txt, _OMC_LIT105);
_txt = omc_Tpl_writeText(threadData, _txt, _a_iterName);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT378);
_txt = omc_Tpl_writeText(threadData, _txt, _a_tvar);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT234);
_txt = omc_Tpl_writeText(threadData, _txt, _l_tmp);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT386);
_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_LIT111);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_varDecls;
goto tmp3_done;
}
case 1: {
modelica_metatype tmpMeta6;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,25,1) == 0) goto tmp3_end;
tmpMeta6 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta6,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_LIT253, _a_varDecls ,&_a_varDecls);
_l_len = omc_CodegenCFunctions_tempDecl(threadData, _OMC_LIT20, _OMC_LIT253, _a_varDecls ,&_a_varDecls);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1923);
_txt = omc_Tpl_writeText(threadData, _txt, _a_tvar);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT129);
_txt = omc_Tpl_writeText(threadData, _txt, _a_evar);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT301);
_txt = omc_Tpl_writeText(threadData, _txt, _l_len);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1925);
_txt = omc_Tpl_writeText(threadData, _txt, _a_tvar);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT532);
_txt = omc_Tpl_writeText(threadData, _txt, _l_tmp);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1915);
_txt = omc_Tpl_writeText(threadData, _txt, _l_tmp);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT345);
_txt = omc_Tpl_writeText(threadData, _txt, _l_len);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT208);
_txt = omc_Tpl_writeText(threadData, _txt, _l_tmp);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1928);
_txt = omc_Tpl_pushBlock(threadData, _txt, _OMC_LIT105);
_txt = omc_Tpl_writeText(threadData, _txt, _a_iterName);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT378);
_txt = omc_Tpl_writeText(threadData, _txt, _a_tvar);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT234);
_txt = omc_Tpl_writeText(threadData, _txt, _l_tmp);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT386);
_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_LIT111);
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_LIT1923);
_txt = omc_Tpl_writeText(threadData, _txt, _a_tvar);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT129);
_txt = omc_Tpl_writeText(threadData, _txt, _a_evar);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1930);
_txt = omc_Tpl_writeText(threadData, _txt, _a_tvar);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1932);
_txt = omc_Tpl_writeText(threadData, _txt, _a_tvar);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1934);
_txt = omc_Tpl_writeText(threadData, _txt, _a_tvar);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1250);
_txt = omc_Tpl_pushBlock(threadData, _txt, _OMC_LIT105);
_txt = omc_Tpl_writeText(threadData, _txt, _a_iterName);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT384);
_txt = omc_Tpl_writeText(threadData, _txt, _a_tvar);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT386);
_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_LIT111);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_varDecls;
goto tmp3_done;
}
case 3: {
modelica_metatype tmpMeta7;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,25,1) == 0) goto tmp3_end;
tmpMeta7 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta7,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_LIT1923);
_txt = omc_Tpl_writeText(threadData, _txt, _a_tvar);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT129);
_txt = omc_Tpl_writeText(threadData, _txt, _a_evar);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1930);
_txt = omc_Tpl_writeText(threadData, _txt, _a_tvar);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1932);
_txt = omc_Tpl_writeText(threadData, _txt, _a_tvar);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1934);
_txt = omc_Tpl_writeText(threadData, _txt, _a_tvar);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1250);
_txt = omc_Tpl_pushBlock(threadData, _txt, _OMC_LIT105);
_txt = omc_Tpl_writeText(threadData, _txt, _a_iterName);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT384);
_txt = omc_Tpl_writeText(threadData, _txt, _a_tvar);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT386);
_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_LIT111);
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_LIT1936);
_txt = omc_CodegenUtil_error(threadData, _txt, omc_Tpl_sourceInfo(threadData, _OMC_LIT27, ((modelica_integer) 3442), ((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[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_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_metatype tmpMeta6;
modelica_metatype tmpMeta7;
modelica_integer tmp8;
modelica_metatype tmpMeta9;
modelica_metatype tmpMeta10;
modelica_metatype tmpMeta11;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,4,6) == 0) goto tmp3_end;
tmpMeta6 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
tmpMeta7 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 3));
tmp8 = mmc_unbox_integer(tmpMeta7);
tmpMeta9 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 4));
tmpMeta10 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 5));
tmpMeta11 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 6));
_i_type__ = tmpMeta6;
_i_iterIsArray = tmp8;
_i_iter = tmpMeta9;
_i_range = tmpMeta10;
_i_statementLst = tmpMeta11;
_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__535(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__536(threadData, _OMC_LIT20, _str_5, _a_varDecls ,&_a_varDecls);
_l_stmtStr = omc_Tpl_pushIter(threadData, _OMC_LIT20, _OMC_LIT104);
_l_stmtStr = omc_CodegenCFunctions_lm__537(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__537(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[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_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: {
modelica_metatype tmpMeta6;
modelica_metatype tmpMeta7;
if (listEmpty(tmp4_2)) goto tmp3_end;
tmpMeta6 = MMC_CAR(tmp4_2);
tmpMeta7 = MMC_CDR(tmp4_2);
_i_stmt = tmpMeta6;
_rest = tmpMeta7;
_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__536(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_LIT322), MMC_STRINGDATA(tmp4_2)) != 0) goto tmp3_end;
_txt = tmp4_1;
_a_varDecls = tmp4_3;
tmpMeta[0+0] = omc_CodegenCFunctions_tempDecl(threadData, _txt, _OMC_LIT322, _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_LIT148, _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__535(threadData_t *threadData, modelica_metatype _in_txt, modelica_string _in_mArg)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta1;
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_string tmp4_2;
tmp4_1 = _in_txt;
tmp4_2 = _in_mArg;
{
modelica_metatype _txt = NULL;
modelica_string _i_s = NULL;
volatile mmc_switch_type tmp4;
int tmp5;
tmp4 = 0;
for (; tmp4 < 3; tmp4++) {
switch (MMC_SWITCH_CAST(tmp4)) {
case 0: {
if (15 != MMC_STRLEN(tmp4_2) || strcmp(MMC_STRINGDATA(_OMC_LIT814), MMC_STRINGDATA(tmp4_2)) != 0) goto tmp3_end;
_txt = tmp4_1;
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT621);
goto tmp3_done;
}
case 1: {
if (14 != MMC_STRLEN(tmp4_2) || strcmp(MMC_STRINGDATA(_OMC_LIT1713), MMC_STRINGDATA(tmp4_2)) != 0) goto tmp3_end;
_txt = tmp4_1;
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT621);
goto tmp3_done;
}
case 2: {
_txt = tmp4_1;
_i_s = tmp4_2;
tmpMeta1 = omc_Tpl_writeStr(threadData, _txt, _i_s);
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta1;
_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__533(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__533(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[3] __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: {
modelica_metatype tmpMeta6;
modelica_metatype tmpMeta7;
modelica_metatype tmpMeta8;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,18,4) == 0) goto tmp3_end;
tmpMeta6 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 3));
tmpMeta7 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 4));
tmpMeta8 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 5));
_i_start = tmpMeta6;
_i_step = tmpMeta7;
_i_stop = tmpMeta8;
_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__529(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__530(threadData, _OMC_LIT20, _a_context);
_l_AddionalFuncName = omc_CodegenCFunctions_fun__531(threadData, _OMC_LIT20, _a_context);
_str_11 = omc_Tpl_textString(threadData, _l_stepValue);
_l_stepCheck = omc_CodegenCFunctions_fun__532(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_LIT129);
_txt = omc_Tpl_writeText(threadData, _txt, _l_startValue);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT208);
_txt = omc_Tpl_writeText(threadData, _txt, _l_stepVar);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT129);
_txt = omc_Tpl_writeText(threadData, _txt, _l_stepValue);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT208);
_txt = omc_Tpl_writeText(threadData, _txt, _l_stopVar);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT129);
_txt = omc_Tpl_writeText(threadData, _txt, _l_stopValue);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT169);
_txt = omc_Tpl_writeText(threadData, _txt, _l_stepCheck);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1938);
_txt = omc_Tpl_writeText(threadData, _txt, _l_stepVar);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1940);
_txt = omc_Tpl_writeText(threadData, _txt, _l_startVar);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT496);
_txt = omc_Tpl_writeText(threadData, _txt, _l_stopVar);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1942);
_txt = omc_Tpl_writeText(threadData, _txt, _l_stepVar);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1944);
_txt = omc_Tpl_writeText(threadData, _txt, _l_startVar);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT189);
_txt = omc_Tpl_writeText(threadData, _txt, _l_stopVar);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1947);
_txt = omc_Tpl_pushBlock(threadData, _txt, _OMC_LIT105);
_txt = omc_Tpl_writeStr(threadData, _txt, _a_type);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT34);
_txt = omc_Tpl_writeText(threadData, _txt, _l_iterName);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1950);
_txt = omc_Tpl_writeText(threadData, _txt, _l_iterName);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT129);
_txt = omc_Tpl_writeText(threadData, _txt, _l_startValue);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1952);
_txt = omc_Tpl_writeStr(threadData, _txt, _a_shortType);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT30);
_txt = omc_Tpl_writeText(threadData, _txt, _l_iterName);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT301);
_txt = omc_Tpl_writeText(threadData, _txt, _l_startVar);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT301);
_txt = omc_Tpl_writeText(threadData, _txt, _l_stopVar);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1932);
_txt = omc_Tpl_writeText(threadData, _txt, _l_iterName);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT117);
_txt = omc_Tpl_writeText(threadData, _txt, _l_stepVar);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT439);
_txt = omc_Tpl_pushBlock(threadData, _txt, _OMC_LIT105);
_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_LIT167);
_txt = omc_Tpl_popBlock(threadData, _txt);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT111);
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__532(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 tmpMeta1;
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_eqnsindx;
tmp4_4 = _in_a_AddionalFuncName;
tmp4_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 tmp4;
int tmp5;
tmp4 = 0;
for (; tmp4 < 4; tmp4++) {
switch (MMC_SWITCH_CAST(tmp4)) {
case 0: {
if (1 != MMC_STRLEN(tmp4_2) || strcmp(MMC_STRINGDATA(_OMC_LIT409), MMC_STRINGDATA(tmp4_2)) != 0) goto tmp3_end;
_txt = tmp4_1;
tmpMeta1 = _txt;
goto tmp3_done;
}
case 1: {
if (22 != MMC_STRLEN(tmp4_2) || strcmp(MMC_STRINGDATA(_OMC_LIT1963), MMC_STRINGDATA(tmp4_2)) != 0) goto tmp3_end;
_txt = tmp4_1;
tmpMeta1 = _txt;
goto tmp3_done;
}
case 2: {
if (23 != MMC_STRLEN(tmp4_2) || strcmp(MMC_STRINGDATA(_OMC_LIT1964), MMC_STRINGDATA(tmp4_2)) != 0) goto tmp3_end;
_txt = tmp4_1;
tmpMeta1 = _txt;
goto tmp3_done;
}
case 3: {
_txt = tmp4_1;
_a_eqnsindx = tmp4_3;
_a_AddionalFuncName = tmp4_4;
_a_stepVar = tmp4_5;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1569);
_txt = omc_Tpl_writeText(threadData, _txt, _a_stepVar);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1900);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT98);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1954);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT98);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1956);
_txt = omc_Tpl_writeText(threadData, _txt, _a_AddionalFuncName);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1958);
_txt = omc_Tpl_writeText(threadData, _txt, _a_eqnsindx);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1960);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT98);
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1962);
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta1;
_return: OMC_LABEL_UNUSED
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__531(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_context)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta1;
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_metatype tmp4_2;
tmp4_1 = _in_txt;
tmp4_2 = _in_a_context;
{
modelica_metatype _txt = 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;
tmpMeta1 = _txt;
goto tmp3_done;
}
case 1: {
_txt = tmp4_1;
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1597);
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta1;
_return: OMC_LABEL_UNUSED
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__530(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_context)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta1;
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_metatype tmp4_2;
tmp4_1 = _in_txt;
tmp4_2 = _in_a_context;
{
modelica_metatype _txt = 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;
tmpMeta1 = _txt;
goto tmp3_done;
}
case 1: {
_txt = tmp4_1;
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1966);
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta1;
_return: OMC_LABEL_UNUSED
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__529(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[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_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: {
modelica_metatype tmpMeta6;
if (optionNone(tmp4_2)) goto tmp3_end;
tmpMeta6 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 1));
_i_eo = tmpMeta6;
_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_LIT410);
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[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_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_metatype tmpMeta6;
modelica_metatype tmpMeta7;
modelica_integer tmp8;
modelica_metatype tmpMeta9;
modelica_metatype tmpMeta10;
modelica_metatype tmpMeta11;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,4,6) == 0) goto tmp3_end;
tmpMeta6 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
tmpMeta7 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 3));
tmp8 = mmc_unbox_integer(tmpMeta7);
tmpMeta9 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 4));
tmpMeta10 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 5));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta10,18,4) == 0) goto tmp3_end;
tmpMeta11 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 6));
_i_type__ = tmpMeta6;
_i_iterIsArray = tmp8;
_i_iter = tmpMeta9;
_i_rng = tmpMeta10;
_i_statementLst = tmpMeta11;
_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_LIT104);
_l_stmtStr = omc_CodegenCFunctions_lm__527(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__527(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[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_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: {
modelica_metatype tmpMeta6;
modelica_metatype tmpMeta7;
if (listEmpty(tmp4_2)) goto tmp3_end;
tmpMeta6 = MMC_CAR(tmp4_2);
tmpMeta7 = MMC_CDR(tmp4_2);
_i_stmt = tmpMeta6;
_rest = tmpMeta7;
_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[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_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: {
modelica_metatype tmpMeta6;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,4,6) == 0) goto tmp3_end;
tmpMeta6 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 5));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta6,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,6) == 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__524(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__524(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[3] __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: {
modelica_metatype tmpMeta6;
modelica_metatype tmpMeta7;
modelica_metatype tmpMeta8;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,18,4) == 0) goto tmp3_end;
tmpMeta6 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 3));
tmpMeta7 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 4));
tmpMeta8 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 5));
_i_start = tmpMeta6;
_i_step = tmpMeta7;
_i_stop = tmpMeta8;
_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__522(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_LIT1967, _a_varDecls ,&_a_varDecls);
_l_parforKernelName = omc_Tpl_writeTok(threadData, _OMC_LIT20, _OMC_LIT1969);
_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_LIT1971);
_l_kernelArgSets = _OMC_LIT20;
omc_CodegenCFunctions_lm__523(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_LIT129);
_txt = omc_Tpl_writeText(threadData, _txt, _l_startValue);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT208);
_txt = omc_Tpl_writeText(threadData, _txt, _l_stepVar);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT129);
_txt = omc_Tpl_writeText(threadData, _txt, _l_stepValue);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT208);
_txt = omc_Tpl_writeText(threadData, _txt, _l_stopVar);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT129);
_txt = omc_Tpl_writeText(threadData, _txt, _l_stopValue);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT169);
_txt = omc_Tpl_writeText(threadData, _txt, _l_cl__kernelVar);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1973);
_txt = omc_Tpl_writeText(threadData, _txt, _l_parforKernelName);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1977);
_txt = omc_Tpl_writeText(threadData, _txt, _l_kerArgNr);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1982);
_txt = omc_Tpl_writeText(threadData, _txt, _l_cl__kernelVar);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT301);
_txt = omc_Tpl_writeText(threadData, _txt, _l_kerArgNr);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT301);
_txt = omc_Tpl_writeText(threadData, _txt, _l_startVar);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1984);
_txt = omc_Tpl_writeText(threadData, _txt, _l_kerArgNr);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT208);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1985);
_txt = omc_Tpl_writeText(threadData, _txt, _l_cl__kernelVar);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT301);
_txt = omc_Tpl_writeText(threadData, _txt, _l_kerArgNr);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT301);
_txt = omc_Tpl_writeText(threadData, _txt, _l_stepVar);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1984);
_txt = omc_Tpl_writeText(threadData, _txt, _l_kerArgNr);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT208);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1985);
_txt = omc_Tpl_writeText(threadData, _txt, _l_cl__kernelVar);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT301);
_txt = omc_Tpl_writeText(threadData, _txt, _l_kerArgNr);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT301);
_txt = omc_Tpl_writeText(threadData, _txt, _l_stopVar);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1984);
_txt = omc_Tpl_writeText(threadData, _txt, _l_kerArgNr);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT208);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1851);
_txt = omc_Tpl_writeText(threadData, _txt, _l_kernelArgSets);
_txt = omc_Tpl_softNewLine(threadData, _txt);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1989);
_txt = omc_Tpl_writeText(threadData, _txt, _l_cl__kernelVar);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1993);
_txt = omc_Tpl_writeText(threadData, _txt, _l_cl__kernelVar);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1995);
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__523(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[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_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: {
modelica_metatype tmpMeta6;
modelica_metatype tmpMeta7;
if (listEmpty(tmp4_2)) goto tmp3_end;
tmpMeta6 = MMC_CAR(tmp4_2);
tmpMeta7 = MMC_CDR(tmp4_2);
_i_varTuple = tmpMeta6;
_rest = tmpMeta7;
_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__522(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[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_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: {
modelica_metatype tmpMeta6;
if (optionNone(tmp4_2)) goto tmp3_end;
tmpMeta6 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 1));
_i_eo = tmpMeta6;
_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_LIT1997);
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[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_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_metatype tmpMeta6;
modelica_metatype tmpMeta7;
modelica_integer tmp8;
modelica_metatype tmpMeta9;
modelica_metatype tmpMeta10;
modelica_metatype tmpMeta11;
modelica_metatype tmpMeta12;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,5,7) == 0) goto tmp3_end;
tmpMeta6 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
tmpMeta7 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 3));
tmp8 = mmc_unbox_integer(tmpMeta7);
tmpMeta9 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 4));
tmpMeta10 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 5));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta10,18,4) == 0) goto tmp3_end;
tmpMeta11 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 6));
tmpMeta12 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 7));
_i_type__ = tmpMeta6;
_i_iterIsArray = tmp8;
_i_iter = tmpMeta9;
_i_rng = tmpMeta10;
_i_statementLst = tmpMeta11;
_i_loopPrlVars = tmpMeta12;
_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_LIT104);
_l_stmtStr = omc_CodegenCFunctions_lm__520(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__520(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[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_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: {
modelica_metatype tmpMeta6;
modelica_metatype tmpMeta7;
if (listEmpty(tmp4_2)) goto tmp3_end;
tmpMeta6 = MMC_CAR(tmp4_2);
tmpMeta7 = MMC_CDR(tmp4_2);
_i_stmt = tmpMeta6;
_rest = tmpMeta7;
_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[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_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: {
modelica_metatype tmpMeta6;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,5,7) == 0) goto tmp3_end;
tmpMeta6 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 5));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta6,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,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_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__517(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__517(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[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_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_metatype tmpMeta6;
modelica_metatype tmpMeta7;
modelica_integer tmp8;
modelica_metatype tmpMeta9;
modelica_metatype tmpMeta10;
modelica_metatype tmpMeta11;
modelica_metatype tmpMeta12;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,5,7) == 0) goto tmp3_end;
tmpMeta6 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
tmpMeta7 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 3));
tmp8 = mmc_unbox_integer(tmpMeta7);
tmpMeta9 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 4));
tmpMeta10 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 5));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta10,18,4) == 0) goto tmp3_end;
tmpMeta11 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 6));
tmpMeta12 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 7));
_i_type__ = tmpMeta6;
_i_iterIsArray = tmp8;
_i_iter = tmpMeta9;
_i_statementLst = tmpMeta11;
_i_loopPrlVars = tmpMeta12;
_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_LIT1969);
_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_LIT104);
_l_body = omc_CodegenCFunctions_lm__514(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__515(threadData, _OMC_LIT20, _i_loopPrlVars, _l_reconstrucedArrays ,&_l_reconstrucedArrays);
_l_argStr = omc_Tpl_pushIter(threadData, _OMC_LIT20, _OMC_LIT2001);
_l_argStr = omc_CodegenCFunctions_lm__516(threadData, _l_argStr, _i_loopPrlVars);
_l_argStr = omc_Tpl_popIter(threadData, _l_argStr);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT2005);
_txt = omc_Tpl_writeText(threadData, _txt, _l_parforKernelName);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT2014);
_txt = omc_Tpl_pushBlock(threadData, _txt, _OMC_LIT2015);
_txt = omc_Tpl_writeText(threadData, _txt, _l_argStr);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT2016);
_txt = omc_Tpl_popBlock(threadData, _txt);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT2024);
_txt = omc_Tpl_pushBlock(threadData, _txt, _OMC_LIT105);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT2026);
_txt = omc_Tpl_writeText(threadData, _txt, _l_iterName);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT2028);
_txt = omc_Tpl_writeText(threadData, _txt, _l_iterName);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT2030);
_txt = omc_Tpl_writeText(threadData, _txt, _l_iterName);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT2036);
_txt = omc_Tpl_pushBlock(threadData, _txt, _OMC_LIT105);
_txt = omc_Tpl_writeText(threadData, _txt, _l_reconstrucedArrays);
_txt = omc_Tpl_softNewLine(threadData, _txt);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT2040);
_txt = omc_Tpl_writeText(threadData, _txt, _l_loopVarDecls);
_txt = omc_Tpl_softNewLine(threadData, _txt);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT98);
_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_LIT167);
_txt = omc_Tpl_popBlock(threadData, _txt);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT111);
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__516(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_items)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta1;
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_metatype tmp4_2;
tmp4_1 = _in_txt;
tmp4_2 = _in_items;
{
modelica_metatype _txt = NULL;
modelica_metatype _rest = 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;
tmpMeta1 = _txt;
goto tmp3_done;
}
case 1: {
modelica_metatype tmpMeta6;
modelica_metatype tmpMeta7;
if (listEmpty(tmp4_2)) goto tmp3_end;
tmpMeta6 = MMC_CAR(tmp4_2);
tmpMeta7 = MMC_CDR(tmp4_2);
_i_var = tmpMeta6;
_rest = tmpMeta7;
_txt = tmp4_1;
_txt = omc_CodegenCFunctions_parFunArgDefinitionFromLooptupleVar(threadData, _txt, _i_var);
_txt = omc_Tpl_nextIter(threadData, _txt);
_in_txt = _txt;
_in_items = _rest;
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 = tmpMeta1;
_return: OMC_LABEL_UNUSED
return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_lm__515(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[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_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: {
modelica_metatype tmpMeta6;
modelica_metatype tmpMeta7;
if (listEmpty(tmp4_2)) goto tmp3_end;
tmpMeta6 = MMC_CAR(tmp4_2);
tmpMeta7 = MMC_CDR(tmp4_2);
_i_var = tmpMeta6;
_rest = tmpMeta7;
_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__514(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[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_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: {
modelica_metatype tmpMeta6;
modelica_metatype tmpMeta7;
if (listEmpty(tmp4_2)) goto tmp3_end;
tmpMeta6 = MMC_CAR(tmp4_2);
tmpMeta7 = MMC_CDR(tmp4_2);
_i_stmt = tmpMeta6;
_rest = tmpMeta7;
_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[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_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: {
modelica_metatype tmpMeta6;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,5,7) == 0) goto tmp3_end;
tmpMeta6 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 5));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta6,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,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_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[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_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: {
modelica_metatype tmpMeta6;
modelica_metatype tmpMeta7;
modelica_metatype tmpMeta8;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,3,4) == 0) goto tmp3_end;
tmpMeta6 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
tmpMeta7 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 3));
tmpMeta8 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 4));
_i_exp = tmpMeta6;
_i_statementLst = tmpMeta7;
_i_else__ = tmpMeta8;
_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_LIT357);
_txt = omc_Tpl_writeText(threadData, _txt, _l_condExp);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT439);
_txt = omc_Tpl_pushBlock(threadData, _txt, _OMC_LIT105);
_txt = omc_Tpl_pushIter(threadData, _txt, _OMC_LIT104);
_txt = omc_CodegenCFunctions_lm__511(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_LIT167);
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__511(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[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_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: {
modelica_metatype tmpMeta6;
modelica_metatype tmpMeta7;
if (listEmpty(tmp4_2)) goto tmp3_end;
tmpMeta6 = MMC_CAR(tmp4_2);
tmpMeta7 = MMC_CDR(tmp4_2);
_i_stmt = tmpMeta6;
_rest = tmpMeta7;
_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[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_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_11 = NULL;
modelica_boolean _ret_10;
modelica_metatype _l_res = NULL;
modelica_metatype _txt_8 = NULL;
modelica_metatype _txt_7 = NULL;
modelica_metatype _txt_6 = NULL;
modelica_metatype _txt_4 = NULL;
modelica_metatype _l_preExp = NULL;
modelica_metatype _txt_2 = NULL;
modelica_metatype _l_rhsStr = NULL;
modelica_metatype _l_sub = NULL;
volatile mmc_switch_type tmp4;
int tmp5;
tmp4 = 0;
for (; tmp4 < 6; tmp4++) {
switch (MMC_SWITCH_CAST(tmp4)) {
case 0: {
modelica_metatype tmpMeta6;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,6,2) == 0) goto tmp3_end;
tmpMeta6 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta6,3,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_LIT1334);
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: {
modelica_metatype tmpMeta7;
modelica_metatype tmpMeta8;
modelica_metatype tmpMeta9;
modelica_metatype tmpMeta10;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,6,2) == 0) goto tmp3_end;
tmpMeta7 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
tmpMeta8 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 3));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta8,9,3) == 0) goto tmp3_end;
tmpMeta9 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta8), 2));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta9,3,1) == 0) goto tmp3_end;
tmpMeta10 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta8), 3));
_i_cr = tmpMeta7;
_i_ty = tmpMeta8;
_i_varLst = tmpMeta10;
_txt = tmp4_1;
_a_context = tmp4_3;
_a_varDecls = tmp4_4;
_a_preExp = tmp4_5;
_a_varCopy = tmp4_6;
_a_auxFunction = tmp4_7;
_l_sub = _OMC_LIT20;
_txt_2 = omc_CodegenCFunctions_expTypeArrayIf(threadData, _OMC_LIT20, _i_ty);
_l_rhsStr = omc_CodegenCFunctions_tempDecl(threadData, _OMC_LIT20, omc_Tpl_textString(threadData, _txt_2), _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_LIT104);
_a_varCopy = omc_CodegenCFunctions_lm__506(threadData, _a_varCopy, _i_varLst, _l_rhsStr, _l_sub, _a_auxFunction, _a_varDecls, _a_preExp, _a_context, _i_cr ,&_l_sub ,&_a_auxFunction ,&_a_varDecls ,&_a_preExp);
_a_varCopy = omc_Tpl_popIter(threadData, _a_varCopy);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT40);
_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: {
modelica_metatype tmpMeta11;
modelica_metatype tmpMeta12;
modelica_metatype tmpMeta13;
modelica_metatype tmpMeta14;
modelica_metatype tmpMeta15;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,13,3) == 0) goto tmp3_end;
tmpMeta11 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 3));
tmpMeta12 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 4));
tmpMeta13 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta12), 2));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta13,9,3) == 0) goto tmp3_end;
tmpMeta14 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta13), 2));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta14,3,1) == 0) goto tmp3_end;
tmpMeta15 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta13), 3));
_i_expLst = tmpMeta11;
_i_ty = tmpMeta13;
_i_varLst = tmpMeta15;
_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_4 = omc_CodegenCFunctions_expTypeArrayIf(threadData, _OMC_LIT20, _i_ty);
_l_rhsStr = omc_CodegenCFunctions_tempDecl(threadData, _OMC_LIT20, omc_Tpl_textString(threadData, _txt_4), _a_varDecls ,&_a_varDecls);
_txt_6 = omc_CodegenCFunctions_expTypeModelica(threadData, _OMC_LIT20, _i_ty);
omc_CodegenCFunctions_tempDecl(threadData, _OMC_LIT20, omc_Tpl_textString(threadData, _txt_6), _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_LIT474);
_a_varCopy = omc_CodegenCFunctions_lm__507(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_LIT40);
_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: {
modelica_metatype tmpMeta16;
modelica_metatype tmpMeta17;
modelica_metatype tmpMeta18;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,14,4) == 0) goto tmp3_end;
tmpMeta16 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 3));
tmpMeta17 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 5));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta17,9,3) == 0) goto tmp3_end;
tmpMeta18 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta17), 3));
_i_expLst = tmpMeta16;
_i_ty = tmpMeta17;
_i_varLst = tmpMeta18;
_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_7 = omc_CodegenCFunctions_expTypeArrayIf(threadData, _OMC_LIT20, _i_ty);
_l_rhsStr = omc_CodegenCFunctions_tempDecl(threadData, _OMC_LIT20, omc_Tpl_textString(threadData, _txt_7), _a_varDecls ,&_a_varDecls);
_txt_8 = omc_CodegenCFunctions_expTypeModelica(threadData, _OMC_LIT20, _i_ty);
omc_CodegenCFunctions_tempDecl(threadData, _OMC_LIT20, omc_Tpl_textString(threadData, _txt_8), _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_LIT474);
_a_varCopy = omc_CodegenCFunctions_lm__508(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_LIT40);
_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 4: {
modelica_metatype tmpMeta19;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,6,2) == 0) goto tmp3_end;
tmpMeta19 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 3));
_i_inExp = tmp4_2;
_i_ty = tmpMeta19;
_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_10 = omc_Types_isArrayWithUnknownDimension(threadData, _i_ty);
_txt = omc_CodegenCFunctions_fun__509(threadData, _txt, _ret_10, _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 5: {
_txt = tmp4_1;
_i_inExp = tmp4_2;
_a_varDecls = tmp4_4;
_a_preExp = tmp4_5;
_a_varCopy = tmp4_6;
_a_auxFunction = tmp4_7;
_txt_11 = omc_Tpl_writeTok(threadData, _OMC_LIT20, _OMC_LIT2042);
_txt_11 = omc_ExpressionDumpTpl_dumpExp(threadData, _txt_11, _i_inExp, _OMC_LIT239);
_txt = omc_CodegenUtil_error(threadData, _txt, omc_Tpl_sourceInfo(threadData, _OMC_LIT27, ((modelica_integer) 3177), ((modelica_integer) 11)), omc_Tpl_textString(threadData, _txt_11));
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__509(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_LIT40);
_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_LIT2044);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT98);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT40);
_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__509(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__509(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__508(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[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_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: {
modelica_metatype tmpMeta6;
modelica_metatype tmpMeta7;
modelica_metatype tmpMeta8;
if (listEmpty(tmp4_2)) goto tmp3_end;
tmpMeta6 = MMC_CAR(tmp4_2);
tmpMeta7 = MMC_CDR(tmp4_2);
tmpMeta8 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta6), 2));
_i_var_name = tmpMeta8;
_rest = tmpMeta7;
_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_LIT129);
_txt = omc_Tpl_writeText(threadData, _txt, _a_rhsStr);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT528);
_txt = omc_Tpl_writeStr(threadData, _txt, _i_var_name);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT113);
_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: {
modelica_metatype tmpMeta9;
modelica_metatype tmpMeta10;
if (listEmpty(tmp4_2)) goto tmp3_end;
tmpMeta9 = MMC_CAR(tmp4_2);
tmpMeta10 = MMC_CDR(tmp4_2);
_rest = tmpMeta10;
_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__507(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[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_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: {
modelica_metatype tmpMeta6;
modelica_metatype tmpMeta7;
modelica_metatype tmpMeta8;
if (listEmpty(tmp4_2)) goto tmp3_end;
tmpMeta6 = MMC_CAR(tmp4_2);
tmpMeta7 = MMC_CDR(tmp4_2);
tmpMeta8 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta6), 2));
_i_var_name = tmpMeta8;
_rest = tmpMeta7;
_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_LIT129);
_txt = omc_Tpl_writeText(threadData, _txt, _a_rhsStr);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT528);
_txt = omc_Tpl_writeStr(threadData, _txt, _i_var_name);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT113);
_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: {
modelica_metatype tmpMeta9;
modelica_metatype tmpMeta10;
if (listEmpty(tmp4_2)) goto tmp3_end;
tmpMeta9 = MMC_CAR(tmp4_2);
tmpMeta10 = MMC_CDR(tmp4_2);
_rest = tmpMeta10;
_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__506(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_items, modelica_metatype _in_a_rhsStr, 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 _in_a_cr, modelica_metatype *out_out_a_sub, 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_sub = 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_items;
tmp4_3 = _in_a_rhsStr;
tmp4_4 = _in_a_sub;
tmp4_5 = _in_a_auxFunction;
tmp4_6 = _in_a_varDecls;
tmp4_7 = _in_a_preExp;
tmp4_8 = _in_a_context;
tmp4_9 = _in_a_cr;
{
modelica_metatype _txt = NULL;
modelica_metatype _rest = NULL;
modelica_metatype _a_rhsStr = NULL;
modelica_metatype _a_sub = 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_sub = tmp4_4;
_a_auxFunction = tmp4_5;
_a_varDecls = tmp4_6;
_a_preExp = tmp4_7;
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_sub;
tmpMeta[0+2] = _a_auxFunction;
tmpMeta[0+3] = _a_varDecls;
tmpMeta[0+4] = _a_preExp;
goto tmp3_done;
}
case 1: {
modelica_metatype tmpMeta6;
modelica_metatype tmpMeta7;
modelica_metatype tmpMeta8;
if (listEmpty(tmp4_2)) goto tmp3_end;
tmpMeta6 = MMC_CAR(tmp4_2);
tmpMeta7 = MMC_CDR(tmp4_2);
tmpMeta8 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta6), 2));
_i_var_name = tmpMeta8;
_rest = tmpMeta7;
_txt = tmp4_1;
_a_rhsStr = tmp4_3;
_a_sub = tmp4_4;
_a_auxFunction = tmp4_5;
_a_varDecls = tmp4_6;
_a_preExp = tmp4_7;
_a_context = tmp4_8;
_a_cr = tmp4_9;
_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_sub ,&_a_preExp ,&_a_varDecls ,&_a_auxFunction ,&_a_sub);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT129);
_txt = omc_Tpl_writeText(threadData, _txt, _a_rhsStr);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT528);
_txt = omc_Tpl_writeStr(threadData, _txt, _i_var_name);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT113);
_txt = omc_Tpl_nextIter(threadData, _txt);
_in_txt = _txt;
_in_items = _rest;
_in_a_rhsStr = _a_rhsStr;
_in_a_sub = _a_sub;
_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: {
modelica_metatype tmpMeta9;
modelica_metatype tmpMeta10;
if (listEmpty(tmp4_2)) goto tmp3_end;
tmpMeta9 = MMC_CAR(tmp4_2);
tmpMeta10 = MMC_CDR(tmp4_2);
_rest = tmpMeta10;
_txt = tmp4_1;
_a_rhsStr = tmp4_3;
_a_sub = tmp4_4;
_a_auxFunction = tmp4_5;
_a_varDecls = tmp4_6;
_a_preExp = tmp4_7;
_a_context = tmp4_8;
_a_cr = tmp4_9;
_in_txt = _txt;
_in_items = _rest;
_in_a_rhsStr = _a_rhsStr;
_in_a_sub = _a_sub;
_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_sub = 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_sub) { *out_out_a_sub = _out_a_sub; }
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[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_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_17;
modelica_integer _ret_16;
modelica_metatype _l_startIndexOutputs = NULL;
modelica_integer _ret_14;
modelica_metatype _l_prefix = NULL;
modelica_metatype _l_sub = 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: {
modelica_metatype tmpMeta6;
modelica_metatype tmpMeta7;
modelica_metatype tmpMeta8;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,1,4) == 0) goto tmp3_end;
tmpMeta6 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 3));
if (listEmpty(tmpMeta6)) goto tmp3_end;
tmpMeta7 = MMC_CAR(tmpMeta6);
tmpMeta8 = MMC_CDR(tmpMeta6);
if (!listEmpty(tmpMeta8)) 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) 3071), ((modelica_integer) 11)), _OMC_LIT2045);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_varDecls;
tmpMeta[0+2] = _a_auxFunction;
goto tmp3_done;
}
case 1: {
modelica_metatype tmpMeta9;
modelica_metatype tmpMeta10;
modelica_metatype tmpMeta11;
modelica_metatype tmpMeta12;
modelica_metatype tmpMeta13;
modelica_metatype tmpMeta14;
modelica_metatype tmpMeta15;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,1,4) == 0) goto tmp3_end;
tmpMeta9 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 3));
if (listEmpty(tmpMeta9)) goto tmp3_end;
tmpMeta10 = MMC_CAR(tmpMeta9);
tmpMeta11 = MMC_CDR(tmpMeta9);
tmpMeta12 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 4));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta12,13,3) == 0) goto tmp3_end;
tmpMeta13 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta12), 4));
tmpMeta14 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta13), 2));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta14,14,2) == 0) goto tmp3_end;
tmpMeta15 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta14), 2));
_i_expExpLst = tmpMeta9;
_i_firstexp = tmpMeta10;
_i_exp = tmpMeta12;
_i_ntys = tmpMeta15;
_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__501(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_LIT541, _ret_8);
_l_lhsCrefs2 = omc_CodegenCFunctions_lm__502(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: {
modelica_metatype tmpMeta16;
modelica_metatype tmpMeta17;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,1,4) == 0) goto tmp3_end;
tmpMeta16 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 3));
tmpMeta17 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 4));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta17,33,6) == 0) goto tmp3_end;
_i_expExpLst = tmpMeta16;
_i_exp = tmpMeta17;
_txt = tmp4_1;
_a_context = tmp4_3;
_a_varDecls = tmp4_4;
_a_auxFunction = tmp4_5;
_l_sub = _OMC_LIT20;
_l_preExp = _OMC_LIT20;
_l_prefix = omc_Tpl_writeTok(threadData, _OMC_LIT20, _OMC_LIT146);
_ret_14 = omc_System_tmpTick(threadData);
_l_prefix = omc_Tpl_writeStr(threadData, _l_prefix, intString(_ret_14));
_ret_16 = listLength(_i_expExpLst);
_ret_17 = omc_System_tmpTickIndexReserve(threadData, ((modelica_integer) 1), _ret_16);
_l_startIndexOutputs = omc_Tpl_writeStr(threadData, _OMC_LIT20, intString(_ret_17));
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_LIT2046);
_l_lhsCrefs = omc_CodegenCFunctions_lm__503(threadData, _l_lhsCrefs, _i_expExpLst, _l_sub, _a_auxFunction, _a_varDecls, _l_preExp, _a_context, _l_startIndexOutputs, _l_prefix, _i_expExpLst ,&_l_sub ,&_a_auxFunction ,&_a_varDecls ,&_l_preExp);
_l_lhsCrefs = omc_Tpl_popIter(threadData, _l_lhsCrefs);
_txt = omc_Tpl_pushIter(threadData, _txt, _OMC_LIT2047);
_txt = omc_CodegenCFunctions_lm__504(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) 3112), ((modelica_integer) 14)), _OMC_LIT2048);
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__504(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[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_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: {
modelica_metatype tmpMeta6;
modelica_metatype tmpMeta7;
if (listEmpty(tmp4_2)) goto tmp3_end;
tmpMeta6 = MMC_CAR(tmp4_2);
tmpMeta7 = MMC_CDR(tmp4_2);
_i_crefexp = tmpMeta6;
_rest = tmpMeta7;
_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__503(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_items, 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 _in_a_startIndexOutputs, modelica_metatype _in_a_prefix, modelica_metatype _in_a_expExpLst, modelica_metatype *out_out_a_sub, 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_sub = 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;
tmp4_1 = _in_txt;
tmp4_2 = _in_items;
tmp4_3 = _in_a_sub;
tmp4_4 = _in_a_auxFunction;
tmp4_5 = _in_a_varDecls;
tmp4_6 = _in_a_preExp;
tmp4_7 = _in_a_context;
tmp4_8 = _in_a_startIndexOutputs;
tmp4_9 = _in_a_prefix;
tmp4_10 = _in_a_expExpLst;
{
modelica_metatype _txt = NULL;
modelica_metatype _rest = NULL;
modelica_metatype _a_sub = 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_sub = tmp4_3;
_a_auxFunction = tmp4_4;
_a_varDecls = tmp4_5;
_a_preExp = tmp4_6;
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_sub;
tmpMeta[0+2] = _a_auxFunction;
tmpMeta[0+3] = _a_varDecls;
tmpMeta[0+4] = _a_preExp;
goto tmp3_done;
}
case 1: {
modelica_metatype tmpMeta6;
modelica_metatype tmpMeta7;
modelica_metatype tmpMeta8;
if (listEmpty(tmp4_2)) goto tmp3_end;
tmpMeta6 = MMC_CAR(tmp4_2);
tmpMeta7 = MMC_CDR(tmp4_2);
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta6,6,2) == 0) goto tmp3_end;
tmpMeta8 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta6), 2));
_i_cr = tmpMeta8;
_rest = tmpMeta7;
_txt = tmp4_1;
_a_sub = tmp4_3;
_a_auxFunction = tmp4_4;
_a_varDecls = tmp4_5;
_a_preExp = tmp4_6;
_a_context = tmp4_7;
_a_startIndexOutputs = tmp4_8;
_a_prefix = tmp4_9;
_a_expExpLst = tmp4_10;
_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_sub ,&_a_preExp ,&_a_varDecls ,&_a_auxFunction ,&_a_sub);
_txt = omc_Tpl_writeText(threadData, _txt, _l_lhsStr);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT129);
_txt = omc_Tpl_writeText(threadData, _txt, _l_rhsStr);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT113);
_txt = omc_Tpl_nextIter(threadData, _txt);
_in_txt = _txt;
_in_items = _rest;
_in_a_sub = _a_sub;
_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: {
modelica_metatype tmpMeta9;
modelica_metatype tmpMeta10;
if (listEmpty(tmp4_2)) goto tmp3_end;
tmpMeta9 = MMC_CAR(tmp4_2);
tmpMeta10 = MMC_CDR(tmp4_2);
_rest = tmpMeta10;
_txt = tmp4_1;
_a_sub = tmp4_3;
_a_auxFunction = tmp4_4;
_a_varDecls = tmp4_5;
_a_preExp = tmp4_6;
_a_context = tmp4_7;
_a_startIndexOutputs = tmp4_8;
_a_prefix = tmp4_9;
_a_expExpLst = tmp4_10;
_in_txt = _txt;
_in_items = _rest;
_in_a_sub = _a_sub;
_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_sub = 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_sub) { *out_out_a_sub = _out_a_sub; }
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__502(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_items)
{
modelica_metatype _out_txt = NULL;
modelica_metatype tmpMeta1;
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_metatype tmp4_2;
tmp4_1 = _in_txt;
tmp4_2 = _in_items;
{
modelica_metatype _txt = NULL;
modelica_metatype _rest = NULL;
modelica_string _i_it = 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;
tmpMeta1 = _txt;
goto tmp3_done;
}
case 1: {
modelica_metatype tmpMeta6;
modelica_metatype tmpMeta7;
if (listEmpty(tmp4_2)) goto tmp3_end;
tmpMeta6 = MMC_CAR(tmp4_2);
tmpMeta7 = MMC_CDR(tmp4_2);
_i_it = tmpMeta6;
_rest = tmpMeta7;
_txt = tmp4_1;
_txt = omc_Tpl_writeStr(threadData, _txt, _i_it);
_in_txt = _txt;
_in_items = _rest;
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 = tmpMeta1;
_return: OMC_LABEL_UNUSED
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_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[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_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: {
modelica_metatype tmpMeta6;
modelica_metatype tmpMeta7;
if (listEmpty(tmp4_2)) goto tmp3_end;
tmpMeta6 = MMC_CAR(tmp4_2);
tmpMeta7 = MMC_CDR(tmp4_2);
_i_e = tmpMeta6;
_rest = tmpMeta7;
_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_LIT2050);
_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 _txt, modelica_metatype _a_lhs, modelica_string _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 _l_sub = NULL;
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
_l_sub = _OMC_LIT20;
_out_txt = omc_CodegenCFunctions_fun__499(threadData, _txt, _a_lhs, _a_exp, _l_sub, _a_auxFunction, _a_varDecls, _a_preExp, _a_context ,&_l_sub ,&_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__499(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_lhs, modelica_string _in_a_exp, 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_sub, 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_sub = 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_string 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_lhs;
tmp4_3 = _in_a_exp;
tmp4_4 = _in_a_sub;
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_string _a_exp = NULL;
modelica_metatype _a_sub = NULL;
modelica_metatype _a_auxFunction = NULL;
modelica_metatype _a_varDecls = NULL;
modelica_metatype _a_preExp = NULL;
modelica_metatype _a_context = 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: {
modelica_metatype tmpMeta6;
modelica_metatype tmpMeta7;
modelica_metatype tmpMeta8;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,6,2) == 0) goto tmp3_end;
tmpMeta6 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
tmpMeta7 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 3));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta7,6,2) == 0) goto tmp3_end;
tmpMeta8 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta7), 2));
_i_cr = tmpMeta6;
_i_ty = tmpMeta7;
_i_aty = tmpMeta8;
_txt = tmp4_1;
_a_exp = tmp4_3;
_a_sub = tmp4_4;
_a_auxFunction = tmp4_5;
_a_varDecls = tmp4_6;
_a_preExp = tmp4_7;
_a_context = tmp4_8;
_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);
tmpMeta[0+0] = omc_CodegenCFunctions_fun__498(threadData, _txt, _a_context, _i_aty, _l_ispec, _a_exp, _l_arrayType, _a_sub, _a_auxFunction, _a_varDecls, _a_preExp, _i_cr, &tmpMeta[0+1], &tmpMeta[0+2], &tmpMeta[0+3], &tmpMeta[0+4]);
goto tmp3_done;
}
case 1: {
_txt = tmp4_1;
_a_sub = tmp4_4;
_a_auxFunction = tmp4_5;
_a_varDecls = tmp4_6;
_a_preExp = tmp4_7;
_txt = omc_CodegenUtil_error(threadData, _txt, omc_Tpl_sourceInfo(threadData, _OMC_LIT27, ((modelica_integer) 3063), ((modelica_integer) 11)), _OMC_LIT2051);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_sub;
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_sub = 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_sub) { *out_out_a_sub = _out_a_sub; }
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__498(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_context, modelica_metatype _in_a_aty, modelica_metatype _in_a_ispec, modelica_string _in_a_exp, modelica_metatype _in_a_arrayType, modelica_metatype _in_a_sub, modelica_metatype _in_a_auxFunction, modelica_metatype _in_a_varDecls, modelica_metatype _in_a_preExp, modelica_metatype _in_a_cr, modelica_metatype *out_out_a_sub, 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_sub = 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_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;
tmp4_1 = _in_txt;
tmp4_2 = _in_a_context;
tmp4_3 = _in_a_aty;
tmp4_4 = _in_a_ispec;
tmp4_5 = _in_a_exp;
tmp4_6 = _in_a_arrayType;
tmp4_7 = _in_a_sub;
tmp4_8 = _in_a_auxFunction;
tmp4_9 = _in_a_varDecls;
tmp4_10 = _in_a_preExp;
tmp4_11 = _in_a_cr;
{
modelica_metatype _txt = NULL;
modelica_metatype _a_aty = NULL;
modelica_metatype _a_ispec = NULL;
modelica_string _a_exp = NULL;
modelica_metatype _a_arrayType = NULL;
modelica_metatype _a_sub = NULL;
modelica_metatype _a_auxFunction = NULL;
modelica_metatype _a_varDecls = NULL;
modelica_metatype _a_preExp = NULL;
modelica_metatype _a_cr = NULL;
modelica_metatype _i_context = NULL;
modelica_metatype _ret_10 = NULL;
modelica_metatype _l_arrName = NULL;
modelica_metatype _ret_8 = NULL;
modelica_metatype _l_dimsValuesStr = NULL;
modelica_integer _ret_6;
modelica_metatype _ret_5 = NULL;
modelica_metatype _l_dimsLenStr = NULL;
modelica_metatype _l_wrapperArray = NULL;
modelica_metatype _l_type = NULL;
modelica_metatype _ret_1 = 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_ispec = tmp4_4;
_a_exp = tmp4_5;
_a_arrayType = tmp4_6;
_a_sub = tmp4_7;
_a_auxFunction = tmp4_8;
_a_varDecls = tmp4_9;
_a_preExp = tmp4_10;
_a_cr = tmp4_11;
_ret_1 = omc_ComponentReference_crefStripLastSubs(threadData, _a_cr);
_l_cref = omc_CodegenCFunctions_contextCref(threadData, _OMC_LIT20, _ret_1, _i_context, _a_preExp, _a_varDecls, _a_auxFunction, _a_sub ,&_a_preExp ,&_a_varDecls ,&_a_auxFunction ,&_a_sub);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT2052);
_txt = omc_Tpl_writeText(threadData, _txt, _a_arrayType);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT30);
_txt = omc_Tpl_writeStr(threadData, _txt, _a_exp);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT131);
_txt = omc_Tpl_writeText(threadData, _txt, _l_cref);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT131);
_txt = omc_Tpl_writeText(threadData, _txt, _a_ispec);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT299);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_sub;
tmpMeta[0+2] = _a_auxFunction;
tmpMeta[0+3] = _a_varDecls;
tmpMeta[0+4] = _a_preExp;
goto tmp3_done;
}
case 1: {
_txt = tmp4_1;
_i_context = tmp4_2;
_a_aty = tmp4_3;
_a_ispec = tmp4_4;
_a_exp = tmp4_5;
_a_arrayType = tmp4_6;
_a_sub = tmp4_7;
_a_auxFunction = tmp4_8;
_a_varDecls = tmp4_9;
_a_preExp = tmp4_10;
_a_cr = tmp4_11;
_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_5 = omc_ComponentReference_crefDims(threadData, _a_cr);
_ret_6 = listLength(_ret_5);
_l_dimsLenStr = omc_Tpl_writeStr(threadData, _OMC_LIT20, intString(_ret_6));
_ret_8 = omc_ComponentReference_crefDims(threadData, _a_cr);
_l_dimsValuesStr = omc_Tpl_pushIter(threadData, _OMC_LIT20, _OMC_LIT303);
_l_dimsValuesStr = omc_CodegenCFunctions_lm__497(threadData, _l_dimsValuesStr, _ret_8, _a_auxFunction, _a_varDecls, _a_preExp, _i_context ,&_a_auxFunction ,&_a_varDecls ,&_a_preExp);
_l_dimsValuesStr = omc_Tpl_popIter(threadData, _l_dimsValuesStr);
_ret_10 = omc_ComponentReference_crefStripSubs(threadData, _a_cr);
_l_arrName = omc_CodegenCFunctions_contextCref(threadData, _OMC_LIT20, _ret_10, _i_context, _a_preExp, _a_varDecls, _a_auxFunction, _a_sub ,&_a_preExp ,&_a_varDecls ,&_a_auxFunction ,&_a_sub);
_txt = omc_Tpl_writeText(threadData, _txt, _l_type);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1303);
_txt = omc_Tpl_writeText(threadData, _txt, _l_wrapperArray);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1328);
_txt = omc_Tpl_writeText(threadData, _txt, _l_type);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1330);
_txt = omc_Tpl_writeText(threadData, _txt, _l_arrName);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT301);
_txt = omc_Tpl_writeText(threadData, _txt, _l_dimsLenStr);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT301);
_txt = omc_Tpl_writeText(threadData, _txt, _l_dimsValuesStr);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT299);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT2054);
_txt = omc_Tpl_writeText(threadData, _txt, _a_arrayType);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT30);
_txt = omc_Tpl_writeStr(threadData, _txt, _a_exp);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT131);
_txt = omc_Tpl_writeText(threadData, _txt, _l_wrapperArray);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT131);
_txt = omc_Tpl_writeText(threadData, _txt, _a_ispec);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT299);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_sub;
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_sub = 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_sub) { *out_out_a_sub = _out_a_sub; }
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__497(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[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_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: {
modelica_metatype tmpMeta6;
modelica_metatype tmpMeta7;
if (listEmpty(tmp4_2)) goto tmp3_end;
tmpMeta6 = MMC_CAR(tmp4_2);
tmpMeta7 = MMC_CDR(tmp4_2);
_i_dim = tmpMeta6;
_rest = tmpMeta7;
_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_LIT1311);
_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;
modelica_metatype _l_sub = NULL;
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
_l_sub = _OMC_LIT20;
_out_txt = omc_CodegenCFunctions_fun__495(threadData, _txt, _a_exp, _l_sub, _a_auxFunction, _a_varDecls, _a_context, _a_cr ,&_l_sub ,&_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;
}
PROTECTED_FUNCTION_STATIC modelica_metatype omc_CodegenCFunctions_fun__495(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_exp, modelica_metatype _in_a_sub, modelica_metatype _in_a_auxFunction, modelica_metatype _in_a_varDecls, modelica_metatype _in_a_context, modelica_metatype _in_a_cr, modelica_metatype *out_out_a_sub, modelica_metatype *out_out_a_auxFunction, modelica_metatype *out_out_a_varDecls)
{
modelica_metatype _out_txt = NULL;
modelica_metatype _out_a_sub = 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;
tmp4_1 = _in_txt;
tmp4_2 = _in_a_exp;
tmp4_3 = _in_a_sub;
tmp4_4 = _in_a_auxFunction;
tmp4_5 = _in_a_varDecls;
tmp4_6 = _in_a_context;
tmp4_7 = _in_a_cr;
{
modelica_metatype _txt = NULL;
modelica_metatype _a_sub = NULL;
modelica_metatype _a_auxFunction = NULL;
modelica_metatype _a_varDecls = NULL;
modelica_metatype _a_context = NULL;
modelica_metatype _a_cr = 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: {
modelica_metatype tmpMeta6;
modelica_metatype tmpMeta7;
modelica_metatype tmpMeta8;
modelica_metatype tmpMeta9;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,18,4) == 0) goto tmp3_end;
tmpMeta6 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
tmpMeta7 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 3));
tmpMeta8 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 4));
tmpMeta9 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 5));
_i_ty = tmpMeta6;
_i_start = tmpMeta7;
_i_step = tmpMeta8;
_i_stop = tmpMeta9;
_txt = tmp4_1;
_a_sub = tmp4_3;
_a_auxFunction = tmp4_4;
_a_varDecls = tmp4_5;
_a_context = tmp4_6;
_a_cr = tmp4_7;
_l_preExp = _OMC_LIT20;
_l_cref = omc_CodegenCFunctions_contextCref(threadData, _OMC_LIT20, _a_cr, _a_context, _l_preExp, _a_varDecls, _a_auxFunction, _a_sub ,&_l_preExp ,&_a_varDecls ,&_a_auxFunction ,&_a_sub);
_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__494(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_LIT2056);
_txt = omc_Tpl_writeText(threadData, _txt, _l_ty__str);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT554);
_txt = omc_Tpl_writeText(threadData, _txt, _l_cref);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT301);
_txt = omc_Tpl_writeText(threadData, _txt, _l_start__exp);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT301);
_txt = omc_Tpl_writeText(threadData, _txt, _l_step__exp);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT301);
_txt = omc_Tpl_writeText(threadData, _txt, _l_stop__exp);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT299);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT98);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_sub;
tmpMeta[0+2] = _a_auxFunction;
tmpMeta[0+3] = _a_varDecls;
goto tmp3_done;
}
case 1: {
_txt = tmp4_1;
_a_sub = tmp4_3;
_a_auxFunction = tmp4_4;
_a_varDecls = tmp4_5;
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_sub;
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_sub = tmpMeta[0+1];
_out_a_auxFunction = tmpMeta[0+2];
_out_a_varDecls = tmpMeta[0+3];
_return: OMC_LABEL_UNUSED
if (out_out_a_sub) { *out_out_a_sub = _out_a_sub; }
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__494(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[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_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: {
modelica_metatype tmpMeta6;
if (optionNone(tmp4_2)) goto tmp3_end;
tmpMeta6 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 1));
_i_stepExp = tmpMeta6;
_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_LIT410);
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__492(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__492(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[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_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: {
modelica_metatype tmpMeta6;
modelica_metatype tmpMeta7;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,6,2) == 0) goto tmp3_end;
tmpMeta6 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
tmpMeta7 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 3));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta7,6,2) == 0) goto tmp3_end;
_i_lhsexp = tmp4_2;
_i_cr = tmpMeta6;
_i_ty = tmpMeta7;
_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__491(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__491(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_LIT2058);
_txt = omc_Tpl_writeText(threadData, _txt, _a_rhsExpStr);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT301);
_txt = omc_Tpl_writeText(threadData, _txt, _l_lhsStr);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT299);
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__491(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__491(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__489(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__489(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[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_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_2 = NULL;
modelica_metatype _l_tmp = NULL;
modelica_metatype _l_sub = NULL;
volatile mmc_switch_type tmp4;
int tmp5;
tmp4 = 0;
for (; tmp4 < 2; tmp4++) {
switch (MMC_SWITCH_CAST(tmp4)) {
case 0: {
modelica_metatype tmpMeta6;
modelica_metatype tmpMeta7;
modelica_metatype tmpMeta8;
modelica_metatype tmpMeta9;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,6,2) == 0) goto tmp3_end;
tmpMeta6 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
tmpMeta7 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 3));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta7,9,3) == 0) goto tmp3_end;
tmpMeta8 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta7), 2));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta8,3,1) == 0) goto tmp3_end;
tmpMeta9 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta7), 3));
_i_cr = tmpMeta6;
_i_ty = tmpMeta7;
_i_varLst = tmpMeta9;
_txt = tmp4_1;
_a_rhsExpStr = tmp4_3;
_a_context = tmp4_4;
_a_preExp = tmp4_5;
_a_varDecls = tmp4_6;
_a_auxFunction = tmp4_7;
_l_sub = _OMC_LIT20;
_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_LIT129);
_txt = omc_Tpl_writeText(threadData, _txt, _a_rhsExpStr);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT169);
_txt = omc_Tpl_pushIter(threadData, _txt, _OMC_LIT104);
_txt = omc_CodegenCFunctions_lm__488(threadData, _txt, _i_varLst, _l_tmp, _l_sub, _a_auxFunction, _a_varDecls, _a_preExp, _a_context, _i_cr ,&_l_sub ,&_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__488(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_items, modelica_metatype _in_a_tmp, 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 _in_a_cr, modelica_metatype *out_out_a_sub, 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_sub = 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_items;
tmp4_3 = _in_a_tmp;
tmp4_4 = _in_a_sub;
tmp4_5 = _in_a_auxFunction;
tmp4_6 = _in_a_varDecls;
tmp4_7 = _in_a_preExp;
tmp4_8 = _in_a_context;
tmp4_9 = _in_a_cr;
{
modelica_metatype _txt = NULL;
modelica_metatype _rest = NULL;
modelica_metatype _a_tmp = NULL;
modelica_metatype _a_sub = 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_sub = tmp4_4;
_a_auxFunction = tmp4_5;
_a_varDecls = tmp4_6;
_a_preExp = tmp4_7;
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_sub;
tmpMeta[0+2] = _a_auxFunction;
tmpMeta[0+3] = _a_varDecls;
tmpMeta[0+4] = _a_preExp;
goto tmp3_done;
}
case 1: {
modelica_metatype tmpMeta6;
modelica_metatype tmpMeta7;
modelica_metatype tmpMeta8;
if (listEmpty(tmp4_2)) goto tmp3_end;
tmpMeta6 = MMC_CAR(tmp4_2);
tmpMeta7 = MMC_CDR(tmp4_2);
tmpMeta8 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta6), 2));
_i_var_name = tmpMeta8;
_rest = tmpMeta7;
_txt = tmp4_1;
_a_tmp = tmp4_3;
_a_sub = tmp4_4;
_a_auxFunction = tmp4_5;
_a_varDecls = tmp4_6;
_a_preExp = tmp4_7;
_a_context = tmp4_8;
_a_cr = tmp4_9;
_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_sub ,&_a_preExp ,&_a_varDecls ,&_a_auxFunction ,&_a_sub);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT129);
_txt = omc_Tpl_writeText(threadData, _txt, _a_tmp);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT528);
_txt = omc_Tpl_writeStr(threadData, _txt, _i_var_name);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT113);
_txt = omc_Tpl_nextIter(threadData, _txt);
_in_txt = _txt;
_in_items = _rest;
_in_a_tmp = _a_tmp;
_in_a_sub = _a_sub;
_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: {
modelica_metatype tmpMeta9;
modelica_metatype tmpMeta10;
if (listEmpty(tmp4_2)) goto tmp3_end;
tmpMeta9 = MMC_CAR(tmp4_2);
tmpMeta10 = MMC_CDR(tmp4_2);
_rest = tmpMeta10;
_txt = tmp4_1;
_a_tmp = tmp4_3;
_a_sub = tmp4_4;
_a_auxFunction = tmp4_5;
_a_varDecls = tmp4_6;
_a_preExp = tmp4_7;
_a_context = tmp4_8;
_a_cr = tmp4_9;
_in_txt = _txt;
_in_items = _rest;
_in_a_tmp = _a_tmp;
_in_a_sub = _a_sub;
_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_sub = 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_sub) { *out_out_a_sub = _out_a_sub; }
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__486(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__486(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[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_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_4 = 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 < 7; tmp4++) {
switch (MMC_SWITCH_CAST(tmp4)) {
case 0: {
modelica_metatype tmpMeta6;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,6,2) == 0) goto tmp3_end;
tmpMeta6 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta6,3,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_LIT113);
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: {
modelica_metatype tmpMeta7;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,6,2) == 0) goto tmp3_end;
tmpMeta7 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 3));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta7,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: {
modelica_metatype tmpMeta8;
modelica_metatype tmpMeta9;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,6,2) == 0) goto tmp3_end;
tmpMeta8 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 3));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta8,9,3) == 0) goto tmp3_end;
tmpMeta9 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta8), 2));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta9,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_LIT129);
_txt = omc_Tpl_writeText(threadData, _txt, _a_rhsExpStr);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT113);
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: {
modelica_metatype tmpMeta10;
modelica_metatype tmpMeta11;
modelica_metatype tmpMeta12;
modelica_metatype tmpMeta13;
modelica_metatype tmpMeta14;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,13,3) == 0) goto tmp3_end;
tmpMeta10 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 3));
tmpMeta11 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 4));
tmpMeta12 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta11), 2));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta12,9,3) == 0) goto tmp3_end;
tmpMeta13 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta12), 2));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta13,3,1) == 0) goto tmp3_end;
tmpMeta14 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta12), 3));
_i_expLst = tmpMeta10;
_i_ty = tmpMeta12;
_i_varLst = tmpMeta14;
_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_LIT129);
_txt = omc_Tpl_writeText(threadData, _txt, _a_rhsExpStr);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT169);
_txt = omc_Tpl_pushIter(threadData, _txt, _OMC_LIT474);
_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: {
modelica_metatype tmpMeta15;
modelica_metatype tmpMeta16;
modelica_metatype tmpMeta17;
modelica_metatype tmpMeta18;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,14,4) == 0) goto tmp3_end;
tmpMeta15 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 3));
tmpMeta16 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 5));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta16,9,3) == 0) goto tmp3_end;
tmpMeta17 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta16), 2));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta17,3,1) == 0) goto tmp3_end;
tmpMeta18 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta16), 3));
_i_expLst = tmpMeta15;
_i_ty = tmpMeta16;
_i_varLst = tmpMeta18;
_txt = tmp4_1;
_a_rhsExpStr = tmp4_3;
_a_context = tmp4_4;
_a_preExp = tmp4_5;
_a_varDecls = tmp4_6;
_a_auxFunction = tmp4_7;
_txt_3 = omc_CodegenCFunctions_expTypeModelica(threadData, _OMC_LIT20, _i_ty);
_l_tmp = omc_CodegenCFunctions_tempDecl(threadData, _OMC_LIT20, omc_Tpl_textString(threadData, _txt_3), _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_LIT129);
_txt = omc_Tpl_writeText(threadData, _txt, _a_rhsExpStr);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT169);
_txt = omc_Tpl_pushIter(threadData, _txt, _OMC_LIT474);
_txt = omc_CodegenCFunctions_lm__485(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 6: {
_txt = tmp4_1;
_i_lhsexp = tmp4_2;
_a_rhsExpStr = tmp4_3;
_a_preExp = tmp4_5;
_a_varDecls = tmp4_6;
_a_auxFunction = tmp4_7;
_txt_4 = omc_Tpl_writeTok(threadData, _OMC_LIT20, _OMC_LIT2060);
_txt_4 = omc_ExpressionDumpTpl_dumpExp(threadData, _txt_4, _i_lhsexp, _OMC_LIT239);
_txt = omc_CodegenUtil_error(threadData, _txt, omc_Tpl_sourceInfo(threadData, _OMC_LIT27, ((modelica_integer) 2984), ((modelica_integer) 11)), omc_Tpl_textString(threadData, _txt_4));
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__485(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[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_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: {
modelica_metatype tmpMeta6;
modelica_metatype tmpMeta7;
modelica_metatype tmpMeta8;
if (listEmpty(tmp4_2)) goto tmp3_end;
tmpMeta6 = MMC_CAR(tmp4_2);
tmpMeta7 = MMC_CDR(tmp4_2);
tmpMeta8 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta6), 2));
_i_var_name = tmpMeta8;
_rest = tmpMeta7;
_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_LIT129);
_txt = omc_Tpl_writeText(threadData, _txt, _a_tmp);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT528);
_txt = omc_Tpl_writeStr(threadData, _txt, _i_var_name);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT113);
_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: {
modelica_metatype tmpMeta9;
modelica_metatype tmpMeta10;
if (listEmpty(tmp4_2)) goto tmp3_end;
tmpMeta9 = MMC_CAR(tmp4_2);
tmpMeta10 = MMC_CDR(tmp4_2);
_rest = tmpMeta10;
_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;
}
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[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_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: {
modelica_metatype tmpMeta6;
modelica_metatype tmpMeta7;
modelica_metatype tmpMeta8;
if (listEmpty(tmp4_2)) goto tmp3_end;
tmpMeta6 = MMC_CAR(tmp4_2);
tmpMeta7 = MMC_CDR(tmp4_2);
tmpMeta8 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta6), 2));
_i_var_name = tmpMeta8;
_rest = tmpMeta7;
_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_LIT129);
_txt = omc_Tpl_writeText(threadData, _txt, _a_tmp);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT528);
_txt = omc_Tpl_writeStr(threadData, _txt, _i_var_name);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT113);
_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: {
modelica_metatype tmpMeta9;
modelica_metatype tmpMeta10;
if (listEmpty(tmp4_2)) goto tmp3_end;
tmpMeta9 = MMC_CAR(tmp4_2);
tmpMeta10 = MMC_CDR(tmp4_2);
_rest = tmpMeta10;
_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[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_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: {
modelica_metatype tmpMeta6;
modelica_metatype tmpMeta7;
modelica_metatype tmpMeta8;
modelica_metatype tmpMeta9;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,2,4) == 0) goto tmp3_end;
tmpMeta6 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
tmpMeta7 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 3));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta7,6,2) == 0) goto tmp3_end;
tmpMeta8 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta7), 2));
tmpMeta9 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 4));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta9,18,4) == 0) goto tmp3_end;
_i_t = tmpMeta6;
_i_cr = tmpMeta8;
_i_exp = tmpMeta9;
_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: {
modelica_metatype tmpMeta10;
modelica_metatype tmpMeta11;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,2,4) == 0) goto tmp3_end;
tmpMeta10 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 3));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta10,6,2) == 0) goto tmp3_end;
tmpMeta11 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 4));
_i_lhsexp = tmpMeta10;
_i_e = tmpMeta11;
_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;
modelica_metatype _l_sub = NULL;
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
_l_sub = _OMC_LIT20;
_l_lhs = omc_CodegenCFunctions_contextCref(threadData, _OMC_LIT20, _a_lhs__cref, _a_context, _a_preExp, _a_varDecls, _a_auxFunction, _l_sub ,&_out_a_preExp ,&_out_a_varDecls ,&_out_a_auxFunction ,&_l_sub);
_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, _l_sub, _out_a_auxFunction, _out_a_varDecls, _out_a_preExp, _a_context ,&_l_sub ,&_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_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_sub, 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_sub = 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_lhs;
tmp4_4 = _in_a_rec__typename;
tmp4_5 = _in_a_sub;
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_lhs = NULL;
modelica_metatype _a_rec__typename = NULL;
modelica_metatype _a_sub = 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: {
modelica_metatype tmpMeta6;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,6,2) == 0) goto tmp3_end;
tmpMeta6 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
_i_rhs__exp_componentRef = tmpMeta6;
_txt = tmp4_1;
_a_lhs = tmp4_3;
_a_rec__typename = tmp4_4;
_a_sub = tmp4_5;
_a_auxFunction = tmp4_6;
_a_varDecls = tmp4_7;
_a_preExp = tmp4_8;
_a_context = tmp4_9;
_l_rhs = omc_CodegenCFunctions_contextCref(threadData, _OMC_LIT20, _i_rhs__exp_componentRef, _a_context, _a_preExp, _a_varDecls, _a_auxFunction, _a_sub ,&_a_preExp ,&_a_varDecls ,&_a_auxFunction ,&_a_sub);
_txt = omc_Tpl_writeText(threadData, _txt, _a_rec__typename);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT601);
_txt = omc_Tpl_writeText(threadData, _txt, _l_rhs);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT301);
_txt = omc_Tpl_writeText(threadData, _txt, _a_lhs);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT299);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_sub;
tmpMeta[0+2] = _a_auxFunction;
tmpMeta[0+3] = _a_varDecls;
tmpMeta[0+4] = _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_sub = tmp4_5;
_a_auxFunction = tmp4_6;
_a_varDecls = tmp4_7;
_a_preExp = tmp4_8;
_a_context = tmp4_9;
_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_LIT129);
_txt = omc_Tpl_writeText(threadData, _txt, _l_rhs);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT169);
_txt = omc_Tpl_writeText(threadData, _txt, _a_rec__typename);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT601);
_txt = omc_Tpl_writeText(threadData, _txt, _l_tmp__rec);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT301);
_txt = omc_Tpl_writeText(threadData, _txt, _a_lhs);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT299);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_sub;
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_sub = 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_sub) { *out_out_a_sub = _out_a_sub; }
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;
modelica_metatype _l_sub = NULL;
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
_l_sub = _OMC_LIT20;
_l_lhs = omc_CodegenCFunctions_contextCref(threadData, _OMC_LIT20, _a_lhs__cref, _a_context, _a_preExp, _a_varDecls, _a_auxFunction, _l_sub ,&_out_a_preExp ,&_out_a_varDecls ,&_out_a_auxFunction ,&_l_sub);
_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, _l_sub, _out_a_auxFunction, _out_a_varDecls, _out_a_preExp, _a_context ,&_l_sub ,&_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_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_sub, 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_sub = 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;
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_sub;
tmp4_7 = _in_a_auxFunction;
tmp4_8 = _in_a_varDecls;
tmp4_9 = _in_a_preExp;
tmp4_10 = _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_sub = 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: {
modelica_metatype tmpMeta6;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,6,2) == 0) goto tmp3_end;
tmpMeta6 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
_i_cr = tmpMeta6;
_txt = tmp4_1;
_a_rec__type = tmp4_4;
_a_lhs__cref = tmp4_5;
_a_sub = tmp4_6;
_a_auxFunction = tmp4_7;
_a_varDecls = tmp4_8;
_a_preExp = tmp4_9;
_a_context = tmp4_10;
_l_rhs__exp__str = omc_CodegenCFunctions_contextCref(threadData, _OMC_LIT20, _i_cr, _a_context, _a_preExp, _a_varDecls, _a_auxFunction, _a_sub ,&_a_preExp ,&_a_varDecls ,&_a_auxFunction ,&_a_sub);
_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_sub;
tmpMeta[0+2] = _a_auxFunction;
tmpMeta[0+3] = _a_varDecls;
tmpMeta[0+4] = _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_sub = tmp4_6;
_a_auxFunction = tmp4_7;
_a_varDecls = tmp4_8;
_a_preExp = tmp4_9;
_a_context = tmp4_10;
_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_LIT129);
_txt = omc_Tpl_writeText(threadData, _txt, _l_rhs__exp__str);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT169);
_txt = omc_Tpl_writeText(threadData, _txt, _l_assigns);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_sub;
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_sub = 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_sub) { *out_out_a_sub = _out_a_sub; }
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[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_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: {
modelica_metatype tmpMeta6;
modelica_metatype tmpMeta7;
if (listEmpty(tmp4_2)) goto tmp3_end;
tmpMeta6 = MMC_CAR(tmp4_2);
tmpMeta7 = MMC_CDR(tmp4_2);
_i_stmt = tmpMeta6;
_rest = tmpMeta7;
_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[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_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: {
modelica_metatype tmpMeta6;
modelica_metatype tmpMeta7;
if (listEmpty(tmp4_2)) goto tmp3_end;
tmpMeta6 = MMC_CAR(tmp4_2);
tmpMeta7 = MMC_CDR(tmp4_2);
_i_stmt = tmpMeta6;
_rest = tmpMeta7;
_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[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_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: {
modelica_metatype tmpMeta6;
modelica_metatype tmpMeta7;
modelica_metatype tmpMeta8;
modelica_metatype tmpMeta9;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,0,4) == 0) goto tmp3_end;
tmpMeta6 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
tmpMeta7 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 3));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta7,6,2) == 0) goto tmp3_end;
tmpMeta8 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta7), 2));
tmpMeta9 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 4));
_i_ty = tmpMeta6;
_i_exp1_componentRef = tmpMeta8;
_i_rhs__exp = tmpMeta9;
_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: {
modelica_metatype tmpMeta10;
modelica_metatype tmpMeta11;
modelica_metatype tmpMeta12;
modelica_metatype tmpMeta13;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,0,4) == 0) goto tmp3_end;
tmpMeta10 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta10,9,3) == 0) goto tmp3_end;
tmpMeta11 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta10), 2));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta11,3,1) == 0) goto tmp3_end;
tmpMeta12 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 3));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta12,13,3) == 0) goto tmp3_end;
tmpMeta13 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 4));
_i_ty = tmpMeta10;
_i_exp1 = tmpMeta12;
_i_exp = tmpMeta13;
_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_LIT2062);
_txt_1 = omc_ExpressionDumpTpl_dumpExp(threadData, _txt_1, _i_exp1, _OMC_LIT239);
_txt_1 = omc_Tpl_writeTok(threadData, _txt_1, _OMC_LIT129);
_txt_1 = omc_ExpressionDumpTpl_dumpExp(threadData, _txt_1, _i_exp, _OMC_LIT239);
_txt = omc_CodegenUtil_error(threadData, _txt, omc_Tpl_sourceInfo(threadData, _OMC_LIT27, ((modelica_integer) 2850), ((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: {
modelica_metatype tmpMeta14;
modelica_metatype tmpMeta15;
modelica_metatype tmpMeta16;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,0,4) == 0) goto tmp3_end;
tmpMeta14 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta14,9,3) == 0) goto tmp3_end;
tmpMeta15 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta14), 2));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta15,3,1) == 0) goto tmp3_end;
tmpMeta16 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 3));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta16,14,4) == 0) goto tmp3_end;
_i_exp1 = tmpMeta16;
_txt = tmp4_1;
_a_preExp = tmp4_4;
_a_varDecls = tmp4_5;
_a_auxFunction = tmp4_6;
_txt_2 = omc_Tpl_writeTok(threadData, _OMC_LIT20, _OMC_LIT2064);
_txt_2 = omc_ExpressionDumpTpl_dumpExp(threadData, _txt_2, _i_exp1, _OMC_LIT239);
_txt = omc_CodegenUtil_error(threadData, _txt, omc_Tpl_sourceInfo(threadData, _OMC_LIT27, ((modelica_integer) 2852), ((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: {
modelica_metatype tmpMeta17;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,0,4) == 0) goto tmp3_end;
tmpMeta17 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 3));
_i_exp1 = tmpMeta17;
_txt = tmp4_1;
_a_preExp = tmp4_4;
_a_varDecls = tmp4_5;
_a_auxFunction = tmp4_6;
_txt_3 = omc_Tpl_writeTok(threadData, _OMC_LIT20, _OMC_LIT2066);
_txt_3 = omc_ExpressionDumpTpl_dumpExp(threadData, _txt_3, _i_exp1, _OMC_LIT239);
_txt = omc_CodegenUtil_error(threadData, _txt, omc_Tpl_sourceInfo(threadData, _OMC_LIT27, ((modelica_integer) 2854), ((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[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_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: {
modelica_metatype tmpMeta6;
modelica_metatype tmpMeta7;
modelica_metatype tmpMeta8;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,0,4) == 0) goto tmp3_end;
tmpMeta6 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 4));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta6,13,3) == 0) goto tmp3_end;
tmpMeta7 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta6), 2));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta7,1,1) == 0) goto tmp3_end;
tmpMeta8 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta7), 2));
if (4 != MMC_STRLEN(tmpMeta8) || strcmp(MMC_STRINGDATA(_OMC_LIT902), MMC_STRINGDATA(tmpMeta8)) != 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_LIT98);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_varDecls;
tmpMeta[0+2] = _a_auxFunction;
goto tmp3_done;
}
case 1: {
modelica_metatype tmpMeta9;
modelica_metatype tmpMeta10;
modelica_metatype tmpMeta11;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,0,4) == 0) goto tmp3_end;
tmpMeta9 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 3));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta9,6,2) == 0) goto tmp3_end;
tmpMeta10 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta9), 2));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta10,3,0) == 0) goto tmp3_end;
tmpMeta11 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 4));
_i_e = tmpMeta11;
_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: {
modelica_metatype tmpMeta12;
modelica_metatype tmpMeta13;
modelica_metatype tmpMeta14;
modelica_metatype tmpMeta15;
modelica_metatype tmpMeta16;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,0,4) == 0) goto tmp3_end;
tmpMeta12 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 3));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta12,23,4) == 0) goto tmp3_end;
tmpMeta13 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta12), 2));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta13,6,2) == 0) goto tmp3_end;
tmpMeta14 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta13), 3));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta14,21,6) == 0) goto tmp3_end;
tmpMeta15 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta12), 4));
tmpMeta16 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 4));
_i_explhs = tmpMeta13;
_i_t1 = tmpMeta14;
_i_fieldName = tmpMeta15;
_i_exp = tmpMeta16;
_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_LIT322, _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_LIT2068);
_txt = omc_Tpl_writeText(threadData, _txt, _l_len);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT2072);
_txt = omc_Tpl_writeText(threadData, _txt, _l_tmp);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT2074);
_txt = omc_Tpl_writeText(threadData, _txt, _l_varPart);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT532);
_txt = omc_Tpl_writeText(threadData, _txt, _l_len);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT2079);
_txt = omc_Tpl_writeText(threadData, _txt, _l_tmp);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT2081);
_txt = omc_Tpl_writeText(threadData, _txt, _l_indexInRecord);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT2083);
_txt = omc_Tpl_writeText(threadData, _txt, _l_expPart);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT169);
_txt = omc_Tpl_writeText(threadData, _txt, _l_varPart);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT129);
_txt = omc_Tpl_writeText(threadData, _txt, _l_tmp);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT113);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_varDecls;
tmpMeta[0+2] = _a_auxFunction;
goto tmp3_done;
}
case 3: {
modelica_metatype tmpMeta17;
modelica_metatype tmpMeta18;
modelica_metatype tmpMeta19;
modelica_metatype tmpMeta20;
modelica_metatype tmpMeta21;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,0,4) == 0) goto tmp3_end;
tmpMeta17 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 3));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta17,23,4) == 0) goto tmp3_end;
tmpMeta18 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta17), 2));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta18,6,2) == 0) goto tmp3_end;
tmpMeta19 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta18), 3));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta19,20,5) == 0) goto tmp3_end;
tmpMeta20 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta17), 4));
tmpMeta21 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 4));
_i_explhs = tmpMeta18;
_i_t1 = tmpMeta19;
_i_fieldName = tmpMeta20;
_i_exp = tmpMeta21;
_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_LIT322, _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_LIT2068);
_txt = omc_Tpl_writeText(threadData, _txt, _l_len);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT2072);
_txt = omc_Tpl_writeText(threadData, _txt, _l_tmp);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT2074);
_txt = omc_Tpl_writeText(threadData, _txt, _l_varPart);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT532);
_txt = omc_Tpl_writeText(threadData, _txt, _l_len);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT2079);
_txt = omc_Tpl_writeText(threadData, _txt, _l_tmp);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT2081);
_txt = omc_Tpl_writeText(threadData, _txt, _l_indexInRecord);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT2083);
_txt = omc_Tpl_writeText(threadData, _txt, _l_expPart);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT169);
_txt = omc_Tpl_writeText(threadData, _txt, _l_varPart);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT129);
_txt = omc_Tpl_writeText(threadData, _txt, _l_tmp);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT113);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_varDecls;
tmpMeta[0+2] = _a_auxFunction;
goto tmp3_done;
}
case 4: {
modelica_metatype tmpMeta22;
modelica_metatype tmpMeta23;
modelica_metatype tmpMeta24;
modelica_metatype tmpMeta25;
modelica_metatype tmpMeta26;
modelica_metatype tmpMeta27;
modelica_metatype tmpMeta28;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,0,4) == 0) goto tmp3_end;
tmpMeta22 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 3));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta22,6,2) == 0) goto tmp3_end;
tmpMeta23 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta22), 2));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta23,0,4) == 0) goto tmp3_end;
tmpMeta24 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta23), 3));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta24,25,1) == 0) goto tmp3_end;
tmpMeta25 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta24), 2));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta25,20,5) == 0) goto tmp3_end;
tmpMeta26 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta23), 5));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta26,1,3) == 0) goto tmp3_end;
tmpMeta27 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta26), 2));
tmpMeta28 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 4));
_i_explhs = tmpMeta22;
_i_t1 = tmpMeta25;
_i_fieldName_1 = tmpMeta27;
_i_exp = tmpMeta28;
_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_LIT322, _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_LIT2068);
_txt = omc_Tpl_writeText(threadData, _txt, _l_len);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT2072);
_txt = omc_Tpl_writeText(threadData, _txt, _l_tmp);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT2074);
_txt = omc_Tpl_writeText(threadData, _txt, _l_varPart);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT532);
_txt = omc_Tpl_writeText(threadData, _txt, _l_len);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT2079);
_txt = omc_Tpl_writeText(threadData, _txt, _l_tmp);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT2081);
_txt = omc_Tpl_writeText(threadData, _txt, _l_indexInRecord);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT2083);
_txt = omc_Tpl_writeText(threadData, _txt, _l_expPart);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT169);
_txt = omc_Tpl_writeText(threadData, _txt, _l_varPart);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT129);
_txt = omc_Tpl_writeText(threadData, _txt, _l_tmp);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT113);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_varDecls;
tmpMeta[0+2] = _a_auxFunction;
goto tmp3_done;
}
case 5: {
modelica_metatype tmpMeta29;
modelica_metatype tmpMeta30;
modelica_metatype tmpMeta31;
modelica_metatype tmpMeta32;
modelica_metatype tmpMeta33;
modelica_metatype tmpMeta34;
modelica_metatype tmpMeta35;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,0,4) == 0) goto tmp3_end;
tmpMeta29 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 3));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta29,6,2) == 0) goto tmp3_end;
tmpMeta30 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta29), 2));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta30,0,4) == 0) goto tmp3_end;
tmpMeta31 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta30), 3));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta31,25,1) == 0) goto tmp3_end;
tmpMeta32 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta31), 2));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta32,21,6) == 0) goto tmp3_end;
tmpMeta33 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta30), 5));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta33,1,3) == 0) goto tmp3_end;
tmpMeta34 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta33), 2));
tmpMeta35 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 4));
_i_explhs = tmpMeta29;
_i_t1 = tmpMeta32;
_i_fieldName_1 = tmpMeta34;
_i_exp = tmpMeta35;
_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_LIT322, _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_LIT2068);
_txt = omc_Tpl_writeText(threadData, _txt, _l_len);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT2072);
_txt = omc_Tpl_writeText(threadData, _txt, _l_tmp);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT2074);
_txt = omc_Tpl_writeText(threadData, _txt, _l_varPart);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT532);
_txt = omc_Tpl_writeText(threadData, _txt, _l_len);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT2079);
_txt = omc_Tpl_writeText(threadData, _txt, _l_tmp);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT2081);
_txt = omc_Tpl_writeText(threadData, _txt, _l_indexInRecord);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT2083);
_txt = omc_Tpl_writeText(threadData, _txt, _l_expPart);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT169);
_txt = omc_Tpl_writeText(threadData, _txt, _l_varPart);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT129);
_txt = omc_Tpl_writeText(threadData, _txt, _l_tmp);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT113);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_varDecls;
tmpMeta[0+2] = _a_auxFunction;
goto tmp3_done;
}
case 6: {
modelica_metatype tmpMeta36;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,0,4) == 0) goto tmp3_end;
tmpMeta36 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 3));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta36,23,4) == 0) goto tmp3_end;
_i_exp1 = tmpMeta36;
_txt = tmp4_1;
_a_varDecls = tmp4_4;
_a_auxFunction = tmp4_5;
_txt_30 = omc_Tpl_writeTok(threadData, _OMC_LIT20, _OMC_LIT2085);
_txt_30 = omc_ExpressionDumpTpl_dumpExp(threadData, _txt_30, _i_exp1, _OMC_LIT239);
_txt = omc_CodegenUtil_error(threadData, _txt, omc_Tpl_sourceInfo(threadData, _OMC_LIT27, ((modelica_integer) 2756), ((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: {
modelica_metatype tmpMeta37;
modelica_metatype tmpMeta38;
modelica_metatype tmpMeta39;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,0,4) == 0) goto tmp3_end;
tmpMeta37 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 3));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta37,6,2) == 0) goto tmp3_end;
tmpMeta38 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta37), 3));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta38,12,1) == 0) goto tmp3_end;
tmpMeta39 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 4));
_i_exp1 = tmpMeta37;
_i_exp = tmpMeta39;
_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_LIT2087);
_txt = omc_Tpl_writeText(threadData, _txt, _l_expPart);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT113);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_varDecls;
tmpMeta[0+2] = _a_auxFunction;
goto tmp3_done;
}
case 8: {
modelica_metatype tmpMeta40;
modelica_metatype tmpMeta41;
modelica_metatype tmpMeta42;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,0,4) == 0) goto tmp3_end;
tmpMeta40 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 3));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta40,6,2) == 0) goto tmp3_end;
tmpMeta41 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta40), 3));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta41,13,2) == 0) goto tmp3_end;
tmpMeta42 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 4));
_i_exp1 = tmpMeta40;
_i_exp = tmpMeta42;
_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_LIT2087);
_txt = omc_Tpl_writeText(threadData, _txt, _l_expPart);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT113);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_varDecls;
tmpMeta[0+2] = _a_auxFunction;
goto tmp3_done;
}
case 9: {
modelica_metatype tmpMeta43;
modelica_metatype tmpMeta44;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,0,4) == 0) goto tmp3_end;
tmpMeta43 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 3));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta43,21,2) == 0) goto tmp3_end;
tmpMeta44 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 4));
_i_exp1 = tmpMeta43;
_i_exp = tmpMeta44;
_i_val = tmpMeta44;
_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: {
modelica_metatype tmpMeta45;
modelica_metatype tmpMeta46;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,0,4) == 0) goto tmp3_end;
tmpMeta45 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta45,9,3) == 0) goto tmp3_end;
tmpMeta46 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta45), 2));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta46,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_LIT113);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_varDecls;
tmpMeta[0+2] = _a_auxFunction;
goto tmp3_done;
}
case 11: {
modelica_metatype tmpMeta47;
modelica_metatype tmpMeta48;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,0,4) == 0) goto tmp3_end;
tmpMeta47 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 3));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta47,6,2) == 0) goto tmp3_end;
tmpMeta48 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 4));
_i_exp1 = tmpMeta47;
_i_exp = tmpMeta48;
_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_LIT129);
_txt = omc_Tpl_writeText(threadData, _txt, _l_expPart);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT113);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_varDecls;
tmpMeta[0+2] = _a_auxFunction;
goto tmp3_done;
}
case 12: {
modelica_metatype tmpMeta49;
modelica_metatype tmpMeta50;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,0,4) == 0) goto tmp3_end;
tmpMeta49 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 3));
tmpMeta50 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 4));
_i_exp1 = tmpMeta49;
_i_exp = tmpMeta50;
_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_LIT129);
_txt = omc_Tpl_writeText(threadData, _txt, _l_expPart2);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT113);
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_LIT471), 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_LIT129);
_txt = omc_Tpl_writeText(threadData, _txt, _l_expPart);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT113);
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[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;
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: {
modelica_metatype tmpMeta6;
modelica_metatype tmpMeta7;
modelica_metatype tmpMeta8;
modelica_metatype tmpMeta9;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,21,2) == 0) goto tmp3_end;
tmpMeta6 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
tmpMeta7 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 3));
if (listEmpty(tmpMeta7)) goto tmp3_end;
tmpMeta8 = MMC_CAR(tmpMeta7);
tmpMeta9 = MMC_CDR(tmpMeta7);
if (!listEmpty(tmpMeta9)) goto tmp3_end;
_i_arr = tmpMeta6;
_i_idx = tmpMeta8;
_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_LIT2089);
_txt = omc_Tpl_writeText(threadData, _txt, _l_arr1);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT234);
_txt = omc_Tpl_writeText(threadData, _txt, _l_idx1);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT234);
_txt = omc_Tpl_writeText(threadData, _txt, _l_val1);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT299);
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[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_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: {
modelica_metatype tmpMeta6;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,0,4) == 0) goto tmp3_end;
tmpMeta6 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 3));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta6,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,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_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,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_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_LIT2091);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT98);
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_LIT2093);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT98);
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_LIT2095);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT98);
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) 2716), ((modelica_integer) 14)), _OMC_LIT2096);
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,7) == 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_LIT2097, _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_LIT104);
_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[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_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: {
modelica_metatype tmpMeta6;
modelica_metatype tmpMeta7;
if (listEmpty(tmp4_2)) goto tmp3_end;
tmpMeta6 = MMC_CAR(tmp4_2);
tmpMeta7 = MMC_CDR(tmp4_2);
_i_stmt = tmpMeta6;
_rest = tmpMeta7;
_txt = tmp4_1;
_a_auxFunction = tmp4_3;
_a_varDecls = tmp4_4;
_txt = omc_CodegenCFunctions_extractParFors__impl(threadData, _txt, _i_stmt, _OMC_LIT2097, _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_LIT104);
_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[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_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: {
modelica_metatype tmpMeta6;
modelica_metatype tmpMeta7;
if (listEmpty(tmp4_2)) goto tmp3_end;
tmpMeta6 = MMC_CAR(tmp4_2);
tmpMeta7 = MMC_CDR(tmp4_2);
_i_stmt = tmpMeta6;
_rest = tmpMeta7;
_txt = tmp4_1;
_a_auxFunction = tmp4_3;
_a_varDecls = tmp4_4;
_txt = omc_CodegenCFunctions_algStatement(threadData, _txt, _i_stmt, _OMC_LIT2097, _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_LIT104);
_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[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_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: {
modelica_metatype tmpMeta6;
modelica_metatype tmpMeta7;
if (listEmpty(tmp4_2)) goto tmp3_end;
tmpMeta6 = MMC_CAR(tmp4_2);
tmpMeta7 = MMC_CDR(tmp4_2);
_i_stmt = tmpMeta6;
_rest = tmpMeta7;
_txt = tmp4_1;
_a_auxFunction = tmp4_3;
_a_varDecls = tmp4_4;
_txt = omc_CodegenCFunctions_algStatement(threadData, _txt, _i_stmt, _OMC_LIT1401, _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[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_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_metatype tmpMeta6;
modelica_integer tmp7;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,0,1) == 0) goto tmp3_end;
tmpMeta6 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
tmp7 = mmc_unbox_integer(tmpMeta6);
_i_integer = tmp7;
_txt = tmp4_1;
_a_c = tmp4_3;
_a_auxFunction = tmp4_4;
_txt = omc_CodegenCFunctions_contextCrefNoPrevExp(threadData, _txt, _a_c, _OMC_LIT1401, _a_auxFunction ,&_a_auxFunction);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT2099);
_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) 2659), ((modelica_integer) 14)), _OMC_LIT2100);
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[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_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_metatype tmpMeta6;
modelica_metatype tmpMeta7;
modelica_integer tmp8;
modelica_metatype tmpMeta9;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,0,6) == 0) goto tmp3_end;
tmpMeta6 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
tmpMeta7 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 5));
tmp8 = mmc_unbox_integer(tmpMeta7);
if (1 != tmp8) goto tmp3_end;
tmpMeta9 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 7));
_i_c = tmpMeta6;
_i_t = tmpMeta9;
_txt = tmp4_1;
_a_preExp = tmp4_3;
_a_varDecls = tmp4_4;
_a_auxFunction = tmp4_5;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT2102);
_txt = omc_CodegenCFunctions_expTypeShort(threadData, _txt, _i_t);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT2104);
_txt = omc_CodegenCFunctions_extVarName(threadData, _txt, _i_c);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT87);
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_metatype tmpMeta10;
modelica_metatype tmpMeta11;
modelica_integer tmp12;
modelica_metatype tmpMeta13;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,0,6) == 0) goto tmp3_end;
tmpMeta10 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
tmpMeta11 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 4));
tmp12 = mmc_unbox_integer(tmpMeta11);
tmpMeta13 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 7));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta13,0,1) == 0) goto tmp3_end;
_i_c = tmpMeta10;
_i_oi = tmp12;
_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_LIT2106);
_ret_1 = omc_ComponentReference_appendStringFirstIdent(threadData, omc_Tpl_textString(threadData, _l_suffix), _i_c);
_txt = omc_CodegenCFunctions_contextCrefNoPrevExp(threadData, _txt, _ret_1, _OMC_LIT1401, _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: {
modelica_metatype tmpMeta14;
modelica_metatype tmpMeta15;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,0,6) == 0) goto tmp3_end;
tmpMeta14 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
tmpMeta15 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 7));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta15,2,1) == 0) goto tmp3_end;
_i_c = tmpMeta14;
_txt = tmp4_1;
_a_preExp = tmp4_3;
_a_varDecls = tmp4_4;
_a_auxFunction = tmp4_5;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT2108);
_txt = omc_CodegenCFunctions_contextCrefNoPrevExp(threadData, _txt, _i_c, _OMC_LIT1401, _a_auxFunction ,&_a_auxFunction);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT87);
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_metatype tmpMeta16;
modelica_metatype tmpMeta17;
modelica_integer tmp18;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,0,6) == 0) goto tmp3_end;
tmpMeta16 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
tmpMeta17 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 4));
tmp18 = mmc_unbox_integer(tmpMeta17);
_i_c = tmpMeta16;
_i_oi = tmp18;
_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_LIT40);
_ret_2 = omc_ComponentReference_appendStringFirstIdent(threadData, omc_Tpl_textString(threadData, _l_suffix), _i_c);
_txt = omc_CodegenCFunctions_contextCrefNoPrevExp(threadData, _txt, _ret_2, _OMC_LIT1401, _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: {
modelica_metatype tmpMeta19;
modelica_metatype tmpMeta20;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,1,2) == 0) goto tmp3_end;
tmpMeta19 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
tmpMeta20 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 3));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta20,2,1) == 0) goto tmp3_end;
_i_exp = tmpMeta19;
_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_LIT1401, _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_LIT129);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _l_texp);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT113);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT98);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT2108);
_txt = omc_Tpl_writeText(threadData, _txt, _l_tvar);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT87);
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_metatype tmpMeta21;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,1,2) == 0) goto tmp3_end;
tmpMeta21 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
_i_exp = tmpMeta21;
_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_LIT1401, _a_preExp, _a_varDecls, _a_auxFunction, &tmpMeta[0+1], &tmpMeta[0+2], &tmpMeta[0+3]);
goto tmp3_done;
}
case 6: {
modelica_metatype tmpMeta22;
modelica_metatype tmpMeta23;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,2,5) == 0) goto tmp3_end;
tmpMeta22 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
tmpMeta23 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 6));
_i_c = tmpMeta22;
_i_exp = tmpMeta23;
_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_LIT148, _a_varDecls ,&_a_varDecls);
_l_dim = omc_CodegenCFunctions_daeExp(threadData, _OMC_LIT20, _i_exp, _OMC_LIT1401, _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_LIT461);
_a_preExp = omc_CodegenCFunctions_contextCrefNoPrevExp(threadData, _a_preExp, _i_c, _OMC_LIT1401, _a_auxFunction ,&_a_auxFunction);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT301);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _l_dim);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT299);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT98);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT40);
_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 tmpMeta1;
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_integer tmp4_2;
tmp4_1 = _in_txt;
tmp4_2 = _in_a_oi;
{
modelica_metatype _txt = 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;
tmpMeta1 = _txt;
goto tmp3_done;
}
case 1: {
_txt = tmp4_1;
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT2110);
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta1;
_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 tmpMeta1;
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_integer tmp4_2;
tmp4_1 = _in_txt;
tmp4_2 = _in_a_oi;
{
modelica_metatype _txt = 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;
tmpMeta1 = _txt;
goto tmp3_done;
}
case 1: {
_txt = tmp4_1;
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT2110);
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta1;
_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[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_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_metatype tmpMeta6;
modelica_metatype tmpMeta7;
modelica_integer tmp8;
modelica_metatype tmpMeta9;
modelica_integer tmp10;
modelica_metatype tmpMeta11;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,0,6) == 0) goto tmp3_end;
tmpMeta6 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
tmpMeta7 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 3));
tmp8 = mmc_unbox_integer(tmpMeta7);
tmpMeta9 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 5));
tmp10 = mmc_unbox_integer(tmpMeta9);
if (1 != tmp10) goto tmp3_end;
tmpMeta11 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 7));
_i_c = tmpMeta6;
_i_isInput = tmp8;
_i_t = tmpMeta11;
_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_LIT1401, _a_auxFunction ,&_a_auxFunction);
_l_shortTypeStr = omc_CodegenCFunctions_expTypeShort(threadData, _OMC_LIT20, _i_t);
_a_varDecls = omc_Tpl_writeTok(threadData, _a_varDecls, _OMC_LIT2111);
_a_varDecls = omc_Tpl_writeText(threadData, _a_varDecls, _l_name);
_a_varDecls = omc_Tpl_writeTok(threadData, _a_varDecls, _OMC_LIT2113);
_a_varDecls = omc_Tpl_writeTok(threadData, _a_varDecls, _OMC_LIT98);
_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_LIT2115);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _l_shortTypeStr);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT2117);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _l_arg__name);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT299);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT98);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT30);
_txt = omc_CodegenCFunctions_extType(threadData, _txt, _i_t, _i_isInput, 1, 0);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT138);
_txt = omc_Tpl_writeText(threadData, _txt, _l_name);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT2119);
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_metatype tmpMeta12;
modelica_metatype tmpMeta13;
modelica_integer tmp14;
modelica_metatype tmpMeta15;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,0,6) == 0) goto tmp3_end;
tmpMeta12 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
tmpMeta13 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 4));
tmp14 = mmc_unbox_integer(tmpMeta13);
if (0 != tmp14) goto tmp3_end;
tmpMeta15 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 7));
_i_c = tmpMeta12;
_i_t = tmpMeta15;
_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: {
modelica_metatype tmpMeta16;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,0,6) == 0) goto tmp3_end;
tmpMeta16 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
_i_c = tmpMeta16;
_txt = tmp4_1;
_a_preExp = tmp4_3;
_a_varDecls = tmp4_4;
_a_auxFunction = tmp4_5;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT40);
_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: {
modelica_metatype tmpMeta17;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,1,2) == 0) goto tmp3_end;
tmpMeta17 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
_i_exp = tmpMeta17;
_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_LIT1401, _a_preExp, _a_varDecls, _a_auxFunction, &tmpMeta[0+1], &tmpMeta[0+2], &tmpMeta[0+3]);
goto tmp3_done;
}
case 4: {
modelica_metatype tmpMeta18;
modelica_metatype tmpMeta19;
modelica_metatype tmpMeta20;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,2,5) == 0) goto tmp3_end;
tmpMeta18 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
tmpMeta19 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 5));
tmpMeta20 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 6));
_i_c = tmpMeta18;
_i_type__ = tmpMeta19;
_i_exp = tmpMeta20;
_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_LIT1401, _a_auxFunction ,&_a_auxFunction);
_l_dim = omc_CodegenCFunctions_daeExp(threadData, _OMC_LIT20, _i_exp, _OMC_LIT1401, _a_preExp, _a_varDecls, _a_auxFunction ,&_a_preExp ,&_a_varDecls ,&_a_auxFunction);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT326);
_txt = omc_Tpl_writeText(threadData, _txt, _l_name);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT301);
_txt = omc_Tpl_writeText(threadData, _txt, _l_dim);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT87);
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 tmpMeta1;
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;
tmp4_3 = _in_a_cr;
{
modelica_metatype _txt = 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 (mmc__uniontype__metarecord__typedef__equal(tmp4_2,2,1) == 0) goto tmp3_end;
_txt = tmp4_1;
_a_cr = tmp4_3;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1405);
_txt = omc_Tpl_writeText(threadData, _txt, _a_cr);
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT87);
goto tmp3_done;
}
case 1: {
_txt = tmp4_1;
_a_cr = tmp4_3;
tmpMeta1 = omc_Tpl_writeText(threadData, _txt, _a_cr);
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta1;
_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_LIT1401, _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 tmpMeta1;
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_a_isInput;
tmp4_3 = _in_a_shortTypeStr;
tmp4_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 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_name = tmp4_4;
tmpMeta1 = omc_Tpl_writeText(threadData, _txt, _a_name);
goto tmp3_done;
}
case 1: {
_txt = tmp4_1;
_a_shortTypeStr = tmp4_3;
_a_name = tmp4_4;
_str_0 = omc_Tpl_textString(threadData, _a_shortTypeStr);
tmpMeta1 = omc_CodegenCFunctions_fun__450(threadData, _txt, _str_0, _a_name);
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta1;
_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 tmpMeta1;
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_name;
{
modelica_metatype _txt = NULL;
modelica_metatype _a_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_LIT576), MMC_STRINGDATA(tmp4_2)) != 0) goto tmp3_end;
_txt = tmp4_1;
_a_name = tmp4_3;
_txt = omc_Tpl_writeText(threadData, _txt, _a_name);
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT2121);
goto tmp3_done;
}
case 1: {
_txt = tmp4_1;
_a_name = tmp4_3;
tmpMeta1 = omc_Tpl_writeText(threadData, _txt, _a_name);
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta1;
_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[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_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_metatype tmpMeta6;
modelica_metatype tmpMeta7;
modelica_integer tmp8;
modelica_metatype tmpMeta9;
modelica_integer tmp10;
modelica_metatype tmpMeta11;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,0,6) == 0) goto tmp3_end;
tmpMeta6 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
tmpMeta7 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 4));
tmp8 = mmc_unbox_integer(tmpMeta7);
tmpMeta9 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 5));
tmp10 = mmc_unbox_integer(tmpMeta9);
tmpMeta11 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 7));
_i_c = tmpMeta6;
_i_oi = tmp8;
_i_ai = tmp10;
_i_ty = tmpMeta11;
_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_LIT1401, _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 tmpMeta1;
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_ai;
tmp4_3 = _in_a_ext__name;
tmp4_4 = _in_a_ty;
tmp4_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 tmp4;
int tmp5;
tmp4 = 0;
for (; tmp4 < 3; tmp4++) {
switch (MMC_SWITCH_CAST(tmp4)) {
case 0: {
if (0 != tmp4_2) goto tmp3_end;
_txt = tmp4_1;
_a_ext__name = tmp4_3;
_a_ty = tmp4_4;
_a_outarg = tmp4_5;
_txt = omc_Tpl_writeText(threadData, _txt, _a_outarg);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT392);
_txt = omc_CodegenCFunctions_expTypeModelica(threadData, _txt, _a_ty);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT87);
_txt = omc_Tpl_writeText(threadData, _txt, _a_ext__name);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT113);
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT98);
goto tmp3_done;
}
case 1: {
if (1 != tmp4_2) goto tmp3_end;
_txt = tmp4_1;
_a_ext__name = tmp4_3;
_a_ty = tmp4_4;
_a_outarg = tmp4_5;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT2123);
_txt = omc_CodegenCFunctions_expTypeArray(threadData, _txt, _a_ty);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT2125);
_txt = omc_Tpl_writeText(threadData, _txt, _a_ext__name);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT131);
_txt = omc_Tpl_writeText(threadData, _txt, _a_outarg);
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT299);
goto tmp3_done;
}
case 2: {
_txt = tmp4_1;
tmpMeta1 = _txt;
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta1;
_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[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_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_metatype tmpMeta6;
modelica_integer tmp7;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,0,6) == 0) goto tmp3_end;
tmpMeta6 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 4));
tmp7 = mmc_unbox_integer(tmpMeta6);
if (0 != tmp7) 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_metatype tmpMeta8;
modelica_metatype tmpMeta9;
modelica_integer tmp10;
modelica_metatype tmpMeta11;
modelica_integer tmp12;
modelica_metatype tmpMeta13;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,0,6) == 0) goto tmp3_end;
tmpMeta8 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
tmpMeta9 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 3));
tmp10 = mmc_unbox_integer(tmpMeta9);
tmpMeta11 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 5));
tmp12 = mmc_unbox_integer(tmpMeta11);
if (1 != tmp12) goto tmp3_end;
tmpMeta13 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 7));
_i_c = tmpMeta8;
_i_isInput = tmp10;
_i_ty = tmpMeta13;
_txt = tmp4_1;
_a_auxFunction = tmp4_3;
_l_var__name = omc_CodegenCFunctions_contextCrefNoPrevExp(threadData, _OMC_LIT20, _i_c, _OMC_LIT1401, _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_metatype tmpMeta14;
modelica_metatype tmpMeta15;
modelica_integer tmp16;
modelica_metatype tmpMeta17;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,0,6) == 0) goto tmp3_end;
tmpMeta14 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
tmpMeta15 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 5));
tmp16 = mmc_unbox_integer(tmpMeta15);
if (0 != tmp16) goto tmp3_end;
tmpMeta17 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 7));
_i_c = tmpMeta14;
_i_ty = tmpMeta17;
_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_LIT1401, _a_auxFunction ,&_a_auxFunction);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT392);
_txt = omc_CodegenCFunctions_expTypeModelica(threadData, _txt, _i_ty);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT87);
_txt = omc_CodegenCFunctions_fun__445(threadData, _txt, _i_ty, _l_cr);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT113);
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 tmpMeta1;
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_ty;
tmp4_3 = _in_a_cr;
{
modelica_metatype _txt = 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 (mmc__uniontype__metarecord__typedef__equal(tmp4_2,2,1) == 0) goto tmp3_end;
_txt = tmp4_1;
_a_cr = tmp4_3;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT2127);
_txt = omc_Tpl_writeText(threadData, _txt, _a_cr);
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT87);
goto tmp3_done;
}
case 1: {
_txt = tmp4_1;
_a_cr = tmp4_3;
tmpMeta1 = omc_Tpl_writeText(threadData, _txt, _a_cr);
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta1;
_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 tmpMeta1;
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_string tmp4_2;modelica_metatype tmp4_3;modelica_boolean tmp4_4;
tmp4_1 = _in_txt;
tmp4_2 = _in_mArg;
tmp4_3 = _in_a_var__name;
tmp4_4 = _in_a_isInput;
{
modelica_metatype _txt = NULL;
modelica_metatype _a_var__name = NULL;
modelica_boolean _a_isInput;
volatile mmc_switch_type tmp4;
int tmp5;
tmp4 = 0;
for (; tmp4 < 3; tmp4++) {
switch (MMC_SWITCH_CAST(tmp4)) {
case 0: {
if (7 != MMC_STRLEN(tmp4_2) || strcmp(MMC_STRINGDATA(_OMC_LIT576), MMC_STRINGDATA(tmp4_2)) != 0) goto tmp3_end;
_txt = tmp4_1;
_a_var__name = tmp4_3;
_a_isInput = tmp4_4;
tmpMeta1 = omc_CodegenCFunctions_fun__443(threadData, _txt, _a_isInput, _a_var__name);
goto tmp3_done;
}
case 1: {
if (6 != MMC_STRLEN(tmp4_2) || strcmp(MMC_STRINGDATA(_OMC_LIT1661), MMC_STRINGDATA(tmp4_2)) != 0) goto tmp3_end;
_txt = tmp4_1;
_a_var__name = tmp4_3;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT2129);
_txt = omc_Tpl_writeText(threadData, _txt, _a_var__name);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT301);
_txt = omc_Tpl_writeText(threadData, _txt, _a_var__name);
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT2131);
goto tmp3_done;
}
case 2: {
_txt = tmp4_1;
tmpMeta1 = _txt;
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta1;
_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 tmpMeta1;
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_a_isInput;
tmp4_3 = _in_a_var__name;
{
modelica_metatype _txt = NULL;
modelica_metatype _a_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_var__name = tmp4_3;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT2133);
_txt = omc_Tpl_writeText(threadData, _txt, _a_var__name);
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT299);
goto tmp3_done;
}
case 1: {
_txt = tmp4_1;
_a_var__name = tmp4_3;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT2135);
_txt = omc_Tpl_writeText(threadData, _txt, _a_var__name);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT2137);
_txt = omc_Tpl_writeText(threadData, _txt, _a_var__name);
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT299);
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta1;
_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[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_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: {
modelica_metatype tmpMeta6;
modelica_metatype tmpMeta7;
modelica_metatype tmpMeta8;
modelica_metatype tmpMeta9;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,0,7) == 0) goto tmp3_end;
tmpMeta6 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
tmpMeta7 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 3));
tmpMeta8 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 4));
tmpMeta9 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 5));
_i_var = tmp4_2;
_i_name = tmpMeta6;
_i_var_ty = tmpMeta7;
_i_value = tmpMeta8;
_i_instDims = tmpMeta9;
_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_LIT1401, _a_auxFunction ,&_a_auxFunction);
_a_varDecls = omc_CodegenCFunctions_varType(threadData, _a_varDecls, _i_var);
_a_varDecls = omc_Tpl_writeTok(threadData, _a_varDecls, _OMC_LIT34);
_a_varDecls = omc_Tpl_writeText(threadData, _a_varDecls, _l_var__name);
_a_varDecls = omc_Tpl_writeTok(threadData, _a_varDecls, _OMC_LIT113);
_a_varDecls = omc_Tpl_writeTok(threadData, _a_varDecls, _OMC_LIT98);
_a_varDecls = omc_CodegenCFunctions_varType(threadData, _a_varDecls, _i_var);
_a_varDecls = omc_Tpl_writeTok(threadData, _a_varDecls, _OMC_LIT34);
_a_varDecls = omc_CodegenCFunctions_extVarName(threadData, _a_varDecls, _i_name);
_a_varDecls = omc_Tpl_writeTok(threadData, _a_varDecls, _OMC_LIT113);
_a_varDecls = omc_Tpl_writeTok(threadData, _a_varDecls, _OMC_LIT98);
_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_LIT303);
_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_LIT305);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _l_type);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT307);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _a_var__name);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT301);
_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_LIT301);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _a_instDimsInit);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT299);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT98);
_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_LIT2123);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _l_type);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT2139);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _a_var__name);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT131);
_a_preExp = omc_CodegenCFunctions_extVarName(threadData, _a_preExp, _a_name);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT299);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT98);
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 tmpMeta1;
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_defaultValue;
tmp4_3 = _in_a_var__name;
tmp4_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 tmp4;
int tmp5;
tmp4 = 0;
for (; tmp4 < 2; tmp4++) {
switch (MMC_SWITCH_CAST(tmp4)) {
case 0: {
modelica_metatype tmpMeta6;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,0,2) == 0) goto tmp3_end;
tmpMeta6 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
if (!listEmpty(tmpMeta6)) goto tmp3_end;
_txt = tmp4_1;
tmpMeta1 = _txt;
goto tmp3_done;
}
case 1: {
_txt = tmp4_1;
_i_defaultValue = tmp4_2;
_a_var__name = tmp4_3;
_a_type = tmp4_4;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT2141);
_txt = omc_Tpl_writeText(threadData, _txt, _a_type);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT30);
_txt = omc_Tpl_writeText(threadData, _txt, _i_defaultValue);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT131);
_txt = omc_Tpl_writeText(threadData, _txt, _a_var__name);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT299);
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT98);
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta1;
_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 tmpMeta1;
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_defaultValue;
tmp4_3 = _in_a_var__name;
{
modelica_metatype _txt = NULL;
modelica_metatype _a_var__name = NULL;
modelica_metatype _i_defaultValue = NULL;
volatile mmc_switch_type tmp4;
int tmp5;
tmp4 = 0;
for (; tmp4 < 2; tmp4++) {
switch (MMC_SWITCH_CAST(tmp4)) {
case 0: {
modelica_metatype tmpMeta6;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,0,2) == 0) goto tmp3_end;
tmpMeta6 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
if (!listEmpty(tmpMeta6)) goto tmp3_end;
_txt = tmp4_1;
tmpMeta1 = _txt;
goto tmp3_done;
}
case 1: {
_txt = tmp4_1;
_i_defaultValue = tmp4_2;
_a_var__name = tmp4_3;
_txt = omc_Tpl_writeText(threadData, _txt, _a_var__name);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT129);
_txt = omc_Tpl_writeText(threadData, _txt, _i_defaultValue);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT113);
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT98);
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta1;
_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[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_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: {
modelica_metatype tmpMeta6;
modelica_metatype tmpMeta7;
if (listEmpty(tmp4_2)) goto tmp3_end;
tmpMeta6 = MMC_CAR(tmp4_2);
tmpMeta7 = MMC_CDR(tmp4_2);
_i_dim = tmpMeta6;
_rest = tmpMeta7;
_txt = tmp4_1;
_a_auxFunction = tmp4_3;
_a_varDecls = tmp4_4;
_a_preExp = tmp4_5;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1311);
_txt = omc_CodegenCFunctions_dimension(threadData, _txt, _i_dim, _OMC_LIT1401, _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[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_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: {
modelica_metatype tmpMeta6;
if (optionNone(tmp4_2)) goto tmp3_end;
tmpMeta6 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 1));
_i_v = tmpMeta6;
_txt = tmp4_1;
_a_auxFunction = tmp4_3;
_a_varDecls = tmp4_4;
_a_preExp = tmp4_5;
_txt = omc_CodegenCFunctions_daeExp(threadData, _txt, _i_v, _OMC_LIT1401, _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[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_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: {
modelica_metatype tmpMeta6;
modelica_metatype tmpMeta7;
modelica_metatype tmpMeta8;
modelica_metatype tmpMeta9;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,0,7) == 0) goto tmp3_end;
tmpMeta6 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
tmpMeta7 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 3));
tmpMeta8 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 4));
tmpMeta9 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 5));
_i_var = tmp4_2;
_i_name = tmpMeta6;
_i_var_ty = tmpMeta7;
_i_value = tmpMeta8;
_i_instDims = tmpMeta9;
_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_LIT1401, _a_auxFunction ,&_a_auxFunction);
_a_varDecls = omc_CodegenCFunctions_varType(threadData, _a_varDecls, _i_var);
_a_varDecls = omc_Tpl_writeTok(threadData, _a_varDecls, _OMC_LIT34);
_a_varDecls = omc_Tpl_writeText(threadData, _a_varDecls, _l_var__name);
_a_varDecls = omc_Tpl_writeTok(threadData, _a_varDecls, _OMC_LIT113);
_a_varDecls = omc_Tpl_writeTok(threadData, _a_varDecls, _OMC_LIT98);
_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_LIT303);
_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_LIT305);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _l_type);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT307);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _a_var__name);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT301);
_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_LIT301);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _a_instDimsInit);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT299);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT98);
_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 tmpMeta1;
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_defaultValue;
tmp4_3 = _in_a_var__name;
tmp4_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 tmp4;
int tmp5;
tmp4 = 0;
for (; tmp4 < 2; tmp4++) {
switch (MMC_SWITCH_CAST(tmp4)) {
case 0: {
modelica_metatype tmpMeta6;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,0,2) == 0) goto tmp3_end;
tmpMeta6 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
if (!listEmpty(tmpMeta6)) goto tmp3_end;
_txt = tmp4_1;
tmpMeta1 = _txt;
goto tmp3_done;
}
case 1: {
_txt = tmp4_1;
_i_defaultValue = tmp4_2;
_a_var__name = tmp4_3;
_a_type = tmp4_4;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT2141);
_txt = omc_Tpl_writeText(threadData, _txt, _a_type);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT30);
_txt = omc_Tpl_writeText(threadData, _txt, _i_defaultValue);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT131);
_txt = omc_Tpl_writeText(threadData, _txt, _a_var__name);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT299);
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT98);
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta1;
_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 tmpMeta1;
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_defaultValue;
tmp4_3 = _in_a_var__name;
{
modelica_metatype _txt = NULL;
modelica_metatype _a_var__name = NULL;
modelica_metatype _i_defaultValue = NULL;
volatile mmc_switch_type tmp4;
int tmp5;
tmp4 = 0;
for (; tmp4 < 2; tmp4++) {
switch (MMC_SWITCH_CAST(tmp4)) {
case 0: {
modelica_metatype tmpMeta6;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,0,2) == 0) goto tmp3_end;
tmpMeta6 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
if (!listEmpty(tmpMeta6)) goto tmp3_end;
_txt = tmp4_1;
tmpMeta1 = _txt;
goto tmp3_done;
}
case 1: {
_txt = tmp4_1;
_i_defaultValue = tmp4_2;
_a_var__name = tmp4_3;
_txt = omc_Tpl_writeText(threadData, _txt, _a_var__name);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT129);
_txt = omc_Tpl_writeText(threadData, _txt, _i_defaultValue);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT113);
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT98);
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta1;
_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[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_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: {
modelica_metatype tmpMeta6;
modelica_metatype tmpMeta7;
if (listEmpty(tmp4_2)) goto tmp3_end;
tmpMeta6 = MMC_CAR(tmp4_2);
tmpMeta7 = MMC_CDR(tmp4_2);
_i_dim = tmpMeta6;
_rest = tmpMeta7;
_txt = tmp4_1;
_a_auxFunction = tmp4_3;
_a_varDecls = tmp4_4;
_a_preExp = tmp4_5;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1311);
_txt = omc_CodegenCFunctions_dimension(threadData, _txt, _i_dim, _OMC_LIT1401, _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[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_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: {
modelica_metatype tmpMeta6;
if (optionNone(tmp4_2)) goto tmp3_end;
tmpMeta6 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 1));
_i_v = tmpMeta6;
_txt = tmp4_1;
_a_auxFunction = tmp4_3;
_a_varDecls = tmp4_4;
_a_preExp = tmp4_5;
_txt = omc_CodegenCFunctions_daeExp(threadData, _txt, _i_v, _OMC_LIT1401, _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 tmpMeta1;
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_metatype tmp4_2;
tmp4_1 = _in_txt;
tmp4_2 = _in_a_ty;
{
modelica_metatype _txt = NULL;
int tmp4;
{
switch (MMC_SWITCH_CAST(valueConstructor(tmp4_2))) {
case 3: {
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,0,1) == 0) goto tmp3_end;
_txt = tmp4_1;
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT980);
goto tmp3_done;
}
case 4: {
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,1,1) == 0) goto tmp3_end;
_txt = tmp4_1;
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT2143);
goto tmp3_done;
}
case 6: {
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,3,1) == 0) goto tmp3_end;
_txt = tmp4_1;
tmpMeta1 = omc_CodegenCFunctions_boolStrC(threadData, _txt, 0);
goto tmp3_done;
}
case 5: {
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,2,1) == 0) goto tmp3_end;
_txt = tmp4_1;
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT980);
goto tmp3_done;
}
default:
tmp3_default: OMC_LABEL_UNUSED; {
_txt = tmp4_1;
tmpMeta1 = _txt;
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta1;
_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 tmpMeta1;
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_boolean tmp4_2;
tmp4_1 = _in_txt;
tmp4_2 = _in_a_v;
{
modelica_metatype _txt = 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;
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT980);
goto tmp3_done;
}
case 1: {
_txt = tmp4_1;
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT410);
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta1;
_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[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_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_metatype tmpMeta6;
modelica_metatype tmpMeta7;
modelica_integer tmp8;
modelica_metatype tmpMeta9;
modelica_integer tmp10;
modelica_metatype tmpMeta11;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,0,6) == 0) goto tmp3_end;
tmpMeta6 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
tmpMeta7 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 3));
tmp8 = mmc_unbox_integer(tmpMeta7);
if (1 != tmp8) goto tmp3_end;
tmpMeta9 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 5));
tmp10 = mmc_unbox_integer(tmpMeta9);
if (1 != tmp10) goto tmp3_end;
tmpMeta11 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 7));
_i_c = tmpMeta6;
_i_ty = tmpMeta11;
_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_LIT34);
_a_varDecls = omc_CodegenCFunctions_extVarName(threadData, _a_varDecls, _i_c);
_a_varDecls = omc_Tpl_writeTok(threadData, _a_varDecls, _OMC_LIT113);
_a_varDecls = omc_Tpl_writeTok(threadData, _a_varDecls, _OMC_LIT98);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT2123);
_txt = omc_CodegenCFunctions_expTypeArray(threadData, _txt, _i_ty);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT2139);
_txt = omc_CodegenCFunctions_contextCrefNoPrevExp(threadData, _txt, _i_c, _OMC_LIT1401, _a_auxFunction ,&_a_auxFunction);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT131);
_txt = omc_CodegenCFunctions_extVarName(threadData, _txt, _i_c);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT299);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_varDecls;
tmpMeta[0+2] = _a_auxFunction;
goto tmp3_done;
}
case 1: {
modelica_metatype tmpMeta12;
modelica_metatype tmpMeta13;
modelica_integer tmp14;
modelica_metatype tmpMeta15;
modelica_integer tmp16;
modelica_metatype tmpMeta17;
modelica_integer tmp18;
modelica_metatype tmpMeta19;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,0,6) == 0) goto tmp3_end;
tmpMeta12 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
tmpMeta13 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 4));
tmp14 = mmc_unbox_integer(tmpMeta13);
tmpMeta15 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 5));
tmp16 = mmc_unbox_integer(tmpMeta15);
tmpMeta17 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 6));
tmp18 = mmc_unbox_integer(tmpMeta17);
tmpMeta19 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 7));
_i_c = tmpMeta12;
_i_oi = tmp14;
_i_ia = tmp16;
_i_ea_hasBinding = tmp18;
_i_ty = tmpMeta19;
_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: {
modelica_metatype tmpMeta20;
modelica_metatype tmpMeta21;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,0,6) == 0) goto tmp3_end;
tmpMeta20 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
tmpMeta21 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 7));
_i_c = tmpMeta20;
_i_ty = tmpMeta21;
_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_LIT34);
_a_varDecls = omc_CodegenCFunctions_extVarName(threadData, _a_varDecls, _i_c);
_a_varDecls = omc_Tpl_writeTok(threadData, _a_varDecls, _OMC_LIT113);
_a_varDecls = omc_Tpl_writeTok(threadData, _a_varDecls, _OMC_LIT98);
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_LIT34);
_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_LIT113);
_a_varDecls = omc_Tpl_writeTok(threadData, _a_varDecls, _OMC_LIT98);
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_LIT34);
_a_varDecls = omc_CodegenCFunctions_extVarName(threadData, _a_varDecls, _a_c);
_a_varDecls = omc_Tpl_writeTok(threadData, _a_varDecls, _OMC_LIT113);
_a_varDecls = omc_Tpl_writeTok(threadData, _a_varDecls, _OMC_LIT98);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT2123);
_txt = omc_CodegenCFunctions_expTypeArray(threadData, _txt, _a_ty);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT2139);
_txt = omc_CodegenCFunctions_contextCrefNoPrevExp(threadData, _txt, _a_c, _OMC_LIT1401, _a_auxFunction ,&_a_auxFunction);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT131);
_txt = omc_CodegenCFunctions_extVarName(threadData, _txt, _a_c);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT299);
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 tmpMeta1;
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_a_ea_hasBinding;
tmp4_3 = _in_a_default__val;
{
modelica_metatype _txt = NULL;
modelica_metatype _a_default__val = 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 (0 != tmp4_2) goto tmp3_end;
_txt = tmp4_1;
_a_default__val = tmp4_3;
_str_0 = omc_Tpl_textString(threadData, _a_default__val);
tmpMeta1 = omc_CodegenCFunctions_fun__424(threadData, _txt, _str_0, _a_default__val);
goto tmp3_done;
}
case 1: {
_txt = tmp4_1;
tmpMeta1 = _txt;
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta1;
_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 tmpMeta1;
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_default__val;
{
modelica_metatype _txt = NULL;
modelica_metatype _a_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 != MMC_STRLEN(tmp4_2) || strcmp(MMC_STRINGDATA(_OMC_LIT28), MMC_STRINGDATA(tmp4_2)) != 0) goto tmp3_end;
_txt = tmp4_1;
tmpMeta1 = _txt;
goto tmp3_done;
}
case 1: {
_txt = tmp4_1;
_a_default__val = tmp4_3;
_txt = omc_Tpl_pushBlock(threadData, _txt, _OMC_LIT2144);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT2146);
_txt = omc_Tpl_writeText(threadData, _txt, _a_default__val);
tmpMeta1 = omc_Tpl_popBlock(threadData, _txt);
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta1;
_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[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_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_metatype tmpMeta6;
modelica_metatype tmpMeta7;
modelica_integer tmp8;
modelica_metatype tmpMeta9;
modelica_integer tmp10;
modelica_metatype tmpMeta11;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,0,6) == 0) goto tmp3_end;
tmpMeta6 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
tmpMeta7 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 3));
tmp8 = mmc_unbox_integer(tmpMeta7);
if (1 != tmp8) goto tmp3_end;
tmpMeta9 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 5));
tmp10 = mmc_unbox_integer(tmpMeta9);
if (1 != tmp10) goto tmp3_end;
tmpMeta11 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 7));
_i_c = tmpMeta6;
_i_ty = tmpMeta11;
_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_metatype tmpMeta12;
modelica_metatype tmpMeta13;
modelica_integer tmp14;
modelica_metatype tmpMeta15;
modelica_integer tmp16;
modelica_metatype tmpMeta17;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,0,6) == 0) goto tmp3_end;
tmpMeta12 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
tmpMeta13 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 3));
tmp14 = mmc_unbox_integer(tmpMeta13);
if (0 != tmp14) goto tmp3_end;
tmpMeta15 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 5));
tmp16 = mmc_unbox_integer(tmpMeta15);
if (1 != tmp16) goto tmp3_end;
tmpMeta17 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 7));
_i_c = tmpMeta12;
_i_ty = tmpMeta17;
_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_metatype tmpMeta18;
modelica_metatype tmpMeta19;
modelica_integer tmp20;
modelica_metatype tmpMeta21;
modelica_integer tmp22;
modelica_metatype tmpMeta23;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,0,6) == 0) goto tmp3_end;
tmpMeta18 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
tmpMeta19 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 3));
tmp20 = mmc_unbox_integer(tmpMeta19);
if (1 != tmp20) goto tmp3_end;
tmpMeta21 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 5));
tmp22 = mmc_unbox_integer(tmpMeta21);
if (0 != tmp22) goto tmp3_end;
tmpMeta23 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 7));
_i_c = tmpMeta18;
_i_ty = tmpMeta23;
_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_metatype tmpMeta24;
modelica_metatype tmpMeta25;
modelica_integer tmp26;
modelica_metatype tmpMeta27;
modelica_integer tmp28;
modelica_metatype tmpMeta29;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,0,6) == 0) goto tmp3_end;
tmpMeta24 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
tmpMeta25 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 4));
tmp26 = mmc_unbox_integer(tmpMeta25);
tmpMeta27 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 5));
tmp28 = mmc_unbox_integer(tmpMeta27);
if (0 != tmp28) goto tmp3_end;
tmpMeta29 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 7));
_i_c = tmpMeta24;
_i_oi = tmp26;
_i_ty = tmpMeta29;
_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_LIT34);
_a_varDecls = omc_CodegenCFunctions_extVarName(threadData, _a_varDecls, _a_c);
_a_varDecls = omc_Tpl_writeTok(threadData, _a_varDecls, _OMC_LIT113);
_a_varDecls = omc_Tpl_writeTok(threadData, _a_varDecls, _OMC_LIT98);
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_LIT34);
_a_varDecls = omc_CodegenCFunctions_extVarName(threadData, _a_varDecls, _a_c);
_a_varDecls = omc_Tpl_writeTok(threadData, _a_varDecls, _OMC_LIT113);
_a_varDecls = omc_Tpl_writeTok(threadData, _a_varDecls, _OMC_LIT98);
_txt = omc_CodegenCFunctions_extVarName(threadData, _txt, _a_c);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT392);
_txt = omc_CodegenCFunctions_extType(threadData, _txt, _i_ty, 1, 0, 0);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT87);
_txt = omc_CodegenCFunctions_fun__419(threadData, _txt, _i_ty);
_txt = omc_CodegenCFunctions_contextCrefNoPrevExp(threadData, _txt, _a_c, _OMC_LIT1401, _a_auxFunction ,&_a_auxFunction);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT113);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT98);
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 tmpMeta1;
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_metatype tmp4_2;
tmp4_1 = _in_txt;
tmp4_2 = _in_a_ty;
{
modelica_metatype _txt = NULL;
volatile mmc_switch_type tmp4;
int tmp5;
tmp4 = 0;
for (; tmp4 < 2; tmp4++) {
switch (MMC_SWITCH_CAST(tmp4)) {
case 0: {
modelica_metatype tmpMeta6;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,9,3) == 0) goto tmp3_end;
tmpMeta6 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta6,3,1) == 0) goto tmp3_end;
_txt = tmp4_1;
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT40);
goto tmp3_done;
}
case 1: {
_txt = tmp4_1;
tmpMeta1 = _txt;
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta1;
_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[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_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: {
modelica_metatype tmpMeta6;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,1,3) == 0) goto tmp3_end;
tmpMeta6 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
_i_c = tmp4_2;
_i_ident = tmpMeta6;
_txt = tmp4_1;
_a_varDecls = tmp4_4;
_a_varDecls = omc_Tpl_writeTok(threadData, _a_varDecls, _OMC_LIT998);
_a_varDecls = omc_CodegenCFunctions_extVarName(threadData, _a_varDecls, _i_c);
_a_varDecls = omc_Tpl_writeTok(threadData, _a_varDecls, _OMC_LIT113);
_a_varDecls = omc_Tpl_writeTok(threadData, _a_varDecls, _OMC_LIT98);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT2148);
_txt = omc_Tpl_writeStr(threadData, _txt, _i_ident);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT2150);
_txt = omc_Tpl_pushBlock(threadData, _txt, _OMC_LIT105);
_txt = omc_CodegenCFunctions_generateThrow(threadData, _txt);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT2152);
_txt = omc_Tpl_popBlock(threadData, _txt);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT167);
_txt = omc_CodegenCFunctions_extVarName(threadData, _txt, _i_c);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT129);
_ret_0 = omc_Flags_isSet(threadData, _OMC_LIT614);
_txt = omc_CodegenCFunctions_fun__417(threadData, _txt, _ret_0);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT2154);
_txt = omc_Tpl_writeStr(threadData, _txt, _i_ident);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT2156);
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_LIT2158);
_txt_1 = omc_CodegenUtil_crefStr(threadData, _txt_1, _i_c);
_txt_1 = omc_Tpl_writeTok(threadData, _txt_1, _OMC_LIT301);
_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) 2456), ((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 tmpMeta1;
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_boolean tmp4_2;
tmp4_1 = _in_txt;
tmp4_2 = _in_mArg;
{
modelica_metatype _txt = 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;
tmpMeta1 = _txt;
goto tmp3_done;
}
case 1: {
_txt = tmp4_1;
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT616);
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta1;
_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_LIT1661), 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_LIT2160);
_txt = omc_CodegenCFunctions_contextCrefNoPrevExp(threadData, _txt, _a_c, _OMC_LIT1401, _a_auxFunction ,&_a_auxFunction);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT2162);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT98);
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_LIT576), 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_LIT1401, _a_auxFunction ,&_a_auxFunction);
_a_varDecls = omc_Tpl_writeTok(threadData, _a_varDecls, _OMC_LIT2164);
_a_varDecls = omc_Tpl_writeText(threadData, _a_varDecls, _l_var__name);
_a_varDecls = omc_Tpl_writeTok(threadData, _a_varDecls, _OMC_LIT2166);
_a_varDecls = omc_Tpl_writeTok(threadData, _a_varDecls, _OMC_LIT98);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT2168);
_txt = omc_Tpl_writeText(threadData, _txt, _l_var__name);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT131);
_txt = omc_Tpl_writeText(threadData, _txt, _l_var__name);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT2170);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT98);
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[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_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: {
modelica_metatype tmpMeta6;
modelica_metatype tmpMeta7;
modelica_metatype tmpMeta8;
modelica_metatype tmpMeta9;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,3,14) == 0) goto tmp3_end;
tmpMeta6 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 3));
tmpMeta7 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 5));
tmpMeta8 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 6));
tmpMeta9 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 9));
_i_extName = tmpMeta6;
_i_extArgs = tmpMeta7;
_i_extReturn = tmpMeta8;
_i_biVars = tmpMeta9;
_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_LIT2172);
_a_varDecls = omc_Tpl_writeTok(threadData, _a_varDecls, _OMC_LIT98);
_ret_1 = omc_List_union(threadData, _i_extArgs, _i_extArgs);
_l_varDecs = omc_Tpl_pushIter(threadData, _OMC_LIT20, _OMC_LIT104);
_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_LIT2174);
_a_varDecls = omc_Tpl_writeTok(threadData, _a_varDecls, _OMC_LIT98);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT2174);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT98);
_l_biVarDecs = omc_Tpl_pushIter(threadData, _OMC_LIT20, _OMC_LIT104);
_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_LIT2176);
_a_varDecls = omc_Tpl_writeTok(threadData, _a_varDecls, _OMC_LIT98);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT2176);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT98);
_l_args = omc_Tpl_pushIter(threadData, _OMC_LIT20, _OMC_LIT303);
_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_LIT2178);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT98);
_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_LIT2180);
_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_LIT2182);
_txt = omc_Tpl_writeText(threadData, _txt, _l_returnAssign);
_txt = omc_Tpl_writeStr(threadData, _txt, _i_extName);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT2184);
_txt = omc_Tpl_writeText(threadData, _txt, _l_args);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT2188);
_ret_5 = omc_List_union(threadData, _i_extArgs, _i_extArgs);
_txt = omc_Tpl_pushIter(threadData, _txt, _OMC_LIT104);
_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_LIT2190);
_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[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_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: {
modelica_metatype tmpMeta6;
modelica_metatype tmpMeta7;
if (listEmpty(tmp4_2)) goto tmp3_end;
tmpMeta6 = MMC_CAR(tmp4_2);
tmpMeta7 = MMC_CDR(tmp4_2);
_i_arg = tmpMeta6;
_rest = tmpMeta7;
_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 tmpMeta1;
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_metatype tmp4_2;
tmp4_1 = _in_txt;
tmp4_2 = _in_a_extReturn;
{
modelica_metatype _txt = NULL;
modelica_metatype _i_c = NULL;
volatile mmc_switch_type tmp4;
int tmp5;
tmp4 = 0;
for (; tmp4 < 2; tmp4++) {
switch (MMC_SWITCH_CAST(tmp4)) {
case 0: {
modelica_metatype tmpMeta6;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,0,6) == 0) goto tmp3_end;
tmpMeta6 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
_i_c = tmpMeta6;
_txt = tmp4_1;
_txt = omc_CodegenCFunctions_extVarName(threadData, _txt, _i_c);
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT129);
goto tmp3_done;
}
case 1: {
_txt = tmp4_1;
tmpMeta1 = _txt;
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta1;
_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[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_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: {
modelica_metatype tmpMeta6;
modelica_metatype tmpMeta7;
if (listEmpty(tmp4_2)) goto tmp3_end;
tmpMeta6 = MMC_CAR(tmp4_2);
tmpMeta7 = MMC_CDR(tmp4_2);
_i_arg = tmpMeta6;
_rest = tmpMeta7;
_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[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_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: {
modelica_metatype tmpMeta6;
modelica_metatype tmpMeta7;
if (listEmpty(tmp4_2)) goto tmp3_end;
tmpMeta6 = MMC_CAR(tmp4_2);
tmpMeta7 = MMC_CDR(tmp4_2);
_i_arg = tmpMeta6;
_rest = tmpMeta7;
_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[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_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: {
modelica_metatype tmpMeta6;
modelica_metatype tmpMeta7;
if (listEmpty(tmp4_2)) goto tmp3_end;
tmpMeta6 = MMC_CAR(tmp4_2);
tmpMeta7 = MMC_CDR(tmp4_2);
_i_arg = tmpMeta6;
_rest = tmpMeta7;
_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[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_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_metatype tmpMeta6;
modelica_metatype tmpMeta7;
modelica_metatype tmpMeta8;
modelica_metatype tmpMeta9;
modelica_metatype tmpMeta10;
modelica_metatype tmpMeta11;
modelica_metatype tmpMeta12;
modelica_integer tmp13;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,3,14) == 0) goto tmp3_end;
tmpMeta6 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 3));
tmpMeta7 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 5));
tmpMeta8 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 6));
tmpMeta9 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 9));
tmpMeta10 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 12));
tmpMeta11 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 14));
tmpMeta12 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 15));
tmp13 = mmc_unbox_integer(tmpMeta12);
_i_extName = tmpMeta6;
_i_extArgs = tmpMeta7;
_i_extReturn = tmpMeta8;
_i_biVars = tmpMeta9;
_i_language = tmpMeta10;
_i_info = tmpMeta11;
_i_dynamicLoad = tmp13;
_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_LIT104);
_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_LIT104);
_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_LIT303);
_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_LIT30);
_txt = omc_Tpl_writeText(threadData, _txt, _l_args);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT386);
_txt = omc_Tpl_pushIter(threadData, _txt, _OMC_LIT104);
_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[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_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: {
modelica_metatype tmpMeta6;
modelica_metatype tmpMeta7;
if (listEmpty(tmp4_2)) goto tmp3_end;
tmpMeta6 = MMC_CAR(tmp4_2);
tmpMeta7 = MMC_CDR(tmp4_2);
_i_arg = tmpMeta6;
_rest = tmpMeta7;
_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 tmpMeta1;
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_metatype tmp4_2;
tmp4_1 = _in_txt;
tmp4_2 = _in_a_extReturn;
{
modelica_metatype _txt = NULL;
modelica_metatype _i_c = NULL;
volatile mmc_switch_type tmp4;
int tmp5;
tmp4 = 0;
for (; tmp4 < 2; tmp4++) {
switch (MMC_SWITCH_CAST(tmp4)) {
case 0: {
modelica_metatype tmpMeta6;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,0,6) == 0) goto tmp3_end;
tmpMeta6 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
_i_c = tmpMeta6;
_txt = tmp4_1;
_txt = omc_CodegenCFunctions_extVarName(threadData, _txt, _i_c);
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT129);
goto tmp3_done;
}
case 1: {
_txt = tmp4_1;
tmpMeta1 = _txt;
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta1;
_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[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_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: {
modelica_metatype tmpMeta6;
modelica_metatype tmpMeta7;
if (listEmpty(tmp4_2)) goto tmp3_end;
tmpMeta6 = MMC_CAR(tmp4_2);
tmpMeta7 = MMC_CDR(tmp4_2);
_i_arg = tmpMeta6;
_rest = tmpMeta7;
_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 tmpMeta1;
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_boolean 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_dynamicLoad;
tmp4_3 = _in_a_language;
tmp4_4 = _in_a_extName;
tmp4_5 = _in_a_info;
tmp4_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 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;
tmpMeta1 = _txt;
goto tmp3_done;
}
case 1: {
_txt = tmp4_1;
_a_language = tmp4_3;
_a_extName = tmp4_4;
_a_info = tmp4_5;
_a_fname = tmp4_6;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT357);
_txt = omc_Tpl_writeText(threadData, _txt, _a_fname);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT2193);
_txt = omc_Tpl_pushBlock(threadData, _txt, _OMC_LIT105);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1531);
_txt = omc_CodegenCFunctions_infoArgs(threadData, _txt, _a_info);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT2197);
_txt = omc_CodegenCFunctions_extFunctionName(threadData, _txt, _a_extName, _a_language);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT2199);
_txt = omc_Tpl_popBlock(threadData, _txt);
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT2201);
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta1;
_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 tmpMeta1;
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_boolean tmp4_2;modelica_string tmp4_3;modelica_string tmp4_4;
tmp4_1 = _in_txt;
tmp4_2 = _in_a_dynamicLoad;
tmp4_3 = _in_a_language;
tmp4_4 = _in_a_extName;
{
modelica_metatype _txt = NULL;
modelica_string _a_language = NULL;
modelica_string _a_extName = 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_extName = tmp4_4;
tmpMeta1 = omc_Tpl_writeStr(threadData, _txt, _a_extName);
goto tmp3_done;
}
case 1: {
_txt = tmp4_1;
_a_language = tmp4_3;
_a_extName = tmp4_4;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT2203);
tmpMeta1 = omc_CodegenCFunctions_extFunctionName(threadData, _txt, _a_extName, _a_language);
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta1;
_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[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_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: {
modelica_metatype tmpMeta6;
modelica_metatype tmpMeta7;
if (listEmpty(tmp4_2)) goto tmp3_end;
tmpMeta6 = MMC_CAR(tmp4_2);
tmpMeta7 = MMC_CDR(tmp4_2);
_i_bivar = tmpMeta6;
_rest = tmpMeta7;
_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[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_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: {
modelica_metatype tmpMeta6;
modelica_metatype tmpMeta7;
if (listEmpty(tmp4_2)) goto tmp3_end;
tmpMeta6 = MMC_CAR(tmp4_2);
tmpMeta7 = MMC_CDR(tmp4_2);
_i_arg = tmpMeta6;
_rest = tmpMeta7;
_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[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_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: {
modelica_metatype tmpMeta6;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,3,14) == 0) goto tmp3_end;
tmpMeta6 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 12));
_i_fun = tmp4_2;
_i_language = tmpMeta6;
_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_LIT2206), 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_LIT2207), 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_LIT2208), 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_LIT2205);
_txt_0 = omc_Tpl_writeStr(threadData, _txt_0, _i_language);
_txt = omc_CodegenUtil_error(threadData, _txt, omc_Tpl_sourceInfo(threadData, _OMC_LIT27, ((modelica_integer) 2356), ((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_LIT244);
_ret_0 = omc_ComponentReference_appendStringFirstIdent(threadData, _OMC_LIT2109, _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[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_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: {
modelica_metatype tmpMeta6;
modelica_metatype tmpMeta7;
modelica_metatype tmpMeta8;
modelica_metatype tmpMeta9;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,0,7) == 0) goto tmp3_end;
tmpMeta6 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
tmpMeta7 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 3));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta7,9,3) == 0) goto tmp3_end;
tmpMeta8 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta7), 2));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta8,3,1) == 0) goto tmp3_end;
tmpMeta9 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta7), 3));
_i_var = tmp4_2;
_i_name = tmpMeta6;
_i_ty_varLst = tmpMeta9;
_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_LIT1401, _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_LIT147);
_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_LIT2210);
_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_LIT299);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT98);
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[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_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: {
modelica_metatype tmpMeta6;
modelica_metatype tmpMeta7;
if (listEmpty(tmp4_2)) goto tmp3_end;
tmpMeta6 = MMC_CAR(tmp4_2);
tmpMeta7 = MMC_CDR(tmp4_2);
_i_sv = tmpMeta6;
_rest = tmpMeta7;
_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_LIT1401, _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[5] __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: {
modelica_metatype tmpMeta6;
modelica_metatype tmpMeta7;
modelica_metatype tmpMeta8;
modelica_metatype tmpMeta9;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,0,7) == 0) goto tmp3_end;
tmpMeta6 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
tmpMeta7 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 3));
tmpMeta8 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 5));
tmpMeta9 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 6));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta9,0,0) == 0) goto tmp3_end;
_i_var = tmp4_2;
_i_var_name = tmpMeta6;
_i_var_ty = tmpMeta7;
_i_instDims = tmpMeta8;
_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_LIT1401, _a_auxFunction ,&_a_auxFunction);
_a_varDecls = omc_CodegenCFunctions_varType(threadData, _a_varDecls, _i_var);
_a_varDecls = omc_Tpl_writeTok(threadData, _a_varDecls, _OMC_LIT34);
_a_varDecls = omc_Tpl_writeText(threadData, _a_varDecls, _l_varName);
_a_varDecls = omc_Tpl_writeTok(threadData, _a_varDecls, _OMC_LIT113);
_a_varDecls = omc_Tpl_writeTok(threadData, _a_varDecls, _OMC_LIT98);
_l_instDimsInit = omc_Tpl_pushIter(threadData, _OMC_LIT20, _OMC_LIT303);
_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: {
modelica_metatype tmpMeta10;
modelica_metatype tmpMeta11;
modelica_metatype tmpMeta12;
modelica_metatype tmpMeta13;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,0,7) == 0) goto tmp3_end;
tmpMeta10 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
tmpMeta11 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 3));
tmpMeta12 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 5));
tmpMeta13 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 6));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta13,1,0) == 0) goto tmp3_end;
_i_var = tmp4_2;
_i_var_name = tmpMeta10;
_i_var_ty = tmpMeta11;
_i_instDims = tmpMeta12;
_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_LIT1401, _a_auxFunction ,&_a_auxFunction);
_a_varDecls = omc_CodegenCFunctions_varType(threadData, _a_varDecls, _i_var);
_a_varDecls = omc_Tpl_writeTok(threadData, _a_varDecls, _OMC_LIT34);
_a_varDecls = omc_Tpl_writeText(threadData, _a_varDecls, _l_varName);
_a_varDecls = omc_Tpl_writeTok(threadData, _a_varDecls, _OMC_LIT113);
_a_varDecls = omc_Tpl_writeTok(threadData, _a_varDecls, _OMC_LIT98);
_l_instDimsInit = omc_Tpl_pushIter(threadData, _OMC_LIT20, _OMC_LIT303);
_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: {
modelica_metatype tmpMeta14;
modelica_metatype tmpMeta15;
modelica_metatype tmpMeta16;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,0,7) == 0) goto tmp3_end;
tmpMeta14 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
tmpMeta15 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 3));
tmpMeta16 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 5));
_i_var = tmp4_2;
_i_var_name = tmpMeta14;
_i_var_ty = tmpMeta15;
_i_instDims = tmpMeta16;
_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_LIT1401, _a_auxFunction ,&_a_auxFunction);
_a_varDecls = omc_CodegenCFunctions_varType(threadData, _a_varDecls, _i_var);
_a_varDecls = omc_Tpl_writeTok(threadData, _a_varDecls, _OMC_LIT34);
_a_varDecls = omc_Tpl_writeText(threadData, _a_varDecls, _l_varName);
_a_varDecls = omc_Tpl_writeTok(threadData, _a_varDecls, _OMC_LIT113);
_a_varDecls = omc_Tpl_writeTok(threadData, _a_varDecls, _OMC_LIT98);
_l_instDimsInit = omc_Tpl_pushIter(threadData, _OMC_LIT20, _OMC_LIT303);
_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: {
modelica_metatype tmpMeta17;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,1,4) == 0) goto tmp3_end;
tmpMeta17 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
_i_var_name_1 = tmpMeta17;
_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_LIT1020);
_a_varAssign = omc_Tpl_writeStr(threadData, _a_varAssign, intString(_a_ix));
_a_varAssign = omc_Tpl_writeTok(threadData, _a_varAssign, _OMC_LIT2212);
_a_varAssign = omc_Tpl_writeStr(threadData, _a_varAssign, _i_var_name_1);
_a_varAssign = omc_Tpl_writeTok(threadData, _a_varAssign, _OMC_LIT113);
_a_varAssign = omc_Tpl_writeTok(threadData, _a_varAssign, _OMC_LIT98);
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_LIT1020);
_a_varAssign = omc_Tpl_writeStr(threadData, _a_varAssign, intString(_a_ix));
_a_varAssign = omc_Tpl_writeTok(threadData, _a_varAssign, _OMC_LIT129);
_a_varAssign = omc_Tpl_writeText(threadData, _a_varAssign, _a_varName);
_a_varAssign = omc_Tpl_writeTok(threadData, _a_varAssign, _OMC_LIT113);
_a_varAssign = omc_Tpl_writeTok(threadData, _a_varAssign, _OMC_LIT98);
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_LIT305);
_a_varInits = omc_CodegenCFunctions_expTypeShort(threadData, _a_varInits, _a_var_ty);
_a_varInits = omc_Tpl_writeTok(threadData, _a_varInits, _OMC_LIT566);
_a_varInits = omc_Tpl_writeText(threadData, _a_varInits, _a_varName);
_a_varInits = omc_Tpl_writeTok(threadData, _a_varInits, _OMC_LIT301);
_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_LIT301);
_a_varInits = omc_Tpl_writeText(threadData, _a_varInits, _a_instDimsInit);
_a_varInits = omc_Tpl_writeTok(threadData, _a_varInits, _OMC_LIT299);
_a_varInits = omc_Tpl_writeTok(threadData, _a_varInits, _OMC_LIT98);
_a_varAssign = omc_Tpl_writeStr(threadData, _a_varAssign, _a_dest);
_a_varAssign = omc_Tpl_writeTok(threadData, _a_varAssign, _OMC_LIT1020);
_a_varAssign = omc_Tpl_writeStr(threadData, _a_varAssign, intString(_a_ix));
_a_varAssign = omc_Tpl_writeTok(threadData, _a_varAssign, _OMC_LIT129);
_a_varAssign = omc_Tpl_writeText(threadData, _a_varAssign, _a_varName);
_a_varAssign = omc_Tpl_writeTok(threadData, _a_varAssign, _OMC_LIT113);
_a_varAssign = omc_Tpl_writeTok(threadData, _a_varAssign, _OMC_LIT98);
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[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_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: {
modelica_metatype tmpMeta6;
modelica_metatype tmpMeta7;
if (listEmpty(tmp4_2)) goto tmp3_end;
tmpMeta6 = MMC_CAR(tmp4_2);
tmpMeta7 = MMC_CDR(tmp4_2);
_i_dim = tmpMeta6;
_rest = tmpMeta7;
_txt = tmp4_1;
_a_auxFunction = tmp4_3;
_a_varDecls = tmp4_4;
_a_varInits = tmp4_5;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1311);
_txt = omc_CodegenCFunctions_dimension(threadData, _txt, _i_dim, _OMC_LIT1401, _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_LIT2214);
_a_varInits = omc_CodegenCFunctions_expTypeShort(threadData, _a_varInits, _a_var_ty);
_a_varInits = omc_Tpl_writeTok(threadData, _a_varInits, _OMC_LIT842);
_a_varInits = omc_Tpl_writeTok(threadData, _a_varInits, _OMC_LIT98);
_a_varAssign = omc_Tpl_writeStr(threadData, _a_varAssign, _a_dest);
_a_varAssign = omc_Tpl_writeTok(threadData, _a_varAssign, _OMC_LIT1020);
_a_varAssign = omc_Tpl_writeStr(threadData, _a_varAssign, intString(_a_ix));
_a_varAssign = omc_Tpl_writeTok(threadData, _a_varAssign, _OMC_LIT129);
_a_varAssign = omc_Tpl_writeText(threadData, _a_varAssign, _a_varName);
_a_varAssign = omc_Tpl_writeTok(threadData, _a_varAssign, _OMC_LIT113);
_a_varAssign = omc_Tpl_writeTok(threadData, _a_varAssign, _OMC_LIT98);
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_LIT305);
_a_varInits = omc_CodegenCFunctions_expTypeShort(threadData, _a_varInits, _a_var_ty);
_a_varInits = omc_Tpl_writeTok(threadData, _a_varInits, _OMC_LIT566);
_a_varInits = omc_Tpl_writeText(threadData, _a_varInits, _a_varName);
_a_varInits = omc_Tpl_writeTok(threadData, _a_varInits, _OMC_LIT301);
_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_LIT301);
_a_varInits = omc_Tpl_writeText(threadData, _a_varInits, _a_instDimsInit);
_a_varInits = omc_Tpl_writeTok(threadData, _a_varInits, _OMC_LIT299);
_a_varInits = omc_Tpl_writeTok(threadData, _a_varInits, _OMC_LIT98);
_a_varAssign = omc_Tpl_writeStr(threadData, _a_varAssign, _a_dest);
_a_varAssign = omc_Tpl_writeTok(threadData, _a_varAssign, _OMC_LIT1020);
_a_varAssign = omc_Tpl_writeStr(threadData, _a_varAssign, intString(_a_ix));
_a_varAssign = omc_Tpl_writeTok(threadData, _a_varAssign, _OMC_LIT129);
_a_varAssign = omc_Tpl_writeText(threadData, _a_varAssign, _a_varName);
_a_varAssign = omc_Tpl_writeTok(threadData, _a_varAssign, _OMC_LIT113);
_a_varAssign = omc_Tpl_writeTok(threadData, _a_varAssign, _OMC_LIT98);
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[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_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: {
modelica_metatype tmpMeta6;
modelica_metatype tmpMeta7;
if (listEmpty(tmp4_2)) goto tmp3_end;
tmpMeta6 = MMC_CAR(tmp4_2);
tmpMeta7 = MMC_CDR(tmp4_2);
_i_dim = tmpMeta6;
_rest = tmpMeta7;
_txt = tmp4_1;
_a_auxFunction = tmp4_3;
_a_varDecls = tmp4_4;
_a_varInits = tmp4_5;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1311);
_txt = omc_CodegenCFunctions_dimension(threadData, _txt, _i_dim, _OMC_LIT1401, _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_LIT2214);
_a_varInits = omc_CodegenCFunctions_expTypeShort(threadData, _a_varInits, _a_var_ty);
_a_varInits = omc_Tpl_writeTok(threadData, _a_varInits, _OMC_LIT842);
_a_varInits = omc_Tpl_writeTok(threadData, _a_varInits, _OMC_LIT98);
_a_varAssign = omc_Tpl_writeStr(threadData, _a_varAssign, _a_dest);
_a_varAssign = omc_Tpl_writeTok(threadData, _a_varAssign, _OMC_LIT1020);
_a_varAssign = omc_Tpl_writeStr(threadData, _a_varAssign, intString(_a_ix));
_a_varAssign = omc_Tpl_writeTok(threadData, _a_varAssign, _OMC_LIT129);
_a_varAssign = omc_Tpl_writeText(threadData, _a_varAssign, _a_varName);
_a_varAssign = omc_Tpl_writeTok(threadData, _a_varAssign, _OMC_LIT113);
_a_varAssign = omc_Tpl_writeTok(threadData, _a_varAssign, _OMC_LIT98);
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_LIT305);
_a_varInits = omc_CodegenCFunctions_expTypeShort(threadData, _a_varInits, _a_var_ty);
_a_varInits = omc_Tpl_writeTok(threadData, _a_varInits, _OMC_LIT566);
_a_varInits = omc_Tpl_writeText(threadData, _a_varInits, _a_varName);
_a_varInits = omc_Tpl_writeTok(threadData, _a_varInits, _OMC_LIT301);
_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_LIT301);
_a_varInits = omc_Tpl_writeText(threadData, _a_varInits, _a_instDimsInit);
_a_varInits = omc_Tpl_writeTok(threadData, _a_varInits, _OMC_LIT299);
_a_varInits = omc_Tpl_writeTok(threadData, _a_varInits, _OMC_LIT98);
_a_varAssign = omc_Tpl_writeStr(threadData, _a_varAssign, _a_dest);
_a_varAssign = omc_Tpl_writeTok(threadData, _a_varAssign, _OMC_LIT1020);
_a_varAssign = omc_Tpl_writeStr(threadData, _a_varAssign, intString(_a_ix));
_a_varAssign = omc_Tpl_writeTok(threadData, _a_varAssign, _OMC_LIT129);
_a_varAssign = omc_Tpl_writeText(threadData, _a_varAssign, _a_varName);
_a_varAssign = omc_Tpl_writeTok(threadData, _a_varAssign, _OMC_LIT113);
_a_varAssign = omc_Tpl_writeTok(threadData, _a_varAssign, _OMC_LIT98);
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[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_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: {
modelica_metatype tmpMeta6;
modelica_metatype tmpMeta7;
if (listEmpty(tmp4_2)) goto tmp3_end;
tmpMeta6 = MMC_CAR(tmp4_2);
tmpMeta7 = MMC_CDR(tmp4_2);
_i_dim = tmpMeta6;
_rest = tmpMeta7;
_txt = tmp4_1;
_a_auxFunction = tmp4_3;
_a_varDecls = tmp4_4;
_a_varInits = tmp4_5;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1311);
_txt = omc_CodegenCFunctions_dimension(threadData, _txt, _i_dim, _OMC_LIT1401, _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 tmpMeta1;
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_metatype tmp4_2;
tmp4_1 = _in_txt;
tmp4_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 tmp4;
int tmp5;
tmp4 = 0;
for (; tmp4 < 6; tmp4++) {
switch (MMC_SWITCH_CAST(tmp4)) {
case 0: {
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,1,4) == 0) goto tmp3_end;
_i_var = tmp4_2;
_txt = tmp4_1;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT2216);
_txt = omc_CodegenCFunctions_funArgName(threadData, _txt, _i_var);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT2218);
_txt = omc_CodegenCFunctions_funArgName(threadData, _txt, _i_var);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT2220);
_txt = omc_CodegenCFunctions_funArgName(threadData, _txt, _i_var);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT2222);
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT98);
goto tmp3_done;
}
case 1: {
modelica_metatype tmpMeta6;
modelica_metatype tmpMeta7;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,0,7) == 0) goto tmp3_end;
tmpMeta6 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 3));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta6,6,2) == 0) goto tmp3_end;
tmpMeta7 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 6));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta7,0,0) == 0) goto tmp3_end;
_i_var = tmp4_2;
_i_var_ty = tmpMeta6;
_txt = tmp4_1;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT2216);
_txt = omc_CodegenCFunctions_funArgName(threadData, _txt, _i_var);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT2224);
_txt = omc_CodegenCFunctions_funArgName(threadData, _txt, _i_var);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT2226);
_txt = omc_CodegenCFunctions_expTypeShort(threadData, _txt, _i_var_ty);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1400);
_txt = omc_CodegenCFunctions_funArgName(threadData, _txt, _i_var);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT2228);
_txt = omc_CodegenCFunctions_funArgName(threadData, _txt, _i_var);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT2230);
_txt = omc_CodegenCFunctions_expTypeShort(threadData, _txt, _i_var_ty);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT2232);
_txt = omc_CodegenCFunctions_funArgName(threadData, _txt, _i_var);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT2234);
_txt = omc_CodegenCFunctions_funArgName(threadData, _txt, _i_var);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT2236);
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT98);
goto tmp3_done;
}
case 2: {
modelica_metatype tmpMeta8;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,0,7) == 0) goto tmp3_end;
tmpMeta8 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 3));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta8,6,2) == 0) goto tmp3_end;
_i_var = tmp4_2;
_i_var_ty = tmpMeta8;
_txt = tmp4_1;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT2216);
_txt = omc_CodegenCFunctions_funArgName(threadData, _txt, _i_var);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT2224);
_txt = omc_CodegenCFunctions_funArgName(threadData, _txt, _i_var);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT2238);
_txt = omc_CodegenCFunctions_expTypeShort(threadData, _txt, _i_var_ty);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1400);
_txt = omc_CodegenCFunctions_funArgName(threadData, _txt, _i_var);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT2228);
_txt = omc_CodegenCFunctions_funArgName(threadData, _txt, _i_var);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT2230);
_txt = omc_CodegenCFunctions_expTypeShort(threadData, _txt, _i_var_ty);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT2232);
_txt = omc_CodegenCFunctions_funArgName(threadData, _txt, _i_var);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT2234);
_txt = omc_CodegenCFunctions_funArgName(threadData, _txt, _i_var);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT2236);
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT98);
goto tmp3_done;
}
case 3: {
modelica_metatype tmpMeta9;
modelica_metatype tmpMeta10;
modelica_metatype tmpMeta11;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,0,7) == 0) goto tmp3_end;
tmpMeta9 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 3));
tmpMeta10 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 5));
tmpMeta11 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 6));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta11,0,0) == 0) goto tmp3_end;
_i_var = tmp4_2;
_i_var_ty = tmpMeta9;
_i_instDims = tmpMeta10;
_txt = tmp4_1;
tmpMeta1 = omc_CodegenCFunctions_fun__380(threadData, _txt, _i_instDims, _i_var_ty, _i_var);
goto tmp3_done;
}
case 4: {
modelica_metatype tmpMeta12;
modelica_metatype tmpMeta13;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,0,7) == 0) goto tmp3_end;
tmpMeta12 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 3));
tmpMeta13 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 5));
_i_var = tmp4_2;
_i_var_ty = tmpMeta12;
_i_instDims = tmpMeta13;
_txt = tmp4_1;
tmpMeta1 = omc_CodegenCFunctions_fun__381(threadData, _txt, _i_instDims, _i_var_ty, _i_var);
goto tmp3_done;
}
case 5: {
_txt = tmp4_1;
tmpMeta1 = omc_CodegenUtil_error(threadData, _txt, omc_Tpl_sourceInfo(threadData, _OMC_LIT27, ((modelica_integer) 2273), ((modelica_integer) 14)), _OMC_LIT2239);
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta1;
_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 tmpMeta1;
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_instDims;
tmp4_3 = _in_a_var_ty;
tmp4_4 = _in_a_var;
{
modelica_metatype _txt = NULL;
modelica_metatype _a_var_ty = 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 (!listEmpty(tmp4_2)) goto tmp3_end;
_txt = tmp4_1;
_a_var = tmp4_4;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT2216);
_txt = omc_CodegenCFunctions_funArgName(threadData, _txt, _a_var);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT2218);
_txt = omc_CodegenCFunctions_funArgName(threadData, _txt, _a_var);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT129);
_txt = omc_CodegenCFunctions_funArgName(threadData, _txt, _a_var);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT2222);
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT98);
goto tmp3_done;
}
case 1: {
_txt = tmp4_1;
_a_var_ty = tmp4_3;
_a_var = tmp4_4;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT2216);
_txt = omc_CodegenCFunctions_funArgName(threadData, _txt, _a_var);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT2224);
_txt = omc_CodegenCFunctions_funArgName(threadData, _txt, _a_var);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT2238);
_txt = omc_CodegenCFunctions_expTypeShort(threadData, _txt, _a_var_ty);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1400);
_txt = omc_CodegenCFunctions_funArgName(threadData, _txt, _a_var);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT2228);
_txt = omc_CodegenCFunctions_funArgName(threadData, _txt, _a_var);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT2230);
_txt = omc_CodegenCFunctions_expTypeShort(threadData, _txt, _a_var_ty);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT2232);
_txt = omc_CodegenCFunctions_funArgName(threadData, _txt, _a_var);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT2234);
_txt = omc_CodegenCFunctions_funArgName(threadData, _txt, _a_var);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT2236);
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT98);
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta1;
_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 tmpMeta1;
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_instDims;
tmp4_3 = _in_a_var_ty;
tmp4_4 = _in_a_var;
{
modelica_metatype _txt = NULL;
modelica_metatype _a_var_ty = 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 (!listEmpty(tmp4_2)) goto tmp3_end;
_txt = tmp4_1;
_a_var = tmp4_4;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT2216);
_txt = omc_CodegenCFunctions_funArgName(threadData, _txt, _a_var);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT2218);
_txt = omc_CodegenCFunctions_funArgName(threadData, _txt, _a_var);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT129);
_txt = omc_CodegenCFunctions_funArgName(threadData, _txt, _a_var);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT2222);
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT98);
goto tmp3_done;
}
case 1: {
_txt = tmp4_1;
_a_var_ty = tmp4_3;
_a_var = tmp4_4;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT2216);
_txt = omc_CodegenCFunctions_funArgName(threadData, _txt, _a_var);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT191);
_txt = omc_Tpl_pushBlock(threadData, _txt, _OMC_LIT105);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT2216);
_txt = omc_CodegenCFunctions_funArgName(threadData, _txt, _a_var);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT2248);
_txt = omc_Tpl_pushBlock(threadData, _txt, _OMC_LIT105);
_txt = omc_CodegenCFunctions_expTypeShort(threadData, _txt, _a_var_ty);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT2232);
_txt = omc_CodegenCFunctions_funArgName(threadData, _txt, _a_var);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT2234);
_txt = omc_CodegenCFunctions_funArgName(threadData, _txt, _a_var);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT386);
_txt = omc_Tpl_popBlock(threadData, _txt);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT167);
_txt = omc_Tpl_popBlock(threadData, _txt);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT111);
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT98);
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta1;
_return: OMC_LABEL_UNUSED
return _out_txt;
}
DLLExport
modelica_metatype omc_CodegenCFunctions_varAllocDefaultValue(threadData_t *threadData, modelica_metatype _txt, modelica_metatype _a_var, modelica_metatype _a_context, 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_context, _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_metatype _in_a_context, 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[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;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_context;
tmp4_4 = _in_a_lhsVarName;
tmp4_5 = _in_a_allocNoDefault;
tmp4_6 = _in_a_varDecls;
tmp4_7 = _in_a_varInits;
tmp4_8 = _in_a_auxFunction;
{
modelica_metatype _txt = NULL;
modelica_metatype _a_context = 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: {
modelica_metatype tmpMeta6;
modelica_metatype tmpMeta7;
modelica_metatype tmpMeta8;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,0,7) == 0) goto tmp3_end;
tmpMeta6 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
tmpMeta7 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 3));
tmpMeta8 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 4));
_i_var_name = tmpMeta6;
_i_var_ty = tmpMeta7;
_i_value = tmpMeta8;
_txt = tmp4_1;
_a_context = tmp4_3;
_a_lhsVarName = tmp4_4;
_a_allocNoDefault = tmp4_5;
_a_varDecls = tmp4_6;
_a_varInits = tmp4_7;
_a_auxFunction = tmp4_8;
_txt = omc_CodegenCFunctions_fun__377(threadData, _txt, _i_value, _i_var_name, _a_allocNoDefault, _a_lhsVarName, _a_auxFunction, _a_varDecls, _a_varInits, _a_context, _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_6;
_a_varInits = tmp4_7;
_a_auxFunction = tmp4_8;
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_context, 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_string 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_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_context;
tmp4_10 = _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_context = 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_3 = NULL;
modelica_metatype _l_rec__name = NULL;
modelica_metatype _l_varName = NULL;
modelica_metatype _l_sub = NULL;
volatile mmc_switch_type tmp4;
int tmp5;
tmp4 = 0;
for (; tmp4 < 6; tmp4++) {
switch (MMC_SWITCH_CAST(tmp4)) {
case 0: {
modelica_metatype tmpMeta6;
modelica_metatype tmpMeta7;
if (optionNone(tmp4_2)) goto tmp3_end;
tmpMeta6 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 1));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta6,6,2) == 0) goto tmp3_end;
tmpMeta7 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta6), 2));
_i_cr = tmpMeta7;
_txt = tmp4_1;
_a_lhsVarName = tmp4_5;
_a_auxFunction = tmp4_6;
_a_varDecls = tmp4_7;
_a_varInits = tmp4_8;
_a_context = tmp4_9;
_a_var_ty = tmp4_10;
_l_sub = _OMC_LIT20;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT2141);
_txt = omc_CodegenCFunctions_expTypeShort(threadData, _txt, _a_var_ty);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1400);
_txt = omc_CodegenCFunctions_contextCref(threadData, _txt, _i_cr, _a_context, _a_varInits, _a_varDecls, _a_auxFunction, _l_sub ,&_a_varInits ,&_a_varDecls ,&_a_auxFunction ,&_l_sub);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT131);
_txt = omc_Tpl_writeStr(threadData, _txt, _a_lhsVarName);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT299);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT98);
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_metatype tmpMeta8;
modelica_metatype tmpMeta9;
modelica_metatype tmpMeta10;
modelica_metatype tmpMeta11;
modelica_metatype tmpMeta12;
modelica_integer tmp13;
modelica_metatype tmpMeta14;
if (optionNone(tmp4_2)) goto tmp3_end;
tmpMeta8 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 1));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta8,16,3) == 0) goto tmp3_end;
tmpMeta9 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta8), 2));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta9,6,2) == 0) goto tmp3_end;
tmpMeta10 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta9), 2));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta10,9,3) == 0) goto tmp3_end;
tmpMeta11 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta10), 2));
tmpMeta12 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta8), 3));
tmp13 = mmc_unbox_integer(tmpMeta12);
tmpMeta14 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta8), 4));
_i_record__state = tmpMeta11;
_i_arr_scalar = tmp13;
_i_arr_array = tmpMeta14;
_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_context = tmp4_9;
_a_varInits = omc_Tpl_writeText(threadData, _a_varInits, _a_allocNoDefault);
_l_varName = omc_CodegenCFunctions_contextCrefNoPrevExp(threadData, _OMC_LIT20, _a_var_name, _a_context, _a_auxFunction ,&_a_auxFunction);
_ret_3 = omc_ClassInf_getStateName(threadData, _i_record__state);
_l_rec__name = omc_CodegenUtil_underscorePath(threadData, _OMC_LIT20, _ret_3);
_l_preExp = _OMC_LIT20;
_l_params = omc_Tpl_pushIter(threadData, _OMC_LIT20, _OMC_LIT474);
_l_params = omc_CodegenCFunctions_lm__376(threadData, _l_params, _i_arr_array, _a_auxFunction, _a_varDecls, _l_preExp, _a_context, _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: {
modelica_metatype tmpMeta15;
if (optionNone(tmp4_2)) goto tmp3_end;
tmpMeta15 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 1));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta15,36,2) == 0) goto tmp3_end;
_i_arr = tmpMeta15;
_txt = tmp4_1;
_a_lhsVarName = tmp4_5;
_a_auxFunction = tmp4_6;
_a_varDecls = tmp4_7;
_a_varInits = tmp4_8;
_a_context = tmp4_9;
_a_var_ty = tmp4_10;
_l_arrayExp = omc_CodegenCFunctions_daeExp(threadData, _OMC_LIT20, _i_arr, _a_context, _a_varInits, _a_varDecls, _a_auxFunction ,&_a_varInits ,&_a_varDecls ,&_a_auxFunction);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT2141);
_txt = omc_CodegenCFunctions_expTypeShort(threadData, _txt, _a_var_ty);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1400);
_txt = omc_Tpl_writeText(threadData, _txt, _l_arrayExp);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT131);
_txt = omc_Tpl_writeStr(threadData, _txt, _a_lhsVarName);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT299);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT98);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_auxFunction;
tmpMeta[0+2] = _a_varDecls;
tmpMeta[0+3] = _a_varInits;
goto tmp3_done;
}
case 3: {
modelica_metatype tmpMeta16;
if (optionNone(tmp4_2)) goto tmp3_end;
tmpMeta16 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 1));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta16,16,3) == 0) goto tmp3_end;
_i_arr = tmpMeta16;
_txt = tmp4_1;
_a_lhsVarName = tmp4_5;
_a_auxFunction = tmp4_6;
_a_varDecls = tmp4_7;
_a_varInits = tmp4_8;
_a_context = tmp4_9;
_a_var_ty = tmp4_10;
_l_arrayExp = omc_CodegenCFunctions_daeExp(threadData, _OMC_LIT20, _i_arr, _a_context, _a_varInits, _a_varDecls, _a_auxFunction ,&_a_varInits ,&_a_varDecls ,&_a_auxFunction);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT2141);
_txt = omc_CodegenCFunctions_expTypeShort(threadData, _txt, _a_var_ty);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1400);
_txt = omc_Tpl_writeText(threadData, _txt, _l_arrayExp);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT131);
_txt = omc_Tpl_writeStr(threadData, _txt, _a_lhsVarName);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT299);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT98);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_auxFunction;
tmpMeta[0+2] = _a_varDecls;
tmpMeta[0+3] = _a_varInits;
goto tmp3_done;
}
case 4: {
modelica_metatype tmpMeta17;
if (optionNone(tmp4_2)) goto tmp3_end;
tmpMeta17 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 1));
_i_exp = tmpMeta17;
_txt = tmp4_1;
_a_lhsVarName = tmp4_5;
_a_auxFunction = tmp4_6;
_a_varDecls = tmp4_7;
_a_varInits = tmp4_8;
_a_context = tmp4_9;
_txt = omc_Tpl_writeStr(threadData, _txt, _a_lhsVarName);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT129);
_txt = omc_CodegenCFunctions_daeExp(threadData, _txt, _i_exp, _a_context, _a_varInits, _a_varDecls, _a_auxFunction ,&_a_varInits ,&_a_varDecls ,&_a_auxFunction);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT113);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT98);
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_context, 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[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_boolean 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_varName;
tmp4_8 = _in_a_rec__name;
tmp4_9 = _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_context = 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: {
modelica_metatype tmpMeta6;
modelica_metatype tmpMeta7;
if (listEmpty(tmp4_2)) goto tmp3_end;
tmpMeta6 = MMC_CAR(tmp4_2);
tmpMeta7 = MMC_CDR(tmp4_2);
_i_e = tmpMeta6;
_rest = tmpMeta7;
_txt = tmp4_1;
_a_auxFunction = tmp4_3;
_a_varDecls = tmp4_4;
_a_preExp = tmp4_5;
_a_context = tmp4_6;
_a_varName = tmp4_7;
_a_rec__name = tmp4_8;
_a_arr_scalar = tmp4_9;
_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_LIT360);
_txt = omc_Tpl_writeText(threadData, _txt, _a_varName);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT362);
_txt = omc_Tpl_writeStr(threadData, _txt, intString(_x_i1));
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT605);
_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_writeTok(threadData, _txt, _OMC_LIT113);
_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_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_context, 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_context, _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 tmpMeta1;
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_a_arr_scalar;
tmp4_3 = _in_a_e;
{
modelica_metatype _txt = NULL;
modelica_metatype _a_e = 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;
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT40);
goto tmp3_done;
}
case 1: {
_txt = tmp4_1;
_a_e = tmp4_3;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT30);
_txt = omc_CodegenCFunctions_expTypeFromExpModelica(threadData, _txt, _a_e);
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT87);
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta1;
_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[4] __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: {
modelica_metatype tmpMeta6;
modelica_metatype tmpMeta7;
modelica_metatype tmpMeta8;
modelica_metatype tmpMeta9;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,0,7) == 0) goto tmp3_end;
tmpMeta6 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
tmpMeta7 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 3));
tmpMeta8 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 4));
tmpMeta9 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 5));
_i_var = tmp4_2;
_i_var_name = tmpMeta6;
_i_var_ty = tmpMeta7;
_i_var_value = tmpMeta8;
_i_instDims = tmpMeta9;
_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_LIT303);
_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, _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_LIT2250);
_a_varDecls = omc_Tpl_writeTok(threadData, _a_varDecls, _OMC_LIT98);
_txt = omc_CodegenUtil_error(threadData, _txt, omc_Tpl_sourceInfo(threadData, _OMC_LIT27, ((modelica_integer) 2200), ((modelica_integer) 9)), _OMC_LIT2251);
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_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_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_instDims;
tmp4_3 = _in_a_var;
tmp4_4 = _in_a_instDimsInit;
tmp4_5 = _in_a_varName;
tmp4_6 = _in_a_var_ty;
tmp4_7 = _in_a_varDecls;
tmp4_8 = _in_a_varInits;
tmp4_9 = _in_a_auxFunction;
tmp4_10 = _in_a_var_name;
tmp4_11 = _in_a_var_value;
{
modelica_metatype _txt = 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_7;
_a_varInits = tmp4_8;
_a_auxFunction = tmp4_9;
_a_var_name = tmp4_10;
_a_var_value = tmp4_11;
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_var = tmp4_3;
_a_instDimsInit = tmp4_4;
_a_varName = tmp4_5;
_a_var_ty = tmp4_6;
_a_varDecls = tmp4_7;
_a_varInits = tmp4_8;
_a_auxFunction = tmp4_9;
_l_defaultAlloc = omc_Tpl_writeTok(threadData, _OMC_LIT20, _OMC_LIT305);
_l_defaultAlloc = omc_CodegenCFunctions_expTypeShort(threadData, _l_defaultAlloc, _a_var_ty);
_l_defaultAlloc = omc_Tpl_writeTok(threadData, _l_defaultAlloc, _OMC_LIT2253);
_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_LIT307);
_l_defaultAlloc = omc_Tpl_writeText(threadData, _l_defaultAlloc, _a_varName);
_l_defaultAlloc = omc_Tpl_writeTok(threadData, _l_defaultAlloc, _OMC_LIT301);
_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_LIT301);
_l_defaultAlloc = omc_Tpl_writeText(threadData, _l_defaultAlloc, _a_instDimsInit);
_l_defaultAlloc = omc_Tpl_writeTok(threadData, _l_defaultAlloc, _OMC_LIT2255);
_l_defaultAlloc = omc_Tpl_writeTok(threadData, _l_defaultAlloc, _OMC_LIT98);
_l_defaultValue = omc_CodegenCFunctions_varAllocDefaultValue(threadData, _OMC_LIT20, _a_var, _OMC_LIT1401, 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_LIT34);
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[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_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: {
modelica_metatype tmpMeta6;
if (optionNone(tmp4_2)) goto tmp3_end;
tmpMeta6 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 1));
_i_exp = tmpMeta6;
_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_LIT1401, _a_auxFunction ,&_a_auxFunction);
_l_defaultValue = omc_Tpl_writeTok(threadData, _l_defaultValue, _OMC_LIT129);
_l_defaultValue = omc_CodegenCFunctions_daeExp(threadData, _l_defaultValue, _i_exp, _OMC_LIT1401, _a_varInits, _a_varDecls, _a_auxFunction ,&_a_varInits ,&_a_varDecls ,&_a_auxFunction);
_l_defaultValue = omc_Tpl_writeTok(threadData, _l_defaultValue, _OMC_LIT113);
_l_defaultValue = omc_Tpl_writeTok(threadData, _l_defaultValue, _OMC_LIT98);
_a_varInits = omc_Tpl_writeText(threadData, _a_varInits, _l_defaultValue);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT34);
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[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_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: {
modelica_metatype tmpMeta6;
modelica_metatype tmpMeta7;
if (listEmpty(tmp4_2)) goto tmp3_end;
tmpMeta6 = MMC_CAR(tmp4_2);
tmpMeta7 = MMC_CDR(tmp4_2);
_i_dim = tmpMeta6;
_rest = tmpMeta7;
_txt = tmp4_1;
_a_auxFunction = tmp4_3;
_a_varDecls = tmp4_4;
_a_varInits = tmp4_5;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1311);
_txt = omc_CodegenCFunctions_dimension(threadData, _txt, _i_dim, _OMC_LIT1401, _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_LIT28), 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_LIT1401, _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_LIT2257);
_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_LIT28), 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_LIT34);
_txt = omc_CodegenCFunctions_contextCrefNoPrevExp(threadData, _txt, _a_var_name, _OMC_LIT1401, _a_auxFunction ,&_a_auxFunction);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT113);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT98);
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_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_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[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_var;
tmp4_3 = _in_a_varDecls;
tmp4_4 = _in_a_varInits;
tmp4_5 = _in_a_auxFunction;
{
modelica_metatype _txt = 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: {
modelica_metatype tmpMeta6;
modelica_metatype tmpMeta7;
modelica_metatype tmpMeta8;
modelica_metatype tmpMeta9;
modelica_metatype tmpMeta10;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,0,7) == 0) goto tmp3_end;
tmpMeta6 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
tmpMeta7 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 3));
tmpMeta8 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 4));
tmpMeta9 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 5));
tmpMeta10 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 6));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta10,0,0) == 0) goto tmp3_end;
_i_var = tmp4_2;
_i_var_name = tmpMeta6;
_i_var_ty = tmpMeta7;
_i_var_value = tmpMeta8;
_i_instDims = tmpMeta9;
_txt = tmp4_1;
_a_varDecls = tmp4_3;
_a_varInits = tmp4_4;
_a_auxFunction = tmp4_5;
_l_varName = omc_CodegenCFunctions_contextCrefNoPrevExp(threadData, _OMC_LIT20, _i_var_name, _OMC_LIT1401, _a_auxFunction ,&_a_auxFunction);
_l_instDimsInit = omc_Tpl_pushIter(threadData, _OMC_LIT20, _OMC_LIT303);
_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, _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: {
modelica_metatype tmpMeta11;
modelica_metatype tmpMeta12;
modelica_metatype tmpMeta13;
modelica_metatype tmpMeta14;
modelica_metatype tmpMeta15;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,0,7) == 0) goto tmp3_end;
tmpMeta11 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
tmpMeta12 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 3));
tmpMeta13 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 4));
tmpMeta14 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 5));
tmpMeta15 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 6));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta15,1,0) == 0) goto tmp3_end;
_i_var = tmp4_2;
_i_var_name = tmpMeta11;
_i_var_ty = tmpMeta12;
_i_var_value = tmpMeta13;
_i_instDims = tmpMeta14;
_txt = tmp4_1;
_a_varDecls = tmp4_3;
_a_varInits = tmp4_4;
_a_auxFunction = tmp4_5;
_l_varName = omc_CodegenCFunctions_contextCrefNoPrevExp(threadData, _OMC_LIT20, _i_var_name, _OMC_LIT1401, _a_auxFunction ,&_a_auxFunction);
_l_instDimsInit = omc_Tpl_pushIter(threadData, _OMC_LIT20, _OMC_LIT303);
_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, _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_3;
_a_varInits = tmp4_4;
_a_auxFunction = tmp4_5;
_a_varDecls = omc_Tpl_writeTok(threadData, _a_varDecls, _OMC_LIT2259);
_a_varDecls = omc_Tpl_writeTok(threadData, _a_varDecls, _OMC_LIT98);
_txt = omc_CodegenUtil_error(threadData, _txt, omc_Tpl_sourceInfo(threadData, _OMC_LIT27, ((modelica_integer) 2170), ((modelica_integer) 9)), _OMC_LIT2260);
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_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_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_instDims;
tmp4_3 = _in_a_instDimsInit;
tmp4_4 = _in_a_var_ty;
tmp4_5 = _in_a_varInits;
tmp4_6 = _in_a_auxFunction;
tmp4_7 = _in_a_var_name;
tmp4_8 = _in_a_varName;
tmp4_9 = _in_a_var;
tmp4_10 = _in_a_varDecls;
tmp4_11 = _in_a_var_value;
{
modelica_metatype _txt = 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_5;
_a_auxFunction = tmp4_6;
_a_var_name = tmp4_7;
_a_varName = tmp4_8;
_a_var = tmp4_9;
_a_varDecls = tmp4_10;
_a_var_value = tmp4_11;
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_instDimsInit = tmp4_3;
_a_var_ty = tmp4_4;
_a_varInits = tmp4_5;
_a_auxFunction = tmp4_6;
_a_varName = tmp4_8;
_a_var = tmp4_9;
_a_varDecls = tmp4_10;
_a_varDecls = omc_Tpl_writeTok(threadData, _a_varDecls, _OMC_LIT1718);
_a_varDecls = omc_CodegenCFunctions_expTypeShort(threadData, _a_varDecls, _a_var_ty);
_a_varDecls = omc_Tpl_writeTok(threadData, _a_varDecls, _OMC_LIT2262);
_a_varDecls = omc_Tpl_writeText(threadData, _a_varDecls, _a_varName);
_a_varDecls = omc_Tpl_writeTok(threadData, _a_varDecls, _OMC_LIT113);
_a_varDecls = omc_Tpl_writeTok(threadData, _a_varDecls, _OMC_LIT98);
_l_defaultAlloc = omc_Tpl_writeTok(threadData, _OMC_LIT20, _OMC_LIT2264);
_l_defaultAlloc = omc_CodegenCFunctions_expTypeShort(threadData, _l_defaultAlloc, _a_var_ty);
_l_defaultAlloc = omc_Tpl_writeTok(threadData, _l_defaultAlloc, _OMC_LIT566);
_l_defaultAlloc = omc_Tpl_writeText(threadData, _l_defaultAlloc, _a_varName);
_l_defaultAlloc = omc_Tpl_writeTok(threadData, _l_defaultAlloc, _OMC_LIT301);
_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_LIT301);
_l_defaultAlloc = omc_Tpl_writeText(threadData, _l_defaultAlloc, _a_instDimsInit);
_l_defaultAlloc = omc_Tpl_writeTok(threadData, _l_defaultAlloc, _OMC_LIT299);
_l_defaultAlloc = omc_Tpl_writeTok(threadData, _l_defaultAlloc, _OMC_LIT98);
_l_defaultValue = omc_CodegenCFunctions_varAllocDefaultValue(threadData, _OMC_LIT20, _a_var, _OMC_LIT1401, 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[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_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: {
modelica_metatype tmpMeta6;
if (optionNone(tmp4_2)) goto tmp3_end;
tmpMeta6 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 1));
_i_exp = tmpMeta6;
_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_LIT34);
_a_varDecls = omc_Tpl_writeText(threadData, _a_varDecls, _a_varName);
_a_varDecls = omc_Tpl_writeTok(threadData, _a_varDecls, _OMC_LIT113);
_a_varDecls = omc_Tpl_writeTok(threadData, _a_varDecls, _OMC_LIT98);
_l_defaultValue = omc_CodegenCFunctions_contextCrefNoPrevExp(threadData, _OMC_LIT20, _a_var_name, _OMC_LIT1401, _a_auxFunction ,&_a_auxFunction);
_l_defaultValue = omc_Tpl_writeTok(threadData, _l_defaultValue, _OMC_LIT129);
_l_defaultValue = omc_CodegenCFunctions_daeExp(threadData, _l_defaultValue, _i_exp, _OMC_LIT1401, _a_varInits, _a_varDecls, _a_auxFunction ,&_a_varInits ,&_a_varDecls ,&_a_auxFunction);
_l_defaultValue = omc_Tpl_writeTok(threadData, _l_defaultValue, _OMC_LIT113);
_l_defaultValue = omc_Tpl_writeTok(threadData, _l_defaultValue, _OMC_LIT98);
_a_varInits = omc_Tpl_writeText(threadData, _a_varInits, _l_defaultValue);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT34);
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_LIT34);
_a_varDecls = omc_Tpl_writeText(threadData, _a_varDecls, _a_varName);
_a_varDecls = omc_Tpl_writeTok(threadData, _a_varDecls, _OMC_LIT113);
_a_varDecls = omc_Tpl_writeTok(threadData, _a_varDecls, _OMC_LIT98);
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[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_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: {
modelica_metatype tmpMeta6;
modelica_metatype tmpMeta7;
if (listEmpty(tmp4_2)) goto tmp3_end;
tmpMeta6 = MMC_CAR(tmp4_2);
tmpMeta7 = MMC_CDR(tmp4_2);
_i_dim = tmpMeta6;
_rest = tmpMeta7;
_txt = tmp4_1;
_a_auxFunction = tmp4_3;
_a_varDecls = tmp4_4;
_a_varInits = tmp4_5;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1311);
_txt = omc_CodegenCFunctions_dimension(threadData, _txt, _i_dim, _OMC_LIT1401, _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_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_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_instDims;
tmp4_3 = _in_a_instDimsInit;
tmp4_4 = _in_a_var_ty;
tmp4_5 = _in_a_varInits;
tmp4_6 = _in_a_auxFunction;
tmp4_7 = _in_a_var_name;
tmp4_8 = _in_a_varName;
tmp4_9 = _in_a_var;
tmp4_10 = _in_a_varDecls;
tmp4_11 = _in_a_var_value;
{
modelica_metatype _txt = 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_5;
_a_auxFunction = tmp4_6;
_a_var_name = tmp4_7;
_a_varName = tmp4_8;
_a_var = tmp4_9;
_a_varDecls = tmp4_10;
_a_var_value = tmp4_11;
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_instDimsInit = tmp4_3;
_a_var_ty = tmp4_4;
_a_varInits = tmp4_5;
_a_auxFunction = tmp4_6;
_a_varName = tmp4_8;
_a_var = tmp4_9;
_a_varDecls = tmp4_10;
_a_varDecls = omc_Tpl_writeTok(threadData, _a_varDecls, _OMC_LIT1716);
_a_varDecls = omc_CodegenCFunctions_expTypeShort(threadData, _a_varDecls, _a_var_ty);
_a_varDecls = omc_Tpl_writeTok(threadData, _a_varDecls, _OMC_LIT2262);
_a_varDecls = omc_Tpl_writeText(threadData, _a_varDecls, _a_varName);
_a_varDecls = omc_Tpl_writeTok(threadData, _a_varDecls, _OMC_LIT113);
_a_varDecls = omc_Tpl_writeTok(threadData, _a_varDecls, _OMC_LIT98);
_l_defaultAlloc = omc_Tpl_writeTok(threadData, _OMC_LIT20, _OMC_LIT305);
_l_defaultAlloc = omc_CodegenCFunctions_expTypeShort(threadData, _l_defaultAlloc, _a_var_ty);
_l_defaultAlloc = omc_Tpl_writeTok(threadData, _l_defaultAlloc, _OMC_LIT566);
_l_defaultAlloc = omc_Tpl_writeText(threadData, _l_defaultAlloc, _a_varName);
_l_defaultAlloc = omc_Tpl_writeTok(threadData, _l_defaultAlloc, _OMC_LIT301);
_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_LIT301);
_l_defaultAlloc = omc_Tpl_writeText(threadData, _l_defaultAlloc, _a_instDimsInit);
_l_defaultAlloc = omc_Tpl_writeTok(threadData, _l_defaultAlloc, _OMC_LIT299);
_l_defaultAlloc = omc_Tpl_writeTok(threadData, _l_defaultAlloc, _OMC_LIT98);
_l_defaultValue = omc_CodegenCFunctions_varAllocDefaultValue(threadData, _OMC_LIT20, _a_var, _OMC_LIT1401, 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[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_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: {
modelica_metatype tmpMeta6;
if (optionNone(tmp4_2)) goto tmp3_end;
tmpMeta6 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 1));
_i_exp = tmpMeta6;
_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_LIT34);
_a_varDecls = omc_Tpl_writeText(threadData, _a_varDecls, _a_varName);
_a_varDecls = omc_Tpl_writeTok(threadData, _a_varDecls, _OMC_LIT113);
_a_varDecls = omc_Tpl_writeTok(threadData, _a_varDecls, _OMC_LIT98);
_l_defaultValue = omc_CodegenCFunctions_contextCrefNoPrevExp(threadData, _OMC_LIT20, _a_var_name, _OMC_LIT1401, _a_auxFunction ,&_a_auxFunction);
_l_defaultValue = omc_Tpl_writeTok(threadData, _l_defaultValue, _OMC_LIT129);
_l_defaultValue = omc_CodegenCFunctions_daeExp(threadData, _l_defaultValue, _i_exp, _OMC_LIT1401, _a_varInits, _a_varDecls, _a_auxFunction ,&_a_varInits ,&_a_varDecls ,&_a_auxFunction);
_l_defaultValue = omc_Tpl_writeTok(threadData, _l_defaultValue, _OMC_LIT113);
_l_defaultValue = omc_Tpl_writeTok(threadData, _l_defaultValue, _OMC_LIT98);
_a_varInits = omc_Tpl_writeText(threadData, _a_varInits, _l_defaultValue);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT34);
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_LIT34);
_a_varDecls = omc_Tpl_writeText(threadData, _a_varDecls, _a_varName);
_a_varDecls = omc_Tpl_writeTok(threadData, _a_varDecls, _OMC_LIT113);
_a_varDecls = omc_Tpl_writeTok(threadData, _a_varDecls, _OMC_LIT98);
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[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_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: {
modelica_metatype tmpMeta6;
modelica_metatype tmpMeta7;
if (listEmpty(tmp4_2)) goto tmp3_end;
tmpMeta6 = MMC_CAR(tmp4_2);
tmpMeta7 = MMC_CDR(tmp4_2);
_i_dim = tmpMeta6;
_rest = tmpMeta7;
_txt = tmp4_1;
_a_auxFunction = tmp4_3;
_a_varDecls = tmp4_4;
_a_varInits = tmp4_5;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1311);
_txt = omc_CodegenCFunctions_dimension(threadData, _txt, _i_dim, _OMC_LIT1401, _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[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;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_metatype tmpMeta6;
modelica_metatype tmpMeta7;
modelica_metatype tmpMeta8;
modelica_metatype tmpMeta9;
modelica_metatype tmpMeta10;
modelica_metatype tmpMeta11;
modelica_integer tmp12;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,0,7) == 0) goto tmp3_end;
tmpMeta6 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
tmpMeta7 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 3));
tmpMeta8 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 4));
tmpMeta9 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 5));
tmpMeta10 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 6));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta10,2,0) == 0) goto tmp3_end;
tmpMeta11 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 8));
tmp12 = mmc_unbox_integer(tmpMeta11);
_i_var = tmp4_2;
_i_var_name = tmpMeta6;
_i_var_ty = tmpMeta7;
_i_var_value = tmpMeta8;
_i_instDims = tmpMeta9;
_i_var_bind__from__outside = tmp12;
_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_LIT1401, _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: {
modelica_metatype tmpMeta13;
modelica_metatype tmpMeta14;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,1,4) == 0) goto tmp3_end;
tmpMeta13 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
tmpMeta14 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 5));
_i_name = tmpMeta13;
_i_defaultValue = tmpMeta14;
_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_LIT2266);
_a_varDecls = omc_Tpl_writeStr(threadData, _a_varDecls, _i_name);
_a_varDecls = omc_Tpl_writeTok(threadData, _a_varDecls, _OMC_LIT113);
_a_varDecls = omc_Tpl_writeTok(threadData, _a_varDecls, _OMC_LIT98);
_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) 2110), ((modelica_integer) 12)), _OMC_LIT2267);
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[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;
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: {
modelica_metatype tmpMeta6;
if (optionNone(tmp4_2)) goto tmp3_end;
tmpMeta6 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 1));
_i_exp = tmpMeta6;
_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_LIT1401, _a_varInits, _a_varDecls, _a_auxFunction ,&_a_varInits ,&_a_varDecls ,&_a_auxFunction);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT244);
_txt = omc_Tpl_writeStr(threadData, _txt, _a_name);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT129);
_txt = omc_Tpl_writeText(threadData, _txt, _l_v);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT113);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT98);
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_LIT1401, _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_LIT1401, _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_LIT1401, _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 tmpMeta1;
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_initVar;
tmp4_4 = _in_a_varName;
tmp4_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 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_LIT28), MMC_STRINGDATA(tmp4_2)) != 0) goto tmp3_end;
_txt = tmp4_1;
_a_initVar = tmp4_3;
_a_varName = tmp4_4;
_a_typeNameFull = tmp4_5;
_txt = omc_Tpl_writeText(threadData, _txt, _a_typeNameFull);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT34);
_txt = omc_Tpl_writeText(threadData, _txt, _a_varName);
_txt = omc_Tpl_writeText(threadData, _txt, _a_initVar);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT113);
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT98);
goto tmp3_done;
}
case 1: {
_txt = tmp4_1;
tmpMeta1 = _txt;
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta1;
_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 tmpMeta1;
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_string tmp4_2;
tmp4_1 = _in_txt;
tmp4_2 = _in_mArg;
{
modelica_metatype _txt = NULL;
volatile mmc_switch_type tmp4;
int tmp5;
tmp4 = 0;
for (; tmp4 < 3; tmp4++) {
switch (MMC_SWITCH_CAST(tmp4)) {
case 0: {
if (17 != MMC_STRLEN(tmp4_2) || strcmp(MMC_STRINGDATA(_OMC_LIT322), MMC_STRINGDATA(tmp4_2)) != 0) goto tmp3_end;
_txt = tmp4_1;
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT2269);
goto tmp3_done;
}
case 1: {
if (15 != MMC_STRLEN(tmp4_2) || strcmp(MMC_STRINGDATA(_OMC_LIT814), MMC_STRINGDATA(tmp4_2)) != 0) goto tmp3_end;
_txt = tmp4_1;
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT2269);
goto tmp3_done;
}
case 2: {
_txt = tmp4_1;
tmpMeta1 = _txt;
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta1;
_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 tmpMeta1;
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_metatype tmp4_2;modelica_string tmp4_3;
tmp4_1 = _in_txt;
tmp4_2 = _in_a_type;
tmp4_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 tmp4;
int tmp5;
tmp4 = 0;
for (; tmp4 < 2; tmp4++) {
switch (MMC_SWITCH_CAST(tmp4)) {
case 0: {
modelica_metatype tmpMeta6;
modelica_metatype tmpMeta7;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,9,3) == 0) goto tmp3_end;
tmpMeta6 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
tmpMeta7 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 3));
_i_n = tmpMeta6;
_i_vl = tmpMeta7;
_txt = tmp4_1;
_a_prefix = tmp4_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_LIT303);
_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_LIT40);
_txt = omc_Tpl_writeText(threadData, _txt, _l_basename);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1374);
_txt = omc_CodegenCFunctions_fun__352(threadData, _txt, _l_args);
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT2271);
goto tmp3_done;
}
case 1: {
_txt = tmp4_1;
tmpMeta1 = _txt;
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta1;
_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 tmpMeta1;
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_metatype tmp4_2;
tmp4_1 = _in_txt;
tmp4_2 = _in_a_args;
{
modelica_metatype _txt = 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: {
modelica_metatype tmpMeta6;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,0,2) == 0) goto tmp3_end;
tmpMeta6 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
if (!listEmpty(tmpMeta6)) goto tmp3_end;
_txt = tmp4_1;
tmpMeta1 = _txt;
goto tmp3_done;
}
case 1: {
_txt = tmp4_1;
_i_args = tmp4_2;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT301);
tmpMeta1 = omc_Tpl_writeText(threadData, _txt, _i_args);
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta1;
_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 tmpMeta1;
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_metatype tmp4_2;modelica_string tmp4_3;
tmp4_1 = _in_txt;
tmp4_2 = _in_items;
tmp4_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 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;
tmpMeta1 = _txt;
goto tmp3_done;
}
case 1: {
modelica_metatype tmpMeta6;
modelica_metatype tmpMeta7;
modelica_metatype tmpMeta8;
modelica_metatype tmpMeta9;
if (listEmpty(tmp4_2)) goto tmp3_end;
tmpMeta6 = MMC_CAR(tmp4_2);
tmpMeta7 = MMC_CDR(tmp4_2);
tmpMeta8 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta6), 2));
tmpMeta9 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta6), 4));
_i_subvar_name = tmpMeta8;
_i_ty = tmpMeta9;
_rest = tmpMeta7;
_txt = tmp4_1;
_a_prefix = tmp4_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 tmp3_done;
}
case 2: {
modelica_metatype tmpMeta10;
modelica_metatype tmpMeta11;
if (listEmpty(tmp4_2)) goto tmp3_end;
tmpMeta10 = MMC_CAR(tmp4_2);
tmpMeta11 = MMC_CDR(tmp4_2);
_rest = tmpMeta11;
_txt = tmp4_1;
_a_prefix = tmp4_3;
_in_txt = _txt;
_in_items = _rest;
_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 = tmpMeta1;
_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 tmpMeta1;
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_metatype tmp4_2;modelica_string tmp4_3;modelica_string tmp4_4;
tmp4_1 = _in_txt;
tmp4_2 = _in_a_ty;
tmp4_3 = _in_a_subvar_name;
tmp4_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 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;
_i_ty = tmp4_2;
_txt = tmp4_1;
_a_subvar_name = tmp4_3;
_a_prefix = tmp4_4;
_l_newPrefix = omc_Tpl_writeStr(threadData, _OMC_LIT20, _a_prefix);
_l_newPrefix = omc_Tpl_writeTok(threadData, _l_newPrefix, _OMC_LIT528);
_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_LIT301);
tmpMeta1 = omc_CodegenCFunctions_writeOutVarRecordMembers(threadData, _txt, _i_ty, omc_Tpl_textString(threadData, _l_newPrefix));
goto tmp3_done;
}
case 1: {
_txt = tmp4_1;
_i_ty = tmp4_2;
_a_subvar_name = tmp4_3;
_a_prefix = tmp4_4;
_txt = omc_CodegenCFunctions_expTypeRW(threadData, _txt, _i_ty);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT2273);
_txt = omc_Tpl_writeStr(threadData, _txt, _a_prefix);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT528);
_txt = omc_Tpl_writeStr(threadData, _txt, _a_subvar_name);
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT87);
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta1;
_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 tmpMeta1;
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_metatype tmp4_2;
tmp4_1 = _in_txt;
tmp4_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 tmp4;
int tmp5;
tmp4 = 0;
for (; tmp4 < 3; tmp4++) {
switch (MMC_SWITCH_CAST(tmp4)) {
case 0: {
modelica_metatype tmpMeta6;
modelica_metatype tmpMeta7;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,0,7) == 0) goto tmp3_end;
tmpMeta6 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 3));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta6,9,3) == 0) goto tmp3_end;
tmpMeta7 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta6), 2));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta7,3,1) == 0) goto tmp3_end;
_i_var = tmp4_2;
_i_ty = tmpMeta6;
_txt = tmp4_1;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT2275);
_txt_0 = omc_CodegenCFunctions_funArgName(threadData, _OMC_LIT20, _i_var);
_txt = omc_CodegenCFunctions_writeOutVarRecordMembers(threadData, _txt, _i_ty, omc_Tpl_textString(threadData, _txt_0));
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT299);
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;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT2277);
_txt = omc_CodegenCFunctions_varType(threadData, _txt, _i_var);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT2279);
_txt = omc_CodegenCFunctions_funArgName(threadData, _txt, _i_var);
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT299);
goto tmp3_done;
}
case 2: {
_txt = tmp4_1;
tmpMeta1 = _txt;
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta1;
_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 tmpMeta1;
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_metatype tmp4_2;modelica_string tmp4_3;
tmp4_1 = _in_txt;
tmp4_2 = _in_a_type;
tmp4_3 = _in_a_prefix;
{
modelica_metatype _txt = NULL;
modelica_string _a_prefix = NULL;
modelica_metatype _i_vl = NULL;
volatile mmc_switch_type tmp4;
int tmp5;
tmp4 = 0;
for (; tmp4 < 2; tmp4++) {
switch (MMC_SWITCH_CAST(tmp4)) {
case 0: {
modelica_metatype tmpMeta6;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,9,3) == 0) goto tmp3_end;
tmpMeta6 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 3));
_i_vl = tmpMeta6;
_txt = tmp4_1;
_a_prefix = tmp4_3;
_txt = omc_Tpl_pushIter(threadData, _txt, _OMC_LIT303);
_txt = omc_CodegenCFunctions_lm__347(threadData, _txt, _i_vl, _a_prefix);
tmpMeta1 = omc_Tpl_popIter(threadData, _txt);
goto tmp3_done;
}
case 1: {
_txt = tmp4_1;
tmpMeta1 = _txt;
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta1;
_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 tmpMeta1;
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_metatype tmp4_2;modelica_string tmp4_3;
tmp4_1 = _in_txt;
tmp4_2 = _in_items;
tmp4_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 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;
tmpMeta1 = _txt;
goto tmp3_done;
}
case 1: {
modelica_metatype tmpMeta6;
modelica_metatype tmpMeta7;
modelica_metatype tmpMeta8;
modelica_metatype tmpMeta9;
if (listEmpty(tmp4_2)) goto tmp3_end;
tmpMeta6 = MMC_CAR(tmp4_2);
tmpMeta7 = MMC_CDR(tmp4_2);
tmpMeta8 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta6), 2));
tmpMeta9 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta6), 4));
_i_subvar_name = tmpMeta8;
_i_ty = tmpMeta9;
_rest = tmpMeta7;
_txt = tmp4_1;
_a_prefix = tmp4_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 tmp3_done;
}
case 2: {
modelica_metatype tmpMeta10;
modelica_metatype tmpMeta11;
if (listEmpty(tmp4_2)) goto tmp3_end;
tmpMeta10 = MMC_CAR(tmp4_2);
tmpMeta11 = MMC_CDR(tmp4_2);
_rest = tmpMeta11;
_txt = tmp4_1;
_a_prefix = tmp4_3;
_in_txt = _txt;
_in_items = _rest;
_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 = tmpMeta1;
_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 tmpMeta1;
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_metatype tmp4_2;modelica_string tmp4_3;modelica_string tmp4_4;
tmp4_1 = _in_txt;
tmp4_2 = _in_a_ty;
tmp4_3 = _in_a_subvar_name;
tmp4_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 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;
_i_ty = tmp4_2;
_txt = tmp4_1;
_a_subvar_name = tmp4_3;
_a_prefix = tmp4_4;
_l_newPrefix = omc_Tpl_writeStr(threadData, _OMC_LIT20, _a_prefix);
_l_newPrefix = omc_Tpl_writeTok(threadData, _l_newPrefix, _OMC_LIT528);
_l_newPrefix = omc_Tpl_writeStr(threadData, _l_newPrefix, _a_subvar_name);
tmpMeta1 = omc_CodegenCFunctions_readInVarRecordMembers(threadData, _txt, _i_ty, omc_Tpl_textString(threadData, _l_newPrefix));
goto tmp3_done;
}
case 1: {
_txt = tmp4_1;
_a_subvar_name = tmp4_3;
_a_prefix = tmp4_4;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT2281);
_txt = omc_Tpl_writeStr(threadData, _txt, _a_prefix);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT528);
_txt = omc_Tpl_writeStr(threadData, _txt, _a_subvar_name);
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT87);
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta1;
_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[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_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: {
modelica_metatype tmpMeta6;
modelica_metatype tmpMeta7;
modelica_metatype tmpMeta8;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,0,7) == 0) goto tmp3_end;
tmpMeta6 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
tmpMeta7 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 3));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta7,9,3) == 0) goto tmp3_end;
tmpMeta8 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta7), 2));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta8,3,1) == 0) goto tmp3_end;
_i_cr = tmpMeta6;
_i_ty = tmpMeta7;
_txt = tmp4_1;
_a_auxFunction = tmp4_3;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT2283);
_txt_0 = omc_CodegenCFunctions_contextCrefNoPrevExp(threadData, _OMC_LIT20, _i_cr, _OMC_LIT1401, _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_LIT2285);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_auxFunction;
goto tmp3_done;
}
case 1: {
modelica_metatype tmpMeta9;
modelica_metatype tmpMeta10;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,0,7) == 0) goto tmp3_end;
tmpMeta9 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
tmpMeta10 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 3));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta10,2,1) == 0) goto tmp3_end;
_i_name = tmpMeta9;
_i_ty = tmpMeta10;
_txt = tmp4_1;
_a_auxFunction = tmp4_3;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT2287);
_txt = omc_CodegenCFunctions_expTypeArrayIf(threadData, _txt, _i_ty);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT2289);
_ret_1 = omc_Config_acceptMetaModelicaGrammar(threadData);
_txt = omc_CodegenCFunctions_fun__343(threadData, _txt, _ret_1);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT2291);
_txt = omc_CodegenCFunctions_contextCrefNoPrevExp(threadData, _txt, _i_name, _OMC_LIT1401, _a_auxFunction ,&_a_auxFunction);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT2285);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_auxFunction;
goto tmp3_done;
}
case 2: {
modelica_metatype tmpMeta11;
modelica_metatype tmpMeta12;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,0,7) == 0) goto tmp3_end;
tmpMeta11 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
tmpMeta12 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 3));
_i_name = tmpMeta11;
_i_ty = tmpMeta12;
_txt = tmp4_1;
_a_auxFunction = tmp4_3;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT2287);
_txt = omc_CodegenCFunctions_expTypeArrayIf(threadData, _txt, _i_ty);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT2293);
_txt = omc_CodegenCFunctions_contextCrefNoPrevExp(threadData, _txt, _i_name, _OMC_LIT1401, _a_auxFunction ,&_a_auxFunction);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT2285);
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 tmpMeta1;
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_boolean tmp4_2;
tmp4_1 = _in_txt;
tmp4_2 = _in_mArg;
{
modelica_metatype _txt = 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;
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT2295);
goto tmp3_done;
}
case 1: {
_txt = tmp4_1;
tmpMeta1 = _txt;
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta1;
_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[3] __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_LIT2297);
_txt = omc_Tpl_writeStr(threadData, _txt, _a_varName);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT87);
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_LIT2297);
_txt = omc_Tpl_writeStr(threadData, _txt, _a_varName);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT87);
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_LIT2299);
_txt = omc_Tpl_writeStr(threadData, _txt, _a_varName);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT87);
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_LIT2301);
_txt = omc_Tpl_writeStr(threadData, _txt, _a_varName);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT87);
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_LIT2297);
_txt = omc_Tpl_writeStr(threadData, _txt, _a_varName);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT87);
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_LIT2303);
_txt = omc_Tpl_writeStr(threadData, _txt, _a_varName);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT87);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_preExp;
tmpMeta[0+2] = _a_varDecls;
goto tmp3_done;
}
case 6: {
modelica_metatype tmpMeta6;
modelica_metatype tmpMeta7;
modelica_metatype tmpMeta8;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,9,3) == 0) goto tmp3_end;
tmpMeta6 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta6,3,1) == 0) goto tmp3_end;
tmpMeta7 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta6), 2));
tmpMeta8 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 3));
_i_path = tmpMeta7;
_i_vars = tmpMeta8;
_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_LIT1372);
_txt = omc_Tpl_writeText(threadData, _txt, _l_varCount);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT2305);
_txt = omc_CodegenUtil_underscorePath(threadData, _txt, _i_path);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1374);
_txt = omc_Tpl_writeText(threadData, _txt, _l_varsStr);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT87);
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_LIT2307);
_txt = omc_Tpl_writeStr(threadData, _txt, _a_varName);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT87);
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[3] __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: {
modelica_metatype tmpMeta6;
modelica_metatype tmpMeta7;
modelica_metatype tmpMeta8;
modelica_metatype tmpMeta9;
if (listEmpty(tmp4_2)) goto tmp3_end;
tmpMeta6 = MMC_CAR(tmp4_2);
tmpMeta7 = MMC_CDR(tmp4_2);
tmpMeta8 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta6), 2));
tmpMeta9 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta6), 4));
_i_name = tmpMeta8;
_i_ty = tmpMeta9;
_rest = tmpMeta7;
_txt = tmp4_1;
_a_preExp = tmp4_3;
_a_varName = tmp4_4;
_a_varDecls = tmp4_5;
_l_tmp = omc_CodegenCFunctions_tempDecl(threadData, _OMC_LIT20, _OMC_LIT322, _a_varDecls ,&_a_varDecls);
_l_varname = omc_Tpl_writeStr(threadData, _OMC_LIT20, _a_varName);
_l_varname = omc_Tpl_writeTok(threadData, _l_varname, _OMC_LIT528);
_l_varname = omc_Tpl_writeStr(threadData, _l_varname, _i_name);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT301);
_txt = omc_CodegenCFunctions_funArgBox(threadData, _txt, omc_Tpl_textString(threadData, _l_tmp), omc_Tpl_textString(threadData, _l_varname), _OMC_LIT28, _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: {
modelica_metatype tmpMeta10;
modelica_metatype tmpMeta11;
if (listEmpty(tmp4_2)) goto tmp3_end;
tmpMeta10 = MMC_CAR(tmp4_2);
tmpMeta11 = MMC_CDR(tmp4_2);
_rest = tmpMeta11;
_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 tmpMeta1;
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_metatype tmp4_2;
tmp4_1 = _in_txt;
tmp4_2 = _in_a_type;
{
modelica_metatype _txt = 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;
_txt = tmp4_1;
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT621);
goto tmp3_done;
}
case 1: {
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,3,1) == 0) goto tmp3_end;
_txt = tmp4_1;
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT621);
goto tmp3_done;
}
case 2: {
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,1,1) == 0) goto tmp3_end;
_txt = tmp4_1;
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT621);
goto tmp3_done;
}
case 3: {
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,5,5) == 0) goto tmp3_end;
_txt = tmp4_1;
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT621);
goto tmp3_done;
}
case 4: {
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,6,2) == 0) goto tmp3_end;
_txt = tmp4_1;
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT621);
goto tmp3_done;
}
case 5: {
modelica_metatype tmpMeta6;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,9,3) == 0) goto tmp3_end;
tmpMeta6 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta6,3,1) == 0) goto tmp3_end;
_txt = tmp4_1;
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT621);
goto tmp3_done;
}
case 6: {
_txt = tmp4_1;
tmpMeta1 = _txt;
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta1;
_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[3] __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: {
modelica_metatype tmpMeta6;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,0,2) == 0) goto tmp3_end;
tmpMeta6 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
if (!listEmpty(tmpMeta6)) 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_LIT2309);
_a_varUnbox = omc_Tpl_writeStr(threadData, _a_varUnbox, _a_varName);
_a_varUnbox = omc_Tpl_writeTok(threadData, _a_varUnbox, _OMC_LIT208);
_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_LIT98);
_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 tmpMeta1;
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_string tmp4_2;modelica_metatype tmp4_3;modelica_string tmp4_4;
tmp4_1 = _in_txt;
tmp4_2 = _in_a_condition;
tmp4_3 = _in_a_constructor;
tmp4_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 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_LIT28), MMC_STRINGDATA(tmp4_2)) != 0) goto tmp3_end;
_txt = tmp4_1;
_a_constructor = tmp4_3;
_a_outName = tmp4_4;
_txt = omc_Tpl_writeStr(threadData, _txt, _a_outName);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT129);
_txt = omc_Tpl_writeText(threadData, _txt, _a_constructor);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT113);
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT98);
goto tmp3_done;
}
case 1: {
_txt = tmp4_1;
_i_condition = tmp4_2;
_a_constructor = tmp4_3;
_a_outName = tmp4_4;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT257);
_txt = omc_Tpl_writeStr(threadData, _txt, _i_condition);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT2311);
_txt = omc_Tpl_writeStr(threadData, _txt, _a_outName);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT129);
_txt = omc_Tpl_writeText(threadData, _txt, _a_constructor);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT2222);
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT98);
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta1;
_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[3] __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: {
modelica_metatype tmpMeta6;
modelica_metatype tmpMeta7;
modelica_metatype tmpMeta8;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,9,3) == 0) goto tmp3_end;
tmpMeta6 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta6,3,1) == 0) goto tmp3_end;
tmpMeta7 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta6), 2));
tmpMeta8 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 3));
_i_path = tmpMeta7;
_i_vars = tmpMeta8;
_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_LIT2312);
_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[2] __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: {
modelica_metatype tmpMeta6;
modelica_metatype tmpMeta7;
modelica_metatype tmpMeta8;
modelica_metatype tmpMeta9;
if (listEmpty(tmp4_2)) goto tmp3_end;
tmpMeta6 = MMC_CAR(tmp4_2);
tmpMeta7 = MMC_CDR(tmp4_2);
tmpMeta8 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta6), 2));
tmpMeta9 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta6), 4));
_i_compname = tmpMeta8;
_i_ty = tmpMeta9;
_rest = tmpMeta7;
_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_LIT322, _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_LIT2314);
_txt = omc_Tpl_writeStr(threadData, _txt, _a_recordVar);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT532);
_txt = omc_Tpl_writeStr(threadData, _txt, intString(_x_offset));
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT2316);
_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_LIT528);
_txt = omc_Tpl_writeStr(threadData, _txt, _i_compname);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT129);
_txt = omc_Tpl_writeText(threadData, _txt, _l_unboxStr);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT113);
_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: {
modelica_metatype tmpMeta10;
modelica_metatype tmpMeta11;
if (listEmpty(tmp4_2)) goto tmp3_end;
tmpMeta10 = MMC_CAR(tmp4_2);
tmpMeta11 = MMC_CDR(tmp4_2);
_rest = tmpMeta11;
_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[3] __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: {
modelica_metatype tmpMeta6;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,9,3) == 0) goto tmp3_end;
tmpMeta6 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta6,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: {
modelica_metatype tmpMeta7;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,9,3) == 0) goto tmp3_end;
tmpMeta7 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta7,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_LIT2318);
_txt = omc_Tpl_writeStr(threadData, _txt, _a_varName);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT87);
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_LIT1671);
_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_LIT2320);
_a_preExp = omc_Tpl_writeText(threadData, _a_preExp, _l_shortType);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT30);
_a_preExp = omc_Tpl_writeStr(threadData, _a_preExp, _a_varName);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT299);
_a_preExp = omc_Tpl_writeTok(threadData, _a_preExp, _OMC_LIT98);
_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[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_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: {
modelica_metatype tmpMeta6;
modelica_metatype tmpMeta7;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,0,7) == 0) goto tmp3_end;
tmpMeta6 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 3));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta6,6,2) == 0) goto tmp3_end;
tmpMeta7 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 6));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta7,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) 1905), ((modelica_integer) 9)), _OMC_LIT2321);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_varDecls;
tmpMeta[0+2] = _a_varBox;
tmpMeta[0+3] = _a_auxFunction;
goto tmp3_done;
}
case 1: {
modelica_metatype tmpMeta8;
modelica_metatype tmpMeta9;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,0,7) == 0) goto tmp3_end;
tmpMeta8 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 3));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta8,6,2) == 0) goto tmp3_end;
tmpMeta9 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 6));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta9,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) 1907), ((modelica_integer) 10)), _OMC_LIT2322);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_varDecls;
tmpMeta[0+2] = _a_varBox;
tmpMeta[0+3] = _a_auxFunction;
goto tmp3_done;
}
case 2: {
modelica_metatype tmpMeta10;
modelica_metatype tmpMeta11;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,0,7) == 0) goto tmp3_end;
tmpMeta10 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
tmpMeta11 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 3));
_i_name = tmpMeta10;
_i_ty = tmpMeta11;
_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_LIT1401, _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: {
modelica_metatype tmpMeta12;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,1,4) == 0) goto tmp3_end;
tmpMeta12 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
_i_name_1 = tmpMeta12;
_txt = tmp4_1;
_a_varDecls = tmp4_3;
_a_varBox = tmp4_4;
_a_auxFunction = tmp4_5;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT244);
_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[2] __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: {
modelica_metatype tmpMeta6;
modelica_metatype tmpMeta7;
modelica_metatype tmpMeta8;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,4,5) == 0) goto tmp3_end;
tmpMeta6 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
tmpMeta7 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 3));
tmpMeta8 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 5));
_i_name = tmpMeta6;
_i_funArgs = tmpMeta7;
_i_visibility = tmpMeta8;
_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_LIT2324);
_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_LIT2326);
_ret_6 = omc_Flags_isSet(threadData, _OMC_LIT614);
_txt = omc_CodegenCFunctions_fun__326(threadData, _txt, _ret_6);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT244);
_txt = omc_Tpl_writeText(threadData, _txt, _l_fname);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT2328);
_txt = omc_CodegenCFunctions_lm__327(threadData, _txt, _i_funArgs);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT439);
_txt = omc_Tpl_pushBlock(threadData, _txt, _OMC_LIT105);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT2330);
_txt = omc_Tpl_writeText(threadData, _txt, _l_start);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT2305);
_txt = omc_Tpl_writeText(threadData, _txt, _l_fname);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1374);
_txt = omc_Tpl_writeText(threadData, _txt, _l_funArgsStr);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT386);
_txt = omc_Tpl_popBlock(threadData, _txt);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT167);
_ret_7 = omc_Flags_isSet(threadData, _OMC_LIT614);
_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 tmpMeta1;
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_fname;
{
modelica_metatype _txt = 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;
tmpMeta1 = _txt;
goto tmp3_done;
}
case 1: {
_txt = tmp4_1;
_a_fname = tmp4_3;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT2332);
_txt = omc_Tpl_writeText(threadData, _txt, _a_fname);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT2334);
_txt = omc_Tpl_writeText(threadData, _txt, _a_fname);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT2336);
_txt = omc_Tpl_writeText(threadData, _txt, _a_fname);
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT113);
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta1;
_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 tmpMeta1;
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_metatype tmp4_2;
tmp4_1 = _in_txt;
tmp4_2 = _in_items;
{
modelica_metatype _txt = NULL;
modelica_metatype _rest = 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;
tmpMeta1 = _txt;
goto tmp3_done;
}
case 1: {
modelica_metatype tmpMeta6;
modelica_metatype tmpMeta7;
if (listEmpty(tmp4_2)) goto tmp3_end;
tmpMeta6 = MMC_CAR(tmp4_2);
tmpMeta7 = MMC_CDR(tmp4_2);
_i_var = tmpMeta6;
_rest = tmpMeta7;
_txt = tmp4_1;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT301);
_txt = omc_CodegenCFunctions_funArgBoxedDefinition(threadData, _txt, _i_var);
_in_txt = _txt;
_in_items = _rest;
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 = tmpMeta1;
_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 tmpMeta1;
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_boolean tmp4_2;
tmp4_1 = _in_txt;
tmp4_2 = _in_mArg;
{
modelica_metatype _txt = 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;
tmpMeta1 = _txt;
goto tmp3_done;
}
case 1: {
_txt = tmp4_1;
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT2338);
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta1;
_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 tmpMeta1;
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_a_isSimulation;
tmp4_3 = _in_a_visibility;
{
modelica_metatype _txt = NULL;
modelica_metatype _a_visibility = 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_visibility = tmp4_3;
tmpMeta1 = omc_CodegenCFunctions_fun__324(threadData, _txt, _a_visibility);
goto tmp3_done;
}
case 1: {
_txt = tmp4_1;
tmpMeta1 = _txt;
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta1;
_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 tmpMeta1;
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_metatype tmp4_2;
tmp4_1 = _in_txt;
tmp4_2 = _in_a_visibility;
{
modelica_metatype _txt = 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;
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT2340);
goto tmp3_done;
}
case 1: {
_txt = tmp4_1;
tmpMeta1 = _txt;
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta1;
_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[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_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: {
modelica_metatype tmpMeta6;
modelica_metatype tmpMeta7;
if (listEmpty(tmp4_2)) goto tmp3_end;
tmpMeta6 = MMC_CAR(tmp4_2);
tmpMeta7 = MMC_CDR(tmp4_2);
_i_var = tmpMeta6;
_rest = tmpMeta7;
_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[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_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: {
modelica_metatype tmpMeta5;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,0,7) == 0) goto tmp3_end;
tmpMeta5 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
_i_name = tmpMeta5;
_txt = tmp4_1;
_a_auxFunction = tmp4_3;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT301);
tmpMeta[0+0] = omc_CodegenCFunctions_contextCrefNoPrevExp(threadData, _txt, _i_name, _OMC_LIT1401, _a_auxFunction, &tmpMeta[0+1]);
goto tmp3_done;
}
case 4: {
modelica_metatype tmpMeta6;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,1,4) == 0) goto tmp3_end;
tmpMeta6 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
_i_name_1 = tmpMeta6;
_txt = tmp4_1;
_a_auxFunction = tmp4_3;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT301);
_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) 1890), ((modelica_integer) 17)), _OMC_LIT2341);
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_LIT147);
_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_LIT104);
_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_LIT154);
_out_txt = omc_Tpl_pushBlock(threadData, _out_txt, _OMC_LIT105);
_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_LIT643);
_out_txt = omc_Tpl_writeText(threadData, _out_txt, _l_fname);
_out_txt = omc_Tpl_writeTok(threadData, _out_txt, _OMC_LIT1324);
_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_LIT386);
_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_LIT167);
_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 tmpMeta1;
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_outvars;
tmp4_3 = _in_a_retvar;
{
modelica_metatype _txt = NULL;
modelica_metatype _a_retvar = NULL;
volatile mmc_switch_type tmp4;
int tmp5;
tmp4 = 0;
for (; tmp4 < 2; tmp4++) {
switch (MMC_SWITCH_CAST(tmp4)) {
case 0: {
modelica_metatype tmpMeta6;
modelica_metatype tmpMeta7;
if (listEmpty(tmp4_2)) goto tmp3_end;
tmpMeta6 = MMC_CAR(tmp4_2);
tmpMeta7 = MMC_CDR(tmp4_2);
_txt = tmp4_1;
_a_retvar = tmp4_3;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1018);
_txt = omc_Tpl_writeText(threadData, _txt, _a_retvar);
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT113);
goto tmp3_done;
}
case 1: {
_txt = tmp4_1;
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT2343);
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta1;
_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 tmpMeta1;
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_metatype tmp4_2;
tmp4_1 = _in_txt;
tmp4_2 = _in_a_outvars;
{
modelica_metatype _txt = 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: {
modelica_metatype tmpMeta6;
modelica_metatype tmpMeta7;
if (listEmpty(tmp4_2)) goto tmp3_end;
tmpMeta6 = MMC_CAR(tmp4_2);
tmpMeta7 = MMC_CDR(tmp4_2);
_i_v = tmpMeta6;
_txt = tmp4_1;
_txt = omc_CodegenCFunctions_funArgName(threadData, _txt, _i_v);
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT129);
goto tmp3_done;
}
case 1: {
_txt = tmp4_1;
tmpMeta1 = _txt;
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta1;
_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[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_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: {
modelica_metatype tmpMeta6;
modelica_metatype tmpMeta7;
modelica_metatype tmpMeta8;
modelica_metatype tmpMeta9;
if (listEmpty(tmp4_2)) goto tmp3_end;
tmpMeta6 = MMC_CAR(tmp4_2);
tmpMeta7 = MMC_CDR(tmp4_2);
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta6,0,7) == 0) goto tmp3_end;
tmpMeta8 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta6), 3));
tmpMeta9 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta6), 5));
_i_var = tmpMeta6;
_i_var_ty = tmpMeta8;
_i_var_instDims = tmpMeta9;
_rest = tmpMeta7;
_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_LIT2345);
_txt_1 = omc_Tpl_writeText(threadData, _txt_1, _l_arg);
_txt_2 = omc_Tpl_writeTok(threadData, _OMC_LIT20, _OMC_LIT2347);
_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: {
modelica_metatype tmpMeta10;
modelica_metatype tmpMeta11;
if (listEmpty(tmp4_2)) goto tmp3_end;
tmpMeta10 = MMC_CAR(tmp4_2);
tmpMeta11 = MMC_CDR(tmp4_2);
_rest = tmpMeta11;
_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[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_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: {
modelica_metatype tmpMeta6;
modelica_metatype tmpMeta7;
modelica_metatype tmpMeta8;
modelica_metatype tmpMeta9;
if (listEmpty(tmp4_2)) goto tmp3_end;
tmpMeta6 = MMC_CAR(tmp4_2);
tmpMeta7 = MMC_CDR(tmp4_2);
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta6,0,7) == 0) goto tmp3_end;
tmpMeta8 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta6), 3));
tmpMeta9 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta6), 5));
_i_v = tmpMeta6;
_i_v_ty = tmpMeta8;
_i_v_instDims = tmpMeta9;
_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_LIT28, _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_LIT2347);
_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_LIT28, _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: {
modelica_metatype tmpMeta10;
modelica_metatype tmpMeta11;
if (listEmpty(tmp4_2)) goto tmp3_end;
tmpMeta10 = MMC_CAR(tmp4_2);
tmpMeta11 = MMC_CDR(tmp4_2);
_i_v = tmpMeta10;
_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_LIT28, _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[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_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: {
modelica_metatype tmpMeta6;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,0,2) == 0) goto tmp3_end;
tmpMeta6 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
if (!listEmpty(tmpMeta6)) 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_LIT427);
_a_varDecls = omc_Tpl_writeText(threadData, _a_varDecls, _a_out);
_a_varDecls = omc_Tpl_writeTok(threadData, _a_varDecls, _OMC_LIT113);
_a_varDecls = omc_Tpl_writeTok(threadData, _a_varDecls, _OMC_LIT98);
_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[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_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: {
modelica_metatype tmpMeta6;
modelica_metatype tmpMeta7;
if (listEmpty(tmp4_2)) goto tmp3_end;
tmpMeta6 = MMC_CAR(tmp4_2);
tmpMeta7 = MMC_CDR(tmp4_2);
_i_var = tmpMeta6;
_rest = tmpMeta7;
_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[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;
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: {
modelica_metatype tmpMeta6;
modelica_metatype tmpMeta7;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,0,7) == 0) goto tmp3_end;
tmpMeta6 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 3));
tmpMeta7 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 5));
_i_v = tmp4_2;
_i_v_ty = tmpMeta6;
_i_v_instDims = tmpMeta7;
_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_LIT2228);
_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[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_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: {
modelica_metatype tmpMeta6;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,0,2) == 0) goto tmp3_end;
tmpMeta6 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
if (!listEmpty(tmpMeta6)) 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_LIT2228);
_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_LIT28, _a_varDecls, _a_outputAllocIgnore, _a_varFreesIgnore, _a_auxFunctionIgnore ,&_a_varDecls ,&_a_outputAllocIgnore ,&_a_varFreesIgnore ,&_a_auxFunctionIgnore);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT131);
_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[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_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: {
modelica_metatype tmpMeta6;
modelica_metatype tmpMeta7;
if (listEmpty(tmp4_2)) goto tmp3_end;
tmpMeta6 = MMC_CAR(tmp4_2);
tmpMeta7 = MMC_CDR(tmp4_2);
_i_arg = tmpMeta6;
_rest = tmpMeta7;
_txt = tmp4_1;
_a_auxFunction = tmp4_3;
_a_varBox = tmp4_4;
_a_varDecls = tmp4_5;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT301);
_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 tmpMeta1;
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_metatype tmp4_2;
tmp4_1 = _in_txt;
tmp4_2 = _in_a_outvars;
{
modelica_metatype _txt = 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;
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT620);
goto tmp3_done;
}
case 1: {
_txt = tmp4_1;
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT621);
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta1;
_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 tmpMeta1;
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_metatype tmp4_2;modelica_boolean tmp4_3;
tmp4_1 = _in_txt;
tmp4_2 = _in_a_fn;
tmp4_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 tmp4;
int tmp5;
tmp4 = 0;
for (; tmp4 < 4; tmp4++) {
switch (MMC_SWITCH_CAST(tmp4)) {
case 0: {
modelica_metatype tmpMeta6;
modelica_metatype tmpMeta7;
modelica_metatype tmpMeta8;
modelica_metatype tmpMeta9;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,0,7) == 0) goto tmp3_end;
tmpMeta6 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
tmpMeta7 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 3));
tmpMeta8 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 4));
tmpMeta9 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 7));
_i_fn = tmp4_2;
_i_name = tmpMeta6;
_i_outVars = tmpMeta7;
_i_functionArguments = tmpMeta8;
_i_visibility = tmpMeta9;
_txt = tmp4_1;
_a_isSimulation = tmp4_3;
_ret_0 = omc_SimCodeFunctionUtil_isBoxedFunction(threadData, _i_fn);
tmpMeta1 = omc_CodegenCFunctions_fun__307(threadData, _txt, _ret_0, _a_isSimulation, _i_visibility, _i_outVars, _i_functionArguments, _i_name);
goto tmp3_done;
}
case 1: {
modelica_metatype tmpMeta10;
modelica_metatype tmpMeta11;
modelica_metatype tmpMeta12;
modelica_metatype tmpMeta13;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,3,14) == 0) goto tmp3_end;
tmpMeta10 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
tmpMeta11 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 4));
tmpMeta12 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 8));
tmpMeta13 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 13));
_i_fn = tmp4_2;
_i_name = tmpMeta10;
_i_funArgs = tmpMeta11;
_i_outVars = tmpMeta12;
_i_visibility = tmpMeta13;
_txt = tmp4_1;
_a_isSimulation = tmp4_3;
_ret_1 = omc_SimCodeFunctionUtil_isBoxedFunction(threadData, _i_fn);
tmpMeta1 = omc_CodegenCFunctions_fun__308(threadData, _txt, _ret_1, _a_isSimulation, _i_visibility, _i_outVars, _i_funArgs, _i_name);
goto tmp3_done;
}
case 2: {
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,4,5) == 0) goto tmp3_end;
_i_fn = tmp4_2;
_txt = tmp4_1;
_a_isSimulation = tmp4_3;
tmpMeta1 = omc_CodegenCFunctions_boxRecordConstructor(threadData, _txt, _i_fn, _a_isSimulation);
goto tmp3_done;
}
case 3: {
_txt = tmp4_1;
tmpMeta1 = _txt;
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta1;
_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 tmpMeta1;
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_boolean 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_mArg;
tmp4_3 = _in_a_isSimulation;
tmp4_4 = _in_a_visibility;
tmp4_5 = _in_a_outVars;
tmp4_6 = _in_a_funArgs;
tmp4_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 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_isSimulation = tmp4_3;
_a_visibility = tmp4_4;
_a_outVars = tmp4_5;
_a_funArgs = tmp4_6;
_a_name = tmp4_7;
tmpMeta1 = omc_CodegenCFunctions_functionBodyBoxedImpl(threadData, _txt, _a_name, _a_funArgs, _a_outVars, _a_visibility, _a_isSimulation);
goto tmp3_done;
}
case 1: {
_txt = tmp4_1;
tmpMeta1 = _txt;
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta1;
_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 tmpMeta1;
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_boolean 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_mArg;
tmp4_3 = _in_a_isSimulation;
tmp4_4 = _in_a_visibility;
tmp4_5 = _in_a_outVars;
tmp4_6 = _in_a_functionArguments;
tmp4_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 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_isSimulation = tmp4_3;
_a_visibility = tmp4_4;
_a_outVars = tmp4_5;
_a_functionArguments = tmp4_6;
_a_name = tmp4_7;
tmpMeta1 = omc_CodegenCFunctions_functionBodyBoxedImpl(threadData, _txt, _a_name, _a_functionArguments, _a_outVars, _a_visibility, _a_isSimulation);
goto tmp3_done;
}
case 1: {
_txt = tmp4_1;
tmpMeta1 = _txt;
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta1;
_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 tmpMeta1;
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_metatype tmp4_2;
tmp4_1 = _in_txt;
tmp4_2 = _in_a_fn;
{
modelica_metatype _txt = NULL;
modelica_metatype _i_name = NULL;
int tmp4;
{
switch (MMC_SWITCH_CAST(valueConstructor(tmp4_2))) {
case 3: {
modelica_metatype tmpMeta5;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,0,7) == 0) goto tmp3_end;
tmpMeta5 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
_i_name = tmpMeta5;
_txt = tmp4_1;
tmpMeta1 = omc_CodegenUtil_underscorePath(threadData, _txt, _i_name);
goto tmp3_done;
}
case 6: {
modelica_metatype tmpMeta6;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,3,14) == 0) goto tmp3_end;
tmpMeta6 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
_i_name = tmpMeta6;
_txt = tmp4_1;
tmpMeta1 = omc_CodegenUtil_underscorePath(threadData, _txt, _i_name);
goto tmp3_done;
}
case 7: {
modelica_metatype tmpMeta7;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,4,5) == 0) goto tmp3_end;
tmpMeta7 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
_i_name = tmpMeta7;
_txt = tmp4_1;
tmpMeta1 = omc_CodegenUtil_underscorePath(threadData, _txt, _i_name);
goto tmp3_done;
}
default:
tmp3_default: OMC_LABEL_UNUSED; {
_txt = tmp4_1;
tmpMeta1 = _txt;
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta1;
_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[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;
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: {
modelica_metatype tmpMeta6;
modelica_metatype tmpMeta7;
modelica_metatype tmpMeta8;
modelica_metatype tmpMeta9;
modelica_metatype tmpMeta10;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,0,7) == 0) goto tmp3_end;
tmpMeta6 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
tmpMeta7 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 3));
tmpMeta8 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 4));
tmpMeta9 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 5));
tmpMeta10 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 6));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta10,2,0) == 0) goto tmp3_end;
_i_var = tmp4_2;
_i_var_name = tmpMeta6;
_i_var_ty = tmpMeta7;
_i_var_value = tmpMeta8;
_i_instDims = tmpMeta9;
_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_LIT528);
_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_LIT303);
_l_instDimsInit = omc_CodegenCFunctions_lm__302(threadData, _l_instDimsInit, _i_instDims, _a_auxFunction, _a_varDecls, _a_varInits, _a_prefix ,&_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, _a_prefix, _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) 1794), ((modelica_integer) 12)), _OMC_LIT2348);
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_string _in_a_prefix, 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_string tmp4_9;modelica_metatype tmp4_10;modelica_metatype tmp4_11;
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_prefix;
tmp4_10 = _in_a_varName;
tmp4_11 = _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_string _a_prefix = NULL;
modelica_metatype _a_varName = NULL;
modelica_metatype _a_var_value = NULL;
modelica_metatype _i_instDims = NULL;
modelica_metatype _ret_4 = NULL;
modelica_metatype _txt_3 = 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_prefix = tmp4_9;
_a_varName = tmp4_10;
_a_var_value = tmp4_11;
tmpMeta[0+0] = omc_CodegenCFunctions_fun__303(threadData, _txt, _a_var_value, _a_auxFunction, _a_varDecls, _a_varInits, _a_prefix, _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_prefix = tmp4_9;
_a_varName = tmp4_10;
_l_defaultAlloc = omc_Tpl_writeTok(threadData, _OMC_LIT20, _OMC_LIT305);
_l_defaultAlloc = omc_CodegenCFunctions_expTypeShort(threadData, _l_defaultAlloc, _a_var_ty);
_l_defaultAlloc = omc_Tpl_writeTok(threadData, _l_defaultAlloc, _OMC_LIT566);
_l_defaultAlloc = omc_Tpl_writeText(threadData, _l_defaultAlloc, _a_varName);
_l_defaultAlloc = omc_Tpl_writeTok(threadData, _l_defaultAlloc, _OMC_LIT301);
_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_LIT301);
_l_defaultAlloc = omc_Tpl_writeText(threadData, _l_defaultAlloc, _a_instDimsInit);
_l_defaultAlloc = omc_Tpl_writeTok(threadData, _l_defaultAlloc, _OMC_LIT299);
_l_defaultAlloc = omc_Tpl_writeTok(threadData, _l_defaultAlloc, _OMC_LIT98);
_txt_3 = omc_Tpl_writeStr(threadData, _OMC_LIT20, _a_prefix);
_txt_3 = omc_Tpl_writeTok(threadData, _txt_3, _OMC_LIT514);
_ret_4 = omc_SimCodeFunctionUtil_appendCurrentCrefPrefix(threadData, _OMC_LIT1401, omc_Tpl_textString(threadData, _txt_3));
_l_defaultValue = omc_CodegenCFunctions_varAllocDefaultValue(threadData, _OMC_LIT20, _a_var, _ret_4, 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_string _in_a_prefix, 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[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_string tmp4_6;modelica_metatype tmp4_7;
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_prefix;
tmp4_7 = _in_a_varName;
{
modelica_metatype _txt = NULL;
modelica_metatype _a_auxFunction = NULL;
modelica_metatype _a_varDecls = NULL;
modelica_metatype _a_varInits = NULL;
modelica_string _a_prefix = NULL;
modelica_metatype _a_varName = NULL;
modelica_metatype _i_exp = NULL;
modelica_metatype _ret_2 = NULL;
modelica_metatype _txt_1 = 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: {
modelica_metatype tmpMeta6;
if (optionNone(tmp4_2)) goto tmp3_end;
tmpMeta6 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 1));
_i_exp = tmpMeta6;
_txt = tmp4_1;
_a_auxFunction = tmp4_3;
_a_varDecls = tmp4_4;
_a_varInits = tmp4_5;
_a_prefix = tmp4_6;
_a_varName = tmp4_7;
_l_defaultValue = omc_Tpl_writeText(threadData, _OMC_LIT20, _a_varName);
_l_defaultValue = omc_Tpl_writeTok(threadData, _l_defaultValue, _OMC_LIT129);
_txt_1 = omc_Tpl_writeStr(threadData, _OMC_LIT20, _a_prefix);
_txt_1 = omc_Tpl_writeTok(threadData, _txt_1, _OMC_LIT514);
_ret_2 = omc_SimCodeFunctionUtil_appendCurrentCrefPrefix(threadData, _OMC_LIT1401, omc_Tpl_textString(threadData, _txt_1));
_l_defaultValue = omc_CodegenCFunctions_daeExp(threadData, _l_defaultValue, _i_exp, _ret_2, _a_varInits, _a_varDecls, _a_auxFunction ,&_a_varInits ,&_a_varDecls ,&_a_auxFunction);
_l_defaultValue = omc_Tpl_writeTok(threadData, _l_defaultValue, _OMC_LIT113);
_l_defaultValue = omc_Tpl_writeTok(threadData, _l_defaultValue, _OMC_LIT98);
_a_varInits = omc_Tpl_writeText(threadData, _a_varInits, _l_defaultValue);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT34);
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_string _in_a_prefix, 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_string tmp4_6;
tmp4_1 = _in_txt;
tmp4_2 = _in_items;
tmp4_3 = _in_a_auxFunction;
tmp4_4 = _in_a_varDecls;
tmp4_5 = _in_a_varInits;
tmp4_6 = _in_a_prefix;
{
modelica_metatype _txt = NULL;
modelica_metatype _rest = NULL;
modelica_metatype _a_auxFunction = NULL;
modelica_metatype _a_varDecls = NULL;
modelica_metatype _a_varInits = NULL;
modelica_string _a_prefix = NULL;
modelica_metatype _i_dim = 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 (!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: {
modelica_metatype tmpMeta6;
modelica_metatype tmpMeta7;
if (listEmpty(tmp4_2)) goto tmp3_end;
tmpMeta6 = MMC_CAR(tmp4_2);
tmpMeta7 = MMC_CDR(tmp4_2);
_i_dim = tmpMeta6;
_rest = tmpMeta7;
_txt = tmp4_1;
_a_auxFunction = tmp4_3;
_a_varDecls = tmp4_4;
_a_varInits = tmp4_5;
_a_prefix = tmp4_6;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1311);
_txt_0 = omc_Tpl_writeStr(threadData, _OMC_LIT20, _a_prefix);
_txt_0 = omc_Tpl_writeTok(threadData, _txt_0, _OMC_LIT514);
_ret_1 = omc_SimCodeFunctionUtil_appendCurrentCrefPrefix(threadData, _OMC_LIT1401, omc_Tpl_textString(threadData, _txt_0));
_txt = omc_CodegenCFunctions_dimension(threadData, _txt, _i_dim, _ret_1, _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;
_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_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 tmpMeta1;
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_metatype tmp4_2;modelica_boolean tmp4_3;
tmp4_1 = _in_txt;
tmp4_2 = _in_a_fn;
tmp4_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_9;
modelica_boolean _ret_8;
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 tmp4;
int tmp5;
tmp4 = 0;
for (; tmp4 < 2; tmp4++) {
switch (MMC_SWITCH_CAST(tmp4)) {
case 0: {
modelica_metatype tmpMeta6;
modelica_metatype tmpMeta7;
modelica_metatype tmpMeta8;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,4,5) == 0) goto tmp3_end;
tmpMeta6 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
tmpMeta7 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 3));
tmpMeta8 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 4));
_i_fn = tmp4_2;
_i_name = tmpMeta6;
_i_funArgs = tmpMeta7;
_i_locals = tmpMeta8;
_txt = tmp4_1;
_a_isSimulation = tmp4_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_LIT102);
_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_LIT2350);
_ret_8 = omc_Flags_isSet(threadData, _OMC_LIT614);
_txt = omc_CodegenCFunctions_fun__297(threadData, _txt, _ret_8);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT244);
_txt = omc_Tpl_writeText(threadData, _txt, _l_fname);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT2328);
_txt = omc_CodegenCFunctions_lm__298(threadData, _txt, _i_funArgs);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT439);
_txt = omc_Tpl_pushBlock(threadData, _txt, _OMC_LIT105);
_txt = omc_Tpl_writeText(threadData, _txt, _l_varDecls);
_txt = omc_Tpl_softNewLine(threadData, _txt);
_txt = omc_Tpl_pushIter(threadData, _txt, _OMC_LIT104);
_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_LIT1018);
_txt = omc_Tpl_writeText(threadData, _txt, _l_structVar);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT169);
_txt = omc_Tpl_popBlock(threadData, _txt);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT167);
_ret_9 = omc_Flags_isSet(threadData, _OMC_LIT614);
_txt = omc_CodegenCFunctions_fun__300(threadData, _txt, _ret_9, _l_fname);
_txt = omc_Tpl_softNewLine(threadData, _txt);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT98);
tmpMeta1 = omc_Tpl_writeText(threadData, _txt, _l_boxedFn);
goto tmp3_done;
}
case 1: {
_txt = tmp4_1;
tmpMeta1 = _txt;
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta1;
_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 tmpMeta1;
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_fname;
{
modelica_metatype _txt = 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;
tmpMeta1 = _txt;
goto tmp3_done;
}
case 1: {
_txt = tmp4_1;
_a_fname = tmp4_3;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT2352);
_txt = omc_Tpl_writeText(threadData, _txt, _a_fname);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT2354);
_txt = omc_Tpl_writeText(threadData, _txt, _a_fname);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT2356);
_txt = omc_Tpl_writeText(threadData, _txt, _a_fname);
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT113);
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta1;
_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 tmpMeta1;
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_structVar;
{
modelica_metatype _txt = NULL;
modelica_metatype _rest = NULL;
modelica_metatype _a_structVar = NULL;
modelica_metatype _i_name = 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;
tmpMeta1 = _txt;
goto tmp3_done;
}
case 1: {
modelica_metatype tmpMeta6;
modelica_metatype tmpMeta7;
modelica_metatype tmpMeta8;
if (listEmpty(tmp4_2)) goto tmp3_end;
tmpMeta6 = MMC_CAR(tmp4_2);
tmpMeta7 = MMC_CDR(tmp4_2);
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta6,0,7) == 0) goto tmp3_end;
tmpMeta8 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta6), 2));
_i_name = tmpMeta8;
_rest = tmpMeta7;
_txt = tmp4_1;
_a_structVar = tmp4_3;
_txt = omc_Tpl_writeText(threadData, _txt, _a_structVar);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT528);
_txt = omc_CodegenUtil_crefStr(threadData, _txt, _i_name);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT2358);
_txt = omc_CodegenUtil_crefStr(threadData, _txt, _i_name);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT113);
_txt = omc_Tpl_nextIter(threadData, _txt);
_in_txt = _txt;
_in_items = _rest;
_in_a_structVar = _a_structVar;
goto _tailrecursive;
goto tmp3_done;
}
case 2: {
modelica_metatype tmpMeta9;
modelica_metatype tmpMeta10;
if (listEmpty(tmp4_2)) goto tmp3_end;
tmpMeta9 = MMC_CAR(tmp4_2);
tmpMeta10 = MMC_CDR(tmp4_2);
_rest = tmpMeta10;
_txt = tmp4_1;
_a_structVar = tmp4_3;
_in_txt = _txt;
_in_items = _rest;
_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 = tmpMeta1;
_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 tmpMeta1;
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_metatype tmp4_2;
tmp4_1 = _in_txt;
tmp4_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 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;
tmpMeta1 = _txt;
goto tmp3_done;
}
case 1: {
modelica_metatype tmpMeta6;
modelica_metatype tmpMeta7;
modelica_metatype tmpMeta8;
modelica_metatype tmpMeta9;
if (listEmpty(tmp4_2)) goto tmp3_end;
tmpMeta6 = MMC_CAR(tmp4_2);
tmpMeta7 = MMC_CDR(tmp4_2);
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta6,0,7) == 0) goto tmp3_end;
tmpMeta8 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta6), 2));
tmpMeta9 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta6), 3));
_i_name = tmpMeta8;
_i_ty = tmpMeta9;
_rest = tmpMeta7;
_txt = tmp4_1;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT301);
_txt = omc_CodegenCFunctions_expTypeArrayIf(threadData, _txt, _i_ty);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT2354);
_txt = omc_CodegenUtil_crefStr(threadData, _txt, _i_name);
_in_txt = _txt;
_in_items = _rest;
goto _tailrecursive;
goto tmp3_done;
}
case 2: {
modelica_metatype tmpMeta10;
modelica_metatype tmpMeta11;
if (listEmpty(tmp4_2)) goto tmp3_end;
tmpMeta10 = MMC_CAR(tmp4_2);
tmpMeta11 = MMC_CDR(tmp4_2);
_rest = tmpMeta11;
_txt = tmp4_1;
_in_txt = _txt;
_in_items = _rest;
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 = tmpMeta1;
_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 tmpMeta1;
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_boolean tmp4_2;
tmp4_1 = _in_txt;
tmp4_2 = _in_mArg;
{
modelica_metatype _txt = 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;
tmpMeta1 = _txt;
goto tmp3_done;
}
case 1: {
_txt = tmp4_1;
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT2338);
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta1;
_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[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_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: {
modelica_metatype tmpMeta6;
modelica_metatype tmpMeta7;
if (listEmpty(tmp4_2)) goto tmp3_end;
tmpMeta6 = MMC_CAR(tmp4_2);
tmpMeta7 = MMC_CDR(tmp4_2);
_i_var = tmpMeta6;
_rest = tmpMeta7;
_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 tmpMeta1;
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_metatype tmp4_2;modelica_boolean tmp4_3;modelica_boolean tmp4_4;
tmp4_1 = _in_txt;
tmp4_2 = _in_a_fn;
tmp4_3 = _in_a_inFunc;
tmp4_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 tmp4;
int tmp5;
tmp4 = 0;
for (; tmp4 < 2; tmp4++) {
switch (MMC_SWITCH_CAST(tmp4)) {
case 0: {
modelica_metatype tmpMeta6;
modelica_metatype tmpMeta7;
modelica_metatype tmpMeta8;
modelica_metatype tmpMeta9;
modelica_metatype tmpMeta10;
modelica_metatype tmpMeta11;
modelica_metatype tmpMeta12;
modelica_metatype tmpMeta13;
modelica_integer tmp14;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,3,14) == 0) goto tmp3_end;
tmpMeta6 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
tmpMeta7 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 3));
tmpMeta8 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 4));
tmpMeta9 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 8));
tmpMeta10 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 12));
tmpMeta11 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 13));
tmpMeta12 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 14));
tmpMeta13 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 15));
tmp14 = mmc_unbox_integer(tmpMeta13);
_i_efn = tmp4_2;
_i_name = tmpMeta6;
_i_extName = tmpMeta7;
_i_funArgs = tmpMeta8;
_i_outVars = tmpMeta9;
_i_language = tmpMeta10;
_i_visibility = tmpMeta11;
_i_info = tmpMeta12;
_i_dynamicLoad = tmp14;
_txt = tmp4_1;
_a_inFunc = tmp4_3;
_a_isSimulation = tmp4_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_LIT102);
_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_LIT154);
_l_fnBody = omc_Tpl_pushBlock(threadData, _l_fnBody, _OMC_LIT105);
_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_LIT167);
_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);
tmpMeta1 = omc_Tpl_writeText(threadData, _txt, _l_boxedFn);
goto tmp3_done;
}
case 1: {
_txt = tmp4_1;
tmpMeta1 = _txt;
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta1;
_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 tmpMeta1;
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_boolean tmp4_2;modelica_string tmp4_3;modelica_string tmp4_4;
tmp4_1 = _in_txt;
tmp4_2 = _in_a_dynamicLoad;
tmp4_3 = _in_a_language;
tmp4_4 = _in_a_extName;
{
modelica_metatype _txt = NULL;
modelica_string _a_language = NULL;
modelica_string _a_extName = 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;
tmpMeta1 = _txt;
goto tmp3_done;
}
case 1: {
_txt = tmp4_1;
_a_language = tmp4_3;
_a_extName = tmp4_4;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT2360);
_txt = omc_CodegenCFunctions_extFunctionName(threadData, _txt, _a_extName, _a_language);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT2362);
_txt = omc_CodegenCFunctions_extFunctionName(threadData, _txt, _a_extName, _a_language);
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT2364);
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta1;
_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 tmpMeta1;
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_metatype tmp4_2;
tmp4_1 = _in_txt;
tmp4_2 = _in_a_outVars;
{
modelica_metatype _txt = 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: {
modelica_metatype tmpMeta6;
modelica_metatype tmpMeta7;
if (listEmpty(tmp4_2)) goto tmp3_end;
tmpMeta6 = MMC_CAR(tmp4_2);
tmpMeta7 = MMC_CDR(tmp4_2);
_i_v = tmpMeta6;
_txt = tmp4_1;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1018);
_txt = omc_CodegenCFunctions_funArgName(threadData, _txt, _i_v);
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT113);
goto tmp3_done;
}
case 1: {
_txt = tmp4_1;
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT2343);
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta1;
_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 tmpMeta1;
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_metatype tmp4_2;
tmp4_1 = _in_txt;
tmp4_2 = _in_items;
{
modelica_metatype _txt = NULL;
modelica_metatype _rest = 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;
tmpMeta1 = _txt;
goto tmp3_done;
}
case 1: {
modelica_metatype tmpMeta6;
modelica_metatype tmpMeta7;
if (listEmpty(tmp4_2)) goto tmp3_end;
tmpMeta6 = MMC_CAR(tmp4_2);
tmpMeta7 = MMC_CDR(tmp4_2);
_i_var = tmpMeta6;
_rest = tmpMeta7;
_txt = tmp4_1;
_txt = omc_CodegenCFunctions_varOutput(threadData, _txt, _i_var);
_in_txt = _txt;
_in_items = _rest;
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 = tmpMeta1;
_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[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_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: {
modelica_metatype tmpMeta6;
modelica_metatype tmpMeta7;
if (listEmpty(tmp4_2)) goto tmp3_end;
tmpMeta6 = MMC_CAR(tmp4_2);
tmpMeta7 = MMC_CDR(tmp4_2);
_i_var = tmpMeta6;
_rest = tmpMeta7;
_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_LIT28, _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 tmpMeta1;
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_outVars;
tmp4_3 = _in_a_fname;
{
modelica_metatype _txt = 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 (!listEmpty(tmp4_2)) goto tmp3_end;
_txt = tmp4_1;
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT620);
goto tmp3_done;
}
case 1: {
_txt = tmp4_1;
_a_fname = tmp4_3;
_txt = omc_Tpl_writeText(threadData, _txt, _a_fname);
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT2366);
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta1;
_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[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_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: {
modelica_metatype tmpMeta6;
modelica_metatype tmpMeta7;
tmpMeta6 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 1));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta6,1,3) == 0) goto tmp3_end;
tmpMeta7 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta6), 3));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta7,6,2) == 0) goto tmp3_end;
_i_cref = tmpMeta6;
_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_LIT2367);
_a_parVarList = omc_Tpl_writeText(threadData, _a_parVarList, _a_KernelName);
_a_parVarList = omc_Tpl_writeTok(threadData, _a_parVarList, _OMC_LIT301);
_a_parVarList = omc_Tpl_writeText(threadData, _a_parVarList, _a_argNr);
_a_parVarList = omc_Tpl_writeTok(threadData, _a_parVarList, _OMC_LIT301);
_a_parVarList = omc_Tpl_writeText(threadData, _a_parVarList, _l_varName);
_a_parVarList = omc_Tpl_writeTok(threadData, _a_parVarList, _OMC_LIT2369);
_a_parVarList = omc_Tpl_writeText(threadData, _a_parVarList, _a_argNr);
_a_parVarList = omc_Tpl_writeTok(threadData, _a_parVarList, _OMC_LIT208);
_a_parVarList = omc_Tpl_writeTok(threadData, _a_parVarList, _OMC_LIT98);
_a_parVarList = omc_Tpl_writeTok(threadData, _a_parVarList, _OMC_LIT2367);
_a_parVarList = omc_Tpl_writeText(threadData, _a_parVarList, _a_KernelName);
_a_parVarList = omc_Tpl_writeTok(threadData, _a_parVarList, _OMC_LIT301);
_a_parVarList = omc_Tpl_writeText(threadData, _a_parVarList, _a_argNr);
_a_parVarList = omc_Tpl_writeTok(threadData, _a_parVarList, _OMC_LIT301);
_a_parVarList = omc_Tpl_writeText(threadData, _a_parVarList, _l_varName);
_a_parVarList = omc_Tpl_writeTok(threadData, _a_parVarList, _OMC_LIT2371);
_a_parVarList = omc_Tpl_writeText(threadData, _a_parVarList, _a_argNr);
_a_parVarList = omc_Tpl_writeTok(threadData, _a_parVarList, _OMC_LIT208);
_a_parVarList = omc_Tpl_writeTok(threadData, _a_parVarList, _OMC_LIT98);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_parVarList;
goto tmp3_done;
}
case 1: {
modelica_metatype tmpMeta8;
tmpMeta8 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 1));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta8,1,3) == 0) goto tmp3_end;
_i_cref = tmpMeta8;
_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_LIT2367);
_a_parVarList = omc_Tpl_writeText(threadData, _a_parVarList, _a_KernelName);
_a_parVarList = omc_Tpl_writeTok(threadData, _a_parVarList, _OMC_LIT301);
_a_parVarList = omc_Tpl_writeText(threadData, _a_parVarList, _a_argNr);
_a_parVarList = omc_Tpl_writeTok(threadData, _a_parVarList, _OMC_LIT301);
_a_parVarList = omc_Tpl_writeText(threadData, _a_parVarList, _l_varName);
_a_parVarList = omc_Tpl_writeTok(threadData, _a_parVarList, _OMC_LIT1984);
_a_parVarList = omc_Tpl_writeText(threadData, _a_parVarList, _a_argNr);
_a_parVarList = omc_Tpl_writeTok(threadData, _a_parVarList, _OMC_LIT208);
_a_parVarList = omc_Tpl_writeTok(threadData, _a_parVarList, _OMC_LIT98);
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[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;
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: {
modelica_metatype tmpMeta6;
modelica_metatype tmpMeta7;
modelica_metatype tmpMeta8;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,0,7) == 0) goto tmp3_end;
tmpMeta6 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
tmpMeta7 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 3));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta7,6,2) == 0) goto tmp3_end;
tmpMeta8 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 6));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta8,0,0) == 0) goto tmp3_end;
_i_var_name = tmpMeta6;
_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_LIT1401, _a_auxFunction ,&_a_auxFunction);
_a_parVarList = omc_Tpl_writeTok(threadData, _a_parVarList, _OMC_LIT2367);
_a_parVarList = omc_Tpl_writeText(threadData, _a_parVarList, _a_KernelName);
_a_parVarList = omc_Tpl_writeTok(threadData, _a_parVarList, _OMC_LIT301);
_a_parVarList = omc_Tpl_writeText(threadData, _a_parVarList, _a_argNr);
_a_parVarList = omc_Tpl_writeTok(threadData, _a_parVarList, _OMC_LIT301);
_a_parVarList = omc_Tpl_writeText(threadData, _a_parVarList, _l_varName);
_a_parVarList = omc_Tpl_writeTok(threadData, _a_parVarList, _OMC_LIT2369);
_a_parVarList = omc_Tpl_writeText(threadData, _a_parVarList, _a_argNr);
_a_parVarList = omc_Tpl_writeTok(threadData, _a_parVarList, _OMC_LIT208);
_a_parVarList = omc_Tpl_writeTok(threadData, _a_parVarList, _OMC_LIT98);
_a_parVarList = omc_Tpl_writeTok(threadData, _a_parVarList, _OMC_LIT2367);
_a_parVarList = omc_Tpl_writeText(threadData, _a_parVarList, _a_KernelName);
_a_parVarList = omc_Tpl_writeTok(threadData, _a_parVarList, _OMC_LIT301);
_a_parVarList = omc_Tpl_writeText(threadData, _a_parVarList, _a_argNr);
_a_parVarList = omc_Tpl_writeTok(threadData, _a_parVarList, _OMC_LIT301);
_a_parVarList = omc_Tpl_writeText(threadData, _a_parVarList, _l_varName);
_a_parVarList = omc_Tpl_writeTok(threadData, _a_parVarList, _OMC_LIT2371);
_a_parVarList = omc_Tpl_writeText(threadData, _a_parVarList, _a_argNr);
_a_parVarList = omc_Tpl_writeTok(threadData, _a_parVarList, _OMC_LIT208);
_a_parVarList = omc_Tpl_writeTok(threadData, _a_parVarList, _OMC_LIT98);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_parVarList;
tmpMeta[0+2] = _a_auxFunction;
goto tmp3_done;
}
case 1: {
modelica_metatype tmpMeta9;
modelica_metatype tmpMeta10;
modelica_metatype tmpMeta11;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,0,7) == 0) goto tmp3_end;
tmpMeta9 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
tmpMeta10 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 3));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta10,6,2) == 0) goto tmp3_end;
tmpMeta11 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 6));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta11,1,0) == 0) goto tmp3_end;
_i_var_name = tmpMeta9;
_i_var_ty = tmpMeta10;
_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_LIT1401, _a_auxFunction ,&_a_auxFunction);
_a_parVarList = omc_Tpl_writeTok(threadData, _a_parVarList, _OMC_LIT2373);
_a_parVarList = omc_Tpl_writeText(threadData, _a_parVarList, _a_KernelName);
_a_parVarList = omc_Tpl_writeTok(threadData, _a_parVarList, _OMC_LIT301);
_a_parVarList = omc_Tpl_writeText(threadData, _a_parVarList, _a_argNr);
_a_parVarList = omc_Tpl_writeTok(threadData, _a_parVarList, _OMC_LIT2375);
_a_parVarList = omc_CodegenCFunctions_expTypeShort(threadData, _a_parVarList, _i_var_ty);
_a_parVarList = omc_Tpl_writeTok(threadData, _a_parVarList, _OMC_LIT2377);
_a_parVarList = omc_Tpl_writeText(threadData, _a_parVarList, _l_varName);
_a_parVarList = omc_Tpl_writeTok(threadData, _a_parVarList, _OMC_LIT2379);
_a_parVarList = omc_Tpl_writeText(threadData, _a_parVarList, _a_argNr);
_a_parVarList = omc_Tpl_writeTok(threadData, _a_parVarList, _OMC_LIT208);
_a_parVarList = omc_Tpl_writeTok(threadData, _a_parVarList, _OMC_LIT98);
_a_parVarList = omc_Tpl_writeTok(threadData, _a_parVarList, _OMC_LIT2373);
_a_parVarList = omc_Tpl_writeText(threadData, _a_parVarList, _a_KernelName);
_a_parVarList = omc_Tpl_writeTok(threadData, _a_parVarList, _OMC_LIT301);
_a_parVarList = omc_Tpl_writeText(threadData, _a_parVarList, _a_argNr);
_a_parVarList = omc_Tpl_writeTok(threadData, _a_parVarList, _OMC_LIT2381);
_a_parVarList = omc_Tpl_writeText(threadData, _a_parVarList, _l_varName);
_a_parVarList = omc_Tpl_writeTok(threadData, _a_parVarList, _OMC_LIT2383);
_a_parVarList = omc_Tpl_writeText(threadData, _a_parVarList, _a_argNr);
_a_parVarList = omc_Tpl_writeTok(threadData, _a_parVarList, _OMC_LIT208);
_a_parVarList = omc_Tpl_writeTok(threadData, _a_parVarList, _OMC_LIT98);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_parVarList;
tmpMeta[0+2] = _a_auxFunction;
goto tmp3_done;
}
case 2: {
modelica_metatype tmpMeta12;
modelica_metatype tmpMeta13;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,0,7) == 0) goto tmp3_end;
tmpMeta12 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
tmpMeta13 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 5));
_i_var_name = tmpMeta12;
_i_instDims = tmpMeta13;
_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_LIT1401, _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_LIT2367);
_a_parVarList = omc_Tpl_writeText(threadData, _a_parVarList, _a_KernelName);
_a_parVarList = omc_Tpl_writeTok(threadData, _a_parVarList, _OMC_LIT301);
_a_parVarList = omc_Tpl_writeText(threadData, _a_parVarList, _a_argNr);
_a_parVarList = omc_Tpl_writeTok(threadData, _a_parVarList, _OMC_LIT301);
_a_parVarList = omc_Tpl_writeText(threadData, _a_parVarList, _a_varName);
_a_parVarList = omc_Tpl_writeTok(threadData, _a_parVarList, _OMC_LIT1984);
_a_parVarList = omc_Tpl_writeText(threadData, _a_parVarList, _a_argNr);
_a_parVarList = omc_Tpl_writeTok(threadData, _a_parVarList, _OMC_LIT208);
_a_parVarList = omc_Tpl_writeTok(threadData, _a_parVarList, _OMC_LIT98);
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_LIT2367);
_a_parVarList = omc_Tpl_writeText(threadData, _a_parVarList, _a_KernelName);
_a_parVarList = omc_Tpl_writeTok(threadData, _a_parVarList, _OMC_LIT301);
_a_parVarList = omc_Tpl_writeText(threadData, _a_parVarList, _a_argNr);
_a_parVarList = omc_Tpl_writeTok(threadData, _a_parVarList, _OMC_LIT301);
_a_parVarList = omc_Tpl_writeText(threadData, _a_parVarList, _a_varName);
_a_parVarList = omc_Tpl_writeTok(threadData, _a_parVarList, _OMC_LIT2369);
_a_parVarList = omc_Tpl_writeText(threadData, _a_parVarList, _a_argNr);
_a_parVarList = omc_Tpl_writeTok(threadData, _a_parVarList, _OMC_LIT208);
_a_parVarList = omc_Tpl_writeTok(threadData, _a_parVarList, _OMC_LIT98);
_a_parVarList = omc_Tpl_writeTok(threadData, _a_parVarList, _OMC_LIT2367);
_a_parVarList = omc_Tpl_writeText(threadData, _a_parVarList, _a_KernelName);
_a_parVarList = omc_Tpl_writeTok(threadData, _a_parVarList, _OMC_LIT301);
_a_parVarList = omc_Tpl_writeText(threadData, _a_parVarList, _a_argNr);
_a_parVarList = omc_Tpl_writeTok(threadData, _a_parVarList, _OMC_LIT301);
_a_parVarList = omc_Tpl_writeText(threadData, _a_parVarList, _a_varName);
_a_parVarList = omc_Tpl_writeTok(threadData, _a_parVarList, _OMC_LIT2371);
_a_parVarList = omc_Tpl_writeText(threadData, _a_parVarList, _a_argNr);
_a_parVarList = omc_Tpl_writeTok(threadData, _a_parVarList, _OMC_LIT208);
_a_parVarList = omc_Tpl_writeTok(threadData, _a_parVarList, _OMC_LIT98);
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 tmpMeta1;
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_metatype tmp4_2;
tmp4_1 = _in_txt;
tmp4_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 tmp4;
int tmp5;
tmp4 = 0;
for (; tmp4 < 2; tmp4++) {
switch (MMC_SWITCH_CAST(tmp4)) {
case 0: {
modelica_metatype tmpMeta6;
modelica_metatype tmpMeta7;
modelica_metatype tmpMeta8;
modelica_metatype tmpMeta9;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,2,6) == 0) goto tmp3_end;
tmpMeta6 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
tmpMeta7 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 3));
tmpMeta8 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 4));
tmpMeta9 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 5));
_i_name = tmpMeta6;
_i_outVars = tmpMeta7;
_i_functionArguments = tmpMeta8;
_i_variableDeclarations = tmpMeta9;
_txt = tmp4_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_LIT147);
_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_LIT147);
_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_LIT1967, _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_LIT1971);
_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_LIT98);
_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_LIT2387);
_txt = omc_Tpl_pushBlock(threadData, _txt, _OMC_LIT105);
_txt = omc_Tpl_writeText(threadData, _txt, _l_varDecls);
_txt = omc_Tpl_softNewLine(threadData, _txt);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT2389);
_txt = omc_Tpl_writeText(threadData, _txt, _l_varInits);
_txt = omc_Tpl_softNewLine(threadData, _txt);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT2393);
_txt = omc_Tpl_writeText(threadData, _txt, _l_fname);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT2396);
_txt = omc_Tpl_writeText(threadData, _txt, _l_kernel__arg__number);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT204);
_txt = omc_Tpl_writeText(threadData, _txt, _l_cl__kernelVar);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT2398);
_txt = omc_Tpl_writeText(threadData, _txt, _l_fname);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT780);
_txt = omc_Tpl_writeText(threadData, _txt, _l_kernelArgSets);
_txt = omc_Tpl_softNewLine(threadData, _txt);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT2399);
_txt = omc_Tpl_writeText(threadData, _txt, _l_cl__kernelVar);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1993);
_txt = omc_Tpl_writeText(threadData, _txt, _l_cl__kernelVar);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT2403);
_txt = omc_Tpl_writeText(threadData, _txt, _l_fname);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT2409);
_txt = omc_Tpl_writeText(threadData, _txt, _l_outVarAssign);
_txt = omc_Tpl_softNewLine(threadData, _txt);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT2415);
_txt = omc_Tpl_writeText(threadData, _txt, _l_varFrees);
_txt = omc_Tpl_softNewLine(threadData, _txt);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT2421);
_txt = omc_CodegenCFunctions_fun__281(threadData, _txt, _i_outVars);
_txt = omc_Tpl_softNewLine(threadData, _txt);
_txt = omc_Tpl_popBlock(threadData, _txt);
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT2423);
goto tmp3_done;
}
case 1: {
_txt = tmp4_1;
tmpMeta1 = _txt;
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta1;
_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 tmpMeta1;
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_metatype tmp4_2;
tmp4_1 = _in_txt;
tmp4_2 = _in_a_outVars;
{
modelica_metatype _txt = 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: {
modelica_metatype tmpMeta6;
modelica_metatype tmpMeta7;
if (listEmpty(tmp4_2)) goto tmp3_end;
tmpMeta6 = MMC_CAR(tmp4_2);
tmpMeta7 = MMC_CDR(tmp4_2);
_i_var = tmpMeta6;
_txt = tmp4_1;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1018);
_txt = omc_CodegenCFunctions_funArgName(threadData, _txt, _i_var);
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT113);
goto tmp3_done;
}
case 1: {
_txt = tmp4_1;
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT2343);
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta1;
_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[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_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: {
modelica_metatype tmpMeta6;
modelica_metatype tmpMeta7;
if (listEmpty(tmp4_2)) goto tmp3_end;
tmpMeta6 = MMC_CAR(tmp4_2);
tmpMeta7 = MMC_CDR(tmp4_2);
_i_var = tmpMeta6;
_rest = tmpMeta7;
_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[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_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: {
modelica_metatype tmpMeta6;
modelica_metatype tmpMeta7;
if (listEmpty(tmp4_2)) goto tmp3_end;
tmpMeta6 = MMC_CAR(tmp4_2);
tmpMeta7 = MMC_CDR(tmp4_2);
_i_var = tmpMeta6;
_rest = tmpMeta7;
_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 tmpMeta1;
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_metatype tmp4_2;
tmp4_1 = _in_txt;
tmp4_2 = _in_items;
{
modelica_metatype _txt = NULL;
modelica_metatype _rest = 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;
tmpMeta1 = _txt;
goto tmp3_done;
}
case 1: {
modelica_metatype tmpMeta6;
modelica_metatype tmpMeta7;
if (listEmpty(tmp4_2)) goto tmp3_end;
tmpMeta6 = MMC_CAR(tmp4_2);
tmpMeta7 = MMC_CDR(tmp4_2);
_i_var = tmpMeta6;
_rest = tmpMeta7;
_txt = tmp4_1;
_txt = omc_CodegenCFunctions_varOutput(threadData, _txt, _i_var);
_in_txt = _txt;
_in_items = _rest;
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 = tmpMeta1;
_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[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_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: {
modelica_metatype tmpMeta6;
modelica_metatype tmpMeta7;
if (listEmpty(tmp4_2)) goto tmp3_end;
tmpMeta6 = MMC_CAR(tmp4_2);
tmpMeta7 = MMC_CDR(tmp4_2);
_i_var = tmpMeta6;
_rest = tmpMeta7;
_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_LIT28, _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[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_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: {
modelica_metatype tmpMeta6;
modelica_metatype tmpMeta7;
if (listEmpty(tmp4_2)) goto tmp3_end;
tmpMeta6 = MMC_CAR(tmp4_2);
tmpMeta7 = MMC_CDR(tmp4_2);
_i_var = tmpMeta6;
_rest = tmpMeta7;
_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_LIT28, _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 tmpMeta1;
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_metatype tmp4_2;
tmp4_1 = _in_txt;
tmp4_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 tmp4;
int tmp5;
tmp4 = 0;
for (; tmp4 < 2; tmp4++) {
switch (MMC_SWITCH_CAST(tmp4)) {
case 0: {
modelica_metatype tmpMeta6;
modelica_metatype tmpMeta7;
modelica_metatype tmpMeta8;
modelica_metatype tmpMeta9;
modelica_metatype tmpMeta10;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,1,6) == 0) goto tmp3_end;
tmpMeta6 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
tmpMeta7 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 3));
tmpMeta8 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 4));
tmpMeta9 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 5));
tmpMeta10 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 6));
_i_name = tmpMeta6;
_i_outVars = tmpMeta7;
_i_functionArguments = tmpMeta8;
_i_variableDeclarations = tmpMeta9;
_i_body = tmpMeta10;
_txt = tmp4_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_LIT102);
_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_LIT154);
_txt = omc_Tpl_pushBlock(threadData, _txt, _OMC_LIT105);
_txt = omc_Tpl_writeText(threadData, _txt, _l_varDecls);
_txt = omc_Tpl_softNewLine(threadData, _txt);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT98);
_txt = omc_Tpl_writeText(threadData, _txt, _l_varInits);
_txt = omc_Tpl_softNewLine(threadData, _txt);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT98);
_txt = omc_Tpl_writeText(threadData, _txt, _l_bodyPart);
_txt = omc_Tpl_softNewLine(threadData, _txt);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT98);
_txt = omc_Tpl_writeText(threadData, _txt, _l_outVarAssign);
_txt = omc_Tpl_softNewLine(threadData, _txt);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT98);
_txt = omc_CodegenCFunctions_fun__273(threadData, _txt, _i_outVars);
_txt = omc_Tpl_softNewLine(threadData, _txt);
_txt = omc_Tpl_popBlock(threadData, _txt);
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT2425);
goto tmp3_done;
}
case 1: {
_txt = tmp4_1;
tmpMeta1 = _txt;
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta1;
_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 tmpMeta1;
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_metatype tmp4_2;
tmp4_1 = _in_txt;
tmp4_2 = _in_a_outVars;
{
modelica_metatype _txt = 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: {
modelica_metatype tmpMeta6;
modelica_metatype tmpMeta7;
if (listEmpty(tmp4_2)) goto tmp3_end;
tmpMeta6 = MMC_CAR(tmp4_2);
tmpMeta7 = MMC_CDR(tmp4_2);
_i_v = tmpMeta6;
_txt = tmp4_1;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1018);
_txt = omc_CodegenCFunctions_funArgName(threadData, _txt, _i_v);
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT113);
goto tmp3_done;
}
case 1: {
_txt = tmp4_1;
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT2343);
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta1;
_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 tmpMeta1;
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_metatype tmp4_2;
tmp4_1 = _in_txt;
tmp4_2 = _in_items;
{
modelica_metatype _txt = NULL;
modelica_metatype _rest = 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;
tmpMeta1 = _txt;
goto tmp3_done;
}
case 1: {
modelica_metatype tmpMeta6;
modelica_metatype tmpMeta7;
if (listEmpty(tmp4_2)) goto tmp3_end;
tmpMeta6 = MMC_CAR(tmp4_2);
tmpMeta7 = MMC_CDR(tmp4_2);
_i_var = tmpMeta6;
_rest = tmpMeta7;
_txt = tmp4_1;
_txt = omc_CodegenCFunctions_varOutput(threadData, _txt, _i_var);
_in_txt = _txt;
_in_items = _rest;
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 = tmpMeta1;
_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[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_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: {
modelica_metatype tmpMeta6;
modelica_metatype tmpMeta7;
if (listEmpty(tmp4_2)) goto tmp3_end;
tmpMeta6 = MMC_CAR(tmp4_2);
tmpMeta7 = MMC_CDR(tmp4_2);
_i_var = tmpMeta6;
_rest = tmpMeta7;
_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_LIT28, _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 tmpMeta1;
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_metatype tmp4_2;
tmp4_1 = _in_txt;
tmp4_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 tmp4;
int tmp5;
tmp4 = 0;
for (; tmp4 < 2; tmp4++) {
switch (MMC_SWITCH_CAST(tmp4)) {
case 0: {
modelica_metatype tmpMeta6;
modelica_metatype tmpMeta7;
modelica_metatype tmpMeta8;
modelica_metatype tmpMeta9;
modelica_metatype tmpMeta10;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,2,6) == 0) goto tmp3_end;
tmpMeta6 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
tmpMeta7 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 3));
tmpMeta8 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 4));
tmpMeta9 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 5));
tmpMeta10 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 6));
_i_name = tmpMeta6;
_i_outVars = tmpMeta7;
_i_functionArguments = tmpMeta8;
_i_variableDeclarations = tmpMeta9;
_i_body = tmpMeta10;
_txt = tmp4_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_LIT102);
_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_LIT2431);
_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_LIT2435);
_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_LIT2439);
_txt = omc_Tpl_writeText(threadData, _txt, _l_fname);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT2440);
_txt = omc_Tpl_pushBlock(threadData, _txt, _OMC_LIT105);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT2442);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT2442);
_txt = omc_Tpl_writeText(threadData, _txt, _l_argStr);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT2016);
_txt = omc_Tpl_popBlock(threadData, _txt);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT2446);
_txt = omc_Tpl_pushBlock(threadData, _txt, _OMC_LIT105);
_txt = omc_Tpl_writeText(threadData, _txt, _l_reconstrucedArrays);
_txt = omc_Tpl_softNewLine(threadData, _txt);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT2450);
_txt = omc_Tpl_writeText(threadData, _txt, _l_varDecls);
_txt = omc_Tpl_softNewLine(threadData, _txt);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT2454);
_txt = omc_Tpl_writeText(threadData, _txt, _l_varInits);
_txt = omc_Tpl_softNewLine(threadData, _txt);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT2456);
_txt = omc_Tpl_writeText(threadData, _txt, _l_bodyPart);
_txt = omc_Tpl_softNewLine(threadData, _txt);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT2460);
_txt = omc_Tpl_writeText(threadData, _txt, _l_varFrees);
_txt = omc_Tpl_softNewLine(threadData, _txt);
_txt = omc_Tpl_popBlock(threadData, _txt);
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT2423);
goto tmp3_done;
}
case 1: {
_txt = tmp4_1;
tmpMeta1 = _txt;
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta1;
_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[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_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: {
modelica_metatype tmpMeta6;
modelica_metatype tmpMeta7;
if (listEmpty(tmp4_2)) goto tmp3_end;
tmpMeta6 = MMC_CAR(tmp4_2);
tmpMeta7 = MMC_CDR(tmp4_2);
_i_var = tmpMeta6;
_rest = tmpMeta7;
_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[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_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: {
modelica_metatype tmpMeta6;
modelica_metatype tmpMeta7;
if (listEmpty(tmp4_2)) goto tmp3_end;
tmpMeta6 = MMC_CAR(tmp4_2);
tmpMeta7 = MMC_CDR(tmp4_2);
_i_var = tmpMeta6;
_rest = tmpMeta7;
_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[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_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: {
modelica_metatype tmpMeta6;
modelica_metatype tmpMeta7;
if (listEmpty(tmp4_2)) goto tmp3_end;
tmpMeta6 = MMC_CAR(tmp4_2);
tmpMeta7 = MMC_CDR(tmp4_2);
_i_var = tmpMeta6;
_rest = tmpMeta7;
_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 tmpMeta1;
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_metatype tmp4_2;
tmp4_1 = _in_txt;
tmp4_2 = _in_items;
{
modelica_metatype _txt = NULL;
modelica_metatype _rest = 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;
tmpMeta1 = _txt;
goto tmp3_done;
}
case 1: {
modelica_metatype tmpMeta6;
modelica_metatype tmpMeta7;
if (listEmpty(tmp4_2)) goto tmp3_end;
tmpMeta6 = MMC_CAR(tmp4_2);
tmpMeta7 = MMC_CDR(tmp4_2);
_i_var = tmpMeta6;
_rest = tmpMeta7;
_txt = tmp4_1;
_txt = omc_CodegenCFunctions_funArgDefinitionKernelFunctionBody(threadData, _txt, _i_var);
_txt = omc_Tpl_nextIter(threadData, _txt);
_in_txt = _txt;
_in_items = _rest;
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 = tmpMeta1;
_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[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_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: {
modelica_metatype tmpMeta6;
modelica_metatype tmpMeta7;
if (listEmpty(tmp4_2)) goto tmp3_end;
tmpMeta6 = MMC_CAR(tmp4_2);
tmpMeta7 = MMC_CDR(tmp4_2);
_i_var = tmpMeta6;
_rest = tmpMeta7;
_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_LIT28, _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_LIT2465);
_out_txt = omc_Tpl_writeText(threadData, _out_txt, _a_fname);
_out_txt = omc_Tpl_writeTok(threadData, _out_txt, _OMC_LIT2471);
_out_txt = omc_Tpl_pushBlock(threadData, _out_txt, _OMC_LIT105);
_out_txt = omc_Tpl_pushIter(threadData, _out_txt, _OMC_LIT104);
_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_LIT104);
_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_LIT104);
_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_LIT2473);
_out_txt = omc_CodegenCFunctions_fun__257(threadData, _out_txt, _a_outVars);
_out_txt = omc_Tpl_writeTok(threadData, _out_txt, _OMC_LIT643);
_out_txt = omc_Tpl_writeText(threadData, _out_txt, _a_fname);
_out_txt = omc_Tpl_writeTok(threadData, _out_txt, _OMC_LIT1324);
_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_LIT2477);
_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_LIT2047);
_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_LIT2482);
_out_txt = omc_Tpl_popBlock(threadData, _out_txt);
_out_txt = omc_Tpl_writeTok(threadData, _out_txt, _OMC_LIT2514);
_out_txt = omc_Tpl_pushBlock(threadData, _out_txt, _OMC_LIT105);
_txt_2 = omc_Tpl_writeTok(threadData, _OMC_LIT20, _OMC_LIT643);
_txt_2 = omc_Tpl_writeText(threadData, _txt_2, _a_fname);
_txt_2 = omc_Tpl_writeTok(threadData, _txt_2, _OMC_LIT2516);
_out_txt = omc_CodegenCFunctions_mainTop(threadData, _out_txt, _txt_2, _OMC_LIT2517 ,&_txt_2);
_out_txt = omc_Tpl_softNewLine(threadData, _out_txt);
_out_txt = omc_Tpl_writeTok(threadData, _out_txt, _OMC_LIT2423);
_ret_3 = omc_Flags_isSet(threadData, _OMC_LIT2521);
_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_LIT2525);
_out_txt = omc_Tpl_popBlock(threadData, _out_txt);
_out_txt = omc_Tpl_writeTok(threadData, _out_txt, _OMC_LIT2529);
_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 tmpMeta1;
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_boolean tmp4_2;
tmp4_1 = _in_txt;
tmp4_2 = _in_mArg;
{
modelica_metatype _txt = 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;
tmpMeta1 = _txt;
goto tmp3_done;
}
case 1: {
_txt = tmp4_1;
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT2531);
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta1;
_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 tmpMeta1;
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_metatype tmp4_2;
tmp4_1 = _in_txt;
tmp4_2 = _in_items;
{
modelica_metatype _txt = NULL;
modelica_metatype _rest = 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;
tmpMeta1 = _txt;
goto tmp3_done;
}
case 1: {
modelica_metatype tmpMeta6;
modelica_metatype tmpMeta7;
if (listEmpty(tmp4_2)) goto tmp3_end;
tmpMeta6 = MMC_CAR(tmp4_2);
tmpMeta7 = MMC_CDR(tmp4_2);
_i_var = tmpMeta6;
_rest = tmpMeta7;
_txt = tmp4_1;
_txt = omc_CodegenCFunctions_writeOutVar(threadData, _txt, _i_var);
_txt = omc_Tpl_nextIter(threadData, _txt);
_in_txt = _txt;
_in_items = _rest;
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 = tmpMeta1;
_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 tmpMeta1;
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_metatype tmp4_2;
tmp4_1 = _in_txt;
tmp4_2 = _in_a_outVars;
{
modelica_metatype _txt = NULL;
modelica_metatype _i_first = NULL;
volatile mmc_switch_type tmp4;
int tmp5;
tmp4 = 0;
for (; tmp4 < 2; tmp4++) {
switch (MMC_SWITCH_CAST(tmp4)) {
case 0: {
modelica_metatype tmpMeta6;
modelica_metatype tmpMeta7;
if (listEmpty(tmp4_2)) goto tmp3_end;
tmpMeta6 = MMC_CAR(tmp4_2);
tmpMeta7 = MMC_CDR(tmp4_2);
_i_first = tmpMeta6;
_txt = tmp4_1;
tmpMeta1 = omc_CodegenCFunctions_writeOutVar(threadData, _txt, _i_first);
goto tmp3_done;
}
case 1: {
_txt = tmp4_1;
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT2533);
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta1;
_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 tmpMeta1;
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_metatype tmp4_2;
tmp4_1 = _in_txt;
tmp4_2 = _in_items;
{
modelica_metatype _txt = NULL;
modelica_metatype _rest = 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;
tmpMeta1 = _txt;
goto tmp3_done;
}
case 1: {
modelica_metatype tmpMeta6;
modelica_metatype tmpMeta7;
if (listEmpty(tmp4_2)) goto tmp3_end;
tmpMeta6 = MMC_CAR(tmp4_2);
tmpMeta7 = MMC_CDR(tmp4_2);
_i_var = tmpMeta6;
_rest = tmpMeta7;
_txt = tmp4_1;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT131);
_txt = omc_CodegenCFunctions_funArgName(threadData, _txt, _i_var);
_in_txt = _txt;
_in_items = _rest;
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 = tmpMeta1;
_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 tmpMeta1;
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_metatype tmp4_2;
tmp4_1 = _in_txt;
tmp4_2 = _in_items;
{
modelica_metatype _txt = NULL;
modelica_metatype _rest = 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;
tmpMeta1 = _txt;
goto tmp3_done;
}
case 1: {
modelica_metatype tmpMeta6;
modelica_metatype tmpMeta7;
if (listEmpty(tmp4_2)) goto tmp3_end;
tmpMeta6 = MMC_CAR(tmp4_2);
tmpMeta7 = MMC_CDR(tmp4_2);
_i_var = tmpMeta6;
_rest = tmpMeta7;
_txt = tmp4_1;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT301);
_txt = omc_CodegenCFunctions_funArgName(threadData, _txt, _i_var);
_in_txt = _txt;
_in_items = _rest;
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 = tmpMeta1;
_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 tmpMeta1;
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_metatype tmp4_2;
tmp4_1 = _in_txt;
tmp4_2 = _in_a_outVars;
{
modelica_metatype _txt = 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: {
modelica_metatype tmpMeta6;
modelica_metatype tmpMeta7;
if (listEmpty(tmp4_2)) goto tmp3_end;
tmpMeta6 = MMC_CAR(tmp4_2);
tmpMeta7 = MMC_CDR(tmp4_2);
_i_v = tmpMeta6;
_txt = tmp4_1;
_txt = omc_CodegenCFunctions_funArgName(threadData, _txt, _i_v);
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT129);
goto tmp3_done;
}
case 1: {
_txt = tmp4_1;
tmpMeta1 = _txt;
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta1;
_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 tmpMeta1;
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_metatype tmp4_2;
tmp4_1 = _in_txt;
tmp4_2 = _in_items;
{
modelica_metatype _txt = NULL;
modelica_metatype _rest = 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;
tmpMeta1 = _txt;
goto tmp3_done;
}
case 1: {
modelica_metatype tmpMeta6;
modelica_metatype tmpMeta7;
if (listEmpty(tmp4_2)) goto tmp3_end;
tmpMeta6 = MMC_CAR(tmp4_2);
tmpMeta7 = MMC_CDR(tmp4_2);
_i_arg = tmpMeta6;
_rest = tmpMeta7;
_txt = tmp4_1;
_txt = omc_CodegenCFunctions_readInVar(threadData, _txt, _i_arg);
_txt = omc_Tpl_nextIter(threadData, _txt);
_in_txt = _txt;
_in_items = _rest;
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 = tmpMeta1;
_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 tmpMeta1;
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_metatype tmp4_2;
tmp4_1 = _in_txt;
tmp4_2 = _in_items;
{
modelica_metatype _txt = NULL;
modelica_metatype _rest = 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;
tmpMeta1 = _txt;
goto tmp3_done;
}
case 1: {
modelica_metatype tmpMeta6;
modelica_metatype tmpMeta7;
if (listEmpty(tmp4_2)) goto tmp3_end;
tmpMeta6 = MMC_CAR(tmp4_2);
tmpMeta7 = MMC_CDR(tmp4_2);
_i_var = tmpMeta6;
_rest = tmpMeta7;
_txt = tmp4_1;
_txt = omc_CodegenCFunctions_funArgDefinition(threadData, _txt, _i_var);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT113);
_txt = omc_Tpl_nextIter(threadData, _txt);
_in_txt = _txt;
_in_items = _rest;
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 = tmpMeta1;
_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 tmpMeta1;
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_metatype tmp4_2;
tmp4_1 = _in_txt;
tmp4_2 = _in_items;
{
modelica_metatype _txt = NULL;
modelica_metatype _rest = 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;
tmpMeta1 = _txt;
goto tmp3_done;
}
case 1: {
modelica_metatype tmpMeta6;
modelica_metatype tmpMeta7;
if (listEmpty(tmp4_2)) goto tmp3_end;
tmpMeta6 = MMC_CAR(tmp4_2);
tmpMeta7 = MMC_CDR(tmp4_2);
_i_var = tmpMeta6;
_rest = tmpMeta7;
_txt = tmp4_1;
_txt = omc_CodegenCFunctions_funArgDefinition(threadData, _txt, _i_var);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT113);
_txt = omc_Tpl_nextIter(threadData, _txt);
_in_txt = _txt;
_in_items = _rest;
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 = tmpMeta1;
_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 tmpMeta1;
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_metatype tmp4_2;modelica_boolean tmp4_3;modelica_boolean tmp4_4;
tmp4_1 = _in_txt;
tmp4_2 = _in_a_fn;
tmp4_3 = _in_a_inFunc;
tmp4_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 tmp4;
int tmp5;
tmp4 = 0;
for (; tmp4 < 2; tmp4++) {
switch (MMC_SWITCH_CAST(tmp4)) {
case 0: {
modelica_metatype tmpMeta6;
modelica_metatype tmpMeta7;
modelica_metatype tmpMeta8;
modelica_metatype tmpMeta9;
modelica_metatype tmpMeta10;
modelica_metatype tmpMeta11;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,0,7) == 0) goto tmp3_end;
tmpMeta6 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
tmpMeta7 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 3));
tmpMeta8 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 4));
tmpMeta9 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 5));
tmpMeta10 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 6));
tmpMeta11 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 7));
_i_fn = tmp4_2;
_i_name = tmpMeta6;
_i_outVars = tmpMeta7;
_i_functionArguments = tmpMeta8;
_i_variableDeclarations = tmpMeta9;
_i_body = tmpMeta10;
_i_visibility = tmpMeta11;
_txt = tmp4_1;
_a_inFunc = tmp4_3;
_a_isSimulation = tmp4_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_LIT147);
_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_LIT104);
_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_LIT154);
_txt = omc_Tpl_pushBlock(threadData, _txt, _OMC_LIT105);
_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_LIT2535);
_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_LIT2537);
_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_LIT167);
_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);
tmpMeta1 = omc_Tpl_writeText(threadData, _txt, _l_boxedFn);
goto tmp3_done;
}
case 1: {
_txt = tmp4_1;
tmpMeta1 = _txt;
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta1;
_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 tmpMeta1;
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_metatype tmp4_2;
tmp4_1 = _in_txt;
tmp4_2 = _in_a_outVars;
{
modelica_metatype _txt = 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: {
modelica_metatype tmpMeta6;
modelica_metatype tmpMeta7;
if (listEmpty(tmp4_2)) goto tmp3_end;
tmpMeta6 = MMC_CAR(tmp4_2);
tmpMeta7 = MMC_CDR(tmp4_2);
_i_v = tmpMeta6;
_txt = tmp4_1;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1018);
_txt = omc_CodegenCFunctions_funArgName(threadData, _txt, _i_v);
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT113);
goto tmp3_done;
}
case 1: {
_txt = tmp4_1;
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT2343);
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta1;
_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 tmpMeta1;
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_varFrees;
{
modelica_metatype _txt = NULL;
modelica_metatype _a_varFrees = 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;
tmpMeta1 = _txt;
goto tmp3_done;
}
case 1: {
_txt = tmp4_1;
_a_varFrees = tmp4_3;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT2539);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT98);
tmpMeta1 = omc_Tpl_writeText(threadData, _txt, _a_varFrees);
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta1;
_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 tmpMeta1;
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_boolean tmp4_2;
tmp4_1 = _in_txt;
tmp4_2 = _in_mArg;
{
modelica_metatype _txt = 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;
tmpMeta1 = _txt;
goto tmp3_done;
}
case 1: {
_txt = tmp4_1;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT2541);
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT98);
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta1;
_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 tmpMeta1;
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_metatype tmp4_2;
tmp4_1 = _in_txt;
tmp4_2 = _in_a_visibility;
{
modelica_metatype _txt = 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;
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT2543);
goto tmp3_done;
}
case 1: {
_txt = tmp4_1;
tmpMeta1 = _txt;
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta1;
_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 tmpMeta1;
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_boolean tmp4_2;modelica_boolean tmp4_3;modelica_metatype tmp4_4;
tmp4_1 = _in_txt;
tmp4_2 = _in_mArg;
tmp4_3 = _in_a_isSimulation;
tmp4_4 = _in_a_fn;
{
modelica_metatype _txt = NULL;
modelica_boolean _a_isSimulation;
modelica_metatype _a_fn = 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_isSimulation = tmp4_3;
_a_fn = tmp4_4;
tmpMeta1 = omc_CodegenCFunctions_functionBodyBoxed(threadData, _txt, _a_fn, _a_isSimulation);
goto tmp3_done;
}
case 1: {
_txt = tmp4_1;
tmpMeta1 = _txt;
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta1;
_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[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_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: {
modelica_metatype tmpMeta6;
modelica_metatype tmpMeta7;
modelica_metatype tmpMeta8;
modelica_metatype tmpMeta9;
modelica_metatype tmpMeta10;
modelica_metatype tmpMeta11;
if (listEmpty(tmp4_2)) goto tmp3_end;
tmpMeta6 = MMC_CAR(tmp4_2);
tmpMeta7 = MMC_CDR(tmp4_2);
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta6,0,7) == 0) goto tmp3_end;
tmpMeta8 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta6), 2));
tmpMeta9 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta6), 3));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta9,9,3) == 0) goto tmp3_end;
tmpMeta10 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta9), 2));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta10,17,1) == 0) goto tmp3_end;
tmpMeta11 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta10), 2));
_i_var_name = tmpMeta8;
_i_path__ext = tmpMeta11;
_rest = tmpMeta7;
_txt = tmp4_1;
_a_auxFunction = tmp4_3;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT643);
_txt = omc_CodegenUtil_underscorePath(threadData, _txt, _i_path__ext);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT2545);
_txt = omc_CodegenCFunctions_contextCrefNoPrevExp(threadData, _txt, _i_var_name, _OMC_LIT1401, _a_auxFunction ,&_a_auxFunction);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT299);
_txt = omc_Tpl_nextIter(threadData, _txt);
_in_txt = _txt;
_in_items = _rest;
_in_a_auxFunction = _a_auxFunction;
goto _tailrecursive;
goto tmp3_done;
}
case 2: {
modelica_metatype tmpMeta12;
modelica_metatype tmpMeta13;
if (listEmpty(tmp4_2)) goto tmp3_end;
tmpMeta12 = MMC_CAR(tmp4_2);
tmpMeta13 = MMC_CDR(tmp4_2);
_rest = tmpMeta13;
_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 tmpMeta1;
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_metatype tmp4_2;
tmp4_1 = _in_txt;
tmp4_2 = _in_items;
{
modelica_metatype _txt = NULL;
modelica_metatype _rest = 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;
tmpMeta1 = _txt;
goto tmp3_done;
}
case 1: {
modelica_metatype tmpMeta6;
modelica_metatype tmpMeta7;
if (listEmpty(tmp4_2)) goto tmp3_end;
tmpMeta6 = MMC_CAR(tmp4_2);
tmpMeta7 = MMC_CDR(tmp4_2);
_i_var = tmpMeta6;
_rest = tmpMeta7;
_txt = tmp4_1;
_txt = omc_CodegenCFunctions_varOutput(threadData, _txt, _i_var);
_in_txt = _txt;
_in_items = _rest;
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 = tmpMeta1;
_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[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_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: {
modelica_metatype tmpMeta6;
modelica_metatype tmpMeta7;
if (listEmpty(tmp4_2)) goto tmp3_end;
tmpMeta6 = MMC_CAR(tmp4_2);
tmpMeta7 = MMC_CDR(tmp4_2);
_i_var = tmpMeta6;
_rest = tmpMeta7;
_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_LIT28, _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_LIT2547);
_a_varDecls = omc_Tpl_writeTok(threadData, _a_varDecls, _OMC_LIT98);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT2549);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT98);
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 tmpMeta1;
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_metatype tmp4_2;
tmp4_1 = _in_txt;
tmp4_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 tmp4;
int tmp5;
tmp4 = 0;
for (; tmp4 < 2; tmp4++) {
switch (MMC_SWITCH_CAST(tmp4)) {
case 0: {
modelica_metatype tmpMeta6;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,0,7) == 0) goto tmp3_end;
tmpMeta6 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 6));
_i_body = tmpMeta6;
_txt = tmp4_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);
tmpMeta1 = omc_Tpl_writeText(threadData, _txt, _l_bodyPart);
goto tmp3_done;
}
case 1: {
_txt = tmp4_1;
tmpMeta1 = _txt;
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta1;
_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 tmpMeta1;
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_metatype tmp4_2;modelica_boolean tmp4_3;
tmp4_1 = _in_txt;
tmp4_2 = _in_a_fn;
tmp4_3 = _in_a_inFunc;
{
modelica_metatype _txt = NULL;
modelica_boolean _a_inFunc;
modelica_metatype _i_fn = 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;
_i_fn = tmp4_2;
_txt = tmp4_1;
_a_inFunc = tmp4_3;
tmpMeta1 = omc_CodegenCFunctions_extractParforBodies(threadData, _txt, _i_fn, _a_inFunc);
goto tmp3_done;
}
case 1: {
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,2,6) == 0) goto tmp3_end;
_i_fn = tmp4_2;
_txt = tmp4_1;
_a_inFunc = tmp4_3;
tmpMeta1 = omc_CodegenCFunctions_functionBodyKernelFunction(threadData, _txt, _i_fn, _a_inFunc);
goto tmp3_done;
}
case 2: {
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,1,6) == 0) goto tmp3_end;
_i_fn = tmp4_2;
_txt = tmp4_1;
_a_inFunc = tmp4_3;
tmpMeta1 = omc_CodegenCFunctions_functionBodyParallelFunction(threadData, _txt, _i_fn, _a_inFunc);
goto tmp3_done;
}
case 3: {
_txt = tmp4_1;
tmpMeta1 = _txt;
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta1;
_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 tmpMeta1;
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_metatype tmp4_2;modelica_boolean tmp4_3;modelica_boolean tmp4_4;
tmp4_1 = _in_txt;
tmp4_2 = _in_a_fn;
tmp4_3 = _in_a_inFunc;
tmp4_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 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;
_i_fn = tmp4_2;
_txt = tmp4_1;
_a_inFunc = tmp4_3;
_a_isSimulation = tmp4_4;
tmpMeta1 = omc_CodegenCFunctions_functionBodyRegularFunction(threadData, _txt, _i_fn, _a_inFunc, _a_isSimulation);
goto tmp3_done;
}
case 1: {
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,2,6) == 0) goto tmp3_end;
_i_fn = tmp4_2;
_txt = tmp4_1;
_a_inFunc = tmp4_3;
tmpMeta1 = omc_CodegenCFunctions_functionBodyKernelFunctionInterface(threadData, _txt, _i_fn, _a_inFunc);
goto tmp3_done;
}
case 2: {
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,3,14) == 0) goto tmp3_end;
_i_fn = tmp4_2;
_txt = tmp4_1;
_a_inFunc = tmp4_3;
_a_isSimulation = tmp4_4;
tmpMeta1 = omc_CodegenCFunctions_functionBodyExternalFunction(threadData, _txt, _i_fn, _a_inFunc, _a_isSimulation);
goto tmp3_done;
}
case 3: {
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,4,5) == 0) goto tmp3_end;
_i_fn = tmp4_2;
_txt = tmp4_1;
_a_isSimulation = tmp4_4;
tmpMeta1 = omc_CodegenCFunctions_functionBodyRecordConstructor(threadData, _txt, _i_fn, _a_isSimulation);
goto tmp3_done;
}
case 4: {
_txt = tmp4_1;
tmpMeta1 = _txt;
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta1;
_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_LIT104);
_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 tmpMeta1;
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_metatype tmp4_2;
tmp4_1 = _in_txt;
tmp4_2 = _in_items;
{
modelica_metatype _txt = NULL;
modelica_metatype _rest = 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 (!listEmpty(tmp4_2)) goto tmp3_end;
_txt = tmp4_1;
tmpMeta1 = _txt;
goto tmp3_done;
}
case 1: {
modelica_metatype tmpMeta6;
modelica_metatype tmpMeta7;
if (listEmpty(tmp4_2)) goto tmp3_end;
tmpMeta6 = MMC_CAR(tmp4_2);
tmpMeta7 = MMC_CDR(tmp4_2);
_i_fn = tmpMeta6;
_rest = tmpMeta7;
_txt = tmp4_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 tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta1;
_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_LIT104);
_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 tmpMeta1;
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_metatype tmp4_2;modelica_boolean tmp4_3;
tmp4_1 = _in_txt;
tmp4_2 = _in_items;
tmp4_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 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;
tmpMeta1 = _txt;
goto tmp3_done;
}
case 1: {
modelica_metatype tmpMeta6;
modelica_metatype tmpMeta7;
if (listEmpty(tmp4_2)) goto tmp3_end;
tmpMeta6 = MMC_CAR(tmp4_2);
tmpMeta7 = MMC_CDR(tmp4_2);
_i_fn = tmpMeta6;
_rest = tmpMeta7;
_txt = tmp4_1;
_a_isSimulation = tmp4_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 tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta1;
_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 tmpMeta1;
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_metatype tmp4_2;modelica_boolean tmp4_3;
tmp4_1 = _in_txt;
tmp4_2 = _in_a_fn;
tmp4_3 = _in_a_dotPath;
{
modelica_metatype _txt = NULL;
modelica_boolean _a_dotPath;
modelica_metatype _i_name = NULL;
int tmp4;
{
switch (MMC_SWITCH_CAST(valueConstructor(tmp4_2))) {
case 3: {
modelica_metatype tmpMeta5;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,0,7) == 0) goto tmp3_end;
tmpMeta5 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
_i_name = tmpMeta5;
_txt = tmp4_1;
_a_dotPath = tmp4_3;
tmpMeta1 = omc_CodegenCFunctions_fun__230(threadData, _txt, _a_dotPath, _i_name);
goto tmp3_done;
}
case 6: {
modelica_metatype tmpMeta6;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,3,14) == 0) goto tmp3_end;
tmpMeta6 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
_i_name = tmpMeta6;
_txt = tmp4_1;
_a_dotPath = tmp4_3;
tmpMeta1 = omc_CodegenCFunctions_fun__231(threadData, _txt, _a_dotPath, _i_name);
goto tmp3_done;
}
case 7: {
modelica_metatype tmpMeta7;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,4,5) == 0) goto tmp3_end;
tmpMeta7 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
_i_name = tmpMeta7;
_txt = tmp4_1;
_a_dotPath = tmp4_3;
tmpMeta1 = omc_CodegenCFunctions_fun__232(threadData, _txt, _a_dotPath, _i_name);
goto tmp3_done;
}
default:
tmp3_default: OMC_LABEL_UNUSED; {
_txt = tmp4_1;
tmpMeta1 = _txt;
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta1;
_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 tmpMeta1;
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_a_dotPath;
tmp4_3 = _in_a_name;
{
modelica_metatype _txt = NULL;
modelica_metatype _a_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_name = tmp4_3;
tmpMeta1 = omc_CodegenUtil_underscorePath(threadData, _txt, _a_name);
goto tmp3_done;
}
case 1: {
_txt = tmp4_1;
_a_name = tmp4_3;
tmpMeta1 = omc_CodegenUtil_dotPath(threadData, _txt, _a_name);
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta1;
_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 tmpMeta1;
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_a_dotPath;
tmp4_3 = _in_a_name;
{
modelica_metatype _txt = NULL;
modelica_metatype _a_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_name = tmp4_3;
tmpMeta1 = omc_CodegenUtil_underscorePath(threadData, _txt, _a_name);
goto tmp3_done;
}
case 1: {
_txt = tmp4_1;
_a_name = tmp4_3;
tmpMeta1 = omc_CodegenUtil_dotPath(threadData, _txt, _a_name);
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta1;
_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 tmpMeta1;
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_a_dotPath;
tmp4_3 = _in_a_name;
{
modelica_metatype _txt = NULL;
modelica_metatype _a_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_name = tmp4_3;
tmpMeta1 = omc_CodegenUtil_underscorePath(threadData, _txt, _a_name);
goto tmp3_done;
}
case 1: {
_txt = tmp4_1;
_a_name = tmp4_3;
tmpMeta1 = omc_CodegenUtil_dotPath(threadData, _txt, _a_name);
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta1;
_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[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_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: {
modelica_metatype tmpMeta5;
modelica_metatype tmpMeta6;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,0,6) == 0) goto tmp3_end;
tmpMeta5 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
tmpMeta6 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 7));
_i_c = tmpMeta5;
_i_t = tmpMeta6;
_txt = tmp4_1;
_a_auxFunction = tmp4_3;
_l_name = omc_CodegenCFunctions_contextCrefNoPrevExp(threadData, _OMC_LIT20, _i_c, _OMC_LIT1401, _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_LIT2551);
_txt = omc_Tpl_writeText(threadData, _txt, _l_name);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1444);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_auxFunction;
goto tmp3_done;
}
case 4: {
modelica_metatype tmpMeta7;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,1,2) == 0) goto tmp3_end;
tmpMeta7 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 3));
_i_type__ = tmpMeta7;
_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_LIT2553);
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[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_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_metatype tmpMeta5;
modelica_metatype tmpMeta6;
modelica_integer tmp7;
modelica_metatype tmpMeta8;
modelica_integer tmp9;
modelica_metatype tmpMeta10;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,0,6) == 0) goto tmp3_end;
tmpMeta5 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
tmpMeta6 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 3));
tmp7 = mmc_unbox_integer(tmpMeta6);
tmpMeta8 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 5));
tmp9 = mmc_unbox_integer(tmpMeta8);
tmpMeta10 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 7));
_i_c = tmpMeta5;
_i_ii = tmp7;
_i_ia = tmp9;
_i_t = tmpMeta10;
_txt = tmp4_1;
_a_auxFunction = tmp4_3;
_l_name = omc_CodegenCFunctions_contextCrefNoPrevExp(threadData, _OMC_LIT20, _i_c, _OMC_LIT1401, _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_LIT2551);
_txt = omc_Tpl_writeText(threadData, _txt, _l_name);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1444);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_auxFunction;
goto tmp3_done;
}
case 4: {
modelica_metatype tmpMeta11;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,1,2) == 0) goto tmp3_end;
tmpMeta11 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 3));
_i_type__ = tmpMeta11;
_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_LIT2555);
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 tmpMeta1;
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_type;
tmp4_3 = _in_a_isReference;
tmp4_4 = _in_a_s;
{
modelica_metatype _txt = NULL;
modelica_boolean _a_isReference;
modelica_metatype _a_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,6,2) == 0) goto tmp3_end;
_txt = tmp4_1;
_a_s = tmp4_4;
tmpMeta1 = omc_Tpl_writeText(threadData, _txt, _a_s);
goto tmp3_done;
}
case 1: {
_txt = tmp4_1;
_a_isReference = tmp4_3;
_a_s = tmp4_4;
tmpMeta1 = omc_CodegenCFunctions_fun__223(threadData, _txt, _a_isReference, _a_s);
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta1;
_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 tmpMeta1;
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_a_isReference;
tmp4_3 = _in_a_s;
{
modelica_metatype _txt = NULL;
modelica_metatype _a_s = 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_s = tmp4_3;
tmpMeta1 = omc_Tpl_writeText(threadData, _txt, _a_s);
goto tmp3_done;
}
case 1: {
_txt = tmp4_1;
_a_s = tmp4_3;
_txt = omc_Tpl_writeText(threadData, _txt, _a_s);
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT265);
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta1;
_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 tmpMeta1;
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_metatype tmp4_2;
tmp4_1 = _in_txt;
tmp4_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 tmp4;
int tmp5;
tmp4 = 0;
for (; tmp4 < 11; 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;
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1660);
goto tmp3_done;
}
case 1: {
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,1,1) == 0) goto tmp3_end;
_txt = tmp4_1;
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1666);
goto tmp3_done;
}
case 2: {
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,2,1) == 0) goto tmp3_end;
_txt = tmp4_1;
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT2557);
goto tmp3_done;
}
case 3: {
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,3,1) == 0) goto tmp3_end;
_txt = tmp4_1;
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1660);
goto tmp3_done;
}
case 4: {
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,5,5) == 0) goto tmp3_end;
_txt = tmp4_1;
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1660);
goto tmp3_done;
}
case 5: {
modelica_metatype tmpMeta6;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,6,2) == 0) goto tmp3_end;
tmpMeta6 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
_i_ty = tmpMeta6;
_txt = tmp4_1;
tmpMeta1 = omc_CodegenCFunctions_extTypeF77(threadData, _txt, _i_ty, 1);
goto tmp3_done;
}
case 6: {
modelica_metatype tmpMeta7;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,9,3) == 0) goto tmp3_end;
tmpMeta7 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta7,17,1) == 0) goto tmp3_end;
_txt = tmp4_1;
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT2559);
goto tmp3_done;
}
case 7: {
modelica_metatype tmpMeta8;
modelica_metatype tmpMeta9;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,9,3) == 0) goto tmp3_end;
tmpMeta8 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta8,3,1) == 0) goto tmp3_end;
tmpMeta9 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta8), 2));
_i_rname = tmpMeta9;
_txt = tmp4_1;
tmpMeta1 = omc_CodegenUtil_underscorePath(threadData, _txt, _i_rname);
goto tmp3_done;
}
case 8: {
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,25,1) == 0) goto tmp3_end;
_txt = tmp4_1;
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT2559);
goto tmp3_done;
}
case 9: {
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,23,1) == 0) goto tmp3_end;
_txt = tmp4_1;
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT2559);
goto tmp3_done;
}
case 10: {
_txt = tmp4_1;
_i_type = tmp4_2;
_txt_0 = omc_Tpl_writeTok(threadData, _OMC_LIT20, _OMC_LIT2561);
_ret_0 = omc_Types_unparseType(threadData, _i_type);
_txt_0 = omc_Tpl_writeStr(threadData, _txt_0, _ret_0);
tmpMeta1 = omc_CodegenUtil_error(threadData, _txt, omc_Tpl_sourceInfo(threadData, _OMC_LIT27, ((modelica_integer) 1239), ((modelica_integer) 14)), omc_Tpl_textString(threadData, _txt_0));
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta1;
_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 tmpMeta1;
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_type;
tmp4_3 = _in_a_isArray;
tmp4_4 = _in_a_isInput;
tmp4_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 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_s = tmp4_5;
tmpMeta1 = omc_Tpl_writeText(threadData, _txt, _a_s);
goto tmp3_done;
}
case 1: {
_txt = tmp4_1;
_a_isArray = tmp4_3;
_a_isInput = tmp4_4;
_a_s = tmp4_5;
tmpMeta1 = omc_CodegenCFunctions_fun__219(threadData, _txt, _a_isInput, _a_isArray, _a_s);
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta1;
_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 tmpMeta1;
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_boolean tmp4_2;modelica_boolean tmp4_3;modelica_metatype tmp4_4;
tmp4_1 = _in_txt;
tmp4_2 = _in_a_isInput;
tmp4_3 = _in_a_isArray;
tmp4_4 = _in_a_s;
{
modelica_metatype _txt = NULL;
modelica_boolean _a_isArray;
modelica_metatype _a_s = 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_s = tmp4_4;
_txt = omc_Tpl_writeText(threadData, _txt, _a_s);
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT265);
goto tmp3_done;
}
case 1: {
_txt = tmp4_1;
_a_isArray = tmp4_3;
_a_s = tmp4_4;
tmpMeta1 = omc_CodegenCFunctions_fun__218(threadData, _txt, _a_isArray, _a_s);
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta1;
_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 tmpMeta1;
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_a_isArray;
tmp4_3 = _in_a_s;
{
modelica_metatype _txt = NULL;
modelica_metatype _a_s = 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 (0 != tmp4_2) goto tmp3_end;
_txt = tmp4_1;
_a_s = tmp4_3;
tmpMeta1 = omc_Tpl_writeText(threadData, _txt, _a_s);
goto tmp3_done;
}
case 1: {
_txt = tmp4_1;
_a_s = tmp4_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);
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT265);
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta1;
_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 tmpMeta1;
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_string tmp4_2;
tmp4_1 = _in_txt;
tmp4_2 = _in_mArg;
{
modelica_metatype _txt = NULL;
volatile mmc_switch_type tmp4;
int tmp5;
tmp4 = 0;
for (; tmp4 < 2; tmp4++) {
switch (MMC_SWITCH_CAST(tmp4)) {
case 0: {
if (11 != MMC_STRLEN(tmp4_2) || strcmp(MMC_STRINGDATA(_OMC_LIT939), MMC_STRINGDATA(tmp4_2)) != 0) goto tmp3_end;
_txt = tmp4_1;
tmpMeta1 = _txt;
goto tmp3_done;
}
case 1: {
_txt = tmp4_1;
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT2563);
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta1;
_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 tmpMeta1;
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_metatype tmp4_2;modelica_boolean tmp4_3;modelica_boolean tmp4_4;
tmp4_1 = _in_txt;
tmp4_2 = _in_a_type;
tmp4_3 = _in_a_returnType;
tmp4_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 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,1) == 0) goto tmp3_end;
_txt = tmp4_1;
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, 
   omc_Config_acceptMetaModelicaGrammar(threadData) ?
   _OMC_LIT1410 : 
   _OMC_LIT1660);
goto tmp3_done;
}
case 1: {
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,1,1) == 0) goto tmp3_end;
_txt = tmp4_1;
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1666);
goto tmp3_done;
}
case 2: {
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,2,1) == 0) goto tmp3_end;
_txt = tmp4_1;
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1667);
goto tmp3_done;
}
case 3: {
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,3,1) == 0) goto tmp3_end;
_txt = tmp4_1;
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1660);
goto tmp3_done;
}
case 4: {
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,5,5) == 0) goto tmp3_end;
_txt = tmp4_1;
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1660);
goto tmp3_done;
}
case 5: {
modelica_metatype tmpMeta6;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,6,2) == 0) goto tmp3_end;
tmpMeta6 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
_i_ty = tmpMeta6;
_txt = tmp4_1;
_a_returnType = tmp4_3;
_a_isInput = tmp4_4;
tmpMeta1 = omc_CodegenCFunctions_extType(threadData, _txt, _i_ty, _a_isInput, 1, _a_returnType);
goto tmp3_done;
}
case 6: {
modelica_metatype tmpMeta7;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,9,3) == 0) goto tmp3_end;
tmpMeta7 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta7,17,1) == 0) goto tmp3_end;
_txt = tmp4_1;
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT2111);
goto tmp3_done;
}
case 7: {
modelica_metatype tmpMeta8;
modelica_metatype tmpMeta9;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,9,3) == 0) goto tmp3_end;
tmpMeta8 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta8,3,1) == 0) goto tmp3_end;
tmpMeta9 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta8), 2));
_i_rname = tmpMeta9;
_txt = tmp4_1;
_a_returnType = tmp4_3;
_txt = omc_CodegenUtil_underscorePath(threadData, _txt, _i_rname);
tmpMeta1 = omc_CodegenCFunctions_fun__215(threadData, _txt, _a_returnType);
goto tmp3_done;
}
case 8: {
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,25,1) == 0) goto tmp3_end;
_txt = tmp4_1;
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT621);
goto tmp3_done;
}
case 9: {
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,23,1) == 0) goto tmp3_end;
_txt = tmp4_1;
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT621);
goto tmp3_done;
}
case 10: {
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,12,1) == 0) goto tmp3_end;
_txt = tmp4_1;
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1714);
goto tmp3_done;
}
case 11: {
_txt = tmp4_1;
_i_type = tmp4_2;
_txt_0 = omc_Tpl_writeTok(threadData, _OMC_LIT20, _OMC_LIT2565);
_ret_0 = omc_Types_unparseType(threadData, _i_type);
_txt_0 = omc_Tpl_writeStr(threadData, _txt_0, _ret_0);
tmpMeta1 = omc_CodegenUtil_error(threadData, _txt, omc_Tpl_sourceInfo(threadData, _OMC_LIT27, ((modelica_integer) 1220), ((modelica_integer) 14)), omc_Tpl_textString(threadData, _txt_0));
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta1;
_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 tmpMeta1;
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_boolean tmp4_2;
tmp4_1 = _in_txt;
tmp4_2 = _in_a_returnType;
{
modelica_metatype _txt = 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;
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT265);
goto tmp3_done;
}
case 1: {
_txt = tmp4_1;
tmpMeta1 = _txt;
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta1;
_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 tmpMeta1;
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_metatype tmp4_2;
tmp4_1 = _in_txt;
tmp4_2 = _in_a_extArg;
{
modelica_metatype _txt = NULL;
modelica_metatype _i_exp = NULL;
modelica_metatype _i_type__ = NULL;
modelica_metatype _txt_0 = NULL;
int tmp4;
{
switch (MMC_SWITCH_CAST(valueConstructor(tmp4_2))) {
case 3: {
modelica_metatype tmpMeta5;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,0,6) == 0) goto tmp3_end;
tmpMeta5 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 7));
_i_type__ = tmpMeta5;
_txt = tmp4_1;
tmpMeta1 = omc_CodegenCFunctions_extType(threadData, _txt, _i_type__, 1, 0, 1);
goto tmp3_done;
}
case 6: {
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,3,0) == 0) goto tmp3_end;
_txt = tmp4_1;
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT620);
goto tmp3_done;
}
case 4: {
modelica_metatype tmpMeta6;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,1,2) == 0) goto tmp3_end;
tmpMeta6 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
_i_exp = tmpMeta6;
_txt = tmp4_1;
_txt_0 = omc_Tpl_writeTok(threadData, _OMC_LIT20, _OMC_LIT2567);
_txt_0 = omc_ExpressionDumpTpl_dumpExp(threadData, _txt_0, _i_exp, _OMC_LIT239);
tmpMeta1 = omc_CodegenUtil_error(threadData, _txt, omc_Tpl_sourceInfo(threadData, _OMC_LIT27, ((modelica_integer) 1197), ((modelica_integer) 36)), omc_Tpl_textString(threadData, _txt_0));
goto tmp3_done;
}
default:
tmp3_default: OMC_LABEL_UNUSED; {
_txt = tmp4_1;
tmpMeta1 = omc_CodegenUtil_error(threadData, _txt, omc_Tpl_sourceInfo(threadData, _OMC_LIT27, ((modelica_integer) 1198), ((modelica_integer) 14)), _OMC_LIT2568);
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta1;
_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 tmpMeta1;
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_language;
tmp4_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 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_LIT2206), MMC_STRINGDATA(tmp4_2)) != 0) goto tmp3_end;
_txt = tmp4_1;
_a_args = tmp4_3;
_txt = omc_Tpl_pushIter(threadData, _txt, _OMC_LIT303);
_txt = omc_CodegenCFunctions_lm__209(threadData, _txt, _a_args);
tmpMeta1 = omc_Tpl_popIter(threadData, _txt);
goto tmp3_done;
}
case 1: {
if (1 != MMC_STRLEN(tmp4_2) || strcmp(MMC_STRINGDATA(_OMC_LIT2207), MMC_STRINGDATA(tmp4_2)) != 0) goto tmp3_end;
_txt = tmp4_1;
_a_args = tmp4_3;
_txt = omc_Tpl_pushIter(threadData, _txt, _OMC_LIT303);
_txt = omc_CodegenCFunctions_lm__210(threadData, _txt, _a_args);
tmpMeta1 = omc_Tpl_popIter(threadData, _txt);
goto tmp3_done;
}
case 2: {
if (10 != MMC_STRLEN(tmp4_2) || strcmp(MMC_STRINGDATA(_OMC_LIT2208), MMC_STRINGDATA(tmp4_2)) != 0) goto tmp3_end;
_txt = tmp4_1;
_a_args = tmp4_3;
_txt = omc_Tpl_pushIter(threadData, _txt, _OMC_LIT303);
_txt = omc_CodegenCFunctions_lm__211(threadData, _txt, _a_args);
tmpMeta1 = omc_Tpl_popIter(threadData, _txt);
goto tmp3_done;
}
case 3: {
_txt = tmp4_1;
_i_language = tmp4_2;
_txt_0 = omc_Tpl_writeTok(threadData, _OMC_LIT20, _OMC_LIT2205);
_txt_0 = omc_Tpl_writeStr(threadData, _txt_0, _i_language);
tmpMeta1 = omc_CodegenUtil_error(threadData, _txt, omc_Tpl_sourceInfo(threadData, _OMC_LIT27, ((modelica_integer) 1188), ((modelica_integer) 14)), omc_Tpl_textString(threadData, _txt_0));
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta1;
_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 tmpMeta1;
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_metatype tmp4_2;
tmp4_1 = _in_txt;
tmp4_2 = _in_items;
{
modelica_metatype _txt = NULL;
modelica_metatype _rest = 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;
tmpMeta1 = _txt;
goto tmp3_done;
}
case 1: {
modelica_metatype tmpMeta6;
modelica_metatype tmpMeta7;
if (listEmpty(tmp4_2)) goto tmp3_end;
tmpMeta6 = MMC_CAR(tmp4_2);
tmpMeta7 = MMC_CDR(tmp4_2);
_i_arg = tmpMeta6;
_rest = tmpMeta7;
_txt = tmp4_1;
_txt = omc_CodegenCFunctions_extFunDefArgF77(threadData, _txt, _i_arg);
_txt = omc_Tpl_nextIter(threadData, _txt);
_in_txt = _txt;
_in_items = _rest;
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 = tmpMeta1;
_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 tmpMeta1;
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_metatype tmp4_2;
tmp4_1 = _in_txt;
tmp4_2 = _in_items;
{
modelica_metatype _txt = NULL;
modelica_metatype _rest = 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;
tmpMeta1 = _txt;
goto tmp3_done;
}
case 1: {
modelica_metatype tmpMeta6;
modelica_metatype tmpMeta7;
if (listEmpty(tmp4_2)) goto tmp3_end;
tmpMeta6 = MMC_CAR(tmp4_2);
tmpMeta7 = MMC_CDR(tmp4_2);
_i_arg = tmpMeta6;
_rest = tmpMeta7;
_txt = tmp4_1;
_txt = omc_CodegenCFunctions_extFunDefArg(threadData, _txt, _i_arg);
_txt = omc_Tpl_nextIter(threadData, _txt);
_in_txt = _txt;
_in_items = _rest;
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 = tmpMeta1;
_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 tmpMeta1;
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_metatype tmp4_2;
tmp4_1 = _in_txt;
tmp4_2 = _in_items;
{
modelica_metatype _txt = NULL;
modelica_metatype _rest = 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;
tmpMeta1 = _txt;
goto tmp3_done;
}
case 1: {
modelica_metatype tmpMeta6;
modelica_metatype tmpMeta7;
if (listEmpty(tmp4_2)) goto tmp3_end;
tmpMeta6 = MMC_CAR(tmp4_2);
tmpMeta7 = MMC_CDR(tmp4_2);
_i_arg = tmpMeta6;
_rest = tmpMeta7;
_txt = tmp4_1;
_txt = omc_CodegenCFunctions_extFunDefArg(threadData, _txt, _i_arg);
_txt = omc_Tpl_nextIter(threadData, _txt);
_in_txt = _txt;
_in_items = _rest;
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 = tmpMeta1;
_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 tmpMeta1;
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_string tmp4_2;modelica_string tmp4_3;
tmp4_1 = _in_txt;
tmp4_2 = _in_a_language;
tmp4_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 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_LIT2206), MMC_STRINGDATA(tmp4_2)) != 0) goto tmp3_end;
_txt = tmp4_1;
_a_name = tmp4_3;
tmpMeta1 = omc_Tpl_writeStr(threadData, _txt, _a_name);
goto tmp3_done;
}
case 1: {
if (1 != MMC_STRLEN(tmp4_2) || strcmp(MMC_STRINGDATA(_OMC_LIT2207), MMC_STRINGDATA(tmp4_2)) != 0) goto tmp3_end;
_txt = tmp4_1;
_a_name = tmp4_3;
tmpMeta1 = omc_Tpl_writeStr(threadData, _txt, _a_name);
goto tmp3_done;
}
case 2: {
if (10 != MMC_STRLEN(tmp4_2) || strcmp(MMC_STRINGDATA(_OMC_LIT2208), MMC_STRINGDATA(tmp4_2)) != 0) goto tmp3_end;
_txt = tmp4_1;
_a_name = tmp4_3;
_txt = omc_Tpl_writeStr(threadData, _txt, _a_name);
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT244);
goto tmp3_done;
}
case 3: {
_txt = tmp4_1;
_i_language = tmp4_2;
_txt_0 = omc_Tpl_writeTok(threadData, _OMC_LIT20, _OMC_LIT2205);
_txt_0 = omc_Tpl_writeStr(threadData, _txt_0, _i_language);
tmpMeta1 = omc_CodegenUtil_error(threadData, _txt, omc_Tpl_sourceInfo(threadData, _OMC_LIT27, ((modelica_integer) 1179), ((modelica_integer) 14)), omc_Tpl_textString(threadData, _txt_0));
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta1;
_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 tmpMeta1;
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_metatype tmp4_2;
tmp4_1 = _in_txt;
tmp4_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 tmp4;
int tmp5;
tmp4 = 0;
for (; tmp4 < 2; tmp4++) {
switch (MMC_SWITCH_CAST(tmp4)) {
case 0: {
modelica_metatype tmpMeta6;
modelica_metatype tmpMeta7;
modelica_metatype tmpMeta8;
modelica_metatype tmpMeta9;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,3,14) == 0) goto tmp3_end;
tmpMeta6 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 3));
tmpMeta7 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 5));
tmpMeta8 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 6));
tmpMeta9 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 12));
_i_extName = tmpMeta6;
_i_extArgs = tmpMeta7;
_i_extReturn = tmpMeta8;
_i_language = tmpMeta9;
_txt = tmp4_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_LIT2570);
_txt = omc_CodegenCFunctions_extReturnType(threadData, _txt, _i_extReturn);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT2572);
_txt = omc_Tpl_writeText(threadData, _txt, _l_fn__name);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT2574);
_txt = omc_Tpl_writeText(threadData, _txt, _l_fargsStr);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT2578);
_txt = omc_Tpl_writeText(threadData, _txt, _l_fn__name);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT2362);
_txt = omc_Tpl_writeText(threadData, _txt, _l_fn__name);
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT113);
goto tmp3_done;
}
case 1: {
_txt = tmp4_1;
tmpMeta1 = _txt;
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta1;
_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 tmpMeta1;
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_metatype tmp4_2;
tmp4_1 = _in_txt;
tmp4_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 tmp4;
int tmp5;
tmp4 = 0;
for (; tmp4 < 2; tmp4++) {
switch (MMC_SWITCH_CAST(tmp4)) {
case 0: {
modelica_metatype tmpMeta6;
modelica_metatype tmpMeta7;
modelica_metatype tmpMeta8;
modelica_metatype tmpMeta9;
modelica_metatype tmpMeta10;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,3,14) == 0) goto tmp3_end;
tmpMeta6 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 3));
tmpMeta7 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 5));
tmpMeta8 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 6));
tmpMeta9 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 10));
tmpMeta10 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 12));
_i_extName = tmpMeta6;
_i_extArgs = tmpMeta7;
_i_extReturn = tmpMeta8;
_i_includes = tmpMeta9;
_i_language = tmpMeta10;
_txt = tmp4_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_LIT28));
_ret_7 = (!_ret_6);
_ret_8 = (_ret_5 || _ret_7);
tmpMeta1 = omc_CodegenCFunctions_fun__204(threadData, _txt, _ret_8, _l_fargsStrEscaped, _l_fargsStr, _l_fn__name, _i_extReturn);
goto tmp3_done;
}
case 1: {
_txt = tmp4_1;
tmpMeta1 = _txt;
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta1;
_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 tmpMeta1;
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_fargsStrEscaped;
tmp4_4 = _in_a_fargsStr;
tmp4_5 = _in_a_fn__name;
tmp4_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 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_fargsStr = tmp4_4;
_a_fn__name = tmp4_5;
_a_extReturn = tmp4_6;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT2580);
_txt = omc_CodegenCFunctions_extReturnType(threadData, _txt, _a_extReturn);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT34);
_txt = omc_Tpl_writeText(threadData, _txt, _a_fn__name);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT30);
_txt = omc_Tpl_writeText(threadData, _txt, _a_fargsStr);
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT299);
goto tmp3_done;
}
case 1: {
_txt = tmp4_1;
_a_fargsStrEscaped = tmp4_3;
_a_fn__name = tmp4_5;
_a_extReturn = tmp4_6;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT2588);
_txt = omc_Tpl_pushBlock(threadData, _txt, _OMC_LIT2144);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT2590);
_txt = omc_CodegenCFunctions_extReturnType(threadData, _txt, _a_extReturn);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT34);
_txt = omc_Tpl_writeText(threadData, _txt, _a_fn__name);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT30);
_txt = omc_Tpl_writeText(threadData, _txt, _a_fargsStrEscaped);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT2593);
tmpMeta1 = omc_Tpl_popBlock(threadData, _txt);
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta1;
_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 tmpMeta1;
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_string tmp4_2;
tmp4_1 = _in_txt;
tmp4_2 = _in_a_language;
{
modelica_metatype _txt = 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_LIT2206), MMC_STRINGDATA(tmp4_2)) != 0) goto tmp3_end;
_txt = tmp4_1;
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1060);
goto tmp3_done;
}
case 1: {
_txt = tmp4_1;
tmpMeta1 = _txt;
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta1;
_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[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_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: {
modelica_metatype tmpMeta5;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,0,7) == 0) goto tmp3_end;
tmpMeta5 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
_i_name = tmpMeta5;
_txt = tmp4_1;
_a_auxFunction = tmp4_3;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT427);
tmpMeta[0+0] = omc_CodegenCFunctions_contextCrefNoPrevExp(threadData, _txt, _i_name, _OMC_LIT1401, _a_auxFunction, &tmpMeta[0+1]);
goto tmp3_done;
}
case 4: {
modelica_metatype tmpMeta6;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,1,4) == 0) goto tmp3_end;
tmpMeta6 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
_i_name_1 = tmpMeta6;
_txt = tmp4_1;
_a_auxFunction = tmp4_3;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT2266);
_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[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_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: {
modelica_metatype tmpMeta6;
modelica_metatype tmpMeta7;
modelica_metatype tmpMeta8;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,0,7) == 0) goto tmp3_end;
tmpMeta6 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
tmpMeta7 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 3));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta7,6,2) == 0) goto tmp3_end;
tmpMeta8 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 6));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta8,0,0) == 0) goto tmp3_end;
_i_var_name = tmpMeta6;
_i_var_ty = tmpMeta7;
_txt = tmp4_1;
_a_reconstructedArrs = tmp4_3;
_a_auxFunction = tmp4_4;
_l_varName = omc_CodegenCFunctions_contextCrefNoPrevExp(threadData, _OMC_LIT20, _i_var_name, _OMC_LIT2097, _a_auxFunction ,&_a_auxFunction);
_a_reconstructedArrs = omc_CodegenCFunctions_expTypeShort(threadData, _a_reconstructedArrs, _i_var_ty);
_a_reconstructedArrs = omc_Tpl_writeTok(threadData, _a_reconstructedArrs, _OMC_LIT2262);
_a_reconstructedArrs = omc_Tpl_writeText(threadData, _a_reconstructedArrs, _l_varName);
_a_reconstructedArrs = omc_Tpl_writeTok(threadData, _a_reconstructedArrs, _OMC_LIT208);
_a_reconstructedArrs = omc_Tpl_writeTok(threadData, _a_reconstructedArrs, _OMC_LIT98);
_a_reconstructedArrs = omc_Tpl_writeText(threadData, _a_reconstructedArrs, _l_varName);
_a_reconstructedArrs = omc_Tpl_writeTok(threadData, _a_reconstructedArrs, _OMC_LIT2595);
_a_reconstructedArrs = omc_Tpl_writeText(threadData, _a_reconstructedArrs, _l_varName);
_a_reconstructedArrs = omc_Tpl_writeTok(threadData, _a_reconstructedArrs, _OMC_LIT208);
_a_reconstructedArrs = omc_Tpl_writeTok(threadData, _a_reconstructedArrs, _OMC_LIT98);
_a_reconstructedArrs = omc_Tpl_writeText(threadData, _a_reconstructedArrs, _l_varName);
_a_reconstructedArrs = omc_Tpl_writeTok(threadData, _a_reconstructedArrs, _OMC_LIT2597);
_a_reconstructedArrs = omc_Tpl_writeText(threadData, _a_reconstructedArrs, _l_varName);
_a_reconstructedArrs = omc_Tpl_writeTok(threadData, _a_reconstructedArrs, _OMC_LIT2599);
_a_reconstructedArrs = omc_Tpl_writeTok(threadData, _a_reconstructedArrs, _OMC_LIT98);
_a_reconstructedArrs = omc_Tpl_writeText(threadData, _a_reconstructedArrs, _l_varName);
_a_reconstructedArrs = omc_Tpl_writeTok(threadData, _a_reconstructedArrs, _OMC_LIT2601);
_a_reconstructedArrs = omc_Tpl_writeText(threadData, _a_reconstructedArrs, _l_varName);
_a_reconstructedArrs = omc_Tpl_writeTok(threadData, _a_reconstructedArrs, _OMC_LIT2603);
_a_reconstructedArrs = omc_Tpl_writeTok(threadData, _a_reconstructedArrs, _OMC_LIT98);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_reconstructedArrs;
tmpMeta[0+2] = _a_auxFunction;
goto tmp3_done;
}
case 1: {
modelica_metatype tmpMeta9;
modelica_metatype tmpMeta10;
modelica_metatype tmpMeta11;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,0,7) == 0) goto tmp3_end;
tmpMeta9 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
tmpMeta10 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 3));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta10,6,2) == 0) goto tmp3_end;
tmpMeta11 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 6));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta11,1,0) == 0) goto tmp3_end;
_i_var_name = tmpMeta9;
_i_var_ty = tmpMeta10;
_txt = tmp4_1;
_a_reconstructedArrs = tmp4_3;
_a_auxFunction = tmp4_4;
_l_varName = omc_CodegenCFunctions_contextCrefNoPrevExp(threadData, _OMC_LIT20, _i_var_name, _OMC_LIT2097, _a_auxFunction ,&_a_auxFunction);
_a_reconstructedArrs = omc_Tpl_writeTok(threadData, _a_reconstructedArrs, _OMC_LIT2605);
_a_reconstructedArrs = omc_CodegenCFunctions_expTypeShort(threadData, _a_reconstructedArrs, _i_var_ty);
_a_reconstructedArrs = omc_Tpl_writeTok(threadData, _a_reconstructedArrs, _OMC_LIT2262);
_a_reconstructedArrs = omc_Tpl_writeText(threadData, _a_reconstructedArrs, _l_varName);
_a_reconstructedArrs = omc_Tpl_writeTok(threadData, _a_reconstructedArrs, _OMC_LIT208);
_a_reconstructedArrs = omc_Tpl_writeTok(threadData, _a_reconstructedArrs, _OMC_LIT98);
_a_reconstructedArrs = omc_Tpl_writeText(threadData, _a_reconstructedArrs, _l_varName);
_a_reconstructedArrs = omc_Tpl_writeTok(threadData, _a_reconstructedArrs, _OMC_LIT2595);
_a_reconstructedArrs = omc_Tpl_writeText(threadData, _a_reconstructedArrs, _l_varName);
_a_reconstructedArrs = omc_Tpl_writeTok(threadData, _a_reconstructedArrs, _OMC_LIT208);
_a_reconstructedArrs = omc_Tpl_writeTok(threadData, _a_reconstructedArrs, _OMC_LIT98);
_a_reconstructedArrs = omc_Tpl_writeText(threadData, _a_reconstructedArrs, _l_varName);
_a_reconstructedArrs = omc_Tpl_writeTok(threadData, _a_reconstructedArrs, _OMC_LIT2597);
_a_reconstructedArrs = omc_Tpl_writeText(threadData, _a_reconstructedArrs, _l_varName);
_a_reconstructedArrs = omc_Tpl_writeTok(threadData, _a_reconstructedArrs, _OMC_LIT2599);
_a_reconstructedArrs = omc_Tpl_writeTok(threadData, _a_reconstructedArrs, _OMC_LIT98);
_a_reconstructedArrs = omc_Tpl_writeText(threadData, _a_reconstructedArrs, _l_varName);
_a_reconstructedArrs = omc_Tpl_writeTok(threadData, _a_reconstructedArrs, _OMC_LIT2601);
_a_reconstructedArrs = omc_Tpl_writeText(threadData, _a_reconstructedArrs, _l_varName);
_a_reconstructedArrs = omc_Tpl_writeTok(threadData, _a_reconstructedArrs, _OMC_LIT2603);
_a_reconstructedArrs = omc_Tpl_writeTok(threadData, _a_reconstructedArrs, _OMC_LIT98);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_reconstructedArrs;
tmpMeta[0+2] = _a_auxFunction;
goto tmp3_done;
}
case 2: {
modelica_metatype tmpMeta12;
modelica_metatype tmpMeta13;
modelica_metatype tmpMeta14;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,0,7) == 0) goto tmp3_end;
tmpMeta12 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
tmpMeta13 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 3));
tmpMeta14 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 5));
_i_var_name = tmpMeta12;
_i_var_ty = tmpMeta13;
_i_instDims = tmpMeta14;
_txt = tmp4_1;
_a_reconstructedArrs = tmp4_3;
_a_auxFunction = tmp4_4;
_l_varName = omc_CodegenCFunctions_contextCrefNoPrevExp(threadData, _OMC_LIT20, _i_var_name, _OMC_LIT2097, _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_LIT2607);
_a_reconstructedArrs = omc_Tpl_writeTok(threadData, _a_reconstructedArrs, _OMC_LIT98);
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_LIT2262);
_a_reconstructedArrs = omc_Tpl_writeText(threadData, _a_reconstructedArrs, _a_varName);
_a_reconstructedArrs = omc_Tpl_writeTok(threadData, _a_reconstructedArrs, _OMC_LIT208);
_a_reconstructedArrs = omc_Tpl_writeTok(threadData, _a_reconstructedArrs, _OMC_LIT98);
_a_reconstructedArrs = omc_Tpl_writeText(threadData, _a_reconstructedArrs, _a_varName);
_a_reconstructedArrs = omc_Tpl_writeTok(threadData, _a_reconstructedArrs, _OMC_LIT2595);
_a_reconstructedArrs = omc_Tpl_writeText(threadData, _a_reconstructedArrs, _a_varName);
_a_reconstructedArrs = omc_Tpl_writeTok(threadData, _a_reconstructedArrs, _OMC_LIT208);
_a_reconstructedArrs = omc_Tpl_writeTok(threadData, _a_reconstructedArrs, _OMC_LIT98);
_a_reconstructedArrs = omc_Tpl_writeText(threadData, _a_reconstructedArrs, _a_varName);
_a_reconstructedArrs = omc_Tpl_writeTok(threadData, _a_reconstructedArrs, _OMC_LIT2597);
_a_reconstructedArrs = omc_Tpl_writeText(threadData, _a_reconstructedArrs, _a_varName);
_a_reconstructedArrs = omc_Tpl_writeTok(threadData, _a_reconstructedArrs, _OMC_LIT2599);
_a_reconstructedArrs = omc_Tpl_writeTok(threadData, _a_reconstructedArrs, _OMC_LIT98);
_a_reconstructedArrs = omc_Tpl_writeText(threadData, _a_reconstructedArrs, _a_varName);
_a_reconstructedArrs = omc_Tpl_writeTok(threadData, _a_reconstructedArrs, _OMC_LIT2601);
_a_reconstructedArrs = omc_Tpl_writeText(threadData, _a_reconstructedArrs, _a_varName);
_a_reconstructedArrs = omc_Tpl_writeTok(threadData, _a_reconstructedArrs, _OMC_LIT2603);
_a_reconstructedArrs = omc_Tpl_writeTok(threadData, _a_reconstructedArrs, _OMC_LIT98);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT34);
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[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_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: {
modelica_metatype tmpMeta6;
modelica_metatype tmpMeta7;
tmpMeta6 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 1));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta6,1,3) == 0) goto tmp3_end;
tmpMeta7 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta6), 3));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta7,6,2) == 0) goto tmp3_end;
_i_cref = tmpMeta6;
_i_cref_identType = tmpMeta7;
_txt = tmp4_1;
_a_reconstructedArrs = tmp4_3;
_l_varName = omc_CodegenCFunctions_contextArrayCref(threadData, _OMC_LIT20, _i_cref, _OMC_LIT2097);
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[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_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: {
modelica_metatype tmpMeta6;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,6,2) == 0) goto tmp3_end;
tmpMeta6 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta6,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_LIT2164);
_a_reconstructedArrs = omc_Tpl_writeText(threadData, _a_reconstructedArrs, _a_varName);
_a_reconstructedArrs = omc_Tpl_writeTok(threadData, _a_reconstructedArrs, _OMC_LIT208);
_a_reconstructedArrs = omc_Tpl_writeTok(threadData, _a_reconstructedArrs, _OMC_LIT98);
_a_reconstructedArrs = omc_Tpl_writeText(threadData, _a_reconstructedArrs, _a_varName);
_a_reconstructedArrs = omc_Tpl_writeTok(threadData, _a_reconstructedArrs, _OMC_LIT2595);
_a_reconstructedArrs = omc_Tpl_writeText(threadData, _a_reconstructedArrs, _a_varName);
_a_reconstructedArrs = omc_Tpl_writeTok(threadData, _a_reconstructedArrs, _OMC_LIT208);
_a_reconstructedArrs = omc_Tpl_writeTok(threadData, _a_reconstructedArrs, _OMC_LIT98);
_a_reconstructedArrs = omc_Tpl_writeText(threadData, _a_reconstructedArrs, _a_varName);
_a_reconstructedArrs = omc_Tpl_writeTok(threadData, _a_reconstructedArrs, _OMC_LIT2597);
_a_reconstructedArrs = omc_Tpl_writeText(threadData, _a_reconstructedArrs, _a_varName);
_a_reconstructedArrs = omc_Tpl_writeTok(threadData, _a_reconstructedArrs, _OMC_LIT2599);
_a_reconstructedArrs = omc_Tpl_writeTok(threadData, _a_reconstructedArrs, _OMC_LIT98);
_a_reconstructedArrs = omc_Tpl_writeText(threadData, _a_reconstructedArrs, _a_varName);
_a_reconstructedArrs = omc_Tpl_writeTok(threadData, _a_reconstructedArrs, _OMC_LIT2601);
_a_reconstructedArrs = omc_Tpl_writeText(threadData, _a_reconstructedArrs, _a_varName);
_a_reconstructedArrs = omc_Tpl_writeTok(threadData, _a_reconstructedArrs, _OMC_LIT2603);
_a_reconstructedArrs = omc_Tpl_writeTok(threadData, _a_reconstructedArrs, _OMC_LIT98);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_reconstructedArrs;
goto tmp3_done;
}
case 1: {
modelica_metatype tmpMeta7;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,6,2) == 0) goto tmp3_end;
tmpMeta7 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta7,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_LIT2609);
_a_reconstructedArrs = omc_Tpl_writeText(threadData, _a_reconstructedArrs, _a_varName);
_a_reconstructedArrs = omc_Tpl_writeTok(threadData, _a_reconstructedArrs, _OMC_LIT208);
_a_reconstructedArrs = omc_Tpl_writeTok(threadData, _a_reconstructedArrs, _OMC_LIT98);
_a_reconstructedArrs = omc_Tpl_writeText(threadData, _a_reconstructedArrs, _a_varName);
_a_reconstructedArrs = omc_Tpl_writeTok(threadData, _a_reconstructedArrs, _OMC_LIT2595);
_a_reconstructedArrs = omc_Tpl_writeText(threadData, _a_reconstructedArrs, _a_varName);
_a_reconstructedArrs = omc_Tpl_writeTok(threadData, _a_reconstructedArrs, _OMC_LIT208);
_a_reconstructedArrs = omc_Tpl_writeTok(threadData, _a_reconstructedArrs, _OMC_LIT98);
_a_reconstructedArrs = omc_Tpl_writeText(threadData, _a_reconstructedArrs, _a_varName);
_a_reconstructedArrs = omc_Tpl_writeTok(threadData, _a_reconstructedArrs, _OMC_LIT2597);
_a_reconstructedArrs = omc_Tpl_writeText(threadData, _a_reconstructedArrs, _a_varName);
_a_reconstructedArrs = omc_Tpl_writeTok(threadData, _a_reconstructedArrs, _OMC_LIT2599);
_a_reconstructedArrs = omc_Tpl_writeTok(threadData, _a_reconstructedArrs, _OMC_LIT98);
_a_reconstructedArrs = omc_Tpl_writeText(threadData, _a_reconstructedArrs, _a_varName);
_a_reconstructedArrs = omc_Tpl_writeTok(threadData, _a_reconstructedArrs, _OMC_LIT2601);
_a_reconstructedArrs = omc_Tpl_writeText(threadData, _a_reconstructedArrs, _a_varName);
_a_reconstructedArrs = omc_Tpl_writeTok(threadData, _a_reconstructedArrs, _OMC_LIT2603);
_a_reconstructedArrs = omc_Tpl_writeTok(threadData, _a_reconstructedArrs, _OMC_LIT98);
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_LIT2607);
_a_reconstructedArrs = omc_Tpl_writeTok(threadData, _a_reconstructedArrs, _OMC_LIT98);
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 tmpMeta1;
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_metatype tmp4_2;
tmp4_1 = _in_txt;
tmp4_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 tmp4;
int tmp5;
tmp4 = 0;
for (; tmp4 < 3; tmp4++) {
switch (MMC_SWITCH_CAST(tmp4)) {
case 0: {
modelica_metatype tmpMeta6;
modelica_metatype tmpMeta7;
tmpMeta6 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 1));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta6,1,3) == 0) goto tmp3_end;
tmpMeta7 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta6), 3));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta7,6,2) == 0) goto tmp3_end;
_i_cref = tmpMeta6;
_i_cref_identType = tmpMeta7;
_txt = tmp4_1;
_l_varName = omc_CodegenCFunctions_contextArrayCref(threadData, _OMC_LIT20, _i_cref, _OMC_LIT2097);
tmpMeta1 = omc_CodegenCFunctions_fun__193(threadData, _txt, _i_cref_identType, _l_varName);
goto tmp3_done;
}
case 1: {
modelica_metatype tmpMeta8;
modelica_metatype tmpMeta9;
tmpMeta8 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 1));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta8,1,3) == 0) goto tmp3_end;
tmpMeta9 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta8), 3));
_i_cref = tmpMeta8;
_i_cref_identType = tmpMeta9;
_txt = tmp4_1;
_l_varName = omc_CodegenCFunctions_contextArrayCref(threadData, _OMC_LIT20, _i_cref, _OMC_LIT2097);
tmpMeta1 = omc_CodegenCFunctions_fun__194(threadData, _txt, _i_cref_identType, _l_varName);
goto tmp3_done;
}
case 2: {
_txt = tmp4_1;
tmpMeta1 = _txt;
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta1;
_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 tmpMeta1;
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_cref_identType;
tmp4_3 = _in_a_varName;
{
modelica_metatype _txt = NULL;
modelica_metatype _a_varName = NULL;
int tmp4;
{
switch (MMC_SWITCH_CAST(valueConstructor(tmp4_2))) {
case 3: {
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,0,1) == 0) goto tmp3_end;
_txt = tmp4_1;
_a_varName = tmp4_3;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT406);
tmpMeta1 = omc_Tpl_writeText(threadData, _txt, _a_varName);
goto tmp3_done;
}
case 4: {
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,1,1) == 0) goto tmp3_end;
_txt = tmp4_1;
_a_varName = tmp4_3;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT2611);
tmpMeta1 = omc_Tpl_writeText(threadData, _txt, _a_varName);
goto tmp3_done;
}
default:
tmp3_default: OMC_LABEL_UNUSED; {
_txt = tmp4_1;
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT2613);
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta1;
_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 tmpMeta1;
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_cref_identType;
tmp4_3 = _in_a_varName;
{
modelica_metatype _txt = NULL;
modelica_metatype _a_varName = NULL;
volatile mmc_switch_type tmp4;
int tmp5;
tmp4 = 0;
for (; tmp4 < 3; tmp4++) {
switch (MMC_SWITCH_CAST(tmp4)) {
case 0: {
modelica_metatype tmpMeta6;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,6,2) == 0) goto tmp3_end;
tmpMeta6 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta6,0,1) == 0) goto tmp3_end;
_txt = tmp4_1;
_a_varName = tmp4_3;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT2615);
_txt = omc_Tpl_writeText(threadData, _txt, _a_varName);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT234);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT98);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT2617);
tmpMeta1 = omc_Tpl_writeText(threadData, _txt, _a_varName);
goto tmp3_done;
}
case 1: {
modelica_metatype tmpMeta7;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,6,2) == 0) goto tmp3_end;
tmpMeta7 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta7,1,1) == 0) goto tmp3_end;
_txt = tmp4_1;
_a_varName = tmp4_3;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT2619);
_txt = omc_Tpl_writeText(threadData, _txt, _a_varName);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT234);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT98);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT2617);
tmpMeta1 = omc_Tpl_writeText(threadData, _txt, _a_varName);
goto tmp3_done;
}
case 2: {
_txt = tmp4_1;
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT2621);
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta1;
_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[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_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: {
modelica_metatype tmpMeta6;
modelica_metatype tmpMeta7;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,0,7) == 0) goto tmp3_end;
tmpMeta6 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
tmpMeta7 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 3));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta7,6,2) == 0) goto tmp3_end;
_i_var_name = tmpMeta6;
_i_var_ty = tmpMeta7;
_txt = tmp4_1;
_a_parArgList = tmp4_3;
_a_auxFunction = tmp4_4;
_l_varName = omc_CodegenCFunctions_contextCrefNoPrevExp(threadData, _OMC_LIT20, _i_var_name, _OMC_LIT2097, _a_auxFunction ,&_a_auxFunction);
_a_parArgList = omc_Tpl_writeTok(threadData, _a_parArgList, _OMC_LIT234);
_a_parArgList = omc_Tpl_writeTok(threadData, _a_parArgList, _OMC_LIT98);
_a_parArgList = omc_Tpl_writeTok(threadData, _a_parArgList, _OMC_LIT2623);
_a_parArgList = omc_CodegenCFunctions_expTypeShort(threadData, _a_parArgList, _i_var_ty);
_a_parArgList = omc_Tpl_writeTok(threadData, _a_parArgList, _OMC_LIT2625);
_a_parArgList = omc_Tpl_writeText(threadData, _a_parArgList, _l_varName);
_a_parArgList = omc_Tpl_writeTok(threadData, _a_parArgList, _OMC_LIT234);
_a_parArgList = omc_Tpl_writeTok(threadData, _a_parArgList, _OMC_LIT98);
_a_parArgList = omc_Tpl_writeTok(threadData, _a_parArgList, _OMC_LIT2627);
_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: {
modelica_metatype tmpMeta8;
modelica_metatype tmpMeta9;
modelica_metatype tmpMeta10;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,0,7) == 0) goto tmp3_end;
tmpMeta8 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
tmpMeta9 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 3));
tmpMeta10 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 5));
_i_var_name = tmpMeta8;
_i_var_ty = tmpMeta9;
_i_instDims = tmpMeta10;
_txt = tmp4_1;
_a_parArgList = tmp4_3;
_a_auxFunction = tmp4_4;
_l_varName = omc_CodegenCFunctions_contextCrefNoPrevExp(threadData, _OMC_LIT20, _i_var_name, _OMC_LIT2097, _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_LIT1553);
_a_parArgList = omc_Tpl_writeTok(threadData, _a_parArgList, _OMC_LIT2629);
_a_parArgList = omc_Tpl_writeTok(threadData, _a_parArgList, _OMC_LIT98);
_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_LIT234);
_a_parArgList = omc_Tpl_writeTok(threadData, _a_parArgList, _OMC_LIT98);
_a_parArgList = omc_Tpl_writeTok(threadData, _a_parArgList, _OMC_LIT2631);
_a_parArgList = omc_CodegenCFunctions_expTypeShort(threadData, _a_parArgList, _a_var_ty);
_a_parArgList = omc_Tpl_writeTok(threadData, _a_parArgList, _OMC_LIT34);
_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_LIT234);
_a_parArgList = omc_Tpl_writeTok(threadData, _a_parArgList, _OMC_LIT98);
_a_parArgList = omc_Tpl_writeTok(threadData, _a_parArgList, _OMC_LIT2623);
_a_parArgList = omc_CodegenCFunctions_expTypeShort(threadData, _a_parArgList, _a_var_ty);
_a_parArgList = omc_Tpl_writeTok(threadData, _a_parArgList, _OMC_LIT2625);
_a_parArgList = omc_Tpl_writeText(threadData, _a_parArgList, _a_varName);
_a_parArgList = omc_Tpl_writeTok(threadData, _a_parArgList, _OMC_LIT234);
_a_parArgList = omc_Tpl_writeTok(threadData, _a_parArgList, _OMC_LIT98);
_a_parArgList = omc_Tpl_writeTok(threadData, _a_parArgList, _OMC_LIT2627);
_a_parArgList = omc_Tpl_writeText(threadData, _a_parArgList, _a_varName);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT34);
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[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_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: {
modelica_metatype tmpMeta6;
modelica_metatype tmpMeta7;
modelica_metatype tmpMeta8;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,0,7) == 0) goto tmp3_end;
tmpMeta6 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
tmpMeta7 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 3));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta7,6,2) == 0) goto tmp3_end;
tmpMeta8 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 6));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta8,0,0) == 0) goto tmp3_end;
_i_var_name = tmpMeta6;
_i_var_ty = tmpMeta7;
_txt = tmp4_1;
_a_auxFunction = tmp4_3;
_l_varName = omc_CodegenCFunctions_contextCrefNoPrevExp(threadData, _OMC_LIT20, _i_var_name, _OMC_LIT2097, _a_auxFunction ,&_a_auxFunction);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT2633);
_txt = omc_CodegenCFunctions_expTypeShort(threadData, _txt, _i_var_ty);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT2625);
_txt = omc_Tpl_writeText(threadData, _txt, _l_varName);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT234);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT98);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT2627);
_txt = omc_Tpl_writeText(threadData, _txt, _l_varName);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_auxFunction;
goto tmp3_done;
}
case 1: {
modelica_metatype tmpMeta9;
modelica_metatype tmpMeta10;
modelica_metatype tmpMeta11;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,0,7) == 0) goto tmp3_end;
tmpMeta9 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
tmpMeta10 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 3));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta10,6,2) == 0) goto tmp3_end;
tmpMeta11 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 6));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta11,1,0) == 0) goto tmp3_end;
_i_var_name = tmpMeta9;
_i_var_ty = tmpMeta10;
_txt = tmp4_1;
_a_auxFunction = tmp4_3;
_l_varName = omc_CodegenCFunctions_contextCrefNoPrevExp(threadData, _OMC_LIT20, _i_var_name, _OMC_LIT2097, _a_auxFunction ,&_a_auxFunction);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT2635);
_txt = omc_CodegenCFunctions_expTypeShort(threadData, _txt, _i_var_ty);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT2625);
_txt = omc_Tpl_writeText(threadData, _txt, _l_varName);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT234);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT98);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT2637);
_txt = omc_Tpl_writeText(threadData, _txt, _l_varName);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_auxFunction;
goto tmp3_done;
}
case 2: {
modelica_metatype tmpMeta12;
modelica_metatype tmpMeta13;
modelica_metatype tmpMeta14;
modelica_metatype tmpMeta15;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,0,7) == 0) goto tmp3_end;
tmpMeta12 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
tmpMeta13 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 3));
tmpMeta14 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 5));
tmpMeta15 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 6));
_i_var_name = tmpMeta12;
_i_var_ty = tmpMeta13;
_i_instDims = tmpMeta14;
_i_parallelism = tmpMeta15;
_txt = tmp4_1;
_a_auxFunction = tmp4_3;
_l_varName = omc_CodegenCFunctions_contextCrefNoPrevExp(threadData, _OMC_LIT20, _i_var_name, _OMC_LIT2097, _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_LIT2639);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT98);
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 tmpMeta1;
MMC_SO();
_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_parallelism;
tmp4_4 = _in_a_varName;
tmp4_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 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_4;
_a_var_ty = tmp4_5;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1671);
_txt = omc_CodegenCFunctions_expTypeShort(threadData, _txt, _a_var_ty);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT34);
tmpMeta1 = omc_Tpl_writeText(threadData, _txt, _a_varName);
goto tmp3_done;
}
case 1: {
_txt = tmp4_1;
_a_parallelism = tmp4_3;
_a_varName = tmp4_4;
_a_var_ty = tmp4_5;
tmpMeta1 = omc_CodegenCFunctions_fun__186(threadData, _txt, _a_parallelism, _a_varName, _a_var_ty);
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta1;
_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 tmpMeta1;
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_parallelism;
tmp4_3 = _in_a_varName;
tmp4_4 = _in_a_var_ty;
{
modelica_metatype _txt = NULL;
modelica_metatype _a_varName = NULL;
modelica_metatype _a_var_ty = 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_varName = tmp4_3;
_a_var_ty = tmp4_4;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT2633);
_txt = omc_CodegenCFunctions_expTypeShort(threadData, _txt, _a_var_ty);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT2625);
_txt = omc_Tpl_writeText(threadData, _txt, _a_varName);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT234);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT98);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT2627);
tmpMeta1 = omc_Tpl_writeText(threadData, _txt, _a_varName);
goto tmp3_done;
}
case 4: {
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,1,0) == 0) goto tmp3_end;
_txt = tmp4_1;
_a_varName = tmp4_3;
_a_var_ty = tmp4_4;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT2635);
_txt = omc_CodegenCFunctions_expTypeShort(threadData, _txt, _a_var_ty);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT2625);
_txt = omc_Tpl_writeText(threadData, _txt, _a_varName);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT234);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT98);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT2637);
tmpMeta1 = omc_Tpl_writeText(threadData, _txt, _a_varName);
goto tmp3_done;
}
default:
tmp3_default: OMC_LABEL_UNUSED; {
_txt = tmp4_1;
tmpMeta1 = _txt;
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta1;
_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 tmpMeta1;
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_metatype tmp4_2;
tmp4_1 = _in_txt;
tmp4_2 = _in_a_var;
{
modelica_metatype _txt = 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 (mmc__uniontype__metarecord__typedef__equal(tmp4_2,0,7) == 0) goto tmp3_end;
_i_var = tmp4_2;
_txt = tmp4_1;
_txt = omc_CodegenCFunctions_varType(threadData, _txt, _i_var);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT2641);
tmpMeta1 = omc_CodegenCFunctions_funArgName(threadData, _txt, _i_var);
goto tmp3_done;
}
case 1: {
_txt = tmp4_1;
tmpMeta1 = omc_CodegenUtil_error(threadData, _txt, omc_Tpl_sourceInfo(threadData, _OMC_LIT27, ((modelica_integer) 983), ((modelica_integer) 14)), _OMC_LIT2642);
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta1;
_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 tmpMeta1;
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_metatype tmp4_2;
tmp4_1 = _in_txt;
tmp4_2 = _in_a_var;
{
modelica_metatype _txt = 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 (mmc__uniontype__metarecord__typedef__equal(tmp4_2,0,7) == 0) goto tmp3_end;
_i_var = tmp4_2;
_txt = tmp4_1;
_txt = omc_CodegenCFunctions_varType(threadData, _txt, _i_var);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT34);
tmpMeta1 = omc_CodegenCFunctions_funArgName(threadData, _txt, _i_var);
goto tmp3_done;
}
case 1: {
_txt = tmp4_1;
tmpMeta1 = omc_CodegenUtil_error(threadData, _txt, omc_Tpl_sourceInfo(threadData, _OMC_LIT27, ((modelica_integer) 974), ((modelica_integer) 14)), _OMC_LIT2643);
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta1;
_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[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_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: {
modelica_metatype tmpMeta6;
modelica_metatype tmpMeta7;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,0,7) == 0) goto tmp3_end;
tmpMeta6 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
tmpMeta7 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 5));
_i_var = tmp4_2;
_i_name = tmpMeta6;
_i_var_instDims = tmpMeta7;
_txt = tmp4_1;
_a_auxFunction = tmp4_3;
_txt = omc_CodegenCFunctions_varType(threadData, _txt, _i_var);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT34);
_txt = omc_CodegenCFunctions_contextCrefNoPrevExp(threadData, _txt, _i_name, _OMC_LIT1401, _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: {
modelica_metatype tmpMeta8;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,1,4) == 0) goto tmp3_end;
tmpMeta8 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
_i_name_1 = tmpMeta8;
_txt = tmp4_1;
_a_auxFunction = tmp4_3;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT2266);
_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 tmpMeta1;
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_metatype tmp4_2;
tmp4_1 = _in_txt;
tmp4_2 = _in_a_var_instDims;
{
modelica_metatype _txt = 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;
tmpMeta1 = _txt;
goto tmp3_done;
}
case 1: {
_txt = tmp4_1;
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT2645);
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta1;
_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[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_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: {
modelica_metatype tmpMeta5;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,0,7) == 0) goto tmp3_end;
tmpMeta5 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
_i_name = tmpMeta5;
_txt = tmp4_1;
_a_auxFunction = tmp4_3;
tmpMeta[0+0] = omc_CodegenCFunctions_contextCrefNoPrevExp(threadData, _txt, _i_name, _OMC_LIT1401, _a_auxFunction, &tmpMeta[0+1]);
goto tmp3_done;
}
case 4: {
modelica_metatype tmpMeta6;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,1,4) == 0) goto tmp3_end;
tmpMeta6 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
_i_name_1 = tmpMeta6;
_txt = tmp4_1;
_a_auxFunction = tmp4_3;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT244);
_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_LIT2647);
_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[2] __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_LIT2649);
_txt = omc_Tpl_writeStr(threadData, _txt, _a_fname);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT30);
_txt = omc_Tpl_writeText(threadData, _txt, _a_fargsStr);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT87);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_fargsStr;
goto tmp3_done;
}
case 1: {
modelica_metatype tmpMeta6;
modelica_metatype tmpMeta7;
if (listEmpty(tmp4_2)) goto tmp3_end;
tmpMeta6 = MMC_CAR(tmp4_2);
tmpMeta7 = MMC_CDR(tmp4_2);
_i_fvar = tmpMeta6;
_i_rest = tmpMeta7;
_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_LIT2354);
_txt = omc_Tpl_writeStr(threadData, _txt, _a_fname);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT30);
_txt = omc_Tpl_writeText(threadData, _txt, _a_fargsStr);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT87);
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_LIT2650);
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 tmpMeta1;
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_metatype tmp4_2;
tmp4_1 = _in_txt;
tmp4_2 = _in_a_rest;
{
modelica_metatype _txt = NULL;
modelica_metatype _i_rest = 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;
tmpMeta1 = _txt;
goto tmp3_done;
}
case 1: {
_txt = tmp4_1;
_i_rest = tmp4_2;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT301);
_txt = omc_Tpl_pushIter(threadData, _txt, _OMC_LIT303);
_txt = omc_CodegenCFunctions_lm__173(threadData, _txt, _i_rest);
tmpMeta1 = omc_Tpl_popIter(threadData, _txt);
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta1;
_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 tmpMeta1;
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_metatype tmp4_2;
tmp4_1 = _in_txt;
tmp4_2 = _in_items;
{
modelica_metatype _txt = NULL;
modelica_metatype _rest = 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;
tmpMeta1 = _txt;
goto tmp3_done;
}
case 1: {
modelica_metatype tmpMeta6;
modelica_metatype tmpMeta7;
if (listEmpty(tmp4_2)) goto tmp3_end;
tmpMeta6 = MMC_CAR(tmp4_2);
tmpMeta7 = MMC_CDR(tmp4_2);
_i_var = tmpMeta6;
_rest = tmpMeta7;
_txt = tmp4_1;
_txt = omc_CodegenCFunctions_tupleOutfunArgDefinitionKernelFunctionInterface(threadData, _txt, _i_var);
_txt = omc_Tpl_nextIter(threadData, _txt);
_in_txt = _txt;
_in_items = _rest;
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 = tmpMeta1;
_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 tmpMeta1;
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_metatype tmp4_2;
tmp4_1 = _in_txt;
tmp4_2 = _in_a_fargs;
{
modelica_metatype _txt = NULL;
modelica_metatype _i_fargs = 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;
tmpMeta1 = _txt;
goto tmp3_done;
}
case 1: {
_txt = tmp4_1;
_i_fargs = tmp4_2;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT301);
_txt = omc_Tpl_pushIter(threadData, _txt, _OMC_LIT303);
_txt = omc_CodegenCFunctions_lm__171(threadData, _txt, _i_fargs);
tmpMeta1 = omc_Tpl_popIter(threadData, _txt);
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta1;
_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 tmpMeta1;
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_metatype tmp4_2;
tmp4_1 = _in_txt;
tmp4_2 = _in_items;
{
modelica_metatype _txt = NULL;
modelica_metatype _rest = 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;
tmpMeta1 = _txt;
goto tmp3_done;
}
case 1: {
modelica_metatype tmpMeta6;
modelica_metatype tmpMeta7;
if (listEmpty(tmp4_2)) goto tmp3_end;
tmpMeta6 = MMC_CAR(tmp4_2);
tmpMeta7 = MMC_CDR(tmp4_2);
_i_var = tmpMeta6;
_rest = tmpMeta7;
_txt = tmp4_1;
_txt = omc_CodegenCFunctions_funArgDefinitionKernelFunctionInterface(threadData, _txt, _i_var);
_txt = omc_Tpl_nextIter(threadData, _txt);
_in_txt = _txt;
_in_items = _rest;
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 = tmpMeta1;
_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_LIT113);
_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_LIT244);
_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_LIT614);
_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_LIT614);
_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_LIT614);
_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_LIT34);
_a_afterBody = omc_Tpl_writeText(threadData, _a_afterBody, _a_fn__name);
_a_afterBody = omc_Tpl_writeTok(threadData, _a_afterBody, _OMC_LIT129);
_a_afterBody = omc_Tpl_writeText(threadData, _a_afterBody, _a_fn__name__impl);
_a_afterBody = omc_Tpl_writeTok(threadData, _a_afterBody, _OMC_LIT113);
_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_LIT2570);
_txt = omc_Tpl_writeText(threadData, _txt, _a_res);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT169);
_txt = omc_Tpl_writeText(threadData, _txt, _a_fn__name__typedef);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT34);
_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 tmpMeta1;
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;modelica_metatype tmp4_6;
tmp4_1 = _in_txt;
tmp4_2 = _in_a_outVars;
tmp4_3 = _in_a_outarg;
tmp4_4 = _in_a_boxed;
tmp4_5 = _in_a_fargsStr;
tmp4_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 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_fargsStr = tmp4_5;
_a_fn__name__ptr__typedef = tmp4_6;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT2652);
_txt = omc_Tpl_writeText(threadData, _txt, _a_fn__name__ptr__typedef);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT2328);
_txt = omc_Tpl_writeText(threadData, _txt, _a_fargsStr);
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT87);
goto tmp3_done;
}
case 1: {
_txt = tmp4_1;
_i_outVars = tmp4_2;
_a_outarg = tmp4_3;
_a_boxed = tmp4_4;
_a_fargsStr = tmp4_5;
_a_fn__name__ptr__typedef = tmp4_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_LIT34);
_txt = omc_Tpl_writeText(threadData, _txt, _a_fn__name__ptr__typedef);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT2328);
_txt = omc_Tpl_writeText(threadData, _txt, _a_fargsStr);
_txt = omc_Tpl_writeText(threadData, _txt, _l_outargs);
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT87);
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta1;
_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 tmpMeta1;
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_metatype tmp4_2;modelica_boolean tmp4_3;
tmp4_1 = _in_txt;
tmp4_2 = _in_items;
tmp4_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 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;
tmpMeta1 = _txt;
goto tmp3_done;
}
case 1: {
modelica_metatype tmpMeta6;
modelica_metatype tmpMeta7;
if (listEmpty(tmp4_2)) goto tmp3_end;
tmpMeta6 = MMC_CAR(tmp4_2);
tmpMeta7 = MMC_CDR(tmp4_2);
_i_var = tmpMeta6;
_rest = tmpMeta7;
_txt = tmp4_1;
_a_boxed = tmp4_3;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT301);
_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 tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta1;
_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 tmpMeta1;
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_metatype tmp4_2;modelica_boolean tmp4_3;
tmp4_1 = _in_txt;
tmp4_2 = _in_a_var;
tmp4_3 = _in_a_boxed;
{
modelica_metatype _txt = NULL;
modelica_boolean _a_boxed;
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 (mmc__uniontype__metarecord__typedef__equal(tmp4_2,0,7) == 0) goto tmp3_end;
_i_var = tmp4_2;
_txt = tmp4_1;
_a_boxed = tmp4_3;
_txt = omc_CodegenCFunctions_fun__163(threadData, _txt, _a_boxed, _i_var);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT2641);
tmpMeta1 = omc_CodegenCFunctions_funArgName(threadData, _txt, _i_var);
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;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT2654);
tmpMeta1 = omc_CodegenCFunctions_funArgName(threadData, _txt, _i_var);
goto tmp3_done;
}
case 2: {
_txt = tmp4_1;
tmpMeta1 = _txt;
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta1;
_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 tmpMeta1;
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_a_boxed;
tmp4_3 = _in_a_var;
{
modelica_metatype _txt = 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_var = tmp4_3;
tmpMeta1 = omc_CodegenCFunctions_varType(threadData, _txt, _a_var);
goto tmp3_done;
}
case 1: {
_txt = tmp4_1;
_a_var = tmp4_3;
tmpMeta1 = omc_CodegenCFunctions_varTypeBoxed(threadData, _txt, _a_var);
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta1;
_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 tmpMeta1;
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_fn__name__typedef;
tmp4_4 = _in_a_fn__name__impl;
tmp4_5 = _in_a_isPrototype;
tmp4_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 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_fn__name = tmp4_6;
tmpMeta1 = omc_Tpl_writeText(threadData, _txt, _a_fn__name);
goto tmp3_done;
}
case 1: {
_txt = tmp4_1;
_a_fn__name__typedef = tmp4_3;
_a_fn__name__impl = tmp4_4;
_a_isPrototype = tmp4_5;
tmpMeta1 = omc_CodegenCFunctions_fun__161(threadData, _txt, _a_isPrototype, _a_fn__name__typedef, _a_fn__name__impl);
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta1;
_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 tmpMeta1;
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_a_isPrototype;
tmp4_3 = _in_a_fn__name__typedef;
tmp4_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 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_fn__name__impl = tmp4_4;
tmpMeta1 = omc_Tpl_writeText(threadData, _txt, _a_fn__name__impl);
goto tmp3_done;
}
case 1: {
_txt = tmp4_1;
_a_fn__name__typedef = tmp4_3;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1280);
_txt = omc_Tpl_writeText(threadData, _txt, _a_fn__name__typedef);
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT87);
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta1;
_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 tmpMeta1;
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_boolean tmp4_2;modelica_string tmp4_3;modelica_metatype tmp4_4;modelica_metatype tmp4_5;
tmp4_1 = _in_txt;
tmp4_2 = _in_mArg;
tmp4_3 = _in_a_fname;
tmp4_4 = _in_a_boxPtrStr;
tmp4_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 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_fn__name = tmp4_5;
tmpMeta1 = omc_Tpl_writeText(threadData, _txt, _a_fn__name);
goto tmp3_done;
}
case 1: {
_txt = tmp4_1;
_a_fname = tmp4_3;
_a_boxPtrStr = tmp4_4;
_txt = omc_Tpl_writeText(threadData, _txt, _a_boxPtrStr);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT2656);
tmpMeta1 = omc_Tpl_writeStr(threadData, _txt, _a_fname);
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta1;
_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 tmpMeta1;
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_boolean tmp4_2;modelica_metatype tmp4_3;modelica_string tmp4_4;modelica_metatype tmp4_5;
tmp4_1 = _in_txt;
tmp4_2 = _in_a_isPrototype;
tmp4_3 = _in_a_fn__name;
tmp4_4 = _in_a_fname;
tmp4_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 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_4;
_a_boxPtrStr = tmp4_5;
_txt = omc_Tpl_writeText(threadData, _txt, _a_boxPtrStr);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT2658);
tmpMeta1 = omc_Tpl_writeStr(threadData, _txt, _a_fname);
goto tmp3_done;
}
case 1: {
_txt = tmp4_1;
_a_fn__name = tmp4_3;
tmpMeta1 = omc_Tpl_writeText(threadData, _txt, _a_fn__name);
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta1;
_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 tmpMeta1;
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_boolean tmp4_2;
tmp4_1 = _in_txt;
tmp4_2 = _in_a_boxed;
{
modelica_metatype _txt = 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;
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT2660);
goto tmp3_done;
}
case 1: {
_txt = tmp4_1;
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT2662);
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta1;
_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 tmpMeta1;
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_metatype tmp4_2;modelica_boolean tmp4_3;
tmp4_1 = _in_txt;
tmp4_2 = _in_a_outVars;
tmp4_3 = _in_a_boxed;
{
modelica_metatype _txt = NULL;
modelica_boolean _a_boxed;
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: {
modelica_metatype tmpMeta6;
modelica_metatype tmpMeta7;
if (listEmpty(tmp4_2)) goto tmp3_end;
tmpMeta6 = MMC_CAR(tmp4_2);
tmpMeta7 = MMC_CDR(tmp4_2);
_i_var = tmpMeta6;
_txt = tmp4_1;
_a_boxed = tmp4_3;
tmpMeta1 = omc_CodegenCFunctions_fun__156(threadData, _txt, _i_var, _a_boxed);
goto tmp3_done;
}
case 1: {
_txt = tmp4_1;
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT620);
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta1;
_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 tmpMeta1;
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_metatype tmp4_2;modelica_boolean tmp4_3;
tmp4_1 = _in_txt;
tmp4_2 = _in_a_var;
tmp4_3 = _in_a_boxed;
{
modelica_metatype _txt = NULL;
modelica_boolean _a_boxed;
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 (mmc__uniontype__metarecord__typedef__equal(tmp4_2,0,7) == 0) goto tmp3_end;
_i_var = tmp4_2;
_txt = tmp4_1;
_a_boxed = tmp4_3;
tmpMeta1 = omc_CodegenCFunctions_fun__155(threadData, _txt, _a_boxed, _i_var);
goto tmp3_done;
}
case 1: {
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,1,4) == 0) goto tmp3_end;
_txt = tmp4_1;
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1714);
goto tmp3_done;
}
case 2: {
_txt = tmp4_1;
tmpMeta1 = _txt;
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta1;
_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 tmpMeta1;
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_a_boxed;
tmp4_3 = _in_a_var;
{
modelica_metatype _txt = 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_var = tmp4_3;
tmpMeta1 = omc_CodegenCFunctions_varType(threadData, _txt, _a_var);
goto tmp3_done;
}
case 1: {
_txt = tmp4_1;
_a_var = tmp4_3;
tmpMeta1 = omc_CodegenCFunctions_varTypeBoxed(threadData, _txt, _a_var);
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta1;
_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 tmpMeta1;
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_a_boxed;
tmp4_3 = _in_a_fargs;
{
modelica_metatype _txt = NULL;
modelica_metatype _a_fargs = 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_fargs = tmp4_3;
tmpMeta1 = omc_CodegenCFunctions_lm__152(threadData, _txt, _a_fargs);
goto tmp3_done;
}
case 1: {
_txt = tmp4_1;
_a_fargs = tmp4_3;
tmpMeta1 = omc_CodegenCFunctions_lm__153(threadData, _txt, _a_fargs);
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta1;
_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 tmpMeta1;
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_metatype tmp4_2;
tmp4_1 = _in_txt;
tmp4_2 = _in_items;
{
modelica_metatype _txt = NULL;
modelica_metatype _rest = 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;
tmpMeta1 = _txt;
goto tmp3_done;
}
case 1: {
modelica_metatype tmpMeta6;
modelica_metatype tmpMeta7;
if (listEmpty(tmp4_2)) goto tmp3_end;
tmpMeta6 = MMC_CAR(tmp4_2);
tmpMeta7 = MMC_CDR(tmp4_2);
_i_var = tmpMeta6;
_rest = tmpMeta7;
_txt = tmp4_1;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT301);
_txt = omc_CodegenCFunctions_funArgBoxedDefinition(threadData, _txt, _i_var);
_in_txt = _txt;
_in_items = _rest;
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 = tmpMeta1;
_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 tmpMeta1;
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_metatype tmp4_2;
tmp4_1 = _in_txt;
tmp4_2 = _in_items;
{
modelica_metatype _txt = NULL;
modelica_metatype _rest = 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;
tmpMeta1 = _txt;
goto tmp3_done;
}
case 1: {
modelica_metatype tmpMeta6;
modelica_metatype tmpMeta7;
if (listEmpty(tmp4_2)) goto tmp3_end;
tmpMeta6 = MMC_CAR(tmp4_2);
tmpMeta7 = MMC_CDR(tmp4_2);
_i_var = tmpMeta6;
_rest = tmpMeta7;
_txt = tmp4_1;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT301);
_txt = omc_CodegenCFunctions_funArgDefinition(threadData, _txt, _i_var);
_in_txt = _txt;
_in_items = _rest;
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 = tmpMeta1;
_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 tmpMeta1;
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_a_isSimulation;
tmp4_3 = _in_a_visibility;
{
modelica_metatype _txt = NULL;
modelica_metatype _a_visibility = 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_visibility = tmp4_3;
tmpMeta1 = omc_CodegenCFunctions_fun__150(threadData, _txt, _a_visibility);
goto tmp3_done;
}
case 1: {
_txt = tmp4_1;
tmpMeta1 = _txt;
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta1;
_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 tmpMeta1;
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_metatype tmp4_2;
tmp4_1 = _in_txt;
tmp4_2 = _in_a_visibility;
{
modelica_metatype _txt = 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;
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT2340);
goto tmp3_done;
}
case 1: {
_txt = tmp4_1;
tmpMeta1 = _txt;
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta1;
_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_LIT614);
_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 tmpMeta1;
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_a_dynamicLoad;
tmp4_3 = _in_a_prototype;
{
modelica_metatype _txt = NULL;
modelica_metatype _a_prototype = 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_prototype = tmp4_3;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT2543);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT98);
_txt = omc_Tpl_writeText(threadData, _txt, _a_prototype);
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT113);
goto tmp3_done;
}
case 1: {
_txt = tmp4_1;
tmpMeta1 = _txt;
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta1;
_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 tmpMeta1;
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_a_dynamicLoad;
tmp4_3 = _in_a_prototype;
{
modelica_metatype _txt = NULL;
modelica_metatype _a_prototype = 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_prototype = tmp4_3;
_txt = omc_Tpl_writeText(threadData, _txt, _a_prototype);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT113);
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT98);
goto tmp3_done;
}
case 1: {
_txt = tmp4_1;
tmpMeta1 = _txt;
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta1;
_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 tmpMeta1;
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_a_dynamicLoad;
tmp4_3 = _in_a_prototype;
{
modelica_metatype _txt = NULL;
modelica_metatype _a_prototype = 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_prototype = tmp4_3;
_txt = omc_Tpl_writeText(threadData, _txt, _a_prototype);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT113);
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT98);
goto tmp3_done;
}
case 1: {
_txt = tmp4_1;
tmpMeta1 = _txt;
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta1;
_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 tmpMeta1;
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_boolean tmp4_2;modelica_string tmp4_3;
tmp4_1 = _in_txt;
tmp4_2 = _in_mArg;
tmp4_3 = _in_a_fname;
{
modelica_metatype _txt = 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;
tmpMeta1 = _txt;
goto tmp3_done;
}
case 1: {
_txt = tmp4_1;
_a_fname = tmp4_3;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT2465);
_txt = omc_Tpl_writeStr(threadData, _txt, _a_fname);
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT2664);
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta1;
_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_LIT2666);
_l_boxvar = omc_Tpl_writeStr(threadData, _l_boxvar, _a_fname);
_l_boxvar = omc_Tpl_writeTok(threadData, _l_boxvar, _OMC_LIT2668);
_ret_1 = omc_Flags_isSet(threadData, _OMC_LIT614);
_l_boxvar = omc_CodegenCFunctions_fun__137(threadData, _l_boxvar, _ret_1);
_l_boxvar = omc_Tpl_writeTok(threadData, _l_boxvar, _OMC_LIT994);
_l_boxvar = omc_Tpl_writeStr(threadData, _l_boxvar, _a_fname);
_l_boxvar = omc_Tpl_writeTok(threadData, _l_boxvar, _OMC_LIT2673);
_l_boxvar = omc_Tpl_writeStr(threadData, _l_boxvar, _a_fname);
_l_boxvar = omc_Tpl_writeTok(threadData, _l_boxvar, _OMC_LIT2675);
_l_boxvar = omc_Tpl_writeStr(threadData, _l_boxvar, _a_fname);
_l_boxvar = omc_Tpl_writeTok(threadData, _l_boxvar, _OMC_LIT87);
_l_boxvar = omc_Tpl_writeTok(threadData, _l_boxvar, _OMC_LIT98);
_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_LIT614);
_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_LIT614);
_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 tmpMeta1;
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_boxvar;
{
modelica_metatype _txt = NULL;
modelica_metatype _a_boxvar = 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;
tmpMeta1 = _txt;
goto tmp3_done;
}
case 1: {
_txt = tmp4_1;
_a_boxvar = tmp4_3;
_txt = omc_Tpl_writeText(threadData, _txt, _a_boxvar);
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT2677);
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta1;
_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 tmpMeta1;
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_boxvar;
{
modelica_metatype _txt = NULL;
modelica_metatype _a_boxvar = 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_boxvar = tmp4_3;
tmpMeta1 = omc_Tpl_writeText(threadData, _txt, _a_boxvar);
goto tmp3_done;
}
case 1: {
_txt = tmp4_1;
tmpMeta1 = _txt;
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta1;
_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_LIT2679);
_txt = omc_Tpl_writeStr(threadData, _txt, _a_fname);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT2354);
_txt = omc_Tpl_writeStr(threadData, _txt, _a_fname);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT98);
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 tmpMeta1;
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_boolean tmp4_2;
tmp4_1 = _in_txt;
tmp4_2 = _in_mArg;
{
modelica_metatype _txt = 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;
tmpMeta1 = _txt;
goto tmp3_done;
}
case 1: {
_txt = tmp4_1;
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT40);
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta1;
_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_LIT2681);
_out_txt = omc_Tpl_writeStr(threadData, _out_txt, _a_encName);
_out_txt = omc_Tpl_writeTok(threadData, _out_txt, _OMC_LIT2683);
_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 tmpMeta1;
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_string tmp4_2;modelica_string tmp4_3;modelica_string tmp4_4;modelica_integer tmp4_5;
tmp4_1 = _in_txt;
tmp4_2 = _in_a_encName;
tmp4_3 = _in_a_origName;
tmp4_4 = _in_a_fieldNames;
tmp4_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 tmp4;
int tmp5;
tmp4 = 0;
for (; tmp4 < 2; tmp4++) {
switch (MMC_SWITCH_CAST(tmp4)) {
case 0: {
if (21 != MMC_STRLEN(tmp4_2) || strcmp(MMC_STRINGDATA(_OMC_LIT2698), MMC_STRINGDATA(tmp4_2)) != 0) goto tmp3_end;
_txt = tmp4_1;
tmpMeta1 = _txt;
goto tmp3_done;
}
case 1: {
_txt = tmp4_1;
_i_encName = tmp4_2;
_a_origName = tmp4_3;
_a_fieldNames = tmp4_4;
_a_numFields = tmp4_5;
_l_fieldsDescription = omc_CodegenCFunctions_fun__132(threadData, _OMC_LIT20, _a_numFields, _a_fieldNames, _i_encName);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1739);
_txt = omc_Tpl_writeStr(threadData, _txt, _i_encName);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT2685);
_txt = omc_Tpl_writeText(threadData, _txt, _l_fieldsDescription);
_txt = omc_Tpl_softNewLine(threadData, _txt);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT2687);
_txt = omc_Tpl_writeStr(threadData, _txt, _i_encName);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT2689);
_txt = omc_Tpl_pushBlock(threadData, _txt, _OMC_LIT105);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT940);
_txt = omc_Tpl_writeStr(threadData, _txt, _i_encName);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT2693);
_txt = omc_Tpl_writeStr(threadData, _txt, _a_origName);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT2695);
_txt = omc_Tpl_writeStr(threadData, _txt, _i_encName);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT2697);
_txt = omc_Tpl_popBlock(threadData, _txt);
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1430);
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta1;
_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 tmpMeta1;
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_integer tmp4_2;modelica_string tmp4_3;modelica_string tmp4_4;
tmp4_1 = _in_txt;
tmp4_2 = _in_a_numFields;
tmp4_3 = _in_a_fieldNames;
tmp4_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 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_encName = tmp4_4;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT2700);
_txt = omc_Tpl_writeStr(threadData, _txt, _a_encName);
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT2702);
goto tmp3_done;
}
case 1: {
_txt = tmp4_1;
_i_numFields = tmp4_2;
_a_fieldNames = tmp4_3;
_a_encName = tmp4_4;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT2700);
_txt = omc_Tpl_writeStr(threadData, _txt, _a_encName);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT2704);
_txt = omc_Tpl_writeStr(threadData, _txt, intString(_i_numFields));
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1428);
_txt = omc_Tpl_writeStr(threadData, _txt, _a_fieldNames);
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1430);
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta1;
_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[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;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: {
modelica_metatype tmpMeta6;
if (optionNone(tmp4_2)) goto tmp3_end;
tmpMeta6 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 1));
_i_rhs__exp = tmpMeta6;
_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_LIT303);
_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_LIT305);
_txt = omc_Tpl_writeText(threadData, _txt, _a_type__name);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT2706);
_txt = omc_Tpl_writeText(threadData, _txt, _a_var__name);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT532);
_ret_2 = listLength(_a_var__dims);
_txt = omc_Tpl_writeStr(threadData, _txt, intString(_ret_2));
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT301);
_txt = omc_Tpl_writeText(threadData, _txt, _l_dims__str);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT2708);
_txt = omc_Tpl_writeText(threadData, _txt, _a_var__name);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT2710);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT98);
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_LIT2712);
_txt = omc_Tpl_writeText(threadData, _txt, _a_var__name);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT301);
_ret_3 = listLength(_a_var__dims);
_txt = omc_Tpl_writeStr(threadData, _txt, intString(_ret_3));
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT2708);
_txt = omc_Tpl_writeText(threadData, _txt, _a_var__name);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT2714);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT98);
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[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_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: {
modelica_metatype tmpMeta6;
modelica_metatype tmpMeta7;
if (listEmpty(tmp4_2)) goto tmp3_end;
tmpMeta6 = MMC_CAR(tmp4_2);
tmpMeta7 = MMC_CDR(tmp4_2);
_i_dim = tmpMeta6;
_rest = tmpMeta7;
_txt = tmp4_1;
_a_auxFunction = tmp4_3;
_a_varDecls = tmp4_4;
_a_preExpAlloc = tmp4_5;
_a_context = tmp4_6;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1311);
_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_LIT303);
_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_LIT305);
_txt = omc_Tpl_writeText(threadData, _txt, _a_type__name);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT2706);
_txt = omc_Tpl_writeText(threadData, _txt, _a_var__name);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT532);
_ret_2 = listLength(_a_var__dims);
_txt = omc_Tpl_writeStr(threadData, _txt, intString(_ret_2));
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT301);
_txt = omc_Tpl_writeText(threadData, _txt, _l_dims__str);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT386);
_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_LIT2232);
_txt = omc_Tpl_writeText(threadData, _txt, _a_rhs);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT301);
_txt = omc_Tpl_writeText(threadData, _txt, _a_var__name);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT2716);
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_LIT2718);
_txt = omc_Tpl_writeText(threadData, _txt, _a_rhs);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT301);
_txt = omc_Tpl_writeText(threadData, _txt, _a_var__name);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT2716);
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[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_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: {
modelica_metatype tmpMeta6;
modelica_metatype tmpMeta7;
if (listEmpty(tmp4_2)) goto tmp3_end;
tmpMeta6 = MMC_CAR(tmp4_2);
tmpMeta7 = MMC_CDR(tmp4_2);
_i_dim = tmpMeta6;
_rest = tmpMeta7;
_txt = tmp4_1;
_a_auxFunction = tmp4_3;
_a_varDecls = tmp4_4;
_a_preExpAlloc = tmp4_5;
_a_context = tmp4_6;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1311);
_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_LIT2720);
_txt = omc_CodegenCFunctions_contextCrefNoPrevExp(threadData, _txt, _a_var__cref, _OMC_LIT1401, _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[5] __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_metatype tmpMeta6;
modelica_metatype tmpMeta7;
modelica_metatype tmpMeta8;
modelica_integer tmp9;
tmpMeta6 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 5));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta6,1,4) == 0) goto tmp3_end;
tmpMeta7 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta6), 2));
tmpMeta8 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 6));
tmp9 = mmc_unbox_integer(tmpMeta8);
if (1 != tmp9) goto tmp3_end;
_i_exp = tmpMeta7;
_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_LIT244);
_a_ctor__suffix = omc_Tpl_writeStr(threadData, _a_ctor__suffix, intString(_a_ix));
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT301);
_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_metatype tmpMeta10;
modelica_integer tmp11;
tmpMeta10 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 6));
tmp11 = mmc_unbox_integer(tmpMeta10);
if (1 != tmp11) 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_LIT2721);
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_LIT2210);
_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_LIT299);
_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[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;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: {
modelica_metatype tmpMeta6;
if (optionNone(tmp4_2)) goto tmp3_end;
tmpMeta6 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 1));
_i_rhs__exp = tmpMeta6;
_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_LIT2723);
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_LIT2725);
_txt = omc_Tpl_writeText(threadData, _txt, _a_var__name);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT2710);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT98);
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_LIT2720);
_l_in__var__name = omc_CodegenCFunctions_contextCrefNoPrevExp(threadData, _l_in__var__name, _a_var__cref, _OMC_LIT1401, _a_auxFunction ,&_a_auxFunction);
_txt = omc_Tpl_writeText(threadData, _txt, _a_type__name);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT601);
_txt = omc_Tpl_writeText(threadData, _txt, _l_in__var__name);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT301);
_txt = omc_Tpl_writeText(threadData, _txt, _a_var__name);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT299);
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[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_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: {
modelica_metatype tmpMeta6;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,9,3) == 0) goto tmp3_end;
tmpMeta6 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 3));
_i_ty_varLst = tmpMeta6;
_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_LIT147);
_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[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_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: {
modelica_metatype tmpMeta6;
modelica_metatype tmpMeta7;
if (listEmpty(tmp4_2)) goto tmp3_end;
tmpMeta6 = MMC_CAR(tmp4_2);
tmpMeta7 = MMC_CDR(tmp4_2);
_i_sv = tmpMeta6;
_rest = tmpMeta7;
_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[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_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: {
modelica_metatype tmpMeta6;
if (optionNone(tmp4_2)) goto tmp3_end;
tmpMeta6 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 1));
_i_rhs__exp = tmpMeta6;
_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_LIT129);
_txt = omc_Tpl_writeText(threadData, _txt, _l_rhs);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT113);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT98);
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_LIT2726);
_txt = omc_Tpl_writeText(threadData, _txt, _a_var__name);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT2710);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT98);
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_LIT2720);
_txt = omc_CodegenCFunctions_contextCrefNoPrevExp(threadData, _txt, _a_var__cref, _OMC_LIT1401, _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[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_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_metatype tmpMeta6;
modelica_metatype tmpMeta7;
modelica_metatype tmpMeta8;
modelica_metatype tmpMeta9;
modelica_integer tmp10;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,0,7) == 0) goto tmp3_end;
tmpMeta6 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
tmpMeta7 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 3));
tmpMeta8 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 4));
tmpMeta9 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 8));
tmp10 = mmc_unbox_integer(tmpMeta9);
_i_var_name = tmpMeta6;
_i_var_ty = tmpMeta7;
_i_var_value = tmpMeta8;
_i_var_bind__from__outside = tmp10;
_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[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_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: {
modelica_metatype tmpMeta6;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,6,2) == 0) goto tmp3_end;
tmpMeta6 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 3));
_i_ty = tmp4_2;
_i_ty_dims = tmpMeta6;
_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: {
modelica_metatype tmpMeta7;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,9,3) == 0) goto tmp3_end;
tmpMeta7 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta7,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_LIT2652);
_out_txt = omc_Tpl_writeStr(threadData, _out_txt, _a_ctor__name);
_out_txt = omc_Tpl_writeTok(threadData, _out_txt, _OMC_LIT2728);
_out_txt = omc_Tpl_writeText(threadData, _out_txt, _l_ctor__additional__inputs);
_out_txt = omc_Tpl_writeTok(threadData, _out_txt, _OMC_LIT191);
_out_txt = omc_Tpl_pushBlock(threadData, _out_txt, _OMC_LIT105);
_out_txt = omc_Tpl_writeStr(threadData, _out_txt, _a_rec__name);
_out_txt = omc_Tpl_writeTok(threadData, _out_txt, _OMC_LIT2730);
_out_txt = omc_Tpl_writeStr(threadData, _out_txt, _a_rec__name);
_out_txt = omc_Tpl_writeTok(threadData, _out_txt, _OMC_LIT2732);
_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_LIT111);
_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[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_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: {
modelica_metatype tmpMeta6;
modelica_metatype tmpMeta7;
if (listEmpty(tmp4_2)) goto tmp3_end;
tmpMeta6 = MMC_CAR(tmp4_2);
tmpMeta7 = MMC_CDR(tmp4_2);
_i_var = tmpMeta6;
_rest = tmpMeta7;
_txt = tmp4_1;
_a_auxFunction = tmp4_3;
_a_varDecls = tmp4_4;
_ret_0 = omc_SimCodeFunctionUtil_appendCurrentCrefPrefix(threadData, _OMC_LIT1401, _OMC_LIT2733);
_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[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_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_metatype tmpMeta6;
modelica_metatype tmpMeta7;
modelica_metatype tmpMeta8;
modelica_metatype tmpMeta9;
modelica_integer tmp10;
if (listEmpty(tmp4_2)) goto tmp3_end;
tmpMeta6 = MMC_CAR(tmp4_2);
tmpMeta7 = MMC_CDR(tmp4_2);
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta6,0,7) == 0) goto tmp3_end;
tmpMeta8 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta6), 2));
tmpMeta9 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta6), 8));
tmp10 = mmc_unbox_integer(tmpMeta9);
_i_var = tmpMeta6;
_i_var_name = tmpMeta8;
_i_var_bind__from__outside = tmp10;
_rest = tmpMeta7;
_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: {
modelica_metatype tmpMeta11;
modelica_metatype tmpMeta12;
if (listEmpty(tmp4_2)) goto tmp3_end;
tmpMeta11 = MMC_CAR(tmp4_2);
tmpMeta12 = MMC_CDR(tmp4_2);
_rest = tmpMeta12;
_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_LIT301);
_txt = omc_CodegenCFunctions_varType(threadData, _txt, _a_var);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT2735);
tmpMeta[0+0] = omc_CodegenCFunctions_contextCrefNoPrevExp(threadData, _txt, _a_var_name, _OMC_LIT1401, _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[3] __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: {
modelica_metatype tmpMeta6;
modelica_metatype tmpMeta7;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,0,7) == 0) goto tmp3_end;
tmpMeta6 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
tmpMeta7 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 3));
_i_var_name = tmpMeta6;
_i_ty = tmpMeta7;
_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_LIT1401, _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_LIT1401, _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[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_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_LIT2232);
_a_varCopies = omc_Tpl_writeText(threadData, _a_varCopies, _a_srcName);
_a_varCopies = omc_Tpl_writeTok(threadData, _a_varCopies, _OMC_LIT301);
_a_varCopies = omc_Tpl_writeText(threadData, _a_varCopies, _a_dstName);
_a_varCopies = omc_Tpl_writeTok(threadData, _a_varCopies, _OMC_LIT299);
_a_varCopies = omc_Tpl_writeTok(threadData, _a_varCopies, _OMC_LIT98);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_varCopies;
goto tmp3_done;
}
case 1: {
modelica_metatype tmpMeta6;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,9,3) == 0) goto tmp3_end;
tmpMeta6 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta6,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_LIT601);
_a_varCopies = omc_Tpl_writeText(threadData, _a_varCopies, _a_srcName);
_a_varCopies = omc_Tpl_writeTok(threadData, _a_varCopies, _OMC_LIT301);
_a_varCopies = omc_Tpl_writeText(threadData, _a_varCopies, _a_dstName);
_a_varCopies = omc_Tpl_writeTok(threadData, _a_varCopies, _OMC_LIT299);
_a_varCopies = omc_Tpl_writeTok(threadData, _a_varCopies, _OMC_LIT98);
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_LIT129);
_a_varCopies = omc_Tpl_writeText(threadData, _a_varCopies, _a_srcName);
_a_varCopies = omc_Tpl_writeTok(threadData, _a_varCopies, _OMC_LIT113);
_a_varCopies = omc_Tpl_writeTok(threadData, _a_varCopies, _OMC_LIT98);
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_LIT2737);
_l_src__pref = omc_Tpl_writeTok(threadData, _OMC_LIT20, _OMC_LIT2735);
_l_0__ = omc_Tpl_pushIter(threadData, _OMC_LIT20, _OMC_LIT104);
_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_LIT2742);
_out_txt = omc_Tpl_writeStr(threadData, _out_txt, _a_rec__name);
_out_txt = omc_Tpl_writeTok(threadData, _out_txt, _OMC_LIT2354);
_out_txt = omc_Tpl_writeStr(threadData, _out_txt, _a_rec__name);
_out_txt = omc_Tpl_writeTok(threadData, _out_txt, _OMC_LIT2744);
_out_txt = omc_Tpl_writeText(threadData, _out_txt, _l_inputs);
_out_txt = omc_Tpl_writeTok(threadData, _out_txt, _OMC_LIT191);
_out_txt = omc_Tpl_pushBlock(threadData, _out_txt, _OMC_LIT105);
_out_txt = omc_Tpl_writeStr(threadData, _out_txt, _a_rec__name);
_out_txt = omc_Tpl_writeTok(threadData, _out_txt, _OMC_LIT2749);
_out_txt = omc_Tpl_writeStr(threadData, _out_txt, _a_rec__name);
_out_txt = omc_Tpl_writeTok(threadData, _out_txt, _OMC_LIT2754);
_out_txt = omc_Tpl_writeStr(threadData, _out_txt, _a_rec__name);
_out_txt = omc_Tpl_writeTok(threadData, _out_txt, _OMC_LIT2756);
_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_LIT2758);
_out_txt = omc_Tpl_popBlock(threadData, _out_txt);
_out_txt = omc_Tpl_writeTok(threadData, _out_txt, _OMC_LIT2760);
_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[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_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: {
modelica_metatype tmpMeta6;
modelica_metatype tmpMeta7;
modelica_metatype tmpMeta8;
if (listEmpty(tmp4_2)) goto tmp3_end;
tmpMeta6 = MMC_CAR(tmp4_2);
tmpMeta7 = MMC_CDR(tmp4_2);
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta6,0,7) == 0) goto tmp3_end;
tmpMeta8 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta6), 2));
_i_var = tmpMeta6;
_i_var_name = tmpMeta8;
_rest = tmpMeta7;
_txt = tmp4_1;
_a_auxFunction = tmp4_3;
_a_src__pref = tmp4_4;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT301);
_txt = omc_CodegenCFunctions_varType(threadData, _txt, _i_var);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT34);
_txt = omc_Tpl_writeText(threadData, _txt, _a_src__pref);
_txt = omc_CodegenCFunctions_contextCrefNoPrevExp(threadData, _txt, _i_var_name, _OMC_LIT1401, _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: {
modelica_metatype tmpMeta9;
modelica_metatype tmpMeta10;
if (listEmpty(tmp4_2)) goto tmp3_end;
tmpMeta9 = MMC_CAR(tmp4_2);
tmpMeta10 = MMC_CDR(tmp4_2);
_rest = tmpMeta10;
_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[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;
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: {
modelica_metatype tmpMeta6;
modelica_metatype tmpMeta7;
if (listEmpty(tmp4_2)) goto tmp3_end;
tmpMeta6 = MMC_CAR(tmp4_2);
tmpMeta7 = MMC_CDR(tmp4_2);
_i_var = tmpMeta6;
_rest = tmpMeta7;
_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_LIT2762);
_l_src__pref = omc_Tpl_writeTok(threadData, _OMC_LIT20, _OMC_LIT2764);
_l_0__ = omc_Tpl_pushIter(threadData, _OMC_LIT20, _OMC_LIT104);
_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_LIT2652);
_out_txt = omc_Tpl_writeStr(threadData, _out_txt, _a_rec__name);
_out_txt = omc_Tpl_writeTok(threadData, _out_txt, _OMC_LIT2766);
_out_txt = omc_Tpl_pushBlock(threadData, _out_txt, _OMC_LIT105);
_out_txt = omc_Tpl_writeStr(threadData, _out_txt, _a_rec__name);
_out_txt = omc_Tpl_writeTok(threadData, _out_txt, _OMC_LIT2768);
_out_txt = omc_Tpl_writeStr(threadData, _out_txt, _a_rec__name);
_out_txt = omc_Tpl_writeTok(threadData, _out_txt, _OMC_LIT2770);
_out_txt = omc_Tpl_writeStr(threadData, _out_txt, _a_rec__name);
_out_txt = omc_Tpl_writeTok(threadData, _out_txt, _OMC_LIT2772);
_out_txt = omc_Tpl_writeStr(threadData, _out_txt, _a_rec__name);
_out_txt = omc_Tpl_writeTok(threadData, _out_txt, _OMC_LIT2774);
_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_LIT111);
_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[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;
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: {
modelica_metatype tmpMeta6;
modelica_metatype tmpMeta7;
if (listEmpty(tmp4_2)) goto tmp3_end;
tmpMeta6 = MMC_CAR(tmp4_2);
tmpMeta7 = MMC_CDR(tmp4_2);
_i_var = tmpMeta6;
_rest = tmpMeta7;
_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 tmpMeta1;
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_metatype tmp4_2;
tmp4_1 = _in_txt;
tmp4_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 tmp4;
int tmp5;
tmp4 = 0;
for (; tmp4 < 2; tmp4++) {
switch (MMC_SWITCH_CAST(tmp4)) {
case 0: {
modelica_metatype tmpMeta6;
modelica_metatype tmpMeta7;
modelica_metatype tmpMeta8;
modelica_metatype tmpMeta9;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,0,4) == 0) goto tmp3_end;
tmpMeta6 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
tmpMeta7 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 3));
tmpMeta8 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 4));
tmpMeta9 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 5));
_i_r_name = tmpMeta6;
_i_aliasName = tmpMeta7;
_i_r_defPath = tmpMeta8;
_i_r_variables = tmpMeta9;
_txt = tmp4_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_LIT2776);
_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_LIT2778);
_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_LIT2780);
_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_LIT2778);
_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_LIT2782);
_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_LIT2778);
_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_LIT643);
_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_LIT2681);
_txt = omc_CodegenUtil_underscorePath(threadData, _txt, _i_r_defPath);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT2787);
_txt = omc_Tpl_writeText(threadData, _txt, _l_ctor__func__name);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT2789);
_txt = omc_Tpl_writeText(threadData, _txt, _l_ctor__additional__inputs);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1728);
_txt = omc_Tpl_writeText(threadData, _txt, _l_ctor__macro__name);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT2791);
_txt = omc_Tpl_writeText(threadData, _txt, _l_ctor__macro__additional__inputs);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT138);
_txt = omc_Tpl_writeText(threadData, _txt, _l_ctor__func__name);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT2793);
_txt = omc_Tpl_writeText(threadData, _txt, _l_ctor__macro__additional__inputs);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT2795);
_txt = omc_Tpl_writeText(threadData, _txt, _l_cpy__func__name);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT2798);
_txt = omc_Tpl_writeText(threadData, _txt, _l_cpy__macro__name);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT2800);
_txt = omc_Tpl_writeText(threadData, _txt, _l_cpy__func__name);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT2806);
_txt = omc_Tpl_writeText(threadData, _txt, _l_rec__name);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT34);
_txt = omc_Tpl_writeText(threadData, _txt, _l_modelica__ctor__name);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT2744);
_txt = omc_Tpl_writeText(threadData, _txt, _l_modelica__ctor__inputs);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT2819);
_txt = omc_Tpl_writeText(threadData, _txt, _l_copy__to__vars__name__p);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT2821);
_txt = omc_Tpl_writeText(threadData, _txt, _l_copy__to__vars__inputs);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT2825);
_txt = omc_Tpl_writeText(threadData, _txt, _l_copy__to__vars__name);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT2827);
_txt = omc_Tpl_writeText(threadData, _txt, _l_copy__to__vars__name__p);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT2833);
_txt = omc_Tpl_writeText(threadData, _txt, _l_rec__name);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT2838);
_txt = omc_Tpl_writeText(threadData, _txt, _l_rec__name);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT2840);
_txt = omc_Tpl_writeText(threadData, _txt, _l_ctor__func__name);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT2842);
_txt = omc_Tpl_writeText(threadData, _txt, _l_rec__name);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT2845);
_txt = omc_Tpl_writeText(threadData, _txt, _l_rec__name);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT2847);
_txt = omc_Tpl_writeText(threadData, _txt, _l_cpy__func__name);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT295);
_txt = omc_Tpl_writeText(threadData, _txt, _l_rec__name);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT2849);
_txt = omc_Tpl_writeText(threadData, _txt, _l_rec__name);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT2851);
_txt = omc_Tpl_writeText(threadData, _txt, _l_cpy__func__name);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT295);
_txt = omc_Tpl_writeText(threadData, _txt, _l_rec__name);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT2849);
_txt = omc_Tpl_writeText(threadData, _txt, _l_rec__name);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT2853);
_txt = omc_Tpl_writeText(threadData, _txt, _l_rec__name);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT2855);
_txt = omc_Tpl_writeText(threadData, _txt, _l_rec__name);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT2858);
_txt = omc_Tpl_writeText(threadData, _txt, _l_rec__name);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT2860);
_txt = omc_Tpl_writeText(threadData, _txt, _l_cpy__func__name);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT295);
_txt = omc_Tpl_writeText(threadData, _txt, _l_rec__name);
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT2862);
goto tmp3_done;
}
case 1: {
_txt = tmp4_1;
tmpMeta1 = _txt;
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta1;
_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 tmpMeta1;
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_aliasName;
tmp4_3 = _in_a_r_variables;
tmp4_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 tmp4;
int tmp5;
tmp4 = 0;
for (; tmp4 < 2; tmp4++) {
switch (MMC_SWITCH_CAST(tmp4)) {
case 0: {
modelica_metatype tmpMeta6;
if (optionNone(tmp4_2)) goto tmp3_end;
tmpMeta6 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 1));
_i_str = tmpMeta6;
_txt = tmp4_1;
_a_rec__name = tmp4_4;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT2570);
_txt = omc_Tpl_writeStr(threadData, _txt, _i_str);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT34);
_txt = omc_Tpl_writeText(threadData, _txt, _a_rec__name);
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT113);
goto tmp3_done;
}
case 1: {
_txt = tmp4_1;
_a_r_variables = tmp4_3;
_a_rec__name = tmp4_4;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT2864);
_txt = omc_Tpl_pushBlock(threadData, _txt, _OMC_LIT105);
_txt = omc_Tpl_pushIter(threadData, _txt, _OMC_LIT104);
_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_LIT261);
_txt = omc_Tpl_writeText(threadData, _txt, _a_rec__name);
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT113);
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta1;
_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 tmpMeta1;
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_metatype tmp4_2;
tmp4_1 = _in_txt;
tmp4_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 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;
tmpMeta1 = _txt;
goto tmp3_done;
}
case 1: {
modelica_metatype tmpMeta6;
modelica_metatype tmpMeta7;
modelica_metatype tmpMeta8;
if (listEmpty(tmp4_2)) goto tmp3_end;
tmpMeta6 = MMC_CAR(tmp4_2);
tmpMeta7 = MMC_CDR(tmp4_2);
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta6,0,7) == 0) goto tmp3_end;
tmpMeta8 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta6), 2));
_i_var = tmpMeta6;
_i_var_name = tmpMeta8;
_rest = tmpMeta7;
_txt = tmp4_1;
_txt = omc_CodegenCFunctions_varType(threadData, _txt, _i_var);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT242);
_txt = omc_CodegenUtil_crefStr(threadData, _txt, _i_var_name);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT113);
_txt = omc_Tpl_nextIter(threadData, _txt);
_in_txt = _txt;
_in_items = _rest;
goto _tailrecursive;
goto tmp3_done;
}
case 2: {
modelica_metatype tmpMeta9;
modelica_metatype tmpMeta10;
if (listEmpty(tmp4_2)) goto tmp3_end;
tmpMeta9 = MMC_CAR(tmp4_2);
tmpMeta10 = MMC_CDR(tmp4_2);
_rest = tmpMeta10;
_txt = tmp4_1;
_in_txt = _txt;
_in_items = _rest;
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 = tmpMeta1;
_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 tmpMeta1;
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_metatype tmp4_2;
tmp4_1 = _in_txt;
tmp4_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 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;
tmpMeta1 = _txt;
goto tmp3_done;
}
case 1: {
modelica_metatype tmpMeta6;
modelica_metatype tmpMeta7;
modelica_metatype tmpMeta8;
if (listEmpty(tmp4_2)) goto tmp3_end;
tmpMeta6 = MMC_CAR(tmp4_2);
tmpMeta7 = MMC_CDR(tmp4_2);
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta6,0,7) == 0) goto tmp3_end;
tmpMeta8 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta6), 2));
_i_var = tmpMeta6;
_i_var_name = tmpMeta8;
_rest = tmpMeta7;
_txt = tmp4_1;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT301);
_txt = omc_CodegenCFunctions_varType(threadData, _txt, _i_var);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT2866);
_txt = omc_CodegenUtil_crefStr(threadData, _txt, _i_var_name);
_in_txt = _txt;
_in_items = _rest;
goto _tailrecursive;
goto tmp3_done;
}
case 2: {
modelica_metatype tmpMeta9;
modelica_metatype tmpMeta10;
if (listEmpty(tmp4_2)) goto tmp3_end;
tmpMeta9 = MMC_CAR(tmp4_2);
tmpMeta10 = MMC_CDR(tmp4_2);
_rest = tmpMeta10;
_txt = tmp4_1;
_in_txt = _txt;
_in_items = _rest;
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 = tmpMeta1;
_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 tmpMeta1;
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_metatype tmp4_2;
tmp4_1 = _in_txt;
tmp4_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 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;
tmpMeta1 = _txt;
goto tmp3_done;
}
case 1: {
modelica_metatype tmpMeta6;
modelica_metatype tmpMeta7;
modelica_metatype tmpMeta8;
if (listEmpty(tmp4_2)) goto tmp3_end;
tmpMeta6 = MMC_CAR(tmp4_2);
tmpMeta7 = MMC_CDR(tmp4_2);
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta6,0,7) == 0) goto tmp3_end;
tmpMeta8 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta6), 2));
_i_var = tmpMeta6;
_i_var_name = tmpMeta8;
_rest = tmpMeta7;
_txt = tmp4_1;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT301);
_txt = omc_CodegenCFunctions_varType(threadData, _txt, _i_var);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT2868);
_txt = omc_CodegenUtil_crefStr(threadData, _txt, _i_var_name);
_in_txt = _txt;
_in_items = _rest;
goto _tailrecursive;
goto tmp3_done;
}
case 2: {
modelica_metatype tmpMeta9;
modelica_metatype tmpMeta10;
if (listEmpty(tmp4_2)) goto tmp3_end;
tmpMeta9 = MMC_CAR(tmp4_2);
tmpMeta10 = MMC_CDR(tmp4_2);
_rest = tmpMeta10;
_txt = tmp4_1;
_in_txt = _txt;
_in_items = _rest;
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 = tmpMeta1;
_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 tmpMeta1;
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_metatype tmp4_2;
tmp4_1 = _in_txt;
tmp4_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 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;
tmpMeta1 = _txt;
goto tmp3_done;
}
case 1: {
modelica_metatype tmpMeta6;
modelica_metatype tmpMeta7;
modelica_metatype tmpMeta8;
modelica_metatype tmpMeta9;
modelica_integer tmp10;
if (listEmpty(tmp4_2)) goto tmp3_end;
tmpMeta6 = MMC_CAR(tmp4_2);
tmpMeta7 = MMC_CDR(tmp4_2);
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta6,0,7) == 0) goto tmp3_end;
tmpMeta8 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta6), 2));
tmpMeta9 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta6), 8));
tmp10 = mmc_unbox_integer(tmpMeta9);
_i_var = tmpMeta6;
_i_var_name = tmpMeta8;
_i_var_bind__from__outside = tmp10;
_rest = tmpMeta7;
_txt = tmp4_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 tmp3_done;
}
case 2: {
modelica_metatype tmpMeta11;
modelica_metatype tmpMeta12;
if (listEmpty(tmp4_2)) goto tmp3_end;
tmpMeta11 = MMC_CAR(tmp4_2);
tmpMeta12 = MMC_CDR(tmp4_2);
_rest = tmpMeta12;
_txt = tmp4_1;
_in_txt = _txt;
_in_items = _rest;
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 = tmpMeta1;
_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 tmpMeta1;
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_a_var_bind__from__outside;
tmp4_3 = _in_a_var_name;
tmp4_4 = _in_a_var;
{
modelica_metatype _txt = 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;
tmpMeta1 = _txt;
goto tmp3_done;
}
case 1: {
_txt = tmp4_1;
_a_var_name = tmp4_3;
_a_var = tmp4_4;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT301);
_txt = omc_CodegenCFunctions_varType(threadData, _txt, _a_var);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT2866);
tmpMeta1 = omc_CodegenUtil_crefStr(threadData, _txt, _a_var_name);
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta1;
_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 tmpMeta1;
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_metatype tmp4_2;
tmp4_1 = _in_txt;
tmp4_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 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;
tmpMeta1 = _txt;
goto tmp3_done;
}
case 1: {
modelica_metatype tmpMeta6;
modelica_metatype tmpMeta7;
modelica_metatype tmpMeta8;
modelica_metatype tmpMeta9;
modelica_integer tmp10;
if (listEmpty(tmp4_2)) goto tmp3_end;
tmpMeta6 = MMC_CAR(tmp4_2);
tmpMeta7 = MMC_CDR(tmp4_2);
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta6,0,7) == 0) goto tmp3_end;
tmpMeta8 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta6), 2));
tmpMeta9 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta6), 8));
tmp10 = mmc_unbox_integer(tmpMeta9);
_i_var_name = tmpMeta8;
_i_var_bind__from__outside = tmp10;
_rest = tmpMeta7;
_txt = tmp4_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 tmp3_done;
}
case 2: {
modelica_metatype tmpMeta11;
modelica_metatype tmpMeta12;
if (listEmpty(tmp4_2)) goto tmp3_end;
tmpMeta11 = MMC_CAR(tmp4_2);
tmpMeta12 = MMC_CDR(tmp4_2);
_rest = tmpMeta12;
_txt = tmp4_1;
_in_txt = _txt;
_in_items = _rest;
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 = tmpMeta1;
_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 tmpMeta1;
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_a_var_bind__from__outside;
tmp4_3 = _in_a_var_name;
{
modelica_metatype _txt = NULL;
modelica_metatype _a_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;
tmpMeta1 = _txt;
goto tmp3_done;
}
case 1: {
_txt = tmp4_1;
_a_var_name = tmp4_3;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT301);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT2870);
tmpMeta1 = omc_CodegenUtil_crefStr(threadData, _txt, _a_var_name);
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta1;
_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 tmpMeta1;
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_metatype tmp4_2;
tmp4_1 = _in_txt;
tmp4_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 tmp4;
int tmp5;
tmp4 = 0;
for (; tmp4 < 2; tmp4++) {
switch (MMC_SWITCH_CAST(tmp4)) {
case 0: {
modelica_metatype tmpMeta6;
modelica_metatype tmpMeta7;
modelica_metatype tmpMeta8;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,1,3) == 0) goto tmp3_end;
tmpMeta6 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
tmpMeta7 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 3));
tmpMeta8 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 4));
_i_r_ctor__name = tmpMeta6;
_i_r_name = tmpMeta7;
_i_r_variables = tmpMeta8;
_txt = tmp4_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_LIT2776);
_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_LIT2778);
_l_ctor__additional__inputs = omc_CodegenCFunctions_lm__92(threadData, _OMC_LIT20, _i_r_variables);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT2652);
_txt = omc_Tpl_writeText(threadData, _txt, _l_ctor__func__name);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT2789);
_txt = omc_Tpl_writeText(threadData, _txt, _l_ctor__additional__inputs);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT1728);
_txt = omc_Tpl_writeText(threadData, _txt, _l_ctor__macro__name);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT2791);
_txt = omc_Tpl_writeText(threadData, _txt, _l_ctor__macro__additional__inputs);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT138);
_txt = omc_Tpl_writeText(threadData, _txt, _l_ctor__func__name);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT2793);
_txt = omc_Tpl_writeText(threadData, _txt, _l_ctor__macro__additional__inputs);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT2873);
_txt = omc_Tpl_writeText(threadData, _txt, _l_ctor__name);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT2840);
_txt = omc_Tpl_writeText(threadData, _txt, _l_ctor__func__name);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT2842);
_txt = omc_Tpl_writeText(threadData, _txt, _l_rec__name);
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT2862);
goto tmp3_done;
}
case 1: {
_txt = tmp4_1;
tmpMeta1 = _txt;
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta1;
_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 tmpMeta1;
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_metatype tmp4_2;
tmp4_1 = _in_txt;
tmp4_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 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;
tmpMeta1 = _txt;
goto tmp3_done;
}
case 1: {
modelica_metatype tmpMeta6;
modelica_metatype tmpMeta7;
modelica_metatype tmpMeta8;
modelica_metatype tmpMeta9;
modelica_integer tmp10;
if (listEmpty(tmp4_2)) goto tmp3_end;
tmpMeta6 = MMC_CAR(tmp4_2);
tmpMeta7 = MMC_CDR(tmp4_2);
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta6,0,7) == 0) goto tmp3_end;
tmpMeta8 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta6), 2));
tmpMeta9 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta6), 8));
tmp10 = mmc_unbox_integer(tmpMeta9);
_i_var = tmpMeta6;
_i_var_name = tmpMeta8;
_i_var_bind__from__outside = tmp10;
_rest = tmpMeta7;
_txt = tmp4_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 tmp3_done;
}
case 2: {
modelica_metatype tmpMeta11;
modelica_metatype tmpMeta12;
if (listEmpty(tmp4_2)) goto tmp3_end;
tmpMeta11 = MMC_CAR(tmp4_2);
tmpMeta12 = MMC_CDR(tmp4_2);
_rest = tmpMeta12;
_txt = tmp4_1;
_in_txt = _txt;
_in_items = _rest;
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 = tmpMeta1;
_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 tmpMeta1;
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_a_var_bind__from__outside;
tmp4_3 = _in_a_var_name;
tmp4_4 = _in_a_var;
{
modelica_metatype _txt = 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;
tmpMeta1 = _txt;
goto tmp3_done;
}
case 1: {
_txt = tmp4_1;
_a_var_name = tmp4_3;
_a_var = tmp4_4;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT301);
_txt = omc_CodegenCFunctions_varType(threadData, _txt, _a_var);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT2866);
tmpMeta1 = omc_CodegenUtil_crefStr(threadData, _txt, _a_var_name);
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta1;
_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 tmpMeta1;
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_metatype tmp4_2;
tmp4_1 = _in_txt;
tmp4_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 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;
tmpMeta1 = _txt;
goto tmp3_done;
}
case 1: {
modelica_metatype tmpMeta6;
modelica_metatype tmpMeta7;
modelica_metatype tmpMeta8;
modelica_metatype tmpMeta9;
modelica_integer tmp10;
if (listEmpty(tmp4_2)) goto tmp3_end;
tmpMeta6 = MMC_CAR(tmp4_2);
tmpMeta7 = MMC_CDR(tmp4_2);
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta6,0,7) == 0) goto tmp3_end;
tmpMeta8 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta6), 2));
tmpMeta9 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta6), 8));
tmp10 = mmc_unbox_integer(tmpMeta9);
_i_var_name = tmpMeta8;
_i_var_bind__from__outside = tmp10;
_rest = tmpMeta7;
_txt = tmp4_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 tmp3_done;
}
case 2: {
modelica_metatype tmpMeta11;
modelica_metatype tmpMeta12;
if (listEmpty(tmp4_2)) goto tmp3_end;
tmpMeta11 = MMC_CAR(tmp4_2);
tmpMeta12 = MMC_CDR(tmp4_2);
_rest = tmpMeta12;
_txt = tmp4_1;
_in_txt = _txt;
_in_items = _rest;
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 = tmpMeta1;
_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 tmpMeta1;
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_a_var_bind__from__outside;
tmp4_3 = _in_a_var_name;
{
modelica_metatype _txt = NULL;
modelica_metatype _a_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;
tmpMeta1 = _txt;
goto tmp3_done;
}
case 1: {
_txt = tmp4_1;
_a_var_name = tmp4_3;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT301);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT2870);
tmpMeta1 = omc_CodegenUtil_crefStr(threadData, _txt, _a_var_name);
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta1;
_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 tmpMeta1;
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_metatype tmp4_2;
tmp4_1 = _in_txt;
tmp4_2 = _in_a_recDecl;
{
modelica_metatype _txt = NULL;
modelica_metatype _i_r_path = NULL;
modelica_metatype _i_r = 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;
_i_r = tmp4_2;
_txt = tmp4_1;
tmpMeta1 = omc_CodegenCFunctions_recordDeclarationFullHeader(threadData, _txt, _i_r);
goto tmp3_done;
}
case 1: {
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,1,3) == 0) goto tmp3_end;
_i_r = tmp4_2;
_txt = tmp4_1;
tmpMeta1 = omc_CodegenCFunctions_recordDeclarationExtraCtor(threadData, _txt, _i_r);
goto tmp3_done;
}
case 2: {
modelica_metatype tmpMeta6;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,2,2) == 0) goto tmp3_end;
tmpMeta6 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
_i_r_path = tmpMeta6;
_txt = tmp4_1;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT2681);
_txt = omc_CodegenUtil_underscorePath(threadData, _txt, _i_r_path);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT2683);
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT98);
goto tmp3_done;
}
case 3: {
_txt = tmp4_1;
tmpMeta1 = _txt;
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta1;
_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 tmpMeta1;
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_metatype tmp4_2;
tmp4_1 = _in_txt;
tmp4_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 tmp4;
{
switch (MMC_SWITCH_CAST(valueConstructor(tmp4_2))) {
case 3: {
modelica_metatype tmpMeta5;
modelica_metatype tmpMeta6;
modelica_metatype tmpMeta7;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,0,4) == 0) goto tmp3_end;
tmpMeta5 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
tmpMeta6 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 4));
tmpMeta7 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 5));
_i_r_name = tmpMeta5;
_i_defPath = tmpMeta6;
_i_r_variables = tmpMeta7;
_i_variables = tmpMeta7;
_txt = tmp4_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_LIT1777);
_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_LIT98);
_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_LIT98);
tmpMeta1 = omc_CodegenCFunctions_recordCopyDef(threadData, _txt, _i_r_name, _i_r_variables);
goto tmp3_done;
}
case 4: {
modelica_metatype tmpMeta8;
modelica_metatype tmpMeta9;
modelica_metatype tmpMeta10;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,1,3) == 0) goto tmp3_end;
tmpMeta8 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
tmpMeta9 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 3));
tmpMeta10 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 4));
_i_r_ctor__name = tmpMeta8;
_i_r_name = tmpMeta9;
_i_r_variables = tmpMeta10;
_txt = tmp4_1;
tmpMeta1 = omc_CodegenCFunctions_recordConstructorDef(threadData, _txt, _i_r_ctor__name, _i_r_name, _i_r_variables);
goto tmp3_done;
}
case 5: {
modelica_metatype tmpMeta11;
modelica_metatype tmpMeta12;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,2,2) == 0) goto tmp3_end;
tmpMeta11 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
tmpMeta12 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 3));
_i_r_path = tmpMeta11;
_i_r_fieldNames = tmpMeta12;
_txt = tmp4_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_LIT1777);
_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);
tmpMeta1 = 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 tmp3_done;
}
default:
tmp3_default: OMC_LABEL_UNUSED; {
_txt = tmp4_1;
tmpMeta1 = _txt;
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta1;
_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 tmpMeta1;
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_metatype tmp4_2;
tmp4_1 = _in_txt;
tmp4_2 = _in_items;
{
modelica_metatype _txt = NULL;
modelica_metatype _rest = NULL;
modelica_string _i_fname = 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;
tmpMeta1 = _txt;
goto tmp3_done;
}
case 1: {
modelica_metatype tmpMeta6;
modelica_metatype tmpMeta7;
if (listEmpty(tmp4_2)) goto tmp3_end;
tmpMeta6 = MMC_CAR(tmp4_2);
tmpMeta7 = MMC_CDR(tmp4_2);
_i_fname = tmpMeta6;
_rest = tmpMeta7;
_txt = tmp4_1;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT940);
_txt = omc_Tpl_writeStr(threadData, _txt, _i_fname);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT940);
_txt = omc_Tpl_nextIter(threadData, _txt);
_in_txt = _txt;
_in_items = _rest;
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 = tmpMeta1;
_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 tmpMeta1;
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_metatype tmp4_2;
tmp4_1 = _in_txt;
tmp4_2 = _in_items;
{
modelica_metatype _txt = NULL;
modelica_metatype _rest = NULL;
modelica_metatype _i_name = 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;
tmpMeta1 = _txt;
goto tmp3_done;
}
case 1: {
modelica_metatype tmpMeta6;
modelica_metatype tmpMeta7;
modelica_metatype tmpMeta8;
if (listEmpty(tmp4_2)) goto tmp3_end;
tmpMeta6 = MMC_CAR(tmp4_2);
tmpMeta7 = MMC_CDR(tmp4_2);
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta6,0,7) == 0) goto tmp3_end;
tmpMeta8 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta6), 2));
_i_name = tmpMeta8;
_rest = tmpMeta7;
_txt = tmp4_1;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT940);
_txt = omc_CodegenUtil_crefStr(threadData, _txt, _i_name);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT940);
_txt = omc_Tpl_nextIter(threadData, _txt);
_in_txt = _txt;
_in_items = _rest;
goto _tailrecursive;
goto tmp3_done;
}
case 2: {
modelica_metatype tmpMeta9;
modelica_metatype tmpMeta10;
if (listEmpty(tmp4_2)) goto tmp3_end;
tmpMeta9 = MMC_CAR(tmp4_2);
tmpMeta10 = MMC_CDR(tmp4_2);
_rest = tmpMeta10;
_txt = tmp4_1;
_in_txt = _txt;
_in_items = _rest;
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 = tmpMeta1;
_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_LIT303);
_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[2] __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_LIT2649);
_txt = omc_Tpl_writeStr(threadData, _txt, _a_fname);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT30);
_txt = omc_Tpl_writeText(threadData, _txt, _a_fargsStr);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT87);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_fargsStr;
goto tmp3_done;
}
case 1: {
modelica_metatype tmpMeta6;
modelica_metatype tmpMeta7;
if (listEmpty(tmp4_2)) goto tmp3_end;
tmpMeta6 = MMC_CAR(tmp4_2);
tmpMeta7 = MMC_CDR(tmp4_2);
_i_fvar = tmpMeta6;
_i_rest = tmpMeta7;
_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_LIT2354);
_txt = omc_Tpl_writeStr(threadData, _txt, _a_fname);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT30);
_txt = omc_Tpl_writeText(threadData, _txt, _a_fargsStr);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT87);
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_LIT2874);
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 tmpMeta1;
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_metatype tmp4_2;
tmp4_1 = _in_txt;
tmp4_2 = _in_a_rest;
{
modelica_metatype _txt = NULL;
modelica_metatype _i_rest = 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;
tmpMeta1 = _txt;
goto tmp3_done;
}
case 1: {
_txt = tmp4_1;
_i_rest = tmp4_2;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT301);
_txt = omc_Tpl_pushIter(threadData, _txt, _OMC_LIT303);
_txt = omc_CodegenCFunctions_lm__81(threadData, _txt, _i_rest);
tmpMeta1 = omc_Tpl_popIter(threadData, _txt);
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta1;
_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 tmpMeta1;
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_metatype tmp4_2;
tmp4_1 = _in_txt;
tmp4_2 = _in_items;
{
modelica_metatype _txt = NULL;
modelica_metatype _rest = 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;
tmpMeta1 = _txt;
goto tmp3_done;
}
case 1: {
modelica_metatype tmpMeta6;
modelica_metatype tmpMeta7;
if (listEmpty(tmp4_2)) goto tmp3_end;
tmpMeta6 = MMC_CAR(tmp4_2);
tmpMeta7 = MMC_CDR(tmp4_2);
_i_var = tmpMeta6;
_rest = tmpMeta7;
_txt = tmp4_1;
_txt = omc_CodegenCFunctions_tupleOutfunArgDefinitionKernelFunctionInterface(threadData, _txt, _i_var);
_txt = omc_Tpl_nextIter(threadData, _txt);
_in_txt = _txt;
_in_items = _rest;
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 = tmpMeta1;
_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 tmpMeta1;
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_metatype tmp4_2;
tmp4_1 = _in_txt;
tmp4_2 = _in_items;
{
modelica_metatype _txt = NULL;
modelica_metatype _rest = 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;
tmpMeta1 = _txt;
goto tmp3_done;
}
case 1: {
modelica_metatype tmpMeta6;
modelica_metatype tmpMeta7;
if (listEmpty(tmp4_2)) goto tmp3_end;
tmpMeta6 = MMC_CAR(tmp4_2);
tmpMeta7 = MMC_CDR(tmp4_2);
_i_var = tmpMeta6;
_rest = tmpMeta7;
_txt = tmp4_1;
_txt = omc_CodegenCFunctions_funArgDefinitionKernelFunctionInterface(threadData, _txt, _i_var);
_txt = omc_Tpl_nextIter(threadData, _txt);
_in_txt = _txt;
_in_items = _rest;
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 = tmpMeta1;
_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 tmpMeta1;
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_metatype tmp4_2;modelica_boolean tmp4_3;
tmp4_1 = _in_txt;
tmp4_2 = _in_a_fn;
tmp4_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 tmp4;
int tmp5;
tmp4 = 0;
for (; tmp4 < 2; tmp4++) {
switch (MMC_SWITCH_CAST(tmp4)) {
case 0: {
modelica_metatype tmpMeta6;
modelica_metatype tmpMeta7;
modelica_metatype tmpMeta8;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,1,6) == 0) goto tmp3_end;
tmpMeta6 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
tmpMeta7 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 3));
tmpMeta8 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 4));
_i_name = tmpMeta6;
_i_outVars = tmpMeta7;
_i_functionArguments = tmpMeta8;
_txt = tmp4_1;
_a_inFunc = tmp4_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);
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT113);
goto tmp3_done;
}
case 1: {
_txt = tmp4_1;
tmpMeta1 = _txt;
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta1;
_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[2] __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: {
modelica_metatype tmpMeta6;
modelica_metatype tmpMeta7;
modelica_metatype tmpMeta8;
modelica_metatype tmpMeta9;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,0,7) == 0) goto tmp3_end;
tmpMeta6 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
tmpMeta7 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 3));
tmpMeta8 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 4));
tmpMeta9 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 7));
_i_fn = tmp4_2;
_i_name = tmpMeta6;
_i_outVars = tmpMeta7;
_i_functionArguments = tmpMeta8;
_i_visibility = tmpMeta9;
_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: {
modelica_metatype tmpMeta10;
modelica_metatype tmpMeta11;
modelica_metatype tmpMeta12;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,2,6) == 0) goto tmp3_end;
tmpMeta10 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
tmpMeta11 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 3));
tmpMeta12 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 4));
_i_name = tmpMeta10;
_i_outVars = tmpMeta11;
_i_functionArguments = tmpMeta12;
_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_metatype tmpMeta13;
modelica_metatype tmpMeta14;
modelica_metatype tmpMeta15;
modelica_metatype tmpMeta16;
modelica_metatype tmpMeta17;
modelica_integer tmp18;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,3,14) == 0) goto tmp3_end;
tmpMeta13 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
tmpMeta14 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 4));
tmpMeta15 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 8));
tmpMeta16 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 13));
tmpMeta17 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 15));
tmp18 = mmc_unbox_integer(tmpMeta17);
if (1 != tmp18) goto tmp3_end;
_i_fn = tmp4_2;
_i_name = tmpMeta13;
_i_funArgs = tmpMeta14;
_i_outVars = tmpMeta15;
_i_visibility = tmpMeta16;
_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_LIT98);
_txt = omc_CodegenCFunctions_extFunDefDynamic(threadData, _txt, _i_fn);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_staticPrototypes;
goto tmp3_done;
}
case 3: {
modelica_metatype tmpMeta19;
modelica_metatype tmpMeta20;
modelica_metatype tmpMeta21;
modelica_metatype tmpMeta22;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,3,14) == 0) goto tmp3_end;
tmpMeta19 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
tmpMeta20 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 4));
tmpMeta21 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 8));
tmpMeta22 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 13));
_i_fn = tmp4_2;
_i_name = tmpMeta19;
_i_funArgs = tmpMeta20;
_i_outVars = tmpMeta21;
_i_visibility = tmpMeta22;
_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_LIT98);
_txt = omc_CodegenCFunctions_extFunDef(threadData, _txt, _i_fn);
tmpMeta[0+0] = _txt;
tmpMeta[0+1] = _a_staticPrototypes;
goto tmp3_done;
}
case 4: {
modelica_metatype tmpMeta23;
modelica_metatype tmpMeta24;
modelica_metatype tmpMeta25;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,4,5) == 0) goto tmp3_end;
tmpMeta23 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
tmpMeta24 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 3));
tmpMeta25 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 5));
_i_name = tmpMeta23;
_i_funArgs = tmpMeta24;
_i_visibility = tmpMeta25;
_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_LIT614);
_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_LIT98);
tmpMeta[0+0] = omc_CodegenCFunctions_functionHeaderBoxed(threadData, _txt, omc_Tpl_textString(threadData, _l_fname), _i_funArgs, _OMC_LIT2882, _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 tmpMeta1;
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_funArgsStr;
tmp4_4 = _in_a_fname;
tmp4_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 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_funArgsStr = tmp4_3;
_a_fname = tmp4_4;
_a_vis = tmp4_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_LIT2354);
_txt = omc_Tpl_writeText(threadData, _txt, _a_fname);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT2884);
_txt = omc_Tpl_writeText(threadData, _txt, _a_funArgsStr);
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT299);
goto tmp3_done;
}
case 1: {
_txt = tmp4_1;
_a_funArgsStr = tmp4_3;
_a_fname = tmp4_4;
_a_vis = tmp4_5;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT2570);
_txt = omc_Tpl_writeText(threadData, _txt, _a_fname);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT2886);
_txt = omc_Tpl_writeText(threadData, _txt, _a_fname);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT2888);
_txt = omc_Tpl_writeText(threadData, _txt, _a_funArgsStr);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT386);
_txt = omc_Tpl_writeText(threadData, _txt, _a_vis);
_txt = omc_Tpl_softNewLine(threadData, _txt);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT2352);
_txt = omc_Tpl_writeText(threadData, _txt, _a_fname);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT2354);
_txt = omc_Tpl_writeText(threadData, _txt, _a_fname);
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT113);
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta1;
_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 tmpMeta1;
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_metatype tmp4_2;
tmp4_1 = _in_txt;
tmp4_2 = _in_a_visibility;
{
modelica_metatype _txt = 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;
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT2543);
goto tmp3_done;
}
case 1: {
_txt = tmp4_1;
tmpMeta1 = _txt;
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta1;
_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 tmpMeta1;
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_metatype tmp4_2;
tmp4_1 = _in_txt;
tmp4_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 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;
tmpMeta1 = _txt;
goto tmp3_done;
}
case 1: {
modelica_metatype tmpMeta6;
modelica_metatype tmpMeta7;
modelica_metatype tmpMeta8;
if (listEmpty(tmp4_2)) goto tmp3_end;
tmpMeta6 = MMC_CAR(tmp4_2);
tmpMeta7 = MMC_CDR(tmp4_2);
if (mmc__uniontype__metarecord__typedef__equal(tmpMeta6,0,7) == 0) goto tmp3_end;
tmpMeta8 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta6), 2));
_i_var = tmpMeta6;
_i_name = tmpMeta8;
_rest = tmpMeta7;
_txt = tmp4_1;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT301);
_txt = omc_CodegenCFunctions_varType(threadData, _txt, _i_var);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT2354);
_txt = omc_CodegenUtil_crefStr(threadData, _txt, _i_name);
_in_txt = _txt;
_in_items = _rest;
goto _tailrecursive;
goto tmp3_done;
}
case 2: {
modelica_metatype tmpMeta9;
modelica_metatype tmpMeta10;
if (listEmpty(tmp4_2)) goto tmp3_end;
tmpMeta9 = MMC_CAR(tmp4_2);
tmpMeta10 = MMC_CDR(tmp4_2);
_rest = tmpMeta10;
_txt = tmp4_1;
_in_txt = _txt;
_in_items = _rest;
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 = tmpMeta1;
_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_LIT1853);
_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 tmpMeta1;
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_metatype tmp4_2;
tmp4_1 = _in_txt;
tmp4_2 = _in_items;
{
modelica_metatype _txt = NULL;
modelica_metatype _rest = 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 (!listEmpty(tmp4_2)) goto tmp3_end;
_txt = tmp4_1;
tmpMeta1 = _txt;
goto tmp3_done;
}
case 1: {
modelica_metatype tmpMeta6;
modelica_metatype tmpMeta7;
if (listEmpty(tmp4_2)) goto tmp3_end;
tmpMeta6 = MMC_CAR(tmp4_2);
tmpMeta7 = MMC_CDR(tmp4_2);
_i_fn = tmpMeta6;
_rest = tmpMeta7;
_txt = tmp4_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 tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta1;
_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_LIT2890);
_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_LIT2893);
_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_LIT2897);
_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_LIT2899);
_out_txt = omc_Tpl_writeTok(threadData, _out_txt, _OMC_LIT98);
_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_LIT1853);
_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[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;
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: {
modelica_metatype tmpMeta6;
modelica_metatype tmpMeta7;
if (listEmpty(tmp4_2)) goto tmp3_end;
tmpMeta6 = MMC_CAR(tmp4_2);
tmpMeta7 = MMC_CDR(tmp4_2);
_i_fn = tmpMeta6;
_rest = tmpMeta7;
_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 tmpMeta1;
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_metatype tmp4_2;
tmp4_1 = _in_txt;
tmp4_2 = _in_a_includes;
{
modelica_metatype _txt = NULL;
modelica_metatype _i_includes = 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;
tmpMeta1 = _txt;
goto tmp3_done;
}
case 1: {
_txt = tmp4_1;
_i_includes = tmp4_2;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT2903);
_txt = omc_Tpl_pushIter(threadData, _txt, _OMC_LIT104);
_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_LIT2905);
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT98);
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta1;
_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 tmpMeta1;
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_metatype tmp4_2;
tmp4_1 = _in_txt;
tmp4_2 = _in_items;
{
modelica_metatype _txt = NULL;
modelica_metatype _rest = NULL;
modelica_string _i_it = 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;
tmpMeta1 = _txt;
goto tmp3_done;
}
case 1: {
modelica_metatype tmpMeta6;
modelica_metatype tmpMeta7;
if (listEmpty(tmp4_2)) goto tmp3_end;
tmpMeta6 = MMC_CAR(tmp4_2);
tmpMeta7 = MMC_CDR(tmp4_2);
_i_it = tmpMeta6;
_rest = tmpMeta7;
_txt = tmp4_1;
_txt = omc_Tpl_writeStr(threadData, _txt, _i_it);
_txt = omc_Tpl_nextIter(threadData, _txt);
_in_txt = _txt;
_in_items = _rest;
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 = tmpMeta1;
_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_LIT2915);
_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_LIT98);
_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 tmpMeta1;
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_boolean tmp4_2;
tmp4_1 = _in_txt;
tmp4_2 = _in_mArg;
{
modelica_metatype _txt = 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;
tmpMeta1 = _txt;
goto tmp3_done;
}
case 1: {
_txt = tmp4_1;
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT2917);
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta1;
_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 tmpMeta1;
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_metatype tmp4_2;
tmp4_1 = _in_txt;
tmp4_2 = _in_a_fnCode;
{
modelica_metatype _txt = NULL;
modelica_string _i_name = NULL;
modelica_string _i_makefileParams_ldflags = NULL;
modelica_string _i_makefileParams_runtimelibs = NULL;
modelica_string _i_makefileParams_omhome = NULL;
modelica_metatype _i_makefileParams_includes = 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 tmp4;
int tmp5;
tmp4 = 0;
for (; tmp4 < 2; tmp4++) {
switch (MMC_SWITCH_CAST(tmp4)) {
case 0: {
modelica_metatype tmpMeta6;
modelica_metatype tmpMeta7;
modelica_metatype tmpMeta8;
modelica_metatype tmpMeta9;
modelica_metatype tmpMeta10;
modelica_metatype tmpMeta11;
modelica_metatype tmpMeta12;
modelica_metatype tmpMeta13;
modelica_metatype tmpMeta14;
modelica_metatype tmpMeta15;
modelica_metatype tmpMeta16;
modelica_metatype tmpMeta17;
modelica_metatype tmpMeta18;
modelica_metatype tmpMeta19;
tmpMeta6 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
tmpMeta7 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 7));
tmpMeta8 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta7), 2));
tmpMeta9 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta7), 3));
tmpMeta10 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta7), 4));
tmpMeta11 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta7), 5));
tmpMeta12 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta7), 6));
tmpMeta13 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta7), 7));
tmpMeta14 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta7), 8));
tmpMeta15 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta7), 9));
tmpMeta16 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta7), 10));
tmpMeta17 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta7), 11));
tmpMeta18 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta7), 12));
tmpMeta19 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta7), 14));
_txt = tmp4_1;
_i_name = tmpMeta6;
_i_makefileParams_ccompiler = tmpMeta8;
_i_makefileParams_cxxcompiler = tmpMeta9;
_i_makefileParams_linker = tmpMeta10;
_i_makefileParams_exeext = tmpMeta11;
_i_makefileParams_dllext = tmpMeta12;
_i_makefileParams_omhome = tmpMeta13;
_i_makefileParams_cflags = tmpMeta14;
_i_makefileParams_ldflags = tmpMeta15;
_i_makefileParams_runtimelibs = tmpMeta16;
_i_makefileParams_includes = tmpMeta17;
_i_makefileParams_libs = tmpMeta18;
_i_makefileParams_platform = tmpMeta19;
_l_libsStr = omc_Tpl_pushIter(threadData, _OMC_LIT20, _OMC_LIT2919);
_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_LIT2920));
_ret_5 = (stringEqual(_i_makefileParams_platform, _OMC_LIT2921));
_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_LIT2920));
_ret_10 = (stringEqual(_i_makefileParams_platform, _OMC_LIT2921));
_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_LIT2926);
_txt = omc_Tpl_writeStr(threadData, _txt, _i_makefileParams_platform);
_txt = omc_Tpl_softNewLine(threadData, _txt);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT2938);
_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_LIT2940);
_txt = omc_Tpl_writeStr(threadData, _txt, _i_makefileParams_cxxcompiler);
_txt = omc_Tpl_softNewLine(threadData, _txt);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT2942);
_txt = omc_Tpl_writeStr(threadData, _txt, _i_makefileParams_linker);
_txt = omc_Tpl_softNewLine(threadData, _txt);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT2944);
_txt = omc_Tpl_writeStr(threadData, _txt, _i_makefileParams_exeext);
_txt = omc_Tpl_softNewLine(threadData, _txt);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT2946);
_txt = omc_Tpl_writeStr(threadData, _txt, _i_makefileParams_dllext);
_txt = omc_Tpl_softNewLine(threadData, _txt);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT2948);
_ret_14 = omc_Config_acceptMetaModelicaGrammar(threadData);
_ret_15 = omc_Flags_isSet(threadData, _OMC_LIT1434);
_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_LIT2950);
_txt = omc_Tpl_writeStr(threadData, _txt, _i_makefileParams_cflags);
_txt = omc_Tpl_softNewLine(threadData, _txt);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT2952);
_txt = omc_Tpl_pushIter(threadData, _txt, _OMC_LIT2919);
_txt = omc_CodegenCFunctions_lm__62(threadData, _txt, _i_makefileParams_includes);
_txt = omc_Tpl_popIter(threadData, _txt);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT2954);
_txt = omc_Tpl_writeStr(threadData, _txt, _i_makefileParams_omhome);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT2956);
_txt = omc_Tpl_writeStr(threadData, _txt, _i_makefileParams_omhome);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT2958);
_ret_17 = omc_Flags_isSet(threadData, _OMC_LIT614);
_txt = omc_CodegenCFunctions_fun__63(threadData, _txt, _ret_17);
_txt = omc_Tpl_softNewLine(threadData, _txt);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT2965);
_txt = omc_Tpl_writeStr(threadData, _txt, _i_makefileParams_runtimelibs);
_txt = omc_Tpl_softNewLine(threadData, _txt);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT2967);
_txt = omc_Tpl_writeStr(threadData, _txt, _i_makefileParams_omhome);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT2969);
_txt = omc_Tpl_writeStr(threadData, _txt, _OMC_LIT28);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT2971);
_txt = omc_Tpl_writeText(threadData, _txt, _l_ExtraStack);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT2973);
_txt = omc_Tpl_writeStr(threadData, _txt, _i_makefileParams_omhome);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT2969);
_txt = omc_Tpl_writeStr(threadData, _txt, _OMC_LIT28);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT2975);
_txt = omc_Tpl_writeText(threadData, _txt, _l_ParModelicaExpLibs);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT34);
_txt = omc_Tpl_writeText(threadData, _txt, _l_WinMingwExtraLibs);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT34);
_txt = omc_Tpl_writeStr(threadData, _txt, _i_makefileParams_ldflags);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT2982);
_txt = omc_Tpl_writeStr(threadData, _txt, _i_name);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT2988);
_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_LIT2990);
_txt = omc_Tpl_writeStr(threadData, _txt, _i_name);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT2992);
_txt = omc_Tpl_writeStr(threadData, _txt, _i_name);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT2994);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT2442);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT2996);
_txt = omc_Tpl_writeStr(threadData, _txt, _i_name);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT2998);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT2442);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT2996);
_txt = omc_Tpl_writeStr(threadData, _txt, _i_name);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT3000);
_txt = omc_Tpl_writeStr(threadData, _txt, _i_name);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT2994);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT2442);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT3002);
_txt = omc_Tpl_writeStr(threadData, _txt, _i_name);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT3004);
_txt = omc_Tpl_writeStr(threadData, _txt, _i_name);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT3006);
_txt = omc_Tpl_writeStr(threadData, _txt, _i_name);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT3000);
_txt = omc_Tpl_writeText(threadData, _txt, _l_libsStr);
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT3008);
goto tmp3_done;
}
case 1: {
_txt = tmp4_1;
tmpMeta1 = _txt;
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta1;
_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 tmpMeta1;
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_boolean tmp4_2;
tmp4_1 = _in_txt;
tmp4_2 = _in_mArg;
{
modelica_metatype _txt = 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;
tmpMeta1 = _txt;
goto tmp3_done;
}
case 1: {
_txt = tmp4_1;
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT3010);
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta1;
_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 tmpMeta1;
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_metatype tmp4_2;
tmp4_1 = _in_txt;
tmp4_2 = _in_items;
{
modelica_metatype _txt = NULL;
modelica_metatype _rest = NULL;
modelica_string _i_it = 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;
tmpMeta1 = _txt;
goto tmp3_done;
}
case 1: {
modelica_metatype tmpMeta6;
modelica_metatype tmpMeta7;
if (listEmpty(tmp4_2)) goto tmp3_end;
tmpMeta6 = MMC_CAR(tmp4_2);
tmpMeta7 = MMC_CDR(tmp4_2);
_i_it = tmpMeta6;
_rest = tmpMeta7;
_txt = tmp4_1;
_txt = omc_Tpl_writeStr(threadData, _txt, _i_it);
_txt = omc_Tpl_nextIter(threadData, _txt);
_in_txt = _txt;
_in_items = _rest;
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 = tmpMeta1;
_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 tmpMeta1;
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_boolean tmp4_2;
tmp4_1 = _in_txt;
tmp4_2 = _in_mArg;
{
modelica_metatype _txt = 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;
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT3012);
goto tmp3_done;
}
case 1: {
_txt = tmp4_1;
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT3014);
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta1;
_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 tmpMeta1;
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_boolean tmp4_2;modelica_string tmp4_3;
tmp4_1 = _in_txt;
tmp4_2 = _in_mArg;
tmp4_3 = _in_a_makefileParams_ccompiler;
{
modelica_metatype _txt = NULL;
modelica_string _a_makefileParams_ccompiler = 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_makefileParams_ccompiler = tmp4_3;
tmpMeta1 = omc_Tpl_writeStr(threadData, _txt, _a_makefileParams_ccompiler);
goto tmp3_done;
}
case 1: {
_txt = tmp4_1;
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT3016);
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta1;
_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 tmpMeta1;
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_boolean tmp4_2;
tmp4_1 = _in_txt;
tmp4_2 = _in_mArg;
{
modelica_metatype _txt = 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;
tmpMeta1 = _txt;
goto tmp3_done;
}
case 1: {
_txt = tmp4_1;
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT3018);
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta1;
_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 tmpMeta1;
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_boolean tmp4_2;
tmp4_1 = _in_txt;
tmp4_2 = _in_mArg;
{
modelica_metatype _txt = 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;
tmpMeta1 = _txt;
goto tmp3_done;
}
case 1: {
_txt = tmp4_1;
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT3020);
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta1;
_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 tmpMeta1;
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_boolean tmp4_2;
tmp4_1 = _in_txt;
tmp4_2 = _in_mArg;
{
modelica_metatype _txt = 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;
tmpMeta1 = _txt;
goto tmp3_done;
}
case 1: {
_txt = tmp4_1;
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT3022);
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta1;
_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 tmpMeta1;
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_metatype tmp4_2;
tmp4_1 = _in_txt;
tmp4_2 = _in_items;
{
modelica_metatype _txt = NULL;
modelica_metatype _rest = NULL;
modelica_string _i_it = 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;
tmpMeta1 = _txt;
goto tmp3_done;
}
case 1: {
modelica_metatype tmpMeta6;
modelica_metatype tmpMeta7;
if (listEmpty(tmp4_2)) goto tmp3_end;
tmpMeta6 = MMC_CAR(tmp4_2);
tmpMeta7 = MMC_CDR(tmp4_2);
_i_it = tmpMeta6;
_rest = tmpMeta7;
_txt = tmp4_1;
_txt = omc_Tpl_writeStr(threadData, _txt, _i_it);
_txt = omc_Tpl_nextIter(threadData, _txt);
_in_txt = _txt;
_in_items = _rest;
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 = tmpMeta1;
_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_LIT2890);
_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_LIT2893);
_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_LIT3023);
_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_LIT3024);
_out_txt = omc_Tpl_pushIter(threadData, _out_txt, _OMC_LIT104);
_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_LIT98);
_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_LIT98);
_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_LIT3029);
_out_txt = omc_Tpl_writeTok(threadData, _out_txt, _OMC_LIT98);
_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[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_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: {
modelica_metatype tmpMeta6;
if (optionNone(tmp4_2)) goto tmp3_end;
tmpMeta6 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 1));
_i_fn = tmpMeta6;
_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 tmpMeta1;
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_metatype tmp4_2;
tmp4_1 = _in_txt;
tmp4_2 = _in_items;
{
modelica_metatype _txt = NULL;
modelica_metatype _rest = NULL;
modelica_metatype _i_rd = 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;
tmpMeta1 = _txt;
goto tmp3_done;
}
case 1: {
modelica_metatype tmpMeta6;
modelica_metatype tmpMeta7;
if (listEmpty(tmp4_2)) goto tmp3_end;
tmpMeta6 = MMC_CAR(tmp4_2);
tmpMeta7 = MMC_CDR(tmp4_2);
_i_rd = tmpMeta6;
_rest = tmpMeta7;
_txt = tmp4_1;
_txt = omc_CodegenCFunctions_recordDeclarationHeader(threadData, _txt, _i_rd);
_txt = omc_Tpl_nextIter(threadData, _txt);
_in_txt = _txt;
_in_items = _rest;
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 = tmpMeta1;
_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_LIT3031);
_out_txt = omc_Tpl_writeStr(threadData, _out_txt, _a_filePrefix);
_out_txt = omc_Tpl_writeTok(threadData, _out_txt, _OMC_LIT3033);
_out_txt = omc_Tpl_pushIter(threadData, _out_txt, _OMC_LIT2047);
_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_LIT3036);
_out_txt = omc_Tpl_writeStr(threadData, _out_txt, _a_filePrefix);
_out_txt = omc_Tpl_writeTok(threadData, _out_txt, _OMC_LIT3039);
_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_LIT98);
_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_LIT98);
_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_LIT98);
_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 tmpMeta1;
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_metatype tmp4_2;
tmp4_1 = _in_txt;
tmp4_2 = _in_a_mainFunction;
{
modelica_metatype _txt = 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: {
modelica_metatype tmpMeta6;
if (optionNone(tmp4_2)) goto tmp3_end;
tmpMeta6 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 1));
_i_fn = tmpMeta6;
_txt = tmp4_1;
tmpMeta1 = omc_CodegenCFunctions_functionBody(threadData, _txt, _i_fn, 1, 0);
goto tmp3_done;
}
case 1: {
_txt = tmp4_1;
tmpMeta1 = _txt;
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta1;
_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 tmpMeta1;
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_metatype tmp4_2;
tmp4_1 = _in_txt;
tmp4_2 = _in_a_staticPrototypes;
{
modelica_metatype _txt = NULL;
modelica_metatype _i_staticPrototypes = NULL;
volatile mmc_switch_type tmp4;
int tmp5;
tmp4 = 0;
for (; tmp4 < 2; tmp4++) {
switch (MMC_SWITCH_CAST(tmp4)) {
case 0: {
modelica_metatype tmpMeta6;
if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,0,2) == 0) goto tmp3_end;
tmpMeta6 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
if (!listEmpty(tmpMeta6)) goto tmp3_end;
_txt = tmp4_1;
tmpMeta1 = _txt;
goto tmp3_done;
}
case 1: {
_txt = tmp4_1;
_i_staticPrototypes = tmp4_2;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT3046);
tmpMeta1 = omc_Tpl_writeText(threadData, _txt, _i_staticPrototypes);
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta1;
_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 tmpMeta1;
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_boolean tmp4_2;modelica_string tmp4_3;
tmp4_1 = _in_txt;
tmp4_2 = _in_mArg;
tmp4_3 = _in_a_filePrefix;
{
modelica_metatype _txt = NULL;
modelica_string _a_filePrefix = 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;
tmpMeta1 = _txt;
goto tmp3_done;
}
case 1: {
_txt = tmp4_1;
_a_filePrefix = tmp4_3;
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT3051);
_txt = omc_Tpl_writeStr(threadData, _txt, _a_filePrefix);
_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT3062);
_ret_0 = omc_Config_getDefaultOpenCLDevice(threadData);
_txt = omc_Tpl_writeStr(threadData, _txt, intString(_ret_0));
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT113);
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta1;
_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 tmpMeta1;
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_metatype tmp4_2;
tmp4_1 = _in_txt;
tmp4_2 = _in_items;
{
modelica_metatype _txt = NULL;
modelica_metatype _rest = NULL;
modelica_integer _x_i0;
modelica_metatype _i_literal = 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;
tmpMeta1 = _txt;
goto tmp3_done;
}
case 1: {
modelica_metatype tmpMeta6;
modelica_metatype tmpMeta7;
if (listEmpty(tmp4_2)) goto tmp3_end;
tmpMeta6 = MMC_CAR(tmp4_2);
tmpMeta7 = MMC_CDR(tmp4_2);
_i_literal = tmpMeta6;
_rest = tmpMeta7;
_txt = tmp4_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 tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta1;
_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 tmpMeta1;
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_metatype tmp4_2;
tmp4_1 = _in_txt;
tmp4_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 tmp4;
int tmp5;
tmp4 = 0;
for (; tmp4 < 2; tmp4++) {
switch (MMC_SWITCH_CAST(tmp4)) {
case 0: {
modelica_metatype tmpMeta6;
modelica_metatype tmpMeta7;
modelica_metatype tmpMeta8;
modelica_metatype tmpMeta9;
modelica_metatype tmpMeta10;
tmpMeta6 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
tmpMeta7 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 3));
tmpMeta8 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 4));
tmpMeta9 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 6));
tmpMeta10 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 8));
_txt = tmp4_1;
_i_fc = tmp4_2;
_i_name = tmpMeta6;
_i_mainFunction = tmpMeta7;
_i_functions = tmpMeta8;
_i_fc_externalFunctionIncludes = tmpMeta9;
_i_extraRecordDecls = tmpMeta10;
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_LIT1859);
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_LIT3064);
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_LIT3066);
omc_Tpl_textFile(threadData, _txt_7, omc_Tpl_textString(threadData, _txt_8));
tmpMeta1 = _txt;
goto tmp3_done;
}
case 1: {
_txt = tmp4_1;
tmpMeta1 = _txt;
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta1;
_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 tmpMeta1;
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_mainFunction;
tmp4_3 = _in_a_filePrefix;
tmp4_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 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;
tmpMeta1 = _txt;
goto tmp3_done;
}
case 1: {
_txt = tmp4_1;
_a_filePrefix = tmp4_3;
_a_functionCode = tmp4_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_LIT3068);
omc_Tpl_textFile(threadData, _txt_0, omc_Tpl_textString(threadData, _txt_1));
tmpMeta1 = _txt;
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta1;
_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 tmpMeta1;
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_metatype tmp4_2;
tmp4_1 = _in_txt;
tmp4_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 tmp4;
int tmp5;
tmp4 = 0;
for (; tmp4 < 2; tmp4++) {
switch (MMC_SWITCH_CAST(tmp4)) {
case 0: {
modelica_metatype tmpMeta6;
modelica_metatype tmpMeta7;
modelica_metatype tmpMeta8;
modelica_metatype tmpMeta9;
modelica_metatype tmpMeta10;
modelica_metatype tmpMeta11;
tmpMeta6 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
tmpMeta7 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 3));
tmpMeta8 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 4));
tmpMeta9 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 5));
tmpMeta10 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 6));
tmpMeta11 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 8));
_txt = tmp4_1;
_i_fc = tmp4_2;
_i_name = tmpMeta6;
_i_mainFunction = tmpMeta7;
_i_functions = tmpMeta8;
_i_literals = tmpMeta9;
_i_fc_externalFunctionIncludes = tmpMeta10;
_i_extraRecordDecls = tmpMeta11;
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_LIT1859);
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_LIT1020);
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_LIT3064);
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_LIT3066);
omc_Tpl_textFile(threadData, _txt_9, omc_Tpl_textString(threadData, _txt_10));
_ret_11 = omc_Config_acceptParModelicaGrammar(threadData);
tmpMeta1 = omc_CodegenCFunctions_fun__44(threadData, _txt, _ret_11, _i_functions, _i_mainFunction, _l_filePrefix);
goto tmp3_done;
}
case 1: {
_txt = tmp4_1;
tmpMeta1 = _txt;
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta1;
_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 tmpMeta1;
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_functions;
tmp4_4 = _in_a_mainFunction;
tmp4_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 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;
tmpMeta1 = _txt;
goto tmp3_done;
}
case 1: {
_txt = tmp4_1;
_a_functions = tmp4_3;
_a_mainFunction = tmp4_4;
_a_filePrefix = tmp4_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_LIT3070);
omc_Tpl_textFile(threadData, _txt_0, omc_Tpl_textString(threadData, _txt_1));
tmpMeta1 = _txt;
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta1;
_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 tmpMeta1;
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_mainFunction;
tmp4_3 = _in_a_filePrefix;
tmp4_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 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;
tmpMeta1 = _txt;
goto tmp3_done;
}
case 1: {
_txt = tmp4_1;
_a_filePrefix = tmp4_3;
_a_functionCode = tmp4_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_LIT3068);
omc_Tpl_textFile(threadData, _txt_0, omc_Tpl_textString(threadData, _txt_1));
tmpMeta1 = _txt;
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta1;
_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_LIT3077);
_out_txt = omc_Tpl_pushBlock(threadData, _out_txt, _OMC_LIT105);
_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_LIT3085);
_out_txt = omc_Tpl_writeStr(threadData, _out_txt, _a_url);
_out_txt = omc_Tpl_writeTok(threadData, _out_txt, _OMC_LIT3097);
_out_txt = omc_Tpl_popBlock(threadData, _out_txt);
_out_txt = omc_Tpl_writeTok(threadData, _out_txt, _OMC_LIT111);
_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_LIT643);
_l_name = omc_CodegenUtil_underscorePath(threadData, _l_name, _a_entryPoint);
_out_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT3134);
_out_txt = omc_Tpl_writeText(threadData, _out_txt, _l_name);
_out_txt = omc_Tpl_writeTok(threadData, _out_txt, _OMC_LIT3137);
_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_LIT3145);
_out_txt = omc_Tpl_pushBlock(threadData, _out_txt, _OMC_LIT105);
_txt_1 = omc_Tpl_writeText(threadData, _OMC_LIT20, _l_name);
_txt_1 = omc_Tpl_writeTok(threadData, _txt_1, _OMC_LIT2516);
_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_LIT2423);
_ret_2 = omc_Flags_isSet(threadData, _OMC_LIT2521);
_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_LIT2525);
_out_txt = omc_Tpl_popBlock(threadData, _out_txt);
_out_txt = omc_Tpl_writeTok(threadData, _out_txt, _OMC_LIT3153);
_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 tmpMeta1;
MMC_SO();
_tailrecursive: OMC_LABEL_UNUSED
{
modelica_metatype tmp4_1;modelica_boolean tmp4_2;
tmp4_1 = _in_txt;
tmp4_2 = _in_mArg;
{
modelica_metatype _txt = 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;
tmpMeta1 = _txt;
goto tmp3_done;
}
case 1: {
_txt = tmp4_1;
tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT2531);
goto tmp3_done;
}
}
goto tmp3_end;
tmp3_end: ;
}
goto goto_2;
goto_2:;
MMC_THROW_INTERNAL();
goto tmp3_done;
tmp3_done:;
}
}
_out_txt = tmpMeta1;
_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;
}
