From 92f6eeb8367a8cb3f6babbefaa38d56ffc877cda Mon Sep 17 00:00:00 2001 From: Duke Leto Date: Wed, 27 May 2009 00:32:34 -0700 Subject: [PATCH] Revert 12da081 --- swig/BLAS.i | 4 ++++ swig/CBLAS.i | 4 ++++ swig/Fit.i | 2 ++ swig/Histogram.i | 2 ++ swig/Histogram2D.i | 3 +++ swig/Interp.i | 2 ++ swig/Linalg.i | 2 ++ swig/Matrix.i | 2 ++ swig/MatrixComplex.i | 2 ++ swig/Multifit.i | 1 + swig/QRNG.i | 5 +++++ swig/Sort.i | 4 ++-- swig/Spline.i | 1 + swig/Statistics.i | 4 ++++ swig/Sum.i | 2 ++ swig/Sys.i | 1 + 16 files changed, 39 insertions(+), 2 deletions(-) diff --git a/swig/BLAS.i b/swig/BLAS.i index fdb61d5..5659fe9 100644 --- a/swig/BLAS.i +++ b/swig/BLAS.i @@ -1,5 +1,9 @@ %module "Math::GSL::BLAS" +%apply float *OUTPUT { float *result }; +%apply double *OUTPUT { double *result }; +%apply double *OUTPUT { double c[], double s[] }; + %include "typemaps.i" %include "gsl_typemaps.i" %include "gsl/gsl_blas.h" diff --git a/swig/CBLAS.i b/swig/CBLAS.i index 560d4fa..056fb93 100644 --- a/swig/CBLAS.i +++ b/swig/CBLAS.i @@ -2,6 +2,10 @@ %include "typemaps.i" %include "gsl_typemaps.i" +%apply float [] { float *C }; +%apply double const [] { const double * }; +%apply float const [] { const float * }; + %{ #include "gsl/gsl_cblas.h" %} diff --git a/swig/Fit.i b/swig/Fit.i index d3d605d..09542db 100644 --- a/swig/Fit.i +++ b/swig/Fit.i @@ -2,6 +2,8 @@ %include "typemaps.i" %include "gsl_typemaps.i" +%apply double *OUTPUT { double * c0, double * c1, double * cov00, double * cov01, double * cov11, double * sumsq, double * chisq }; + %{ #include "gsl/gsl_fit.h" %} diff --git a/swig/Histogram.i b/swig/Histogram.i index 8d513b2..dca65ab 100644 --- a/swig/Histogram.i +++ b/swig/Histogram.i @@ -2,6 +2,8 @@ %include "typemaps.i" %include "gsl_typemaps.i" +%apply double *OUTPUT { double * lower, double * upper, size_t * i}; + %{ #include "gsl/gsl_histogram.h" %} diff --git a/swig/Histogram2D.i b/swig/Histogram2D.i index 12a5cc7..aec3a93 100644 --- a/swig/Histogram2D.i +++ b/swig/Histogram2D.i @@ -2,6 +2,9 @@ %include "typemaps.i" %include "gsl_typemaps.i" +%apply double *OUTPUT { double * xlower, double * xupper, double * ylower, double * yupper, double * x, double * y}; +%apply int *OUTPUT { size_t * i, size_t * j }; + %{ #include "gsl/gsl_histogram2d.h" %} diff --git a/swig/Interp.i b/swig/Interp.i index 17838b9..235226a 100644 --- a/swig/Interp.i +++ b/swig/Interp.i @@ -3,6 +3,8 @@ %include "typemaps.i" %include "gsl_typemaps.i" +%apply double *OUTPUT { double * y, double * d, double * d2, double * result }; + %{ #include "gsl/gsl_types.h" #include "gsl/gsl_interp.h" diff --git a/swig/Linalg.i b/swig/Linalg.i index 9cfd63d..f31b9f9 100644 --- a/swig/Linalg.i +++ b/swig/Linalg.i @@ -1,6 +1,8 @@ %module "Math::GSL::Linalg" %include "gsl_typemaps.i" +%apply int *OUTPUT { int *signum }; + %{ #include "gsl/gsl_linalg.h" #include "gsl/gsl_permutation.h" diff --git a/swig/Matrix.i b/swig/Matrix.i index f75124f..7c4d563 100644 --- a/swig/Matrix.i +++ b/swig/Matrix.i @@ -3,6 +3,8 @@ %include "typemaps.i" %include "gsl_typemaps.i" +%apply int *OUTPUT { size_t *imin, size_t *imax, size_t *jmin, size_t *jmax }; +%apply double *OUTPUT { double * min_out, double * max_out }; %{ #include "gsl/gsl_matrix.h" diff --git a/swig/MatrixComplex.i b/swig/MatrixComplex.i index 11061a8..cf3148e 100644 --- a/swig/MatrixComplex.i +++ b/swig/MatrixComplex.i @@ -3,6 +3,8 @@ %include "typemaps.i" %include "gsl_typemaps.i" +%apply int *OUTPUT { size_t *imin, size_t *imax, size_t *jmin, size_t *jmax }; +%apply double *OUTPUT { double * min_out, double * max_out }; %{ #include "gsl/gsl_matrix.h" diff --git a/swig/Multifit.i b/swig/Multifit.i index 0a3aa08..000b5f2 100644 --- a/swig/Multifit.i +++ b/swig/Multifit.i @@ -2,6 +2,7 @@ %include "typemaps.i" %include "gsl_typemaps.i" +%apply double *OUTPUT { double * y, double * y_err, double * chisq, size_t * rank}; %{ #include "gsl/gsl_types.h" diff --git a/swig/QRNG.i b/swig/QRNG.i index ff9dbd5..b88b8e2 100644 --- a/swig/QRNG.i +++ b/swig/QRNG.i @@ -5,6 +5,11 @@ %apply double *OUTPUT { double x[] }; %typemap(argout) double x[] { + AV *tempav; + I32 len; + int i; + SV **tv; + if (argvi >= items) { EXTEND(sp,1); } diff --git a/swig/Sort.i b/swig/Sort.i index 6889d75..822ba1e 100644 --- a/swig/Sort.i +++ b/swig/Sort.i @@ -59,7 +59,7 @@ int i=0; AV* tempav = newAV(); while( i < $4 ) { - av_push(tempav, newSVnv((double) $1[i])); + av_push(tempav, newSVnv((size_t) $1[i])); i++; } @@ -72,7 +72,7 @@ int i=0; AV* tempav = newAV(); while( i < $2 ) { - av_push(tempav, newSVnv((double) $1[i])); + av_push(tempav, newSVnv((size_t) $1[i])); i++; } diff --git a/swig/Spline.i b/swig/Spline.i index 1544434..6aa939d 100644 --- a/swig/Spline.i +++ b/swig/Spline.i @@ -2,6 +2,7 @@ %include "typemaps.i" %include "gsl_typemaps.i" +%apply double *OUTPUT { double * y, double * d, double * d2, double * result }; %{ #include "gsl/gsl_spline.h" diff --git a/swig/Statistics.i b/swig/Statistics.i index 96e70ec..a43f0ad 100644 --- a/swig/Statistics.i +++ b/swig/Statistics.i @@ -3,6 +3,10 @@ %include "typemaps.i" %include "gsl_typemaps.i" +%apply double *OUTPUT { double * min, double * max }; + +%apply int *OUTPUT { size_t * min_index, size_t * max_index }; + %{ #include "gsl/gsl_statistics_double.h" #include "gsl/gsl_statistics_int.h" diff --git a/swig/Sum.i b/swig/Sum.i index ab65792..dd3ee89 100644 --- a/swig/Sum.i +++ b/swig/Sum.i @@ -1,6 +1,8 @@ %module "Math::GSL::Sum" %include "gsl_typemaps.i" +%apply double *OUTPUT { double * sum_accel, double * abserr, double * abserr_trunc }; + %{ #include "gsl/gsl_sum.h" %} diff --git a/swig/Sys.i b/swig/Sys.i index 3074d30..e6301ba 100644 --- a/swig/Sys.i +++ b/swig/Sys.i @@ -2,6 +2,7 @@ %include "typemaps.i" %include "gsl_typemaps.i" +%apply int *OUTPUT { int * e }; %{ #include "gsl/gsl_sys.h" -- 2.11.4.GIT