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,15 +9,12 @@
|
|
9
9
|
WITHOUT ANY WARRANTY.
|
10
10
|
*/
|
11
11
|
|
12
|
-
#include "rb_gsl.h"
|
13
|
-
#include "rb_gsl_common.h"
|
14
|
-
#include "rb_gsl_array.h"
|
15
|
-
#include "rb_gsl_function.h"
|
12
|
+
#include "include/rb_gsl.h"
|
13
|
+
#include "include/rb_gsl_common.h"
|
14
|
+
#include "include/rb_gsl_array.h"
|
15
|
+
#include "include/rb_gsl_function.h"
|
16
16
|
#include <gsl/gsl_math.h>
|
17
17
|
#include <gsl/gsl_chebyshev.h>
|
18
|
-
#ifdef HAVE_NARRAY_H
|
19
|
-
#include "narray.h"
|
20
|
-
#endif
|
21
18
|
|
22
19
|
static VALUE cgsl_cheb;
|
23
20
|
|
@@ -98,10 +95,6 @@ static VALUE rb_gsl_cheb_eval(VALUE obj, VALUE xx)
|
|
98
95
|
size_t i, j, n;
|
99
96
|
gsl_vector *v = NULL, *vnew = NULL;
|
100
97
|
gsl_matrix *m = NULL, *mnew = NULL;
|
101
|
-
#ifdef HAVE_NARRAY_H
|
102
|
-
struct NARRAY *na;
|
103
|
-
double *ptr1, *ptr2;
|
104
|
-
#endif
|
105
98
|
Data_Get_Struct(obj, gsl_cheb_series, p);
|
106
99
|
if (CLASS_OF(xx) == rb_cRange) xx = rb_gsl_range2ary(xx);
|
107
100
|
switch (TYPE(xx)) {
|
@@ -124,6 +117,8 @@ static VALUE rb_gsl_cheb_eval(VALUE obj, VALUE xx)
|
|
124
117
|
default:
|
125
118
|
#ifdef HAVE_NARRAY_H
|
126
119
|
if (NA_IsNArray(xx)) {
|
120
|
+
struct NARRAY *na;
|
121
|
+
double *ptr1, *ptr2;
|
127
122
|
GetNArray(xx, na);
|
128
123
|
ptr1 = (double*) na->ptr;
|
129
124
|
n = na->total;
|
@@ -137,16 +132,16 @@ static VALUE rb_gsl_cheb_eval(VALUE obj, VALUE xx)
|
|
137
132
|
Data_Get_Struct(xx, gsl_vector, v);
|
138
133
|
vnew = gsl_vector_alloc(v->size);
|
139
134
|
for (i = 0; i < v->size; i++) {
|
140
|
-
|
135
|
+
gsl_vector_set(vnew, i, gsl_cheb_eval(p, gsl_vector_get(v, i)));
|
141
136
|
}
|
142
137
|
return Data_Wrap_Struct(cgsl_vector, 0, gsl_vector_free, vnew);
|
143
138
|
} else if (MATRIX_P(xx)) {
|
144
139
|
Data_Get_Struct(xx, gsl_matrix, m);
|
145
140
|
mnew = gsl_matrix_alloc(m->size1, m->size2);
|
146
141
|
for (i = 0; i < m->size1; i++) {
|
147
|
-
|
148
|
-
|
149
|
-
|
142
|
+
for (j = 0; j < m->size2; j++) {
|
143
|
+
gsl_matrix_set(mnew, i, j, gsl_cheb_eval(p, gsl_matrix_get(m, i, j)));
|
144
|
+
}
|
150
145
|
}
|
151
146
|
return Data_Wrap_Struct(cgsl_matrix, 0, gsl_matrix_free, mnew);
|
152
147
|
} else {
|
@@ -165,10 +160,6 @@ static VALUE rb_gsl_cheb_eval_err(VALUE obj, VALUE xx)
|
|
165
160
|
size_t n, i, j;
|
166
161
|
gsl_vector *v = NULL, *vnew = NULL, *verr = NULL;
|
167
162
|
gsl_matrix *m = NULL, *mnew = NULL, *merr = NULL;
|
168
|
-
#ifdef HAVE_NARRAY_H
|
169
|
-
struct NARRAY *na;
|
170
|
-
double *ptr1, *ptr2, *ptr3;
|
171
|
-
#endif
|
172
163
|
Data_Get_Struct(obj, gsl_cheb_series, p);
|
173
164
|
if (CLASS_OF(xx) == rb_cRange) xx = rb_gsl_range2ary(xx);
|
174
165
|
switch (TYPE(xx)) {
|
@@ -195,6 +186,8 @@ static VALUE rb_gsl_cheb_eval_err(VALUE obj, VALUE xx)
|
|
195
186
|
default:
|
196
187
|
#ifdef HAVE_NARRAY_H
|
197
188
|
if (NA_IsNArray(xx)) {
|
189
|
+
struct NARRAY *na;
|
190
|
+
double *ptr1, *ptr2, *ptr3;
|
198
191
|
GetNArray(xx, na);
|
199
192
|
ptr1 = (double*) na->ptr;
|
200
193
|
n = na->total;
|
@@ -203,9 +196,9 @@ static VALUE rb_gsl_cheb_eval_err(VALUE obj, VALUE xx)
|
|
203
196
|
ptr2 = NA_PTR_TYPE(ary,double*);
|
204
197
|
ptr3 = NA_PTR_TYPE(aerr,double*);
|
205
198
|
for (i = 0; i < n; i++) {
|
206
|
-
|
207
|
-
|
208
|
-
|
199
|
+
gsl_cheb_eval_err(p, ptr1[i], &result, &err);
|
200
|
+
ptr2[i] = result;
|
201
|
+
ptr3[i] = err;
|
209
202
|
}
|
210
203
|
return rb_ary_new3(2, ary, aerr);
|
211
204
|
}
|
@@ -215,27 +208,27 @@ static VALUE rb_gsl_cheb_eval_err(VALUE obj, VALUE xx)
|
|
215
208
|
vnew = gsl_vector_alloc(v->size);
|
216
209
|
verr = gsl_vector_alloc(v->size);
|
217
210
|
for (i = 0; i < v->size; i++) {
|
218
|
-
|
219
|
-
|
220
|
-
|
211
|
+
gsl_cheb_eval_err(p, gsl_vector_get(v, i), &result, &err);
|
212
|
+
gsl_vector_set(vnew, i, result);
|
213
|
+
gsl_vector_set(verr, i, err);
|
221
214
|
}
|
222
|
-
return rb_ary_new3(2,
|
223
|
-
|
224
|
-
|
215
|
+
return rb_ary_new3(2,
|
216
|
+
Data_Wrap_Struct(cgsl_vector, 0, gsl_vector_free, vnew),
|
217
|
+
Data_Wrap_Struct(cgsl_vector, 0, gsl_vector_free, verr));
|
225
218
|
} else if (MATRIX_P(xx)) {
|
226
219
|
Data_Get_Struct(xx, gsl_matrix, m);
|
227
220
|
mnew = gsl_matrix_alloc(m->size1, m->size2);
|
228
221
|
merr = gsl_matrix_alloc(m->size1, m->size2);
|
229
222
|
for (i = 0; i < m->size1; i++) {
|
230
|
-
|
231
|
-
|
232
|
-
|
233
|
-
|
234
|
-
|
223
|
+
for (j = 0; j < m->size2; j++) {
|
224
|
+
gsl_cheb_eval_err(p, gsl_matrix_get(m, i, j), &result, &err);
|
225
|
+
gsl_matrix_set(mnew, i, j, result);
|
226
|
+
gsl_matrix_set(merr, i, j, err);
|
227
|
+
}
|
235
228
|
}
|
236
229
|
return rb_ary_new3(2,
|
237
|
-
|
238
|
-
|
230
|
+
Data_Wrap_Struct(cgsl_matrix, 0, gsl_matrix_free, mnew),
|
231
|
+
Data_Wrap_Struct(cgsl_matrix, 0, gsl_matrix_free, merr));
|
239
232
|
} else {
|
240
233
|
rb_raise(rb_eTypeError, "wrong argument type");
|
241
234
|
}
|
@@ -251,10 +244,6 @@ static VALUE rb_gsl_cheb_eval_n(VALUE obj, VALUE nn, VALUE xx)
|
|
251
244
|
size_t n, order, i, j;
|
252
245
|
gsl_vector *v = NULL, *vnew = NULL;
|
253
246
|
gsl_matrix *m = NULL, *mnew = NULL;
|
254
|
-
#ifdef HAVE_NARRAY_H
|
255
|
-
struct NARRAY *na;
|
256
|
-
double *ptr1, *ptr2;
|
257
|
-
#endif
|
258
247
|
CHECK_FIXNUM(nn);
|
259
248
|
order = FIX2INT(nn);
|
260
249
|
Data_Get_Struct(obj, gsl_cheb_series, p);
|
@@ -279,6 +268,8 @@ static VALUE rb_gsl_cheb_eval_n(VALUE obj, VALUE nn, VALUE xx)
|
|
279
268
|
default:
|
280
269
|
#ifdef HAVE_NARRAY_H
|
281
270
|
if (NA_IsNArray(xx)) {
|
271
|
+
struct NARRAY *na;
|
272
|
+
double *ptr1, *ptr2;
|
282
273
|
GetNArray(xx, na);
|
283
274
|
ptr1 = (double*) na->ptr;
|
284
275
|
n = na->total;
|
@@ -292,17 +283,17 @@ static VALUE rb_gsl_cheb_eval_n(VALUE obj, VALUE nn, VALUE xx)
|
|
292
283
|
Data_Get_Struct(xx, gsl_vector, v);
|
293
284
|
vnew = gsl_vector_alloc(v->size);
|
294
285
|
for (i = 0; i < v->size; i++) {
|
295
|
-
|
286
|
+
gsl_vector_set(vnew, i, gsl_cheb_eval_n(p, order, gsl_vector_get(v, i)));
|
296
287
|
}
|
297
288
|
return Data_Wrap_Struct(cgsl_vector, 0, gsl_vector_free, vnew);
|
298
289
|
} else if (MATRIX_P(xx)) {
|
299
290
|
Data_Get_Struct(xx, gsl_matrix, m);
|
300
291
|
mnew = gsl_matrix_alloc(m->size1, m->size2);
|
301
292
|
for (i = 0; i < m->size1; i++) {
|
302
|
-
|
303
|
-
|
304
|
-
|
305
|
-
|
293
|
+
for (j = 0; j < m->size2; j++) {
|
294
|
+
gsl_matrix_set(mnew, i, j,
|
295
|
+
gsl_cheb_eval_n(p, order, gsl_matrix_get(m, i, j)));
|
296
|
+
}
|
306
297
|
}
|
307
298
|
return Data_Wrap_Struct(cgsl_matrix, 0, gsl_matrix_free, mnew);
|
308
299
|
} else {
|
@@ -321,11 +312,7 @@ static VALUE rb_gsl_cheb_eval_n_err(VALUE obj, VALUE nn, VALUE xx)
|
|
321
312
|
size_t n, order, i, j;
|
322
313
|
gsl_vector *v, *vnew, *verr;
|
323
314
|
gsl_matrix *m, *mnew, *merr;
|
324
|
-
|
325
|
-
struct NARRAY *na;
|
326
|
-
double *ptr1, *ptr2, *ptr3;
|
327
|
-
#endif
|
328
|
-
CHECK_FIXNUM(nn);
|
315
|
+
CHECK_FIXNUM(nn);
|
329
316
|
order = FIX2INT(nn);
|
330
317
|
Data_Get_Struct(obj, gsl_cheb_series, p);
|
331
318
|
if (CLASS_OF(xx) == rb_cRange) xx = rb_gsl_range2ary(xx);
|
@@ -353,6 +340,8 @@ static VALUE rb_gsl_cheb_eval_n_err(VALUE obj, VALUE nn, VALUE xx)
|
|
353
340
|
default:
|
354
341
|
#ifdef HAVE_NARRAY_H
|
355
342
|
if (NA_IsNArray(xx)) {
|
343
|
+
struct NARRAY *na;
|
344
|
+
double *ptr1, *ptr2, *ptr3;
|
356
345
|
GetNArray(xx, na);
|
357
346
|
ptr1 = (double*) na->ptr;
|
358
347
|
n = na->total;
|
@@ -361,9 +350,9 @@ static VALUE rb_gsl_cheb_eval_n_err(VALUE obj, VALUE nn, VALUE xx)
|
|
361
350
|
ptr2 = NA_PTR_TYPE(ary,double*);
|
362
351
|
ptr3 = NA_PTR_TYPE(aerr,double*);
|
363
352
|
for (i = 0; i < n; i++) {
|
364
|
-
|
365
|
-
|
366
|
-
|
353
|
+
gsl_cheb_eval_n_err(p, order, ptr1[i], &result, &err);
|
354
|
+
ptr2[i] = result;
|
355
|
+
ptr3[i] = err;
|
367
356
|
}
|
368
357
|
return rb_ary_new3(2, ary, aerr);
|
369
358
|
}
|
@@ -373,27 +362,27 @@ static VALUE rb_gsl_cheb_eval_n_err(VALUE obj, VALUE nn, VALUE xx)
|
|
373
362
|
vnew = gsl_vector_alloc(v->size);
|
374
363
|
verr = gsl_vector_alloc(v->size);
|
375
364
|
for (i = 0; i < v->size; i++) {
|
376
|
-
|
377
|
-
|
378
|
-
|
365
|
+
gsl_cheb_eval_n_err(p, order, gsl_vector_get(v, i), &result, &err);
|
366
|
+
gsl_vector_set(vnew, i, result);
|
367
|
+
gsl_vector_set(verr, i, err);
|
379
368
|
}
|
380
|
-
return rb_ary_new3(2,
|
381
|
-
|
382
|
-
|
369
|
+
return rb_ary_new3(2,
|
370
|
+
Data_Wrap_Struct(cgsl_vector, 0, gsl_vector_free, vnew),
|
371
|
+
Data_Wrap_Struct(cgsl_vector, 0, gsl_vector_free, verr));
|
383
372
|
} else if (MATRIX_P(xx)) {
|
384
373
|
Data_Get_Struct(xx, gsl_matrix, m);
|
385
374
|
mnew = gsl_matrix_alloc(m->size1, m->size2);
|
386
375
|
merr = gsl_matrix_alloc(m->size1, m->size2);
|
387
376
|
for (i = 0; i < m->size1; i++) {
|
388
|
-
|
389
|
-
|
390
|
-
|
391
|
-
|
392
|
-
|
377
|
+
for (j = 0; j < m->size2; j++) {
|
378
|
+
gsl_cheb_eval_n_err(p, order, gsl_matrix_get(m, i, j), &result, &err);
|
379
|
+
gsl_matrix_set(mnew, i, j, result);
|
380
|
+
gsl_matrix_set(merr, i, j, err);
|
381
|
+
}
|
393
382
|
}
|
394
383
|
return rb_ary_new3(2,
|
395
|
-
|
396
|
-
|
384
|
+
Data_Wrap_Struct(cgsl_matrix, 0, gsl_matrix_free, mnew),
|
385
|
+
Data_Wrap_Struct(cgsl_matrix, 0, gsl_matrix_free, merr));
|
397
386
|
} else {
|
398
387
|
rb_raise(rb_eTypeError, "wrong argument type");
|
399
388
|
}
|
@@ -412,20 +401,20 @@ static VALUE rb_gsl_cheb_calc_deriv(int argc, VALUE *argv, VALUE obj)
|
|
412
401
|
case T_OBJECT:
|
413
402
|
switch (argc) {
|
414
403
|
case 1:
|
415
|
-
if (!rb_obj_is_kind_of(argv[0], cgsl_cheb))
|
416
|
-
|
417
|
-
|
404
|
+
if (!rb_obj_is_kind_of(argv[0], cgsl_cheb))
|
405
|
+
rb_raise(rb_eTypeError, "wrong argument type %s (Cheb expected)",
|
406
|
+
rb_class2name(CLASS_OF(argv[0])));
|
418
407
|
Data_Get_Struct(argv[0], gsl_cheb_series, cs);
|
419
408
|
deriv = gsl_cheb_alloc(cs->order);
|
420
409
|
retval = Data_Wrap_Struct(CLASS_OF(argv[0]), 0, gsl_cheb_free, deriv);
|
421
410
|
break;
|
422
411
|
case 2:
|
423
|
-
if (!rb_obj_is_kind_of(argv[0], cgsl_cheb))
|
424
|
-
|
425
|
-
|
426
|
-
if (!rb_obj_is_kind_of(argv[1], cgsl_cheb))
|
427
|
-
|
428
|
-
|
412
|
+
if (!rb_obj_is_kind_of(argv[0], cgsl_cheb))
|
413
|
+
rb_raise(rb_eTypeError, "argv[0] wrong argument type %s (Cheb expected)",
|
414
|
+
rb_class2name(CLASS_OF(argv[0])));
|
415
|
+
if (!rb_obj_is_kind_of(argv[1], cgsl_cheb))
|
416
|
+
rb_raise(rb_eTypeError, "argv[1] wrong argument type %s (Cheb expected)",
|
417
|
+
rb_class2name(CLASS_OF(argv[1])));
|
429
418
|
Data_Get_Struct(argv[0], gsl_cheb_series, deriv);
|
430
419
|
Data_Get_Struct(argv[1], gsl_cheb_series, cs);
|
431
420
|
retval = argv[0];
|
@@ -443,9 +432,9 @@ static VALUE rb_gsl_cheb_calc_deriv(int argc, VALUE *argv, VALUE obj)
|
|
443
432
|
retval = Data_Wrap_Struct(CLASS_OF(obj), 0, gsl_cheb_free, deriv);
|
444
433
|
break;
|
445
434
|
case 1:
|
446
|
-
if (!rb_obj_is_kind_of(argv[0], cgsl_cheb))
|
447
|
-
|
448
|
-
|
435
|
+
if (!rb_obj_is_kind_of(argv[0], cgsl_cheb))
|
436
|
+
rb_raise(rb_eTypeError, "argv[0] wrong argument type %s (Cheb expected)",
|
437
|
+
rb_class2name(CLASS_OF(argv[0])));
|
449
438
|
Data_Get_Struct(argv[0], gsl_cheb_series, deriv);
|
450
439
|
retval = argv[0];
|
451
440
|
break;
|
@@ -469,20 +458,20 @@ static VALUE rb_gsl_cheb_calc_integ(int argc, VALUE *argv, VALUE obj)
|
|
469
458
|
case T_OBJECT:
|
470
459
|
switch (argc) {
|
471
460
|
case 1:
|
472
|
-
if (!rb_obj_is_kind_of(argv[0], cgsl_cheb))
|
473
|
-
|
474
|
-
|
461
|
+
if (!rb_obj_is_kind_of(argv[0], cgsl_cheb))
|
462
|
+
rb_raise(rb_eTypeError, "wrong argument type %s (Cheb expected)",
|
463
|
+
rb_class2name(CLASS_OF(argv[0])));
|
475
464
|
Data_Get_Struct(argv[0], gsl_cheb_series, cs);
|
476
465
|
deriv = gsl_cheb_alloc(cs->order);
|
477
466
|
retval = Data_Wrap_Struct(CLASS_OF(argv[0]), 0, gsl_cheb_free, deriv);
|
478
467
|
break;
|
479
468
|
case 2:
|
480
|
-
if (!rb_obj_is_kind_of(argv[0], cgsl_cheb))
|
481
|
-
|
482
|
-
|
483
|
-
if (!rb_obj_is_kind_of(argv[1], cgsl_cheb))
|
484
|
-
|
485
|
-
|
469
|
+
if (!rb_obj_is_kind_of(argv[0], cgsl_cheb))
|
470
|
+
rb_raise(rb_eTypeError, "argv[0] wrong argument type %s (Cheb expected)",
|
471
|
+
rb_class2name(CLASS_OF(argv[0])));
|
472
|
+
if (!rb_obj_is_kind_of(argv[1], cgsl_cheb))
|
473
|
+
rb_raise(rb_eTypeError, "argv[1] wrong argument type %s (Cheb expected)",
|
474
|
+
rb_class2name(CLASS_OF(argv[1])));
|
486
475
|
Data_Get_Struct(argv[0], gsl_cheb_series, deriv);
|
487
476
|
Data_Get_Struct(argv[1], gsl_cheb_series, cs);
|
488
477
|
retval = argv[0];
|
@@ -500,9 +489,9 @@ static VALUE rb_gsl_cheb_calc_integ(int argc, VALUE *argv, VALUE obj)
|
|
500
489
|
retval = Data_Wrap_Struct(CLASS_OF(obj), 0, gsl_cheb_free, deriv);
|
501
490
|
break;
|
502
491
|
case 1:
|
503
|
-
if (!rb_obj_is_kind_of(argv[0], cgsl_cheb))
|
504
|
-
|
505
|
-
|
492
|
+
if (!rb_obj_is_kind_of(argv[0], cgsl_cheb))
|
493
|
+
rb_raise(rb_eTypeError, "argv[0] wrong argument type %s (Cheb expected)",
|
494
|
+
rb_class2name(CLASS_OF(argv[0])));
|
506
495
|
Data_Get_Struct(argv[0], gsl_cheb_series, deriv);
|
507
496
|
retval = argv[0];
|
508
497
|
break;
|
@@ -9,17 +9,15 @@
|
|
9
9
|
WITHOUT ANY WARRANTY.
|
10
10
|
*/
|
11
11
|
|
12
|
-
#include "
|
13
|
-
#
|
14
|
-
#include "rb_gsl_common.h"
|
15
|
-
#include "rb_gsl_array.h"
|
12
|
+
#include "include/rb_gsl_common.h"
|
13
|
+
#include "include/rb_gsl_array.h"
|
16
14
|
|
17
15
|
static VALUE cgsl_combination_data;
|
18
16
|
|
19
17
|
static VALUE rb_gsl_combination_new(VALUE klass, VALUE n, VALUE k)
|
20
18
|
{
|
21
19
|
gsl_combination *c = NULL;
|
22
|
-
CHECK_FIXNUM(n);CHECK_FIXNUM(k);
|
20
|
+
CHECK_FIXNUM(n); CHECK_FIXNUM(k);
|
23
21
|
c = gsl_combination_alloc(FIX2INT(n), FIX2INT(k));
|
24
22
|
return Data_Wrap_Struct(klass, 0, gsl_combination_free, c);
|
25
23
|
}
|
@@ -27,7 +25,7 @@ static VALUE rb_gsl_combination_new(VALUE klass, VALUE n, VALUE k)
|
|
27
25
|
static VALUE rb_gsl_combination_calloc(VALUE klass, VALUE n, VALUE k)
|
28
26
|
{
|
29
27
|
gsl_combination *c = NULL;
|
30
|
-
CHECK_FIXNUM(n);CHECK_FIXNUM(k);
|
28
|
+
CHECK_FIXNUM(n); CHECK_FIXNUM(k);
|
31
29
|
c = gsl_combination_calloc(FIX2INT(n), FIX2INT(k));
|
32
30
|
return Data_Wrap_Struct(klass, 0, gsl_combination_free, c);
|
33
31
|
}
|
@@ -48,18 +46,16 @@ static VALUE rb_gsl_combination_init_last(VALUE obj)
|
|
48
46
|
return obj;
|
49
47
|
}
|
50
48
|
|
51
|
-
#ifdef GSL_1_4_LATER
|
52
49
|
/* singleton */
|
53
50
|
static VALUE rb_gsl_combination_memcpy(VALUE klass, VALUE dst, VALUE src)
|
54
51
|
{
|
55
52
|
gsl_combination *c, *c2;
|
56
53
|
if (!rb_obj_is_kind_of(dst, klass))
|
57
54
|
rb_raise(rb_eTypeError, "wrong argument type %s (Combination expected)",
|
58
|
-
|
55
|
+
rb_class2name(CLASS_OF(dst)));
|
59
56
|
if (!rb_obj_is_kind_of(src, klass))
|
60
57
|
rb_raise(rb_eTypeError, "wrong argument type %s (Combination expected)",
|
61
|
-
|
62
|
-
|
58
|
+
rb_class2name(CLASS_OF(src)));
|
63
59
|
Data_Get_Struct(dst, gsl_combination, c2);
|
64
60
|
Data_Get_Struct(src, gsl_combination, c);
|
65
61
|
gsl_combination_memcpy(c2, c);
|
@@ -74,7 +70,6 @@ static VALUE rb_gsl_combination_clone(VALUE obj)
|
|
74
70
|
gsl_combination_memcpy(c2, c);
|
75
71
|
return Data_Wrap_Struct(CLASS_OF(obj), 0, gsl_combination_free, c2);
|
76
72
|
}
|
77
|
-
#endif
|
78
73
|
|
79
74
|
static VALUE rb_gsl_combination_get(VALUE obj, VALUE ii)
|
80
75
|
{
|
@@ -183,9 +178,8 @@ static VALUE rb_gsl_combination_fprintf(int argc, VALUE *argv, VALUE obj)
|
|
183
178
|
FILE *fp = NULL;
|
184
179
|
int status, flag = 0;
|
185
180
|
|
186
|
-
if (argc != 1 && argc != 2) rb_raise(rb_eArgError,
|
187
|
-
|
188
|
-
|
181
|
+
if (argc != 1 && argc != 2) rb_raise(rb_eArgError,
|
182
|
+
"wrong number of arguments (%d for 1 or 2)", argc);
|
189
183
|
Data_Get_Struct(obj, gsl_combination, h);
|
190
184
|
fp = rb_gsl_open_writefile(argv[0], &flag);
|
191
185
|
switch (argc) {
|
@@ -247,17 +241,15 @@ void Init_gsl_combination(VALUE module)
|
|
247
241
|
{
|
248
242
|
VALUE cgsl_combination;
|
249
243
|
cgsl_combination = rb_define_class_under(module, "Combination", cGSL_Object);
|
250
|
-
cgsl_combination_data = rb_define_class_under(cgsl_combination, "Data",
|
251
|
-
|
244
|
+
cgsl_combination_data = rb_define_class_under(cgsl_combination, "Data",
|
245
|
+
cgsl_permutation);
|
252
246
|
rb_define_singleton_method(cgsl_combination, "new", rb_gsl_combination_new, 2);
|
253
247
|
rb_define_singleton_method(cgsl_combination, "alloc", rb_gsl_combination_new, 2);
|
254
248
|
rb_define_singleton_method(cgsl_combination, "calloc", rb_gsl_combination_calloc, 2);
|
255
249
|
rb_define_method(cgsl_combination, "init_first", rb_gsl_combination_init_first, 0);
|
256
250
|
rb_define_method(cgsl_combination, "init_last", rb_gsl_combination_init_last, 0);
|
257
|
-
#ifdef GSL_1_4_LATER
|
258
251
|
rb_define_singleton_method(cgsl_combination, "memcpy", rb_gsl_combination_memcpy, 2);
|
259
252
|
rb_define_method(cgsl_combination, "clone", rb_gsl_combination_clone, 0);
|
260
|
-
#endif
|
261
253
|
rb_define_method(cgsl_combination, "get", rb_gsl_combination_get, 1);
|
262
254
|
rb_define_alias(cgsl_combination, "[]", "get");
|
263
255
|
rb_define_method(cgsl_combination, "set", rb_gsl_combination_set, 2);
|
@@ -280,4 +272,4 @@ void Init_gsl_combination(VALUE module)
|
|
280
272
|
rb_define_method(cgsl_combination, "equal?", rb_gsl_combination_equal, 1);
|
281
273
|
rb_define_alias(cgsl_combination, "==", "equal?");
|
282
274
|
}
|
283
|
-
|
275
|
+
|
@@ -9,20 +9,14 @@
|
|
9
9
|
WITHOUT ANY WARRANTY.
|
10
10
|
*/
|
11
11
|
|
12
|
-
#include "
|
13
|
-
|
14
|
-
#include "rb_gsl_array.h"
|
15
|
-
#include "rb_gsl_histogram.h"
|
12
|
+
#include "include/rb_gsl_array.h"
|
13
|
+
#include "include/rb_gsl_histogram.h"
|
16
14
|
#include <string.h>
|
17
15
|
#include <ctype.h>
|
18
16
|
|
19
17
|
FILE* rb_gsl_open_writefile(VALUE io, int *flag)
|
20
18
|
{
|
21
|
-
#ifdef RUBY_1_9_LATER
|
22
19
|
rb_io_t *fptr = NULL;
|
23
|
-
#else
|
24
|
-
OpenFile *fptr = NULL;
|
25
|
-
#endif
|
26
20
|
FILE *fp = NULL;
|
27
21
|
char *name;
|
28
22
|
switch (TYPE(io)) {
|
@@ -33,19 +27,8 @@ FILE* rb_gsl_open_writefile(VALUE io, int *flag)
|
|
33
27
|
break;
|
34
28
|
case T_FILE:
|
35
29
|
GetOpenFile(io, fptr);
|
36
|
-
/*
|
37
|
-
#ifdef RUBY_1_9_LATER
|
38
|
-
name = STR2CSTR(fptr->pathv);
|
39
|
-
#else
|
40
|
-
name = fptr->path;
|
41
|
-
#endif
|
42
|
-
*/
|
43
30
|
rb_io_check_writable(fptr);
|
44
|
-
#ifdef RUBY_1_9_LATER
|
45
31
|
fp = rb_io_stdio_file(fptr);
|
46
|
-
#else
|
47
|
-
fp = GetWriteFile(fptr);
|
48
|
-
#endif
|
49
32
|
*flag = 0;
|
50
33
|
break;
|
51
34
|
default:
|
@@ -59,11 +42,7 @@ FILE* rb_gsl_open_writefile(VALUE io, int *flag)
|
|
59
42
|
|
60
43
|
FILE* rb_gsl_open_readfile(VALUE io, int *flag)
|
61
44
|
{
|
62
|
-
#ifdef RUBY_1_9_LATER
|
63
45
|
rb_io_t *fptr = NULL;
|
64
|
-
#else
|
65
|
-
OpenFile *fptr = NULL;
|
66
|
-
#endif
|
67
46
|
FILE *fp = NULL;
|
68
47
|
char *name;
|
69
48
|
switch (TYPE(io)) {
|
@@ -74,19 +53,8 @@ FILE* rb_gsl_open_readfile(VALUE io, int *flag)
|
|
74
53
|
break;
|
75
54
|
case T_FILE:
|
76
55
|
GetOpenFile(io, fptr);
|
77
|
-
/*
|
78
|
-
#ifdef RUBY_1_9_LATER
|
79
|
-
name = STR2CSTR(fptr->pathv);
|
80
|
-
#else
|
81
|
-
name = fptr->path;
|
82
|
-
#endif
|
83
|
-
*/
|
84
56
|
rb_io_check_readable(fptr);
|
85
|
-
#ifdef RUBY_1_9_LATER
|
86
57
|
fp = rb_io_stdio_file(fptr);
|
87
|
-
#else
|
88
|
-
fp = fptr->f;
|
89
|
-
#endif
|
90
58
|
*flag = 0;
|
91
59
|
break;
|
92
60
|
default:
|
@@ -138,8 +106,8 @@ size_t count_columns(const char *str)
|
|
138
106
|
flag = 1;
|
139
107
|
} else {
|
140
108
|
if (flag == 1) {
|
141
|
-
|
142
|
-
|
109
|
+
flag = 0;
|
110
|
+
n++;
|
143
111
|
}
|
144
112
|
}
|
145
113
|
p++;
|
@@ -158,9 +126,9 @@ char* str_scan_double(const char *str, double *val)
|
|
158
126
|
do {
|
159
127
|
if (isspace(*p)) {
|
160
128
|
if (flag == 0) {
|
161
|
-
|
129
|
+
/* do nothing */
|
162
130
|
} else {
|
163
|
-
|
131
|
+
break;
|
164
132
|
}
|
165
133
|
} else {
|
166
134
|
*q++ = *p;
|
@@ -194,9 +162,9 @@ char* str_scan_int(const char *str, int *val)
|
|
194
162
|
do {
|
195
163
|
if (isspace(*p)) {
|
196
164
|
if (flag == 0) {
|
197
|
-
|
165
|
+
/* do nothing */
|
198
166
|
} else {
|
199
|
-
|
167
|
+
break;
|
200
168
|
}
|
201
169
|
} else {
|
202
170
|
*q++ = *p;
|
@@ -257,7 +225,7 @@ gsl_complex ary2complex(VALUE obj)
|
|
257
225
|
c = *z;
|
258
226
|
} else {
|
259
227
|
rb_raise(rb_eTypeError, "wrong argument type %s (Array or Complex expected)",
|
260
|
-
|
228
|
+
rb_class2name(CLASS_OF(obj)));
|
261
229
|
}
|
262
230
|
break;
|
263
231
|
}
|