1 %module
"Math::GSL::Randist"
4 void gsl_ran_dir_2d
(const gsl_rng
* r
, double
*OUTPUT, double
*OUTPUT);
5 void gsl_ran_dir_2d_trig_method
(const gsl_rng
* r
, double
*OUTPUT, double
*OUTPUT);
6 void gsl_ran_dir_3d
(const gsl_rng
* r
, double
*OUTPUT, double
*OUTPUT, double
*OUTPUT);
7 void gsl_ran_bivariate_gaussian
(const gsl_rng
* r
, double sigma_x
, double sigma_y
, double rho
, double
*OUTPUT, double
*OUTPUT);
16 croak
("Argument $argnum is not a reference.");
17 if
(SvTYPE
(SvRV
($input
)) != SVt_PVAV
)
18 croak
("Argument $argnum is not an array.");
20 tempav
= (AV
*)SvRV
($input
);
22 $
1 = (int
**) malloc
((len
+2)*sizeof
(int
*));
23 for
(i
= 0; i
<= len
; i
++) {
24 tv
= av_fetch
(tempav
, i
, 0);
26 memset
((int
*)($
1+i
), x
, 1);
27 //printf
("curr = %d\n", (int
)($
1+i
) );
30 %typemap
(freearg
) void
* {
35 #include
"gsl/gsl_randist.h"
37 %include
"gsl/gsl_randist.h"
38 %include
"../pod/Randist.pod"