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,19 +9,16 @@
|
|
9
9
|
WITHOUT ANY WARRANTY.
|
10
10
|
*/
|
11
11
|
|
12
|
-
#include "rb_gsl_config.h"
|
13
12
|
#include <gsl/gsl_math.h>
|
14
|
-
#include "rb_gsl_array.h"
|
15
|
-
#include "rb_gsl_common.h"
|
16
|
-
#include "rb_gsl_linalg.h"
|
13
|
+
#include "include/rb_gsl_array.h"
|
14
|
+
#include "include/rb_gsl_common.h"
|
15
|
+
#include "include/rb_gsl_linalg.h"
|
17
16
|
|
18
17
|
EXTERN VALUE mgsl_linalg;
|
19
18
|
EXTERN VALUE cgsl_complex;
|
20
19
|
|
21
20
|
static VALUE cgsl_matrix_complex_LU;
|
22
|
-
#ifdef GSL_1_10_LATER
|
23
21
|
static VALUE cgsl_matrix_complex_C;
|
24
|
-
#endif
|
25
22
|
|
26
23
|
VALUE rb_gsl_linalg_complex_LU_decomp(int argc, VALUE *argv, VALUE obj)
|
27
24
|
{
|
@@ -36,7 +33,7 @@ VALUE rb_gsl_linalg_complex_LU_decomp(int argc, VALUE *argv, VALUE obj)
|
|
36
33
|
case T_CLASS:
|
37
34
|
case T_OBJECT:
|
38
35
|
if (argc != 1) rb_raise(rb_eArgError, "wrong number of arguments (%d for 1)",
|
39
|
-
|
36
|
+
argc);
|
40
37
|
CHECK_MATRIX_COMPLEX(argv[0]);
|
41
38
|
Data_Get_Struct(argv[0], gsl_matrix_complex, m);
|
42
39
|
itmp = 1;
|
@@ -51,8 +48,8 @@ VALUE rb_gsl_linalg_complex_LU_decomp(int argc, VALUE *argv, VALUE obj)
|
|
51
48
|
case 0:
|
52
49
|
p = gsl_permutation_alloc(size);
|
53
50
|
gsl_linalg_complex_LU_decomp(m, p, &signum);
|
54
|
-
if (itmp == 1)
|
55
|
-
else
|
51
|
+
if (itmp == 1) RBGSL_SET_CLASS(argv[0], cgsl_matrix_complex_LU);
|
52
|
+
else RBGSL_SET_CLASS(obj, cgsl_matrix_complex_LU);
|
56
53
|
obj2 = Data_Wrap_Struct(cgsl_permutation, 0, gsl_permutation_free, p);
|
57
54
|
return rb_ary_new3(2, obj2, INT2FIX(signum));
|
58
55
|
break;
|
@@ -60,8 +57,8 @@ VALUE rb_gsl_linalg_complex_LU_decomp(int argc, VALUE *argv, VALUE obj)
|
|
60
57
|
CHECK_PERMUTATION(argv[itmp]);
|
61
58
|
Data_Get_Struct(argv[itmp], gsl_permutation, p);
|
62
59
|
gsl_linalg_complex_LU_decomp(m, p, &signum);
|
63
|
-
if (itmp == 1)
|
64
|
-
else
|
60
|
+
if (itmp == 1) RBGSL_SET_CLASS(argv[0], cgsl_matrix_complex_LU);
|
61
|
+
else RBGSL_SET_CLASS(obj, cgsl_matrix_complex_LU);
|
65
62
|
return INT2FIX(signum);
|
66
63
|
break;
|
67
64
|
default:
|
@@ -82,7 +79,7 @@ VALUE rb_gsl_linalg_complex_LU_decomp2(int argc, VALUE *argv, VALUE obj)
|
|
82
79
|
case T_CLASS:
|
83
80
|
case T_OBJECT:
|
84
81
|
if (argc != 1) rb_raise(rb_eArgError, "wrong number of arguments (%d for 1)",
|
85
|
-
|
82
|
+
argc);
|
86
83
|
CHECK_MATRIX_COMPLEX(argv[0]);
|
87
84
|
Data_Get_Struct(argv[0], gsl_matrix_complex, m);
|
88
85
|
itmp = 1;
|
@@ -101,13 +98,13 @@ VALUE rb_gsl_linalg_complex_LU_decomp2(int argc, VALUE *argv, VALUE obj)
|
|
101
98
|
p = gsl_permutation_alloc(size);
|
102
99
|
gsl_linalg_complex_LU_decomp(mnew, p, &signum);
|
103
100
|
obj2 = Data_Wrap_Struct(cgsl_permutation, 0, gsl_permutation_free, p);
|
104
|
-
return rb_ary_new3(3, objm
|
101
|
+
return rb_ary_new3(3, objm,obj2, INT2FIX(signum));
|
105
102
|
break;
|
106
103
|
case 1: /* when a permutation object is given */
|
107
104
|
CHECK_PERMUTATION(argv[itmp]);
|
108
105
|
Data_Get_Struct(argv[itmp], gsl_permutation, p);
|
109
106
|
gsl_linalg_complex_LU_decomp(m, p, &signum);
|
110
|
-
return rb_ary_new3(3, objm
|
107
|
+
return rb_ary_new3(3, objm, argv[itmp], INT2FIX(signum));
|
111
108
|
break;
|
112
109
|
default:
|
113
110
|
rb_raise(rb_eArgError, "Usage: LU_decomp!() or LU_decomp!(permutation)");
|
@@ -120,14 +117,13 @@ static VALUE rb_gsl_linalg_complex_LU_solve(int argc, VALUE *argv, VALUE obj)
|
|
120
117
|
gsl_permutation *p = NULL;
|
121
118
|
gsl_vector_complex *b = NULL, *x = NULL;
|
122
119
|
int flagm = 0, flagx = 0, itmp, signum;
|
123
|
-
|
120
|
+
|
124
121
|
switch (TYPE(obj)) {
|
125
122
|
case T_MODULE:
|
126
123
|
case T_CLASS:
|
127
124
|
case T_OBJECT:
|
128
|
-
if (argc < 2 || argc > 4)
|
125
|
+
if (argc < 2 || argc > 4)
|
129
126
|
rb_raise(rb_eArgError, "Usage: solve(m, b), solve(m, b, x), solve(lu, p, b), solve(lu, p, b, x)");
|
130
|
-
|
131
127
|
CHECK_MATRIX(argv[0]);
|
132
128
|
Data_Get_Struct(argv[0], gsl_matrix_complex, m);
|
133
129
|
if (CLASS_OF(argv[0]) != cgsl_matrix_complex_LU) {
|
@@ -140,7 +136,7 @@ static VALUE rb_gsl_linalg_complex_LU_solve(int argc, VALUE *argv, VALUE obj)
|
|
140
136
|
itmp = 1;
|
141
137
|
break;
|
142
138
|
default:
|
143
|
-
if (argc < 1 || argc > 3)
|
139
|
+
if (argc < 1 || argc > 3)
|
144
140
|
rb_raise(rb_eArgError, "Usage: LU_solve(b), LU_solve(p, b), LU_solve(b, x), solve(p, b, x)");
|
145
141
|
Data_Get_Struct(obj, gsl_matrix_complex, m);
|
146
142
|
if (CLASS_OF(obj) != cgsl_matrix_complex_LU) {
|
@@ -186,7 +182,7 @@ static VALUE rb_gsl_linalg_complex_LU_svx(int argc, VALUE *argv, VALUE obj)
|
|
186
182
|
gsl_permutation *p = NULL;
|
187
183
|
gsl_vector_complex *x = NULL;
|
188
184
|
int flagm = 0, itmp, signum;
|
189
|
-
|
185
|
+
|
190
186
|
switch (TYPE(obj)) {
|
191
187
|
case T_MODULE:
|
192
188
|
case T_CLASS:
|
@@ -233,8 +229,8 @@ static VALUE rb_gsl_linalg_complex_LU_svx(int argc, VALUE *argv, VALUE obj)
|
|
233
229
|
}
|
234
230
|
|
235
231
|
static VALUE rb_gsl_linalg_complex_LU_refine(VALUE obj, VALUE vm,
|
236
|
-
|
237
|
-
|
232
|
+
VALUE lu, VALUE pp, VALUE bb,
|
233
|
+
VALUE xx)
|
238
234
|
{
|
239
235
|
gsl_matrix_complex *m = NULL, *mlu = NULL;
|
240
236
|
gsl_permutation *p = NULL;
|
@@ -307,7 +303,6 @@ static VALUE rb_gsl_linalg_complex_LU_invert(int argc, VALUE *argv, VALUE obj)
|
|
307
303
|
}
|
308
304
|
return Data_Wrap_Struct(cgsl_matrix_complex, 0, gsl_matrix_complex_free, inverse);
|
309
305
|
}
|
310
|
-
#ifdef GSL_1_1_1_LATER
|
311
306
|
static VALUE rb_gsl_linalg_complex_LU_det(int argc, VALUE *argv, VALUE obj)
|
312
307
|
{
|
313
308
|
gsl_matrix_complex *m = NULL, *mtmp = NULL;
|
@@ -390,7 +385,7 @@ static VALUE rb_gsl_linalg_complex_LU_lndet(int argc, VALUE *argv, VALUE obj)
|
|
390
385
|
if (flagm == 1) {
|
391
386
|
p = gsl_permutation_alloc(m->size1);
|
392
387
|
gsl_linalg_complex_LU_decomp(mtmp, p, &signum);
|
393
|
-
}
|
388
|
+
}
|
394
389
|
lndet = gsl_linalg_complex_LU_lndet(mtmp);
|
395
390
|
if (flagm == 1) {
|
396
391
|
gsl_matrix_complex_free(mtmp);
|
@@ -447,9 +442,6 @@ static VALUE rb_gsl_linalg_complex_LU_sgndet(int argc, VALUE *argv, VALUE obj)
|
|
447
442
|
}
|
448
443
|
return vz;
|
449
444
|
}
|
450
|
-
#endif
|
451
|
-
|
452
|
-
#ifdef GSL_1_10_LATER
|
453
445
|
|
454
446
|
static VALUE rb_gsl_linalg_cholesky_decomp(int argc, VALUE *argv, VALUE obj)
|
455
447
|
{
|
@@ -457,7 +449,7 @@ static VALUE rb_gsl_linalg_cholesky_decomp(int argc, VALUE *argv, VALUE obj)
|
|
457
449
|
switch(TYPE(obj)) {
|
458
450
|
case T_MODULE: case T_CLASS: case T_OBJECT:
|
459
451
|
if (argc != 1) rb_raise(rb_eArgError, "wrong number of argument (%d for 1)",
|
460
|
-
|
452
|
+
argc);
|
461
453
|
CHECK_MATRIX_COMPLEX(argv[0]);
|
462
454
|
Data_Get_Struct(argv[0], gsl_matrix_complex, Atmp);
|
463
455
|
break;
|
@@ -480,13 +472,13 @@ static VALUE rb_gsl_linalg_cholesky_solve(int argc, VALUE *argv, VALUE obj)
|
|
480
472
|
switch(TYPE(obj)) {
|
481
473
|
case T_MODULE: case T_CLASS: case T_OBJECT:
|
482
474
|
if (argc != 2) rb_raise(rb_eArgError, "wrong number of argument (%d for 2)",
|
483
|
-
|
475
|
+
argc);
|
484
476
|
vA = argv[0];
|
485
477
|
vb = argv[1];
|
486
478
|
break;
|
487
479
|
default:
|
488
480
|
if (argc != 1) rb_raise(rb_eArgError, "wrong number of argument (%d for 1)",
|
489
|
-
|
481
|
+
argc);
|
490
482
|
vA = obj;
|
491
483
|
vb = argv[0];
|
492
484
|
break;
|
@@ -520,13 +512,13 @@ static VALUE rb_gsl_linalg_cholesky_svx(int argc, VALUE *argv, VALUE obj)
|
|
520
512
|
switch(TYPE(obj)) {
|
521
513
|
case T_MODULE: case T_CLASS: case T_OBJECT:
|
522
514
|
if (argc != 2) rb_raise(rb_eArgError, "wrong number of argument (%d for 2)",
|
523
|
-
|
515
|
+
argc);
|
524
516
|
vA = argv[0];
|
525
517
|
vb = argv[1];
|
526
518
|
break;
|
527
519
|
default:
|
528
520
|
if (argc != 1) rb_raise(rb_eArgError, "wrong number of argument (%d for 1)",
|
529
|
-
|
521
|
+
argc);
|
530
522
|
vA = obj;
|
531
523
|
vb = argv[0];
|
532
524
|
break;
|
@@ -573,7 +565,7 @@ static VALUE rb_gsl_linalg_complex_householder_hm(VALUE obj, VALUE t, VALUE vv,
|
|
573
565
|
gsl_vector_complex *v = NULL;
|
574
566
|
gsl_complex *tau;
|
575
567
|
gsl_matrix_complex *A = NULL;
|
576
|
-
CHECK_COMPLEX(t);
|
568
|
+
CHECK_COMPLEX(t);
|
577
569
|
CHECK_VECTOR_COMPLEX(vv);
|
578
570
|
CHECK_MATRIX_COMPLEX(aa);
|
579
571
|
Data_Get_Struct(t, gsl_complex, tau);
|
@@ -588,7 +580,7 @@ static VALUE rb_gsl_linalg_complex_householder_mh(VALUE obj, VALUE t, VALUE vv,
|
|
588
580
|
gsl_vector_complex *v = NULL;
|
589
581
|
gsl_complex *tau;
|
590
582
|
gsl_matrix_complex *A = NULL;
|
591
|
-
CHECK_COMPLEX(t);
|
583
|
+
CHECK_COMPLEX(t);
|
592
584
|
CHECK_VECTOR_COMPLEX(vv);
|
593
585
|
CHECK_MATRIX_COMPLEX(aa);
|
594
586
|
Data_Get_Struct(t, gsl_complex, tau);
|
@@ -602,7 +594,7 @@ static VALUE rb_gsl_linalg_complex_householder_hv(VALUE obj, VALUE t, VALUE vv,
|
|
602
594
|
{
|
603
595
|
gsl_vector_complex *v = NULL, *w = NULL;
|
604
596
|
gsl_complex *tau;
|
605
|
-
CHECK_COMPLEX(t);
|
597
|
+
CHECK_COMPLEX(t);
|
606
598
|
CHECK_VECTOR_COMPLEX(vv);
|
607
599
|
CHECK_VECTOR_COMPLEX(ww);
|
608
600
|
Data_Get_Struct(t, gsl_complex, tau);
|
@@ -611,101 +603,97 @@ static VALUE rb_gsl_linalg_complex_householder_hv(VALUE obj, VALUE t, VALUE vv,
|
|
611
603
|
gsl_linalg_complex_householder_hv(*tau, v, w);
|
612
604
|
return ww;
|
613
605
|
}
|
614
|
-
#endif
|
615
606
|
|
616
607
|
void Init_gsl_linalg_complex(VALUE module)
|
617
608
|
{
|
618
609
|
VALUE mgsl_linalg_complex;
|
619
610
|
VALUE mgsl_linalg_complex_LU;
|
611
|
+
VALUE mgsl_linalg_complex_chol, mgsl_linalg_complex_Householder;
|
620
612
|
|
621
613
|
mgsl_linalg_complex = rb_define_module_under(module, "Complex");
|
622
614
|
mgsl_linalg_complex_LU = rb_define_module_under(mgsl_linalg_complex, "LU");
|
623
615
|
|
624
616
|
cgsl_matrix_complex_LU = rb_define_class_under(mgsl_linalg_complex_LU,
|
625
|
-
|
617
|
+
"LUMatrix", cgsl_matrix_complex);
|
626
618
|
|
627
619
|
rb_define_singleton_method(mgsl_linalg_complex, "LU_decomp!",
|
628
|
-
|
620
|
+
rb_gsl_linalg_complex_LU_decomp, -1);
|
629
621
|
rb_define_singleton_method(mgsl_linalg_complex_LU, "decomp!",
|
630
|
-
|
631
|
-
rb_define_method(cgsl_matrix_complex, "LU_decomp!",
|
632
|
-
|
622
|
+
rb_gsl_linalg_complex_LU_decomp, -1);
|
623
|
+
rb_define_method(cgsl_matrix_complex, "LU_decomp!",
|
624
|
+
rb_gsl_linalg_complex_LU_decomp, -1);
|
633
625
|
rb_define_alias(cgsl_matrix_complex, "decomp!", "LU_decomp!");
|
634
626
|
|
635
627
|
rb_define_singleton_method(mgsl_linalg_complex, "LU_decomp",
|
636
|
-
|
628
|
+
rb_gsl_linalg_complex_LU_decomp2, -1);
|
637
629
|
rb_define_singleton_method(mgsl_linalg_complex_LU, "decomp",
|
638
|
-
|
639
|
-
rb_define_method(cgsl_matrix_complex, "LU_decomp",
|
640
|
-
|
630
|
+
rb_gsl_linalg_complex_LU_decomp2, -1);
|
631
|
+
rb_define_method(cgsl_matrix_complex, "LU_decomp",
|
632
|
+
rb_gsl_linalg_complex_LU_decomp2, -1);
|
641
633
|
rb_define_alias(cgsl_matrix_complex, "decomp", "LU_decomp");
|
642
634
|
|
643
635
|
rb_define_singleton_method(mgsl_linalg_complex, "LU_solve",
|
644
|
-
|
636
|
+
rb_gsl_linalg_complex_LU_solve, -1);
|
645
637
|
rb_define_singleton_method(mgsl_linalg_complex_LU, "solve",
|
646
|
-
|
647
|
-
rb_define_method(cgsl_matrix_complex, "LU_solve",
|
648
|
-
|
649
|
-
rb_define_method(cgsl_matrix_complex_LU, "solve",
|
650
|
-
|
638
|
+
rb_gsl_linalg_complex_LU_solve, -1);
|
639
|
+
rb_define_method(cgsl_matrix_complex, "LU_solve",
|
640
|
+
rb_gsl_linalg_complex_LU_solve, -1);
|
641
|
+
rb_define_method(cgsl_matrix_complex_LU, "solve",
|
642
|
+
rb_gsl_linalg_complex_LU_solve, -1);
|
651
643
|
|
652
644
|
rb_define_singleton_method(mgsl_linalg_complex, "LU_svx",
|
653
|
-
|
645
|
+
rb_gsl_linalg_complex_LU_svx, -1);
|
654
646
|
rb_define_singleton_method(mgsl_linalg_complex_LU, "svx",
|
655
|
-
|
656
|
-
rb_define_method(cgsl_matrix_complex, "LU_svx",
|
657
|
-
|
658
|
-
rb_define_method(cgsl_matrix_complex_LU, "svx",
|
659
|
-
|
647
|
+
rb_gsl_linalg_complex_LU_svx, -1);
|
648
|
+
rb_define_method(cgsl_matrix_complex, "LU_svx",
|
649
|
+
rb_gsl_linalg_complex_LU_svx, -1);
|
650
|
+
rb_define_method(cgsl_matrix_complex_LU, "svx",
|
651
|
+
rb_gsl_linalg_complex_LU_svx, -1);
|
660
652
|
|
661
653
|
rb_define_singleton_method(mgsl_linalg_complex, "LU_refine",
|
662
|
-
|
654
|
+
rb_gsl_linalg_complex_LU_refine, 5);
|
663
655
|
rb_define_singleton_method(mgsl_linalg_complex_LU, "refine",
|
664
|
-
|
656
|
+
rb_gsl_linalg_complex_LU_refine, 5);
|
665
657
|
|
666
658
|
rb_define_singleton_method(mgsl_linalg_complex, "LU_invert",
|
667
|
-
|
659
|
+
rb_gsl_linalg_complex_LU_invert, -1);
|
668
660
|
rb_define_singleton_method(mgsl_linalg_complex_LU, "invert",
|
669
|
-
|
670
|
-
rb_define_method(cgsl_matrix_complex, "LU_invert",
|
671
|
-
|
661
|
+
rb_gsl_linalg_complex_LU_invert, -1);
|
662
|
+
rb_define_method(cgsl_matrix_complex, "LU_invert",
|
663
|
+
rb_gsl_linalg_complex_LU_invert, -1);
|
672
664
|
rb_define_alias(cgsl_matrix_complex, "invert", "LU_invert");
|
673
665
|
rb_define_alias(cgsl_matrix_complex, "inv", "LU_invert");
|
674
|
-
rb_define_method(cgsl_matrix_complex_LU, "invert",
|
675
|
-
|
676
|
-
|
677
|
-
|
678
|
-
|
679
|
-
|
680
|
-
|
681
|
-
rb_gsl_linalg_complex_LU_det, -1);
|
666
|
+
rb_define_method(cgsl_matrix_complex_LU, "invert",
|
667
|
+
rb_gsl_linalg_complex_LU_invert, -1);
|
668
|
+
|
669
|
+
rb_define_singleton_method(mgsl_linalg_complex, "LU_det",
|
670
|
+
rb_gsl_linalg_complex_LU_det, -1);
|
671
|
+
rb_define_singleton_method(mgsl_linalg_complex_LU, "det",
|
672
|
+
rb_gsl_linalg_complex_LU_det, -1);
|
682
673
|
rb_define_method(cgsl_matrix_complex, "LU_det", rb_gsl_linalg_complex_LU_det, -1);
|
683
674
|
rb_define_alias(cgsl_matrix_complex, "det", "LU_det");
|
684
675
|
rb_define_method(cgsl_matrix_complex_LU, "det", rb_gsl_linalg_complex_LU_det, -1);
|
685
676
|
|
686
|
-
rb_define_singleton_method(mgsl_linalg_complex, "LU_lndet",
|
687
|
-
|
688
|
-
rb_define_singleton_method(mgsl_linalg_complex_LU, "lndet",
|
689
|
-
|
677
|
+
rb_define_singleton_method(mgsl_linalg_complex, "LU_lndet",
|
678
|
+
rb_gsl_linalg_complex_LU_lndet, -1);
|
679
|
+
rb_define_singleton_method(mgsl_linalg_complex_LU, "lndet",
|
680
|
+
rb_gsl_linalg_complex_LU_lndet, -1);
|
690
681
|
rb_define_method(cgsl_matrix_complex, "LU_lndet", rb_gsl_linalg_complex_LU_lndet, -1);
|
691
682
|
rb_define_alias(cgsl_matrix_complex, "lndet", "LU_lndet");
|
692
683
|
rb_define_method(cgsl_matrix_complex_LU, "LU_lndet", rb_gsl_linalg_complex_LU_lndet, -1);
|
693
684
|
|
694
|
-
rb_define_singleton_method(mgsl_linalg_complex, "LU_sgndet",
|
695
|
-
|
696
|
-
rb_define_singleton_method(mgsl_linalg_complex_LU, "sgndet",
|
697
|
-
|
685
|
+
rb_define_singleton_method(mgsl_linalg_complex, "LU_sgndet",
|
686
|
+
rb_gsl_linalg_complex_LU_sgndet, -1);
|
687
|
+
rb_define_singleton_method(mgsl_linalg_complex_LU, "sgndet",
|
688
|
+
rb_gsl_linalg_complex_LU_sgndet, -1);
|
698
689
|
rb_define_method(cgsl_matrix_complex, "LU_sgndet", rb_gsl_linalg_complex_LU_sgndet, -1);
|
699
690
|
rb_define_alias(cgsl_matrix_complex, "sgndet", "LU_sgndet");
|
700
691
|
rb_define_method(cgsl_matrix_complex_LU, "LU_sgndet", rb_gsl_linalg_complex_LU_sgndet, -1);
|
701
|
-
#endif
|
702
692
|
|
703
|
-
#ifdef GSL_1_10_LATER
|
704
|
-
VALUE mgsl_linalg_complex_chol;
|
705
693
|
mgsl_linalg_complex_chol = rb_define_module_under(mgsl_linalg_complex, "Cholesky");
|
706
|
-
cgsl_matrix_complex_C = rb_define_class_under(mgsl_linalg_complex_chol, "CholeskyMatrix", cgsl_matrix_complex);
|
694
|
+
cgsl_matrix_complex_C = rb_define_class_under(mgsl_linalg_complex_chol, "CholeskyMatrix", cgsl_matrix_complex);
|
707
695
|
rb_define_singleton_method(mgsl_linalg_complex_chol, "decomp", rb_gsl_linalg_cholesky_decomp, -1);
|
708
|
-
rb_define_method(cgsl_matrix_complex, "cholesky_decomp", rb_gsl_linalg_cholesky_decomp, -1);
|
696
|
+
rb_define_method(cgsl_matrix_complex, "cholesky_decomp", rb_gsl_linalg_cholesky_decomp, -1);
|
709
697
|
rb_define_singleton_method(mgsl_linalg_complex_chol, "solve", rb_gsl_linalg_cholesky_solve, -1);
|
710
698
|
rb_define_method(cgsl_matrix_complex, "cholesky_solve", rb_gsl_linalg_cholesky_solve, -1);
|
711
699
|
rb_define_method(cgsl_matrix_complex_C, "solve", rb_gsl_linalg_cholesky_solve, -1);
|
@@ -713,27 +701,26 @@ void Init_gsl_linalg_complex(VALUE module)
|
|
713
701
|
rb_define_method(cgsl_matrix_complex, "cholesky_svx", rb_gsl_linalg_cholesky_svx, -1);
|
714
702
|
rb_define_method(cgsl_matrix_complex_C, "svx", rb_gsl_linalg_cholesky_svx, -1);
|
715
703
|
|
716
|
-
|
717
|
-
|
718
|
-
|
719
|
-
rb_define_singleton_method(mgsl_linalg_complex_Householder, "transform",
|
720
|
-
|
721
|
-
rb_define_method(cgsl_vector_complex, "householder_transform",
|
722
|
-
|
723
|
-
|
724
|
-
rb_define_singleton_method(mgsl_linalg_complex, "householder_hm",
|
725
|
-
|
726
|
-
rb_define_singleton_method(mgsl_linalg_complex_Householder, "hm",
|
727
|
-
|
728
|
-
|
729
|
-
rb_define_singleton_method(mgsl_linalg_complex, "householder_mh",
|
730
|
-
|
731
|
-
rb_define_singleton_method(mgsl_linalg_complex_Householder, "mh",
|
732
|
-
|
733
|
-
|
734
|
-
rb_define_singleton_method(mgsl_linalg_complex, "householder_hv",
|
735
|
-
|
736
|
-
rb_define_singleton_method(mgsl_linalg_complex_Householder, "hv",
|
737
|
-
|
738
|
-
#endif
|
704
|
+
mgsl_linalg_complex_Householder = rb_define_module_under(mgsl_linalg_complex, "Householder");
|
705
|
+
rb_define_singleton_method(mgsl_linalg_complex, "householder_transform",
|
706
|
+
rb_gsl_linalg_complex_householder_transform, -1);
|
707
|
+
rb_define_singleton_method(mgsl_linalg_complex_Householder, "transform",
|
708
|
+
rb_gsl_linalg_complex_householder_transform, -1);
|
709
|
+
rb_define_method(cgsl_vector_complex, "householder_transform",
|
710
|
+
rb_gsl_linalg_complex_householder_transform, -1);
|
711
|
+
|
712
|
+
rb_define_singleton_method(mgsl_linalg_complex, "householder_hm",
|
713
|
+
rb_gsl_linalg_complex_householder_hm, 3);
|
714
|
+
rb_define_singleton_method(mgsl_linalg_complex_Householder, "hm",
|
715
|
+
rb_gsl_linalg_complex_householder_hm, 3);
|
716
|
+
|
717
|
+
rb_define_singleton_method(mgsl_linalg_complex, "householder_mh",
|
718
|
+
rb_gsl_linalg_complex_householder_mh, 3);
|
719
|
+
rb_define_singleton_method(mgsl_linalg_complex_Householder, "mh",
|
720
|
+
rb_gsl_linalg_complex_householder_mh, 3);
|
721
|
+
|
722
|
+
rb_define_singleton_method(mgsl_linalg_complex, "householder_hv",
|
723
|
+
rb_gsl_linalg_complex_householder_hv, 3);
|
724
|
+
rb_define_singleton_method(mgsl_linalg_complex_Householder, "hv",
|
725
|
+
rb_gsl_linalg_complex_householder_hv, 3);
|
739
726
|
}
|
@@ -10,12 +10,8 @@
|
|
10
10
|
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
|
11
11
|
*/
|
12
12
|
|
13
|
-
#include "
|
14
|
-
#include "
|
15
|
-
#include "rb_gsl_complex.h"
|
16
|
-
#ifdef HAVE_NARRAY_H
|
17
|
-
#include "narray.h"
|
18
|
-
#endif
|
13
|
+
#include "include/rb_gsl_math.h"
|
14
|
+
#include "include/rb_gsl_complex.h"
|
19
15
|
|
20
16
|
static void rb_gsl_define_const(VALUE module);
|
21
17
|
|
@@ -125,15 +121,15 @@ VALUE rb_gsl_math_complex_eval(gsl_complex (*func)(gsl_complex), VALUE obj)
|
|
125
121
|
mnew = gsl_matrix_complex_alloc(m->size1, m->size2);
|
126
122
|
for (i = 0; i < m->size1; i++) {
|
127
123
|
for (j = 0; j < m->size2; j++) {
|
128
|
-
|
124
|
+
gsl_matrix_complex_set(mnew, i, j, (*func)(gsl_matrix_complex_get(m, i, j)));
|
129
125
|
}
|
130
126
|
}
|
131
127
|
return Data_Wrap_Struct(cgsl_matrix_complex, 0, gsl_matrix_complex_free, mnew);
|
132
128
|
} else {
|
133
|
-
rb_raise(rb_eTypeError,
|
134
|
-
|
135
|
-
|
136
|
-
|
129
|
+
rb_raise(rb_eTypeError,
|
130
|
+
"wrong argument type %s "
|
131
|
+
" (GSL::Complex or GSL::Vector::Complex expected)",
|
132
|
+
rb_class2name(CLASS_OF(obj)));
|
137
133
|
}
|
138
134
|
}
|
139
135
|
|
@@ -141,10 +137,6 @@ static VALUE rb_gsl_math_eval(double (*func)(const double), VALUE xx)
|
|
141
137
|
{
|
142
138
|
VALUE x, ary;
|
143
139
|
size_t i, size;
|
144
|
-
#ifdef HAVE_NARRAY_H
|
145
|
-
struct NARRAY *na;
|
146
|
-
double *ptr1, *ptr2;
|
147
|
-
#endif
|
148
140
|
if (CLASS_OF(xx) == rb_cRange) xx = rb_gsl_range2ary(xx);
|
149
141
|
switch (TYPE(xx)) {
|
150
142
|
case T_FIXNUM:
|
@@ -166,6 +158,8 @@ static VALUE rb_gsl_math_eval(double (*func)(const double), VALUE xx)
|
|
166
158
|
default:
|
167
159
|
#ifdef HAVE_NARRAY_H
|
168
160
|
if (NA_IsNArray(xx)) {
|
161
|
+
struct NARRAY *na;
|
162
|
+
double *ptr1, *ptr2;
|
169
163
|
GetNArray(xx, na);
|
170
164
|
ptr1 = (double*) na->ptr;
|
171
165
|
size = na->total;
|
@@ -189,18 +183,14 @@ static VALUE rb_gsl_math_eval(double (*func)(const double), VALUE xx)
|
|
189
183
|
}
|
190
184
|
|
191
185
|
static VALUE rb_gsl_math_eval2(double (*func)(const double, const double), VALUE xx,
|
192
|
-
|
186
|
+
VALUE yy);
|
193
187
|
static VALUE rb_gsl_math_eval2(double (*func)(const double, const double), VALUE xx,
|
194
|
-
|
188
|
+
VALUE yy)
|
195
189
|
{
|
196
190
|
VALUE x, y, ary;
|
197
191
|
size_t i, j, size;
|
198
192
|
gsl_vector *v = NULL, *v2 = NULL, *vnew = NULL;
|
199
193
|
gsl_matrix *m = NULL, *m2 = NULL, *mnew = NULL;
|
200
|
-
#ifdef HAVE_NARRAY_H
|
201
|
-
struct NARRAY *nax, *nay;
|
202
|
-
double *ptr1, *ptr2, *ptr3;
|
203
|
-
#endif
|
204
194
|
if (CLASS_OF(xx) == rb_cRange) xx = rb_gsl_range2ary(xx);
|
205
195
|
switch (TYPE(xx)) {
|
206
196
|
case T_FIXNUM:
|
@@ -213,7 +203,7 @@ static VALUE rb_gsl_math_eval2(double (*func)(const double, const double), VALUE
|
|
213
203
|
Check_Type(yy, T_ARRAY);
|
214
204
|
size = RARRAY_LEN(xx);
|
215
205
|
// if (size != RARRAY(yy)->len) rb_raise(rb_eRuntimeError, "array sizes are different.");
|
216
|
-
if (size != RARRAY_LEN(yy)) rb_raise(rb_eRuntimeError, "array sizes are different.");
|
206
|
+
if ((int) size != RARRAY_LEN(yy)) rb_raise(rb_eRuntimeError, "array sizes are different.");
|
217
207
|
ary = rb_ary_new2(size);
|
218
208
|
for (i = 0; i < size; i++) {
|
219
209
|
x = rb_ary_entry(xx, i);
|
@@ -227,6 +217,8 @@ static VALUE rb_gsl_math_eval2(double (*func)(const double, const double), VALUE
|
|
227
217
|
default:
|
228
218
|
#ifdef HAVE_NARRAY_H
|
229
219
|
if (NA_IsNArray(xx)) {
|
220
|
+
struct NARRAY *nax, *nay;
|
221
|
+
double *ptr1, *ptr2, *ptr3;
|
230
222
|
GetNArray(xx, nax);
|
231
223
|
GetNArray(yy, nay);
|
232
224
|
ptr1 = (double*) nax->ptr;
|
@@ -244,7 +236,7 @@ static VALUE rb_gsl_math_eval2(double (*func)(const double, const double), VALUE
|
|
244
236
|
Data_Get_Struct(yy, gsl_vector, v2);
|
245
237
|
vnew = gsl_vector_alloc(v->size);
|
246
238
|
for (i = 0; i < v->size; i++) {
|
247
|
-
|
239
|
+
gsl_vector_set(vnew, i, (*func)(gsl_vector_get(v, i), gsl_vector_get(v2, i)));
|
248
240
|
}
|
249
241
|
return Data_Wrap_Struct(cgsl_vector, 0, gsl_vector_free, vnew);
|
250
242
|
} else if (MATRIX_P(xx)) {
|
@@ -253,15 +245,15 @@ static VALUE rb_gsl_math_eval2(double (*func)(const double, const double), VALUE
|
|
253
245
|
Data_Get_Struct(yy, gsl_matrix, m2);
|
254
246
|
mnew = gsl_matrix_alloc(m->size1, m->size2);
|
255
247
|
for (i = 0; i < m->size1; i++) {
|
256
|
-
|
257
|
-
|
258
|
-
|
248
|
+
for (j = 0; j < m->size2; j++) {
|
249
|
+
gsl_matrix_set(mnew, i, j, (*func)(gsl_matrix_get(m, i, j), gsl_matrix_get(m2, i, j)));
|
250
|
+
}
|
259
251
|
}
|
260
252
|
return Data_Wrap_Struct(cgsl_matrix, 0, gsl_matrix_free, mnew);
|
261
253
|
} else {
|
262
|
-
rb_raise(rb_eTypeError,
|
263
|
-
|
264
|
-
|
254
|
+
rb_raise(rb_eTypeError,
|
255
|
+
"wrong argument type %s "
|
256
|
+
"(Array or Vector or Matrix expected)", rb_class2name(CLASS_OF(xx)));
|
265
257
|
}
|
266
258
|
break;
|
267
259
|
}
|
@@ -288,32 +280,32 @@ static VALUE rb_gsl_hypot(VALUE obj, VALUE x, VALUE y)
|
|
288
280
|
{
|
289
281
|
return rb_gsl_math_eval2(gsl_hypot, x, y);
|
290
282
|
}
|
291
|
-
|
283
|
+
|
292
284
|
static VALUE rb_gsl_hypot3(VALUE obj, VALUE x, VALUE y, VALUE z)
|
293
285
|
{
|
294
286
|
Need_Float(x);
|
295
287
|
Need_Float(y);
|
296
|
-
Need_Float(z);
|
288
|
+
Need_Float(z);
|
297
289
|
return rb_float_new(gsl_hypot3(NUM2DBL(x), NUM2DBL(y), NUM2DBL(z)));
|
298
290
|
}
|
299
|
-
|
291
|
+
|
300
292
|
static VALUE rb_gsl_acosh(VALUE obj, VALUE x)
|
301
293
|
{
|
302
|
-
if (COMPLEX_P(x) || VECTOR_COMPLEX_P(x) || MATRIX_COMPLEX_P(x))
|
294
|
+
if (COMPLEX_P(x) || VECTOR_COMPLEX_P(x) || MATRIX_COMPLEX_P(x))
|
303
295
|
return rb_gsl_math_complex_eval(gsl_complex_arccosh, x);
|
304
296
|
return rb_gsl_math_eval(gsl_acosh, x);
|
305
297
|
}
|
306
298
|
|
307
299
|
static VALUE rb_gsl_asinh(VALUE obj, VALUE x)
|
308
300
|
{
|
309
|
-
if (COMPLEX_P(x) || VECTOR_COMPLEX_P(x) || MATRIX_COMPLEX_P(x))
|
301
|
+
if (COMPLEX_P(x) || VECTOR_COMPLEX_P(x) || MATRIX_COMPLEX_P(x))
|
310
302
|
return rb_gsl_math_complex_eval(gsl_complex_arcsinh, x);
|
311
303
|
return rb_gsl_math_eval(gsl_asinh, x);
|
312
304
|
}
|
313
305
|
|
314
306
|
static VALUE rb_gsl_atanh(VALUE obj, VALUE x)
|
315
307
|
{
|
316
|
-
if (COMPLEX_P(x) || VECTOR_COMPLEX_P(x) || MATRIX_COMPLEX_P(x))
|
308
|
+
if (COMPLEX_P(x) || VECTOR_COMPLEX_P(x) || MATRIX_COMPLEX_P(x))
|
317
309
|
return rb_gsl_math_complex_eval(gsl_complex_arctanh, x);
|
318
310
|
return rb_gsl_math_eval(gsl_atanh, x);
|
319
311
|
}
|
@@ -329,10 +321,6 @@ VALUE rb_gsl_pow(VALUE obj, VALUE xx, VALUE nn)
|
|
329
321
|
double n;
|
330
322
|
gsl_vector *v = NULL, *vnew = NULL;
|
331
323
|
gsl_matrix *m = NULL, *mnew = NULL;
|
332
|
-
#ifdef HAVE_NARRAY_H
|
333
|
-
struct NARRAY *na;
|
334
|
-
double *ptr1, *ptr2;
|
335
|
-
#endif
|
336
324
|
if (CLASS_OF(xx) == rb_cRange) xx = rb_gsl_range2ary(xx);
|
337
325
|
switch (TYPE(xx)) {
|
338
326
|
case T_FIXNUM:
|
@@ -354,6 +342,8 @@ VALUE rb_gsl_pow(VALUE obj, VALUE xx, VALUE nn)
|
|
354
342
|
default:
|
355
343
|
#ifdef HAVE_NARRAY_H
|
356
344
|
if (NA_IsNArray(xx)) {
|
345
|
+
struct NARRAY *na;
|
346
|
+
double *ptr1, *ptr2;
|
357
347
|
n = NUM2DBL(nn);
|
358
348
|
GetNArray(xx, na);
|
359
349
|
ptr1 = (double*) na->ptr;
|
@@ -369,21 +359,21 @@ VALUE rb_gsl_pow(VALUE obj, VALUE xx, VALUE nn)
|
|
369
359
|
Data_Get_Struct(xx, gsl_vector, v);
|
370
360
|
vnew = gsl_vector_alloc(v->size);
|
371
361
|
for (i = 0; i < v->size; i++) {
|
372
|
-
|
362
|
+
gsl_vector_set(vnew, i, pow(gsl_vector_get(v, i), n));
|
373
363
|
}
|
374
364
|
return Data_Wrap_Struct(cgsl_vector, 0, gsl_vector_free, vnew);
|
375
|
-
}
|
365
|
+
}
|
376
366
|
if (MATRIX_P(xx)) {
|
377
367
|
n = NUM2DBL(nn);
|
378
368
|
Data_Get_Struct(xx, gsl_matrix, m);
|
379
369
|
mnew = gsl_matrix_alloc(m->size1, m->size2);
|
380
370
|
for (i = 0; i < m->size1; i++) {
|
381
|
-
|
382
|
-
|
383
|
-
|
371
|
+
for (j = 0; j < m->size2; j++) {
|
372
|
+
gsl_matrix_set(mnew, i, j, pow(gsl_matrix_get(m, i, j), n));
|
373
|
+
}
|
384
374
|
}
|
385
375
|
return Data_Wrap_Struct(cgsl_matrix, 0, gsl_matrix_free, mnew);
|
386
|
-
}
|
376
|
+
}
|
387
377
|
if (COMPLEX_P(xx) || VECTOR_COMPLEX_P(xx) || MATRIX_COMPLEX_P(xx)) {
|
388
378
|
argv[0] = xx;
|
389
379
|
argv[1] = nn;
|
@@ -403,10 +393,6 @@ static VALUE rb_gsl_pow_int(VALUE obj, VALUE xx, VALUE nn)
|
|
403
393
|
int n;
|
404
394
|
gsl_vector *v = NULL, *vnew = NULL;
|
405
395
|
gsl_matrix *m = NULL, *mnew = NULL;
|
406
|
-
#ifdef HAVE_NARRAY_H
|
407
|
-
struct NARRAY *na;
|
408
|
-
double *ptr1, *ptr2;
|
409
|
-
#endif
|
410
396
|
|
411
397
|
if (CLASS_OF(xx) == rb_cRange) xx = rb_gsl_range2ary(xx);
|
412
398
|
switch (TYPE(xx)) {
|
@@ -431,6 +417,8 @@ static VALUE rb_gsl_pow_int(VALUE obj, VALUE xx, VALUE nn)
|
|
431
417
|
default:
|
432
418
|
#ifdef HAVE_NARRAY_H
|
433
419
|
if (NA_IsNArray(xx)) {
|
420
|
+
struct NARRAY *na;
|
421
|
+
double *ptr1, *ptr2;
|
434
422
|
CHECK_FIXNUM(nn);
|
435
423
|
n = FIX2INT(nn);
|
436
424
|
GetNArray(xx, na);
|
@@ -448,7 +436,7 @@ static VALUE rb_gsl_pow_int(VALUE obj, VALUE xx, VALUE nn)
|
|
448
436
|
Data_Get_Struct(xx, gsl_vector, v);
|
449
437
|
vnew = gsl_vector_alloc(v->size);
|
450
438
|
for (i = 0; i < v->size; i++) {
|
451
|
-
|
439
|
+
gsl_vector_set(vnew, i, gsl_pow_int(gsl_vector_get(v, i), n));
|
452
440
|
}
|
453
441
|
return Data_Wrap_Struct(cgsl_vector, 0, gsl_vector_free, vnew);
|
454
442
|
} else if (MATRIX_P(xx)) {
|
@@ -457,9 +445,9 @@ static VALUE rb_gsl_pow_int(VALUE obj, VALUE xx, VALUE nn)
|
|
457
445
|
Data_Get_Struct(xx, gsl_matrix, m);
|
458
446
|
mnew = gsl_matrix_alloc(m->size1, m->size2);
|
459
447
|
for (i = 0; i < m->size1; i++) {
|
460
|
-
|
461
|
-
|
462
|
-
|
448
|
+
for (j = 0; j < m->size2; j++) {
|
449
|
+
gsl_matrix_set(mnew, i, j, gsl_pow_int(gsl_matrix_get(m, i, j), n));
|
450
|
+
}
|
463
451
|
}
|
464
452
|
return Data_Wrap_Struct(cgsl_matrix, 0, gsl_matrix_free, mnew);
|
465
453
|
} else if (COMPLEX_P(xx) || VECTOR_COMPLEX_P(xx) || MATRIX_COMPLEX_P(xx)) {
|
@@ -557,7 +545,6 @@ static VALUE rb_GSL_MAX(VALUE obj, VALUE aa, VALUE bb)
|
|
557
545
|
max = GSL_MAX_DBL(a, b);
|
558
546
|
if (gsl_fcmp(max, a, 1.0e-10) == 0) return aa;
|
559
547
|
else return bb;
|
560
|
-
|
561
548
|
}
|
562
549
|
|
563
550
|
static VALUE rb_GSL_MIN(VALUE obj, VALUE aa, VALUE bb)
|
@@ -588,7 +575,7 @@ static VALUE rb_GSL_MAX_INT(VALUE obj, VALUE aa, VALUE bb)
|
|
588
575
|
{
|
589
576
|
if (TYPE(aa) != T_FIXNUM || TYPE(bb) != T_FIXNUM)
|
590
577
|
return rb_GSL_MAX(obj, aa, bb);
|
591
|
-
else
|
578
|
+
else
|
592
579
|
return INT2FIX(GSL_MAX_INT(FIX2INT(aa), FIX2INT(bb)));
|
593
580
|
}
|
594
581
|
|
@@ -596,11 +583,10 @@ static VALUE rb_GSL_MIN_INT(VALUE obj, VALUE aa, VALUE bb)
|
|
596
583
|
{
|
597
584
|
if (TYPE(aa) != T_FIXNUM || TYPE(bb) != T_FIXNUM)
|
598
585
|
return rb_GSL_MIN(obj, aa, bb);
|
599
|
-
return
|
586
|
+
return
|
600
587
|
INT2FIX(GSL_MIN_INT(FIX2INT(aa), FIX2INT(bb)));
|
601
588
|
}
|
602
589
|
|
603
|
-
#ifdef GSL_1_3_LATER
|
604
590
|
static VALUE rb_gsl_ldexp(VALUE obj, VALUE x, VALUE e)
|
605
591
|
{
|
606
592
|
return rb_float_new(gsl_ldexp(NUM2DBL(x), FIX2INT(e)));
|
@@ -614,7 +600,6 @@ static VALUE rb_gsl_frexp(VALUE obj, VALUE x)
|
|
614
600
|
val = gsl_frexp(NUM2DBL(x), &e);
|
615
601
|
return rb_ary_new3(2, rb_float_new(val), INT2FIX(e));
|
616
602
|
}
|
617
|
-
#endif
|
618
603
|
|
619
604
|
static VALUE rb_gsl_fcmp(int argc, VALUE *argv, VALUE obj)
|
620
605
|
{
|
@@ -622,7 +607,7 @@ static VALUE rb_gsl_fcmp(int argc, VALUE *argv, VALUE obj)
|
|
622
607
|
switch (argc) {
|
623
608
|
case 3:
|
624
609
|
epsilon = NUM2DBL(argv[2]);
|
625
|
-
|
610
|
+
/* no break, do next */
|
626
611
|
case 2:
|
627
612
|
a = NUM2DBL(argv[0]);
|
628
613
|
b = NUM2DBL(argv[1]);
|
@@ -642,7 +627,7 @@ static VALUE rb_gsl_equal(int argc, VALUE *argv, VALUE obj)
|
|
642
627
|
switch (argc) {
|
643
628
|
case 3:
|
644
629
|
epsilon = NUM2DBL(argv[2]);
|
645
|
-
|
630
|
+
/* no break, do next */
|
646
631
|
case 2:
|
647
632
|
a = NUM2DBL(argv[0]);
|
648
633
|
b = NUM2DBL(argv[1]);
|
@@ -669,14 +654,12 @@ void Init_gsl_math(VALUE module)
|
|
669
654
|
rb_define_module_function(module, "isinf?", rb_gsl_isinf2, 1);
|
670
655
|
rb_define_module_function(module, "finite", rb_gsl_finite, 1);
|
671
656
|
rb_define_module_function(module, "finite?", rb_gsl_finite2, 1);
|
672
|
-
|
657
|
+
|
673
658
|
rb_define_module_function(module, "sqrt", rb_gsl_sqrt, 1);
|
674
659
|
rb_define_module_function(module, "log1p", rb_gsl_log1p, 1);
|
675
660
|
rb_define_module_function(module, "expm1", rb_gsl_expm1, 1);
|
676
661
|
rb_define_module_function(module, "hypot", rb_gsl_hypot, 2);
|
677
|
-
|
678
|
-
rb_define_module_function(module, "hypot3", rb_gsl_hypot3, 3);
|
679
|
-
#endif
|
662
|
+
rb_define_module_function(module, "hypot3", rb_gsl_hypot3, 3);
|
680
663
|
rb_define_module_function(module, "acosh", rb_gsl_acosh, 1);
|
681
664
|
rb_define_module_function(module, "asinh", rb_gsl_asinh, 1);
|
682
665
|
rb_define_module_function(module, "atanh", rb_gsl_atanh, 1);
|
@@ -692,7 +675,7 @@ void Init_gsl_math(VALUE module)
|
|
692
675
|
rb_define_module_function(module, "pow_9", rb_gsl_pow_9, 1);
|
693
676
|
rb_define_module_function(module, "sign", rb_GSL_SIGN, 1);
|
694
677
|
rb_define_module_function(module, "SIGN", rb_GSL_SIGN, 1);
|
695
|
-
|
678
|
+
|
696
679
|
rb_define_module_function(module, "is_odd", rb_GSL_IS_ODD, 1);
|
697
680
|
rb_define_module_function(module, "IS_ODD", rb_GSL_IS_ODD, 1);
|
698
681
|
rb_define_module_function(module, "is_odd?", rb_GSL_IS_ODD2, 1);
|
@@ -718,8 +701,6 @@ void Init_gsl_math(VALUE module)
|
|
718
701
|
|
719
702
|
rb_define_module_function(module, "fcmp", rb_gsl_fcmp, -1);
|
720
703
|
rb_define_singleton_method(module, "equal?", rb_gsl_equal, -1);
|
721
|
-
#ifdef GSL_1_3_LATER
|
722
704
|
rb_define_module_function(module, "ldexp", rb_gsl_ldexp, 2);
|
723
705
|
rb_define_module_function(module, "frexp", rb_gsl_frexp, 1);
|
724
|
-
#endif
|
725
706
|
}
|