Changeset 14143


Ignore:
Timestamp:
Nov 22, 2019 11:38:49 AM (2 weeks ago)
Author:
Christian Andersson
Message:

Updated C-code generation for for loops, ticket:5882

Location:
branches/dev-cw-2719/Compiler
Files:
9 edited

Legend:

Unmodified
Added
Removed
  • branches/dev-cw-2719/Compiler/ModelicaCBackEnd/src/jastadd/CCodeGen/CCodeGenAlgorithms.jrag

    r12904 r14143  
    324324    @Override
    325325    public void FRangeExp.genForIndexExtraVarDecls_C(CodePrinter p, CodeStream str, String indent, String name) {
    326         str.print(indent, "jmi_int_t ", name, "e;\n");
    327         str.print(indent, "jmi_int_t ", name, "n;\n");
     326        if (hasStep()) {
     327            str.print(indent, "jmi_int_t ", name, "n;\n");
     328        }
    328329    }
    329330
     
    341342    @Override
    342343    public void FRangeExp.printForIndexInit_C(CodePrinter p, CodeStream str, String indent, String name) {
    343         str.print(indent, name, "n = 0;\n");
    344        
    345         boolean hasStep = hasStep();
     344        if (hasStep()) {
     345            str.print(indent, name, "n = 0;\n");
     346        }
     347    }
     348
     349    protected void FRangeExp.printForIndexStep_C(CodePrinter p, CodeStream str, String indent) {
     350        if (hasStep()) {
     351            p.print(getFExp(1), str, indent);
     352        } else {
     353            str.print("1");
     354        }
     355    }
     356
     357    @Override
     358    public void FForIndex.prettyPrint_C(CodePrinter p, CodeStream str, String indent) {
     359        getFExp().printForIndex_C(p, str, indent, getFVariable().name_C());
     360    }
     361
     362    public void FExp.printForIndex_C(CodePrinter p, CodeStream str, String indent, String name) {
     363        throw new UnsupportedOperationException("C code generation for loop index not implemented for class " +
     364                getClass().getSimpleName());
     365    }
     366
     367    @Override
     368    public void FAccessExp.printForIndex_C(CodePrinter p, CodeStream str, String indent, String name) {
     369        str.format("%1$si = 0; %1$si < jmi_array_size(%2$s, 0); %1$si++",
     370                name, getFAccess().toString_C(p));
     371    }
     372
     373    @Override
     374    public void FRangeExp.printForIndex_C(CodePrinter p, CodeStream str, String indent, String name) {
     375        boolean hasStep = hasStep();
    346376        FExp start = getFExp(0);
    347377        FExp end = getFExp(hasStep ? 2 : 1);
    348378        FExp step = hasStep ? getFExp(1) : null;
    349        
    350         str.print(indent, name, "e = floor(");
    351         if (hasStep) {
    352             str.print("(");
    353         }
    354 
    355         str.print("(");
    356         p.print(end, str, indent);
    357         str.print(") - (");
    358         p.print(start, str, indent);
    359         str.print(")");
    360 
    361         if (hasStep) {
    362             str.print(") / (");
    363             p.print(step, str, indent);
    364             str.print(")");
    365         }
    366 
    367         str.print(");\n");
    368     }
    369 
    370     protected void FRangeExp.printForIndexStep_C(CodePrinter p, CodeStream str, String indent) {
    371         if (hasStep()) {
    372             p.print(getFExp(1), str, indent);
    373         } else {
    374             str.print("1");
    375         }
    376     }
    377 
    378     @Override
    379     public void FForIndex.prettyPrint_C(CodePrinter p, CodeStream str, String indent) {
    380         getFExp().printForIndex_C(p, str, indent, getFVariable().name_C());
    381     }
    382 
    383     public void FExp.printForIndex_C(CodePrinter p, CodeStream str, String indent, String name) {
    384         throw new UnsupportedOperationException("C code generation for loop index not implemented for class " +
    385                 getClass().getSimpleName());
    386     }
    387 
    388     @Override
    389     public void FAccessExp.printForIndex_C(CodePrinter p, CodeStream str, String indent, String name) {
    390         str.format("%1$si = 0; %1$si < jmi_array_size(%2$s, 0); %1$si++",
    391                 name, getFAccess().toString_C(p));
    392     }
    393 
    394     @Override
    395     public void FRangeExp.printForIndex_C(CodePrinter p, CodeStream str, String indent, String name) {
    396         FExp start = getFExp(0);
    397         FExp step = getFExp(1);
    398 
    399         String nameE = name + "e";
     379
    400380        String nameN = name + "n";
    401381
     
    407387        str.print("; ");
    408388
    409         /*
     389         /*
    410390         * Conditional expression.
    411391         */
    412         str.print(nameN, " <= ", nameE, "; ");
     392        if (hasStep) {
     393            str.print(nameN, " <= ");
     394        } else {
     395            str.print(name, " - (", start, ") <= ");
     396        }
     397       
     398        str.print("floor(");
     399        if (hasStep) {
     400            str.print("(");
     401        }
     402 
     403        str.print("(");
     404        p.print(end, str, indent);
     405        str.print(") - (");
     406        p.print(start, str, indent);
     407        str.print(")");
     408
     409        if (hasStep) {
     410            str.print(") / (");
     411            p.print(step, str, indent);
     412            str.print(")");
     413        }
     414
     415        str.print("); ");
    413416
    414417        /*
     
    416419         */
    417420        str.print(name, " = ");
    418         p.print(start, str, indent);
    419         str.print(" + ");
    420421        if (hasStep()) {
     422            p.print(start, str, indent);
     423            str.print(" + ");
    421424            str.print("(");
    422425            p.print(step, str, indent);
    423426            str.print(") * ");
    424         }
    425         str.print("(++", nameN, ")");
     427            str.print("(++", nameN, ")");
     428        } else {
     429            str.print(name, " + 1 ");
     430        }
    426431    }
    427432
  • branches/dev-cw-2719/Compiler/ModelicaCBackEnd/test/modelica/CCodeGenAlgorithmTests.mo

    r14004 r14143  
    966966    JMI_ARR(STACK, jmi_real_t, jmi_array_t, temp_1_a, 2, 1)
    967967    jmi_real_t i1_0i;
    968     jmi_int_t i1_0ie;
    969     jmi_int_t i1_0in;
    970968    if (o_a == NULL) {
    971969        JMI_ARRAY_INIT_1(STACK, jmi_real_t, jmi_array_t, o_an, 2, 1, 2)
     
    975973    jmi_array_ref_1(temp_1_a, 1) = 1;
    976974    jmi_array_ref_1(temp_1_a, 2) = 1;
    977     i1_0in = 0;
    978     i1_0ie = floor((2) - (1));
    979     for (i1_0i = 1; i1_0in <= i1_0ie; i1_0i = 1 + (++i1_0in)) {
     975    for (i1_0i = 1; i1_0i - (1) <= floor((2) - (1)); i1_0i = i1_0i + 1 ) {
    980976        jmi_array_ref_1(o_a, i1_0i) = jmi_array_val_1(temp_1_a, i1_0i);
    981977    }
     
    993989    JMI_ARR(STACK, jmi_real_t, jmi_array_t, temp_2_a, 2, 1)
    994990    jmi_real_t i1_1i;
    995     jmi_int_t i1_1ie;
    996     jmi_int_t i1_1in;
    997991    jmi_real_t i1_2i;
    998     jmi_int_t i1_2ie;
    999     jmi_int_t i1_2in;
    1000992    jmi_real_t i1_3i;
    1001     jmi_int_t i1_3ie;
    1002     jmi_int_t i1_3in;
    1003993    JMI_ARRAY_INIT_1(STACK, jmi_real_t, jmi_array_t, tmp_1, 3, 1, 3)
    1004994    r__v->a = tmp_1;
     
    10101000    JMI_ARRAY_INIT_1(STACK, jmi_real_t, jmi_array_t, temp_1_a, 2, 1, 2)
    10111001    func_CCodeGenAlgorithmTests_Algorithm9_f_def0(temp_1_a);
    1012     i1_1in = 0;
    1013     i1_1ie = floor((2) - (1));
    1014     for (i1_1i = 1; i1_1in <= i1_1ie; i1_1i = 1 + (++i1_1in)) {
     1002    for (i1_1i = 1; i1_1i - (1) <= floor((2) - (1)); i1_1i = i1_1i + 1 ) {
    10151003        jmi_array_ref_1(r_v->a, i1_1i) = 2 * jmi_array_val_1(temp_1_a, i1_1i);
    10161004    }
    10171005    JMI_ARRAY_INIT_1(STACK, jmi_real_t, jmi_array_t, temp_2_a, 2, 1, 2)
    10181006    func_CCodeGenAlgorithmTests_Algorithm9_f_def0(temp_2_a);
    1019     i1_2in = 0;
    1020     i1_2ie = floor((2) - (1));
    1021     for (i1_2i = 1; i1_2in <= i1_2ie; i1_2i = 1 + (++i1_2in)) {
     1007    for (i1_2i = 1; i1_2i - (1) <= floor((2) - (1)); i1_2i = i1_2i + 1 ) {
    10221008        jmi_array_ref_1(r_v->a, 2 + (i1_2i - 1)) = jmi_array_val_1(temp_2_a, i1_2i);
    10231009    }
    1024     i1_3in = 0;
    1025     i1_3ie = floor((3) - (1));
    1026     for (i1_3i = 1; i1_3in <= i1_3ie; i1_3i = 1 + (++i1_3in)) {
     1010    for (i1_3i = 1; i1_3i - (1) <= floor((3) - (1)); i1_3i = i1_3i + 1 ) {
    10271011        jmi_array_ref_1(r__v->a, i1_3i) = jmi_array_val_1(r_v->a, i1_3i);
    10281012    }
     
    11161100    JMI_ARR(STACK, jmi_real_t, jmi_array_t, temp_6_a, 2, 1)
    11171101    jmi_real_t i1_0i;
    1118     jmi_int_t i1_0ie;
    1119     jmi_int_t i1_0in;
    11201102    jmi_real_t i1_1i;
    1121     jmi_int_t i1_1ie;
    1122     jmi_int_t i1_1in;
    11231103    jmi_real_t i1_2i;
    1124     jmi_int_t i1_2ie;
    1125     jmi_int_t i1_2in;
    11261104    if (o_a == NULL) {
    11271105        JMI_ARRAY_INIT_1(STACK, jmi_real_t, jmi_array_t, o_an, 5, 1, 5)
     
    11371115    jmi_array_ref_1(temp_2_a, 2) = 1;
    11381116    jmi_array_ref_1(temp_2_a, 3) = 1;
    1139     i1_0in = 0;
    1140     i1_0ie = floor((3) - (1));
    1141     for (i1_0i = 1; i1_0in <= i1_0ie; i1_0i = 1 + (++i1_0in)) {
     1117    for (i1_0i = 1; i1_0i - (1) <= floor((3) - (1)); i1_0i = i1_0i + 1 ) {
    11421118        jmi_array_ref_1(o_a, jmi_array_ref_1(temp_1_a, i1_0i)) = jmi_array_val_1(temp_2_a, i1_0i);
    11431119    }
     
    11461122    jmi_array_ref_1(temp_4_a, 2) = 5;
    11471123    JMI_ARRAY_INIT_1(STACK, jmi_real_t, jmi_array_t, temp_3_a, 2, 1, 2)
    1148     i1_1in = 0;
    1149     i1_1ie = floor((2) - (1));
    1150     for (i1_1i = 1; i1_1in <= i1_1ie; i1_1i = 1 + (++i1_1in)) {
     1124    for (i1_1i = 1; i1_1i - (1) <= floor((2) - (1)); i1_1i = i1_1i + 1 ) {
    11511125        jmi_array_ref_1(temp_3_a, i1_1i) = jmi_array_val_1(o_a, jmi_array_val_1(temp_4_a, i1_1i));
    11521126    }
     
    11561130    jmi_array_ref_1(temp_6_a, 1) = 2;
    11571131    jmi_array_ref_1(temp_6_a, 2) = 4;
    1158     i1_2in = 0;
    1159     i1_2ie = floor((2) - (1));
    1160     for (i1_2i = 1; i1_2in <= i1_2ie; i1_2i = 1 + (++i1_2in)) {
     1132    for (i1_2i = 1; i1_2i - (1) <= floor((2) - (1)); i1_2i = i1_2i + 1 ) {
    11611133        jmi_array_ref_1(o_a, jmi_array_ref_1(temp_6_a, i1_2i)) = jmi_array_val_1(temp_5_a, i1_2i);
    11621134    }
     
    11711143    JMI_DEF(REA, dummy_v)
    11721144    jmi_real_t i1_3i;
    1173     jmi_int_t i1_3ie;
    1174     jmi_int_t i1_3in;
    11751145    if (o_a == NULL) {
    11761146        JMI_ARRAY_INIT_1(STACK, jmi_real_t, jmi_array_t, o_an, 2, 1, 2)
     
    11781148    }
    11791149    dummy_v = 1;
    1180     i1_3in = 0;
    1181     i1_3ie = floor((2) - (1));
    1182     for (i1_3i = 1; i1_3in <= i1_3ie; i1_3i = 1 + (++i1_3in)) {
     1150    for (i1_3i = 1; i1_3i - (1) <= floor((2) - (1)); i1_3i = i1_3i + 1 ) {
    11831151        jmi_array_ref_1(o_a, i1_3i) = jmi_array_val_1(i_a, i1_3i);
    11841152    }
  • branches/dev-cw-2719/Compiler/ModelicaCBackEnd/test/modelica/CCodeGenArrayTests.mo

    r14004 r14143  
    4040    JMI_DEF(REA, temp_2_v)
    4141    jmi_real_t i1_0i;
    42     jmi_int_t i1_0ie;
    43     jmi_int_t i1_0in;
    4442    temp_2_v = 0.0;
    45     i1_0in = 0;
    46     i1_0ie = floor((jmi_array_size(x_a, 0)) - (1));
    47     for (i1_0i = 1; i1_0in <= i1_0ie; i1_0i = 1 + (++i1_0in)) {
     43    for (i1_0i = 1; i1_0i - (1) <= floor((jmi_array_size(x_a, 0)) - (1)); i1_0i = i1_0i + 1 ) {
    4844        temp_2_v = temp_2_v + jmi_array_val_1(x_a, i1_0i) * jmi_array_val_1(x_a, i1_0i);
    4945    }
     
    241237    Real y = f(time);
    242238   
    243     annotation(__JModelica(UnitTesting(tests={
    244         CCodeGenTestCase(
    245             name="RecordArray1",
    246             description="",
    247             inline_functions="none",
    248             template="$C_functions$",
    249             generatedCode="
     239annotation(__JModelica(UnitTesting(tests={
     240    CCodeGenTestCase(
     241        name="RecordArray1",
     242        description="",
     243        inline_functions="none",
     244        template="$C_functions$",
     245        generatedCode="
    250246void func_CCodeGenArrayTests_RecordArray1_f_def0(jmi_real_t x_v, jmi_real_t* y_o) {
    251247    JMI_DYNAMIC_INIT()
     
    254250    JMI_ARR(STACK, jmi_real_t, jmi_array_t, tmp_1, 3, 1)
    255251    jmi_real_t i1_0i;
    256     jmi_int_t i1_0ie;
    257     jmi_int_t i1_0in;
    258252    JMI_ARRAY_INIT_1(STACK, jmi_real_t, jmi_array_t, tmp_1, 3, 1, 3)
    259253    r_v->x = tmp_1;
    260254    y_v = x_v;
    261255    r_v->n = 3;
    262     i1_0in = 0;
    263     i1_0ie = floor((3) - (1));
    264     for (i1_0i = 1; i1_0in <= i1_0ie; i1_0i = 1 + (++i1_0in)) {
     256    for (i1_0i = 1; i1_0i - (1) <= floor((3) - (1)); i1_0i = i1_0i + 1 ) {
    265257        jmi_array_ref_1(r_v->x, i1_0i) = i1_0i;
    266258    }
     
    799791    JMI_DEF(REA, temp_1_v)
    800792    jmi_real_t i_0i;
    801     jmi_int_t i_0ie;
    802     jmi_int_t i_0in;
    803793    jmi_real_t i1_1i;
    804     jmi_int_t i1_1ie;
    805     jmi_int_t i1_1in;
    806     i_0in = 0;
    807     i_0ie = floor((jmi_array_size(r_a, 0)) - (1));
    808     for (i_0i = 1; i_0in <= i_0ie; i_0i = 1 + (++i_0in)) {
     794    for (i_0i = 1; i_0i - (1) <= floor((jmi_array_size(r_a, 0)) - (1)); i_0i = i_0i + 1 ) {
    809795        temp_1_v = 0.0;
    810         i1_1in = 0;
    811         i1_1ie = floor((jmi_array_size(jmi_array_rec_1(r_a, i_0i)->x, 0)) - (1));
    812         for (i1_1i = 1; i1_1in <= i1_1ie; i1_1i = 1 + (++i1_1in)) {
     796        for (i1_1i = 1; i1_1i - (1) <= floor((jmi_array_size(jmi_array_rec_1(r_a, i_0i)->x, 0)) - (1)); i1_1i = i1_1i + 1 ) {
    813797            temp_1_v = temp_1_v + jmi_array_val_1(jmi_array_rec_1(r_a, i_0i)->x, i1_1i);
    814798        }
     
    835819    return ef;
    836820}
    837 
    838821")})));
    839822end RecordArray10;
     
    974957    JMI_DEF(REA, temp_1_v)
    975958    jmi_real_t i1_0i;
    976     jmi_int_t i1_0ie;
    977     jmi_int_t i1_0in;
    978959    jmi_real_t i1_1i;
    979     jmi_int_t i1_1ie;
    980     jmi_int_t i1_1in;
    981960    jmi_real_t i1_2i;
    982     jmi_int_t i1_2ie;
    983     jmi_int_t i1_2in;
    984961    JMI_ARRAY_INIT_1(HEAP, jmi_real_t, jmi_array_t, xs_a, n_v, 1, n_v)
    985962    JMI_ARRAY_INIT_1(HEAP, R_0_r, R_0_ra, rs_a, n_v, 1, n_v)
     
    987964    for (tmp_1 = 1; tmp_1 < tmp_1_max; tmp_1++) {
    988965    }
    989     i1_0in = 0;
    990     i1_0ie = floor((n_v) - (1));
    991     for (i1_0i = 1; i1_0in <= i1_0ie; i1_0i = 1 + (++i1_0in)) {
     966    for (i1_0i = 1; i1_0i - (1) <= floor((n_v) - (1)); i1_0i = i1_0i + 1 ) {
    992967        jmi_array_rec_1(rs_a, i1_0i)->x = 1;
    993968    }
    994     i1_1in = 0;
    995     i1_1ie = floor((n_v) - (1));
    996     for (i1_1i = 1; i1_1in <= i1_1ie; i1_1i = 1 + (++i1_1in)) {
     969    for (i1_1i = 1; i1_1i - (1) <= floor((n_v) - (1)); i1_1i = i1_1i + 1 ) {
    997970        jmi_array_ref_1(xs_a, i1_1i) = jmi_array_rec_1(rs_a, i1_1i)->x;
    998971    }
    999972    temp_1_v = 0.0;
    1000     i1_2in = 0;
    1001     i1_2ie = floor((n_v) - (1));
    1002     for (i1_2i = 1; i1_2in <= i1_2ie; i1_2i = 1 + (++i1_2in)) {
     973    for (i1_2i = 1; i1_2i - (1) <= floor((n_v) - (1)); i1_2i = i1_2i + 1 ) {
    1003974        temp_1_v = temp_1_v + jmi_array_val_1(xs_a, i1_2i);
    1004975    }
     
    1014985    return y_v;
    1015986}
     987
    1016988")})));
    1017989end RecordArray14;
  • branches/dev-cw-2719/Compiler/ModelicaCBackEnd/test/modelica/CCodeGenCompositeStatementTests.mo

    r12904 r14143  
    3232        R[:] r = f(R(time));
    3333
    34 annotation(__JModelica(UnitTesting(tests={
    35     CCodeGenTestCase(
    36         name="RecordStmt1",
    37         description="",
    38         template="
    39 $C_functions$
    40 ",
    41         generatedCode="
     34    annotation(__JModelica(UnitTesting(tests={
     35        CCodeGenTestCase(
     36            name="RecordStmt1",
     37            description="",
     38            template="$C_functions$",
     39            generatedCode="
    4240void func_CCodeGenCompositeStatementTests_RecordStmt1_f_def0(R_0_r* r_v, R_0_ra* y_a) {
    4341    JMI_DYNAMIC_INIT()
     
    4543    JMI_ARR(STACK, R_0_r, R_0_ra, temp_1_a, 2, 1)
    4644    jmi_real_t i1_0i;
    47     jmi_int_t i1_0ie;
    48     jmi_int_t i1_0in;
    4945    if (y_a == NULL) {
    5046        JMI_ARRAY_INIT_1(STACK, R_0_r, R_0_ra, y_an, 2, 1, 2)
     
    5450    *jmi_array_rec_1(temp_1_a, 1) = *JMI_GLOBAL(CCodeGenCompositeStatementTests_RecordStmt1_f_c);
    5551    *jmi_array_rec_1(temp_1_a, 2) = *r_v;
    56     i1_0in = 0;
    57     i1_0ie = floor((2) - (1));
    58     for (i1_0i = 1; i1_0in <= i1_0ie; i1_0i = 1 + (++i1_0in)) {
     52    for (i1_0i = 1; i1_0i - (1) <= floor((2) - (1)); i1_0i = i1_0i + 1 ) {
    5953        jmi_array_rec_1(y_a, i1_0i)->x = jmi_array_rec_1(temp_1_a, i1_0i)->x;
    6054    }
     
    6256    return;
    6357}
     58
    6459")})));
    6560    end RecordStmt1;
     
    7974        R[:] r = f(R({time}));
    8075
    81 annotation(__JModelica(UnitTesting(tests={
    82     CCodeGenTestCase(
    83         name="RecordStmt2",
    84         description="",
    85         template="
    86 $C_functions$
    87 ",
    88         generatedCode="
     76    annotation(__JModelica(UnitTesting(tests={
     77        CCodeGenTestCase(
     78            name="RecordStmt2",
     79            description="",
     80            template="$C_functions$",
     81            generatedCode="
    8982void func_CCodeGenCompositeStatementTests_RecordStmt2_f_def0(R_0_r* r_v, R_0_ra* y_a) {
    9083    JMI_DYNAMIC_INIT()
     
    9487    JMI_ARR(STACK, R_0_r, R_0_ra, temp_1_a, 2, 1)
    9588    jmi_real_t i1_0i;
    96     jmi_int_t i1_0ie;
    97     jmi_int_t i1_0in;
    9889    jmi_real_t i2_1i;
    99     jmi_int_t i2_1ie;
    100     jmi_int_t i2_1in;
    10190    if (y_a == NULL) {
    10291        JMI_ARRAY_INIT_1(STACK, R_0_r, R_0_ra, y_an, 2, 1, 2)
     
    11099    *jmi_array_rec_1(temp_1_a, 1) = *JMI_GLOBAL(CCodeGenCompositeStatementTests_RecordStmt2_f_c);
    111100    *jmi_array_rec_1(temp_1_a, 2) = *r_v;
    112     i1_0in = 0;
    113     i1_0ie = floor((2) - (1));
    114     for (i1_0i = 1; i1_0in <= i1_0ie; i1_0i = 1 + (++i1_0in)) {
    115         i2_1in = 0;
    116         i2_1ie = floor((1) - (1));
    117         for (i2_1i = 1; i2_1in <= i2_1ie; i2_1i = 1 + (++i2_1in)) {
     101    for (i1_0i = 1; i1_0i - (1) <= floor((2) - (1)); i1_0i = i1_0i + 1 ) {
     102        for (i2_1i = 1; i2_1i - (1) <= floor((1) - (1)); i2_1i = i2_1i + 1 ) {
    118103            jmi_array_ref_1(jmi_array_rec_1(y_a, i1_0i)->x, i2_1i) = jmi_array_val_1(jmi_array_rec_1(temp_1_a, i1_0i)->x, i2_1i);
    119104        }
     
    122107    return;
    123108}
     109
    124110")})));
    125111    end RecordStmt2;
     
    149135        R3[:] r = f(R3(R2(R1({time}))));
    150136
    151 annotation(__JModelica(UnitTesting(tests={
    152     CCodeGenTestCase(
    153         name="RecordStmt3",
    154         description="",
    155         template="
    156 $C_functions$
    157 ",
    158         generatedCode="
     137    annotation(__JModelica(UnitTesting(tests={
     138        CCodeGenTestCase(
     139            name="RecordStmt3",
     140            description="",
     141            template="$C_functions$",
     142            generatedCode="
    159143void func_CCodeGenCompositeStatementTests_RecordStmt3_f_def0(R3_2_r* r_v, R3_2_ra* y_a) {
    160144    JMI_DYNAMIC_INIT()
     
    173157    JMI_ARR(STACK, R3_2_r, R3_2_ra, temp_2_a, 2, 1)
    174158    jmi_real_t i1_0i;
    175     jmi_int_t i1_0ie;
    176     jmi_int_t i1_0in;
    177159    jmi_real_t i1_1i;
    178     jmi_int_t i1_1ie;
    179     jmi_int_t i1_1in;
    180160    jmi_real_t i1_2i;
    181     jmi_int_t i1_2ie;
    182     jmi_int_t i1_2in;
    183161    jmi_real_t i2_3i;
    184     jmi_int_t i2_3ie;
    185     jmi_int_t i2_3in;
    186162    JMI_ARRAY_INIT_1(STACK, jmi_real_t, jmi_array_t, tmp_3, 1, 1, 1)
    187163    tmp_2->x = tmp_3;
     
    190166    JMI_ARRAY_INIT_1(STACK, jmi_real_t, jmi_array_t, temp_1_a, 1, 1, 1)
    191167    jmi_array_ref_1(temp_1_a, 1) = 1;
    192     i1_0in = 0;
    193     i1_0ie = floor((1) - (1));
    194     for (i1_0i = 1; i1_0in <= i1_0ie; i1_0i = 1 + (++i1_0in)) {
     168    for (i1_0i = 1; i1_0i - (1) <= floor((1) - (1)); i1_0i = i1_0i + 1 ) {
    195169        jmi_array_ref_1(c_v->r->r->x, i1_0i) = jmi_array_val_1(temp_1_a, i1_0i);
    196170    }
     
    212186    jmi_array_rec_1(temp_2_a, 1)->r->r = jmi_dynamic_function_pool_alloc(&dyn_mem, 1*sizeof(R1_0_r), TRUE);
    213187    JMI_ARRAY_INIT_1(HEAP, jmi_real_t, jmi_array_t, jmi_array_rec_1(temp_2_a, 1)->r->r->x, 1, 1, 1)
    214     i1_1in = 0;
    215     i1_1ie = floor((1) - (1));
    216     for (i1_1i = 1; i1_1in <= i1_1ie; i1_1i = 1 + (++i1_1in)) {
     188    for (i1_1i = 1; i1_1i - (1) <= floor((1) - (1)); i1_1i = i1_1i + 1 ) {
    217189        jmi_array_ref_1(jmi_array_rec_1(temp_2_a, 1)->r->r->x, i1_1i) = jmi_array_val_1(c_v->r->r->x, i1_1i);
    218190    }
    219191    jmi_array_rec_1(temp_2_a, 1)->r->x = c_v->r->x;
    220192    *jmi_array_rec_1(temp_2_a, 2) = *r_v;
    221     i1_2in = 0;
    222     i1_2ie = floor((2) - (1));
    223     for (i1_2i = 1; i1_2in <= i1_2ie; i1_2i = 1 + (++i1_2in)) {
    224         i2_3in = 0;
    225         i2_3ie = floor((1) - (1));
    226         for (i2_3i = 1; i2_3in <= i2_3ie; i2_3i = 1 + (++i2_3in)) {
     193    for (i1_2i = 1; i1_2i - (1) <= floor((2) - (1)); i1_2i = i1_2i + 1 ) {
     194        for (i2_3i = 1; i2_3i - (1) <= floor((1) - (1)); i2_3i = i2_3i + 1 ) {
    227195            jmi_array_ref_1(jmi_array_rec_1(y_a, i1_2i)->r->r->x, i2_3i) = jmi_array_val_1(jmi_array_rec_1(temp_2_a, i1_2i)->r->r->x, i2_3i);
    228196        }
     
    232200    return;
    233201}
     202
    234203")})));
    235204    end RecordStmt3;
     
    251220        R1[:] y = f(time);
    252221
    253 annotation(__JModelica(UnitTesting(tests={
    254     CCodeGenTestCase(
    255         name="RecordStmt4",
    256         description="Primitive array in record array initialization",
    257         template="
    258 $C_functions$
    259 ",
    260         generatedCode="
     222    annotation(__JModelica(UnitTesting(tests={
     223        CCodeGenTestCase(
     224            name="RecordStmt4",
     225            description="Primitive array in record array initialization",
     226            template="$C_functions$",
     227            generatedCode="
    261228void func_CCodeGenCompositeStatementTests_RecordStmt4_f_def0(jmi_real_t x_v, R1_0_ra* y_a) {
    262229    JMI_DYNAMIC_INIT()
     
    265232    JMI_ARR(STACK, R1_0_r, R1_0_ra, temp_1_a, 1, 1)
    266233    jmi_real_t i1_0i;
    267     jmi_int_t i1_0ie;
    268     jmi_int_t i1_0in;
    269234    jmi_real_t i2_1i;
    270     jmi_int_t i2_1ie;
    271     jmi_int_t i2_1in;
    272235    if (y_a == NULL) {
    273236        JMI_ARRAY_INIT_1(STACK, R1_0_r, R1_0_ra, y_an, 1, 1, 1)
     
    278241    JMI_ARRAY_INIT_1(STACK, R1_0_r, R1_0_ra, temp_1_a, 1, 1, 1)
    279242    jmi_array_rec_1(temp_1_a, 1)->x = JMI_GLOBAL(CCodeGenCompositeStatementTests_RecordStmt4_f_c);
    280     i1_0in = 0;
    281     i1_0ie = floor((1) - (1));
    282     for (i1_0i = 1; i1_0in <= i1_0ie; i1_0i = 1 + (++i1_0in)) {
    283         i2_1in = 0;
    284         i2_1ie = floor((1) - (1));
    285         for (i2_1i = 1; i2_1in <= i2_1ie; i2_1i = 1 + (++i2_1in)) {
     243    for (i1_0i = 1; i1_0i - (1) <= floor((1) - (1)); i1_0i = i1_0i + 1 ) {
     244        for (i2_1i = 1; i2_1i - (1) <= floor((1) - (1)); i2_1i = i2_1i + 1 ) {
    286245            jmi_array_ref_1(jmi_array_rec_1(y_a, i1_0i)->x, i2_1i) = jmi_array_val_1(jmi_array_rec_1(temp_1_a, i1_0i)->x, i2_1i);
    287246        }
     
    290249    return;
    291250}
     251
    292252")})));
    293253    end RecordStmt4;
     
    313273        R2[:] y = f(time);
    314274
    315 annotation(__JModelica(UnitTesting(tests={
    316     CCodeGenTestCase(
    317         name="RecordStmt5",
    318         description="Record array in record array initialization",
    319         template="
    320 $C_functions$
    321 ",
    322         generatedCode="
     275    annotation(__JModelica(UnitTesting(tests={
     276        CCodeGenTestCase(
     277            name="RecordStmt5",
     278            description="Record array in record array initialization",
     279            template="$C_functions$",
     280            generatedCode="
    323281void func_CCodeGenCompositeStatementTests_RecordStmt5_f_def0(jmi_real_t x_v, R2_1_ra* y_a) {
    324282    JMI_DYNAMIC_INIT()
     
    329287    JMI_ARR(STACK, R1_0_r, R1_0_ra, temp_2_a, 1, 1)
    330288    jmi_real_t i1_0i;
    331     jmi_int_t i1_0ie;
    332     jmi_int_t i1_0in;
    333289    jmi_real_t i2_1i;
    334     jmi_int_t i2_1ie;
    335     jmi_int_t i2_1in;
    336290    jmi_real_t i3_2i;
    337     jmi_int_t i3_2ie;
    338     jmi_int_t i3_2in;
    339291    if (y_a == NULL) {
    340292        JMI_ARRAY_INIT_1(STACK, R2_1_r, R2_1_ra, y_an, 1, 1, 1)
     
    349301    jmi_array_rec_1(temp_2_a, 1)->x = JMI_GLOBAL(CCodeGenCompositeStatementTests_RecordStmt5_f_c);
    350302    jmi_array_rec_1(temp_1_a, 1)->r1 = temp_2_a;
    351     i1_0in = 0;
    352     i1_0ie = floor((1) - (1));
    353     for (i1_0i = 1; i1_0in <= i1_0ie; i1_0i = 1 + (++i1_0in)) {
    354         i2_1in = 0;
    355         i2_1ie = floor((1) - (1));
    356         for (i2_1i = 1; i2_1in <= i2_1ie; i2_1i = 1 + (++i2_1in)) {
    357             i3_2in = 0;
    358             i3_2ie = floor((1) - (1));
    359             for (i3_2i = 1; i3_2in <= i3_2ie; i3_2i = 1 + (++i3_2in)) {
     303    for (i1_0i = 1; i1_0i - (1) <= floor((1) - (1)); i1_0i = i1_0i + 1 ) {
     304        for (i2_1i = 1; i2_1i - (1) <= floor((1) - (1)); i2_1i = i2_1i + 1 ) {
     305            for (i3_2i = 1; i3_2i - (1) <= floor((1) - (1)); i3_2i = i3_2i + 1 ) {
    360306                jmi_array_ref_1(jmi_array_rec_1(jmi_array_rec_1(y_a, i1_0i)->r1, i2_1i)->x, i3_2i) = jmi_array_val_1(jmi_array_rec_1(jmi_array_rec_1(temp_1_a, i1_0i)->r1, i2_1i)->x, i3_2i);
    361307            }
     
    365311    return;
    366312}
     313
    367314")})));
    368315    end RecordStmt5;
  • branches/dev-cw-2719/Compiler/ModelicaCBackEnd/test/modelica/CCodeGenExternalTests.mo

    r13491 r14143  
    22302230    JMI_ARR(HEAP, jmi_real_t, jmi_array_t, work_a, -1, 1)
    22312231    jmi_real_t i1_0i;
    2232     jmi_int_t i1_0ie;
    2233     jmi_int_t i1_0in;
    22342232    jmi_real_t i2_1i;
    2235     jmi_int_t i2_1ie;
    2236     jmi_int_t i2_1in;
    22372233    JMI_DEF(STR_EXT, tmp_1)
    22382234    JMI_DEF(STR_EXT, tmp_2)
     
    22622258    lwork_v = 12 * n_v;
    22632259    JMI_ARRAY_INIT_2(HEAP, jmi_real_t, jmi_array_t, Awork_a, jmi_array_size(A_a, 0) * jmi_array_size(A_a, 0), 2, jmi_array_size(A_a, 0), jmi_array_size(A_a, 0))
    2264     i1_0in = 0;
    2265     i1_0ie = floor((jmi_array_size(A_a, 0)) - (1));
    2266     for (i1_0i = 1; i1_0in <= i1_0ie; i1_0i = 1 + (++i1_0in)) {
    2267         i2_1in = 0;
    2268         i2_1ie = floor((jmi_array_size(A_a, 0)) - (1));
    2269         for (i2_1i = 1; i2_1in <= i2_1ie; i2_1i = 1 + (++i2_1in)) {
     2260    for (i1_0i = 1; i1_0i - (1) <= floor((jmi_array_size(A_a, 0)) - (1)); i1_0i = i1_0i + 1 ) {
     2261        for (i2_1i = 1; i2_1i - (1) <= floor((jmi_array_size(A_a, 0)) - (1)); i2_1i = i2_1i + 1 ) {
    22702262            jmi_array_ref_2(Awork_a, i1_0i, i2_1i) = jmi_array_val_2(A_a, i1_0i, i2_1i);
    22712263        }
  • branches/dev-cw-2719/Compiler/ModelicaCBackEnd/test/modelica/CCodeGenGlobalsTests.mo

    r14004 r14143  
    10431043    JMI_DEF(REA, y_v)
    10441044    jmi_real_t i_0i;
    1045     jmi_int_t i_0ie;
    1046     jmi_int_t i_0in;
    10471045    y_v = x_v;
    1048     i_0in = 0;
    1049     i_0ie = floor((2) - (1));
    1050     for (i_0i = 1; i_0in <= i_0ie; i_0i = 1 + (++i_0in)) {
     1046    for (i_0i = 1; i_0i - (1) <= floor((2) - (1)); i_0i = i_0i + 1 ) {
    10511047        y_v = JMI_POW_FUNCTION(\"CCodeGenGlobalsTests.GlobalVariables.GlobalConstantForPowInt1.f\", y_v, jmi_array_val_1(JMI_GLOBAL(CCodeGenGlobalsTests_GlobalVariables_GlobalConstantForPowInt1_f_c), i_0i), \"y ^ global(CCodeGenGlobalsTests.GlobalVariables.GlobalConstantForPowInt1.f.c[i])\");
    10521048    }
  • branches/dev-cw-2719/Compiler/ModelicaCBackEnd/test/modelica/CCodeGenLiteralTests.mo

    r12838 r14143  
    4040",
    4141        generatedCode="
     42
    4243int model_ode_derivatives_base(jmi_t* jmi) {
    4344    int ef = 0;
     
    5859    JMI_DEF(INT, temp_1_v)
    5960    jmi_real_t i1_0i;
    60     jmi_int_t i1_0ie;
    61     jmi_int_t i1_0in;
    6261    temp_1_v = INT_MIN;
    63     i1_0in = 0;
    64     i1_0ie = floor((jmi_array_size(x_a, 0)) - (1));
    65     for (i1_0i = 1; i1_0in <= i1_0ie; i1_0i = 1 + (++i1_0in)) {
     62    for (i1_0i = 1; i1_0i - (1) <= floor((jmi_array_size(x_a, 0)) - (1)); i1_0i = i1_0i + 1 ) {
    6663        temp_1_v = COND_EXP_EQ(COND_EXP_GT(temp_1_v, jmi_array_val_1(x_a, i1_0i), JMI_TRUE, JMI_FALSE), JMI_TRUE, temp_1_v, jmi_array_val_1(x_a, i1_0i));
    6764    }
     
    7774    return y_v;
    7875}
     76
    7977")})));
    8078end CCodeGenLiteralTest1;
  • branches/dev-cw-2719/Compiler/ModelicaCBackEnd/test/modelica/CCodeGenTests.mo

    r14004 r14143  
    909909    JMI_ARR(STACK, jmi_real_t, jmi_array_t, temp_1_a, 1, 2)
    910910    jmi_real_t i1_0i;
    911     jmi_int_t i1_0ie;
    912     jmi_int_t i1_0in;
    913911    jmi_real_t i2_1i;
    914     jmi_int_t i2_1ie;
    915     jmi_int_t i2_1in;
    916912    if (y_a == NULL) {
    917913        JMI_ARRAY_INIT_2(STACK, jmi_real_t, jmi_array_t, y_an, 1, 2, 1, 1)
     
    919915    }
    920916    JMI_ARRAY_INIT_2(STACK, jmi_real_t, jmi_array_t, temp_1_a, 1, 2, 1, 1)
    921     i1_0in = 0;
    922     i1_0ie = floor((1) - (1));
    923     for (i1_0i = 1; i1_0in <= i1_0ie; i1_0i = 1 + (++i1_0in)) {
    924         i2_1in = 0;
    925         i2_1ie = floor((1) - (1));
    926         for (i2_1i = 1; i2_1in <= i2_1ie; i2_1i = 1 + (++i2_1in)) {
     917    for (i1_0i = 1; i1_0i - (1) <= floor((1) - (1)); i1_0i = i1_0i + 1 ) {
     918        for (i2_1i = 1; i2_1i - (1) <= floor((1) - (1)); i2_1i = i2_1i + 1 ) {
    927919            jmi_array_ref_2(temp_1_a, i1_0i, i2_1i) = jmi_array_val_2(x_a, i2_1i, i1_0i);
    928920        }
     
    939931    JMI_ARR(STACK, jmi_real_t, jmi_array_t, temp_2_a, 1, 1)
    940932    jmi_real_t i1_2i;
    941     jmi_int_t i1_2ie;
    942     jmi_int_t i1_2in;
    943933    jmi_real_t i1_3i;
    944     jmi_int_t i1_3ie;
    945     jmi_int_t i1_3in;
    946934    jmi_real_t i2_4i;
    947     jmi_int_t i2_4ie;
    948     jmi_int_t i2_4in;
    949935    if (y_a == NULL) {
    950936        JMI_ARRAY_INIT_2(STACK, jmi_real_t, jmi_array_t, y_an, 1, 2, 1, 1)
     
    954940    JMI_ARRAY_INIT_1(STACK, jmi_real_t, jmi_array_t, temp_2_a, 1, 1, 1)
    955941    jmi_array_ref_1(temp_2_a, 1) = t_v;
    956     i1_2in = 0;
    957     i1_2ie = floor((1) - (1));
    958     for (i1_2i = 1; i1_2in <= i1_2ie; i1_2i = 1 + (++i1_2in)) {
     942    for (i1_2i = 1; i1_2i - (1) <= floor((1) - (1)); i1_2i = i1_2i + 1 ) {
    959943        jmi_array_ref_2(temp_1_a, 1, i1_2i) = jmi_array_val_1(temp_2_a, i1_2i);
    960944    }
    961     i1_3in = 0;
    962     i1_3ie = floor((1) - (1));
    963     for (i1_3i = 1; i1_3in <= i1_3ie; i1_3i = 1 + (++i1_3in)) {
    964         i2_4in = 0;
    965         i2_4ie = floor((1) - (1));
    966         for (i2_4i = 1; i2_4in <= i2_4ie; i2_4i = 1 + (++i2_4in)) {
     945    for (i1_3i = 1; i1_3i - (1) <= floor((1) - (1)); i1_3i = i1_3i + 1 ) {
     946        for (i2_4i = 1; i2_4i - (1) <= floor((1) - (1)); i2_4i = i2_4i + 1 ) {
    967947            jmi_array_ref_2(y_a, i1_3i, i2_4i) = jmi_array_val_2(temp_1_a, i1_3i, i2_4i);
    968948        }
     
    977957    JMI_DEF(REA, temp_1_v)
    978958    jmi_real_t i1_5i;
    979     jmi_int_t i1_5ie;
    980     jmi_int_t i1_5in;
    981959    jmi_real_t i2_6i;
    982     jmi_int_t i2_6ie;
    983     jmi_int_t i2_6in;
    984960    temp_1_v = 0.0;
    985     i1_5in = 0;
    986     i1_5ie = floor((jmi_array_size(x_a, 0)) - (1));
    987     for (i1_5i = 1; i1_5in <= i1_5ie; i1_5i = 1 + (++i1_5in)) {
    988         i2_6in = 0;
    989         i2_6ie = floor((jmi_array_size(x_a, 1)) - (1));
    990         for (i2_6i = 1; i2_6in <= i2_6ie; i2_6i = 1 + (++i2_6in)) {
     961    for (i1_5i = 1; i1_5i - (1) <= floor((jmi_array_size(x_a, 0)) - (1)); i1_5i = i1_5i + 1 ) {
     962        for (i2_6i = 1; i2_6i - (1) <= floor((jmi_array_size(x_a, 1)) - (1)); i2_6i = i2_6i + 1 ) {
    991963            temp_1_v = temp_1_v + jmi_array_val_2(x_a, i1_5i, i2_6i);
    992964        }
     
    29502922    JMI_ARR(STACK, jmi_real_t, jmi_array_t, y_an, 2, 1)
    29512923    jmi_real_t i1_0i;
    2952     jmi_int_t i1_0ie;
    2953     jmi_int_t i1_0in;
    29542924    if (y_a == NULL) {
    29552925        JMI_ARRAY_INIT_1(STACK, jmi_real_t, jmi_array_t, y_an, 2, 1, 2)
    29562926        y_a = y_an;
    29572927    }
    2958     i1_0in = 0;
    2959     i1_0ie = floor((2) - (1));
    2960     for (i1_0i = 1; i1_0in <= i1_0ie; i1_0i = 1 + (++i1_0in)) {
     2928    for (i1_0i = 1; i1_0i - (1) <= floor((2) - (1)); i1_0i = i1_0i + 1 ) {
    29612929        jmi_array_ref_1(y_a, i1_0i) = jmi_array_val_1(x_a, i1_0i);
    29622930    }
     
    29762944    (*res)[2] = 1 - ((_z_1_0*sf(0)));
    29772945    (*res)[3] = 1 - ((_z_2_1*sf(1)));
    2978 
    29792946")})));
    29802947end CFunctionTest12;
     
    30242991    JMI_ARR(STACK, jmi_real_t, jmi_array_t, temp_1_a, 2, 1)
    30252992    jmi_real_t i1_0i;
    3026     jmi_int_t i1_0ie;
    3027     jmi_int_t i1_0in;
    30282993    jmi_real_t i1_1i;
    3029     jmi_int_t i1_1ie;
    3030     jmi_int_t i1_1in;
    30312994    if (dx_a == NULL) {
    30322995        JMI_ARRAY_INIT_1(STACK, jmi_real_t, jmi_array_t, dx_an, 2, 1, 2)
     
    30403003    jmi_array_ref_1(temp_1_a, 1) = u_v;
    30413004    jmi_array_ref_1(temp_1_a, 2) = 0;
    3042     i1_0in = 0;
    3043     i1_0ie = floor((2) - (1));
    3044     for (i1_0i = 1; i1_0in <= i1_0ie; i1_0i = 1 + (++i1_0in)) {
     3005    for (i1_0i = 1; i1_0i - (1) <= floor((2) - (1)); i1_0i = i1_0i + 1 ) {
    30453006        jmi_array_ref_1(dx_a, i1_0i) = - jmi_array_val_1(x_a, i1_0i) + jmi_array_val_1(temp_1_a, i1_0i);
    30463007    }
    3047     i1_1in = 0;
    3048     i1_1ie = floor((2) - (1));
    3049     for (i1_1i = 1; i1_1in <= i1_1ie; i1_1i = 1 + (++i1_1in)) {
     3008    for (i1_1i = 1; i1_1i - (1) <= floor((2) - (1)); i1_1i = i1_1i + 1 ) {
    30503009        jmi_array_ref_1(y_a, i1_1i) = 2 * jmi_array_val_1(x_a, i1_1i);
    30513010    }
     
    31193078    JMI_ARR(STACK, jmi_real_t, jmi_array_t, temp_1_a, 2, 1)
    31203079    jmi_real_t i1_0i;
    3121     jmi_int_t i1_0ie;
    3122     jmi_int_t i1_0in;
    31233080    jmi_real_t i1_1i;
    3124     jmi_int_t i1_1ie;
    3125     jmi_int_t i1_1in;
    31263081    if (dx_a == NULL) {
    31273082        JMI_ARRAY_INIT_1(STACK, jmi_real_t, jmi_array_t, dx_an, 2, 1, 2)
     
    31353090    jmi_array_ref_1(temp_1_a, 1) = u_v;
    31363091    jmi_array_ref_1(temp_1_a, 2) = 0;
    3137     i1_0in = 0;
    3138     i1_0ie = floor((2) - (1));
    3139     for (i1_0i = 1; i1_0in <= i1_0ie; i1_0i = 1 + (++i1_0in)) {
     3092    for (i1_0i = 1; i1_0i - (1) <= floor((2) - (1)); i1_0i = i1_0i + 1 ) {
    31403093        jmi_array_ref_1(dx_a, i1_0i) = - jmi_array_val_1(x_a, i1_0i) + jmi_array_val_1(temp_1_a, i1_0i);
    31413094    }
    3142     i1_1in = 0;
    3143     i1_1ie = floor((2) - (1));
    3144     for (i1_1i = 1; i1_1in <= i1_1ie; i1_1i = 1 + (++i1_1in)) {
     3095    for (i1_1i = 1; i1_1i - (1) <= floor((2) - (1)); i1_1i = i1_1i + 1 ) {
    31453096        jmi_array_ref_1(y_a, i1_1i) = 2 * jmi_array_val_1(x_a, i1_1i);
    31463097    }
     
    31613112    return ef;
    31623113}
    3163 
    31643114")})));
    31653115end CFunctionTest14;
     
    33443294    JMI_ARR(STACK, jmi_real_t, jmi_array_t, y_an, 2, 1)
    33453295    jmi_real_t i_0i;
    3346     jmi_int_t i_0ie;
    3347     jmi_int_t i_0in;
    33483296    if (y_a == NULL) {
    33493297        JMI_ARRAY_INIT_1(STACK, jmi_real_t, jmi_array_t, y_an, 2, 1, 2)
    33503298        y_a = y_an;
    33513299    }
    3352     i_0in = 0;
    3353     i_0ie = floor((2) - (1));
    3354     for (i_0i = 1; i_0in <= i_0ie; i_0i = 1 + (++i_0in)) {
     3300    for (i_0i = 1; i_0i - (1) <= floor((2) - (1)); i_0i = i_0i + 1 ) {
    33553301        jmi_array_ref_1(y_a, i_0i) = jmi_array_val_1(x_a, 1) + jmi_array_val_1(x_a, 2);
    33563302    }
     
    36943640    JMI_ARR(STACK, jmi_real_t, jmi_array_t, tmp_3, 2, 1)
    36953641    jmi_real_t i1_0i;
    3696     jmi_int_t i1_0ie;
    3697     jmi_int_t i1_0in;
    36983642    if (y_a == NULL) {
    36993643        JMI_ARRAY_INIT_1(STACK, jmi_real_t, jmi_array_t, tmp_1, 2, 1, 2)
     
    37143658    jmi_array_ref_1(tmp_3, 1) = x_v;
    37153659    jmi_array_ref_1(tmp_3, 2) = x_v;
    3716     i1_0in = 0;
    3717     i1_0ie = floor((func_CCodeGenTests_FuncWithArray_g_exp1(tmp_3)) - (1));
    3718     for (i1_0i = 1; i1_0in <= i1_0ie; i1_0i = 1 + (++i1_0in)) {
     3660    for (i1_0i = 1; i1_0i - (1) <= floor((func_CCodeGenTests_FuncWithArray_g_exp1(tmp_3)) - (1)); i1_0i = i1_0i + 1 ) {
    37193661        jmi_array_ref_1(y_a, i1_0i) = jmi_array_val_1(temp_1_a, i1_0i);
    37203662    }
     
    37293671    JMI_DEF(REA, temp_2_v)
    37303672    jmi_real_t i1_1i;
    3731     jmi_int_t i1_1ie;
    3732     jmi_int_t i1_1in;
    37333673    jmi_real_t i1_2i;
    3734     jmi_int_t i1_2ie;
    3735     jmi_int_t i1_2in;
    37363674    temp_1_v = 0.0;
    3737     i1_1in = 0;
    3738     i1_1ie = floor((jmi_array_size(x_a, 0)) - (1));
    3739     for (i1_1i = 1; i1_1in <= i1_1ie; i1_1i = 1 + (++i1_1in)) {
     3675    for (i1_1i = 1; i1_1i - (1) <= floor((jmi_array_size(x_a, 0)) - (1)); i1_1i = i1_1i + 1 ) {
    37403676        temp_1_v = temp_1_v + jmi_array_val_1(x_a, i1_1i);
    37413677    }
    37423678    temp_2_v = 0.0;
    3743     i1_2in = 0;
    3744     i1_2ie = floor((jmi_array_size(x_a, 0)) - (1));
    3745     for (i1_2i = 1; i1_2in <= i1_2ie; i1_2i = 1 + (++i1_2in)) {
     3679    for (i1_2i = 1; i1_2i - (1) <= floor((jmi_array_size(x_a, 0)) - (1)); i1_2i = i1_2i + 1 ) {
    37463680        temp_2_v = temp_2_v + jmi_array_val_1(x_a, i1_2i);
    37473681    }
     
    37913725    JMI_DEF(REA, x_v)
    37923726    jmi_real_t i_0i;
    3793     jmi_int_t i_0ie;
    3794     jmi_int_t i_0in;
    37953727    o_v = 1.0;
    37963728    x_v = 0;
    3797     i_0in = 0;
    3798     i_0ie = floor((3) - (1));
    3799     for (i_0i = 1; i_0in <= i_0ie; i_0i = 1 + (++i_0in)) {
     3729    for (i_0i = 1; i_0i - (1) <= floor((3) - (1)); i_0i = i_0i + 1 ) {
    38003730        x_v = x_v + i_0i;
    38013731    }
     
    38923822    JMI_DEF(REA, x_v)
    38933823    jmi_real_t i_0i;
    3894     jmi_int_t i_0ie;
    38953824    jmi_int_t i_0in;
    38963825    o_v = 1.0;
    38973826    x_v = 0;
    38983827    i_0in = 0;
    3899     i_0ie = floor(((1) - (3)) / (-1));
    3900     for (i_0i = 3; i_0in <= i_0ie; i_0i = 3 + (-1) * (++i_0in)) {
     3828    for (i_0i = 3; i_0in <= floor(((1) - (3)) / (-1)); i_0i = 3 + (-1) * (++i_0in)) {
    39013829        x_v = x_v + i_0i;
    39023830    }
     
    39423870    JMI_DEF(REA, x_v)
    39433871    jmi_real_t i_0i;
    3944     jmi_int_t i_0ie;
    39453872    jmi_int_t i_0in;
    39463873    o_v = 1.0;
    39473874    x_v = 0;
    39483875    i_0in = 0;
    3949     i_0ie = floor(((1) - (3)) / (i_v));
    3950     for (i_0i = 3; i_0in <= i_0ie; i_0i = 3 + (i_v) * (++i_0in)) {
     3876    for (i_0i = 3; i_0in <= floor(((1) - (3)) / (i_v)); i_0i = 3 + (i_v) * (++i_0in)) {
    39513877        x_v = x_v + i_0i;
    39523878    }
     
    40353961    JMI_DEF(REA, x_v)
    40363962    jmi_real_t i_0i;
    4037     jmi_int_t i_0ie;
    4038     jmi_int_t i_0in;
    40393963    x_v = 0;
    4040     i_0in = 0;
    4041     i_0ie = floor((n_v) - (1));
    4042     for (i_0i = 1; i_0in <= i_0ie; i_0i = 1 + (++i_0in)) {
     3964    for (i_0i = 1; i_0i - (1) <= floor((n_v) - (1)); i_0i = i_0i + 1 ) {
    40433965        x_v = x_v + i_0i;
    40443966    }
     
    40834005    JMI_ARR(HEAP, jmi_real_t, jmi_array_t, temp_1_a, -1, 1)
    40844006    jmi_real_t i1_0i;
    4085     jmi_int_t i1_0ie;
    4086     jmi_int_t i1_0in;
    40874007    jmi_real_t i_1i;
    40884008    int i_1ii;
    40894009    x_v = 0;
    40904010    JMI_ARRAY_INIT_1(HEAP, jmi_real_t, jmi_array_t, temp_1_a, JMI_MAX_EQUATION(n_v, 0.0), 1, JMI_MAX_EQUATION(n_v, 0.0))
    4091     i1_0in = 0;
    4092     i1_0ie = floor((JMI_MAX_EQUATION(n_v, 0.0)) - (1));
    4093     for (i1_0i = 1; i1_0in <= i1_0ie; i1_0i = 1 + (++i1_0in)) {
     4011    for (i1_0i = 1; i1_0i - (1) <= floor((JMI_MAX_EQUATION(n_v, 0.0)) - (1)); i1_0i = i1_0i + 1 ) {
    40944012        jmi_array_ref_1(temp_1_a, i1_0i) = (1.0 * (i1_0i) * (i1_0i));
    40954013    }
     
    41394057    JMI_DEF(INT, step_v)
    41404058    jmi_real_t i_0i;
    4141     jmi_int_t i_0ie;
    41424059    jmi_int_t i_0in;
    41434060    step_v = floor(x_v) + 1;
    41444061    y_v = 0;
    41454062    i_0in = 0;
    4146     i_0ie = floor(((10) - (1)) / (step_v));
    4147     for (i_0i = 1; i_0in <= i_0ie; i_0i = 1 + (step_v) * (++i_0in)) {
     4063    for (i_0i = 1; i_0in <= floor(((10) - (1)) / (step_v)); i_0i = 1 + (step_v) * (++i_0in)) {
    41484064        y_v = y_v + i_0i;
    41494065    }
     
    41954111    JMI_DEF(REA, temp_1_v)
    41964112    jmi_real_t i1_0i;
    4197     jmi_int_t i1_0ie;
    4198     jmi_int_t i1_0in;
    41994113    temp_1_v = 0.0;
    4200     i1_0in = 0;
    4201     i1_0ie = floor((3) - (1));
    4202     for (i1_0i = 1; i1_0in <= i1_0ie; i1_0i = 1 + (++i1_0in)) {
     4114    for (i1_0i = 1; i1_0i - (1) <= floor((3) - (1)); i1_0i = i1_0i + 1 ) {
    42034115        temp_1_v = temp_1_v + jmi_array_val_1(inp_a, i1_0i);
    42044116    }
     
    42224134    jmi_array_ref_1(tmp_1, 3) = 3.0;
    42234135    (*res)[0] = func_CCodeGenTests_CArrayInput1_f_exp0(tmp_1) - (_x_0);
    4224 
    42254136")})));
    42264137end CArrayInput1;
     
    42584169    JMI_DEF(REA, temp_1_v)
    42594170    jmi_real_t i1_0i;
    4260     jmi_int_t i1_0ie;
    4261     jmi_int_t i1_0in;
    42624171    temp_1_v = 0.0;
    4263     i1_0in = 0;
    4264     i1_0ie = floor((3) - (1));
    4265     for (i1_0i = 1; i1_0in <= i1_0ie; i1_0i = 1 + (++i1_0in)) {
     4172    for (i1_0i = 1; i1_0i - (1) <= floor((3) - (1)); i1_0i = i1_0i + 1 ) {
    42664173        temp_1_v = temp_1_v + jmi_array_val_1(inp_a, i1_0i);
    42674174    }
     
    42854192    jmi_array_ref_1(tmp_1, 3) = 3.0 + 7.0;
    42864193    (*res)[0] = 2 + 5 * func_CCodeGenTests_CArrayInput2_f_exp0(tmp_1) - (_x_0);
    4287 
    42884194")})));
    42894195end CArrayInput2;
     
    43214227    JMI_DEF(REA, temp_1_v)
    43224228    jmi_real_t i1_0i;
    4323     jmi_int_t i1_0ie;
    4324     jmi_int_t i1_0in;
    43254229    temp_1_v = 0.0;
    4326     i1_0in = 0;
    4327     i1_0ie = floor((3) - (1));
    4328     for (i1_0i = 1; i1_0in <= i1_0ie; i1_0i = 1 + (++i1_0in)) {
     4230    for (i1_0i = 1; i1_0i - (1) <= floor((3) - (1)); i1_0i = i1_0i + 1 ) {
    43294231        temp_1_v = temp_1_v + jmi_array_val_1(inp_a, i1_0i);
    43304232    }
     
    43634265    jmi_array_ref_1(tmp_4, 3) = func_CCodeGenTests_CArrayInput3_f_exp0(tmp_3);
    43644266    (*res)[0] = func_CCodeGenTests_CArrayInput3_f_exp0(tmp_4) - (_x_0);
    4365 
    43664267")})));
    43674268end CArrayInput3;
     
    44044305    JMI_ARR(STACK, jmi_real_t, jmi_array_t, temp_1_a, 3, 1)
    44054306    jmi_real_t i1_0i;
    4406     jmi_int_t i1_0ie;
    4407     jmi_int_t i1_0in;
    44084307    out_v = 1.0;
    44094308    JMI_ARRAY_INIT_1(STACK, jmi_real_t, jmi_array_t, temp_1_a, 3, 1, 3)
    4410     i1_0in = 0;
    4411     i1_0ie = floor((3) - (1));
    4412     for (i1_0i = 1; i1_0in <= i1_0ie; i1_0i = 1 + (++i1_0in)) {
     4309    for (i1_0i = 1; i1_0i - (1) <= floor((3) - (1)); i1_0i = i1_0i + 1 ) {
    44134310        jmi_array_ref_1(temp_1_a, i1_0i) = i1_0i;
    44144311    }
     
    44304327    JMI_DEF(REA, temp_1_v)
    44314328    jmi_real_t i1_1i;
    4432     jmi_int_t i1_1ie;
    4433     jmi_int_t i1_1in;
    44344329    temp_1_v = 0.0;
    4435     i1_1in = 0;
    4436     i1_1ie = floor((3) - (1));
    4437     for (i1_1i = 1; i1_1in <= i1_1ie; i1_1i = 1 + (++i1_1in)) {
     4330    for (i1_1i = 1; i1_1i - (1) <= floor((3) - (1)); i1_1i = i1_1i + 1 ) {
    44384331        temp_1_v = temp_1_v + jmi_array_val_1(inp_a, i1_1i);
    44394332    }
     
    44934386    JMI_ARR(STACK, jmi_real_t, jmi_array_t, temp_1_a, 3, 1)
    44944387    jmi_real_t i1_0i;
    4495     jmi_int_t i1_0ie;
    4496     jmi_int_t i1_0in;
    44974388    out_v = 1.0;
    44984389    JMI_ARRAY_INIT_1(STACK, jmi_real_t, jmi_array_t, temp_1_a, 3, 1, 3)
    4499     i1_0in = 0;
    4500     i1_0ie = floor((3) - (1));
    4501     for (i1_0i = 1; i1_0in <= i1_0ie; i1_0i = 1 + (++i1_0in)) {
     4390    for (i1_0i = 1; i1_0i - (1) <= floor((3) - (1)); i1_0i = i1_0i + 1 ) {
    45024391        jmi_array_ref_1(temp_1_a, i1_0i) = i1_0i;
    45034392    }
     
    45214410    JMI_DEF(REA, temp_2_v)
    45224411    jmi_real_t i1_1i;
    4523     jmi_int_t i1_1ie;
    4524     jmi_int_t i1_1in;
    45254412    jmi_real_t i1_2i;
    4526     jmi_int_t i1_2ie;
    4527     jmi_int_t i1_2in;
    45284413    temp_1_v = 0.0;
    4529     i1_1in = 0;
    4530     i1_1ie = floor((3) - (1));
    4531     for (i1_1i = 1; i1_1in <= i1_1ie; i1_1i = 1 + (++i1_1in)) {
     4414    for (i1_1i = 1; i1_1i - (1) <= floor((3) - (1)); i1_1i = i1_1i + 1 ) {
    45324415        temp_1_v = temp_1_v + jmi_array_val_1(inp_a, i1_1i);
    45334416    }
    45344417    out1_v = temp_1_v;
    45354418    temp_2_v = -1.7976931348623157E308;
    4536     i1_2in = 0;
    4537     i1_2ie = floor((3) - (1));
    4538     for (i1_2i = 1; i1_2in <= i1_2ie; i1_2i = 1 + (++i1_2in)) {
     4419    for (i1_2i = 1; i1_2i - (1) <= floor((3) - (1)); i1_2i = i1_2i + 1 ) {
    45394420        temp_2_v = COND_EXP_EQ(COND_EXP_GT(temp_2_v, jmi_array_val_1(inp_a, i1_2i), JMI_TRUE, JMI_FALSE), JMI_TRUE, temp_2_v, jmi_array_val_1(inp_a, i1_2i));
    45404421    }
     
    46014482    JMI_ARR(HEAP, jmi_real_t, jmi_array_t, temp_3_a, -1, 1)
    46024483    jmi_real_t i1_0i;
    4603     jmi_int_t i1_0ie;
    4604     jmi_int_t i1_0in;
    46054484    jmi_real_t i1_1i;
    4606     jmi_int_t i1_1ie;
    4607     jmi_int_t i1_1in;
    46084485    jmi_real_t i1_2i;
    4609     jmi_int_t i1_2ie;
    4610     jmi_int_t i1_2in;
    46114486    out_v = 1.0;
    46124487    if (COND_EXP_EQ(JMI_MAX_EQUATION(floor(2.0 - (i_v + 1.0)) + 1.0, 0.0), 2.0, JMI_TRUE, JMI_FALSE) == JMI_FALSE) {
     
    46144489    }
    46154490    JMI_ARRAY_INIT_1(HEAP, jmi_real_t, jmi_array_t, temp_1_a, JMI_MAX_EQUATION(floor(2.0 - (i_v + 1.0)) + 1.0, 0.0), 1, JMI_MAX_EQUATION(floor(2.0 - (i_v + 1.0)) + 1.0, 0.0))
    4616     i1_0in = 0;
    4617     i1_0ie = floor((JMI_MAX_EQUATION(floor(2.0 - (i_v + 1.0)) + 1.0, 0.0)) - (1));
    4618     for (i1_0i = 1; i1_0in <= i1_0ie; i1_0i = 1 + (++i1_0in)) {
     4491    for (i1_0i = 1; i1_0i - (1) <= floor((JMI_MAX_EQUATION(floor(2.0 - (i_v + 1.0)) + 1.0, 0.0)) - (1)); i1_0i = i1_0i + 1 ) {
    46194492        jmi_array_ref_1(temp_1_a, i1_0i) = i_v + 1 + (i1_0i - 1);
    46204493    }
     
    46244497        }
    46254498        JMI_ARRAY_INIT_1(HEAP, jmi_real_t, jmi_array_t, temp_2_a, JMI_MAX_EQUATION(floor(6.0 - (i_v + 5.0)) + 1.0, 0.0), 1, JMI_MAX_EQUATION(floor(6.0 - (i_v + 5.0)) + 1.0, 0.0))
    4626         i1_1in = 0;
    4627         i1_1ie = floor((JMI_MAX_EQUATION(floor(6.0 - (i_v + 5.0)) + 1.0, 0.0)) - (1));
    4628         for (i1_1i = 1; i1_1in <= i1_1ie; i1_1i = 1 + (++i1_1in)) {
     4499        for (i1_1i = 1; i1_1i - (1) <= floor((JMI_MAX_EQUATION(floor(6.0 - (i_v + 5.0)) + 1.0, 0.0)) - (1)); i1_1i = i1_1i + 1 ) {
    46294500            jmi_array_ref_1(temp_2_a, i1_1i) = i_v + 5 + (i1_1i - 1);
    46304501        }
     
    46354506        }
    46364507        JMI_ARRAY_INIT_1(HEAP, jmi_real_t, jmi_array_t, temp_3_a, JMI_MAX_EQUATION(floor(8.0 - (i_v + 7.0)) + 1.0, 0.0), 1, JMI_MAX_EQUATION(floor(8.0 - (i_v + 7.0)) + 1.0, 0.0))
    4637         i1_2in = 0;
    4638         i1_2ie = floor((JMI_MAX_EQUATION(floor(8.0 - (i_v + 7.0)) + 1.0, 0.0)) - (1));
    4639         for (i1_2i = 1; i1_2in <= i1_2ie; i1_2i = 1 + (++i1_2in)) {
     4508        for (i1_2i = 1; i1_2i - (1) <= floor((JMI_MAX_EQUATION(floor(8.0 - (i_v + 7.0)) + 1.0, 0.0)) - (1)); i1_2i = i1_2i + 1 ) {
    46404509            jmi_array_ref_1(temp_3_a, i1_2i) = i_v + 7 + (i1_2i - 1);
    46414510        }
     
    46584527    JMI_DEF(REA, temp_1_v)
    46594528    jmi_real_t i1_3i;
    4660     jmi_int_t i1_3ie;
    4661     jmi_int_t i1_3in;
    46624529    temp_1_v = 0.0;
    4663     i1_3in = 0;
    4664     i1_3ie = floor((2) - (1));
    4665     for (i1_3i = 1; i1_3in <= i1_3ie; i1_3i = 1 + (++i1_3in)) {
     4530    for (i1_3i = 1; i1_3i - (1) <= floor((2) - (1)); i1_3i = i1_3i + 1 ) {
    46664531        temp_1_v = temp_1_v + jmi_array_val_1(inp_a, i1_3i);
    46674532    }
     
    47214586    JMI_ARR(STACK, jmi_real_t, jmi_array_t, temp_2_a, 3, 1)
    47224587    jmi_real_t i1_0i;
    4723     jmi_int_t i1_0ie;
    4724     jmi_int_t i1_0in;
    47254588    jmi_real_t i1_1i;
    4726     jmi_int_t i1_1ie;
    4727     jmi_int_t i1_1in;
    47284589    jmi_real_t i1_2i;
    4729     jmi_int_t i1_2ie;
    4730     jmi_int_t i1_2in;
    47314590    out_v = 1.0;
    47324591    JMI_ARRAY_INIT_1(STACK, jmi_real_t, jmi_array_t, temp_1_a, 3, 1, 3)
    4733     i1_0in = 0;
    4734     i1_0ie = floor((3) - (1));
    4735     for (i1_0i = 1; i1_0in <= i1_0ie; i1_0i = 1 + (++i1_0in)) {
     4592    for (i1_0i = 1; i1_0i - (1) <= floor((3) - (1)); i1_0i = i1_0i + 1 ) {
    47364593        jmi_array_ref_1(temp_1_a, i1_0i) = i1_0i;
    47374594    }
    47384595    while (COND_EXP_LT(func_CCodeGenTests_CArrayInput7_f2_exp1(temp_1_a), 2, JMI_TRUE, JMI_FALSE)) {
    47394596        JMI_ARRAY_INIT_1(STACK, jmi_real_t, jmi_array_t, temp_2_a, 3, 1, 3)
    4740         i1_1in = 0;
    4741         i1_1ie = floor((3) - (1));
    4742         for (i1_1i = 1; i1_1in <= i1_1ie; i1_1i = 1 + (++i1_1in)) {
     4597        for (i1_1i = 1; i1_1i - (1) <= floor((3) - (1)); i1_1i = i1_1i + 1 ) {
    47434598            jmi_array_ref_1(temp_2_a, i1_1i) = 4 + (i1_1i - 1);
    47444599        }
    47454600        out_v = func_CCodeGenTests_CArrayInput7_f2_exp1(temp_2_a);
    47464601        JMI_ARRAY_INIT_1(STACK, jmi_real_t, jmi_array_t, temp_1_a, 3, 1, 3)
    4747         i1_2in = 0;
    4748         i1_2ie = floor((3) - (1));
    4749         for (i1_2i = 1; i1_2in <= i1_2ie; i1_2i = 1 + (++i1_2in)) {
     4602        for (i1_2i = 1; i1_2i - (1) <= floor((3) - (1)); i1_2i = i1_2i + 1 ) {
    47504603            jmi_array_ref_1(temp_1_a, i1_2i) = i1_2i;
    47514604        }
     
    47674620    JMI_DEF(REA, temp_1_v)
    47684621    jmi_real_t i1_3i;
    4769     jmi_int_t i1_3ie;
    4770     jmi_int_t i1_3in;
    47714622    temp_1_v = 0.0;
    4772     i1_3in = 0;
    4773     i1_3ie = floor((3) - (1));
    4774     for (i1_3i = 1; i1_3in <= i1_3ie; i1_3i = 1 + (++i1_3in)) {
     4623    for (i1_3i = 1; i1_3i - (1) <= floor((3) - (1)); i1_3i = i1_3i + 1 ) {
    47754624        temp_1_v = temp_1_v + jmi_array_val_1(inp_a, i1_3i);
    47764625    }
     
    48324681    JMI_ARR(STACK, jmi_real_t, jmi_array_t, temp_4_a, 3, 1)
    48334682    jmi_real_t i1_0i;
    4834     jmi_int_t i1_0ie;
    4835     jmi_int_t i1_0in;
    48364683    jmi_real_t i1_1i;
    4837     jmi_int_t i1_1ie;
    4838     jmi_int_t i1_1in;
    48394684    jmi_real_t i_2i;
    48404685    int i_2ii;
    48414686    jmi_real_t i1_3i;
    4842     jmi_int_t i1_3ie;
    4843     jmi_int_t i1_3in;
    48444687    out_v = 1.0;
    48454688    JMI_ARRAY_INIT_1(STACK, jmi_real_t, jmi_array_t, temp_1_a, 2, 1, 2)
    48464689    JMI_ARRAY_INIT_1(STACK, jmi_real_t, jmi_array_t, temp_2_a, 3, 1, 3)
    4847     i1_0in = 0;
    4848     i1_0ie = floor((3) - (1));
    4849     for (i1_0i = 1; i1_0in <= i1_0ie; i1_0i = 1 + (++i1_0in)) {
     4690    for (i1_0i = 1; i1_0i - (1) <= floor((3) - (1)); i1_0i = i1_0i + 1 ) {
    48504691        jmi_array_ref_1(temp_2_a, i1_0i) = i1_0i;
    48514692    }
    48524693    jmi_array_ref_1(temp_1_a, 1) = func_CCodeGenTests_CArrayInput8_f2_exp1(temp_2_a);
    48534694    JMI_ARRAY_INIT_1(STACK, jmi_real_t, jmi_array_t, temp_3_a, 3, 1, 3)
    4854     i1_1in = 0;
    4855     i1_1ie = floor((3) - (1));
    4856     for (i1_1i = 1; i1_1in <= i1_1ie; i1_1i = 1 + (++i1_1in)) {
     4695    for (i1_1i = 1; i1_1i - (1) <= floor((3) - (1)); i1_1i = i1_1i + 1 ) {
    48574696        jmi_array_ref_1(temp_3_a, i1_1i) = 4 + (i1_1i - 1);
    48584697    }
     
    48614700        i_2i = jmi_array_val_1(temp_1_a, i_2ii);
    48624701        JMI_ARRAY_INIT_1(STACK, jmi_real_t, jmi_array_t, temp_4_a, 3, 1, 3)
    4863         i1_3in = 0;
    4864         i1_3ie = floor((3) - (1));
    4865         for (i1_3i = 1; i1_3in <= i1_3ie; i1_3i = 1 + (++i1_3in)) {
     4702        for (i1_3i = 1; i1_3i - (1) <= floor((3) - (1)); i1_3i = i1_3i + 1 ) {
    48664703            jmi_array_ref_1(temp_4_a, i1_3i) = 7 + (i1_3i - 1);
    48674704        }
     
    48844721    JMI_DEF(REA, temp_1_v)
    48854722    jmi_real_t i1_4i;
    4886     jmi_int_t i1_4ie;
    4887     jmi_int_t i1_4in;
    48884723    temp_1_v = 0.0;
    4889     i1_4in = 0;
    4890     i1_4ie = floor((3) - (1));
    4891     for (i1_4i = 1; i1_4in <= i1_4ie; i1_4i = 1 + (++i1_4in)) {
     4724    for (i1_4i = 1; i1_4i - (1) <= floor((3) - (1)); i1_4i = i1_4i + 1 ) {
    48924725        temp_1_v = temp_1_v + jmi_array_val_1(inp_a, i1_4i);
    48934726    }
     
    49164749 Real x[2] = f();
    49174750
    4918     annotation(__JModelica(UnitTesting(tests={
    4919         CCodeGenTestCase(
    4920             name="CArrayOutputs1",
    4921             description="C code generation: array outputs from functions: in equation",
    4922             variability_propagation=false,
    4923             inline_functions="none",
    4924             generate_ode=false,
    4925             generate_dae=true,
    4926             template="
     4751annotation(__JModelica(UnitTesting(tests={
     4752    CCodeGenTestCase(
     4753        name="CArrayOutputs1",
     4754        description="C code generation: array outputs from functions: in equation",
     4755        variability_propagation=false,
     4756        inline_functions="none",
     4757        generate_ode=false,
     4758        generate_dae=true,
     4759        template="
    49274760$C_function_headers$
    49284761$C_functions$
    49294762$C_DAE_equation_residuals$
    49304763",
    4931             generatedCode="
     4764        generatedCode="
    49324765void func_CCodeGenTests_CArrayOutputs1_f_def0(jmi_array_t* o_a);
    49334766
     
    49374770    JMI_ARR(STACK, jmi_real_t, jmi_array_t, temp_1_a, 2, 1)
    49384771    jmi_real_t i1_0i;
    4939     jmi_int_t i1_0ie;
    4940     jmi_int_t i1_0in;
    49414772    if (o_a == NULL) {
    49424773        JMI_ARRAY_INIT_1(STACK, jmi_real_t, jmi_array_t, o_an, 2, 1, 2)
     
    49464777    jmi_array_ref_1(temp_1_a, 1) = 1;
    49474778    jmi_array_ref_1(temp_1_a, 2) = 2;
    4948     i1_0in = 0;
    4949     i1_0ie = floor((2) - (1));
    4950     for (i1_0i = 1; i1_0in <= i1_0ie; i1_0i = 1 + (++i1_0in)) {
     4779    for (i1_0i = 1; i1_0i - (1) <= floor((2) - (1)); i1_0i = i1_0i + 1 ) {
    49514780        jmi_array_ref_1(o_a, i1_0i) = jmi_array_val_1(temp_1_a, i1_0i);
    49524781    }
     
    49964825    JMI_ARR(STACK, jmi_real_t, jmi_array_t, temp_1_a, 2, 1)
    49974826    jmi_real_t i1_0i;
    4998     jmi_int_t i1_0ie;
    4999     jmi_int_t i1_0in;
    50004827    if (o_a == NULL) {
    50014828        JMI_ARRAY_INIT_1(STACK, jmi_real_t, jmi_array_t, o_an, 2, 1, 2)
     
    50054832    jmi_array_ref_1(temp_1_a, 1) = 1;
    50064833    jmi_array_ref_1(temp_1_a, 2) = 2;
    5007     i1_0in = 0;
    5008     i1_0ie = floor((2) - (1));
    5009     for (i1_0i = 1; i1_0in <= i1_0ie; i1_0i = 1 + (++i1_0in)) {
     4834    for (i1_0i = 1; i1_0i - (1) <= floor((2) - (1)); i1_0i = i1_0i + 1 ) {
    50104835        jmi_array_ref_1(o_a, i1_0i) = jmi_array_val_1(temp_1_a, i1_0i);
    50114836    }
     
    50674892    JMI_ARR(STACK, jmi_real_t, jmi_array_t, temp_4_a, 2, 1)
    50684893    jmi_real_t i1_0i;
    5069     jmi_int_t i1_0ie;
    5070     jmi_int_t i1_0in;
    50714894    o_v = 0;
    50724895    JMI_ARRAY_INIT_1(STACK, jmi_real_t, jmi_array_t, temp_3_a, 2, 1, 2)
     
    50764899    jmi_array_ref_1(temp_4_a, 2) = 4;
    50774900    temp_2_v = 0.0;
    5078     i1_0in = 0;
    5079     i1_0ie = floor((2) - (1));
    5080     for (i1_0i = 1; i1_0in <= i1_0ie; i1_0i = 1 + (++i1_0in)) {
     4901    for (i1_0i = 1; i1_0i - (1) <= floor((2) - (1)); i1_0i = i1_0i + 1 ) {
    50814902        temp_2_v = temp_2_v + jmi_array_val_1(temp_3_a, i1_0i) * jmi_array_val_1(temp_4_a, i1_0i);
    50824903    }
     
    50994920    JMI_ARR(STACK, jmi_real_t, jmi_array_t, temp_1_a, 2, 1)
    51004921    jmi_real_t i1_1i;
    5101     jmi_int_t i1_1ie;
    5102     jmi_int_t i1_1in;
    51034922    if (o_a == NULL) {
    51044923        JMI_ARRAY_INIT_1(STACK, jmi_real_t, jmi_array_t, o_an, 2, 1, 2)
     
    51084927    jmi_array_ref_1(temp_1_a, 1) = 1;
    51094928    jmi_array_ref_1(temp_1_a, 2) = 2;
    5110     i1_1in = 0;
    5111     i1_1ie = floor((2) - (1));
    5112     for (i1_1i = 1; i1_1in <= i1_1ie; i1_1i = 1 + (++i1_1in)) {
     4929    for (i1_1i = 1; i1_1i - (1) <= floor((2) - (1)); i1_1i = i1_1i + 1 ) {
    51134930        jmi_array_ref_1(o_a, i1_1i) = jmi_array_val_1(temp_1_a, i1_1i);
    51144931    }
     
    51404957 Real x = f1();
    51414958
    5142     annotation(__JModelica(UnitTesting(tests={
    5143         CCodeGenTestCase(
    5144             name="CArrayOutputs4",
    5145             description="C code generation: array outputs from functions: function call statement",
    5146             variability_propagation=false,
    5147             inline_functions="none",
    5148             generate_ode=false,
    5149             generate_dae=true,
    5150             template="
     4959annotation(__JModelica(UnitTesting(tests={
     4960    CCodeGenTestCase(
     4961        name="CArrayOutputs4",
     4962        description="C code generation: array outputs from functions: function call statement",
     4963        variability_propagation=false,
     4964        inline_functions="none",
     4965        generate_ode=false,
     4966        generate_dae=true,
     4967        template="
    51514968$C_function_headers$
    51524969$C_functions$
    51534970$C_DAE_equation_residuals$
    51544971",
    5155             generatedCode="
     4972        generatedCode="
    51564973void func_CCodeGenTests_CArrayOutputs4_f1_def0(jmi_real_t* o_o);
    51574974jmi_real_t func_CCodeGenTests_CArrayOutputs4_f1_exp0();
     
    51835000    JMI_ARR(STACK, jmi_real_t, jmi_array_t, temp_1_a, 2, 1)
    51845001    jmi_real_t i1_0i;
    5185     jmi_int_t i1_0ie;
    5186     jmi_int_t i1_0in;
    51875002    if (o1_a == NULL) {
    51885003        JMI_ARRAY_INIT_1(STACK, jmi_real_t, jmi_array_t, o1_an, 2, 1, 2)
     
    51925007    jmi_array_ref_1(temp_1_a, 1) = 1;
    51935008    jmi_array_ref_1(temp_1_a, 2) = 2;
    5194     i1_0in = 0;
    5195     i1_0ie = floor((2) - (1));
    5196     for (i1_0i = 1; i1_0in <= i1_0ie; i1_0i = 1 + (++i1_0in)) {
     5009    for (i1_0i = 1; i1_0i - (1) <= floor((2) - (1)); i1_0i = i1_0i + 1 ) {
    51975010        jmi_array_ref_1(o1_a, i1_0i) = jmi_array_val_1(temp_1_a, i1_0i);
    51985011    }
     
    52705083    JMI_DEF(REA, o2_v)
    52715084    jmi_real_t i1_0i;
    5272     jmi_int_t i1_0ie;
    5273     jmi_int_t i1_0in;
    52745085    if (o1_a == NULL) {
    52755086        JMI_ARRAY_INIT_1(STACK, jmi_real_t, jmi_array_t, o1_an, 2, 1, 2)
    52765087        o1_a = o1_an;
    52775088    }
    5278     i1_0in = 0;
    5279     i1_0ie = floor((2) - (1));
    5280     for (i1_0i = 1; i1_0in <= i1_0ie; i1_0i = 1 + (++i1_0in)) {
     5089    for (i1_0i = 1; i1_0i - (1) <= floor((2) - (1)); i1_0i = i1_0i + 1 ) {
    52815090        jmi_array_ref_1(o1_a, i1_0i) = jmi_array_val_1(i_a, i1_0i);
    52825091    }
     
    53405149    JMI_ARR(HEAP, jmi_real_t, jmi_array_t, o_an, -1, 1)
    53415150    jmi_real_t i1_0i;
    5342     jmi_int_t i1_0ie;
    5343     jmi_int_t i1_0in;
    53445151    if (o_a == NULL) {
    53455152        JMI_ARRAY_INIT_1(HEAP, jmi_real_t, jmi_array_t, o_an, jmi_array_size(a_a, 0), 1, jmi_array_size(a_a, 0))
    53465153        o_a = o_an;
    53475154    }
    5348     i1_0in = 0;
    5349     i1_0ie = floor((jmi_array_size(a_a, 0)) - (1));
    5350     for (i1_0i = 1; i1_0in <= i1_0ie; i1_0i = 1 + (++i1_0in)) {
     5155    for (i1_0i = 1; i1_0i - (1) <= floor((jmi_array_size(a_a, 0)) - (1)); i1_0i = i1_0i + 1 ) {
    53515156        jmi_array_ref_1(o_a, i1_0i) = jmi_array_val_1(a_a, i1_0i) + jmi_array_val_1(b_a, i1_0i);
    53525157    }
     
    53865191    JMI_ARR(STACK, jmi_real_t, jmi_array_t, temp_5_a, 2, 1)
    53875192    jmi_real_t i3_0i;
    5388     jmi_int_t i3_0ie;
    5389     jmi_int_t i3_0in;
    53905193    jmi_real_t i3_1i;
    5391     jmi_int_t i3_1ie;
    5392     jmi_int_t i3_1in;
    53935194    jmi_real_t i1_2i;
    5394     jmi_int_t i1_2ie;
    5395     jmi_int_t i1_2in;
    53965195    jmi_real_t i2_3i;
    5397     jmi_int_t i2_3ie;
    5398     jmi_int_t i2_3in;
    53995196    jmi_real_t i3_4i;
    5400     jmi_int_t i3_4ie;
    5401     jmi_int_t i3_4in;
    54025197    jmi_real_t i1_5i;
    5403     jmi_int_t i1_5ie;
    5404     jmi_int_t i1_5in;
    54055198    jmi_real_t i2_6i;
    5406     jmi_int_t i2_6ie;
    5407     jmi_int_t i2_6in;
    54085199    if (y_a == NULL) {
    54095200        JMI_ARRAY_INIT_2(HEAP, jmi_real_t, jmi_array_t, y_an, jmi_array_size(x_a, 0) * 2, 2, jmi_array_size(x_a, 0), 2)
     
    54155206    jmi_array_ref_1(temp_4_a, 1) = 1;
    54165207    jmi_array_ref_1(temp_4_a, 2) = 2;
    5417     i3_0in = 0;
    5418     i3_0ie = floor((2) - (1));
    5419     for (i3_0i = 1; i3_0in <= i3_0ie; i3_0i = 1 + (++i3_0in)) {
     5208    for (i3_0i = 1; i3_0i - (1) <= floor((2) - (1)); i3_0i = i3_0i + 1 ) {
    54205209        jmi_array_ref_2(temp_3_a, 1, i3_0i) = jmi_array_val_1(temp_4_a, i3_0i);
    54215210    }
     
    54235212    jmi_array_ref_1(temp_5_a, 1) = 3;
    54245213    jmi_array_ref_1(temp_5_a, 2) = 4;
    5425     i3_1in = 0;
    5426     i3_1ie = floor((2) - (1));
    5427     for (i3_1i = 1; i3_1in <= i3_1ie; i3_1i = 1 + (++i3_1in)) {
     5214    for (i3_1i = 1; i3_1i - (1) <= floor((2) - (1)); i3_1i = i3_1i + 1 ) {
    54285215        jmi_array_ref_2(temp_3_a, 2, i3_1i) = jmi_array_val_1(temp_5_a, i3_1i);
    54295216    }
    5430     i1_2in = 0;
    5431     i1_2ie = floor((jmi_array_size(x_a, 0)) - (1));
    5432     for (i1_2i = 1; i1_2in <= i1_2ie; i1_2i = 1 + (++i1_2in)) {
    5433         i2_3in = 0;
    5434         i2_3ie = floor((2) - (1));
    5435         for (i2_3i = 1; i2_3in <= i2_3ie; i2_3i = 1 + (++i2_3in)) {
     5217    for (i1_2i = 1; i1_2i - (1) <= floor((jmi_array_size(x_a, 0)) - (1)); i1_2i = i1_2i + 1 ) {
     5218        for (i2_3i = 1; i2_3i - (1) <= floor((2) - (1)); i2_3i = i2_3i + 1 ) {
    54365219            temp_2_v = 0.0;
    5437             i3_4in = 0;
    5438             i3_4ie = floor((2) - (1));
    5439             for (i3_4i = 1; i3_4in <= i3_4ie; i3_4i = 1 + (++i3_4in)) {
     5220            for (i3_4i = 1; i3_4i - (1) <= floor((2) - (1)); i3_4i = i3_4i + 1 ) {
    54405221                temp_2_v = temp_2_v + jmi_array_val_2(x_a, i1_2i, i3_4i) * jmi_array_val_2(temp_3_a, i3_4i, i2_3i);
    54415222            }
     
    54435224        }
    54445225    }
    5445     i1_5in = 0;
    5446     i1_5ie = floor((jmi_array_size(x_a, 0)) - (1));
    5447     for (i1_5i = 1; i1_5in <= i1_5ie; i1_5i = 1 + (++i1_5in)) {
    5448         i2_6in = 0;
    5449         i2_6ie = floor((2) - (1));
    5450         for (i2_6i = 1; i2_6in <= i2_6ie; i2_6i = 1 + (++i2_6in)) {
     5226    for (i1_5i = 1; i1_5i - (1) <= floor((jmi_array_size(x_a, 0)) - (1)); i1_5i = i1_5i + 1 ) {
     5227        for (i2_6i = 1; i2_6i - (1) <= floor((2) - (1)); i2_6i = i2_6i + 1 ) {
    54515228            jmi_array_ref_2(y_a, i1_5i, i2_6i) = jmi_array_val_2(temp_1_a, i1_5i, i2_6i);
    54525229        }
     
    55165293    JMI_DEF(REA, temp_1_v)
    55175294    jmi_real_t i1_0i;
    5518     jmi_int_t i1_0ie;
    5519     jmi_int_t i1_0in;
    55205295    temp_1_v = 0.0;
    5521     i1_0in = 0;
    5522     i1_0ie = floor((jmi_array_size(x3_a, 0)) - (1));
    5523     for (i1_0i = 1; i1_0in <= i1_0ie; i1_0i = 1 + (++i1_0in)) {
     5296    for (i1_0i = 1; i1_0i - (1) <= floor((jmi_array_size(x3_a, 0)) - (1)); i1_0i = i1_0i + 1 ) {
    55245297        temp_1_v = temp_1_v + jmi_array_val_1(x3_a, i1_0i);
    55255298    }
     
    55405313    JMI_ARR(HEAP, jmi_real_t, jmi_array_t, y2_an, -1, 1)
    55415314    jmi_real_t i1_1i;
    5542     jmi_int_t i1_1ie;
    5543     jmi_int_t i1_1in;
    55445315    if (y2_a == NULL) {
    55455316        JMI_ARRAY_INIT_1(HEAP, jmi_real_t, jmi_array_t, y2_an, jmi_array_size(x2_a, 0), 1, jmi_array_size(x2_a, 0))
    55465317        y2_a = y2_an;
    55475318    }
    5548     i1_1in = 0;
    5549     i1_1ie = floor((jmi_array_size(x2_a, 0)) - (1));
    5550     for (i1_1i = 1; i1_1in <= i1_1ie; i1_1i = 1 + (++i1_1in)) {
     5319    for (i1_1i = 1; i1_1i - (1) <= floor((jmi_array_size(x2_a, 0)) - (1)); i1_1i = i1_1i + 1 ) {
    55515320        jmi_array_ref_1(y2_a, i1_1i) = jmi_array_val_1(x2_a, i1_1i);
    55525321    }
     
    55975366    JMI_ARR(HEAP, jmi_real_t, jmi_array_t, temp_4_a, -1, 1)
    55985367    jmi_real_t i1_0i;
    5599     jmi_int_t i1_0ie;
    5600     jmi_int_t i1_0in;
    56015368    jmi_real_t i1_1i;
    5602     jmi_int_t i1_1ie;
    5603     jmi_int_t i1_1in;
    56045369    jmi_real_t i1_2i;
    5605     jmi_int_t i1_2ie;
    5606     jmi_int_t i1_2in;
    56075370    if (o_a == NULL) {
    56085371        JMI_ARRAY_INIT_1(HEAP, jmi_real_t, jmi_array_t, o_an, jmi_array_size(i_a, 0), 1, jmi_array_size(i_a, 0))
     
    56185381    jmi_array_ref_1(temp_2_a, 2) = 1;
    56195382    jmi_array_ref_1(temp_2_a, 3) = 1;
    5620     i1_0in = 0;
    5621     i1_0ie = floor((3) - (1));
    5622     for (i1_0i = 1; i1_0in <= i1_0ie; i1_0i = 1 + (++i1_0in)) {
     5383    for (i1_0i = 1; i1_0i - (1) <= floor((3) - (1)); i1_0i = i1_0i + 1 ) {
    56235384        jmi_array_ref_1(o_a, jmi_array_ref_1(temp_1_a, i1_0i)) = jmi_array_val_1(temp_2_a, i1_0i);
    56245385    }
    56255386    JMI_ARRAY_INIT_1(HEAP, jmi_real_t, jmi_array_t, temp_3_a, jmi_array_size(i_a, 0), 1, jmi_array_size(i_a, 0))
    5626     i1_1in = 0;
    5627     i1_1ie = floor((jmi_array_size(i_a, 0)) - (1));
    5628     for (i1_1i = 1; i1_1in <= i1_1ie; i1_1i = 1 + (++i1_1in)) {
     5387    for (i1_1i = 1; i1_1i - (1) <= floor((jmi_array_size(i_a, 0)) - (1)); i1_1i = i1_1i + 1 ) {
    56295388        jmi_array_ref_1(temp_3_a, i1_1i) = jmi_array_val_1(o_a, jmi_array_val_1(i_a, i1_1i));
    56305389    }
    56315390    JMI_ARRAY_INIT_1(HEAP, jmi_real_t, jmi_array_t, temp_4_a, jmi_array_size(i_a, 0), 1, jmi_array_size(i_a, 0))
    56325391    func_CCodeGenTests_CUnknownArray4_f_def1(temp_3_a, temp_4_a, NULL);
    5633     i1_2in = 0;
    5634     i1_2ie = floor((jmi_array_size(i_a, 0)) - (1));
    5635     for (i1_2i = 1; i1_2in <= i1_2ie; i1_2i = 1 + (++i1_2in)) {
     5392    for (i1_2i = 1; i1_2i - (1) <= floor((jmi_array_size(i_a, 0)) - (1)); i1_2i = i1_2i + 1 ) {
    56365393        jmi_array_ref_1(o_a, jmi_array_ref_1(i_a, i1_2i)) = jmi_array_val_1(temp_4_a, i1_2i);
    56375394    }
     
    56465403    JMI_DEF(REA, dummy_v)
    56475404    jmi_real_t i1_3i;
    5648     jmi_int_t i1_3ie;
    5649     jmi_int_t i1_3in;
    56505405    if (o_a == NULL) {
    56515406        JMI_ARRAY_INIT_1(HEAP, jmi_real_t, jmi_array_t, o_an, jmi_array_size(i_a, 0), 1, jmi_array_size(i_a, 0))
     
    56535408    }
    56545409    dummy_v = 1;
    5655     i1_3in = 0;
    5656     i1_3ie = floor((jmi_array_size(i_a, 0)) - (1));
    5657     for (i1_3i = 1; i1_3in <= i1_3ie; i1_3i = 1 + (++i1_3in)) {
     5410    for (i1_3i = 1; i1_3i - (1) <= floor((jmi_array_size(i_a, 0)) - (1)); i1_3i = i1_3i + 1 ) {
    56585411        jmi_array_ref_1(o_a, i1_3i) = jmi_array_val_1(i_a, i1_3i);
    56595412    }
     
    56925445    JMI_ARR(HEAP, jmi_real_t, jmi_array_t, temp_2_a, -1, 2)
    56935446    jmi_real_t i5_0i;
    5694     jmi_int_t i5_0ie;
    5695     jmi_int_t i5_0in;
    56965447    jmi_real_t i6_1i;
    5697     jmi_int_t i6_1ie;
    5698     jmi_int_t i6_1in;
    56995448    jmi_real_t i3_2i;
    5700     jmi_int_t i3_2ie;
    5701     jmi_int_t i3_2in;
    57025449    jmi_real_t i4_3i;
    5703     jmi_int_t i4_3ie;
    5704     jmi_int_t i4_3in;
    57055450    jmi_real_t i3_4i;
    5706     jmi_int_t i3_4ie;
    5707     jmi_int_t i3_4in;
    57085451    jmi_real_t i4_5i;
    5709     jmi_int_t i4_5ie;
    5710     jmi_int_t i4_5in;
    57115452    if (y_a == NULL) {
    57125453        JMI_ARRAY_INIT_2(HEAP, jmi_real_t, jmi_array_t, y_an, jmi_array_size(i1_a, 0) * jmi_array_size(i1_a, 0), 2, jmi_array_size(i1_a, 0), jmi_array_size(i1_a, 0))
     
    57155456    JMI_ARRAY_INIT_2(HEAP, jmi_real_t, jmi_array_t, temp_1_a, jmi_array_size(i1_a, 0) * jmi_array_size(i2_a, 0), 2, jmi_array_size(i1_a, 0), jmi_array_size(i2_a, 0))
    57165457    JMI_ARRAY_INIT_2(HEAP, jmi_real_t, jmi_array_t, temp_2_a, jmi_array_size(i1_a, 0) * jmi_array_size(i2_a, 0), 2, jmi_array_size(i1_a, 0), jmi_array_size(i2_a, 0))
    5717     i5_0in = 0;
    5718     i5_0ie = floor((jmi_array_size(i1_a, 0)) - (1));
    5719     for (i5_0i = 1; i5_0in <= i5_0ie; i5_0i = 1 + (++i5_0in)) {
    5720         i6_1in = 0;
    5721         i6_1ie = floor((jmi_array_size(i2_a, 0)) - (1));
    5722         for (i6_1i = 1; i6_1in <= i6_1ie; i6_1i = 1 + (++i6_1in)) {
     5458    for (i5_0i = 1; i5_0i - (1) <= floor((jmi_array_size(i1_a, 0)) - (1)); i5_0i = i5_0i + 1 ) {
     5459        for (i6_1i = 1; i6_1i - (1) <= floor((jmi_array_size(i2_a, 0)) - (1)); i6_1i = i6_1i + 1 ) {
    57235460            jmi_array_ref_2(temp_2_a, i5_0i, i6_1i) = jmi_array_val_2(x_a, jmi_array_val_1(i1_a, i5_0i), jmi_array_val_1(i2_a, i6_1i));
    57245461        }
    57255462    }
    5726     i3_2in = 0;
    5727     i3_2ie = floor((jmi_array_size(i1_a, 0)) - (1));
    5728     for (i3_2i = 1; i3_2in <= i3_2ie; i3_2i = 1 + (++i3_2in)) {
    5729         i4_3in = 0;
    5730         i4_3ie = floor((jmi_array_size(i2_a, 0)) - (1));
    5731         for (i4_3i = 1; i4_3in <= i4_3ie; i4_3i = 1 + (++i4_3in)) {
     5463    for (i3_2i = 1; i3_2i - (1) <= floor((jmi_array_size(i1_a, 0)) - (1)); i3_2i = i3_2i + 1 ) {
     5464        for (i4_3i = 1; i4_3i - (1) <= floor((jmi_array_size(i2_a, 0)) - (1)); i4_3i = i4_3i + 1 ) {
    57325465            jmi_array_ref_2(temp_1_a, i3_2i, i4_3i) = jmi_array_val_2(temp_2_a, i3_2i, i4_3i);
    57335466        }
    57345467    }
    5735     i3_4in = 0;
    5736     i3_4ie = floor((jmi_array_size(i1_a, 0)) - (1));
    5737     for (i3_4i = 1; i3_4in <= i3_4ie; i3_4i = 1 + (++i3_4in)) {
    5738         i4_5in = 0;
    5739         i4_5ie = floor((jmi_array_size(i1_a, 0)) - (1));
    5740         for (i4_5i = 1; i4_5in <= i4_5ie; i4_5i = 1 + (++i4_5in)) {
     5468    for (i3_4i = 1; i3_4i - (1) <= floor((jmi_array_size(i1_a, 0)) - (1)); i3_4i = i3_4i + 1 ) {
     5469        for (i4_5i = 1; i4_5i - (1) <= floor((jmi_array_size(i1_a, 0)) - (1)); i4_5i = i4_5i + 1 ) {
    57415470            jmi_array_ref_2(y_a, i3_4i, i4_5i) = jmi_array_val_2(temp_1_a, i4_5i, i3_4i);
    57425471        }
     
    57755504    JMI_ARR(HEAP, jmi_real_t, jmi_array_t, temp_2_a, -1, 2)
    57765505    jmi_real_t i5_0i;
    5777     jmi_int_t i5_0ie;
    5778     jmi_int_t i5_0in;
    57795506    jmi_real_t i6_1i;
    5780     jmi_int_t i6_1ie;
    5781     jmi_int_t i6_1in;
    57825507    jmi_real_t i3_2i;
    5783     jmi_int_t i3_2ie;
    5784     jmi_int_t i3_2in;
    57855508    jmi_real_t i4_3i;
    5786     jmi_int_t i4_3ie;
    5787     jmi_int_t i4_3in;
    57885509    jmi_real_t i3_4i;
    5789     jmi_int_t i3_4ie;
    5790     jmi_int_t i3_4in;
    57915510    jmi_real_t i4_5i;
    5792     jmi_int_t i4_5ie;
    5793     jmi_int_t i4_5in;
    57945511    if (y_a == NULL) {
    57955512        JMI_ARRAY_INIT_2(HEAP, jmi_real_t, jmi_array_t, y_an, (jmi_array_size(i1_a, 0) * 2 - 2) * jmi_array_size(i1_a, 0), 2, jmi_array_size(i1_a, 0) * 2 - 2, jmi_array_size(i1_a, 0))
     
    57985515    JMI_ARRAY_INIT_2(HEAP, jmi_real_t, jmi_array_t, temp_1_a, jmi_array_size(i1_a, 0) * jmi_array_size(i2_a, 0), 2, jmi_array_size(i1_a, 0), jmi_array_size(i2_a, 0))
    57995516    JMI_ARRAY_INIT_2(HEAP, jmi_real_t, jmi_array_t, temp_2_a, jmi_array_size(i1_a, 0) * jmi_array_size(i2_a, 0), 2, jmi_array_size(i1_a, 0), jmi_array_size(i2_a, 0))
    5800     i5_0in = 0;
    5801     i5_0ie = floor((jmi_array_size(i1_a, 0)) - (1));
    5802     for (i5_0i = 1; i5_0in <= i5_0ie; i5_0i = 1 + (++i5_0in)) {
    5803         i6_1in = 0;
    5804         i6_1ie = floor((jmi_array_size(i2_a, 0)) - (1));
    5805         for (i6_1i = 1; i6_1in <= i6_1ie; i6_1i = 1 + (++i6_1in)) {
     5517    for (i5_0i = 1; i5_0i - (1) <= floor((jmi_array_size(i1_a, 0)) - (1)); i5_0i = i5_0i + 1 ) {
     5518        for (i6_1i = 1; i6_1i - (1) <= floor((jmi_array_size(i2_a, 0)) - (1)); i6_1i = i6_1i + 1 ) {
    58065519            jmi_array_ref_2(temp_2_a, i5_0i, i6_1i) = jmi_array_val_2(x_a, jmi_array_val_1(i1_a, i5_0i), jmi_array_val_1(i2_a, i6_1i));
    58075520        }
    58085521    }
    5809     i3_2in = 0;
    5810     i3_2ie = floor((jmi_array_size(i1_a, 0)) - (1));
    5811     for (i3_2i = 1; i3_2in <= i3_2ie; i3_2i = 1 + (++i3_2in)) {
    5812         i4_3in = 0;
    5813         i4_3ie = floor((jmi_array_size(i2_a, 0)) - (1));
    5814         for (i4_3i = 1; i4_3in <= i4_3ie; i4_3i = 1 + (++i4_3in)) {
     5522    for (i3_2i = 1; i3_2i - (1) <= floor((jmi_array_size(i1_a, 0)) - (1)); i3_2i = i3_2i + 1 ) {
     5523        for (i4_3i = 1; i4_3i - (1) <= floor((jmi_array_size(i2_a, 0)) - (1)); i4_3i = i4_3i + 1 ) {
    58155524            jmi_array_ref_2(temp_1_a, i3_2i, i4_3i) = jmi_array_val_2(temp_2_a, i3_2i, i4_3i);
    58165525        }
    58175526    }
    5818     i3_4in = 0;
    5819     i3_4ie = floor((jmi_array_size(i1_a, 0) * 2 - 2) - (1));
    5820     for (i3_4i = 1; i3_4in <= i3_4ie; i3_4i = 1 + (++i3_4in)) {
    5821         i4_5in = 0;
    5822         i4_5ie = floor((jmi_array_size(i1_a, 0)) - (1));
    5823         for (i4_5i = 1; i4_5in <= i4_5ie; i4_5i = 1 + (++i4_5in)) {
     5527    for (i3_4i = 1; i3_4i - (1) <= floor((jmi_array_size(i1_a, 0) * 2 - 2) - (1)); i3_4i = i3_4i + 1 ) {
     5528        for (i4_5i = 1; i4_5i - (1) <= floor((jmi_array_size(i1_a, 0)) - (1)); i4_5i = i4_5i + 1 ) {
    58245529            jmi_array_ref_2(y_a, i3_4i, i4_5i) = jmi_array_val_2(temp_1_a, i4_5i, i3_4i);
    58255530        }
     
    58695574    JMI_ARR(STACK, jmi_real_t, jmi_array_t, temp_3_a, 1, 1)
    58705575    jmi_real_t i_0i;
    5871     jmi_int_t i_0ie;
    5872     jmi_int_t i_0in;
    58735576    jmi_real_t i1_1i;
    5874     jmi_int_t i1_1ie;
    5875     jmi_int_t i1_1in;
    58765577    jmi_real_t i2_2i;
    5877     jmi_int_t i2_2ie;
    5878     jmi_int_t i2_2in;
    58795578    jmi_real_t i2_3i;
    5880     jmi_int_t i2_3ie;
    5881     jmi_int_t i2_3in;
    58825579    jmi_real_t i3_4i;
    5883     jmi_int_t i3_4ie;
    5884     jmi_int_t i3_4in;
    58855580    jmi_real_t i1_5i;
    5886     jmi_int_t i1_5ie;
    5887     jmi_int_t i1_5in;
    58885581    jmi_real_t i2_6i;
    5889     jmi_int_t i2_6ie;
    5890     jmi_int_t i2_6in;
    58915582    jmi_real_t i3_7i;
    5892     jmi_int_t i3_7ie;
    5893     jmi_int_t i3_7in;
    58945583    if (o_a == NULL) {
    58955584        JMI_ARRAY_INIT_2(HEAP, R1_1_r, R1_1_ra, o_an, m_v * m_v, 2, m_v, m_v)
     
    59045593        o_a = o_an;
    59055594    }
    5906     i_0in = 0;
    5907     i_0ie = floor((m_v) - (1));
    5908     for (i_0i = 1; i_0in <= i_0ie; i_0i = 1 + (++i_0in)) {
     5595    for (i_0i = 1; i_0i - (1) <= floor((m_v) - (1)); i_0i = i_0i + 1 ) {
    59095596        JMI_ARRAY_INIT_1(HEAP, R1_1_r, R1_1_ra, temp_1_a, JMI_MAX_EQUATION(m_v, 0.0), 1, JMI_MAX_EQUATION(m_v, 0.0))
    5910         i1_1in = 0;
    5911         i1_1ie = floor((JMI_MAX_EQUATION(m_v, 0.0)) - (1));
    5912         for (i1_1i = 1; i1_1in <= i1_1ie; i1_1i = 1 + (++i1_1in)) {
     5597        for (i1_1i = 1; i1_1i - (1) <= floor((JMI_MAX_EQUATION(m_v, 0.0)) - (1)); i1_1i = i1_1i + 1 ) {
    59135598            JMI_ARRAY_INIT_1(STACK, R2_0_r, R2_0_ra, temp_2_a, 1, 1, 1)
    59145599            JMI_ARRAY_INIT_1(STACK, jmi_real_t, jmi_array_t, temp_3_a, 1, 1, 1)
    59155600            jmi_array_ref_1(temp_3_a, 1) = i_0i * i1_1i;
    59165601            JMI_ARRAY_INIT_1(HEAP, jmi_real_t, jmi_array_t, jmi_array_rec_1(temp_2_a, 1)->y, 1, 1, 1)
    5917             i2_2in = 0;
    5918             i2_2ie = floor((1) - (1));
    5919             for (i2_2i = 1; i2_2in <= i2_2ie; i2_2i = 1 + (++i2_2in)) {
     5602            for (i2_2i = 1; i2_2i - (1) <= floor((1) - (1)); i2_2i = i2_2i + 1 ) {
    59205603                jmi_array_ref_1(jmi_array_rec_1(temp_2_a, 1)->y, i2_2i) = jmi_array_val_1(temp_3_a, i2_2i);
    59215604            }
    59225605            JMI_ARRAY_INIT_1(HEAP, R2_0_r, R2_0_ra, jmi_array_rec_1(temp_1_a, i1_1i)->x, 1, 1, 1)
    5923             i2_3in = 0;
    5924             i2_3ie = floor((1) - (1));
    5925             for (i2_3i = 1; i2_3in <= i2_3ie; i2_3i = 1 + (++i2_3in)) {
     5606            for (i2_3i = 1; i2_3i - (1) <= floor((1) - (1)); i2_3i = i2_3i + 1 ) {
    59265607                JMI_ARRAY_INIT_1(HEAP, jmi_real_t, jmi_array_t, jmi_array_rec_1(jmi_array_rec_1(temp_1_a, i1_1i)->x, i2_3i)->y, 1, 1, 1)
    5927                 i3_4in = 0;
    5928                 i3_4ie = floor((1) - (1));
    5929                 for (i3_4i = 1; i3_4in <= i3_4ie; i3_4i = 1 + (++i3_4in)) {
     5608                for (i3_4i = 1; i3_4i - (1) <= floor((1) - (1)); i3_4i = i3_4i + 1 ) {
    59305609                    jmi_array_ref_1(jmi_array_rec_1(jmi_array_rec_1(temp_1_a, i1_1i)->x, i2_3i)->y, i3_4i) = jmi_array_val_1(jmi_array_rec_1(temp_2_a, i2_3i)->y, i3_4i);
    59315610                }
    59325611            }
    59335612        }
    5934         i1_5in = 0;
    5935         i1_5ie = floor((m_v) - (1));
    5936         for (i1_5i = 1; i1_5in <= i1_5ie; i1_5i = 1 + (++i1_5in)) {
    5937             i2_6in = 0;
    5938             i2_6ie = floor((1) - (1));
    5939             for (i2_6i = 1; i2_6in <= i2_6ie; i2_6i = 1 + (++i2_6in)) {
    5940                 i3_7in = 0;
    5941                 i3_7ie = floor((1) - (1));
    5942                 for (i3_7i = 1; i3_7in <= i3_7ie; i3_7i = 1 + (++i3_7in)) {
     5613        for (i1_5i = 1; i1_5i - (1) <= floor((m_v) - (1)); i1_5i = i1_5i + 1 ) {
     5614            for (i2_6i = 1; i2_6i - (1) <= floor((1) - (1)); i2_6i = i2_6i + 1 ) {
     5615                for (i3_7i = 1; i3_7i - (1) <= floor((1) - (1)); i3_7i = i3_7i + 1 ) {
    59435616                    jmi_array_ref_1(jmi_array_rec_1(jmi_array_rec_2(o_a, i_0i, i1_5i)->x, i2_6i)->y, i3_7i) = jmi_array_val_1(jmi_array_rec_1(jmi_array_rec_1(temp_1_a, i1_5i)->x, i2_6i)->y, i3_7i);
    59445617                }
     
    59815654    JMI_ARR(HEAP, jmi_real_t, jmi_array_t, temp_1_a, -1, 1)
    59825655    jmi_real_t i1_0i;
    5983     jmi_int_t i1_0ie;
    5984     jmi_int_t i1_0in;
    59855656    jmi_real_t i1_1i;
    5986     jmi_int_t i1_1ie;
    5987     jmi_int_t i1_1in;
    59885657    if (u_a == NULL) {
    59895658        JMI_ARRAY_INIT_1(HEAP, jmi_real_t, jmi_array_t, u_an, jmi_array_size(a_a, 0), 1, jmi_array_size(a_a, 0))
     
    59915660    }
    59925661    JMI_ARRAY_INIT_1(HEAP, jmi_real_t, jmi_array_t, temp_1_a, jmi_array_size(a_a, 0), 1, jmi_array_size(a_a, 0))
    5993     i1_0in = 0;
    5994     i1_0ie = floor((jmi_array_size(a_a, 0)) - (1));
    5995     for (i1_0i = 1; i1_0in <= i1_0ie; i1_0i = 1 + (++i1_0in)) {
     5662    for (i1_0i = 1; i1_0i - (1) <= floor((jmi_array_size(a_a, 0)) - (1)); i1_0i = i1_0i + 1 ) {
    59965663        jmi_array_ref_1(temp_1_a, i1_0i) = jmi_array_val_1(a_a, i1_0i) + jmi_array_val_1(b_a, i1_0i);
    59975664    }
    5998     i1_1in = 0;
    5999     i1_1ie = floor((jmi_array_size(a_a, 0)) - (1));
    6000     for (i1_1i = 1; i1_1in <= i1_1ie; i1_1i = 1 + (++i1_1in)) {
     5665    for (i1_1i = 1; i1_1i - (1) <= floor((jmi_array_size(a_a, 0)) - (1)); i1_1i = i1_1i + 1 ) {
    60015666        jmi_array_ref_1(u_a, i1_1i) = jmi_array_val_1(a_a, i1_1i) * func_CCodeGenTests_CUnknownArray8_l_exp1(temp_1_a);
    60025667    }
     
    60105675    JMI_DEF(REA, temp_1_v)
    60115676    jmi_real_t i1_2i;
    6012     jmi_int_t i1_2ie;
    6013     jmi_int_t i1_2in;
    60145677    temp_1_v = 0.0;
    6015     i1_2in = 0;
    6016     i1_2ie = floor((jmi_array_size(x_a, 0)) - (1));
    6017     for (i1_2i = 1; i1_2in <= i1_2ie; i1_2i = 1 + (++i1_2in)) {
     5678    for (i1_2i = 1; i1_2i - (1) <= floor((jmi_array_size(x_a, 0)) - (1)); i1_2i = i1_2i + 1 ) {
    60185679        temp_1_v = temp_1_v + jmi_array_val_1(x_a, i1_2i);
    60195680    }
     
    60555716    JMI_ARR(HEAP, jmi_real_t, jmi_array_t, ba_an, -1, 1)
    60565717    jmi_real_t i1_0i;
    6057     jmi_int_t i1_0ie;
    6058     jmi_int_t i1_0in;
    60595718    jmi_real_t i1_1i;
    6060     jmi_int_t i1_1ie;
    6061     jmi_int_t i1_1in;
    60625719    if (ba_a == NULL) {
    60635720        JMI_ARRAY_INIT_1(HEAP, jmi_real_t, jmi_array_t, ba_an, n_v, 1, n_v)
     
    60685725        ab_a = ab_an;
    60695726    }
    6070     i1_0in = 0;
    6071     i1_0ie = floor((n_v) - (1));
    6072     for (i1_0i = 1; i1_0in <= i1_0ie; i1_0i = 1 + (++i1_0in)) {
     5727    for (i1_0i = 1; i1_0i - (1) <= floor((n_v) - (1)); i1_0i = i1_0i + 1 ) {
    60735728        jmi_array_ref_1(ba_a, i1_0i) = 1;
    60745729    }
    6075     i1_1in = 0;
    6076     i1_1ie = floor((jmi_array_size(ba_a, 0)) - (1));
    6077     for (i1_1i = 1; i1_1in <= i1_1ie; i1_1i = 1 + (++i1_1in)) {
     5730    for (i1_1i = 1; i1_1i - (1) <= floor((jmi_array_size(ba_a, 0)) - (1)); i1_1i = i1_1i + 1 ) {
    60785731        jmi_array_ref_1(ab_a, i1_1i) = jmi_array_val_1(ba_a, i1_1i);
    60795732    }
     
    61575810    JMI_DEF(REA, x_v)
    61585811    jmi_real_t i1_0i;
    6159     jmi_int_t i1_0ie;
    6160     jmi_int_t i1_0in;
    61615812    JMI_ARRAY_INIT_1(STACK, jmi_real_t, jmi_array_t, tmp_1, 2, 1, 2)
    6162     r_v->x = tmp_1;i1_0in = 0;
    6163     i1_0ie = floor((2) - (1));
    6164     for (i1_0i = 1; i1_0in <= i1_0ie; i1_0i = 1 + (++i1_0in)) {
     5813    r_v->x = tmp_1;
     5814    for (i1_0i = 1; i1_0i - (1) <= floor((2) - (1)); i1_0i = i1_0i + 1 ) {
    61655815        jmi_array_ref_1(r_v->x, i1_0i) = i1_0i;
    61665816    }
     
    62065856    JMI_ARR(HEAP, jmi_real_t, jmi_array_t, temp_1_a, -1, 1)
    62075857    jmi_real_t i_0i;
    6208     jmi_int_t i_0ie;
    6209     jmi_int_t i_0in;
    62105858    jmi_real_t i1_1i;
    6211     jmi_int_t i1_1ie;
    6212     jmi_int_t i1_1in;
    62135859    jmi_real_t i1_2i;
    6214     jmi_int_t i1_2ie;
    6215     jmi_int_t i1_2in;
    62165860    jmi_real_t i1_3i;
    6217     jmi_int_t i1_3ie;
    6218     jmi_int_t i1_3in;
    62195861    if (y_a == NULL) {
    62205862        JMI_ARRAY_INIT_1(HEAP, jmi_real_t, jmi_array_t, y_an, jmi_array_size(x_a, 0) * 2, 1, jmi_array_size(x_a, 0) * 2)
    62215863        y_a = y_an;
    62225864    }
    6223     i_0in = 0;
    6224     i_0ie = floor((jmi_array_size(x_a, 0)) - (1));
    6225     for (i_0i = 1; i_0in <= i_0ie; i_0i = 1 + (++i_0in)) {
     5865    for (i_0i = 1; i_0i - (1) <= floor((jmi_array_size(x_a, 0)) - (1)); i_0i = i_0i + 1 ) {
    62265866        JMI_ARRAY_INIT_1(HEAP, jmi_real_t, jmi_array_t, temp_1_a, (jmi_array_size(x_a, 0) + JMI_MAX_EQUATION(i_0i, 0.0)), 1, jmi_array_size(x_a, 0) + JMI_MAX_EQUATION(i_0i, 0.0))
    6227         i1_1in = 0;
    6228         i1_1ie = floor((jmi_array_size(x_a, 0)) - (1));
    6229         for (i1_1i = 1; i1_1in <= i1_1ie; i1_1i = 1 + (++i1_1in)) {
     5867        for (i1_1i = 1; i1_1i - (1) <= floor((jmi_array_size(x_a, 0)) - (1)); i1_1i = i1_1i + 1 ) {
    62305868            jmi_array_ref_1(temp_1_a, i1_1i) = jmi_array_val_1(x_a, i1_1i);
    62315869        }
    6232         i1_2in = 0;
    6233         i1_2ie = floor((JMI_MAX_EQUATION(i_0i, 0.0)) - (1));
    6234         for (i1_2i = 1; i1_2in <= i1_2ie; i1_2i = 1 + (++i1_2in)) {
     5870        for (i1_2i = 1; i1_2i - (1) <= floor((JMI_MAX_EQUATION(i_0i, 0.0)) - (1)); i1_2i = i1_2i + 1 ) {
    62355871            jmi_array_ref_1(temp_1_a, i1_2i + jmi_array_size(x_a, 0)) = i1_2i;
    62365872        }
    6237         i1_3in = 0;
    6238         i1_3ie = floor((jmi_array_size(x_a, 0) * 2) - (1));
    6239         for (i1_3i = 1; i1_3in <= i1_3ie; i1_3i = 1 + (++i1_3in)) {
     5873        for (i1_3i = 1; i1_3i - (1) <= floor((jmi_array_size(x_a, 0) * 2) - (1)); i1_3i = i1_3i + 1 ) {
    62405874            jmi_array_ref_1(y_a, i1_3i) = jmi_array_val_1(temp_1_a, i1_3i);
    62415875        }
     
    65616195    JMI_ARR(STACK, jmi_real_t, jmi_array_t, temp_1_a, 2, 1)
    65626196    jmi_real_t i1_0i;
    6563     jmi_int_t i1_0ie;
    6564     jmi_int_t i1_0in;
    65656197    JMI_ARRAY_INIT_1(STACK, jmi_real_t, jmi_array_t, tmp_1, 2, 1, 2)
    65666198    x_v->a = tmp_1;
     
    65686200    jmi_array_ref_1(temp_1_a, 1) = 1;
    65696201    jmi_array_ref_1(temp_1_a, 2) = 2;
    6570     i1_0in = 0;
    6571     i1_0ie = floor((2) - (1));
    6572     for (i1_0i = 1; i1_0in <= i1_0ie; i1_0i = 1 + (++i1_0in)) {
     6202    for (i1_0i = 1; i1_0i - (1) <= floor((2) - (1)); i1_0i = i1_0i + 1 ) {
    65736203        jmi_array_ref_1(x_v->a, i1_0i) = jmi_array_val_1(temp_1_a, i1_0i);
    65746204    }
     
    66306260    JMI_ARR(STACK, B_0_r, B_0_ra, temp_4_a, 2, 1)
    66316261    jmi_real_t i1_0i;
    6632     jmi_int_t i1_0ie;
    6633     jmi_int_t i1_0in;
    66346262    jmi_real_t i2_1i;
    6635     jmi_int_t i2_1ie;
    6636     jmi_int_t i2_1in;
    66376263    JMI_ARRAY_INIT_1(STACK, A_1_r, A_1_ra, x_a, 3, 1, 3)
    66386264    JMI_ARRAY_INIT_1(STACK, B_0_r, B_0_ra, tmp_1, 2, 1, 2)
     
    66586284    jmi_array_rec_1(temp_1_a, 3)->a = 7;
    66596285    jmi_array_rec_1(temp_1_a, 3)->b = temp_4_a;
    6660     i1_0in = 0;
    6661     i1_0ie = floor((3) - (1));
    6662     for (i1_0i = 1; i1_0in <= i1_0ie; i1_0i = 1 + (++i1_0in)) {
     6286    for (i1_0i = 1; i1_0i - (1) <= floor((3) - (1)); i1_0i = i1_0i + 1 ) {
    66636287        jmi_array_rec_1(x_a, i1_0i)->a = jmi_array_rec_1(temp_1_a, i1_0i)->a;
    6664         i2_1in = 0;
    6665         i2_1ie = floor((2) - (1));
    6666         for (i2_1i = 1; i2_1in <= i2_1ie; i2_1i = 1 + (++i2_1in)) {
     6288        for (i2_1i = 1; i2_1i - (1) <= floor((2) - (1)); i2_1i = i2_1i + 1 ) {
    66676289            jmi_array_rec_1(jmi_array_rec_1(x_a, i1_0i)->b, i2_1i)->c = jmi_array_rec_1(jmi_array_rec_1(temp_1_a, i1_0i)->b, i2_1i)->c;
    66686290        }
     
    68046426 A x = f();
    68056427
    6806     annotation(__JModelica(UnitTesting(tests={
    6807         CCodeGenTestCase(
    6808             name="CRecordDecl11",
    6809             description="C code generation for records: outputs: array in record",
    6810             variability_propagation=false,
    6811             inline_functions="none",
    6812             generate_ode=false,
    6813             generate_dae=true,
    6814             template="
     6428annotation(__JModelica(UnitTesting(tests={
     6429    CCodeGenTestCase(
     6430        name="CRecordDecl11",
     6431        description="C code generation for records: outputs: array in record",
     6432        variability_propagation=false,
     6433        inline_functions="none",
     6434        generate_ode=false,
     6435        generate_dae=true,
     6436        template="
    68156437$C_function_headers$
    68166438$C_functions$
    68176439$C_DAE_equation_residuals$
    68186440",
    6819             generatedCode="
     6441        generatedCode="
    68206442void func_CCodeGenTests_CRecordDecl11_f_def0(A_0_r* x_v);
    68216443
     
    68266448    JMI_ARR(STACK, jmi_real_t, jmi_array_t, temp_1_a, 2, 1)
    68276449    jmi_real_t i1_0i;
    6828     jmi_int_t i1_0ie;
    6829     jmi_int_t i1_0in;
    68306450    if (x_v == NULL) {
    68316451        JMI_ARRAY_INIT_1(STACK, jmi_real_t, jmi_array_t, tmp_1, 2, 1, 2)
     
    68366456    jmi_array_ref_1(temp_1_a, 1) = 1;
    68376457    jmi_array_ref_1(temp_1_a, 2) = 2;
    6838     i1_0in = 0;
    6839     i1_0ie = floor((2) - (1));
    6840     for (i1_0i = 1; i1_0in <= i1_0ie; i1_0i = 1 + (++i1_0in)) {
     6458    for (i1_0i = 1; i1_0i - (1) <= floor((2) - (1)); i1_0i = i1_0i + 1 ) {
    68416459        jmi_array_ref_1(x_v->a, i1_0i) = jmi_array_val_1(temp_1_a, i1_0i);
    68426460    }
     
    68746492 A x[3] = f();
    68756493
    6876     annotation(__JModelica(UnitTesting(tests={
    6877         CCodeGenTestCase(
    6878             name="CRecordDecl12",
    6879             description="C code generation for records: outputs: array of records",
    6880             variability_propagation=false,
    6881             inline_functions="none",
    6882             generate_ode=false,
    6883             generate_dae=true,
    6884             template="
     6494annotation(__JModelica(UnitTesting(tests={
     6495    CCodeGenTestCase(
     6496        name="CRecordDecl12",
     6497        description="C code generation for records: outputs: array of records",
     6498        variability_propagation=false,
     6499        inline_functions="none",
     6500        generate_ode=false,
     6501        generate_dae=true,
     6502        template="
    68856503$C_function_headers$
    68866504$C_functions$
    68876505$C_DAE_equation_residuals$
    68886506",
    6889             generatedCode="
     6507        generatedCode="
    68906508void func_CCodeGenTests_CRecordDecl12_f_def0(A_1_ra* x_a);
    68916509
     
    69016519    JMI_ARR(STACK, B_0_r, B_0_ra, temp_4_a, 2, 1)
    69026520    jmi_real_t i1_0i;
    6903     jmi_int_t i1_0ie;
    6904     jmi_int_t i1_0in;
    69056521    jmi_real_t i2_1i;
    6906     jmi_int_t i2_1ie;
    6907     jmi_int_t i2_1in;
    69086522    if (x_a == NULL) {
    69096523        JMI_ARRAY_INIT_1(STACK, A_1_r, A_1_ra, x_an, 3, 1, 3)
     
    69326546    jmi_array_rec_1(temp_1_a, 3)->a = 7;
    69336547    jmi_array_rec_1(temp_1_a, 3)->b = temp_4_a;
    6934     i1_0in = 0;
    6935     i1_0ie = floor((3) - (1));
    6936     for (i1_0i = 1; i1_0in <= i1_0ie; i1_0i = 1 + (++i1_0in)) {
     6548    for (i1_0i = 1; i1_0i - (1) <= floor((3) - (1)); i1_0i = i1_0i + 1 ) {
    69376549        jmi_array_rec_1(x_a, i1_0i)->a = jmi_array_rec_1(temp_1_a, i1_0i)->a;
    6938         i2_1in = 0;
    6939         i2_1ie = floor((2) - (1));
    6940         for (i2_1i = 1; i2_1in <= i2_1ie; i2_1i = 1 + (++i2_1in)) {
     6550        for (i2_1i = 1; i2_1i - (1) <= floor((2) - (1)); i2_1i = i2_1i + 1 ) {
    69416551            jmi_array_rec_1(jmi_array_rec_1(x_a, i1_0i)->b, i2_1i)->c = jmi_array_rec_1(jmi_array_rec_1(temp_1_a, i1_0i)->b, i2_1i)->c;
    69426552        }
     
    71886798    JMI_DEF(REA, o_v)
    71896799    jmi_real_t i1_0i;
    7190     jmi_int_t i1_0ie;
    7191     jmi_int_t i1_0in;
    7192     i1_0in = 0;
    7193     i1_0ie = floor((3) - (1));
    7194     for (i1_0i = 1; i1_0in <= i1_0ie; i1_0i = 1 + (++i1_0in)) {
     6800    for (i1_0i = 1; i1_0i - (1) <= floor((3) - (1)); i1_0i = i1_0i + 1 ) {
    71956801        if (COND_EXP_EQ(2.0, jmi_array_size(jmi_array_rec_1(x_a, i1_0i)->b, 0), JMI_TRUE, JMI_FALSE) == JMI_FALSE) {
    71966802            jmi_assert_failed(\"Mismatching sizes in function 'CCodeGenTests.CRecordDecl16.f', component 'x[i1].b', dimension '1'\", JMI_ASSERT_ERROR);
     
    1382513431    JMI_ARR(HEAP, jmi_real_t, jmi_array_t, ipiv_a, -1, 1)
    1382613432    jmi_real_t i1_0i;
    13827     jmi_int_t i1_0ie;
    13828     jmi_int_t i1_0in;
    1382913433    jmi_real_t i1_1i;
    13830     jmi_int_t i1_1ie;
    13831     jmi_int_t i1_1in;
    1383213434    jmi_real_t i2_2i;
    13833     jmi_int_t i2_2ie;
    13834     jmi_int_t i2_2in;
    1383513435    JMI_DEF(INT_EXT, tmp_1)
    1383613436    JMI_ARR(HEAP, jmi_real_t, jmi_array_t, tmp_2, -1, 2)
     
    1384413444        x_a = x_an;
    1384513445    }
    13846     i1_0in = 0;
    13847     i1_0ie = floor((jmi_array_size(A_a, 0)) - (1));
    13848     for (i1_0i = 1; i1_0in <= i1_0ie; i1_0i = 1 + (++i1_0in)) {
     13446    for (i1_0i = 1; i1_0i - (1) <= floor((jmi_array_size(A_a, 0)) - (1)); i1_0i = i1_0i + 1 ) {
    1384913447        jmi_array_ref_1(x_a, i1_0i) = jmi_array_val_1(b_a, i1_0i);
    1385013448    }
    1385113449    JMI_ARRAY_INIT_2(HEAP, jmi_real_t, jmi_array_t, Awork_a, jmi_array_size(A_a, 0) * jmi_array_size(A_a, 0), 2, jmi_array_size(A_a, 0), jmi_array_size(A_a, 0))
    13852     i1_1in = 0;
    13853     i1_1ie = floor((jmi_array_size(A_a, 0)) - (1));
    13854     for (i1_1i = 1; i1_1in <= i1_1ie; i1_1i = 1 + (++i1_1in)) {
    13855         i2_2in = 0;
    13856         i2_2ie = floor((jmi_array_size(A_a, 0)) - (1));
    13857         for (i2_2i = 1; i2_2in <= i2_2ie; i2_2i = 1 + (++i2_2in)) {
     13450    for (i1_1i = 1; i1_1i - (1) <= floor((jmi_array_size(A_a, 0)) - (1)); i1_1i = i1_1i + 1 ) {
     13451        for (i2_2i = 1; i2_2i - (1) <= floor((jmi_array_size(A_a, 0)) - (1)); i2_2i = i2_2i + 1 ) {
    1385813452            jmi_array_ref_2(Awork_a, i1_1i, i2_2i) = jmi_array_val_2(A_a, i1_1i, i2_2i);
    1385913453        }
     
    1392713521    JMI_ARR(HEAP, jmi_real_t, jmi_array_t, ipiv_a, -1, 1)
    1392813522    jmi_real_t i1_0i;
    13929     jmi_int_t i1_0ie;
    13930     jmi_int_t i1_0in;
    1393113523    jmi_real_t i2_1i;
    13932     jmi_int_t i2_1ie;
    13933     jmi_int_t i2_1in;
    1393413524    jmi_real_t i1_2i;
    13935     jmi_int_t i1_2ie;
    13936     jmi_int_t i1_2in;
    1393713525    jmi_real_t i2_3i;
    13938     jmi_int_t i2_3ie;
    13939     jmi_int_t i2_3in;
    1394013526    JMI_ARR(HEAP, jmi_real_t, jmi_array_t, tmp_1, -1, 2)
    1394113527    JMI_DEF(INT_EXT, tmp_2)
     
    1394913535        X_a = X_an;
    1395013536    }
    13951     i1_0in = 0;
    13952     i1_0ie = floor((jmi_array_size(A_a, 0)) - (1));
    13953     for (i1_0i = 1; i1_0in <= i1_0ie; i1_0i = 1 + (++i1_0in)) {
    13954         i2_1in = 0;
    13955         i2_1ie = floor((jmi_array_size(B_a, 1)) - (1));
    13956         for (i2_1i = 1; i2_1in <= i2_1ie; i2_1i = 1 + (++i2_1in)) {
     13537    for (i1_0i = 1; i1_0i - (1) <= floor((jmi_array_size(A_a, 0)) - (1)); i1_0i = i1_0i + 1 ) {
     13538        for (i2_1i = 1; i2_1i - (1) <= floor((jmi_array_size(B_a, 1)) - (1)); i2_1i = i2_1i + 1 ) {
    1395713539            jmi_array_ref_2(X_a, i1_0i, i2_1i) = jmi_array_val_2(B_a, i1_0i, i2_1i);
    1395813540        }
    1395913541    }
    1396013542    JMI_ARRAY_INIT_2(HEAP, jmi_real_t, jmi_array_t, Awork_a, jmi_array_size(A_a, 0) * jmi_array_size(A_a, 0), 2, jmi_array_size(A_a, 0), jmi_array_size(A_a, 0))
    13961     i1_2in = 0;
    13962     i1_2ie = floor((jmi_array_size(A_a, 0)) - (1));
    13963     for (i1_2i = 1; i1_2in <= i1_2ie; i1_2i = 1 + (++i1_2in)) {
    13964         i2_3in = 0;
    13965         i2_3ie = floor((jmi_array_size(A_a, 0)) - (1));
    13966         for (i2_3i = 1; i2_3in <= i2_3ie; i2_3i = 1 + (++i2_3in)) {
     13543    for (i1_2i = 1; i1_2i - (1) <= floor((jmi_array_size(A_a, 0)) - (1)); i1_2i = i1_2i + 1 ) {
     13544        for (i2_3i = 1; i2_3i - (1) <= floor((jmi_array_size(A_a, 0)) - (1)); i2_3i = i2_3i + 1 ) {
    1396713545            jmi_array_ref_2(Awork_a, i1_2i, i2_3i) = jmi_array_val_2(A_a, i1_2i, i2_3i);
    1396813546        }
     
    1627215850    JMI_ARR(STACK, jmi_string_t, jmi_string_array_t, temp_1_a, 2, 1)
    1627315851    jmi_real_t i1_0i;
    16274     jmi_int_t i1_0ie;
    16275     jmi_int_t i1_0in;
    1627615852    JMI_ARR(STACK, jmi_string_t, jmi_string_array_t, tmp_1, 2, 1)
    1627715853    JMI_ARRAY_INIT_1(STACK, jmi_string_t, jmi_string_array_t, s_a, 2, 1, 2)
     
    1628015856    JMI_ASG(STR, jmi_array_ref_1(temp_1_a, 1), \"str\")
    1628115857    JMI_ASG(STR, jmi_array_ref_1(temp_1_a, 2), \"str\")
    16282     i1_0in = 0;
    16283     i1_0ie = floor((2) - (1));
    16284     for (i1_0i = 1; i1_0in <= i1_0ie; i1_0i = 1 + (++i1_0in)) {
     15858    for (i1_0i = 1; i1_0i - (1) <= floor((2) - (1)); i1_0i = i1_0i + 1 ) {
    1628515859        JMI_ASG(STR, jmi_array_ref_1(s_a, i1_0i), jmi_array_val_1(temp_1_a, i1_0i))
    1628615860    }
     
    1630215876    JMI_ARR(HEAP, jmi_string_t, jmi_string_array_t, o_a, -1, 1)
    1630315877    jmi_real_t i1_1i;
    16304     jmi_int_t i1_1ie;
    16305     jmi_int_t i1_1in;
    1630615878    JMI_ARRAY_INIT_1(HEAP, jmi_string_t, jmi_string_array_t, o_a, jmi_array_size(s_a, 0), 1, jmi_array_size(s_a, 0))
    16307     i1_1in = 0;
    16308     i1_1ie = floor((jmi_array_size(s_a, 0)) - (1));
    16309     for (i1_1i = 1; i1_1in <= i1_1ie; i1_1i = 1 + (++i1_1in)) {
     15879    for (i1_1i = 1; i1_1i - (1) <= floor((jmi_array_size(s_a, 0)) - (1)); i1_1i = i1_1i + 1 ) {
    1631015880        JMI_ASG(STR, jmi_array_ref_1(o_a, i1_1i), jmi_array_val_1(s_a, i1_1i))
    1631115881    }
     
    1635315923    JMI_ARR(HEAP, jmi_string_t, jmi_string_array_t, temp_1_a, -1, 1)
    1635415924    jmi_real_t i1_0i;
    16355     jmi_int_t i1_0ie;
    16356     jmi_int_t i1_0in;
    1635715925    jmi_real_t i1_1i;
    16358     jmi_int_t i1_1ie;
    16359     jmi_int_t i1_1in;
    1636015926    JMI_ARR(HEAP, jmi_string_t, jmi_string_array_t, tmp_1, -1, 1)
    1636115927    JMI_ARRAY_INIT_1(HEAP, jmi_string_t, jmi_string_array_t, s_a, n_v, 1, n_v)
    1636215928    y_v = x_v;
    1636315929    JMI_ARRAY_INIT_1(HEAP, jmi_string_t, jmi_string_array_t, temp_1_a, JMI_MAX_EQUATION(n_v, 0.0), 1, JMI_MAX_EQUATION(n_v, 0.0))
    16364     i1_0in = 0;
    16365     i1_0ie = floor((JMI_MAX_EQUATION(n_v, 0.0)) - (1));
    16366     for (i1_0i = 1; i1_0in <= i1_0ie; i1_0i = 1 + (++i1_0in)) {
     15930    for (i1_0i = 1; i1_0i - (1) <= floor((JMI_MAX_EQUATION(n_v, 0.0)) - (1)); i1_0i = i1_0i + 1 ) {
    1636715931        JMI_ASG(STR, jmi_array_ref_1(temp_1_a, i1_0i), \"str\")
    1636815932    }
    16369     i1_1in = 0;
    16370     i1_1ie = floor((n_v) - (1));
    16371     for (i1_1i = 1; i1_1in <= i1_1ie; i1_1i = 1 + (++i1_1in)) {
     15933    for (i1_1i = 1; i1_1i - (1) <= floor((n_v) - (1)); i1_1i = i1_1i + 1 ) {
    1637215934        JMI_ASG(STR, jmi_array_ref_1(s_a, i1_1i), jmi_array_val_1(temp_1_a, i1_1i))
    1637315935    }
     
    1638915951    JMI_ARR(HEAP, jmi_string_t, jmi_string_array_t, o_a, -1, 1)
    1639015952    jmi_real_t i1_2i;
    16391     jmi_int_t i1_2ie;
    16392     jmi_int_t i1_2in;
    1639315953    JMI_ARRAY_INIT_1(HEAP, jmi_string_t, jmi_string_array_t, o_a, jmi_array_size(s_a, 0), 1, jmi_array_size(s_a, 0))
    16394     i1_2in = 0;
    16395     i1_2ie = floor((jmi_array_size(s_a, 0)) - (1));
    16396     for (i1_2i = 1; i1_2in <= i1_2ie; i1_2i = 1 + (++i1_2in)) {
     15954    for (i1_2i = 1; i1_2i - (1) <= floor((jmi_array_size(s_a, 0)) - (1)); i1_2i = i1_2i + 1 ) {
    1639715955        JMI_ASG(STR, jmi_array_ref_1(o_a, i1_2i), jmi_array_val_1(s_a, i1_2i))
    1639815956    }
     
    1816417722    JMI_ARR(HEAP, jmi_real_t, jmi_array_t, temp_4_a, -1, 1)
    1816517723    jmi_real_t i2_0i;
    18166     jmi_int_t i2_0ie;
    18167     jmi_int_t i2_0in;
    1816817724    jmi_real_t i2_1i;
    18169     jmi_int_t i2_1ie;
    18170     jmi_int_t i2_1in;
    1817117725    jmi_real_t i2_2i;
    18172     jmi_int_t i2_2ie;
    18173     jmi_int_t i2_2in;
    1817417726    jmi_real_t i1_3i;
    18175     jmi_int_t i1_3ie;
    18176     jmi_int_t i1_3in;
    1817717727    JMI_ARRAY_INIT_1(HEAP, jmi_real_t, jmi_array_t, temp_2_a, jmi_array_size(x_a, 0), 1, jmi_array_size(x_a, 0))
    18178     i2_0in = 0;
    18179     i2_0ie = floor((jmi_array_size(x_a, 0)) - (1));
    18180     for (i2_0i = 1; i2_0in <= i2_0ie; i2_0i = 1 + (++i2_0in)) {
     17728    for (i2_0i = 1; i2_0i - (1) <= floor((jmi_array_size(x_a, 0)) - (1)); i2_0i = i2_0i + 1 ) {
    1818117729        jmi_array_ref_1(temp_2_a, i2_0i) = jmi_array_val_2(x_a, i2_0i, 1);
    1818217730    }
    1818317731    JMI_ARRAY_INIT_1(HEAP, jmi_real_t, jmi_array_t, temp_3_a, jmi_array_size(x_a, 0), 1, jmi_array_size(x_a, 0))
    18184     i2_1in = 0;
    18185     i2_1ie = floor((jmi_array_size(x_a, 0)) - (1));
    18186     for (i2_1i = 1; i2_1in <= i2_1ie; i2_1i = 1 + (++i2_1in)) {
     17732    for (i2_1i = 1; i2_1i - (1) <= floor((jmi_array_size(x_a, 0)) - (1)); i2_1i = i2_1i + 1 ) {
    1818717733        jmi_array_ref_1(temp_3_a, i2_1i) = jmi_array_val_2(x_a, i2_1i, 1);
    1818817734    }
    1818917735    JMI_ARRAY_INIT_1(HEAP, jmi_real_t, jmi_array_t, temp_3_a, jmi_array_size(x_a, 0), 1, jmi_array_size(x_a, 0))
    18190     i2_2in = 0;
    18191     i2_2ie = floor((jmi_array_size(x_a, 0)) - (1));
    18192     for (i2_2i = 1; i2_2in <= i2_2ie; i2_2i = 1 + (++i2_2in)) {
     17736    for (i2_2i = 1; i2_2i - (1) <= floor((jmi_array_size(x_a, 0)) - (1)); i2_2i = i2_2i + 1 ) {
    1819317737        jmi_array_ref_1(temp_3_a, i2_2i) = jmi_array_val_2(x_a, i2_2i, 1);
    1819417738    }
     
    1819617740    func_CCodeGenTests_FuncInitOrder_f_def1(temp_2_a, temp_4_a);
    1819717741    temp_1_v = 0.0;
    18198     i1_3in = 0;
    18199     i1_3ie = floor((func_CCodeGenTests_FuncInitOrder_g_exp2(temp_3_a)) - (1));
    18200     for (i1_3i = 1; i1_3in <= i1_3ie; i1_3i = 1 + (++i1_3in)) {
     17742    for (i1_3i = 1; i1_3i - (1) <= floor((func_CCodeGenTests_FuncInitOrder_g_exp2(temp_3_a)) - (1)); i1_3i = i1_3i + 1 ) {
    1820117743        temp_1_v = temp_1_v + jmi_array_val_1(temp_4_a, i1_3i);
    1820217744    }
     
    1821717759    JMI_ARR(HEAP, jmi_real_t, jmi_array_t, y_an, -1, 1)
    1821817760    jmi_real_t i1_4i;
    18219     jmi_int_t i1_4ie;
    18220     jmi_int_t i1_4in;
    1822117761    if (y_a == NULL) {
    1822217762        JMI_ARRAY_INIT_1(HEAP, jmi_real_t, jmi_array_t, y_an, func_CCodeGenTests_FuncInitOrder_g_exp2(x_a), 1, func_CCodeGenTests_FuncInitOrder_g_exp2(x_a))
     
    1822617766        jmi_assert_failed(\"Mismatching sizes in CCodeGenTests.FuncInitOrder.f\", JMI_ASSERT_ERROR);
    1822717767    }
    18228     i1_4in = 0;
    18229     i1_4ie = floor((func_CCodeGenTests_FuncInitOrder_g_exp2(x_a)) - (1));
    18230     for (i1_4i = 1; i1_4in <= i1_4ie; i1_4i = 1 + (++i1_4in)) {
     17768    for (i1_4i = 1; i1_4i - (1) <= floor((func_CCodeGenTests_FuncInitOrder_g_exp2(x_a)) - (1)); i1_4i = i1_4i + 1 ) {
    1823117769        jmi_array_ref_1(y_a, i1_4i) = 0;
    1823217770    }
     
    1824017778    JMI_DEF(REA, temp_1_v)
    1824117779    jmi_real_t i1_5i;
    18242     jmi_int_t i1_5ie;
    18243     jmi_int_t i1_5in;
    1824417780    temp_1_v = 0.0;
    18245     i1_5in = 0;
    18246     i1_5ie = floor((jmi_array_size(x_a, 0)) - (1));
    18247     for (i1_5i = 1; i1_5in <= i1_5ie; i1_5i = 1 + (++i1_5in)) {
     17781    for (i1_5i = 1; i1_5i - (1) <= floor((jmi_array_size(x_a, 0)) - (1)); i1_5i = i1_5i + 1 ) {
    1824817782        temp_1_v = temp_1_v + jmi_array_val_1(x_a, i1_5i);
    1824917783    }
  • branches/dev-cw-2719/Compiler/ModelicaMiddleEnd/test/modelica/Differentiation.mo

    r12754 r14143  
    31123112    JMI_ARR(STACK, R_0_r, R_0_ra, y_an, 1, 1)
    31133113    jmi_real_t i1_0i;
    3114     jmi_int_t i1_0ie;
    3115     jmi_int_t i1_0in;
    31163114    if (y_a == NULL) {
    31173115        JMI_ARRAY_INIT_1(STACK, R_0_r, R_0_ra, y_an, 1, 1, 1)
    31183116        y_a = y_an;
    31193117    }
    3120     i1_0in = 0;
    3121     i1_0ie = floor((1) - (1));
    3122     for (i1_0i = 1; i1_0in <= i1_0ie; i1_0i = 1 + (++i1_0in)) {
     3118    for (i1_0i = 1; i1_0i - (1) <= floor((1) - (1)); i1_0i = i1_0i + 1 ) {
    31233119        jmi_array_rec_1(y_a, i1_0i)->x = jmi_array_rec_1(x_a, i1_0i)->x;
    31243120    }
     
    31323128    JMI_ARR(STACK, R_0_r, R_0_ra, y_a, 1, 1)
    31333129    jmi_real_t i1_1i;
    3134     jmi_int_t i1_1ie;
    3135     jmi_int_t i1_1in;
    31363130    JMI_ARRAY_INIT_1(STACK, R_0_r, R_0_ra, y_a, 1, 1, 1)
    31373131    if (_der_y_a == NULL) {
     
    31393133        _der_y_a = _der_y_an;
    31403134    }
    3141     i1_1in = 0;
    3142     i1_1ie = floor((1) - (1));
    3143     for (i1_1i = 1; i1_1in <= i1_1ie; i1_1i = 1 + (++i1_1in)) {
     3135    for (i1_1i = 1; i1_1i - (1) <= floor((1) - (1)); i1_1i = i1_1i + 1 ) {
    31443136        jmi_array_rec_1(_der_y_a, i1_1i)->x = jmi_array_rec_1(_der_x_a, i1_1i)->x;
    31453137        jmi_array_rec_1(y_a, i1_1i)->x = jmi_array_rec_1(x_a, i1_1i)->x;
     
    31923184    JMI_ARR(STACK, R_0_r, R_0_ra, temp_1_a, 1, 1)
    31933185    jmi_real_t i1_0i;
    3194     jmi_int_t i1_0ie;
    3195     jmi_int_t i1_0in;
    31963186    jmi_real_t i2_1i;
    3197     jmi_int_t i2_1ie;
    3198     jmi_int_t i2_1in;
    31993187    jmi_real_t i1_2i;
    3200     jmi_int_t i1_2ie;
    3201     jmi_int_t i1_2in;
    32023188    JMI_ARRAY_INIT_1(STACK, R_0_r, R_0_ra, rt_a, 1, 1, 1)
    32033189    JMI_ARRAY_INIT_1(STACK, jmi_real_t, jmi_array_t, tmp_1, 1, 1, 1)
     
    32053191    JMI_ARRAY_INIT_1(STACK, R_0_r, R_0_ra, temp_1_a, 1, 1, 1)
    32063192    *jmi_array_rec_1(temp_1_a, 1) = *jmi_array_rec_1(r_a, 1);
    3207     i1_0in = 0;
    3208     i1_0ie = floor((1) - (1));
    3209     for (i1_0i = 1; i1_0in <= i1_0ie; i1_0i = 1 + (++i1_0in)) {
    3210         i2_1in = 0;
    3211         i2_1ie = floor((1) - (1));
    3212         for (i2_1i = 1; i2_1in <= i2_1ie; i2_1i = 1 + (++i2_1in)) {
     3193    for (i1_0i = 1; i1_0i - (1) <= floor((1) - (1)); i1_0i = i1_0i + 1 ) {
     3194        for (i2_1i = 1; i2_1i - (1) <= floor((1) - (1)); i2_1i = i2_1i + 1 ) {
    32133195            jmi_array_ref_1(jmi_array_rec_1(rt_a, i1_0i)->x, i2_1i) = jmi_array_val_1(jmi_array_rec_1(temp_1_a, i1_0i)->x, i2_1i);
    32143196        }
    32153197    }
    32163198    y_v = jmi_array_val_1(jmi_array_rec_1(rt_a, 1)->x, 1);
    3217     i1_2in = 0;
    3218     i1_2ie = floor((jmi_array_size(r_a, 0)) - (1));
    3219     for (i1_2i = 1; i1_2in <= i1_2ie; i1_2i = 1 + (++i1_2in)) {
     3199    for (i1_2i = 1; i1_2i - (1) <= floor((jmi_array_size(r_a, 0)) - (1)); i1_2i = i1_2i + 1 ) {
    32203200        if (COND_EXP_EQ(1.0, jmi_array_size(jmi_array_rec_1(r_a, i1_2i)->x, 0), JMI_TRUE, JMI_FALSE) == JMI_FALSE) {
    32213201            jmi_assert_failed(\"Mismatching sizes in function 'Differentiation.AlgorithmDifferentiation.RecordArrayTemp1.e', component 'r[i1].x', dimension '1'\", JMI_ASSERT_ERROR);
     
    32383218    JMI_ARR(STACK, jmi_real_t, jmi_array_t, tmp_1, 1, 1)
    32393219    jmi_real_t i1_3i;
    3240     jmi_int_t i1_3ie;
    3241     jmi_int_t i1_3in;
    32423220    jmi_real_t i1_4i;
    3243     jmi_int_t i1_4ie;
    3244     jmi_int_t i1_4in;
    32453221    jmi_real_t i2_5i;
    3246     jmi_int_t i2_5ie;
    3247     jmi_int_t i2_5in;
    32483222    if (y_a == NULL) {
    32493223        JMI_ARRAY_INIT_1(STACK, R_0_r, R_0_ra, y_an, 1, 1, 1)
     
    32523226        y_a = y_an;
    32533227    }
    3254     i1_3in = 0;
    3255     i1_3ie = floor((1) - (1));
    3256     for (i1_3i = 1; i1_3in <= i1_3ie; i1_3i = 1 + (++i1_3in)) {
     3228    for (i1_3i = 1; i1_3i - (1) <= floor((1) - (1)); i1_3i = i1_3i + 1 ) {
    32573229        if (COND_EXP_EQ(1.0, jmi_array_size(jmi_array_rec_1(x_a, i1_3i)->x, 0), JMI_TRUE, JMI_FALSE) == JMI_FALSE) {
    32583230            jmi_assert_failed(\"Mismatching sizes in function 'Differentiation.AlgorithmDifferentiation.RecordArrayTemp1.F', component 'x[i1].x', dimension '1'\", JMI_ASSERT_ERROR);
    32593231        }
    32603232    }
    3261     i1_4in = 0;
    3262     i1_4ie = floor((1) - (1));
    3263     for (i1_4i = 1; i1_4in <= i1_4ie; i1_4i = 1 + (++i1_4in)) {
    3264         i2_5in = 0;
    3265         i2_5ie = floor((1) - (1));
    3266         for (i2_5i = 1; i2_5in <= i2_5ie; i2_5i = 1 + (++i2_5in)) {
     3233    for (i1_4i = 1; i1_4i - (1) <= floor((1) - (1)); i1_4i = i1_4i + 1 ) {
     3234        for (i2_5i = 1; i2_5i - (1) <= floor((1) - (1)); i2_5i = i2_5i + 1 ) {
    32673235            jmi_array_ref_1(jmi_array_rec_1(y_a, i1_4i)->x, i2_5i) = jmi_array_val_1(jmi_array_rec_1(x_a, i1_4i)->x, i2_5i);
    32683236        }
     
    32833251    JMI_ARR(STACK, R_0_r, R_0_ra, _der_temp_1_a, 1, 1)
    32843252    jmi_real_t i1_6i;
    3285     jmi_int_t i1_6ie;
    3286     jmi_int_t i1_6in;
    32873253    jmi_real_t i2_7i;
    3288     jmi_int_t i2_7ie;
    3289     jmi_int_t i2_7in;
    32903254    jmi_real_t i1_8i;
    3291     jmi_int_t i1_8ie;
    3292     jmi_int_t i1_8in;
    32933255    JMI_ARRAY_INIT_1(STACK, R_0_r, R_0_ra, rt_a, 1, 1, 1)
    32943256    JMI_ARRAY_INIT_1(STACK, jmi_real_t, jmi_array_t, tmp_1, 1, 1, 1)
     
    33013263    *jmi_array_rec_1(_der_temp_1_a, 1) = *jmi_array_rec_1(_der_r_a, 1);
    33023264    *jmi_array_rec_1(temp_1_a, 1) = *jmi_array_rec_1(r_a, 1);
    3303     i1_6in = 0;
    3304     i1_6ie = floor((1) - (1));
    3305     for (i1_6i = 1; i1_6in <= i1_6ie; i1_6i = 1 + (++i1_6in)) {
    3306         i2_7in = 0;
    3307         i2_7ie = floor((1) - (1));
    3308         for (i2_7i = 1; i2_7in <= i2_7ie; i2_7i = 1 + (++i2_7in)) {
     3265    for (i1_6i = 1; i1_6i - (1) <= floor((1) - (1)); i1_6i = i1_6i + 1 ) {
     3266        for (i2_7i = 1; i2_7i - (1) <= floor((1) - (1)); i2_7i = i2_7i + 1 ) {
    33093267            jmi_array_ref_1(jmi_array_rec_1(_der_rt_a, i1_6i)->x, i2_7i) = jmi_array_val_1(jmi_array_rec_1(_der_temp_1_a, i1_6i)->x, i2_7i);
    33103268            jmi_array_ref_1(jmi_array_rec_1(rt_a, i1_6i)->x, i2_7i) = jmi_array_val_1(jmi_array_rec_1(temp_1_a, i1_6i)->x, i2_7i);
     
    33133271    _der_y_v = jmi_array_val_1(jmi_array_rec_1(_der_rt_a, 1)->x, 1);
    33143272    y_v = jmi_array_val_1(jmi_array_rec_1(rt_a, 1)->x, 1);
    3315     i1_8in = 0;
    3316     i1_8ie = floor((jmi_array_size(r_a, 0)) - (1));
    3317     for (i1_8i = 1; i1_8in <= i1_8ie; i1_8i = 1 + (++i1_8in)) {
     3273    for (i1_8i = 1; i1_8i - (1) <= floor((jmi_array_size(r_a, 0)) - (1)); i1_8i = i1_8i + 1 ) {
    33183274        if (COND_EXP_EQ(1.0, jmi_array_size(jmi_array_rec_1(r_a, i1_8i)->x, 0), JMI_TRUE, JMI_FALSE) == JMI_FALSE) {
    33193275            jmi_assert_failed(\"Mismatching sizes in function 'Differentiation.AlgorithmDifferentiation.RecordArrayTemp1.e', component 'r[i1].x', dimension '1'\", JMI_ASSERT_ERROR);
     
    33383294    JMI_ARR(STACK, jmi_real_t, jmi_array_t, tmp_2, 1, 1)
    33393295    jmi_real_t i1_9i;
    3340     jmi_int_t i1_9ie;
    3341     jmi_int_t i1_9in;
    33423296    jmi_real_t i1_10i;
    3343     jmi_int_t i1_10ie;
    3344     jmi_int_t i1_10in;
    33453297    jmi_real_t i2_11i;
    3346     jmi_int_t i2_11ie;
    3347     jmi_int_t i2_11in;
    33483298    JMI_ARRAY_INIT_1(STACK, R_0_r, R_0_ra, y_a, 1, 1, 1)
    33493299    JMI_ARRAY_INIT_1(STACK, jmi_real_t, jmi_array_t, tmp_2, 1, 1, 1)
     
    33553305        _der_y_a = _der_y_an;
    33563306    }
    3357     i1_9in = 0;
    3358     i1_9ie = floor((1) - (1));
    3359     for (i1_9i = 1; i1_9in <= i1_9ie; i1_9i = 1 + (++i1_9in)) {
     3307    for (i1_9i = 1; i1_9i - (1) <= floor((1) - (1)); i1_9i = i1_9i + 1 ) {
    33603308        if (COND_EXP_EQ(1.0, jmi_array_size(jmi_array_rec_1(x_a, i1_9i)->x, 0), JMI_TRUE, JMI_FALSE) == JMI_FALSE) {
    33613309            jmi_assert_failed(\"Mismatching sizes in function 'Differentiation.AlgorithmDifferentiation.RecordArrayTemp1.F', component 'x[i1].x', dimension '1'\", JMI_ASSERT_ERROR);
    33623310        }
    33633311    }
    3364     i1_10in = 0;
    3365     i1_10ie = floor((1) - (1));
    3366     for (i1_10i = 1; i1_10in <= i1_10ie; i1_10i = 1 + (++i1_10in)) {
    3367         i2_11in = 0;
    3368         i2_11ie = floor((1) - (1));
    3369         for (i2_11i = 1; i2_11in <= i2_11ie; i2_11i = 1 + (++i2_11in)) {
     3312    for (i1_10i = 1; i1_10i - (1) <= floor((1) - (1)); i1_10i = i1_10i + 1 ) {
     3313        for (i2_11i = 1; i2_11i - (1) <= floor((1) - (1)); i2_11i = i2_11i + 1 ) {
    33703314            jmi_array_ref_1(jmi_array_rec_1(_der_y_a, i1_10i)->x, i2_11i) = jmi_array_val_1(jmi_array_rec_1(_der_x_a, i1_10i)->x, i2_11i);
    33713315            jmi_array_ref_1(jmi_array_rec_1(y_a, i1_10i)->x, i2_11i) = jmi_array_val_1(jmi_array_rec_1(x_a, i1_10i)->x, i2_11i);
     
    33753319    return;
    33763320}
     3321
    33773322")})));
    33783323        end RecordArrayTemp1;
Note: See TracChangeset for help on using the changeset viewer.