in reply to Re: Arrays and Inline C (pack)
in thread Arrays and Inline C
This printsuse Inline 'C', <<'END_C' void _munge( char *outlist, int size, char *inlist1, char *inlist2 ) { double *output = (double *) outlist; double *list1 = (double *) inlist1; double *list2 = (double *) inlist2; int i; for( i= 0; i < size; ++i ) { printf("%f %f\n", inlist1[i], inlist2[i]); } } END_C ; my $size = 3; my $out = "\0" x ( $size * length pack "d", 0.0 ); my $pack1 = pack "d$size", 1, 2, 3; my $pack2 = pack "d$size", 4, 5, 6; _munge( $out, $size, $pack1, $pack2 );
I expected it to print the numbers passed in. What happened?0.000000 0.000000 0.000000 0.000000 0.000000 0.000000
|
|---|
| Replies are listed 'Best First'. | |
|---|---|
|
Re^3: Arrays and Inline C (pack)
by tye (Sage) on Jun 23, 2010 at 15:40 UTC |