Cleanup Deriv for merge.
[Math-GSL.git] / gsl_typemaps.i
blob7ac0e42000ef5520c2cb3dbee7bf2d394d36615c
2 %typemap(in) double const [] {
3 AV *tempav;
4 I32 len;
5 int i;
6 SV **tv;
7 if (!SvROK($input))
8 croak("Math::GSL : $input is not a reference!");
9 if (SvTYPE(SvRV($input)) != SVt_PVAV)
10 croak("Math::GSL : $input is not an array ref!");
12 tempav = (AV*)SvRV($input);
13 len = av_len(tempav);
14 $1 = (double *) malloc((len+1)*sizeof(double));
15 for (i = 0; i <= len; i++) {
16 tv = av_fetch(tempav, i, 0);
17 $1[i] = (double) SvNV(*tv);
22 %apply double const [] { double *data, double *dest, double *f_in, double *f_out, double data[] };
23 %apply double const [] { double x[], double a[], double b[] };
24 %apply double const [] { const double * x, const double * y, const double * w };
25 %apply double const [] { const double x_array[], const double xrange[], const double yrange[]};
26 %apply double const [] { double * base, const double * base};
27 %apply double const [] { const double xrange[], const double yrange[] };
28 %apply double const [] { const double * array };