1 %module
"Math::GSL::Sort"
2 /* Danger Will Robinson
! */
5 %include
"gsl_typemaps.i"
7 %typemap
(argout
) (double
* data
, const size_t stride
, const size_t n
) {
12 av_push
(tempav
, newSVnv
((double
) $
1[i
]));
16 $result
= sv_2mortal
( newRV_noinc
( (SV
*) tempav
) );
17 //Perl_sv_dump
($result
);
20 %typemap
(argout
) (double
* dest
, const size_t k
, const gsl_vector
* v
) {
25 av_push
(tempav
, newSVnv
((double
) $
1[i
]));
29 $result
= sv_2mortal
( newRV_noinc
( (SV
*) tempav
) );
33 %typemap
(argout
) (double
* dest
, const size_t k
, const double
* src
, const size_t stride
, const size_t n
) {
37 av_push
(tempav
, newSVnv
((double
) $
1[i
]));
41 $result
= sv_2mortal
( newRV_noinc
( (SV
*) tempav
) );
44 %typemap
(argout
) (size_t
* p
, const size_t k
, const gsl_vector
* v
)
49 av_push
(tempav
, newSVnv
((double
) $
1[i
]));
53 $result
= sv_2mortal
( newRV_noinc
( (SV
*) tempav
) );
57 %typemap
(argout
) (size_t
* p
, const double
* data
, const size_t stride
, const size_t n
)
62 av_push
(tempav
, newSVnv
((size_t
) $
1[i
]));
66 $result
= sv_2mortal
( newRV_noinc
( (SV
*) tempav
) );
70 %typemap
(argout
) (size_t
* p
, const size_t k
, const double
* src
, const size_t stride
, const size_t n
)
75 av_push
(tempav
, newSVnv
((size_t
) $
1[i
]));
79 $result
= sv_2mortal
( newRV_noinc
( (SV
*) tempav
) );
83 %apply double
* { double
*data
, double
*dest
};
86 #include
"gsl/gsl_nan.h"
87 #include
"gsl/gsl_sort.h"
88 #include
"gsl/gsl_sort_double.h"
89 #include
"gsl/gsl_sort_int.h"
90 #include
"gsl/gsl_sort_vector.h"
91 #include
"gsl/gsl_sort_vector_double.h"
92 #include
"gsl/gsl_sort_vector_int.h"
93 #include
"gsl/gsl_permutation.h"
96 %include
"gsl/gsl_nan.h"
97 %include
"gsl/gsl_sort.h"
98 %include
"gsl/gsl_sort_double.h"
99 %include
"gsl/gsl_sort_int.h"
100 %include
"gsl/gsl_sort_vector.h"
101 %include
"gsl/gsl_sort_vector_double.h"
102 %include
"gsl/gsl_sort_vector_int.h"
103 %include
"gsl/gsl_permutation.h"
105 %include
"../pod/Sort.pod"