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,16 +9,14 @@
|
|
9
9
|
WITHOUT ANY WARRANTY.
|
10
10
|
*/
|
11
11
|
|
12
|
-
#include "
|
13
|
-
#include "
|
14
|
-
#include "
|
15
|
-
#include "rb_gsl_array.h"
|
12
|
+
#include "include/rb_gsl_histogram.h"
|
13
|
+
#include "include/rb_gsl_common.h"
|
14
|
+
#include "include/rb_gsl_array.h"
|
16
15
|
|
17
16
|
VALUE cgsl_histogram2d;
|
18
17
|
VALUE cgsl_histogram2d_view;
|
19
18
|
static VALUE cgsl_histogram2d_integ;
|
20
19
|
|
21
|
-
#ifdef GSL_0_9_4_LATER
|
22
20
|
static VALUE rb_gsl_histogram2d_alloc_uniform(int argc, VALUE *argv, VALUE klass);
|
23
21
|
static VALUE rb_gsl_histogram2d_alloc(int argc, VALUE *argv, VALUE klass)
|
24
22
|
{
|
@@ -79,7 +77,7 @@ static VALUE rb_gsl_histogram2d_alloc_uniform(int argc, VALUE *argv, VALUE klass
|
|
79
77
|
double xmin, xmax, ymin, ymax;
|
80
78
|
switch (argc) {
|
81
79
|
case 4:
|
82
|
-
CHECK_FIXNUM(argv[0]); CHECK_FIXNUM(argv[2]);
|
80
|
+
CHECK_FIXNUM(argv[0]); CHECK_FIXNUM(argv[2]);
|
83
81
|
Check_Type(argv[1], T_ARRAY); Check_Type(argv[3], T_ARRAY);
|
84
82
|
// if (RARRAY(argv[1])->len != 2 || RARRAY(argv[3])->len != 2)
|
85
83
|
if (RARRAY_LEN(argv[1]) != 2 || RARRAY_LEN(argv[3]) != 2)
|
@@ -93,13 +91,13 @@ static VALUE rb_gsl_histogram2d_alloc_uniform(int argc, VALUE *argv, VALUE klass
|
|
93
91
|
return Data_Wrap_Struct(klass, 0, gsl_histogram2d_free, h);
|
94
92
|
break;
|
95
93
|
case 6:
|
96
|
-
CHECK_FIXNUM(argv[0]);
|
94
|
+
CHECK_FIXNUM(argv[0]);
|
97
95
|
Need_Float(argv[1]); Need_Float(argv[2]);
|
98
96
|
CHECK_FIXNUM(argv[3]);
|
99
97
|
Need_Float(argv[4]); Need_Float(argv[5]);
|
100
98
|
h = gsl_histogram2d_alloc(FIX2INT(argv[0]), FIX2INT(argv[3]));
|
101
99
|
gsl_histogram2d_set_ranges_uniform(h, NUM2DBL(argv[1]), NUM2DBL(argv[2]),
|
102
|
-
|
100
|
+
NUM2DBL(argv[4]), NUM2DBL(argv[5]));
|
103
101
|
return Data_Wrap_Struct(klass, 0, gsl_histogram2d_free, h);
|
104
102
|
break;
|
105
103
|
default:
|
@@ -108,7 +106,6 @@ static VALUE rb_gsl_histogram2d_alloc_uniform(int argc, VALUE *argv, VALUE klass
|
|
108
106
|
}
|
109
107
|
return Qnil; /* never reach here */
|
110
108
|
}
|
111
|
-
#endif
|
112
109
|
|
113
110
|
static VALUE rb_gsl_histogram2d_set_ranges(int argc, VALUE *argv, VALUE obj)
|
114
111
|
{
|
@@ -206,7 +203,7 @@ static VALUE rb_gsl_histogram2d_accumulate(int argc, VALUE *argv, VALUE obj)
|
|
206
203
|
n = (size_t) GSL_MIN_INT((int) vx->size, (int) vy->size);
|
207
204
|
for (i = 0; i < n; i++)
|
208
205
|
gsl_histogram2d_accumulate(h, gsl_vector_get(vx, i), gsl_vector_get(vy, i),
|
209
|
-
|
206
|
+
weight);
|
210
207
|
} else {
|
211
208
|
gsl_histogram2d_accumulate(h, NUM2DBL(argv[0]), NUM2DBL(argv[1]), weight);
|
212
209
|
}
|
@@ -216,14 +213,14 @@ static VALUE rb_gsl_histogram2d_accumulate(int argc, VALUE *argv, VALUE obj)
|
|
216
213
|
static VALUE rb_gsl_histogram2d_accumulate2(int argc, VALUE *argv, VALUE obj)
|
217
214
|
{
|
218
215
|
gsl_histogram2d *h = NULL;
|
219
|
-
double x, y, weight=1;
|
216
|
+
double x, y, weight = 1;
|
220
217
|
switch (argc) {
|
221
218
|
case 3:
|
222
219
|
Need_Float(argv[2]);
|
223
220
|
weight = NUM2DBL(argv[2]);
|
224
|
-
|
221
|
+
/* no break */
|
225
222
|
case 2:
|
226
|
-
Need_Float(argv[0]); Need_Float(argv[1]);
|
223
|
+
Need_Float(argv[0]); Need_Float(argv[1]);
|
227
224
|
x = NUM2DBL(argv[0]); y = NUM2DBL(argv[1]);
|
228
225
|
break;
|
229
226
|
default:
|
@@ -255,13 +252,13 @@ static VALUE rb_gsl_histogram2d_get(int argc, VALUE *argv, VALUE obj)
|
|
255
252
|
switch (TYPE(argv[0])) {
|
256
253
|
case T_ARRAY:
|
257
254
|
return rb_float_new(gsl_histogram2d_get(h2, FIX2INT(rb_ary_entry(argv[0], 0)),
|
258
|
-
|
255
|
+
FIX2INT(rb_ary_entry(argv[0], 1))));
|
259
256
|
break;
|
260
257
|
case T_FIXNUM:
|
261
|
-
CHECK_FIXNUM(argv[0]);
|
258
|
+
CHECK_FIXNUM(argv[0]);
|
262
259
|
i = (size_t) FIX2INT(argv[0]);
|
263
260
|
if (i >= h2->ny)
|
264
|
-
|
261
|
+
rb_raise(rb_eIndexError, "wrong index");
|
265
262
|
h1 = ALLOC(mygsl_histogram2d_view);
|
266
263
|
h1->h.n = h2->ny;
|
267
264
|
h1->h.range = h2->yrange;
|
@@ -270,7 +267,7 @@ static VALUE rb_gsl_histogram2d_get(int argc, VALUE *argv, VALUE obj)
|
|
270
267
|
break;
|
271
268
|
default:
|
272
269
|
rb_raise(rb_eTypeError, "wrong argument type %s (Array or Fixnum expected)",
|
273
|
-
|
270
|
+
rb_class2name(CLASS_OF(argv[0])));
|
274
271
|
break;
|
275
272
|
}
|
276
273
|
break;
|
@@ -346,7 +343,7 @@ static VALUE rb_gsl_histogram2d_find(VALUE obj, VALUE x, VALUE y)
|
|
346
343
|
{
|
347
344
|
gsl_histogram2d *h = NULL;
|
348
345
|
size_t i, j;
|
349
|
-
Need_Float(x);Need_Float(y);
|
346
|
+
Need_Float(x); Need_Float(y);
|
350
347
|
Data_Get_Struct(obj, gsl_histogram2d, h);
|
351
348
|
gsl_histogram2d_find(h, NUM2DBL(x), NUM2DBL(y), &i, &j);
|
352
349
|
return rb_ary_new3(2, INT2FIX(i), INT2FIX(j));
|
@@ -384,7 +381,6 @@ static VALUE rb_gsl_histogram2d_min_bin(VALUE obj)
|
|
384
381
|
return rb_ary_new3(2, INT2FIX(i), INT2FIX(j));
|
385
382
|
}
|
386
383
|
|
387
|
-
#ifdef GSL_1_1_LATER
|
388
384
|
static VALUE rb_gsl_histogram2d_xmean(VALUE obj)
|
389
385
|
{
|
390
386
|
gsl_histogram2d *h = NULL;
|
@@ -426,7 +422,6 @@ static VALUE rb_gsl_histogram2d_sum(VALUE obj)
|
|
426
422
|
Data_Get_Struct(obj, gsl_histogram2d, h);
|
427
423
|
return rb_float_new(gsl_histogram2d_sum(h));
|
428
424
|
}
|
429
|
-
#endif
|
430
425
|
|
431
426
|
/* singleton */
|
432
427
|
static VALUE rb_gsl_histogram2d_equal_bins_p(VALUE obj, VALUE hh1, VALUE hh2)
|
@@ -612,7 +607,6 @@ static VALUE rb_gsl_histogram2d_reset(VALUE obj)
|
|
612
607
|
return obj;
|
613
608
|
}
|
614
609
|
|
615
|
-
#ifdef GSL_0_9_4_LATER
|
616
610
|
static VALUE rb_gsl_histogram2d_pdf_alloc(VALUE klass, VALUE nx, VALUE ny)
|
617
611
|
{
|
618
612
|
gsl_histogram2d_pdf *h = NULL;
|
@@ -631,17 +625,6 @@ static VALUE rb_gsl_histogram2d_pdf_init(VALUE obj, VALUE hh)
|
|
631
625
|
gsl_histogram2d_pdf_init(pdf, h);
|
632
626
|
return obj;
|
633
627
|
}
|
634
|
-
#else
|
635
|
-
static VALUE rb_gsl_histogram2d_pdf_alloc(VALUE klass, VALUE hhh)
|
636
|
-
{
|
637
|
-
gsl_histogram2d_pdf *h = NULL;
|
638
|
-
gsl_histogram2d *hh;
|
639
|
-
Data_Get_Struct(hhh, gsl_histogram2d, hh);
|
640
|
-
h = gsl_histogram2d_pdf_alloc(hh);
|
641
|
-
return Data_Wrap_Struct(klass, 0, gsl_histogram2d_pdf_free, h);
|
642
|
-
}
|
643
|
-
|
644
|
-
#endif
|
645
628
|
|
646
629
|
static VALUE rb_gsl_histogram2d_pdf_sample(VALUE obj, VALUE r1, VALUE r2)
|
647
630
|
{
|
@@ -690,7 +673,7 @@ static VALUE rb_gsl_histogram2d_bin(VALUE obj)
|
|
690
673
|
}
|
691
674
|
|
692
675
|
void mygsl_histogram2d_yproject(const gsl_histogram2d *h2, size_t istart,
|
693
|
-
|
676
|
+
size_t iend, gsl_histogram *h)
|
694
677
|
{
|
695
678
|
size_t i, j;
|
696
679
|
double sum;
|
@@ -705,7 +688,7 @@ void mygsl_histogram2d_yproject(const gsl_histogram2d *h2, size_t istart,
|
|
705
688
|
}
|
706
689
|
|
707
690
|
gsl_histogram* mygsl_histogram2d_calloc_yproject(const gsl_histogram2d *h2,
|
708
|
-
|
691
|
+
size_t istart, size_t iend)
|
709
692
|
{
|
710
693
|
gsl_histogram *h;
|
711
694
|
h = gsl_histogram_calloc_range(h2->ny, h2->yrange);
|
@@ -714,7 +697,7 @@ gsl_histogram* mygsl_histogram2d_calloc_yproject(const gsl_histogram2d *h2,
|
|
714
697
|
}
|
715
698
|
|
716
699
|
void mygsl_histogram2d_xproject(const gsl_histogram2d *h2, size_t jstart,
|
717
|
-
|
700
|
+
size_t jend, gsl_histogram *h)
|
718
701
|
{
|
719
702
|
size_t i, j;
|
720
703
|
double sum;
|
@@ -729,7 +712,7 @@ void mygsl_histogram2d_xproject(const gsl_histogram2d *h2, size_t jstart,
|
|
729
712
|
}
|
730
713
|
|
731
714
|
gsl_histogram* mygsl_histogram2d_calloc_xproject(const gsl_histogram2d *h2,
|
732
|
-
|
715
|
+
size_t jstart, size_t jend)
|
733
716
|
{
|
734
717
|
gsl_histogram *h;
|
735
718
|
h = gsl_histogram_calloc_range(h2->nx, h2->xrange);
|
@@ -790,35 +773,35 @@ static VALUE rb_gsl_histogram2d_yproject(int argc, VALUE *argv, VALUE obj)
|
|
790
773
|
}
|
791
774
|
|
792
775
|
static int mygsl_histogram2d_fread2(FILE * stream, gsl_histogram2d * h)
|
793
|
-
{
|
776
|
+
{
|
794
777
|
double xmin, xmax, ymin, ymax;
|
795
778
|
int status;
|
796
779
|
status = gsl_block_raw_fread(stream, &xmin, 1, 1);
|
797
|
-
if (status) return status;
|
780
|
+
if (status) return status;
|
798
781
|
status = gsl_block_raw_fread(stream, &xmax, 1, 1);
|
799
|
-
if (status) return status;
|
782
|
+
if (status) return status;
|
800
783
|
status = gsl_block_raw_fread(stream, &ymin, 1, 1);
|
801
|
-
if (status) return status;
|
784
|
+
if (status) return status;
|
802
785
|
status = gsl_block_raw_fread(stream, &ymax, 1, 1);
|
803
|
-
if (status) return status;
|
786
|
+
if (status) return status;
|
804
787
|
gsl_histogram2d_set_ranges_uniform(h, xmin, xmax, ymin, ymax);
|
805
|
-
status = gsl_block_raw_fread (stream, h->bin, h->nx*h->ny, 1);
|
806
|
-
if (status) return status;
|
788
|
+
status = gsl_block_raw_fread (stream, h->bin, h->nx*h->ny, 1);
|
789
|
+
if (status) return status;
|
807
790
|
return status;
|
808
791
|
}
|
809
792
|
|
810
793
|
static int mygsl_histogram2d_fwrite2(FILE * stream, const gsl_histogram2d * h)
|
811
|
-
{
|
794
|
+
{
|
812
795
|
int status;
|
813
796
|
status = gsl_block_raw_fwrite (stream, h->xrange, 1, 1);
|
814
|
-
if (status) return status;
|
797
|
+
if (status) return status;
|
815
798
|
status = gsl_block_raw_fwrite (stream, h->xrange+h->nx, 1, 1);
|
816
|
-
if (status) return status;
|
799
|
+
if (status) return status;
|
817
800
|
status = gsl_block_raw_fwrite (stream, h->yrange, 1, 1);
|
818
|
-
if (status) return status;
|
801
|
+
if (status) return status;
|
819
802
|
status = gsl_block_raw_fwrite (stream, h->yrange+h->ny, 1, 1);
|
820
|
-
if (status) return status;
|
821
|
-
status = gsl_block_raw_fwrite (stream, h->bin, h->nx*h->ny, 1);
|
803
|
+
if (status) return status;
|
804
|
+
status = gsl_block_raw_fwrite (stream, h->bin, h->nx*h->ny, 1);
|
822
805
|
return status;
|
823
806
|
}
|
824
807
|
|
@@ -847,7 +830,7 @@ static VALUE rb_gsl_histogram2d_fread2(VALUE obj, VALUE io)
|
|
847
830
|
}
|
848
831
|
|
849
832
|
static gsl_histogram2d* mygsl_histogram2d_calloc_integrate(const gsl_histogram2d *h,
|
850
|
-
|
833
|
+
int flag)
|
851
834
|
{
|
852
835
|
gsl_histogram2d *hi;
|
853
836
|
size_t i, j, k;
|
@@ -857,37 +840,37 @@ static gsl_histogram2d* mygsl_histogram2d_calloc_integrate(const gsl_histogram2d
|
|
857
840
|
if (flag == -1) {
|
858
841
|
hi->bin[n-1] = h->bin[n-1];
|
859
842
|
i = nx - 1;
|
860
|
-
for (j = ny-2, k = 0
|
843
|
+
for (j = ny-2, k = 0;; j--, k++) {
|
861
844
|
hi->bin[n-1-k] = gsl_histogram2d_get(hi, i, j+1) + gsl_histogram2d_get(h, i, j);
|
862
845
|
if (j == 0) break;
|
863
846
|
}
|
864
847
|
j = ny - 1;
|
865
|
-
for (i = nx-2
|
848
|
+
for (i = nx-2;; i--) {
|
866
849
|
hi->bin[i*ny + j] = gsl_histogram2d_get(hi, i+1, j) + gsl_histogram2d_get(h, i, j);
|
867
850
|
if (i == 0) break;
|
868
851
|
}
|
869
|
-
for (i = nx-2
|
870
|
-
for (j = ny-2
|
871
|
-
|
872
|
-
|
873
|
-
|
874
|
-
|
875
|
-
|
852
|
+
for (i = nx-2;; i--) {
|
853
|
+
for (j = ny-2;; j--) {
|
854
|
+
hi->bin[i*ny+j] = ((gsl_histogram2d_get(hi, i+1, j)
|
855
|
+
+ gsl_histogram2d_get(hi, i, j+1))
|
856
|
+
- gsl_histogram2d_get(hi, i+1, j+1))
|
857
|
+
+ gsl_histogram2d_get(h, i, j);
|
858
|
+
if (j == 0) break;
|
876
859
|
}
|
877
860
|
if (i == 0) break;
|
878
861
|
}
|
879
862
|
} else {
|
880
863
|
hi->bin[0] = h->bin[0];
|
881
|
-
for (j = 1; j < ny; j++) hi->bin[j] = gsl_histogram2d_get(hi, 0, j-1)
|
882
|
-
|
864
|
+
for (j = 1; j < ny; j++) hi->bin[j] = gsl_histogram2d_get(hi, 0, j-1)
|
865
|
+
+ gsl_histogram2d_get(h, 0, j);
|
883
866
|
for (i = 1; i < nx; i++) hi->bin[i*ny] = gsl_histogram2d_get(hi, i-1, 0)
|
884
|
-
|
867
|
+
+ gsl_histogram2d_get(h, i, 0);
|
885
868
|
for (i = 1; i < nx; i++) {
|
886
869
|
for (j = 1; j < ny; j++) {
|
887
|
-
|
888
|
-
|
889
|
-
|
890
|
-
|
870
|
+
hi->bin[i*ny+j] = ((gsl_histogram2d_get(hi, i-1, j)
|
871
|
+
+ gsl_histogram2d_get(hi, i, j-1))
|
872
|
+
- gsl_histogram2d_get(hi, i-1, j-1))
|
873
|
+
+ gsl_histogram2d_get(h, i, j);
|
891
874
|
}
|
892
875
|
}
|
893
876
|
}
|
@@ -941,40 +924,39 @@ void Init_gsl_histogram2d(VALUE module)
|
|
941
924
|
|
942
925
|
cgsl_histogram2d = rb_define_class_under(module, "Histogram2d", cGSL_Object);
|
943
926
|
cgsl_histogram2d_view = rb_define_class_under(cgsl_histogram2d, "View",
|
944
|
-
|
927
|
+
cgsl_histogram);
|
928
|
+
|
929
|
+
cgsl_histogram2d_integ = rb_define_class_under(cgsl_histogram2d, "Integral",
|
930
|
+
cgsl_histogram2d);
|
945
931
|
|
946
|
-
cgsl_histogram2d_integ = rb_define_class_under(cgsl_histogram2d, "Integral",
|
947
|
-
cgsl_histogram2d);
|
948
|
-
#ifdef GSL_0_9_4_LATER
|
949
932
|
/* rb_define_singleton_method(cgsl_histogram2d, "new", rb_gsl_histogram2d_alloc, -1);*/
|
950
933
|
rb_define_singleton_method(cgsl_histogram2d, "alloc", rb_gsl_histogram2d_alloc, -1);
|
951
|
-
rb_define_singleton_method(cgsl_histogram2d, "new_uniform",
|
952
|
-
|
953
|
-
rb_define_singleton_method(cgsl_histogram2d, "alloc_uniform",
|
954
|
-
|
955
|
-
|
956
|
-
|
957
|
-
|
958
|
-
|
959
|
-
|
960
|
-
|
961
|
-
|
962
|
-
|
963
|
-
|
964
|
-
|
965
|
-
|
966
|
-
|
967
|
-
|
968
|
-
rb_gsl_histogram2d_memcpy, 2);
|
934
|
+
rb_define_singleton_method(cgsl_histogram2d, "new_uniform",
|
935
|
+
rb_gsl_histogram2d_alloc_uniform, -1);
|
936
|
+
rb_define_singleton_method(cgsl_histogram2d, "alloc_uniform",
|
937
|
+
rb_gsl_histogram2d_alloc_uniform, -1);
|
938
|
+
|
939
|
+
rb_define_singleton_method(cgsl_histogram2d, "equal_bins_p",
|
940
|
+
rb_gsl_histogram2d_equal_bins_p, 2);
|
941
|
+
rb_define_singleton_method(cgsl_histogram2d, "equal_bins_p?",
|
942
|
+
rb_gsl_histogram2d_equal_bins_p2, 2);
|
943
|
+
|
944
|
+
rb_define_method(cgsl_histogram2d, "set_ranges",
|
945
|
+
rb_gsl_histogram2d_set_ranges, -1);
|
946
|
+
rb_define_method(cgsl_histogram2d, "set_ranges_uniform",
|
947
|
+
rb_gsl_histogram2d_set_ranges_uniform, -1);
|
948
|
+
|
949
|
+
rb_define_singleton_method(cgsl_histogram2d, "memcpy",
|
950
|
+
rb_gsl_histogram2d_memcpy, 2);
|
969
951
|
rb_define_method(cgsl_histogram2d, "clone", rb_gsl_histogram2d_clone, 0);
|
970
952
|
rb_define_alias(cgsl_histogram2d, "duplicate", "clone");
|
971
|
-
rb_define_method(cgsl_histogram2d, "increment",
|
972
|
-
|
953
|
+
rb_define_method(cgsl_histogram2d, "increment",
|
954
|
+
rb_gsl_histogram2d_accumulate, -1);
|
973
955
|
rb_define_alias(cgsl_histogram2d, "fill", "increment");
|
974
956
|
rb_define_alias(cgsl_histogram2d, "accumulate", "increment");
|
975
957
|
|
976
|
-
rb_define_method(cgsl_histogram2d, "increment2",
|
977
|
-
|
958
|
+
rb_define_method(cgsl_histogram2d, "increment2",
|
959
|
+
rb_gsl_histogram2d_accumulate2, -1);
|
978
960
|
rb_define_alias(cgsl_histogram2d, "accumulate2", "increment2");
|
979
961
|
rb_define_alias(cgsl_histogram2d, "fill2", "increment2");
|
980
962
|
|
@@ -997,7 +979,6 @@ void Init_gsl_histogram2d(VALUE module)
|
|
997
979
|
rb_define_method(cgsl_histogram2d, "min_val", rb_gsl_histogram2d_min_val, 0);
|
998
980
|
rb_define_method(cgsl_histogram2d, "min_bin", rb_gsl_histogram2d_min_bin, 0);
|
999
981
|
|
1000
|
-
#ifdef GSL_1_1_LATER
|
1001
982
|
rb_define_method(cgsl_histogram2d, "xmean", rb_gsl_histogram2d_xmean, 0);
|
1002
983
|
rb_define_method(cgsl_histogram2d, "ymean", rb_gsl_histogram2d_ymean, 0);
|
1003
984
|
rb_define_method(cgsl_histogram2d, "xsigma", rb_gsl_histogram2d_xsigma, 0);
|
@@ -1005,7 +986,6 @@ void Init_gsl_histogram2d(VALUE module)
|
|
1005
986
|
rb_define_method(cgsl_histogram2d, "cov", rb_gsl_histogram2d_cov, 0);
|
1006
987
|
rb_define_method(cgsl_histogram2d, "sum", rb_gsl_histogram2d_sum, 0);
|
1007
988
|
rb_define_alias(cgsl_histogram2d, "integral", "sum");
|
1008
|
-
#endif
|
1009
989
|
|
1010
990
|
rb_define_method(cgsl_histogram2d, "add", rb_gsl_histogram2d_add, 1);
|
1011
991
|
rb_define_alias(cgsl_histogram2d, "+", "add");
|
@@ -1029,18 +1009,12 @@ void Init_gsl_histogram2d(VALUE module)
|
|
1029
1009
|
rb_define_method(cgsl_histogram2d, "fscanf", rb_gsl_histogram2d_fscanf, 3);
|
1030
1010
|
|
1031
1011
|
cgsl_histogram2d_pdf = rb_define_class_under(cgsl_histogram2d, "Pdf", cGSL_Object);
|
1032
|
-
|
1033
|
-
/* rb_define_singleton_method(cgsl_histogram2d_pdf, "new",
|
1012
|
+
|
1013
|
+
/* rb_define_singleton_method(cgsl_histogram2d_pdf, "new",
|
1034
1014
|
rb_gsl_histogram2d_pdf_alloc, 2);*/
|
1035
|
-
rb_define_singleton_method(cgsl_histogram2d_pdf, "alloc",
|
1036
|
-
|
1015
|
+
rb_define_singleton_method(cgsl_histogram2d_pdf, "alloc",
|
1016
|
+
rb_gsl_histogram2d_pdf_alloc, 2);
|
1037
1017
|
rb_define_method(cgsl_histogram2d_pdf, "init", rb_gsl_histogram2d_pdf_init, 1);
|
1038
|
-
#else
|
1039
|
-
/* rb_define_singleton_method(cgsl_histogram2d_pdf, "new",
|
1040
|
-
rb_gsl_histogram2d_pdf_alloc, 1);*/
|
1041
|
-
rb_define_singleton_method(cgsl_histogram2d_pdf, "alloc",
|
1042
|
-
rb_gsl_histogram2d_pdf_alloc, 1);
|
1043
|
-
#endif
|
1044
1018
|
|
1045
1019
|
rb_define_method(cgsl_histogram2d_pdf, "sample", rb_gsl_histogram2d_pdf_sample, 2);
|
1046
1020
|
|
@@ -8,10 +8,10 @@
|
|
8
8
|
This library is distributed in the hope that it will be useful, but
|
9
9
|
WITHOUT ANY WARRANTY.
|
10
10
|
*/
|
11
|
-
|
12
|
-
#include "rb_gsl_histogram.h"
|
13
|
-
#include "rb_gsl_common.h"
|
14
|
-
#include "rb_gsl_array.h"
|
11
|
+
|
12
|
+
#include "include/rb_gsl_histogram.h"
|
13
|
+
#include "include/rb_gsl_common.h"
|
14
|
+
#include "include/rb_gsl_array.h"
|
15
15
|
|
16
16
|
static VALUE cgsl_histogram3d;
|
17
17
|
static VALUE cgsl_histogram3d_view;
|
@@ -24,27 +24,27 @@ static VALUE rb_gsl_histogram3d_new(int argc, VALUE *argv, VALUE klass)
|
|
24
24
|
size_t nx, ny, nz;
|
25
25
|
switch (argc) {
|
26
26
|
case 3:
|
27
|
-
if (TYPE(argv[0]) == T_FIXNUM
|
28
|
-
|
29
|
-
h = mygsl_histogram3d_alloc(FIX2INT(argv[0]),
|
30
|
-
|
27
|
+
if (TYPE(argv[0]) == T_FIXNUM
|
28
|
+
&& TYPE(argv[1]) == T_FIXNUM && TYPE(argv[2]) == T_FIXNUM) {
|
29
|
+
h = mygsl_histogram3d_alloc(FIX2INT(argv[0]),
|
30
|
+
FIX2INT(argv[1]), FIX2INT(argv[2]));
|
31
31
|
} else if (VECTOR_P(argv[0]) && VECTOR_P(argv[1]) && VECTOR_P(argv[2])) {
|
32
32
|
Data_Get_Struct(argv[0], gsl_vector, xrange);
|
33
33
|
Data_Get_Struct(argv[1], gsl_vector, yrange);
|
34
34
|
Data_Get_Struct(argv[2], gsl_vector, zrange);
|
35
35
|
h = mygsl_histogram3d_alloc(xrange->size-1, yrange->size-1, zrange->size-1);
|
36
36
|
mygsl_histogram3d_set_ranges(h, xrange->data, xrange->size,
|
37
|
-
|
38
|
-
|
39
|
-
} else if (TYPE(argv[0]) == T_ARRAY
|
40
|
-
|
37
|
+
yrange->data, yrange->size,
|
38
|
+
zrange->data, zrange->size);
|
39
|
+
} else if (TYPE(argv[0]) == T_ARRAY
|
40
|
+
&& TYPE(argv[1]) == T_ARRAY && TYPE(argv[2]) == T_ARRAY) {
|
41
41
|
xrange = make_cvector_from_rarray(argv[0]);
|
42
42
|
yrange = make_cvector_from_rarray(argv[1]);
|
43
43
|
zrange = make_cvector_from_rarray(argv[2]);
|
44
44
|
h = mygsl_histogram3d_alloc(xrange->size-1, yrange->size-1, zrange->size-1);
|
45
45
|
mygsl_histogram3d_set_ranges(h, xrange->data, xrange->size,
|
46
|
-
|
47
|
-
|
46
|
+
yrange->data, yrange->size,
|
47
|
+
zrange->data, zrange->size);
|
48
48
|
gsl_vector_free(zrange);
|
49
49
|
gsl_vector_free(yrange);
|
50
50
|
gsl_vector_free(xrange);
|
@@ -54,7 +54,7 @@ static VALUE rb_gsl_histogram3d_new(int argc, VALUE *argv, VALUE klass)
|
|
54
54
|
break;
|
55
55
|
case 6:
|
56
56
|
CHECK_FIXNUM(argv[0]); CHECK_FIXNUM(argv[2]); CHECK_FIXNUM(argv[4]);
|
57
|
-
Check_Type(argv[1], T_ARRAY); Check_Type(argv[3], T_ARRAY);
|
57
|
+
Check_Type(argv[1], T_ARRAY); Check_Type(argv[3], T_ARRAY);
|
58
58
|
Check_Type(argv[5], T_ARRAY);
|
59
59
|
nx = FIX2INT(argv[0]); ny = FIX2INT(argv[2]); nz = FIX2INT(argv[4]);
|
60
60
|
xmin = NUM2DBL(rb_ary_entry(argv[1], 0));
|
@@ -64,7 +64,7 @@ static VALUE rb_gsl_histogram3d_new(int argc, VALUE *argv, VALUE klass)
|
|
64
64
|
zmin = NUM2DBL(rb_ary_entry(argv[5], 0));
|
65
65
|
zmax = NUM2DBL(rb_ary_entry(argv[5], 1));
|
66
66
|
h = mygsl_histogram3d_calloc_uniform(nx, ny, nz, xmin, xmax, ymin, ymax,
|
67
|
-
|
67
|
+
zmin, zmax);
|
68
68
|
break;
|
69
69
|
case 9:
|
70
70
|
CHECK_FIXNUM(argv[0]); CHECK_FIXNUM(argv[3]); CHECK_FIXNUM(argv[6]);
|
@@ -73,7 +73,7 @@ static VALUE rb_gsl_histogram3d_new(int argc, VALUE *argv, VALUE klass)
|
|
73
73
|
ymin = NUM2DBL(argv[4]); ymax = NUM2DBL(argv[5]);
|
74
74
|
zmin = NUM2DBL(argv[7]); zmax = NUM2DBL(argv[8]);
|
75
75
|
h = mygsl_histogram3d_calloc_uniform(nx, ny, nz, xmin, xmax, ymin, ymax,
|
76
|
-
|
76
|
+
zmin, zmax);
|
77
77
|
break;
|
78
78
|
default:
|
79
79
|
break;
|
@@ -189,37 +189,37 @@ static VALUE rb_gsl_histogram3d_get(int argc, VALUE *argv, VALUE obj)
|
|
189
189
|
// switch (RARRAY(argv[0])->len) {
|
190
190
|
switch (RARRAY_LEN(argv[0])) {
|
191
191
|
case 1:
|
192
|
-
|
193
|
-
|
194
|
-
|
195
|
-
|
196
|
-
|
197
|
-
|
198
|
-
|
199
|
-
|
200
|
-
|
192
|
+
i = FIX2INT(rb_ary_entry(argv[0], 0));
|
193
|
+
h2 = ALLOC(mygsl_histogram3d_view);
|
194
|
+
h2->h.nx = h->ny;
|
195
|
+
h2->h.ny = h->nz;
|
196
|
+
h2->h.xrange = h->yrange;
|
197
|
+
h2->h.yrange = h->zrange;
|
198
|
+
h2->h.bin = h->bin + i*h->ny*h->nz;
|
199
|
+
return Data_Wrap_Struct(cgsl_histogram3d_view, 0, free, h2);
|
200
|
+
break;
|
201
201
|
case 2:
|
202
|
-
|
203
|
-
|
204
|
-
|
205
|
-
|
206
|
-
|
207
|
-
|
208
|
-
|
209
|
-
|
202
|
+
i = FIX2INT(rb_ary_entry(argv[0], 0));
|
203
|
+
j = FIX2INT(rb_ary_entry(argv[0], 1));
|
204
|
+
h1 = ALLOC(mygsl_histogram2d_view);
|
205
|
+
h1->h.n = h->nz;
|
206
|
+
h1->h.range = h->zrange;
|
207
|
+
h1->h.bin = h->bin + i*h->ny*h->nz + j*h->nz;
|
208
|
+
return Data_Wrap_Struct(cgsl_histogram2d_view, 0, free, h1);
|
209
|
+
break;
|
210
210
|
case 3:
|
211
|
-
|
212
|
-
|
213
|
-
|
214
|
-
|
215
|
-
|
211
|
+
i = FIX2INT(rb_ary_entry(argv[0], 0));
|
212
|
+
j = FIX2INT(rb_ary_entry(argv[0], 1));
|
213
|
+
k = FIX2INT(rb_ary_entry(argv[0], 2));
|
214
|
+
/* do the last line of this function */
|
215
|
+
break;
|
216
216
|
default:
|
217
|
-
|
217
|
+
rb_raise(rb_eRuntimeError, "wrong array size");
|
218
218
|
}
|
219
219
|
break;
|
220
220
|
default:
|
221
221
|
rb_raise(rb_eTypeError, "wrong argument type %s (Fixnum or Array expected)",
|
222
|
-
|
222
|
+
rb_class2name(CLASS_OF(argv[0])));
|
223
223
|
break;
|
224
224
|
}
|
225
225
|
break;
|
@@ -230,7 +230,7 @@ static VALUE rb_gsl_histogram3d_get(int argc, VALUE *argv, VALUE obj)
|
|
230
230
|
h1->h.n = h->nz;
|
231
231
|
h1->h.range = h->zrange;
|
232
232
|
h1->h.bin = h->bin + i*h->ny*h->nz + j*h->nz;
|
233
|
-
return Data_Wrap_Struct(cgsl_histogram2d_view, 0, free, h1);
|
233
|
+
return Data_Wrap_Struct(cgsl_histogram2d_view, 0, free, h1);
|
234
234
|
break;
|
235
235
|
case 3:
|
236
236
|
CHECK_FIXNUM(argv[0]); CHECK_FIXNUM(argv[1]); CHECK_FIXNUM(argv[2]);
|
@@ -251,7 +251,7 @@ static VALUE rb_gsl_histogram3d_increment(int argc, VALUE *argv, VALUE obj)
|
|
251
251
|
case 4:
|
252
252
|
Need_Float(argv[3]);
|
253
253
|
weight = NUM2DBL(argv[3]);
|
254
|
-
|
254
|
+
/* no break */
|
255
255
|
case 3:
|
256
256
|
Need_Float(argv[0]); Need_Float(argv[1]); Need_Float(argv[2]);
|
257
257
|
x = NUM2DBL(argv[0]); y = NUM2DBL(argv[1]); z = NUM2DBL(argv[2]);
|
@@ -273,7 +273,7 @@ static VALUE rb_gsl_histogram3d_increment2(int argc, VALUE *argv, VALUE obj)
|
|
273
273
|
case 4:
|
274
274
|
Need_Float(argv[3]);
|
275
275
|
weight = NUM2DBL(argv[3]);
|
276
|
-
|
276
|
+
/* no break */
|
277
277
|
case 3:
|
278
278
|
Need_Float(argv[0]); Need_Float(argv[1]); Need_Float(argv[2]);
|
279
279
|
x = NUM2DBL(argv[0]); y = NUM2DBL(argv[1]); z = NUM2DBL(argv[2]);
|
@@ -329,7 +329,7 @@ static VALUE rb_gsl_histogram3d_find(VALUE obj, VALUE x, VALUE y, VALUE z)
|
|
329
329
|
size_t i, j, k;
|
330
330
|
Data_Get_Struct(obj, mygsl_histogram3d, h);
|
331
331
|
mygsl_histogram3d_find(h, NUM2DBL(x), NUM2DBL(y), NUM2DBL(z),
|
332
|
-
|
332
|
+
&i, &j, &k);
|
333
333
|
return rb_ary_new3(3, INT2FIX(i), INT2FIX(j), INT2FIX(k));
|
334
334
|
}
|
335
335
|
|
@@ -346,7 +346,7 @@ static VALUE rb_gsl_histogram3d_set_ranges(VALUE obj, VALUE xx, VALUE yy, VALUE
|
|
346
346
|
Data_Get_Struct(xx, gsl_vector, xrange);
|
347
347
|
} else {
|
348
348
|
rb_raise(rb_eTypeError, "wrong argument type %s (Array or Vector expected)",
|
349
|
-
|
349
|
+
rb_class2name(CLASS_OF(xx)));
|
350
350
|
}
|
351
351
|
if (xrange->size != h->nx+1)
|
352
352
|
rb_raise(rb_eIndexError, "xrange length is different");
|
@@ -357,7 +357,7 @@ static VALUE rb_gsl_histogram3d_set_ranges(VALUE obj, VALUE xx, VALUE yy, VALUE
|
|
357
357
|
Data_Get_Struct(yy, gsl_vector, yrange);
|
358
358
|
} else {
|
359
359
|
rb_raise(rb_eTypeError, "wrong argument type %s (Array or Vector expected)",
|
360
|
-
|
360
|
+
rb_class2name(CLASS_OF(yy)));
|
361
361
|
}
|
362
362
|
if (yrange->size != h->ny+1)
|
363
363
|
rb_raise(rb_eIndexError, "yrange length is different");
|
@@ -368,13 +368,13 @@ static VALUE rb_gsl_histogram3d_set_ranges(VALUE obj, VALUE xx, VALUE yy, VALUE
|
|
368
368
|
Data_Get_Struct(zz, gsl_vector, zrange);
|
369
369
|
} else {
|
370
370
|
rb_raise(rb_eTypeError, "wrong argument type %s (Array or Vector expected)",
|
371
|
-
|
371
|
+
rb_class2name(CLASS_OF(zz)));
|
372
372
|
}
|
373
373
|
if (zrange->size != h->nz+1)
|
374
374
|
rb_raise(rb_eIndexError, "zrange length is different");
|
375
375
|
mygsl_histogram3d_set_ranges(h, xrange->data, xrange->size,
|
376
|
-
|
377
|
-
|
376
|
+
yrange->data, yrange->size,
|
377
|
+
zrange->data, zrange->size);
|
378
378
|
if (flagz == 1) gsl_vector_free(zrange);
|
379
379
|
if (flagy == 1) gsl_vector_free(yrange);
|
380
380
|
if (flagx == 1) gsl_vector_free(xrange);
|
@@ -695,7 +695,7 @@ static VALUE rb_gsl_histogram3d_reset(VALUE obj)
|
|
695
695
|
}
|
696
696
|
|
697
697
|
static VALUE rb_gsl_histogram3d_oper(VALUE obj, VALUE hh,
|
698
|
-
|
698
|
+
int (*func)(mygsl_histogram3d *, const mygsl_histogram3d*))
|
699
699
|
{
|
700
700
|
mygsl_histogram3d *h1, *h2, *hnew;
|
701
701
|
CHECK_HISTOGRAM3D(hh);
|
@@ -782,18 +782,18 @@ void Init_gsl_histogram3d(VALUE module)
|
|
782
782
|
{
|
783
783
|
cgsl_histogram3d = rb_define_class_under(module, "Histogram3d", cGSL_Object);
|
784
784
|
cgsl_histogram3d_view = rb_define_class_under(cgsl_histogram3d, "View",
|
785
|
-
|
785
|
+
cgsl_histogram2d);
|
786
786
|
|
787
787
|
/* rb_define_singleton_method(cgsl_histogram3d, "new", rb_gsl_histogram3d_new, -1);*/
|
788
|
-
rb_define_singleton_method(cgsl_histogram3d, "alloc",
|
789
|
-
|
790
|
-
rb_define_singleton_method(cgsl_histogram3d, "memcpy",
|
791
|
-
|
788
|
+
rb_define_singleton_method(cgsl_histogram3d, "alloc",
|
789
|
+
rb_gsl_histogram3d_new, -1);
|
790
|
+
rb_define_singleton_method(cgsl_histogram3d, "memcpy",
|
791
|
+
rb_gsl_histogram3d_memcpy, 2);
|
792
792
|
/******/
|
793
|
-
rb_define_method(cgsl_histogram3d, "set_ranges",
|
794
|
-
|
795
|
-
rb_define_method(cgsl_histogram3d, "set_ranges_uniform",
|
796
|
-
|
793
|
+
rb_define_method(cgsl_histogram3d, "set_ranges",
|
794
|
+
rb_gsl_histogram3d_set_ranges, 3);
|
795
|
+
rb_define_method(cgsl_histogram3d, "set_ranges_uniform",
|
796
|
+
rb_gsl_histogram3d_set_ranges_uniform, -1);
|
797
797
|
|
798
798
|
rb_define_method(cgsl_histogram3d, "nx", rb_gsl_histogram3d_nx, 0);
|
799
799
|
rb_define_method(cgsl_histogram3d, "ny", rb_gsl_histogram3d_ny, 0);
|
@@ -809,22 +809,22 @@ void Init_gsl_histogram3d(VALUE module)
|
|
809
809
|
rb_define_method(cgsl_histogram3d, "get", rb_gsl_histogram3d_get, -1);
|
810
810
|
rb_define_alias(cgsl_histogram3d, "[]", "get");
|
811
811
|
|
812
|
-
rb_define_method(cgsl_histogram3d, "increment",
|
813
|
-
|
812
|
+
rb_define_method(cgsl_histogram3d, "increment",
|
813
|
+
rb_gsl_histogram3d_increment, -1);
|
814
814
|
rb_define_alias(cgsl_histogram3d, "fill", "increment");
|
815
815
|
rb_define_alias(cgsl_histogram3d, "accumulate", "increment");
|
816
816
|
|
817
|
-
rb_define_method(cgsl_histogram3d, "increment2",
|
818
|
-
|
817
|
+
rb_define_method(cgsl_histogram3d, "increment2",
|
818
|
+
rb_gsl_histogram3d_increment2, -1);
|
819
819
|
rb_define_alias(cgsl_histogram3d, "fill2", "increment2");
|
820
820
|
rb_define_alias(cgsl_histogram3d, "accumulate2", "increment2");
|
821
821
|
|
822
|
-
rb_define_method(cgsl_histogram3d, "get_xrange",
|
823
|
-
|
824
|
-
rb_define_method(cgsl_histogram3d, "get_yrange",
|
825
|
-
|
826
|
-
rb_define_method(cgsl_histogram3d, "get_zrange",
|
827
|
-
|
822
|
+
rb_define_method(cgsl_histogram3d, "get_xrange",
|
823
|
+
rb_gsl_histogram3d_get_xrange, 1);
|
824
|
+
rb_define_method(cgsl_histogram3d, "get_yrange",
|
825
|
+
rb_gsl_histogram3d_get_yrange, 1);
|
826
|
+
rb_define_method(cgsl_histogram3d, "get_zrange",
|
827
|
+
rb_gsl_histogram3d_get_zrange, 1);
|
828
828
|
|
829
829
|
rb_define_method(cgsl_histogram3d, "find", rb_gsl_histogram3d_find, 3);
|
830
830
|
|
@@ -835,12 +835,12 @@ void Init_gsl_histogram3d(VALUE module)
|
|
835
835
|
|
836
836
|
/*****/
|
837
837
|
|
838
|
-
rb_define_method(cgsl_histogram3d, "xyproject",
|
839
|
-
|
840
|
-
rb_define_method(cgsl_histogram3d, "xzproject",
|
841
|
-
|
842
|
-
rb_define_method(cgsl_histogram3d, "yzproject",
|
843
|
-
|
838
|
+
rb_define_method(cgsl_histogram3d, "xyproject",
|
839
|
+
rb_gsl_histogram3d_xyproject, -1);
|
840
|
+
rb_define_method(cgsl_histogram3d, "xzproject",
|
841
|
+
rb_gsl_histogram3d_xzproject, -1);
|
842
|
+
rb_define_method(cgsl_histogram3d, "yzproject",
|
843
|
+
rb_gsl_histogram3d_yzproject, -1);
|
844
844
|
|
845
845
|
rb_define_method(cgsl_histogram3d, "scale", rb_gsl_histogram3d_scale, 1);
|
846
846
|
rb_define_method(cgsl_histogram3d, "scale!", rb_gsl_histogram3d_scale_bang, 1);
|