Changes between Initial Version and Version 1 of Ticket #2150


Ignore:
Timestamp:
2013-04-19T13:46:27Z (12 years ago)
Author:
Willi Braun
Comment:

Legend:

Unmodified
Added
Removed
Modified
  • Ticket #2150

    • Property Cc Martin Sjölund added
  • Ticket #2150 – Description

    initial v1  
    22
    33{{{
     4system("echo \"void extIntegerArray(int* a, int n, int* out){int i;for(i=0;i<n;i++){out[i] = a[i]+i;}}\" > ExtIntegerArrayFunc.c");
    45loadString("
    5 function extF
     6
     7function extIntegerArray
    68  input Integer x[:];
    79  input Integer s;
    810  output Integer y[size(x,1)];
    9   external \"C\" extF(x,s,y) annotation(Library=\"libExtF.a\");
    10 end extF;
     11  external \"C\" extIntegerArray(x,s,y) annotation(Library=\"libExtIntegerArrayFunc1_ext.a\");
     12end extIntegerArray;
    1113
    1214model A
    13   function f
    14     input Integer ins[:];
    15     input Integer in1;
    16     output Integer out[size(ins,1)];
     15  function extIntArray
     16    input Integer x[:];
     17    input Integer s;
     18    output Integer y[size(x,1)];
    1719  algorithm
    18    out := extF(ins,size(ins,1));
    19   end f;
     20    y := extIntegerArray(x,s);
     21  end extIntArray;
    2022
    21   Integer ints[:] = {0,1,2,3,4};
    22   Integer ou1,ou2,ou3,ou4,ou5;
     23  Integer ints[:] = {integer(2*time),integer(1*time),3,5,7,8,3};
     24  Integer ou1[size(ints,1)];
    2325
    2426equation
    25   {ou1,ou2,ou3,ou4,ou5} = f(ints,integer(time));
     27  ou1 = extIntArray(ints,size(ints,1));
    2628end A;");
    2729getErrorString();
    2830
    29 simulate(A, stopTime=10);
     31system("gcc -c -o libExtIntegerArrayFunc1_ext.a ExtIntegerArrayFunc.c");
     32simulate(A, stopTime=0.1, numberOfIntervals=2);
     33system("valgrind ./A");
    3034getErrorString();
    3135}}}
     36
     37it's the usage of data_of_integer_array in util/inter_array.h that produces memory leaks.