Changes between Initial Version and Version 1 of Ticket #2150
- Timestamp:
- 2013-04-19T13:46:27Z (12 years ago)
Legend:
- Unmodified
- Added
- Removed
- Modified
-
Ticket #2150
- Property Cc added
-
Ticket #2150 – Description
initial v1 2 2 3 3 {{{ 4 system("echo \"void extIntegerArray(int* a, int n, int* out){int i;for(i=0;i<n;i++){out[i] = a[i]+i;}}\" > ExtIntegerArrayFunc.c"); 4 5 loadString(" 5 function extF 6 7 function extIntegerArray 6 8 input Integer x[:]; 7 9 input Integer s; 8 10 output Integer y[size(x,1)]; 9 external \"C\" ext F(x,s,y) annotation(Library=\"libExtF.a\");10 end ext F;11 external \"C\" extIntegerArray(x,s,y) annotation(Library=\"libExtIntegerArrayFunc1_ext.a\"); 12 end extIntegerArray; 11 13 12 14 model A 13 function f14 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)]; 17 19 algorithm 18 out := extF(ins,size(ins,1));19 end f;20 y := extIntegerArray(x,s); 21 end extIntArray; 20 22 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)]; 23 25 24 26 equation 25 {ou1,ou2,ou3,ou4,ou5} = f(ints,integer(time));27 ou1 = extIntArray(ints,size(ints,1)); 26 28 end A;"); 27 29 getErrorString(); 28 30 29 simulate(A, stopTime=10); 31 system("gcc -c -o libExtIntegerArrayFunc1_ext.a ExtIntegerArrayFunc.c"); 32 simulate(A, stopTime=0.1, numberOfIntervals=2); 33 system("valgrind ./A"); 30 34 getErrorString(); 31 35 }}} 36 37 it's the usage of data_of_integer_array in util/inter_array.h that produces memory leaks.