Changeset 11545


Ignore:
Timestamp:
Sep 1, 2018 11:14:54 AM (16 months ago)
Author:
Jonathan Kämpe
Message:

#5670 Fixed bug in r11543

Location:
trunk/Compiler/ModelicaCBackEnd
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/Compiler/ModelicaCBackEnd/src/jastadd/CCodeGen/CCodeGenExpressions.jrag

    r11543 r11545  
    708708     */
    709709    public String FAbstractVariable.genUse_C(CodePrinter.ExecuteCodePrinter p, FArraySubscripts fas, String type) {
    710         if (fas == null) {
     710        if (fas == null || fas.ndims() == 0) {
    711711            return p.name(this);
    712712        } else {
  • trunk/Compiler/ModelicaCBackEnd/test/modelica/CCodeGenArrayTests.mo

    r10859 r11545  
    1717
    1818package CCodeGenArrayTests
     19
     20model VectorLength1
     21    function f
     22        input Real x[:];
     23        output Real y;
     24      algorithm
     25        y := sqrt(x*x);
     26        annotation(Inline=false);
     27    end f;
     28
     29    Real y = f({time});
     30annotation(__JModelica(UnitTesting(tests={
     31    CCodeGenTestCase(
     32        name="VectorLength1",
     33        description="",
     34        template="
     35$C_functions$
     36",
     37        generatedCode="
     38void func_CCodeGenArrayTests_VectorLength1_f_def0(jmi_array_t* x_a, jmi_real_t* y_o) {
     39    JMI_DYNAMIC_INIT()
     40    JMI_DEF(REA, y_v)
     41    JMI_DEF(REA, temp_1_v)
     42    JMI_DEF(REA, temp_2_v)
     43    jmi_real_t i1_0i;
     44    jmi_real_t i1_0ie;
     45    temp_2_v = 0.0;
     46    i1_0ie = jmi_array_size(x_a, 0) + 1 / 2.0;
     47    for (i1_0i = 1; i1_0i < i1_0ie; i1_0i += 1) {
     48        temp_2_v = temp_2_v + jmi_array_val_1(x_a, i1_0i) * jmi_array_val_1(x_a, i1_0i);
     49    }
     50    temp_1_v = temp_2_v;
     51    y_v = sqrt(temp_1_v);
     52    JMI_RET(GEN, y_o, y_v)
     53    JMI_DYNAMIC_FREE()
     54    return;
     55}
     56
     57jmi_real_t func_CCodeGenArrayTests_VectorLength1_f_exp0(jmi_array_t* x_a) {
     58    JMI_DEF(REA, y_v)
     59    func_CCodeGenArrayTests_VectorLength1_f_def0(x_a, &y_v);
     60    return y_v;
     61}
     62")})));
     63end VectorLength1;
    1964
    2065model UnknownSizeInEquation1
Note: See TracChangeset for help on using the changeset viewer.