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
@@ -11,11 +11,11 @@
|
|
11
11
|
|
12
12
|
#include <gsl/gsl_rng.h>
|
13
13
|
#include <gsl/gsl_siman.h>
|
14
|
-
#include "rb_gsl.h"
|
15
|
-
#include "rb_gsl_array.h"
|
16
|
-
#include "rb_gsl_function.h"
|
17
|
-
#include "rb_gsl_rng.h"
|
18
|
-
#include "rb_gsl_common.h"
|
14
|
+
#include "include/rb_gsl.h"
|
15
|
+
#include "include/rb_gsl_array.h"
|
16
|
+
#include "include/rb_gsl_function.h"
|
17
|
+
#include "include/rb_gsl_rng.h"
|
18
|
+
#include "include/rb_gsl_common.h"
|
19
19
|
|
20
20
|
static VALUE cgsl_siman_Efunc;
|
21
21
|
static VALUE cgsl_siman_step;
|
@@ -128,7 +128,7 @@ static VALUE rb_gsl_siman_Efunc_set(int argc, VALUE *argv, VALUE obj)
|
|
128
128
|
Data_Get_Struct(obj, siman_Efunc, se);
|
129
129
|
switch (argc) {
|
130
130
|
case 0:
|
131
|
-
if (rb_block_given_p()) se->proc =
|
131
|
+
if (rb_block_given_p()) se->proc = rb_block_proc();
|
132
132
|
break;
|
133
133
|
case 1:
|
134
134
|
if (rb_obj_is_kind_of(argv[0], rb_cProc)) se->proc = argv[0];
|
@@ -233,7 +233,7 @@ static VALUE rb_gsl_siman_print_set(int argc, VALUE *argv, VALUE obj)
|
|
233
233
|
Data_Get_Struct(obj, siman_print, se);
|
234
234
|
switch (argc) {
|
235
235
|
case 0:
|
236
|
-
if (rb_block_given_p()) se->proc =
|
236
|
+
if (rb_block_given_p()) se->proc = rb_block_proc();
|
237
237
|
break;
|
238
238
|
case 1:
|
239
239
|
if (rb_obj_is_kind_of(argv[0], rb_cProc)) se->proc = argv[0];
|
@@ -302,7 +302,7 @@ static VALUE rb_gsl_siman_step_set(int argc, VALUE *argv, VALUE obj)
|
|
302
302
|
Data_Get_Struct(obj, siman_step, se);
|
303
303
|
switch (argc) {
|
304
304
|
case 0:
|
305
|
-
if (rb_block_given_p()) se->proc =
|
305
|
+
if (rb_block_given_p()) se->proc = rb_block_proc();
|
306
306
|
break;
|
307
307
|
case 1:
|
308
308
|
if (rb_obj_is_kind_of(argv[0], rb_cProc)) se->proc = argv[0];
|
@@ -331,7 +331,7 @@ static siman_metric* siman_metric_alloc()
|
|
331
331
|
se = ALLOC(siman_metric);
|
332
332
|
if (se == NULL) rb_raise(rb_eRuntimeError, "ALLOC failed");
|
333
333
|
se->siman_metric_t = &rb_gsl_siman_metric_t;
|
334
|
-
|
334
|
+
return se;
|
335
335
|
}
|
336
336
|
|
337
337
|
static void siman_metric_mark(siman_metric *se)
|
@@ -373,7 +373,7 @@ static VALUE rb_gsl_siman_metric_set(int argc, VALUE *argv, VALUE obj)
|
|
373
373
|
Data_Get_Struct(obj, siman_metric, se);
|
374
374
|
switch (argc) {
|
375
375
|
case 0:
|
376
|
-
if (rb_block_given_p()) se->proc =
|
376
|
+
if (rb_block_given_p()) se->proc = rb_block_proc();
|
377
377
|
break;
|
378
378
|
case 1:
|
379
379
|
if (rb_obj_is_kind_of(argv[0], rb_cProc)) se->proc = argv[0];
|
@@ -419,22 +419,22 @@ static VALUE rb_gsl_siman_params_set(int argc, VALUE *argv, VALUE obj)
|
|
419
419
|
switch (argc) {
|
420
420
|
case 7:
|
421
421
|
params->t_min = NUM2DBL(argv[6]);
|
422
|
-
|
422
|
+
/* no break */
|
423
423
|
case 6:
|
424
424
|
params->mu_t = NUM2DBL(argv[5]);
|
425
|
-
|
425
|
+
/* no break */
|
426
426
|
case 5:
|
427
427
|
params->t_initial = NUM2DBL(argv[4]);
|
428
|
-
|
428
|
+
/* no break */
|
429
429
|
case 4:
|
430
430
|
params->k = NUM2DBL(argv[3]);
|
431
|
-
|
431
|
+
/* no break */
|
432
432
|
case 3:
|
433
433
|
params->step_size = NUM2DBL(argv[2]);
|
434
|
-
|
434
|
+
/* no break */
|
435
435
|
case 2:
|
436
436
|
params->iters_fixed_T = NUM2INT(argv[1]);
|
437
|
-
|
437
|
+
/* no break */
|
438
438
|
case 1:
|
439
439
|
params->n_tries = NUM2INT(argv[0]);
|
440
440
|
}
|
@@ -551,16 +551,16 @@ static VALUE rb_gsl_siman_params_params(VALUE obj)
|
|
551
551
|
gsl_siman_params_t *params = NULL;
|
552
552
|
Data_Get_Struct(obj, gsl_siman_params_t, params);
|
553
553
|
return rb_ary_new3(7, INT2FIX(params->n_tries), INT2FIX(params->iters_fixed_T),
|
554
|
-
|
555
|
-
|
556
|
-
|
554
|
+
rb_float_new(params->step_size), rb_float_new(params->k),
|
555
|
+
rb_float_new(params->t_initial), rb_float_new(params->mu_t),
|
556
|
+
rb_float_new(params->t_min));
|
557
557
|
}
|
558
558
|
|
559
559
|
/***** solver *****/
|
560
560
|
static VALUE rb_gsl_siman_solver_solve(VALUE obj, VALUE rng,
|
561
|
-
|
562
|
-
|
563
|
-
|
561
|
+
VALUE vx0p, VALUE vefunc,
|
562
|
+
VALUE vstep, VALUE vmetric, VALUE vprint,
|
563
|
+
VALUE vparams)
|
564
564
|
{
|
565
565
|
gsl_rng *r = NULL;
|
566
566
|
siman_solver *ss = NULL;
|
@@ -587,17 +587,16 @@ static VALUE rb_gsl_siman_solver_solve(VALUE obj, VALUE rng,
|
|
587
587
|
}
|
588
588
|
if (!rb_obj_is_kind_of(rng, cgsl_rng))
|
589
589
|
rb_raise(rb_eTypeError, "wrong argument type %s (GSL::Rng expected)",
|
590
|
-
|
590
|
+
rb_class2name(CLASS_OF(rng)));
|
591
591
|
if (!rb_obj_is_kind_of(vefunc, cgsl_siman_Efunc))
|
592
592
|
rb_raise(rb_eTypeError, "wrong argument type %s (GSL::Siman::Efunc expected)",
|
593
|
-
|
593
|
+
rb_class2name(CLASS_OF(vefunc)));
|
594
594
|
if (!rb_obj_is_kind_of(vstep, cgsl_siman_step))
|
595
595
|
rb_raise(rb_eTypeError, "wrong argument type %s (GSL::Siman::Step expected)",
|
596
|
-
|
596
|
+
rb_class2name(CLASS_OF(vstep)));
|
597
597
|
if (!rb_obj_is_kind_of(vmetric, cgsl_siman_metric))
|
598
598
|
rb_raise(rb_eTypeError, "wrong argument type %s (GSL::Siman::Metric expected)",
|
599
|
-
|
600
|
-
|
599
|
+
rb_class2name(CLASS_OF(vmetric)));
|
601
600
|
Data_Get_Struct(rng, gsl_rng, r);
|
602
601
|
Data_Get_Struct(vefunc, siman_Efunc, efunc);
|
603
602
|
Data_Get_Struct(vstep, siman_step, step);
|
@@ -607,14 +606,13 @@ static VALUE rb_gsl_siman_solver_solve(VALUE obj, VALUE rng,
|
|
607
606
|
} else {
|
608
607
|
if (!rb_obj_is_kind_of(vprint, cgsl_siman_print))
|
609
608
|
rb_raise(rb_eTypeError, "wrong argument type %s (GSL::Siman::Print expected)",
|
610
|
-
|
609
|
+
rb_class2name(CLASS_OF(vprint)));
|
611
610
|
Data_Get_Struct(vprint, siman_print, print);
|
612
611
|
ss->proc_print = print->proc;
|
613
612
|
}
|
614
613
|
if (!rb_obj_is_kind_of(vparams, cgsl_siman_params))
|
615
614
|
rb_raise(rb_eTypeError, "wrong argument type %s (GSL::Siman::Params expected)",
|
616
|
-
|
617
|
-
|
615
|
+
rb_class2name(CLASS_OF(vparams)));
|
618
616
|
Data_Get_Struct(vparams, gsl_siman_params_t, params);
|
619
617
|
|
620
618
|
ss->proc_efunc = efunc->proc;
|
@@ -624,30 +622,28 @@ static VALUE rb_gsl_siman_solver_solve(VALUE obj, VALUE rng,
|
|
624
622
|
gsl_vector_memcpy(ss->vx, vtmp);
|
625
623
|
|
626
624
|
if (NIL_P(vprint)) {
|
627
|
-
gsl_siman_solve(r, ss, rb_gsl_siman_Efunc_t,
|
628
|
-
|
629
|
-
|
630
|
-
|
631
|
-
|
632
|
-
|
633
|
-
|
634
|
-
|
625
|
+
gsl_siman_solve(r, ss, rb_gsl_siman_Efunc_t,
|
626
|
+
rb_gsl_siman_step_t,
|
627
|
+
rb_gsl_siman_metric_t,
|
628
|
+
NULL,
|
629
|
+
rb_gsl_siman_copy_t,
|
630
|
+
rb_gsl_siman_copy_construct_t,
|
631
|
+
rb_gsl_siman_destroy_t, 0,
|
632
|
+
*params);
|
635
633
|
|
636
634
|
} else {
|
637
|
-
gsl_siman_solve(r, ss, rb_gsl_siman_Efunc_t,
|
638
|
-
|
639
|
-
|
640
|
-
|
641
|
-
|
642
|
-
|
643
|
-
|
644
|
-
|
635
|
+
gsl_siman_solve(r, ss, rb_gsl_siman_Efunc_t,
|
636
|
+
rb_gsl_siman_step_t,
|
637
|
+
rb_gsl_siman_metric_t,
|
638
|
+
rb_gsl_siman_print_t,
|
639
|
+
rb_gsl_siman_copy_t,
|
640
|
+
rb_gsl_siman_copy_construct_t,
|
641
|
+
rb_gsl_siman_destroy_t, 0,
|
642
|
+
*params);
|
645
643
|
}
|
646
|
-
|
647
644
|
gsl_vector_memcpy(vtmp, ss->vx);
|
648
645
|
|
649
646
|
if (flag == 1) gsl_siman_solver_free(ss);
|
650
|
-
|
651
647
|
return obj;
|
652
648
|
}
|
653
649
|
|
@@ -681,7 +677,7 @@ void Init_gsl_siman(VALUE module)
|
|
681
677
|
rb_define_singleton_method(cgsl_siman_metric, "alloc", rb_gsl_siman_metric_new, -1);
|
682
678
|
rb_define_method(cgsl_siman_metric, "set", rb_gsl_siman_metric_set, -1);
|
683
679
|
rb_define_alias(cgsl_siman_metric, "set_proc", "set");
|
684
|
-
|
680
|
+
|
685
681
|
/***** params *****/
|
686
682
|
rb_define_singleton_method(cgsl_siman_params, "alloc", rb_gsl_siman_params_new, -1);
|
687
683
|
rb_define_method(cgsl_siman_params, "set", rb_gsl_siman_params_set, -1);
|
@@ -9,10 +9,10 @@
|
|
9
9
|
WITHOUT ANY WARRANTY.
|
10
10
|
*/
|
11
11
|
|
12
|
-
#include "
|
13
|
-
#include "rb_gsl_array.h"
|
12
|
+
#include "include/rb_gsl_array.h"
|
14
13
|
#include <gsl/gsl_heapsort.h>
|
15
14
|
#include <gsl/gsl_sort.h>
|
15
|
+
|
16
16
|
EXTERN ID RBGSL_ID_call;
|
17
17
|
EXTERN VALUE cgsl_complex;
|
18
18
|
|
@@ -23,7 +23,7 @@ int rb_gsl_comparison_double(const void *aa, const void *bb)
|
|
23
23
|
double *a = NULL, *b = NULL;
|
24
24
|
a = (double *) aa;
|
25
25
|
b = (double *) bb;
|
26
|
-
return FIX2INT(rb_funcall(
|
26
|
+
return FIX2INT(rb_funcall(rb_block_proc(), RBGSL_ID_call, 2, rb_float_new(*a), rb_float_new(*b)));
|
27
27
|
}
|
28
28
|
|
29
29
|
int rb_gsl_comparison_complex(const void *aa, const void *bb)
|
@@ -31,9 +31,9 @@ int rb_gsl_comparison_complex(const void *aa, const void *bb)
|
|
31
31
|
gsl_complex *a = NULL, *b = NULL;
|
32
32
|
a = (gsl_complex *) aa;
|
33
33
|
b = (gsl_complex *) bb;
|
34
|
-
return FIX2INT(rb_funcall(
|
35
|
-
|
36
|
-
|
34
|
+
return FIX2INT(rb_funcall(rb_block_proc(), RBGSL_ID_call, 2,
|
35
|
+
Data_Wrap_Struct(cgsl_complex, 0, NULL, a),
|
36
|
+
Data_Wrap_Struct(cgsl_complex, 0, NULL, b)));
|
37
37
|
}
|
38
38
|
|
39
39
|
static VALUE rb_gsl_heapsort_vector(VALUE obj)
|
@@ -141,7 +141,6 @@ static VALUE rb_gsl_heapsort_index(VALUE obj, VALUE vv)
|
|
141
141
|
/*****/
|
142
142
|
|
143
143
|
#ifdef HAVE_NARRAY_H
|
144
|
-
#include "narray.h"
|
145
144
|
static VALUE rb_gsl_sort_narray(VALUE obj)
|
146
145
|
{
|
147
146
|
struct NARRAY *na;
|
@@ -9,8 +9,8 @@
|
|
9
9
|
WITHOUT ANY WARRANTY.
|
10
10
|
*/
|
11
11
|
|
12
|
-
#include "
|
13
|
-
|
12
|
+
#include "include/rb_gsl_interp.h"
|
13
|
+
|
14
14
|
EXTERN VALUE cgsl_interp_accel; /* defined in interp.c */
|
15
15
|
|
16
16
|
static void rb_gsl_spline_free(rb_gsl_spline *sp);
|
@@ -33,10 +33,10 @@ static VALUE rb_gsl_spline_new(int argc, VALUE *argv, VALUE klass)
|
|
33
33
|
break;
|
34
34
|
default:
|
35
35
|
if (ptrx == NULL) {
|
36
|
-
|
36
|
+
ptrx = get_vector_ptr(argv[i], &stride, &sizex);
|
37
37
|
} else {
|
38
|
-
|
39
|
-
|
38
|
+
ptry = get_vector_ptr(argv[i], &stride, &sizey);
|
39
|
+
size = GSL_MIN_INT(sizex, sizey);
|
40
40
|
}
|
41
41
|
break;
|
42
42
|
}
|
@@ -65,9 +65,6 @@ static VALUE rb_gsl_spline_init(VALUE obj, VALUE xxa, VALUE yya)
|
|
65
65
|
size_t i, size;
|
66
66
|
int flagx = 0, flagy = 0;
|
67
67
|
double *ptr1 = NULL, *ptr2 = NULL;
|
68
|
-
#ifdef HAVE_NARRAY_H
|
69
|
-
struct NARRAY *nax = NULL, *nay = NULL;
|
70
|
-
#endif
|
71
68
|
Data_Get_Struct(obj, rb_gsl_spline, sp);
|
72
69
|
p = sp->s;
|
73
70
|
if (TYPE(xxa) == T_ARRAY) {
|
@@ -83,9 +80,10 @@ static VALUE rb_gsl_spline_init(VALUE obj, VALUE xxa, VALUE yya)
|
|
83
80
|
ptr1 = xa->data;
|
84
81
|
#ifdef HAVE_NARRAY_H
|
85
82
|
} else if (NA_IsNArray(xxa)) {
|
86
|
-
|
87
|
-
|
88
|
-
|
83
|
+
struct NARRAY *nax = NULL;
|
84
|
+
GetNArray(xxa, nax);
|
85
|
+
size = nax->total;
|
86
|
+
ptr1 = (double *) nax->ptr;
|
89
87
|
#endif
|
90
88
|
} else {
|
91
89
|
rb_raise(rb_eTypeError, "not a vector");
|
@@ -97,8 +95,9 @@ static VALUE rb_gsl_spline_init(VALUE obj, VALUE xxa, VALUE yya)
|
|
97
95
|
flagy = 1;
|
98
96
|
#ifdef HAVE_NARRAY_H
|
99
97
|
} else if (NA_IsNArray(yya)) {
|
100
|
-
|
101
|
-
|
98
|
+
struct NARRAY *nay = NULL;
|
99
|
+
GetNArray(yya, nay);
|
100
|
+
ptr2 = (double *) nay->ptr;
|
102
101
|
#endif
|
103
102
|
} else if (VECTOR_P(yya)) {
|
104
103
|
Data_Get_Struct(yya, gsl_vector, ya);
|
@@ -120,8 +119,8 @@ static VALUE rb_gsl_spline_accel(VALUE obj)
|
|
120
119
|
}
|
121
120
|
|
122
121
|
static VALUE rb_gsl_spline_evaluate(VALUE obj, VALUE xx,
|
123
|
-
|
124
|
-
|
122
|
+
double (*eval)(const gsl_spline *, double,
|
123
|
+
gsl_interp_accel *))
|
125
124
|
{
|
126
125
|
rb_gsl_spline *rgs = NULL;
|
127
126
|
gsl_vector *v = NULL, *vnew = NULL;
|
@@ -129,10 +128,6 @@ static VALUE rb_gsl_spline_evaluate(VALUE obj, VALUE xx,
|
|
129
128
|
VALUE ary, x;
|
130
129
|
double val;
|
131
130
|
size_t n, i, j;
|
132
|
-
#ifdef HAVE_NARRAY_H
|
133
|
-
double *ptr1 = NULL, *ptr2 = NULL;
|
134
|
-
struct NARRAY *na = NULL;
|
135
|
-
#endif
|
136
131
|
Data_Get_Struct(obj, rb_gsl_spline, rgs);
|
137
132
|
if (CLASS_OF(xx) == rb_cRange) xx = rb_gsl_range2ary(xx);
|
138
133
|
switch (TYPE(xx)) {
|
@@ -155,13 +150,15 @@ static VALUE rb_gsl_spline_evaluate(VALUE obj, VALUE xx,
|
|
155
150
|
default:
|
156
151
|
#ifdef HAVE_NARRAY_H
|
157
152
|
if (NA_IsNArray(xx)) {
|
153
|
+
double *ptr1 = NULL, *ptr2 = NULL;
|
154
|
+
struct NARRAY *na = NULL;
|
158
155
|
GetNArray(xx, na);
|
159
156
|
ptr1 = (double *) na->ptr;
|
160
157
|
n = na->total;
|
161
158
|
ary = na_make_object(NA_DFLOAT, na->rank, na->shape, CLASS_OF(xx));
|
162
159
|
ptr2 = NA_PTR_TYPE(ary, double*);
|
163
|
-
for (i = 0; i < n; i++)
|
164
|
-
|
160
|
+
for (i = 0; i < n; i++)
|
161
|
+
ptr2[i] = (*eval)(rgs->s, ptr1[i], rgs->a);
|
165
162
|
return ary;
|
166
163
|
}
|
167
164
|
#endif
|
@@ -169,18 +166,18 @@ static VALUE rb_gsl_spline_evaluate(VALUE obj, VALUE xx,
|
|
169
166
|
Data_Get_Struct(xx, gsl_vector, v);
|
170
167
|
vnew = gsl_vector_alloc(v->size);
|
171
168
|
for (i = 0; i < v->size; i++) {
|
172
|
-
|
173
|
-
|
169
|
+
val = (*eval)(rgs->s, gsl_vector_get(v, i), rgs->a);
|
170
|
+
gsl_vector_set(vnew, i, val);
|
174
171
|
}
|
175
172
|
return Data_Wrap_Struct(cgsl_vector, 0, gsl_vector_free, vnew);
|
176
173
|
} else if (MATRIX_P(xx)) {
|
177
174
|
Data_Get_Struct(xx, gsl_matrix, m);
|
178
175
|
mnew = gsl_matrix_alloc(m->size1, m->size2);
|
179
176
|
for (i = 0; i < m->size1; i++) {
|
180
|
-
|
181
|
-
|
182
|
-
|
183
|
-
|
177
|
+
for (j = 0; j < m->size2; j++) {
|
178
|
+
val = (*eval)(rgs->s, gsl_matrix_get(m, i, j), rgs->a);
|
179
|
+
gsl_matrix_set(mnew, i, j, val);
|
180
|
+
}
|
184
181
|
}
|
185
182
|
return Data_Wrap_Struct(cgsl_matrix, 0, gsl_matrix_free, mnew);
|
186
183
|
} else {
|
@@ -270,7 +267,7 @@ static VALUE rb_gsl_spline_eval_deriv_e(VALUE obj, VALUE xx)
|
|
270
267
|
default:
|
271
268
|
return rb_float_new(val);
|
272
269
|
break;
|
273
|
-
}
|
270
|
+
}
|
274
271
|
return Qnil;
|
275
272
|
}
|
276
273
|
|
@@ -289,7 +286,7 @@ static VALUE rb_gsl_spline_eval_deriv2_e(VALUE obj, VALUE xx)
|
|
289
286
|
default:
|
290
287
|
return rb_float_new(val);
|
291
288
|
break;
|
292
|
-
}
|
289
|
+
}
|
293
290
|
return Qnil;
|
294
291
|
}
|
295
292
|
|
@@ -308,7 +305,7 @@ static VALUE rb_gsl_spline_eval_integ_e(VALUE obj, VALUE a, VALUE b)
|
|
308
305
|
default:
|
309
306
|
return rb_float_new(val);
|
310
307
|
break;
|
311
|
-
}
|
308
|
+
}
|
312
309
|
return Qnil;
|
313
310
|
}
|
314
311
|
|
@@ -318,7 +315,7 @@ static VALUE rb_gsl_spline_info(VALUE obj)
|
|
318
315
|
char buf[256];
|
319
316
|
Data_Get_Struct(obj, rb_gsl_spline, p);
|
320
317
|
sprintf(buf, "Class: %s\n", rb_class2name(CLASS_OF(obj)));
|
321
|
-
|
318
|
+
sprintf(buf, "%sSuperClass: %s\n", buf, rb_class2name(RCLASS_SUPER(CLASS_OF(obj))));
|
322
319
|
sprintf(buf, "%sType: %s\n", buf, gsl_interp_name(p->s->interp));
|
323
320
|
sprintf(buf, "%sxmin: %f\n", buf, p->s->interp->xmin);
|
324
321
|
sprintf(buf, "%sxmax: %f\n", buf, p->s->interp->xmax);
|
@@ -326,7 +323,6 @@ static VALUE rb_gsl_spline_info(VALUE obj)
|
|
326
323
|
return rb_str_new2(buf);
|
327
324
|
}
|
328
325
|
|
329
|
-
#ifdef GSL_1_8_LATER
|
330
326
|
static VALUE rb_gsl_spline_name(VALUE obj)
|
331
327
|
{
|
332
328
|
rb_gsl_spline *p = NULL;
|
@@ -340,17 +336,6 @@ static VALUE rb_gsl_spline_min_size(VALUE obj)
|
|
340
336
|
return UINT2NUM(gsl_spline_min_size(sp->s));
|
341
337
|
}
|
342
338
|
|
343
|
-
#else
|
344
|
-
|
345
|
-
static VALUE rb_gsl_spline_name(VALUE obj)
|
346
|
-
{
|
347
|
-
rb_gsl_spline *sp = NULL;
|
348
|
-
Data_Get_Struct(obj, rb_gsl_spline, sp);
|
349
|
-
return rb_str_new2(gsl_interp_name(sp->s->interp));
|
350
|
-
}
|
351
|
-
|
352
|
-
#endif
|
353
|
-
|
354
339
|
void Init_gsl_spline(VALUE module)
|
355
340
|
{
|
356
341
|
VALUE cgsl_spline;
|
@@ -388,8 +373,5 @@ void Init_gsl_spline(VALUE module)
|
|
388
373
|
|
389
374
|
rb_define_method(cgsl_spline, "info", rb_gsl_spline_info, 0);
|
390
375
|
|
391
|
-
#ifdef GSL_1_8_LATER
|
392
376
|
rb_define_method(cgsl_spline, "min_size", rb_gsl_spline_min_size, 0);
|
393
|
-
#endif
|
394
|
-
|
395
377
|
}
|
@@ -8,15 +8,12 @@
|
|
8
8
|
This library is distributed in the hope that it will be useful, but
|
9
9
|
WITHOUT ANY WARRANTY.
|
10
10
|
*/
|
11
|
-
#include "rb_gsl_config.h"
|
12
|
-
#include "rb_gsl_array.h"
|
13
|
-
#include "rb_gsl_statistics.h"
|
14
|
-
#ifdef HAVE_NARRAY_H
|
15
|
-
#include "narray.h"
|
16
|
-
#endif
|
17
11
|
|
18
|
-
|
19
|
-
|
12
|
+
#include "include/rb_gsl_array.h"
|
13
|
+
#include "include/rb_gsl_statistics.h"
|
14
|
+
|
15
|
+
static double* get_vector_stats2(int argc, VALUE *argv, VALUE obj,
|
16
|
+
size_t *stride, size_t *size)
|
20
17
|
{
|
21
18
|
double *v = NULL;
|
22
19
|
switch (TYPE(obj)) {
|
@@ -32,7 +29,7 @@ static double* get_vector_stats2(int argc, VALUE *argv, VALUE obj,
|
|
32
29
|
}
|
33
30
|
|
34
31
|
static VALUE rb_gsl_stats_XXX(int argc, VALUE *argv, VALUE obj,
|
35
|
-
|
32
|
+
double (*f)(const double*, size_t, size_t))
|
36
33
|
{
|
37
34
|
size_t stride, size;
|
38
35
|
double *data = NULL;
|
@@ -40,8 +37,8 @@ static VALUE rb_gsl_stats_XXX(int argc, VALUE *argv, VALUE obj,
|
|
40
37
|
return rb_float_new((*f)(data, stride, size));
|
41
38
|
}
|
42
39
|
|
43
|
-
static VALUE rb_gsl_stats_XXX1(int argc, VALUE *argv, VALUE obj,
|
44
|
-
|
40
|
+
static VALUE rb_gsl_stats_XXX1(int argc, VALUE *argv, VALUE obj,
|
41
|
+
double (*f)(const double*, size_t, size_t, double))
|
45
42
|
{
|
46
43
|
size_t stride, size;
|
47
44
|
double *data = NULL;
|
@@ -50,9 +47,9 @@ static VALUE rb_gsl_stats_XXX1(int argc, VALUE *argv, VALUE obj,
|
|
50
47
|
return rb_float_new((*f)(data, stride, size, NUM2DBL(argv[argc-1])));
|
51
48
|
}
|
52
49
|
|
53
|
-
static VALUE rb_gsl_stats_XXX2(int argc, VALUE *argv, VALUE obj,
|
54
|
-
|
55
|
-
|
50
|
+
static VALUE rb_gsl_stats_XXX2(int argc, VALUE *argv, VALUE obj,
|
51
|
+
double (*f)(const double*, size_t, size_t),
|
52
|
+
double (*fm)(const double*, size_t, size_t, double, double))
|
56
53
|
{
|
57
54
|
double x, a, b, *data = NULL;
|
58
55
|
size_t stride, size;
|
@@ -69,8 +66,8 @@ static VALUE rb_gsl_stats_XXX2(int argc, VALUE *argv, VALUE obj,
|
|
69
66
|
x = (*f)(data, stride, size);
|
70
67
|
break;
|
71
68
|
default:
|
72
|
-
rb_raise(rb_eArgError,
|
73
|
-
|
69
|
+
rb_raise(rb_eArgError,
|
70
|
+
"wrong number of arguments (%d for 1 or 2)", argc);
|
74
71
|
break;
|
75
72
|
}
|
76
73
|
break;
|
@@ -86,8 +83,8 @@ static VALUE rb_gsl_stats_XXX2(int argc, VALUE *argv, VALUE obj,
|
|
86
83
|
x = (*fm)(data, stride, size, a, b);
|
87
84
|
break;
|
88
85
|
default:
|
89
|
-
rb_raise(rb_eArgError,
|
90
|
-
|
86
|
+
rb_raise(rb_eArgError,
|
87
|
+
"wrong number of arguments (%d for 0 or 1)", argc);
|
91
88
|
break;
|
92
89
|
}
|
93
90
|
break;
|
@@ -101,8 +98,8 @@ static VALUE rb_gsl_stats_mean(int argc, VALUE *argv, VALUE obj)
|
|
101
98
|
}
|
102
99
|
|
103
100
|
static VALUE rb_gsl_stats_XXX_m(int argc, VALUE *argv, VALUE obj,
|
104
|
-
|
105
|
-
|
101
|
+
double (*f)(const double*, size_t, size_t),
|
102
|
+
double (*fm)(const double*, size_t, size_t, double))
|
106
103
|
{
|
107
104
|
double x, mean, *data = NULL;
|
108
105
|
size_t stride, size;
|
@@ -119,8 +116,8 @@ static VALUE rb_gsl_stats_XXX_m(int argc, VALUE *argv, VALUE obj,
|
|
119
116
|
x = (*f)(data, stride, size);
|
120
117
|
break;
|
121
118
|
default:
|
122
|
-
rb_raise(rb_eArgError,
|
123
|
-
|
119
|
+
rb_raise(rb_eArgError,
|
120
|
+
"wrong number of arguments (%d for 1 or 2)", argc);
|
124
121
|
break;
|
125
122
|
}
|
126
123
|
break;
|
@@ -136,8 +133,8 @@ static VALUE rb_gsl_stats_XXX_m(int argc, VALUE *argv, VALUE obj,
|
|
136
133
|
x = (*fm)(data, stride, size, mean);
|
137
134
|
break;
|
138
135
|
default:
|
139
|
-
rb_raise(rb_eArgError,
|
140
|
-
|
136
|
+
rb_raise(rb_eArgError,
|
137
|
+
"wrong number of arguments (%d for 0 or 1)", argc);
|
141
138
|
break;
|
142
139
|
}
|
143
140
|
break;
|
@@ -148,70 +145,68 @@ static VALUE rb_gsl_stats_XXX_m(int argc, VALUE *argv, VALUE obj,
|
|
148
145
|
static VALUE rb_gsl_stats_variance_m(int argc, VALUE *argv, VALUE obj)
|
149
146
|
{
|
150
147
|
return rb_gsl_stats_XXX_m(argc, argv, obj,
|
151
|
-
|
148
|
+
gsl_stats_variance, gsl_stats_variance_m);
|
152
149
|
}
|
153
150
|
|
154
151
|
static VALUE rb_gsl_stats_sd_m(int argc, VALUE *argv, VALUE obj)
|
155
152
|
{
|
156
153
|
return rb_gsl_stats_XXX_m(argc, argv, obj,
|
157
|
-
|
154
|
+
gsl_stats_sd, gsl_stats_sd_m);
|
158
155
|
}
|
159
156
|
|
160
|
-
#ifdef GSL_1_11_LATER
|
161
157
|
static VALUE rb_gsl_stats_tss_m(int argc, VALUE *argv, VALUE obj)
|
162
158
|
{
|
163
159
|
return rb_gsl_stats_XXX_m(argc, argv, obj,
|
164
|
-
|
160
|
+
gsl_stats_tss, gsl_stats_tss_m);
|
165
161
|
}
|
166
|
-
#endif
|
167
162
|
|
168
|
-
static VALUE rb_gsl_stats_variance_with_fixed_mean(int argc, VALUE *argv,
|
169
|
-
|
163
|
+
static VALUE rb_gsl_stats_variance_with_fixed_mean(int argc, VALUE *argv,
|
164
|
+
VALUE obj)
|
170
165
|
{
|
171
166
|
return rb_gsl_stats_XXX1(argc, argv, obj,
|
172
|
-
|
167
|
+
gsl_stats_variance_with_fixed_mean);
|
173
168
|
}
|
174
169
|
|
175
|
-
static VALUE rb_gsl_stats_sd_with_fixed_mean(int argc, VALUE *argv,
|
176
|
-
|
170
|
+
static VALUE rb_gsl_stats_sd_with_fixed_mean(int argc, VALUE *argv,
|
171
|
+
VALUE obj)
|
177
172
|
{
|
178
173
|
return rb_gsl_stats_XXX1(argc, argv, obj,
|
179
|
-
|
174
|
+
gsl_stats_sd_with_fixed_mean);
|
180
175
|
}
|
181
176
|
|
182
177
|
static VALUE rb_gsl_stats_absdev_m(int argc, VALUE *argv, VALUE obj)
|
183
178
|
{
|
184
179
|
return rb_gsl_stats_XXX_m(argc, argv, obj,
|
185
|
-
|
180
|
+
gsl_stats_absdev, gsl_stats_absdev_m);
|
186
181
|
}
|
187
182
|
|
188
|
-
static VALUE rb_gsl_stats_skew(int argc, VALUE *argv,
|
189
|
-
|
183
|
+
static VALUE rb_gsl_stats_skew(int argc, VALUE *argv,
|
184
|
+
VALUE obj)
|
190
185
|
{
|
191
186
|
return rb_gsl_stats_XXX2(argc, argv, obj,
|
192
|
-
|
193
|
-
|
187
|
+
gsl_stats_skew,
|
188
|
+
gsl_stats_skew_m_sd);
|
194
189
|
}
|
195
190
|
|
196
|
-
static VALUE rb_gsl_stats_kurtosis(int argc, VALUE *argv,
|
197
|
-
|
191
|
+
static VALUE rb_gsl_stats_kurtosis(int argc, VALUE *argv,
|
192
|
+
VALUE obj)
|
198
193
|
{
|
199
194
|
return rb_gsl_stats_XXX2(argc, argv, obj,
|
200
|
-
|
201
|
-
|
195
|
+
gsl_stats_kurtosis,
|
196
|
+
gsl_stats_kurtosis_m_sd);
|
202
197
|
}
|
203
198
|
|
204
199
|
static VALUE rb_gsl_stats_lag1_autocorrelation(int argc, VALUE *argv, VALUE obj)
|
205
200
|
{
|
206
201
|
return rb_gsl_stats_XXX_m(argc, argv, obj,
|
207
|
-
|
202
|
+
gsl_stats_lag1_autocorrelation, gsl_stats_lag1_autocorrelation_m);
|
208
203
|
}
|
209
204
|
|
210
205
|
/****************************/
|
211
206
|
|
212
|
-
static void get_vector_stats3(int argc, VALUE *argv, VALUE obj,
|
213
|
-
|
214
|
-
|
207
|
+
static void get_vector_stats3(int argc, VALUE *argv, VALUE obj,
|
208
|
+
double **w, size_t *stridew, size_t *sizew,
|
209
|
+
double **x, size_t *stridex, size_t *sizex)
|
215
210
|
{
|
216
211
|
switch (TYPE(obj)) {
|
217
212
|
case T_MODULE: case T_CLASS: case T_OBJECT:
|
@@ -228,8 +223,8 @@ static void get_vector_stats3(int argc, VALUE *argv, VALUE obj,
|
|
228
223
|
}
|
229
224
|
|
230
225
|
static VALUE rb_gsl_stats_wXXX(int argc, VALUE *argv, VALUE obj,
|
231
|
-
|
232
|
-
|
226
|
+
double (*f)(const double*, size_t, const double*,
|
227
|
+
size_t, size_t))
|
233
228
|
{
|
234
229
|
double *w, *x;
|
235
230
|
double mean;
|
@@ -240,8 +235,8 @@ static VALUE rb_gsl_stats_wXXX(int argc, VALUE *argv, VALUE obj,
|
|
240
235
|
}
|
241
236
|
|
242
237
|
static VALUE rb_gsl_stats_wXXX_m(int argc, VALUE *argv, VALUE obj,
|
243
|
-
|
244
|
-
|
238
|
+
double (*f)(const double*, size_t, const double*,
|
239
|
+
size_t, size_t, double))
|
245
240
|
{
|
246
241
|
double *w, *x;
|
247
242
|
double mean;
|
@@ -314,7 +309,7 @@ static VALUE rb_gsl_stats_wskew_m_sd(VALUE obj, VALUE ww, VALUE wm, VALUE wsd)
|
|
314
309
|
x = get_vector_ptr(obj, &stridex, &sizex);
|
315
310
|
w = get_vector_ptr(ww, &stridew, &sizew);
|
316
311
|
skew_m = gsl_stats_wskew_m_sd(w, stridew, x, stridex, sizex, NUM2DBL(wm),
|
317
|
-
|
312
|
+
NUM2DBL(wsd));
|
318
313
|
return rb_float_new(skew_m);
|
319
314
|
}
|
320
315
|
|
@@ -326,7 +321,7 @@ static VALUE rb_gsl_stats_wkurtosis_m_sd(VALUE obj, VALUE ww, VALUE wm, VALUE ws
|
|
326
321
|
x = get_vector_ptr(obj, &stridex, &sizex);
|
327
322
|
w = get_vector_ptr(ww, &stridew, &sizew);
|
328
323
|
kurtosis_m = gsl_stats_wkurtosis_m_sd(w, stridew, x, stridex, sizex, NUM2DBL(wm),
|
329
|
-
|
324
|
+
NUM2DBL(wsd));
|
330
325
|
return rb_float_new(kurtosis_m);
|
331
326
|
}
|
332
327
|
|
@@ -409,7 +404,7 @@ static VALUE rb_gsl_stats_median(int argc, VALUE *argv, VALUE obj)
|
|
409
404
|
static VALUE rb_gsl_stats_quantile_from_sorted_data(int argc, VALUE *argv, VALUE obj)
|
410
405
|
{
|
411
406
|
return rb_gsl_stats_XXX1(argc, argv, obj,
|
412
|
-
|
407
|
+
gsl_stats_quantile_from_sorted_data);
|
413
408
|
/* size_t stride, size;
|
414
409
|
double quantile, *data = NULL;
|
415
410
|
data = get_vector_ptr(obj, &stride, &size);
|
@@ -437,21 +432,20 @@ static VALUE rb_gsl_stats_covariance2(VALUE obj, VALUE vv1, VALUE vv2)
|
|
437
432
|
data1 = get_vector_ptr(vv1, &stride1, &size);
|
438
433
|
data2 = get_vector_ptr(vv2, &stride2, &size);
|
439
434
|
return rb_float_new(gsl_stats_covariance(data1, stride1, data2,
|
440
|
-
|
435
|
+
stride2, size));
|
441
436
|
}
|
442
437
|
|
443
438
|
static VALUE rb_gsl_stats_covariance_m2(VALUE obj, VALUE vv1, VALUE vv2,
|
444
|
-
|
439
|
+
VALUE m1, VALUE m2)
|
445
440
|
{
|
446
441
|
double *data1, *data2;
|
447
442
|
size_t stride1, stride2, size;
|
448
443
|
data1 = get_vector_ptr(vv1, &stride1, &size);
|
449
444
|
data2 = get_vector_ptr(vv2, &stride2, &size);
|
450
445
|
return rb_float_new(gsl_stats_covariance_m(data1, stride1, data2,
|
451
|
-
|
446
|
+
stride2, size, NUM2DBL(m1), NUM2DBL(m2)));
|
452
447
|
}
|
453
448
|
|
454
|
-
#ifdef GSL_1_10_LATER
|
455
449
|
static VALUE rb_gsl_stats_correlation(VALUE obj, VALUE vv1, VALUE vv2)
|
456
450
|
{
|
457
451
|
double *data1, *data2;
|
@@ -459,7 +453,7 @@ static VALUE rb_gsl_stats_correlation(VALUE obj, VALUE vv1, VALUE vv2)
|
|
459
453
|
data1 = get_vector_ptr(vv1, &stride1, &size);
|
460
454
|
data2 = get_vector_ptr(vv2, &stride2, &size);
|
461
455
|
return rb_float_new(gsl_stats_correlation(data1, stride1, data2,
|
462
|
-
|
456
|
+
stride2, size));
|
463
457
|
}
|
464
458
|
static VALUE rb_gsl_stats_pvariance(VALUE obj, VALUE vv1, VALUE vv2)
|
465
459
|
{
|
@@ -468,7 +462,7 @@ static VALUE rb_gsl_stats_pvariance(VALUE obj, VALUE vv1, VALUE vv2)
|
|
468
462
|
data1 = get_vector_ptr(vv1, &stride1, &size1);
|
469
463
|
data2 = get_vector_ptr(vv2, &stride2, &size2);
|
470
464
|
return rb_float_new(gsl_stats_pvariance(data1, stride1, size1, data2,
|
471
|
-
|
465
|
+
stride2, size2));
|
472
466
|
}
|
473
467
|
static VALUE rb_gsl_stats_ttest(VALUE obj, VALUE vv1, VALUE vv2)
|
474
468
|
{
|
@@ -477,9 +471,8 @@ static VALUE rb_gsl_stats_ttest(VALUE obj, VALUE vv1, VALUE vv2)
|
|
477
471
|
data1 = get_vector_ptr(vv1, &stride1, &size1);
|
478
472
|
data2 = get_vector_ptr(vv2, &stride2, &size2);
|
479
473
|
return rb_float_new(gsl_stats_ttest(data1, stride1, size1, data2,
|
480
|
-
|
474
|
+
stride2, size2));
|
481
475
|
}
|
482
|
-
#endif
|
483
476
|
|
484
477
|
static VALUE rb_gsl_stats_wmean2(VALUE obj, VALUE ww, VALUE dd)
|
485
478
|
{
|
@@ -535,8 +528,8 @@ static VALUE rb_gsl_stats_wsd_m2(VALUE obj, VALUE ww, VALUE dd, VALUE mm)
|
|
535
528
|
return rb_float_new(wsd);
|
536
529
|
}
|
537
530
|
|
538
|
-
static VALUE rb_gsl_stats_wvariance_with_fixed_mean2(VALUE obj, VALUE ww, VALUE dd,
|
539
|
-
|
531
|
+
static VALUE rb_gsl_stats_wvariance_with_fixed_mean2(VALUE obj, VALUE ww, VALUE dd,
|
532
|
+
VALUE mm)
|
540
533
|
{
|
541
534
|
double wvariance, m;
|
542
535
|
double *dataw = NULL, *data = NULL;
|
@@ -544,14 +537,14 @@ static VALUE rb_gsl_stats_wvariance_with_fixed_mean2(VALUE obj, VALUE ww, VALUE
|
|
544
537
|
dataw = get_vector_ptr(ww, &stridew, &size);
|
545
538
|
data = get_vector_ptr(dd, &strided, &size);
|
546
539
|
m = NUM2DBL(mm);
|
547
|
-
wvariance = gsl_stats_wvariance_with_fixed_mean(dataw, stridew,
|
548
|
-
|
540
|
+
wvariance = gsl_stats_wvariance_with_fixed_mean(dataw, stridew,
|
541
|
+
data, strided, size, m);
|
549
542
|
|
550
543
|
return rb_float_new(wvariance);
|
551
544
|
}
|
552
545
|
|
553
|
-
static VALUE rb_gsl_stats_wsd_with_fixed_mean2(VALUE obj, VALUE ww, VALUE dd,
|
554
|
-
|
546
|
+
static VALUE rb_gsl_stats_wsd_with_fixed_mean2(VALUE obj, VALUE ww, VALUE dd,
|
547
|
+
VALUE mm)
|
555
548
|
{
|
556
549
|
double wsd, m;
|
557
550
|
double *dataw = NULL, *data = NULL;
|
@@ -651,10 +644,8 @@ void Init_gsl_stats(VALUE module)
|
|
651
644
|
|
652
645
|
rb_define_singleton_method(mgsl_stats, "sd", rb_gsl_stats_sd_m, -1);
|
653
646
|
rb_define_singleton_method(mgsl_stats, "sd_m", rb_gsl_stats_sd_m, -1);
|
654
|
-
#ifdef GSL_1_11_LATER
|
655
647
|
rb_define_singleton_method(mgsl_stats, "tss", rb_gsl_stats_tss_m, -1);
|
656
648
|
rb_define_singleton_method(mgsl_stats, "tss_m", rb_gsl_stats_tss_m, -1);
|
657
|
-
#endif
|
658
649
|
rb_define_singleton_method(mgsl_stats, "sdev", rb_gsl_stats_sd_m, -1);
|
659
650
|
rb_define_singleton_method(mgsl_stats, "sigma", rb_gsl_stats_sd_m, -1);
|
660
651
|
rb_define_method(cgsl_vector, "stats_sd_m", rb_gsl_stats_sd_m, -1);
|
@@ -663,26 +654,24 @@ void Init_gsl_stats(VALUE module)
|
|
663
654
|
rb_define_alias(cgsl_vector, "sd", "stats_sd_m");
|
664
655
|
rb_define_alias(cgsl_vector, "sigma", "stats_sd_m");
|
665
656
|
rb_define_alias(cgsl_vector, "sdev", "stats_sd_m");
|
666
|
-
#ifdef GSL_1_11_LATER
|
667
657
|
rb_define_method(cgsl_vector, "stats_tss_m", rb_gsl_stats_tss_m, -1);
|
668
658
|
rb_define_alias(cgsl_vector, "stats_tss", "stats_tss_m");
|
669
659
|
rb_define_alias(cgsl_vector, "tss_m", "stats_tss_m");
|
670
660
|
rb_define_alias(cgsl_vector, "tss", "stats_tss_m");
|
671
|
-
|
672
|
-
|
673
|
-
|
674
|
-
|
675
|
-
|
676
|
-
|
677
|
-
|
678
|
-
|
679
|
-
|
680
|
-
|
681
|
-
|
682
|
-
|
683
|
-
|
684
|
-
|
685
|
-
"stats_sd_with_fixed_mean");
|
661
|
+
|
662
|
+
rb_define_singleton_method(mgsl_stats, "variance_with_fixed_mean",
|
663
|
+
rb_gsl_stats_variance_with_fixed_mean, -1);
|
664
|
+
rb_define_method(cgsl_vector, "stats_variance_with_fixed_mean",
|
665
|
+
rb_gsl_stats_variance_with_fixed_mean, -1);
|
666
|
+
rb_define_alias(cgsl_vector, "variance_with_fixed_mean",
|
667
|
+
"stats_variance_with_fixed_mean");
|
668
|
+
|
669
|
+
rb_define_singleton_method(mgsl_stats, "sd_with_fixed_mean",
|
670
|
+
rb_gsl_stats_sd_with_fixed_mean, -1);
|
671
|
+
rb_define_method(cgsl_vector, "stats_sd_with_fixed_mean",
|
672
|
+
rb_gsl_stats_sd_with_fixed_mean, -1);
|
673
|
+
rb_define_alias(cgsl_vector, "sd_with_fixed_mean",
|
674
|
+
"stats_sd_with_fixed_mean");
|
686
675
|
|
687
676
|
rb_define_singleton_method(mgsl_stats, "absdev", rb_gsl_stats_absdev_m, -1);
|
688
677
|
rb_define_singleton_method(mgsl_stats, "absdev_m", rb_gsl_stats_absdev_m, -1);
|
@@ -710,24 +699,22 @@ void Init_gsl_stats(VALUE module)
|
|
710
699
|
|
711
700
|
rb_define_singleton_method(mgsl_stats, "covariance", rb_gsl_stats_covariance2, 2);
|
712
701
|
rb_define_singleton_method(mgsl_stats, "covariance_m", rb_gsl_stats_covariance_m2, 4);
|
713
|
-
|
714
|
-
|
715
|
-
rb_define_singleton_method(mgsl_stats, "
|
716
|
-
rb_define_singleton_method(mgsl_stats, "
|
717
|
-
rb_define_singleton_method(mgsl_stats, "ttest", rb_gsl_stats_ttest, 2);
|
718
|
-
#endif
|
702
|
+
|
703
|
+
rb_define_singleton_method(mgsl_stats, "correlation", rb_gsl_stats_correlation, 2);
|
704
|
+
rb_define_singleton_method(mgsl_stats, "pvariance", rb_gsl_stats_pvariance, 2);
|
705
|
+
rb_define_singleton_method(mgsl_stats, "ttest", rb_gsl_stats_ttest, 2);
|
719
706
|
|
720
707
|
/*****/
|
721
|
-
|
708
|
+
|
722
709
|
rb_define_singleton_method(mgsl_stats, "wmean", rb_gsl_stats_wmean2, -1);
|
723
710
|
rb_define_singleton_method(mgsl_stats, "wvariance", rb_gsl_stats_wvariance2, -1);
|
724
711
|
rb_define_singleton_method(mgsl_stats, "wvariance_m", rb_gsl_stats_wvariance_m2, -1);
|
725
712
|
rb_define_singleton_method(mgsl_stats, "wsd", rb_gsl_stats_wsd2, -1);
|
726
713
|
rb_define_singleton_method(mgsl_stats, "wsd_m", rb_gsl_stats_wsd_m2, -1);
|
727
|
-
rb_define_singleton_method(mgsl_stats, "wvariance_with_fixed_mean",
|
728
|
-
|
729
|
-
rb_define_singleton_method(mgsl_stats, "wsd_with_fixed_mean",
|
730
|
-
|
714
|
+
rb_define_singleton_method(mgsl_stats, "wvariance_with_fixed_mean",
|
715
|
+
rb_gsl_stats_wvariance_with_fixed_mean2, -1);
|
716
|
+
rb_define_singleton_method(mgsl_stats, "wsd_with_fixed_mean",
|
717
|
+
rb_gsl_stats_wsd_with_fixed_mean2, -1);
|
731
718
|
rb_define_singleton_method(mgsl_stats, "wabsdev", rb_gsl_stats_wabsdev2, -1);
|
732
719
|
rb_define_singleton_method(mgsl_stats, "wabsdev_m", rb_gsl_stats_wabsdev_m2, -1);
|
733
720
|
rb_define_singleton_method(mgsl_stats, "wskew", rb_gsl_stats_wskew2, -1);
|
@@ -747,12 +734,12 @@ void Init_gsl_stats(VALUE module)
|
|
747
734
|
rb_define_alias(cgsl_vector, "wsd", "stats_wsd");
|
748
735
|
rb_define_method(cgsl_vector, "stats_wsd_m", rb_gsl_stats_wsd_m, -1);
|
749
736
|
rb_define_alias(cgsl_vector, "wsd_m", "stats_wsd_m");
|
750
|
-
rb_define_method(cgsl_vector, "stats_wvariance_with_fixed_mean",
|
751
|
-
|
752
|
-
rb_define_alias(cgsl_vector, "wvariance_with_fixed_mean",
|
753
|
-
|
754
|
-
rb_define_method(cgsl_vector, "stats_wsd_with_fixed_mean",
|
755
|
-
|
737
|
+
rb_define_method(cgsl_vector, "stats_wvariance_with_fixed_mean",
|
738
|
+
rb_gsl_stats_wvariance_with_fixed_mean, -1);
|
739
|
+
rb_define_alias(cgsl_vector, "wvariance_with_fixed_mean",
|
740
|
+
"stats_wvariance_with_fixed_mean");
|
741
|
+
rb_define_method(cgsl_vector, "stats_wsd_with_fixed_mean",
|
742
|
+
rb_gsl_stats_wsd_with_fixed_mean, -1);
|
756
743
|
rb_define_alias(cgsl_vector, "wsd_with_fixed_mean", "stats_wsd_with_fixed_mean");
|
757
744
|
rb_define_method(cgsl_vector, "stats_wabsdev", rb_gsl_stats_wabsdev, -1);
|
758
745
|
rb_define_alias(cgsl_vector, "wabsdev", "stats_wabsdev");
|
@@ -764,8 +751,8 @@ void Init_gsl_stats(VALUE module)
|
|
764
751
|
rb_define_alias(cgsl_vector, "wskew_m_sd", "stats_wskew_m_sd");
|
765
752
|
rb_define_method(cgsl_vector, "stats_wkurtosis", rb_gsl_stats_wkurtosis, -1);
|
766
753
|
rb_define_alias(cgsl_vector, "wkurtosis", "stats_wkurtosis");
|
767
|
-
rb_define_method(cgsl_vector, "stats_wkurtosis_m_sd",
|
768
|
-
|
754
|
+
rb_define_method(cgsl_vector, "stats_wkurtosis_m_sd",
|
755
|
+
rb_gsl_stats_wkurtosis_m_sd, 2);
|
769
756
|
rb_define_alias(cgsl_vector, "wkurtosis_m_sd", "stats_wkurtosis_m_sd");
|
770
757
|
|
771
758
|
/*****/
|
@@ -774,8 +761,8 @@ void Init_gsl_stats(VALUE module)
|
|
774
761
|
rb_define_singleton_method(mgsl_stats, "minmax", rb_gsl_stats_minmax, -1);
|
775
762
|
rb_define_singleton_method(mgsl_stats, "max_index", rb_gsl_stats_max_index, -1);
|
776
763
|
rb_define_singleton_method(mgsl_stats, "min_index", rb_gsl_stats_min_index, -1);
|
777
|
-
rb_define_singleton_method(mgsl_stats, "minmax_index",
|
778
|
-
|
764
|
+
rb_define_singleton_method(mgsl_stats, "minmax_index",
|
765
|
+
rb_gsl_stats_minmax_index, -1);
|
779
766
|
|
780
767
|
rb_define_method(cgsl_vector, "stats_max", rb_gsl_stats_max, -1);
|
781
768
|
rb_define_method(cgsl_vector, "stats_min", rb_gsl_stats_min, -1);
|
@@ -784,17 +771,17 @@ void Init_gsl_stats(VALUE module)
|
|
784
771
|
rb_define_method(cgsl_vector, "stats_min_index", rb_gsl_stats_min_index, -1);
|
785
772
|
rb_define_method(cgsl_vector, "stats_minmax_index", rb_gsl_stats_minmax_index, -1);
|
786
773
|
|
787
|
-
rb_define_singleton_method(mgsl_stats, "median_from_sorted_data",
|
788
|
-
|
789
|
-
rb_define_method(cgsl_vector, "stats_median_from_sorted_data",
|
790
|
-
|
791
|
-
rb_define_alias(cgsl_vector, "median_from_sorted_data",
|
792
|
-
|
774
|
+
rb_define_singleton_method(mgsl_stats, "median_from_sorted_data",
|
775
|
+
rb_gsl_stats_median_from_sorted_data, -1);
|
776
|
+
rb_define_method(cgsl_vector, "stats_median_from_sorted_data",
|
777
|
+
rb_gsl_stats_median_from_sorted_data, -1);
|
778
|
+
rb_define_alias(cgsl_vector, "median_from_sorted_data",
|
779
|
+
"stats_median_from_sorted_data");
|
793
780
|
rb_define_method(cgsl_vector, "median", rb_gsl_stats_median, -1);
|
794
781
|
|
795
|
-
rb_define_method(cgsl_vector, "stats_quantile_from_sorted_data",
|
796
|
-
|
797
|
-
rb_define_alias(cgsl_vector, "quantile_from_sorted_data",
|
798
|
-
|
782
|
+
rb_define_method(cgsl_vector, "stats_quantile_from_sorted_data",
|
783
|
+
rb_gsl_stats_quantile_from_sorted_data, -1);
|
784
|
+
rb_define_alias(cgsl_vector, "quantile_from_sorted_data",
|
785
|
+
"stats_quantile_from_sorted_data");
|
799
786
|
|
800
787
|
}
|