gsl 1.15.3 → 1.16.0.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +7 -0
- data/.gitignore +12 -0
- data/.travis.yml +24 -0
- data/AUTHORS +10 -2
- data/COPYING +341 -339
- data/ChangeLog +612 -554
- data/Gemfile +4 -0
- data/README.md +77 -0
- data/Rakefile +14 -93
- data/THANKS +1 -1
- data/examples/blas/blas.rb +1 -1
- data/examples/bspline.rb +3 -3
- data/examples/complex/functions.rb +4 -4
- data/examples/complex/mul.rb +1 -1
- data/examples/const/physconst.rb +4 -4
- data/examples/const/travel.rb +4 -4
- data/examples/eigen/nonsymmv.rb +1 -1
- data/examples/eigen/qhoscillator.rb +3 -3
- data/examples/fft/radix2.rb +1 -1
- data/examples/fft/real-halfcomplex.rb +3 -3
- data/examples/fft/real-halfcomplex2.rb +3 -3
- data/examples/fit/expfit.rb +1 -1
- data/examples/fit/multifit.rb +1 -1
- data/examples/fit/ndlinear.rb +44 -44
- data/examples/fit/nonlinearfit.rb +1 -1
- data/examples/fit/wlinear.rb +3 -3
- data/examples/function/function.rb +1 -1
- data/examples/function/min.rb +1 -1
- data/examples/function/synchrotron.rb +2 -2
- data/examples/gallery/koch.rb +1 -1
- data/examples/histogram/cauchy.rb +2 -2
- data/examples/histogram/exponential.rb +1 -1
- data/examples/histogram/histo3d.rb +1 -1
- data/examples/histogram/histogram-pdf.rb +2 -2
- data/examples/histogram/xexp.rb +1 -1
- data/examples/integration/ahmed.rb +2 -2
- data/examples/integration/cosmology.rb +7 -7
- data/examples/integration/friedmann.rb +4 -4
- data/examples/integration/qng.rb +1 -1
- data/examples/interp/demo.rb +2 -2
- data/examples/linalg/LQ_solve.rb +1 -1
- data/examples/linalg/LU.rb +1 -1
- data/examples/linalg/LU2.rb +1 -1
- data/examples/linalg/LU_narray.rb +1 -1
- data/examples/linalg/PTLQ.rb +1 -1
- data/examples/linalg/QRPT.rb +1 -1
- data/examples/linalg/chol.rb +1 -1
- data/examples/linalg/chol_narray.rb +1 -1
- data/examples/linalg/complex.rb +1 -1
- data/examples/math/elementary.rb +1 -1
- data/examples/math/functions.rb +1 -1
- data/examples/math/inf_nan.rb +1 -1
- data/examples/math/minmax.rb +1 -1
- data/examples/math/power.rb +1 -1
- data/examples/math/test.rb +1 -1
- data/examples/min.rb +1 -1
- data/examples/multimin/bundle.rb +1 -1
- data/examples/multimin/cqp.rb +17 -17
- data/examples/multiroot/fsolver3.rb +1 -1
- data/examples/odeiv/binarysystem.rb +12 -12
- data/examples/odeiv/demo.rb +3 -3
- data/examples/odeiv/frei1.rb +7 -7
- data/examples/odeiv/frei2.rb +4 -4
- data/examples/odeiv/oscillator.rb +1 -1
- data/examples/odeiv/sedov.rb +3 -3
- data/examples/odeiv/whitedwarf.rb +11 -11
- data/examples/permutation/ex1.rb +2 -2
- data/examples/permutation/permutation.rb +1 -1
- data/examples/poly/demo.rb +1 -1
- data/examples/random/diffusion.rb +1 -1
- data/examples/random/generator.rb +2 -2
- data/examples/random/randomwalk.rb +3 -3
- data/examples/random/rng.rb +1 -1
- data/examples/roots/bisection.rb +1 -1
- data/examples/roots/brent.rb +1 -1
- data/examples/roots/demo.rb +1 -1
- data/examples/roots/newton.rb +2 -2
- data/examples/roots/recombination.gp +0 -1
- data/examples/sf/hyperg.rb +1 -1
- data/examples/sf/sphbessel.rb +1 -1
- data/examples/sort/sort.rb +1 -1
- data/examples/tamu_anova.rb +4 -4
- data/examples/vector/add.rb +1 -1
- data/examples/vector/decimate.rb +1 -1
- data/examples/vector/gnuplot.rb +8 -8
- data/examples/vector/vector.rb +2 -2
- data/examples/wavelet/wavelet1.rb +1 -1
- data/ext/{alf.c → gsl_native/alf.c} +10 -10
- data/ext/{array.c → gsl_native/array.c} +70 -159
- data/ext/{array_complex.c → gsl_native/array_complex.c} +63 -66
- data/ext/{blas.c → gsl_native/blas.c} +2 -3
- data/ext/{blas1.c → gsl_native/blas1.c} +35 -36
- data/ext/{blas2.c → gsl_native/blas2.c} +57 -62
- data/ext/{blas3.c → gsl_native/blas3.c} +57 -58
- data/ext/{block.c → gsl_native/block.c} +14 -18
- data/ext/{block_source.c → gsl_native/block_source.h} +110 -112
- data/ext/gsl_native/bspline.c +122 -0
- data/ext/{bundle.c → gsl_native/bundle.c} +0 -0
- data/ext/{cdf.c → gsl_native/cdf.c} +79 -93
- data/ext/{cheb.c → gsl_native/cheb.c} +78 -89
- data/ext/{combination.c → gsl_native/combination.c} +11 -19
- data/ext/{common.c → gsl_native/common.c} +9 -41
- data/ext/{complex.c → gsl_native/complex.c} +116 -118
- data/ext/gsl_native/const.c +331 -0
- data/ext/{const_additional.c → gsl_native/const_additional.c} +13 -34
- data/ext/gsl_native/cqp.c +283 -0
- data/ext/{deriv.c → gsl_native/deriv.c} +25 -33
- data/ext/{dht.c → gsl_native/dht.c} +23 -31
- data/ext/{diff.c → gsl_native/diff.c} +26 -28
- data/ext/{dirac.c → gsl_native/dirac.c} +45 -46
- data/ext/{eigen.c → gsl_native/eigen.c} +1044 -1095
- data/ext/{error.c → gsl_native/error.c} +18 -18
- data/ext/gsl_native/extconf.rb +118 -0
- data/ext/{fft.c → gsl_native/fft.c} +197 -204
- data/ext/{fit.c → gsl_native/fit.c} +17 -18
- data/ext/gsl_native/fresnel.c +312 -0
- data/ext/{function.c → gsl_native/function.c} +37 -43
- data/ext/{geometry.c → gsl_native/geometry.c} +16 -16
- data/ext/{graph.c → gsl_native/graph.c} +39 -89
- data/ext/{gsl.c → gsl_native/gsl.c} +12 -33
- data/ext/{gsl_narray.c → gsl_native/gsl_narray.c} +20 -30
- data/ext/{histogram.c → gsl_native/histogram.c} +133 -160
- data/ext/{histogram2d.c → gsl_native/histogram2d.c} +78 -104
- data/ext/{histogram3d.c → gsl_native/histogram3d.c} +76 -76
- data/ext/{histogram3d_source.c → gsl_native/histogram3d_source.c} +196 -197
- data/ext/{histogram_find.c → gsl_native/histogram_find.c} +32 -34
- data/ext/{histogram_oper.c → gsl_native/histogram_oper.c} +43 -52
- data/ext/{ieee.c → gsl_native/ieee.c} +9 -21
- data/{include → ext/gsl_native/include}/rb_gsl.h +4 -26
- data/{include → ext/gsl_native/include}/rb_gsl_array.h +15 -39
- data/{include → ext/gsl_native/include}/rb_gsl_cheb.h +0 -2
- data/{include → ext/gsl_native/include}/rb_gsl_common.h +61 -61
- data/{include → ext/gsl_native/include}/rb_gsl_complex.h +1 -1
- data/{include → ext/gsl_native/include}/rb_gsl_const.h +0 -6
- data/ext/gsl_native/include/rb_gsl_dirac.h +6 -0
- data/{include → ext/gsl_native/include}/rb_gsl_eigen.h +1 -1
- data/{include → ext/gsl_native/include}/rb_gsl_fft.h +0 -13
- data/{include → ext/gsl_native/include}/rb_gsl_fit.h +0 -2
- data/{include → ext/gsl_native/include}/rb_gsl_function.h +0 -4
- data/{include → ext/gsl_native/include}/rb_gsl_graph.h +2 -4
- data/{include → ext/gsl_native/include}/rb_gsl_histogram.h +8 -8
- data/{include → ext/gsl_native/include}/rb_gsl_histogram3d.h +50 -50
- data/{include → ext/gsl_native/include}/rb_gsl_integration.h +1 -1
- data/{include → ext/gsl_native/include}/rb_gsl_interp.h +0 -5
- data/{include → ext/gsl_native/include}/rb_gsl_linalg.h +2 -6
- data/{include → ext/gsl_native/include}/rb_gsl_math.h +0 -6
- data/{include → ext/gsl_native/include}/rb_gsl_odeiv.h +0 -3
- data/{include → ext/gsl_native/include}/rb_gsl_poly.h +3 -7
- data/{include → ext/gsl_native/include}/rb_gsl_rational.h +1 -8
- data/{include → ext/gsl_native/include}/rb_gsl_rng.h +0 -1
- data/{include → ext/gsl_native/include}/rb_gsl_root.h +1 -1
- data/{include → ext/gsl_native/include}/rb_gsl_sf.h +39 -48
- data/{include → ext/gsl_native/include}/rb_gsl_statistics.h +1 -1
- data/{include → ext/gsl_native/include}/rb_gsl_tensor.h +0 -2
- data/{include → ext/gsl_native/include}/rb_gsl_with_narray.h +3 -1
- data/{include → ext/gsl_native/include}/templates_off.h +0 -0
- data/{include → ext/gsl_native/include}/templates_on.h +1 -1
- data/ext/{integration.c → gsl_native/integration.c} +164 -189
- data/ext/{interp.c → gsl_native/interp.c} +25 -38
- data/ext/gsl_native/jacobi.c +733 -0
- data/ext/{linalg.c → gsl_native/linalg.c} +462 -589
- data/ext/{linalg_complex.c → gsl_native/linalg_complex.c} +93 -106
- data/ext/{math.c → gsl_native/math.c} +48 -67
- data/ext/{matrix.c → gsl_native/matrix.c} +13 -16
- data/ext/{matrix_complex.c → gsl_native/matrix_complex.c} +119 -123
- data/ext/{matrix_double.c → gsl_native/matrix_double.c} +79 -82
- data/ext/{matrix_int.c → gsl_native/matrix_int.c} +53 -54
- data/ext/{matrix_source.c → gsl_native/matrix_source.h} +292 -318
- data/ext/{min.c → gsl_native/min.c} +45 -76
- data/ext/{monte.c → gsl_native/monte.c} +50 -64
- data/ext/{multifit.c → gsl_native/multifit.c} +142 -151
- data/ext/{multimin.c → gsl_native/multimin.c} +64 -92
- data/ext/{multimin_fsdf.c → gsl_native/multimin_fsdf.c} +16 -16
- data/ext/{multiroots.c → gsl_native/multiroots.c} +73 -76
- data/ext/{multiset.c → gsl_native/multiset.c} +4 -8
- data/ext/{ndlinear.c → gsl_native/ndlinear.c} +320 -321
- data/ext/{nmf.c → gsl_native/nmf.c} +11 -11
- data/ext/{nmf_wrap.c → gsl_native/nmf_wrap.c} +1 -1
- data/ext/{ntuple.c → gsl_native/ntuple.c} +23 -23
- data/ext/{odeiv.c → gsl_native/odeiv.c} +101 -116
- data/ext/gsl_native/ool.c +879 -0
- data/ext/{permutation.c → gsl_native/permutation.c} +39 -37
- data/ext/{poly.c → gsl_native/poly.c} +10 -13
- data/ext/{poly2.c → gsl_native/poly2.c} +16 -16
- data/ext/{poly_source.c → gsl_native/poly_source.h} +249 -293
- data/ext/{qrng.c → gsl_native/qrng.c} +9 -20
- data/ext/{randist.c → gsl_native/randist.c} +222 -247
- data/ext/{rational.c → gsl_native/rational.c} +12 -12
- data/ext/{rng.c → gsl_native/rng.c} +30 -47
- data/ext/{root.c → gsl_native/root.c} +47 -48
- data/ext/{sf.c → gsl_native/sf.c} +196 -244
- data/ext/{sf_airy.c → gsl_native/sf_airy.c} +2 -2
- data/ext/{sf_bessel.c → gsl_native/sf_bessel.c} +7 -7
- data/ext/{sf_clausen.c → gsl_native/sf_clausen.c} +1 -1
- data/ext/{sf_coulomb.c → gsl_native/sf_coulomb.c} +40 -40
- data/ext/{sf_coupling.c → gsl_native/sf_coupling.c} +30 -30
- data/ext/{sf_dawson.c → gsl_native/sf_dawson.c} +1 -1
- data/ext/{sf_debye.c → gsl_native/sf_debye.c} +1 -10
- data/ext/{sf_dilog.c → gsl_native/sf_dilog.c} +1 -1
- data/ext/{sf_elementary.c → gsl_native/sf_elementary.c} +3 -3
- data/ext/{sf_ellint.c → gsl_native/sf_ellint.c} +43 -43
- data/ext/{sf_elljac.c → gsl_native/sf_elljac.c} +3 -3
- data/ext/{sf_erfc.c → gsl_native/sf_erfc.c} +1 -5
- data/ext/{sf_exp.c → gsl_native/sf_exp.c} +3 -3
- data/ext/{sf_expint.c → gsl_native/sf_expint.c} +2 -12
- data/ext/{sf_fermi_dirac.c → gsl_native/sf_fermi_dirac.c} +1 -1
- data/ext/{sf_gamma.c → gsl_native/sf_gamma.c} +2 -6
- data/ext/{sf_gegenbauer.c → gsl_native/sf_gegenbauer.c} +1 -1
- data/ext/{sf_hyperg.c → gsl_native/sf_hyperg.c} +1 -1
- data/ext/{sf_laguerre.c → gsl_native/sf_laguerre.c} +4 -4
- data/ext/{sf_lambert.c → gsl_native/sf_lambert.c} +1 -1
- data/ext/{sf_legendre.c → gsl_native/sf_legendre.c} +1 -1
- data/ext/{sf_log.c → gsl_native/sf_log.c} +4 -4
- data/ext/gsl_native/sf_mathieu.c +235 -0
- data/ext/{sf_power.c → gsl_native/sf_power.c} +1 -1
- data/ext/{sf_psi.c → gsl_native/sf_psi.c} +3 -12
- data/ext/{sf_synchrotron.c → gsl_native/sf_synchrotron.c} +1 -1
- data/ext/{sf_transport.c → gsl_native/sf_transport.c} +1 -1
- data/ext/{sf_trigonometric.c → gsl_native/sf_trigonometric.c} +4 -4
- data/ext/{sf_zeta.c → gsl_native/sf_zeta.c} +1 -5
- data/ext/{signal.c → gsl_native/signal.c} +63 -68
- data/ext/{siman.c → gsl_native/siman.c} +45 -49
- data/ext/{sort.c → gsl_native/sort.c} +6 -7
- data/ext/{spline.c → gsl_native/spline.c} +28 -46
- data/ext/{stats.c → gsl_native/stats.c} +105 -118
- data/ext/{sum.c → gsl_native/sum.c} +34 -34
- data/ext/{tamu_anova.c → gsl_native/tamu_anova.c} +1 -1
- data/ext/{tensor.c → gsl_native/tensor.c} +8 -11
- data/ext/{tensor_source.c → gsl_native/tensor_source.h} +147 -148
- data/ext/{vector.c → gsl_native/vector.c} +11 -14
- data/ext/{vector_complex.c → gsl_native/vector_complex.c} +179 -184
- data/ext/{vector_double.c → gsl_native/vector_double.c} +178 -183
- data/ext/{vector_int.c → gsl_native/vector_int.c} +27 -29
- data/ext/{vector_source.c → gsl_native/vector_source.h} +428 -443
- data/ext/{wavelet.c → gsl_native/wavelet.c} +224 -246
- data/gsl.gemspec +29 -0
- data/lib/gsl.rb +8 -3
- data/lib/gsl/gnuplot.rb +3 -3
- data/lib/gsl/oper.rb +35 -60
- data/lib/gsl/version.rb +3 -0
- data/lib/rbgsl.rb +1 -3
- data/rdoc/alf.rdoc +5 -5
- data/rdoc/blas.rdoc +9 -9
- data/rdoc/bspline.rdoc +17 -17
- data/rdoc/changes.rdoc +4 -9
- data/rdoc/cheb.rdoc +25 -25
- data/rdoc/cholesky_complex.rdoc +21 -21
- data/rdoc/combi.rdoc +37 -37
- data/rdoc/complex.rdoc +22 -22
- data/rdoc/const.rdoc +47 -47
- data/rdoc/dht.rdoc +49 -49
- data/rdoc/diff.rdoc +42 -42
- data/rdoc/ehandling.rdoc +6 -6
- data/rdoc/eigen.rdoc +153 -153
- data/rdoc/fft.rdoc +146 -146
- data/rdoc/fit.rdoc +109 -109
- data/rdoc/function.rdoc +11 -11
- data/rdoc/graph.rdoc +17 -17
- data/rdoc/hist.rdoc +103 -103
- data/rdoc/hist2d.rdoc +42 -42
- data/rdoc/hist3d.rdoc +9 -9
- data/rdoc/integration.rdoc +110 -110
- data/rdoc/interp.rdoc +71 -71
- data/rdoc/intro.rdoc +8 -8
- data/rdoc/linalg.rdoc +188 -188
- data/rdoc/linalg_complex.rdoc +1 -1
- data/rdoc/math.rdoc +58 -58
- data/rdoc/matrix.rdoc +275 -275
- data/rdoc/min.rdoc +57 -57
- data/rdoc/monte.rdoc +22 -22
- data/rdoc/multimin.rdoc +95 -95
- data/rdoc/multiroot.rdoc +80 -80
- data/rdoc/narray.rdoc +32 -32
- data/rdoc/ndlinear.rdoc +54 -54
- data/rdoc/nonlinearfit.rdoc +100 -100
- data/rdoc/ntuple.rdoc +31 -31
- data/rdoc/odeiv.rdoc +88 -88
- data/rdoc/perm.rdoc +90 -90
- data/rdoc/poly.rdoc +66 -66
- data/rdoc/qrng.rdoc +21 -21
- data/rdoc/randist.rdoc +82 -82
- data/rdoc/ref.rdoc +57 -57
- data/rdoc/rng.rdoc +85 -85
- data/rdoc/roots.rdoc +57 -57
- data/rdoc/sf.rdoc +428 -428
- data/rdoc/siman.rdoc +19 -19
- data/rdoc/sort.rdoc +30 -30
- data/rdoc/start.rdoc +8 -8
- data/rdoc/stats.rdoc +52 -52
- data/rdoc/sum.rdoc +12 -12
- data/rdoc/tensor.rdoc +31 -31
- data/rdoc/tut.rdoc +1 -1
- data/rdoc/use.rdoc +39 -39
- data/rdoc/vector.rdoc +188 -188
- data/rdoc/vector_complex.rdoc +24 -24
- data/rdoc/wavelet.rdoc +46 -46
- data/test/gsl/blas_test.rb +79 -0
- data/test/gsl/bspline_test.rb +63 -0
- data/test/gsl/cdf_test.rb +1512 -0
- data/test/gsl/cheb_test.rb +80 -0
- data/test/gsl/combination_test.rb +100 -0
- data/test/gsl/complex_test.rb +20 -0
- data/test/gsl/const_test.rb +29 -0
- data/test/gsl/deriv_test.rb +62 -0
- data/test/gsl/dht_test.rb +79 -0
- data/test/gsl/diff_test.rb +53 -0
- data/test/gsl/eigen_test.rb +563 -0
- data/test/gsl/err_test.rb +23 -0
- data/test/gsl/fit_test.rb +101 -0
- data/test/gsl/histo_test.rb +14 -0
- data/test/gsl/index_test.rb +61 -0
- data/test/gsl/integration_test.rb +274 -0
- data/test/gsl/interp_test.rb +27 -0
- data/test/gsl/linalg_test.rb +463 -0
- data/test/gsl/matrix_nmf_test.rb +37 -0
- data/test/gsl/matrix_test.rb +98 -0
- data/test/gsl/min_test.rb +89 -0
- data/test/gsl/monte_test.rb +77 -0
- data/test/gsl/multifit_test.rb +753 -0
- data/test/gsl/multimin_test.rb +157 -0
- data/test/gsl/multiroot_test.rb +135 -0
- data/test/gsl/multiset_test.rb +52 -0
- data/test/gsl/odeiv_test.rb +275 -0
- data/test/gsl/oper_test.rb +98 -0
- data/test/gsl/poly_test.rb +338 -0
- data/test/gsl/qrng_test.rb +94 -0
- data/test/gsl/quartic_test.rb +28 -0
- data/test/gsl/randist_test.rb +122 -0
- data/test/gsl/rng_test.rb +303 -0
- data/test/gsl/roots_test.rb +78 -0
- data/test/gsl/sf_test.rb +2079 -0
- data/test/gsl/stats_test.rb +122 -0
- data/test/gsl/sum_test.rb +69 -0
- data/test/gsl/tensor_test.rb +396 -0
- data/test/gsl/vector_test.rb +223 -0
- data/test/gsl/wavelet_test.rb +130 -0
- data/test/gsl_test.rb +321 -0
- data/test/test_helper.rb +42 -0
- data/uncrustify.cfg +1693 -0
- metadata +337 -378
- data/README +0 -32
- data/VERSION +0 -1
- data/ext/bspline.c +0 -130
- data/ext/const.c +0 -673
- data/ext/cqp.c +0 -283
- data/ext/extconf.rb +0 -295
- data/ext/fcmp.c +0 -66
- data/ext/fresnel.c +0 -312
- data/ext/jacobi.c +0 -739
- data/ext/ool.c +0 -879
- data/ext/oper_complex_source.c +0 -253
- data/ext/sf_mathieu.c +0 -238
- data/include/rb_gsl_config.h +0 -62
- data/include/rb_gsl_dirac.h +0 -13
- data/rdoc/index.rdoc +0 -62
- data/rdoc/rngextra.rdoc +0 -11
- data/rdoc/screenshot.rdoc +0 -40
- data/setup.rb +0 -1585
- data/tests/blas/amax.rb +0 -14
- data/tests/blas/asum.rb +0 -16
- data/tests/blas/axpy.rb +0 -25
- data/tests/blas/copy.rb +0 -23
- data/tests/blas/dot.rb +0 -23
- data/tests/bspline.rb +0 -53
- data/tests/cdf.rb +0 -1388
- data/tests/cheb.rb +0 -112
- data/tests/combination.rb +0 -123
- data/tests/complex.rb +0 -17
- data/tests/const.rb +0 -24
- data/tests/deriv.rb +0 -85
- data/tests/dht/dht1.rb +0 -17
- data/tests/dht/dht2.rb +0 -23
- data/tests/dht/dht3.rb +0 -23
- data/tests/dht/dht4.rb +0 -23
- data/tests/diff.rb +0 -78
- data/tests/eigen/eigen.rb +0 -220
- data/tests/eigen/gen.rb +0 -105
- data/tests/eigen/genherm.rb +0 -66
- data/tests/eigen/gensymm.rb +0 -68
- data/tests/eigen/nonsymm.rb +0 -53
- data/tests/eigen/nonsymmv.rb +0 -53
- data/tests/eigen/symm-herm.rb +0 -74
- data/tests/err.rb +0 -58
- data/tests/fit.rb +0 -124
- data/tests/gsl_test.rb +0 -118
- data/tests/gsl_test2.rb +0 -110
- data/tests/histo.rb +0 -12
- data/tests/integration/integration1.rb +0 -72
- data/tests/integration/integration2.rb +0 -71
- data/tests/integration/integration3.rb +0 -71
- data/tests/integration/integration4.rb +0 -71
- data/tests/interp.rb +0 -45
- data/tests/linalg/HH.rb +0 -64
- data/tests/linalg/LU.rb +0 -47
- data/tests/linalg/QR.rb +0 -77
- data/tests/linalg/SV.rb +0 -24
- data/tests/linalg/TDN.rb +0 -116
- data/tests/linalg/TDS.rb +0 -122
- data/tests/linalg/bidiag.rb +0 -73
- data/tests/linalg/cholesky.rb +0 -20
- data/tests/linalg/linalg.rb +0 -158
- data/tests/matrix/matrix_complex_test.rb +0 -36
- data/tests/matrix/matrix_nmf_test.rb +0 -39
- data/tests/matrix/matrix_test.rb +0 -48
- data/tests/min.rb +0 -99
- data/tests/monte/miser.rb +0 -31
- data/tests/monte/vegas.rb +0 -45
- data/tests/multifit/test_2dgauss.rb +0 -112
- data/tests/multifit/test_brown.rb +0 -90
- data/tests/multifit/test_enso.rb +0 -246
- data/tests/multifit/test_filip.rb +0 -155
- data/tests/multifit/test_gauss.rb +0 -97
- data/tests/multifit/test_longley.rb +0 -110
- data/tests/multifit/test_multifit.rb +0 -52
- data/tests/multimin.rb +0 -139
- data/tests/multiroot.rb +0 -131
- data/tests/multiset.rb +0 -52
- data/tests/narray/blas_dnrm2.rb +0 -20
- data/tests/odeiv.rb +0 -353
- data/tests/poly/poly.rb +0 -290
- data/tests/poly/special.rb +0 -65
- data/tests/qrng.rb +0 -131
- data/tests/quartic.rb +0 -29
- data/tests/randist.rb +0 -134
- data/tests/rng.rb +0 -305
- data/tests/roots.rb +0 -76
- data/tests/run-test.sh +0 -17
- data/tests/sf/gsl_test_sf.rb +0 -249
- data/tests/sf/test_airy.rb +0 -83
- data/tests/sf/test_bessel.rb +0 -306
- data/tests/sf/test_coulomb.rb +0 -17
- data/tests/sf/test_dilog.rb +0 -25
- data/tests/sf/test_gamma.rb +0 -209
- data/tests/sf/test_hyperg.rb +0 -356
- data/tests/sf/test_legendre.rb +0 -227
- data/tests/sf/test_mathieu.rb +0 -59
- data/tests/sf/test_mode.rb +0 -19
- data/tests/sf/test_sf.rb +0 -839
- data/tests/stats.rb +0 -174
- data/tests/stats_mt.rb +0 -16
- data/tests/sum.rb +0 -98
- data/tests/sys.rb +0 -323
- data/tests/tensor.rb +0 -419
- data/tests/vector/vector_complex_test.rb +0 -101
- data/tests/vector/vector_test.rb +0 -141
- data/tests/wavelet.rb +0 -142
@@ -9,26 +9,19 @@
|
|
9
9
|
WITHOUT ANY WARRANTY.
|
10
10
|
*/
|
11
11
|
|
12
|
-
#include "
|
13
|
-
#include "
|
14
|
-
#include "rb_gsl_common.h"
|
12
|
+
#include "include/rb_gsl_array.h"
|
13
|
+
#include "include/rb_gsl_common.h"
|
15
14
|
|
16
|
-
#ifdef GSL_1_6_LATER
|
17
15
|
#include <gsl/gsl_wavelet.h>
|
18
16
|
#include <gsl/gsl_wavelet2d.h>
|
19
|
-
#endif
|
20
|
-
|
21
|
-
#ifdef HAVE_NARRAY_H
|
22
|
-
#include "narray.h"
|
23
|
-
#endif
|
24
17
|
|
25
18
|
#ifndef CHECK_WAVELET
|
26
|
-
#define CHECK_WAVELET(x) if(!rb_obj_is_kind_of(x,cgsl_wavelet))\
|
19
|
+
#define CHECK_WAVELET(x) if(!rb_obj_is_kind_of(x,cgsl_wavelet)) \
|
27
20
|
rb_raise(rb_eTypeError, "wrong argument type (Wavelet expected)");
|
28
21
|
#endif
|
29
22
|
|
30
23
|
#ifndef CHECK_WORKSPACE
|
31
|
-
#define CHECK_WORKSPACE(x) if(!rb_obj_is_kind_of(x,cgsl_wavelet_workspace))\
|
24
|
+
#define CHECK_WORKSPACE(x) if(!rb_obj_is_kind_of(x,cgsl_wavelet_workspace)) \
|
32
25
|
rb_raise(rb_eTypeError, "wrong argument type (Wavelet::Workspace expected)");
|
33
26
|
#endif
|
34
27
|
|
@@ -48,14 +41,11 @@ enum {
|
|
48
41
|
GSL_WAVELET_BSPLINE_CENTERED,
|
49
42
|
};
|
50
43
|
|
51
|
-
#ifdef GSL_1_6_LATER
|
52
44
|
static const gsl_wavelet_type* rb_gsl_wavelet_get_type(VALUE t);
|
53
45
|
static VALUE cgsl_wavelet_workspace;
|
54
|
-
#endif
|
55
46
|
|
56
47
|
static VALUE rb_gsl_wavelet_new(VALUE klass, VALUE t, VALUE m)
|
57
48
|
{
|
58
|
-
#ifdef GSL_1_6_LATER
|
59
49
|
const gsl_wavelet_type *T;
|
60
50
|
size_t member;
|
61
51
|
gsl_wavelet *w = NULL;
|
@@ -65,13 +55,8 @@ static VALUE rb_gsl_wavelet_new(VALUE klass, VALUE t, VALUE m)
|
|
65
55
|
w = gsl_wavelet_alloc(T, member);
|
66
56
|
if (w == NULL) rb_raise(rb_eNoMemError, "gsl_wavelet_alloc failed");
|
67
57
|
return Data_Wrap_Struct(klass, 0, gsl_wavelet_free, w);
|
68
|
-
#else
|
69
|
-
rb_raise(rb_eNotImpError, "Wavelet transforms not supported in GSL-%s, use GSL-1.6 or later", GSL_VERSION);
|
70
|
-
return Qnil;
|
71
|
-
#endif
|
72
58
|
}
|
73
59
|
|
74
|
-
#ifdef GSL_1_6_LATER
|
75
60
|
static const gsl_wavelet_type* rb_gsl_wavelet_get_type_str(char *name);
|
76
61
|
static const gsl_wavelet_type* rb_gsl_wavelet_get_type_int(int t);
|
77
62
|
static const gsl_wavelet_type* rb_gsl_wavelet_get_type(VALUE t)
|
@@ -85,9 +70,9 @@ static const gsl_wavelet_type* rb_gsl_wavelet_get_type(VALUE t)
|
|
85
70
|
T = rb_gsl_wavelet_get_type_int(FIX2INT(t));
|
86
71
|
break;
|
87
72
|
default:
|
88
|
-
rb_raise(rb_eTypeError,
|
89
|
-
|
90
|
-
|
73
|
+
rb_raise(rb_eTypeError,
|
74
|
+
"wrong type of argument %s (String or Fixnum expected)",
|
75
|
+
rb_class2name(CLASS_OF(t)));
|
91
76
|
break;
|
92
77
|
}
|
93
78
|
return T;
|
@@ -152,10 +137,10 @@ static void rb_gsl_wavelet_define_const(VALUE klass)
|
|
152
137
|
rb_define_const(klass, "BSPLINE", INT2FIX(GSL_WAVELET_BSPLINE));
|
153
138
|
rb_define_const(klass, "BSPLINE_CENTERED", INT2FIX(GSL_WAVELET_BSPLINE_CENTERED));
|
154
139
|
/*****/
|
155
|
-
rb_define_const(klass, "FORWARD", INT2FIX(
|
156
|
-
rb_define_const(klass, "Forward", INT2FIX(
|
157
|
-
rb_define_const(klass, "BACKWARD", INT2FIX(
|
158
|
-
rb_define_const(klass, "Backward", INT2FIX(
|
140
|
+
rb_define_const(klass, "FORWARD", INT2FIX(gsl_wavelet_forward));
|
141
|
+
rb_define_const(klass, "Forward", INT2FIX(gsl_wavelet_forward));
|
142
|
+
rb_define_const(klass, "BACKWARD", INT2FIX(gsl_wavelet_backward));
|
143
|
+
rb_define_const(klass, "Backward", INT2FIX(gsl_wavelet_backward));
|
159
144
|
}
|
160
145
|
|
161
146
|
static VALUE rb_gsl_wavelet_name(VALUE ww)
|
@@ -175,23 +160,23 @@ static VALUE rb_gsl_wavelet_workspace_new(VALUE klass, VALUE nn)
|
|
175
160
|
}
|
176
161
|
|
177
162
|
static VALUE rb_gsl_wavelet2d_trans(int argc, VALUE *argv, VALUE obj,
|
178
|
-
|
179
|
-
|
180
|
-
|
181
|
-
|
163
|
+
int (*trans)(const gsl_wavelet *,
|
164
|
+
gsl_matrix *,
|
165
|
+
gsl_wavelet_workspace *),
|
166
|
+
int sss);
|
182
167
|
static VALUE rb_gsl_wavelet2d(int argc, VALUE *argv, VALUE obj,
|
183
|
-
|
184
|
-
|
185
|
-
|
186
|
-
|
187
|
-
|
168
|
+
int (*trans)(const gsl_wavelet *,
|
169
|
+
gsl_matrix *,
|
170
|
+
gsl_wavelet_direction,
|
171
|
+
gsl_wavelet_workspace *),
|
172
|
+
int sss);
|
188
173
|
|
189
174
|
static VALUE rb_gsl_wavelet_transform0(int argc, VALUE *argv, VALUE obj,
|
190
|
-
|
175
|
+
int sss)
|
191
176
|
{
|
192
177
|
gsl_wavelet *w = NULL;
|
193
178
|
gsl_vector *v = NULL, *vnew;
|
194
|
-
gsl_wavelet_direction dir =
|
179
|
+
gsl_wavelet_direction dir = gsl_wavelet_forward;
|
195
180
|
gsl_wavelet_workspace *work = NULL;
|
196
181
|
int itmp, flag = 0;
|
197
182
|
// local variable "status" declared and set, but never used
|
@@ -213,7 +198,7 @@ static VALUE rb_gsl_wavelet_transform0(int argc, VALUE *argv, VALUE obj,
|
|
213
198
|
|
214
199
|
if (MATRIX_P(argv[1])) {
|
215
200
|
return rb_gsl_wavelet2d(argc, argv, obj,
|
216
|
-
|
201
|
+
gsl_wavelet2d_transform_matrix, sss);
|
217
202
|
}
|
218
203
|
if (VECTOR_P(argv[1])) {
|
219
204
|
Data_Get_Struct(argv[0], gsl_wavelet, w);
|
@@ -238,10 +223,9 @@ static VALUE rb_gsl_wavelet_transform0(int argc, VALUE *argv, VALUE obj,
|
|
238
223
|
break;
|
239
224
|
default:
|
240
225
|
if (argc < 1) rb_raise(rb_eArgError, "too few arguments");
|
241
|
-
|
242
226
|
if (MATRIX_P(argv[0])) {
|
243
227
|
return rb_gsl_wavelet2d(argc, argv, obj,
|
244
|
-
|
228
|
+
gsl_wavelet2d_transform_matrix, sss);
|
245
229
|
}
|
246
230
|
if (VECTOR_P(obj)) {
|
247
231
|
CHECK_WAVELET(argv[0]);
|
@@ -313,7 +297,7 @@ static VALUE rb_gsl_wavelet_transform0(int argc, VALUE *argv, VALUE obj,
|
|
313
297
|
break;
|
314
298
|
}
|
315
299
|
if (naflag == 0) {
|
316
|
-
if (sss == RB_GSL_DWT_COPY) {
|
300
|
+
if (sss == RB_GSL_DWT_COPY) {
|
317
301
|
vnew = gsl_vector_alloc(v->size);
|
318
302
|
gsl_vector_memcpy(vnew, v);
|
319
303
|
ary = Data_Wrap_Struct(cgsl_vector, 0, gsl_vector_free, vnew);
|
@@ -350,10 +334,10 @@ static VALUE rb_gsl_wavelet_transform2(int argc, VALUE *argv, VALUE obj)
|
|
350
334
|
}
|
351
335
|
|
352
336
|
static VALUE rb_gsl_wavelet_trans(int argc, VALUE *argv, VALUE obj,
|
353
|
-
|
354
|
-
|
355
|
-
|
356
|
-
|
337
|
+
int (*trans)(const gsl_wavelet *,
|
338
|
+
double *, size_t, size_t,
|
339
|
+
gsl_wavelet_workspace *),
|
340
|
+
int sss)
|
357
341
|
{
|
358
342
|
gsl_wavelet *w = NULL;
|
359
343
|
gsl_vector *v = NULL, *vnew;
|
@@ -363,7 +347,7 @@ static VALUE rb_gsl_wavelet_trans(int argc, VALUE *argv, VALUE obj,
|
|
363
347
|
//int status;
|
364
348
|
double *ptr1 = NULL, *ptr2 = NULL;
|
365
349
|
size_t n, stride;
|
366
|
-
VALUE ary, ret;
|
350
|
+
VALUE ary = Qnil, ret;
|
367
351
|
#ifdef HAVE_NARRAY_H
|
368
352
|
struct NARRAY *na;
|
369
353
|
#endif
|
@@ -376,11 +360,11 @@ static VALUE rb_gsl_wavelet_trans(int argc, VALUE *argv, VALUE obj,
|
|
376
360
|
|
377
361
|
if (MATRIX_P(argv[1])) {
|
378
362
|
if (trans == gsl_wavelet_transform_forward) {
|
379
|
-
|
380
|
-
|
363
|
+
return rb_gsl_wavelet2d_trans(argc, argv, obj,
|
364
|
+
gsl_wavelet2d_transform_matrix_forward, sss);
|
381
365
|
} else {
|
382
|
-
|
383
|
-
|
366
|
+
return rb_gsl_wavelet2d_trans(argc, argv, obj,
|
367
|
+
gsl_wavelet2d_transform_matrix_inverse, sss);
|
384
368
|
}
|
385
369
|
}
|
386
370
|
if (VECTOR_P(argv[1])) {
|
@@ -406,14 +390,13 @@ static VALUE rb_gsl_wavelet_trans(int argc, VALUE *argv, VALUE obj,
|
|
406
390
|
break;
|
407
391
|
default:
|
408
392
|
if (argc < 1) rb_raise(rb_eArgError, "too few arguments");
|
409
|
-
|
410
393
|
if (MATRIX_P(argv[0])) {
|
411
394
|
if (trans == gsl_wavelet_transform_forward) {
|
412
|
-
|
413
|
-
|
395
|
+
return rb_gsl_wavelet2d_trans(argc, argv, obj,
|
396
|
+
gsl_wavelet2d_transform_matrix_forward, sss);
|
414
397
|
} else {
|
415
|
-
|
416
|
-
|
398
|
+
return rb_gsl_wavelet2d_trans(argc, argv, obj,
|
399
|
+
gsl_wavelet2d_transform_matrix_inverse, sss);
|
417
400
|
}
|
418
401
|
}
|
419
402
|
if (VECTOR_P(obj)) {
|
@@ -501,37 +484,37 @@ static VALUE rb_gsl_wavelet_trans(int argc, VALUE *argv, VALUE obj,
|
|
501
484
|
static VALUE rb_gsl_wavelet_transform_forward(int argc, VALUE *argv, VALUE obj)
|
502
485
|
{
|
503
486
|
return rb_gsl_wavelet_trans(argc, argv, obj, gsl_wavelet_transform_forward,
|
504
|
-
|
487
|
+
RB_GSL_DWT_COPY);
|
505
488
|
}
|
506
489
|
|
507
490
|
static VALUE rb_gsl_wavelet_transform_inverse(int argc, VALUE *argv, VALUE obj)
|
508
491
|
{
|
509
492
|
return rb_gsl_wavelet_trans(argc, argv, obj, gsl_wavelet_transform_inverse,
|
510
|
-
|
493
|
+
RB_GSL_DWT_COPY);
|
511
494
|
}
|
512
495
|
|
513
496
|
static VALUE rb_gsl_wavelet_transform_forward2(int argc, VALUE *argv, VALUE obj)
|
514
497
|
{
|
515
498
|
return rb_gsl_wavelet_trans(argc, argv, obj, gsl_wavelet_transform_forward,
|
516
|
-
|
499
|
+
RB_GSL_DWT_INPLACE);
|
517
500
|
}
|
518
501
|
|
519
502
|
static VALUE rb_gsl_wavelet_transform_inverse2(int argc, VALUE *argv, VALUE obj)
|
520
503
|
{
|
521
504
|
return rb_gsl_wavelet_trans(argc, argv, obj, gsl_wavelet_transform_inverse,
|
522
|
-
|
505
|
+
RB_GSL_DWT_INPLACE);
|
523
506
|
}
|
524
507
|
|
525
508
|
static VALUE rb_gsl_wavelet2d(int argc, VALUE *argv, VALUE obj,
|
526
|
-
|
527
|
-
|
528
|
-
|
529
|
-
|
530
|
-
|
509
|
+
int (*trans)(const gsl_wavelet *,
|
510
|
+
gsl_matrix *,
|
511
|
+
gsl_wavelet_direction,
|
512
|
+
gsl_wavelet_workspace *),
|
513
|
+
int sss)
|
531
514
|
{
|
532
515
|
gsl_wavelet *w = NULL;
|
533
516
|
gsl_matrix *m = NULL, *mnew;
|
534
|
-
gsl_wavelet_direction dir =
|
517
|
+
gsl_wavelet_direction dir = gsl_wavelet_forward;
|
535
518
|
gsl_wavelet_workspace *work = NULL;
|
536
519
|
VALUE ary, ret;
|
537
520
|
int itmp, flag = 0;
|
@@ -606,20 +589,20 @@ static VALUE rb_gsl_wavelet2d(int argc, VALUE *argv, VALUE obj,
|
|
606
589
|
static VALUE rb_gsl_wavelet2d_transform_matrix(int argc, VALUE *argv, VALUE obj)
|
607
590
|
{
|
608
591
|
return rb_gsl_wavelet2d(argc, argv, obj, gsl_wavelet2d_transform_matrix,
|
609
|
-
|
592
|
+
RB_GSL_DWT_COPY);
|
610
593
|
}
|
611
594
|
|
612
595
|
static VALUE rb_gsl_wavelet2d_transform_matrix2(int argc, VALUE *argv, VALUE obj)
|
613
596
|
{
|
614
597
|
return rb_gsl_wavelet2d(argc, argv, obj, gsl_wavelet2d_transform_matrix,
|
615
|
-
|
598
|
+
RB_GSL_DWT_INPLACE);
|
616
599
|
}
|
617
600
|
|
618
601
|
static VALUE rb_gsl_wavelet2d_trans(int argc, VALUE *argv, VALUE obj,
|
619
|
-
|
620
|
-
|
621
|
-
|
622
|
-
|
602
|
+
int (*trans)(const gsl_wavelet *,
|
603
|
+
gsl_matrix *,
|
604
|
+
gsl_wavelet_workspace *),
|
605
|
+
int sss)
|
623
606
|
{
|
624
607
|
gsl_wavelet *w = NULL;
|
625
608
|
gsl_matrix *m = NULL, *mnew;
|
@@ -683,75 +666,73 @@ static VALUE rb_gsl_wavelet2d_trans(int argc, VALUE *argv, VALUE obj,
|
|
683
666
|
|
684
667
|
static VALUE rb_gsl_wavelet2d_transform_matrix_forward(int argc, VALUE *argv, VALUE obj)
|
685
668
|
{
|
686
|
-
return rb_gsl_wavelet2d_trans(argc, argv, obj,
|
687
|
-
|
688
|
-
|
669
|
+
return rb_gsl_wavelet2d_trans(argc, argv, obj,
|
670
|
+
gsl_wavelet2d_transform_matrix_forward,
|
671
|
+
RB_GSL_DWT_COPY);
|
689
672
|
}
|
690
673
|
|
691
674
|
static VALUE rb_gsl_wavelet2d_transform_matrix_forward2(int argc, VALUE *argv, VALUE obj)
|
692
675
|
{
|
693
|
-
return rb_gsl_wavelet2d_trans(argc, argv, obj,
|
694
|
-
|
695
|
-
|
676
|
+
return rb_gsl_wavelet2d_trans(argc, argv, obj,
|
677
|
+
gsl_wavelet2d_transform_matrix_forward,
|
678
|
+
RB_GSL_DWT_INPLACE);
|
696
679
|
}
|
697
680
|
|
698
681
|
static VALUE rb_gsl_wavelet2d_transform_matrix_inverse(int argc, VALUE *argv, VALUE obj)
|
699
682
|
{
|
700
|
-
return rb_gsl_wavelet2d_trans(argc, argv, obj,
|
701
|
-
|
702
|
-
|
683
|
+
return rb_gsl_wavelet2d_trans(argc, argv, obj,
|
684
|
+
gsl_wavelet2d_transform_matrix_inverse,
|
685
|
+
RB_GSL_DWT_COPY);
|
703
686
|
}
|
704
687
|
|
705
688
|
static VALUE rb_gsl_wavelet2d_transform_matrix_inverse2(int argc, VALUE *argv, VALUE obj)
|
706
689
|
{
|
707
|
-
return rb_gsl_wavelet2d_trans(argc, argv, obj,
|
708
|
-
|
709
|
-
|
690
|
+
return rb_gsl_wavelet2d_trans(argc, argv, obj,
|
691
|
+
gsl_wavelet2d_transform_matrix_inverse,
|
692
|
+
RB_GSL_DWT_INPLACE);
|
710
693
|
}
|
711
694
|
|
712
695
|
/** nstransform **/
|
713
696
|
static VALUE rb_gsl_wavelet2d_nstransform_matrix(int argc, VALUE *argv, VALUE obj)
|
714
697
|
{
|
715
698
|
return rb_gsl_wavelet2d(argc, argv, obj, gsl_wavelet2d_nstransform_matrix,
|
716
|
-
|
699
|
+
RB_GSL_DWT_COPY);
|
717
700
|
}
|
718
701
|
|
719
702
|
static VALUE rb_gsl_wavelet2d_nstransform_matrix2(int argc, VALUE *argv, VALUE obj)
|
720
703
|
{
|
721
704
|
return rb_gsl_wavelet2d(argc, argv, obj, gsl_wavelet2d_nstransform_matrix,
|
722
|
-
|
705
|
+
RB_GSL_DWT_INPLACE);
|
723
706
|
}
|
724
707
|
|
725
708
|
static VALUE rb_gsl_wavelet2d_nstransform_matrix_forward(int argc, VALUE *argv, VALUE obj)
|
726
709
|
{
|
727
|
-
return rb_gsl_wavelet2d_trans(argc, argv, obj,
|
728
|
-
|
729
|
-
|
710
|
+
return rb_gsl_wavelet2d_trans(argc, argv, obj,
|
711
|
+
gsl_wavelet2d_nstransform_matrix_forward,
|
712
|
+
RB_GSL_DWT_COPY);
|
730
713
|
}
|
731
714
|
|
732
715
|
static VALUE rb_gsl_wavelet2d_nstransform_matrix_forward2(int argc, VALUE *argv, VALUE obj)
|
733
716
|
{
|
734
|
-
return rb_gsl_wavelet2d_trans(argc, argv, obj,
|
735
|
-
|
736
|
-
|
717
|
+
return rb_gsl_wavelet2d_trans(argc, argv, obj,
|
718
|
+
gsl_wavelet2d_nstransform_matrix_forward,
|
719
|
+
RB_GSL_DWT_INPLACE);
|
737
720
|
}
|
738
721
|
|
739
722
|
static VALUE rb_gsl_wavelet2d_nstransform_matrix_inverse(int argc, VALUE *argv, VALUE obj)
|
740
723
|
{
|
741
|
-
return rb_gsl_wavelet2d_trans(argc, argv, obj,
|
742
|
-
|
743
|
-
|
724
|
+
return rb_gsl_wavelet2d_trans(argc, argv, obj,
|
725
|
+
gsl_wavelet2d_nstransform_matrix_inverse,
|
726
|
+
RB_GSL_DWT_COPY);
|
744
727
|
}
|
745
728
|
|
746
729
|
static VALUE rb_gsl_wavelet2d_nstransform_matrix_inverse2(int argc, VALUE *argv, VALUE obj)
|
747
730
|
{
|
748
|
-
return rb_gsl_wavelet2d_trans(argc, argv, obj,
|
749
|
-
|
750
|
-
|
731
|
+
return rb_gsl_wavelet2d_trans(argc, argv, obj,
|
732
|
+
gsl_wavelet2d_nstransform_matrix_inverse,
|
733
|
+
RB_GSL_DWT_INPLACE);
|
751
734
|
}
|
752
735
|
|
753
|
-
#endif
|
754
|
-
|
755
736
|
void Init_wavelet(VALUE module)
|
756
737
|
{
|
757
738
|
VALUE cgsl_wavelet2d;
|
@@ -761,183 +742,180 @@ void Init_wavelet(VALUE module)
|
|
761
742
|
|
762
743
|
rb_define_singleton_method(cgsl_wavelet, "alloc", rb_gsl_wavelet_new, 2);
|
763
744
|
|
764
|
-
#ifdef GSL_1_6_LATER
|
765
745
|
rb_gsl_wavelet_define_const(cgsl_wavelet);
|
766
746
|
rb_define_method(cgsl_wavelet, "name", rb_gsl_wavelet_name, 0);
|
767
747
|
|
768
748
|
cgsl_wavelet_workspace = rb_define_class_under(cgsl_wavelet, "Workspace", cGSL_Object);
|
769
|
-
rb_define_singleton_method(cgsl_wavelet_workspace, "alloc",
|
770
|
-
|
749
|
+
rb_define_singleton_method(cgsl_wavelet_workspace, "alloc",
|
750
|
+
rb_gsl_wavelet_workspace_new, 1);
|
771
751
|
|
772
752
|
/*****/
|
773
753
|
|
774
|
-
rb_define_singleton_method(cgsl_wavelet, "transform",
|
775
|
-
|
754
|
+
rb_define_singleton_method(cgsl_wavelet, "transform",
|
755
|
+
rb_gsl_wavelet_transform, -1);
|
776
756
|
rb_define_method(cgsl_wavelet, "transform", rb_gsl_wavelet_transform, -1);
|
777
757
|
rb_define_method(cgsl_vector, "wavelet_transform", rb_gsl_wavelet_transform, -1);
|
778
|
-
rb_define_singleton_method(cgsl_wavelet, "transform!",
|
779
|
-
|
758
|
+
rb_define_singleton_method(cgsl_wavelet, "transform!",
|
759
|
+
rb_gsl_wavelet_transform2, -1);
|
780
760
|
rb_define_method(cgsl_wavelet, "transform!", rb_gsl_wavelet_transform2, -1);
|
781
761
|
rb_define_method(cgsl_vector, "wavelet_transform!", rb_gsl_wavelet_transform2, -1);
|
782
762
|
|
783
763
|
/**/
|
784
764
|
|
785
|
-
rb_define_singleton_method(cgsl_wavelet, "transform_forward",
|
786
|
-
|
787
|
-
rb_define_method(cgsl_wavelet, "transform_forward",
|
788
|
-
|
765
|
+
rb_define_singleton_method(cgsl_wavelet, "transform_forward",
|
766
|
+
rb_gsl_wavelet_transform_forward, -1);
|
767
|
+
rb_define_method(cgsl_wavelet, "transform_forward",
|
768
|
+
rb_gsl_wavelet_transform_forward, -1);
|
789
769
|
rb_define_alias(cgsl_wavelet, "forward", "transform_forward");
|
790
|
-
rb_define_method(cgsl_vector, "wavelet_transform_forward",
|
791
|
-
|
770
|
+
rb_define_method(cgsl_vector, "wavelet_transform_forward",
|
771
|
+
rb_gsl_wavelet_transform_forward, -1);
|
792
772
|
|
793
|
-
rb_define_singleton_method(cgsl_wavelet, "transform_inverse",
|
794
|
-
|
795
|
-
rb_define_method(cgsl_wavelet, "transform_inverse",
|
796
|
-
|
773
|
+
rb_define_singleton_method(cgsl_wavelet, "transform_inverse",
|
774
|
+
rb_gsl_wavelet_transform_inverse, -1);
|
775
|
+
rb_define_method(cgsl_wavelet, "transform_inverse",
|
776
|
+
rb_gsl_wavelet_transform_inverse, -1);
|
797
777
|
rb_define_alias(cgsl_wavelet, "inverse", "transform_inverse");
|
798
|
-
rb_define_method(cgsl_vector, "wavelet_transform_inverse",
|
799
|
-
|
778
|
+
rb_define_method(cgsl_vector, "wavelet_transform_inverse",
|
779
|
+
rb_gsl_wavelet_transform_inverse, -1);
|
800
780
|
|
801
|
-
rb_define_singleton_method(cgsl_wavelet, "transform_forward!",
|
802
|
-
|
803
|
-
rb_define_method(cgsl_wavelet, "transform_forward!",
|
804
|
-
|
781
|
+
rb_define_singleton_method(cgsl_wavelet, "transform_forward!",
|
782
|
+
rb_gsl_wavelet_transform_forward2, -1);
|
783
|
+
rb_define_method(cgsl_wavelet, "transform_forward!",
|
784
|
+
rb_gsl_wavelet_transform_forward2, -1);
|
805
785
|
rb_define_alias(cgsl_wavelet, "forward!", "transform_forward!");
|
806
|
-
rb_define_method(cgsl_vector, "wavelet_transform_forward!",
|
807
|
-
|
786
|
+
rb_define_method(cgsl_vector, "wavelet_transform_forward!",
|
787
|
+
rb_gsl_wavelet_transform_forward2, -1);
|
808
788
|
|
809
|
-
rb_define_singleton_method(cgsl_wavelet, "transform_inverse!",
|
810
|
-
|
811
|
-
rb_define_method(cgsl_wavelet, "transform_inverse!",
|
812
|
-
|
789
|
+
rb_define_singleton_method(cgsl_wavelet, "transform_inverse!",
|
790
|
+
rb_gsl_wavelet_transform_inverse2, -1);
|
791
|
+
rb_define_method(cgsl_wavelet, "transform_inverse!",
|
792
|
+
rb_gsl_wavelet_transform_inverse2, -1);
|
813
793
|
rb_define_alias(cgsl_wavelet, "inverse!", "transform_inverse!");
|
814
|
-
rb_define_method(cgsl_vector, "wavelet_transform_inverse!",
|
815
|
-
|
794
|
+
rb_define_method(cgsl_vector, "wavelet_transform_inverse!",
|
795
|
+
rb_gsl_wavelet_transform_inverse2, -1);
|
816
796
|
/***** 2d *****/
|
817
|
-
rb_define_singleton_method(cgsl_wavelet, "transform_matrix",
|
818
|
-
|
819
|
-
rb_define_singleton_method(cgsl_wavelet2d, "transform",
|
820
|
-
|
797
|
+
rb_define_singleton_method(cgsl_wavelet, "transform_matrix",
|
798
|
+
rb_gsl_wavelet2d_transform_matrix, -1);
|
799
|
+
rb_define_singleton_method(cgsl_wavelet2d, "transform",
|
800
|
+
rb_gsl_wavelet2d_transform_matrix, -1);
|
821
801
|
rb_define_method(cgsl_wavelet, "transform_matrix",
|
822
|
-
|
823
|
-
rb_define_method(cgsl_wavelet2d, "transform",
|
824
|
-
|
825
|
-
rb_define_method(cgsl_matrix, "wavelet_transform",
|
826
|
-
|
827
|
-
|
828
|
-
rb_define_singleton_method(cgsl_wavelet, "transform_matrix!",
|
829
|
-
|
830
|
-
rb_define_singleton_method(cgsl_wavelet2d, "transform!",
|
831
|
-
|
802
|
+
rb_gsl_wavelet2d_transform_matrix, -1);
|
803
|
+
rb_define_method(cgsl_wavelet2d, "transform",
|
804
|
+
rb_gsl_wavelet2d_transform_matrix, -1);
|
805
|
+
rb_define_method(cgsl_matrix, "wavelet_transform",
|
806
|
+
rb_gsl_wavelet2d_transform_matrix, -1);
|
807
|
+
|
808
|
+
rb_define_singleton_method(cgsl_wavelet, "transform_matrix!",
|
809
|
+
rb_gsl_wavelet2d_transform_matrix2, -1);
|
810
|
+
rb_define_singleton_method(cgsl_wavelet2d, "transform!",
|
811
|
+
rb_gsl_wavelet2d_transform_matrix2, -1);
|
832
812
|
rb_define_method(cgsl_wavelet, "transform_matrix!",
|
833
|
-
|
834
|
-
rb_define_method(cgsl_wavelet2d, "transform!",
|
835
|
-
|
836
|
-
rb_define_method(cgsl_matrix, "wavelet_transform!",
|
837
|
-
|
813
|
+
rb_gsl_wavelet2d_transform_matrix2, -1);
|
814
|
+
rb_define_method(cgsl_wavelet2d, "transform!",
|
815
|
+
rb_gsl_wavelet2d_transform_matrix2, -1);
|
816
|
+
rb_define_method(cgsl_matrix, "wavelet_transform!",
|
817
|
+
rb_gsl_wavelet2d_transform_matrix2, -1);
|
838
818
|
/**/
|
839
819
|
|
840
|
-
rb_define_singleton_method(cgsl_wavelet, "transform_matrix_forward",
|
841
|
-
|
842
|
-
rb_define_singleton_method(cgsl_wavelet2d, "transform_forward",
|
843
|
-
|
844
|
-
rb_define_method(cgsl_wavelet, "transform_matrix_forward",
|
845
|
-
|
846
|
-
rb_define_method(cgsl_wavelet2d, "transform_forward",
|
847
|
-
|
848
|
-
rb_define_method(cgsl_matrix, "wavelet_transform_forward",
|
849
|
-
|
850
|
-
|
851
|
-
rb_define_singleton_method(cgsl_wavelet, "transform_matrix_forward!",
|
852
|
-
|
853
|
-
rb_define_singleton_method(cgsl_wavelet2d, "transform_forward!",
|
854
|
-
|
855
|
-
rb_define_method(cgsl_wavelet, "transform_matrix_forward!",
|
856
|
-
|
857
|
-
rb_define_method(cgsl_wavelet2d, "transform_forward!",
|
858
|
-
|
859
|
-
rb_define_method(cgsl_matrix, "wavelet_transform_forward!",
|
860
|
-
|
861
|
-
|
862
|
-
rb_define_singleton_method(cgsl_wavelet, "transform_matrix_inverse",
|
863
|
-
|
864
|
-
rb_define_singleton_method(cgsl_wavelet2d, "transform_inverse",
|
865
|
-
|
866
|
-
rb_define_method(cgsl_wavelet, "transform_matrix_inverse",
|
867
|
-
|
868
|
-
rb_define_method(cgsl_wavelet2d, "transform_inverse",
|
869
|
-
|
870
|
-
rb_define_method(cgsl_matrix, "wavelet_transform_inverse",
|
871
|
-
|
872
|
-
|
873
|
-
rb_define_singleton_method(cgsl_wavelet, "transform_matrix_inverse!",
|
874
|
-
|
875
|
-
rb_define_singleton_method(cgsl_wavelet2d, "transform_inverse!",
|
876
|
-
|
877
|
-
rb_define_method(cgsl_wavelet, "transform_matrix_inverse!",
|
878
|
-
|
879
|
-
rb_define_method(cgsl_wavelet2d, "transform_inverse!",
|
880
|
-
|
881
|
-
rb_define_method(cgsl_matrix, "wavelet_transform_inverse!",
|
882
|
-
|
820
|
+
rb_define_singleton_method(cgsl_wavelet, "transform_matrix_forward",
|
821
|
+
rb_gsl_wavelet2d_transform_matrix_forward, -1);
|
822
|
+
rb_define_singleton_method(cgsl_wavelet2d, "transform_forward",
|
823
|
+
rb_gsl_wavelet2d_transform_matrix_forward, -1);
|
824
|
+
rb_define_method(cgsl_wavelet, "transform_matrix_forward",
|
825
|
+
rb_gsl_wavelet2d_transform_matrix_forward, -1);
|
826
|
+
rb_define_method(cgsl_wavelet2d, "transform_forward",
|
827
|
+
rb_gsl_wavelet2d_transform_matrix_forward, -1);
|
828
|
+
rb_define_method(cgsl_matrix, "wavelet_transform_forward",
|
829
|
+
rb_gsl_wavelet2d_transform_matrix_forward, -1);
|
830
|
+
|
831
|
+
rb_define_singleton_method(cgsl_wavelet, "transform_matrix_forward!",
|
832
|
+
rb_gsl_wavelet2d_transform_matrix_forward2, -1);
|
833
|
+
rb_define_singleton_method(cgsl_wavelet2d, "transform_forward!",
|
834
|
+
rb_gsl_wavelet2d_transform_matrix_forward2, -1);
|
835
|
+
rb_define_method(cgsl_wavelet, "transform_matrix_forward!",
|
836
|
+
rb_gsl_wavelet2d_transform_matrix_forward2, -1);
|
837
|
+
rb_define_method(cgsl_wavelet2d, "transform_forward!",
|
838
|
+
rb_gsl_wavelet2d_transform_matrix_forward2, -1);
|
839
|
+
rb_define_method(cgsl_matrix, "wavelet_transform_forward!",
|
840
|
+
rb_gsl_wavelet2d_transform_matrix_forward2, -1);
|
841
|
+
|
842
|
+
rb_define_singleton_method(cgsl_wavelet, "transform_matrix_inverse",
|
843
|
+
rb_gsl_wavelet2d_transform_matrix_inverse, -1);
|
844
|
+
rb_define_singleton_method(cgsl_wavelet2d, "transform_inverse",
|
845
|
+
rb_gsl_wavelet2d_transform_matrix_inverse, -1);
|
846
|
+
rb_define_method(cgsl_wavelet, "transform_matrix_inverse",
|
847
|
+
rb_gsl_wavelet2d_transform_matrix_inverse, -1);
|
848
|
+
rb_define_method(cgsl_wavelet2d, "transform_inverse",
|
849
|
+
rb_gsl_wavelet2d_transform_matrix_inverse, -1);
|
850
|
+
rb_define_method(cgsl_matrix, "wavelet_transform_inverse",
|
851
|
+
rb_gsl_wavelet2d_transform_matrix_inverse, -1);
|
852
|
+
|
853
|
+
rb_define_singleton_method(cgsl_wavelet, "transform_matrix_inverse!",
|
854
|
+
rb_gsl_wavelet2d_transform_matrix_inverse2, -1);
|
855
|
+
rb_define_singleton_method(cgsl_wavelet2d, "transform_inverse!",
|
856
|
+
rb_gsl_wavelet2d_transform_matrix_inverse2, -1);
|
857
|
+
rb_define_method(cgsl_wavelet, "transform_matrix_inverse!",
|
858
|
+
rb_gsl_wavelet2d_transform_matrix_inverse2, -1);
|
859
|
+
rb_define_method(cgsl_wavelet2d, "transform_inverse!",
|
860
|
+
rb_gsl_wavelet2d_transform_matrix_inverse2, -1);
|
861
|
+
rb_define_method(cgsl_matrix, "wavelet_transform_inverse!",
|
862
|
+
rb_gsl_wavelet2d_transform_matrix_inverse2, -1);
|
883
863
|
|
884
864
|
/** nstransform **/
|
885
|
-
rb_define_singleton_method(cgsl_wavelet, "nstransform_matrix",
|
886
|
-
|
887
|
-
rb_define_singleton_method(cgsl_wavelet2d, "nstransform",
|
888
|
-
|
889
|
-
rb_define_method(cgsl_wavelet, "nstransform_matrix",
|
890
|
-
|
891
|
-
rb_define_method(cgsl_wavelet2d, "nstransform",
|
892
|
-
|
893
|
-
|
894
|
-
rb_define_singleton_method(cgsl_wavelet, "nstransform_matrix!",
|
895
|
-
|
896
|
-
rb_define_singleton_method(cgsl_wavelet2d, "nstransform!",
|
897
|
-
|
898
|
-
rb_define_method(cgsl_wavelet, "nstransform_matrix!",
|
899
|
-
|
900
|
-
rb_define_method(cgsl_wavelet2d, "nstransform!",
|
901
|
-
|
865
|
+
rb_define_singleton_method(cgsl_wavelet, "nstransform_matrix",
|
866
|
+
rb_gsl_wavelet2d_nstransform_matrix, -1);
|
867
|
+
rb_define_singleton_method(cgsl_wavelet2d, "nstransform",
|
868
|
+
rb_gsl_wavelet2d_nstransform_matrix, -1);
|
869
|
+
rb_define_method(cgsl_wavelet, "nstransform_matrix",
|
870
|
+
rb_gsl_wavelet2d_nstransform_matrix, -1);
|
871
|
+
rb_define_method(cgsl_wavelet2d, "nstransform",
|
872
|
+
rb_gsl_wavelet2d_nstransform_matrix, -1);
|
873
|
+
|
874
|
+
rb_define_singleton_method(cgsl_wavelet, "nstransform_matrix!",
|
875
|
+
rb_gsl_wavelet2d_nstransform_matrix2, -1);
|
876
|
+
rb_define_singleton_method(cgsl_wavelet2d, "nstransform!",
|
877
|
+
rb_gsl_wavelet2d_nstransform_matrix2, -1);
|
878
|
+
rb_define_method(cgsl_wavelet, "nstransform_matrix!",
|
879
|
+
rb_gsl_wavelet2d_nstransform_matrix2, -1);
|
880
|
+
rb_define_method(cgsl_wavelet2d, "nstransform!",
|
881
|
+
rb_gsl_wavelet2d_nstransform_matrix2, -1);
|
902
882
|
/**/
|
903
883
|
|
904
|
-
rb_define_singleton_method(cgsl_wavelet, "nstransform_matrix_forward",
|
905
|
-
|
906
|
-
rb_define_singleton_method(cgsl_wavelet2d, "nstransform_forward",
|
907
|
-
|
908
|
-
rb_define_method(cgsl_wavelet, "nstransform_matrix_forward",
|
909
|
-
|
910
|
-
rb_define_method(cgsl_wavelet2d, "nstransform_forward",
|
911
|
-
|
912
|
-
|
913
|
-
rb_define_singleton_method(cgsl_wavelet, "nstransform_matrix_forward!",
|
914
|
-
|
915
|
-
rb_define_singleton_method(cgsl_wavelet2d, "nstransform_forward!",
|
916
|
-
|
917
|
-
rb_define_method(cgsl_wavelet, "nstransform_matrix_forward!",
|
918
|
-
|
919
|
-
rb_define_method(cgsl_wavelet2d, "nstransform_forward!",
|
920
|
-
|
921
|
-
|
922
|
-
rb_define_singleton_method(cgsl_wavelet, "nstransform_matrix_inverse",
|
923
|
-
|
924
|
-
rb_define_singleton_method(cgsl_wavelet2d, "nstransform_inverse",
|
925
|
-
|
926
|
-
rb_define_method(cgsl_wavelet, "nstransform_matrix_inverse",
|
927
|
-
|
928
|
-
rb_define_method(cgsl_wavelet2d, "nstransform_inverse",
|
929
|
-
|
930
|
-
|
931
|
-
rb_define_singleton_method(cgsl_wavelet, "nstransform_matrix_inverse!",
|
932
|
-
|
933
|
-
rb_define_singleton_method(cgsl_wavelet2d, "nstransform_inverse!",
|
934
|
-
|
935
|
-
rb_define_method(cgsl_wavelet, "nstransform_matrix_inverse!",
|
936
|
-
|
937
|
-
rb_define_method(cgsl_wavelet2d, "nstransform_inverse!",
|
938
|
-
|
939
|
-
|
940
|
-
#endif
|
884
|
+
rb_define_singleton_method(cgsl_wavelet, "nstransform_matrix_forward",
|
885
|
+
rb_gsl_wavelet2d_nstransform_matrix_forward, -1);
|
886
|
+
rb_define_singleton_method(cgsl_wavelet2d, "nstransform_forward",
|
887
|
+
rb_gsl_wavelet2d_nstransform_matrix_forward, -1);
|
888
|
+
rb_define_method(cgsl_wavelet, "nstransform_matrix_forward",
|
889
|
+
rb_gsl_wavelet2d_nstransform_matrix_forward, -1);
|
890
|
+
rb_define_method(cgsl_wavelet2d, "nstransform_forward",
|
891
|
+
rb_gsl_wavelet2d_nstransform_matrix_forward, -1);
|
892
|
+
|
893
|
+
rb_define_singleton_method(cgsl_wavelet, "nstransform_matrix_forward!",
|
894
|
+
rb_gsl_wavelet2d_nstransform_matrix_forward2, -1);
|
895
|
+
rb_define_singleton_method(cgsl_wavelet2d, "nstransform_forward!",
|
896
|
+
rb_gsl_wavelet2d_nstransform_matrix_forward2, -1);
|
897
|
+
rb_define_method(cgsl_wavelet, "nstransform_matrix_forward!",
|
898
|
+
rb_gsl_wavelet2d_nstransform_matrix_forward2, -1);
|
899
|
+
rb_define_method(cgsl_wavelet2d, "nstransform_forward!",
|
900
|
+
rb_gsl_wavelet2d_nstransform_matrix_forward2, -1);
|
901
|
+
|
902
|
+
rb_define_singleton_method(cgsl_wavelet, "nstransform_matrix_inverse",
|
903
|
+
rb_gsl_wavelet2d_nstransform_matrix_inverse, -1);
|
904
|
+
rb_define_singleton_method(cgsl_wavelet2d, "nstransform_inverse",
|
905
|
+
rb_gsl_wavelet2d_nstransform_matrix_inverse, -1);
|
906
|
+
rb_define_method(cgsl_wavelet, "nstransform_matrix_inverse",
|
907
|
+
rb_gsl_wavelet2d_nstransform_matrix_inverse, -1);
|
908
|
+
rb_define_method(cgsl_wavelet2d, "nstransform_inverse",
|
909
|
+
rb_gsl_wavelet2d_nstransform_matrix_inverse, -1);
|
910
|
+
|
911
|
+
rb_define_singleton_method(cgsl_wavelet, "nstransform_matrix_inverse!",
|
912
|
+
rb_gsl_wavelet2d_nstransform_matrix_inverse2, -1);
|
913
|
+
rb_define_singleton_method(cgsl_wavelet2d, "nstransform_inverse!",
|
914
|
+
rb_gsl_wavelet2d_nstransform_matrix_inverse2, -1);
|
915
|
+
rb_define_method(cgsl_wavelet, "nstransform_matrix_inverse!",
|
916
|
+
rb_gsl_wavelet2d_nstransform_matrix_inverse2, -1);
|
917
|
+
rb_define_method(cgsl_wavelet2d, "nstransform_inverse!",
|
918
|
+
rb_gsl_wavelet2d_nstransform_matrix_inverse2, -1);
|
941
919
|
}
|
942
920
|
|
943
921
|
#undef CHECK_WAVELET
|