1 %module
"Math::GSL::Sort"
2 /* Danger Will Robinson
! */
5 %include
"gsl_typemaps.i"
8 %typemap
(argout
) (double
* data
, const size_t stride
, const size_t n
) {
13 av_push
(tempav
, newSVnv
((double
) $
1[i
]));
17 $result
= sv_2mortal
( newRV_noinc
( (SV
*) tempav
) );
18 //Perl_sv_dump
($result
);
21 %typemap
(argout
) (double
* dest
, const size_t k
, const gsl_vector
* v
) {
26 av_push
(tempav
, newSVnv
((double
) $
1[i
]));
30 $result
= sv_2mortal
( newRV_noinc
( (SV
*) tempav
) );
34 %typemap
(argout
) (double
* dest
, const size_t k
, const double
* src
, const size_t stride
, const size_t n
) {
38 av_push
(tempav
, newSVnv
((double
) $
1[i
]));
42 $result
= sv_2mortal
( newRV_noinc
( (SV
*) tempav
) );
45 %typemap
(argout
) (size_t
* p
, const size_t k
, const gsl_vector
* v
)
50 av_push
(tempav
, newSVnv
((double
) $
1[i
]));
54 $result
= sv_2mortal
( newRV_noinc
( (SV
*) tempav
) );
58 %typemap
(argout
) (size_t
* p
, const double
* data
, const size_t stride
, const size_t n
)
63 av_push
(tempav
, newSVnv
((size_t
) $
1[i
]));
67 $result
= sv_2mortal
( newRV_noinc
( (SV
*) tempav
) );
71 %typemap
(argout
) (size_t
* p
, const size_t k
, const double
* src
, const size_t stride
, const size_t n
)
76 av_push
(tempav
, newSVnv
((size_t
) $
1[i
]));
80 $result
= sv_2mortal
( newRV_noinc
( (SV
*) tempav
) );
84 %apply double
* { double
*data
, double
*dest
};
87 #include
"gsl/gsl_nan.h"
88 #include
"gsl/gsl_sort.h"
89 #include
"gsl/gsl_sort_double.h"
90 #include
"gsl/gsl_sort_int.h"
91 #include
"gsl/gsl_sort_vector.h"
92 #include
"gsl/gsl_sort_vector_double.h"
93 #include
"gsl/gsl_sort_vector_int.h"
94 #include
"gsl/gsl_permutation.h"
96 #if GSL_MINOR_VERSION
== 12
97 %import
"gsl/gsl_inline.h"
100 %include
"gsl/gsl_nan.h"
101 %include
"gsl/gsl_sort.h"
102 %include
"gsl/gsl_sort_double.h"
103 %include
"gsl/gsl_sort_int.h"
104 %include
"gsl/gsl_sort_vector.h"
105 %include
"gsl/gsl_sort_vector_double.h"
106 %include
"gsl/gsl_sort_vector_int.h"
107 %include
"gsl/gsl_permutation.h"
109 %include
"../pod/Sort.pod"