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
@@ -8,12 +8,11 @@
|
|
8
8
|
This library is distributed in the hope that it will be useful, but
|
9
9
|
WITHOUT ANY WARRANTY.
|
10
10
|
*/
|
11
|
-
#include "rb_gsl_config.h"
|
12
11
|
|
13
12
|
#include <gsl/gsl_blas.h>
|
14
|
-
#include "rb_gsl_common.h"
|
15
|
-
#include "rb_gsl_complex.h"
|
16
|
-
#include "rb_gsl_array.h"
|
13
|
+
#include "include/rb_gsl_common.h"
|
14
|
+
#include "include/rb_gsl_complex.h"
|
15
|
+
#include "include/rb_gsl_array.h"
|
17
16
|
|
18
17
|
static VALUE rb_gsl_blas_dgemm(int argc, VALUE *argv, VALUE obj)
|
19
18
|
{
|
@@ -92,11 +91,11 @@ static VALUE rb_gsl_blas_dgemm(int argc, VALUE *argv, VALUE obj)
|
|
92
91
|
static VALUE rb_gsl_blas_zgemm(int argc, VALUE *argv, VALUE obj)
|
93
92
|
{
|
94
93
|
gsl_matrix_complex *A = NULL, *B = NULL, *C = NULL;
|
95
|
-
gsl_complex
|
94
|
+
gsl_complex *pa = NULL, *pb = NULL;
|
96
95
|
CBLAS_TRANSPOSE_t TransA, TransB;
|
97
96
|
int flag = 0;
|
98
|
-
|
99
|
-
|
97
|
+
(*pa).dat[0] = 1.0; (*pa).dat[1] = 0.0;
|
98
|
+
(*pb).dat[0] = 0.0; (*pb).dat[1] = 0.0;
|
100
99
|
switch (argc) {
|
101
100
|
case 2:
|
102
101
|
CHECK_MATRIX_COMPLEX(argv[0]);
|
@@ -157,7 +156,7 @@ static VALUE rb_gsl_blas_zgemm(int argc, VALUE *argv, VALUE obj)
|
|
157
156
|
rb_raise(rb_eArgError, "wrong number of arguments (%d for 2 or 7)", argc);
|
158
157
|
break;
|
159
158
|
}
|
160
|
-
gsl_blas_zgemm(TransA, TransB,
|
159
|
+
gsl_blas_zgemm(TransA, TransB, *pa, A, B, *pb, C);
|
161
160
|
if (flag == 1) return Data_Wrap_Struct(cgsl_matrix_complex, 0, gsl_matrix_complex_free, C);
|
162
161
|
else return argv[6];
|
163
162
|
}
|
@@ -308,7 +307,7 @@ static VALUE rb_gsl_blas_zsymm(int argc, VALUE *argv, VALUE obj)
|
|
308
307
|
rb_raise(rb_eArgError, "wrong number of arguments (%d for 2 or 7)", argc);
|
309
308
|
break;
|
310
309
|
}
|
311
|
-
gsl_blas_zsymm(Side, Uplo,
|
310
|
+
gsl_blas_zsymm(Side, Uplo, *pa, A, B, *pb, C);
|
312
311
|
if (flag == 1) return Data_Wrap_Struct(cgsl_matrix_complex, 0, gsl_matrix_complex_free, C);
|
313
312
|
else return argv[6];
|
314
313
|
}
|
@@ -383,13 +382,13 @@ static VALUE rb_gsl_blas_zhemm(int argc, VALUE *argv, VALUE obj)
|
|
383
382
|
rb_raise(rb_eArgError, "wrong number of arguments (%d for 2 or 7)", argc);
|
384
383
|
break;
|
385
384
|
}
|
386
|
-
gsl_blas_zhemm(Side, Uplo,
|
385
|
+
gsl_blas_zhemm(Side, Uplo, *pa, A, B, *pb, C);
|
387
386
|
if (flag == 1) return Data_Wrap_Struct(cgsl_matrix_complex, 0, gsl_matrix_complex_free, C);
|
388
387
|
else return argv[6];
|
389
388
|
}
|
390
389
|
|
391
|
-
static VALUE rb_gsl_blas_dtrmm(VALUE obj, VALUE s, VALUE u, VALUE ta,
|
392
|
-
|
390
|
+
static VALUE rb_gsl_blas_dtrmm(VALUE obj, VALUE s, VALUE u, VALUE ta,
|
391
|
+
VALUE d, VALUE a, VALUE aa, VALUE bb)
|
393
392
|
{
|
394
393
|
gsl_matrix *A = NULL, *B = NULL;
|
395
394
|
double alpha;
|
@@ -411,8 +410,8 @@ static VALUE rb_gsl_blas_dtrmm(VALUE obj, VALUE s, VALUE u, VALUE ta,
|
|
411
410
|
return bb;
|
412
411
|
}
|
413
412
|
|
414
|
-
static VALUE rb_gsl_blas_dtrmm2(VALUE obj, VALUE s, VALUE u, VALUE ta,
|
415
|
-
|
413
|
+
static VALUE rb_gsl_blas_dtrmm2(VALUE obj, VALUE s, VALUE u, VALUE ta,
|
414
|
+
VALUE d, VALUE a, VALUE aa, VALUE bb)
|
416
415
|
{
|
417
416
|
gsl_matrix *A = NULL, *B = NULL, *Bnew = NULL;
|
418
417
|
double alpha;
|
@@ -436,11 +435,11 @@ static VALUE rb_gsl_blas_dtrmm2(VALUE obj, VALUE s, VALUE u, VALUE ta,
|
|
436
435
|
return Data_Wrap_Struct(cgsl_matrix, 0, gsl_matrix_free, Bnew);
|
437
436
|
}
|
438
437
|
|
439
|
-
static VALUE rb_gsl_blas_ztrmm(VALUE obj, VALUE s, VALUE u, VALUE ta,
|
440
|
-
|
438
|
+
static VALUE rb_gsl_blas_ztrmm(VALUE obj, VALUE s, VALUE u, VALUE ta,
|
439
|
+
VALUE d, VALUE a, VALUE aa, VALUE bb)
|
441
440
|
{
|
442
441
|
gsl_matrix_complex *A = NULL, *B = NULL;
|
443
|
-
gsl_complex
|
442
|
+
gsl_complex *pa = NULL;
|
444
443
|
CBLAS_SIDE_t Side;
|
445
444
|
CBLAS_UPLO_t Uplo;
|
446
445
|
CBLAS_TRANSPOSE_t TransA;
|
@@ -456,15 +455,15 @@ static VALUE rb_gsl_blas_ztrmm(VALUE obj, VALUE s, VALUE u, VALUE ta,
|
|
456
455
|
Data_Get_Struct(a, gsl_complex, pa);
|
457
456
|
Data_Get_Struct(aa, gsl_matrix_complex, A);
|
458
457
|
Data_Get_Struct(bb, gsl_matrix_complex, B);
|
459
|
-
gsl_blas_ztrmm(Side, Uplo, TransA, Diag,
|
458
|
+
gsl_blas_ztrmm(Side, Uplo, TransA, Diag, *pa, A, B);
|
460
459
|
return bb;
|
461
460
|
}
|
462
461
|
|
463
|
-
static VALUE rb_gsl_blas_ztrmm2(VALUE obj, VALUE s, VALUE u, VALUE ta,
|
464
|
-
|
462
|
+
static VALUE rb_gsl_blas_ztrmm2(VALUE obj, VALUE s, VALUE u, VALUE ta,
|
463
|
+
VALUE d, VALUE a, VALUE aa, VALUE bb)
|
465
464
|
{
|
466
465
|
gsl_matrix_complex *A = NULL, *B = NULL, *Bnew = NULL;
|
467
|
-
gsl_complex
|
466
|
+
gsl_complex *pa = NULL;
|
468
467
|
CBLAS_SIDE_t Side;
|
469
468
|
CBLAS_UPLO_t Uplo;
|
470
469
|
CBLAS_TRANSPOSE_t TransA;
|
@@ -481,12 +480,12 @@ static VALUE rb_gsl_blas_ztrmm2(VALUE obj, VALUE s, VALUE u, VALUE ta,
|
|
481
480
|
Data_Get_Struct(bb, gsl_matrix_complex, B);
|
482
481
|
Bnew = gsl_matrix_complex_alloc(B->size1, B->size2);
|
483
482
|
gsl_matrix_complex_memcpy(Bnew, B);
|
484
|
-
gsl_blas_ztrmm(Side, Uplo, TransA, Diag,
|
483
|
+
gsl_blas_ztrmm(Side, Uplo, TransA, Diag, *pa, A, Bnew);
|
485
484
|
return Data_Wrap_Struct(cgsl_matrix_complex, 0, gsl_matrix_complex_free, Bnew);
|
486
485
|
}
|
487
486
|
|
488
|
-
static VALUE rb_gsl_blas_dtrsm(VALUE obj, VALUE s, VALUE u, VALUE ta,
|
489
|
-
|
487
|
+
static VALUE rb_gsl_blas_dtrsm(VALUE obj, VALUE s, VALUE u, VALUE ta,
|
488
|
+
VALUE d, VALUE a, VALUE aa, VALUE bb)
|
490
489
|
{
|
491
490
|
gsl_matrix *A = NULL, *B = NULL;
|
492
491
|
double alpha;
|
@@ -508,8 +507,8 @@ static VALUE rb_gsl_blas_dtrsm(VALUE obj, VALUE s, VALUE u, VALUE ta,
|
|
508
507
|
return bb;
|
509
508
|
}
|
510
509
|
|
511
|
-
static VALUE rb_gsl_blas_dtrsm2(VALUE obj, VALUE s, VALUE u, VALUE ta,
|
512
|
-
|
510
|
+
static VALUE rb_gsl_blas_dtrsm2(VALUE obj, VALUE s, VALUE u, VALUE ta,
|
511
|
+
VALUE d, VALUE a, VALUE aa, VALUE bb)
|
513
512
|
{
|
514
513
|
gsl_matrix *A = NULL, *B = NULL, *Bnew = NULL;
|
515
514
|
double alpha;
|
@@ -533,11 +532,11 @@ static VALUE rb_gsl_blas_dtrsm2(VALUE obj, VALUE s, VALUE u, VALUE ta,
|
|
533
532
|
return Data_Wrap_Struct(cgsl_matrix, 0, gsl_matrix_free, Bnew);
|
534
533
|
}
|
535
534
|
|
536
|
-
static VALUE rb_gsl_blas_ztrsm(VALUE obj, VALUE s, VALUE u, VALUE ta,
|
537
|
-
|
535
|
+
static VALUE rb_gsl_blas_ztrsm(VALUE obj, VALUE s, VALUE u, VALUE ta,
|
536
|
+
VALUE d, VALUE a, VALUE aa, VALUE bb)
|
538
537
|
{
|
539
538
|
gsl_matrix_complex *A = NULL, *B = NULL;
|
540
|
-
gsl_complex
|
539
|
+
gsl_complex *pa = NULL;
|
541
540
|
CBLAS_SIDE_t Side;
|
542
541
|
CBLAS_UPLO_t Uplo;
|
543
542
|
CBLAS_TRANSPOSE_t TransA;
|
@@ -553,15 +552,15 @@ static VALUE rb_gsl_blas_ztrsm(VALUE obj, VALUE s, VALUE u, VALUE ta,
|
|
553
552
|
Data_Get_Struct(a, gsl_complex, pa);
|
554
553
|
Data_Get_Struct(aa, gsl_matrix_complex, A);
|
555
554
|
Data_Get_Struct(bb, gsl_matrix_complex, B);
|
556
|
-
gsl_blas_ztrsm(Side, Uplo, TransA, Diag,
|
555
|
+
gsl_blas_ztrsm(Side, Uplo, TransA, Diag, *pa, A, B);
|
557
556
|
return bb;
|
558
557
|
}
|
559
558
|
|
560
|
-
static VALUE rb_gsl_blas_ztrsm2(VALUE obj, VALUE s, VALUE u, VALUE ta,
|
561
|
-
|
559
|
+
static VALUE rb_gsl_blas_ztrsm2(VALUE obj, VALUE s, VALUE u, VALUE ta,
|
560
|
+
VALUE d, VALUE a, VALUE aa, VALUE bb)
|
562
561
|
{
|
563
562
|
gsl_matrix_complex *A = NULL, *B = NULL, *Bnew = NULL;
|
564
|
-
gsl_complex
|
563
|
+
gsl_complex *pa = NULL;
|
565
564
|
CBLAS_SIDE_t Side;
|
566
565
|
CBLAS_UPLO_t Uplo;
|
567
566
|
CBLAS_TRANSPOSE_t TransA;
|
@@ -579,12 +578,12 @@ static VALUE rb_gsl_blas_ztrsm2(VALUE obj, VALUE s, VALUE u, VALUE ta,
|
|
579
578
|
Data_Get_Struct(bb, gsl_matrix_complex, B);
|
580
579
|
Bnew = gsl_matrix_complex_alloc(B->size1, B->size2);
|
581
580
|
gsl_matrix_complex_memcpy(Bnew, B);
|
582
|
-
gsl_blas_ztrsm(Side, Uplo, TransA, Diag,
|
581
|
+
gsl_blas_ztrsm(Side, Uplo, TransA, Diag, *pa, A, Bnew);
|
583
582
|
return Data_Wrap_Struct(cgsl_matrix_complex, 0, gsl_matrix_complex_free, Bnew);
|
584
583
|
}
|
585
584
|
|
586
585
|
static VALUE rb_gsl_blas_dsyrk(VALUE obj, VALUE u, VALUE t, VALUE a, VALUE aa,
|
587
|
-
|
586
|
+
VALUE b, VALUE cc)
|
588
587
|
{
|
589
588
|
gsl_matrix *A = NULL, *C = NULL;
|
590
589
|
double alpha, beta;
|
@@ -604,7 +603,7 @@ static VALUE rb_gsl_blas_dsyrk(VALUE obj, VALUE u, VALUE t, VALUE a, VALUE aa,
|
|
604
603
|
}
|
605
604
|
|
606
605
|
static VALUE rb_gsl_blas_dsyrk2(VALUE obj, VALUE u, VALUE t, VALUE a, VALUE aa,
|
607
|
-
|
606
|
+
VALUE b, VALUE cc)
|
608
607
|
{
|
609
608
|
gsl_matrix *A = NULL, *C = NULL, *Cnew = NULL;
|
610
609
|
double alpha, beta;
|
@@ -626,10 +625,10 @@ static VALUE rb_gsl_blas_dsyrk2(VALUE obj, VALUE u, VALUE t, VALUE a, VALUE aa,
|
|
626
625
|
}
|
627
626
|
|
628
627
|
static VALUE rb_gsl_blas_zsyrk(VALUE obj, VALUE u, VALUE t, VALUE a, VALUE aa,
|
629
|
-
|
628
|
+
VALUE b, VALUE cc)
|
630
629
|
{
|
631
630
|
gsl_matrix_complex *A = NULL, *C = NULL;
|
632
|
-
gsl_complex
|
631
|
+
gsl_complex *pa = NULL, *pb = NULL;
|
633
632
|
CBLAS_UPLO_t Uplo;
|
634
633
|
CBLAS_TRANSPOSE_t Trans;
|
635
634
|
CHECK_FIXNUM(u); CHECK_FIXNUM(t);
|
@@ -641,15 +640,15 @@ static VALUE rb_gsl_blas_zsyrk(VALUE obj, VALUE u, VALUE t, VALUE a, VALUE aa,
|
|
641
640
|
Data_Get_Struct(b, gsl_complex, pb);
|
642
641
|
Data_Get_Struct(aa, gsl_matrix_complex, A);
|
643
642
|
Data_Get_Struct(cc, gsl_matrix_complex, C);
|
644
|
-
gsl_blas_zsyrk(Uplo, Trans,
|
643
|
+
gsl_blas_zsyrk(Uplo, Trans, *pa, A, *pb, C);
|
645
644
|
return cc;
|
646
645
|
}
|
647
646
|
|
648
647
|
static VALUE rb_gsl_blas_zsyrk2(VALUE obj, VALUE u, VALUE t, VALUE a, VALUE aa,
|
649
|
-
|
648
|
+
VALUE b, VALUE cc)
|
650
649
|
{
|
651
650
|
gsl_matrix_complex *A = NULL, *C = NULL, *Cnew = NULL;
|
652
|
-
gsl_complex
|
651
|
+
gsl_complex *pa = NULL, *pb = NULL;
|
653
652
|
CBLAS_UPLO_t Uplo;
|
654
653
|
CBLAS_TRANSPOSE_t Trans;
|
655
654
|
CHECK_FIXNUM(u); CHECK_FIXNUM(t);
|
@@ -663,12 +662,12 @@ static VALUE rb_gsl_blas_zsyrk2(VALUE obj, VALUE u, VALUE t, VALUE a, VALUE aa,
|
|
663
662
|
Data_Get_Struct(cc, gsl_matrix_complex, C);
|
664
663
|
Cnew = gsl_matrix_complex_alloc(C->size1, C->size2);
|
665
664
|
gsl_matrix_complex_memcpy(Cnew, C);
|
666
|
-
gsl_blas_zsyrk(Uplo, Trans,
|
665
|
+
gsl_blas_zsyrk(Uplo, Trans, *pa, A, *pb, Cnew);
|
667
666
|
return Data_Wrap_Struct(cgsl_matrix_complex, 0, gsl_matrix_complex_free, Cnew);
|
668
667
|
}
|
669
668
|
|
670
669
|
static VALUE rb_gsl_blas_zherk(VALUE obj, VALUE u, VALUE t, VALUE a, VALUE aa,
|
671
|
-
|
670
|
+
VALUE b, VALUE cc)
|
672
671
|
{
|
673
672
|
gsl_matrix_complex *A = NULL, *C = NULL;
|
674
673
|
double alpha, beta;
|
@@ -689,7 +688,7 @@ static VALUE rb_gsl_blas_zherk(VALUE obj, VALUE u, VALUE t, VALUE a, VALUE aa,
|
|
689
688
|
}
|
690
689
|
|
691
690
|
static VALUE rb_gsl_blas_zherk2(VALUE obj, VALUE u, VALUE t, VALUE a, VALUE aa,
|
692
|
-
|
691
|
+
VALUE b, VALUE cc)
|
693
692
|
{
|
694
693
|
gsl_matrix_complex *A = NULL, *C = NULL, *Cnew = NULL;
|
695
694
|
double alpha, beta;
|
@@ -711,7 +710,7 @@ static VALUE rb_gsl_blas_zherk2(VALUE obj, VALUE u, VALUE t, VALUE a, VALUE aa,
|
|
711
710
|
}
|
712
711
|
|
713
712
|
static VALUE rb_gsl_blas_dsyr2k(VALUE obj, VALUE u, VALUE t, VALUE a, VALUE aa,
|
714
|
-
|
713
|
+
VALUE bb, VALUE b, VALUE cc)
|
715
714
|
{
|
716
715
|
gsl_matrix *A = NULL, *B = NULL, *C = NULL;
|
717
716
|
double alpha, beta;
|
@@ -732,7 +731,7 @@ static VALUE rb_gsl_blas_dsyr2k(VALUE obj, VALUE u, VALUE t, VALUE a, VALUE aa,
|
|
732
731
|
}
|
733
732
|
|
734
733
|
static VALUE rb_gsl_blas_dsyr2k2(VALUE obj, VALUE u, VALUE t, VALUE a, VALUE aa,
|
735
|
-
|
734
|
+
VALUE bb, VALUE b, VALUE cc)
|
736
735
|
{
|
737
736
|
gsl_matrix *A = NULL, *B = NULL, *C = NULL, *Cnew = NULL;
|
738
737
|
double alpha, beta;
|
@@ -755,10 +754,10 @@ static VALUE rb_gsl_blas_dsyr2k2(VALUE obj, VALUE u, VALUE t, VALUE a, VALUE aa,
|
|
755
754
|
}
|
756
755
|
|
757
756
|
static VALUE rb_gsl_blas_zsyr2k(VALUE obj, VALUE u, VALUE t, VALUE a, VALUE aa,
|
758
|
-
|
757
|
+
VALUE bb, VALUE b, VALUE cc)
|
759
758
|
{
|
760
759
|
gsl_matrix_complex *A = NULL, *B = NULL, *C = NULL;
|
761
|
-
gsl_complex
|
760
|
+
gsl_complex *pa = NULL, *pb = NULL;
|
762
761
|
CBLAS_UPLO_t Uplo;
|
763
762
|
CBLAS_TRANSPOSE_t Trans;
|
764
763
|
CHECK_FIXNUM(u); CHECK_FIXNUM(t);
|
@@ -771,15 +770,15 @@ static VALUE rb_gsl_blas_zsyr2k(VALUE obj, VALUE u, VALUE t, VALUE a, VALUE aa,
|
|
771
770
|
Data_Get_Struct(aa, gsl_matrix_complex, A);
|
772
771
|
Data_Get_Struct(bb, gsl_matrix_complex, B);
|
773
772
|
Data_Get_Struct(cc, gsl_matrix_complex, C);
|
774
|
-
gsl_blas_zsyr2k(Uplo, Trans,
|
773
|
+
gsl_blas_zsyr2k(Uplo, Trans, *pa, A, B, *pb, C);
|
775
774
|
return cc;
|
776
775
|
}
|
777
776
|
|
778
777
|
static VALUE rb_gsl_blas_zsyr2k2(VALUE obj, VALUE u, VALUE t, VALUE a, VALUE aa,
|
779
|
-
|
778
|
+
VALUE bb, VALUE b, VALUE cc)
|
780
779
|
{
|
781
780
|
gsl_matrix_complex *A = NULL, *B = NULL, *C = NULL, *Cnew = NULL;
|
782
|
-
gsl_complex
|
781
|
+
gsl_complex *pa = NULL, *pb = NULL;
|
783
782
|
CBLAS_UPLO_t Uplo;
|
784
783
|
CBLAS_TRANSPOSE_t Trans;
|
785
784
|
CHECK_FIXNUM(u); CHECK_FIXNUM(t);
|
@@ -794,15 +793,15 @@ static VALUE rb_gsl_blas_zsyr2k2(VALUE obj, VALUE u, VALUE t, VALUE a, VALUE aa,
|
|
794
793
|
Data_Get_Struct(cc, gsl_matrix_complex, C);
|
795
794
|
Cnew = gsl_matrix_complex_alloc(C->size1, C->size2);
|
796
795
|
gsl_matrix_complex_memcpy(Cnew, C);
|
797
|
-
gsl_blas_zsyr2k(Uplo, Trans,
|
796
|
+
gsl_blas_zsyr2k(Uplo, Trans, *pa, A, B, *pb, Cnew);
|
798
797
|
return Data_Wrap_Struct(cgsl_matrix_complex, 0, gsl_matrix_complex_free, Cnew);
|
799
798
|
}
|
800
799
|
|
801
800
|
static VALUE rb_gsl_blas_zher2k(VALUE obj, VALUE u, VALUE t, VALUE a, VALUE aa,
|
802
|
-
|
801
|
+
VALUE bb, VALUE b, VALUE cc)
|
803
802
|
{
|
804
803
|
gsl_matrix_complex *A = NULL, *B = NULL, *C = NULL;
|
805
|
-
gsl_complex
|
804
|
+
gsl_complex *pa = NULL;
|
806
805
|
double beta;
|
807
806
|
CBLAS_UPLO_t Uplo;
|
808
807
|
CBLAS_TRANSPOSE_t Trans;
|
@@ -817,15 +816,15 @@ static VALUE rb_gsl_blas_zher2k(VALUE obj, VALUE u, VALUE t, VALUE a, VALUE aa,
|
|
817
816
|
Data_Get_Struct(aa, gsl_matrix_complex, A);
|
818
817
|
Data_Get_Struct(bb, gsl_matrix_complex, B);
|
819
818
|
Data_Get_Struct(cc, gsl_matrix_complex, C);
|
820
|
-
gsl_blas_zher2k(Uplo, Trans,
|
819
|
+
gsl_blas_zher2k(Uplo, Trans, *pa, A, B, beta, C);
|
821
820
|
return cc;
|
822
821
|
}
|
823
822
|
|
824
823
|
static VALUE rb_gsl_blas_zher2k2(VALUE obj, VALUE u, VALUE t, VALUE a, VALUE aa,
|
825
|
-
|
824
|
+
VALUE bb, VALUE b, VALUE cc)
|
826
825
|
{
|
827
826
|
gsl_matrix_complex *A = NULL, *B = NULL, *C = NULL, *Cnew = NULL;
|
828
|
-
gsl_complex
|
827
|
+
gsl_complex *pa = NULL;
|
829
828
|
double beta;
|
830
829
|
CBLAS_UPLO_t Uplo;
|
831
830
|
CBLAS_TRANSPOSE_t Trans;
|
@@ -842,7 +841,7 @@ static VALUE rb_gsl_blas_zher2k2(VALUE obj, VALUE u, VALUE t, VALUE a, VALUE aa,
|
|
842
841
|
Data_Get_Struct(cc, gsl_matrix_complex, C);
|
843
842
|
Cnew = gsl_matrix_complex_alloc(C->size1, C->size2);
|
844
843
|
gsl_matrix_complex_memcpy(Cnew, C);
|
845
|
-
gsl_blas_zher2k(Uplo, Trans,
|
844
|
+
gsl_blas_zher2k(Uplo, Trans, *pa, A, B, beta, Cnew);
|
846
845
|
return Data_Wrap_Struct(cgsl_matrix_complex, 0, gsl_matrix_complex_free, Cnew);
|
847
846
|
}
|
848
847
|
|
@@ -14,31 +14,27 @@
|
|
14
14
|
which are provided by the GSL source.
|
15
15
|
*/
|
16
16
|
|
17
|
-
#include "
|
18
|
-
#include "
|
19
|
-
#include "
|
20
|
-
#include "
|
21
|
-
#include "
|
22
|
-
|
23
|
-
#ifdef HAVE_NARRAY_H
|
24
|
-
#include "rb_gsl_with_narray.h"
|
25
|
-
#endif
|
17
|
+
#include "include/rb_gsl_array.h"
|
18
|
+
#include "include/rb_gsl_histogram.h"
|
19
|
+
#include "include/rb_gsl_complex.h"
|
20
|
+
#include "include/rb_gsl_poly.h"
|
21
|
+
#include "include/rb_gsl_with_narray.h"
|
26
22
|
|
27
23
|
#define BASE_DOUBLE
|
28
|
-
#include "templates_on.h"
|
29
|
-
#include "block_source.
|
30
|
-
#include "templates_off.h"
|
24
|
+
#include "include/templates_on.h"
|
25
|
+
#include "block_source.h"
|
26
|
+
#include "include/templates_off.h"
|
31
27
|
#undef BASE_DOUBLE
|
32
28
|
|
33
29
|
#define BASE_INT
|
34
|
-
#include "templates_on.h"
|
35
|
-
#include "block_source.
|
36
|
-
#include "templates_off.h"
|
30
|
+
#include "include/templates_on.h"
|
31
|
+
#include "block_source.h"
|
32
|
+
#include "include/templates_off.h"
|
37
33
|
#undef BASE_INT
|
38
34
|
|
39
35
|
#define BASE_UCHAR
|
40
|
-
#include "templates_on.h"
|
41
|
-
#include "block_source.
|
42
|
-
#include "templates_off.h"
|
36
|
+
#include "include/templates_on.h"
|
37
|
+
#include "block_source.h"
|
38
|
+
#include "include/templates_off.h"
|
43
39
|
#undef BASE_UCHAR
|
44
40
|
|
@@ -82,9 +82,9 @@ static VALUE FUNCTION(rb_gsl_block,fprintf)(int argc, VALUE *argv, VALUE obj)
|
|
82
82
|
GSL_TYPE(gsl_block) *h = NULL;
|
83
83
|
FILE *fp = NULL;
|
84
84
|
int status, flag = 0;
|
85
|
-
if (argc != 1 && argc != 2)
|
86
|
-
rb_raise(rb_eArgError,
|
87
|
-
|
85
|
+
if (argc != 1 && argc != 2)
|
86
|
+
rb_raise(rb_eArgError,
|
87
|
+
"wrong number of arguments (%d for 1 or 2)", argc);
|
88
88
|
Data_Get_Struct(obj, GSL_TYPE(gsl_block), h);
|
89
89
|
fp = rb_gsl_open_writefile(argv[0], &flag);
|
90
90
|
if (argc == 2) {
|
@@ -203,41 +203,39 @@ static VALUE FUNCTION(rb_gsl_block,get)(int argc, VALUE *argv, VALUE obj)
|
|
203
203
|
n = RARRAY_LEN(argv[0]);
|
204
204
|
bnew = FUNCTION(gsl_block,alloc)(n);
|
205
205
|
for (j = 0; j < n; j++) {
|
206
|
-
|
207
|
-
|
208
|
-
|
206
|
+
i = FIX2INT(rb_ary_entry(argv[0], j));
|
207
|
+
if (i < 0) k = b->size + i; else k = i;
|
208
|
+
bnew->data[j] = b->data[k];
|
209
209
|
}
|
210
210
|
return Data_Wrap_Struct(GSL_TYPE(cgsl_block), 0, FUNCTION(gsl_block,free), bnew);
|
211
211
|
break;
|
212
212
|
default:
|
213
213
|
if (PERMUTATION_P(argv[0])) {
|
214
|
-
|
215
|
-
|
216
|
-
|
217
|
-
|
214
|
+
Data_Get_Struct(argv[0], gsl_index, p);
|
215
|
+
bnew = FUNCTION(gsl_block,alloc)(p->size);
|
216
|
+
for (j = 0; j < p->size; j++) bnew->data[j] = b->data[p->data[j]];
|
217
|
+
return Data_Wrap_Struct(GSL_TYPE(cgsl_block), 0, FUNCTION(gsl_block,free), bnew);
|
218
218
|
} else if (CLASS_OF(argv[0]) == rb_cRange) {
|
219
|
-
|
220
|
-
|
221
|
-
|
222
|
-
|
223
|
-
|
224
|
-
bnew);
|
219
|
+
get_range_int_beg_en_n(argv[0], &beg, &en, &n, &step);
|
220
|
+
bnew = FUNCTION(gsl_block,alloc)(n);
|
221
|
+
for (j = 0; j < n; j++)
|
222
|
+
bnew->data[j] = b->data[beg+j];
|
223
|
+
return Data_Wrap_Struct(GSL_TYPE(cgsl_block), 0, FUNCTION(gsl_block,free), bnew);
|
225
224
|
} else {
|
226
|
-
|
227
|
-
|
225
|
+
rb_raise(rb_eArgError, "wrong argument type %s (Fixnum, Array, or Range expected)", rb_class2name(CLASS_OF(argv[0])));
|
226
|
+
break;
|
228
227
|
}
|
229
228
|
}
|
230
229
|
break;
|
231
230
|
default:
|
232
231
|
bnew = FUNCTION(gsl_block,alloc)(argc);
|
233
|
-
for (j = 0; j < argc; j++) {
|
232
|
+
for (j = 0; (int) j < argc; j++) {
|
234
233
|
i = FIX2INT(argv[j]);
|
235
234
|
if (i < 0) k = b->size + i; else k = i;
|
236
235
|
bnew->data[j] = b->data[k];
|
237
236
|
}
|
238
237
|
return Data_Wrap_Struct(GSL_TYPE(cgsl_block), 0, FUNCTION(gsl_block,free), bnew);
|
239
238
|
|
240
|
-
|
241
239
|
break;
|
242
240
|
}
|
243
241
|
return Qnil;
|
@@ -257,9 +255,9 @@ static VALUE FUNCTION(rb_gsl_block,set)(VALUE obj, VALUE ii, VALUE xx)
|
|
257
255
|
}
|
258
256
|
|
259
257
|
|
260
|
-
static int FUNCTION(gsl_block,eq)(const GSL_TYPE(gsl_block) *a,
|
261
|
-
|
262
|
-
|
258
|
+
static int FUNCTION(gsl_block,eq)(const GSL_TYPE(gsl_block) *a,
|
259
|
+
const GSL_TYPE(gsl_block) *b,
|
260
|
+
gsl_block_uchar *c)
|
263
261
|
{
|
264
262
|
size_t i;
|
265
263
|
BASE x, y;
|
@@ -273,9 +271,9 @@ static int FUNCTION(gsl_block,eq)(const GSL_TYPE(gsl_block) *a,
|
|
273
271
|
return 0;
|
274
272
|
}
|
275
273
|
|
276
|
-
static int FUNCTION(gsl_block,ne)(const GSL_TYPE(gsl_block) *a,
|
277
|
-
|
278
|
-
|
274
|
+
static int FUNCTION(gsl_block,ne)(const GSL_TYPE(gsl_block) *a,
|
275
|
+
const GSL_TYPE(gsl_block) *b,
|
276
|
+
gsl_block_uchar *c)
|
279
277
|
{
|
280
278
|
size_t i;
|
281
279
|
BASE x, y;
|
@@ -289,9 +287,9 @@ static int FUNCTION(gsl_block,ne)(const GSL_TYPE(gsl_block) *a,
|
|
289
287
|
return 0;
|
290
288
|
}
|
291
289
|
|
292
|
-
static int FUNCTION(gsl_block,gt)(const GSL_TYPE(gsl_block) *a,
|
293
|
-
|
294
|
-
|
290
|
+
static int FUNCTION(gsl_block,gt)(const GSL_TYPE(gsl_block) *a,
|
291
|
+
const GSL_TYPE(gsl_block) *b,
|
292
|
+
gsl_block_uchar *c)
|
295
293
|
{
|
296
294
|
size_t i;
|
297
295
|
BASE x, y;
|
@@ -305,9 +303,9 @@ static int FUNCTION(gsl_block,gt)(const GSL_TYPE(gsl_block) *a,
|
|
305
303
|
return 0;
|
306
304
|
}
|
307
305
|
|
308
|
-
static int FUNCTION(gsl_block,ge)(const GSL_TYPE(gsl_block) *a,
|
309
|
-
|
310
|
-
|
306
|
+
static int FUNCTION(gsl_block,ge)(const GSL_TYPE(gsl_block) *a,
|
307
|
+
const GSL_TYPE(gsl_block) *b,
|
308
|
+
gsl_block_uchar *c)
|
311
309
|
{
|
312
310
|
size_t i;
|
313
311
|
BASE x, y;
|
@@ -321,9 +319,9 @@ static int FUNCTION(gsl_block,ge)(const GSL_TYPE(gsl_block) *a,
|
|
321
319
|
return 0;
|
322
320
|
}
|
323
321
|
|
324
|
-
static int FUNCTION(gsl_block,lt)(const GSL_TYPE(gsl_block) *a,
|
325
|
-
|
326
|
-
|
322
|
+
static int FUNCTION(gsl_block,lt)(const GSL_TYPE(gsl_block) *a,
|
323
|
+
const GSL_TYPE(gsl_block) *b,
|
324
|
+
gsl_block_uchar *c)
|
327
325
|
{
|
328
326
|
size_t i;
|
329
327
|
BASE x, y;
|
@@ -337,9 +335,9 @@ static int FUNCTION(gsl_block,lt)(const GSL_TYPE(gsl_block) *a,
|
|
337
335
|
return 0;
|
338
336
|
}
|
339
337
|
|
340
|
-
static int FUNCTION(gsl_block,le)(const GSL_TYPE(gsl_block) *a,
|
341
|
-
|
342
|
-
|
338
|
+
static int FUNCTION(gsl_block,le)(const GSL_TYPE(gsl_block) *a,
|
339
|
+
const GSL_TYPE(gsl_block) *b,
|
340
|
+
gsl_block_uchar *c)
|
343
341
|
{
|
344
342
|
size_t i;
|
345
343
|
BASE x, y;
|
@@ -353,9 +351,9 @@ static int FUNCTION(gsl_block,le)(const GSL_TYPE(gsl_block) *a,
|
|
353
351
|
return 0;
|
354
352
|
}
|
355
353
|
|
356
|
-
static int FUNCTION(gsl_block,and)(const GSL_TYPE(gsl_block) *a,
|
357
|
-
|
358
|
-
|
354
|
+
static int FUNCTION(gsl_block,and)(const GSL_TYPE(gsl_block) *a,
|
355
|
+
const GSL_TYPE(gsl_block) *b,
|
356
|
+
gsl_block_uchar *c)
|
359
357
|
{
|
360
358
|
size_t i;
|
361
359
|
BASE x, y;
|
@@ -369,9 +367,9 @@ static int FUNCTION(gsl_block,and)(const GSL_TYPE(gsl_block) *a,
|
|
369
367
|
return 0;
|
370
368
|
}
|
371
369
|
|
372
|
-
static int FUNCTION(gsl_block,or)(const GSL_TYPE(gsl_block) *a,
|
373
|
-
|
374
|
-
|
370
|
+
static int FUNCTION(gsl_block,or)(const GSL_TYPE(gsl_block) *a,
|
371
|
+
const GSL_TYPE(gsl_block) *b,
|
372
|
+
gsl_block_uchar *c)
|
375
373
|
{
|
376
374
|
size_t i;
|
377
375
|
BASE x, y;
|
@@ -385,9 +383,9 @@ static int FUNCTION(gsl_block,or)(const GSL_TYPE(gsl_block) *a,
|
|
385
383
|
return 0;
|
386
384
|
}
|
387
385
|
|
388
|
-
static int FUNCTION(gsl_block,xor)(const GSL_TYPE(gsl_block) *a,
|
389
|
-
|
390
|
-
|
386
|
+
static int FUNCTION(gsl_block,xor)(const GSL_TYPE(gsl_block) *a,
|
387
|
+
const GSL_TYPE(gsl_block) *b,
|
388
|
+
gsl_block_uchar *c)
|
391
389
|
{
|
392
390
|
size_t i;
|
393
391
|
BASE x, y;
|
@@ -401,8 +399,8 @@ static int FUNCTION(gsl_block,xor)(const GSL_TYPE(gsl_block) *a,
|
|
401
399
|
return 0;
|
402
400
|
}
|
403
401
|
|
404
|
-
static int FUNCTION(gsl_block,eq2)(const GSL_TYPE(gsl_block) *a,
|
405
|
-
|
402
|
+
static int FUNCTION(gsl_block,eq2)(const GSL_TYPE(gsl_block) *a,
|
403
|
+
BASE b, gsl_block_uchar *c)
|
406
404
|
{
|
407
405
|
size_t i;
|
408
406
|
BASE x, y;
|
@@ -415,9 +413,9 @@ static int FUNCTION(gsl_block,eq2)(const GSL_TYPE(gsl_block) *a,
|
|
415
413
|
return 0;
|
416
414
|
}
|
417
415
|
|
418
|
-
static int FUNCTION(gsl_block,ne2)(const GSL_TYPE(gsl_block) *a,
|
419
|
-
|
420
|
-
|
416
|
+
static int FUNCTION(gsl_block,ne2)(const GSL_TYPE(gsl_block) *a,
|
417
|
+
BASE b,
|
418
|
+
gsl_block_uchar *c)
|
421
419
|
{
|
422
420
|
size_t i;
|
423
421
|
BASE x, y;
|
@@ -430,9 +428,9 @@ static int FUNCTION(gsl_block,ne2)(const GSL_TYPE(gsl_block) *a,
|
|
430
428
|
return 0;
|
431
429
|
}
|
432
430
|
|
433
|
-
static int FUNCTION(gsl_block,gt2)(const GSL_TYPE(gsl_block) *a,
|
434
|
-
|
435
|
-
|
431
|
+
static int FUNCTION(gsl_block,gt2)(const GSL_TYPE(gsl_block) *a,
|
432
|
+
BASE b,
|
433
|
+
gsl_block_uchar *c)
|
436
434
|
{
|
437
435
|
size_t i;
|
438
436
|
BASE x, y;
|
@@ -445,9 +443,9 @@ static int FUNCTION(gsl_block,gt2)(const GSL_TYPE(gsl_block) *a,
|
|
445
443
|
return 0;
|
446
444
|
}
|
447
445
|
|
448
|
-
static int FUNCTION(gsl_block,ge2)(const GSL_TYPE(gsl_block) *a,
|
449
|
-
|
450
|
-
|
446
|
+
static int FUNCTION(gsl_block,ge2)(const GSL_TYPE(gsl_block) *a,
|
447
|
+
BASE b,
|
448
|
+
gsl_block_uchar *c)
|
451
449
|
{
|
452
450
|
size_t i;
|
453
451
|
BASE x, y;
|
@@ -460,9 +458,9 @@ static int FUNCTION(gsl_block,ge2)(const GSL_TYPE(gsl_block) *a,
|
|
460
458
|
return 0;
|
461
459
|
}
|
462
460
|
|
463
|
-
static int FUNCTION(gsl_block,lt2)(const GSL_TYPE(gsl_block) *a,
|
464
|
-
|
465
|
-
|
461
|
+
static int FUNCTION(gsl_block,lt2)(const GSL_TYPE(gsl_block) *a,
|
462
|
+
BASE b,
|
463
|
+
gsl_block_uchar *c)
|
466
464
|
{
|
467
465
|
size_t i;
|
468
466
|
BASE x, y;
|
@@ -475,9 +473,9 @@ static int FUNCTION(gsl_block,lt2)(const GSL_TYPE(gsl_block) *a,
|
|
475
473
|
return 0;
|
476
474
|
}
|
477
475
|
|
478
|
-
static int FUNCTION(gsl_block,le2)(const GSL_TYPE(gsl_block) *a,
|
479
|
-
|
480
|
-
|
476
|
+
static int FUNCTION(gsl_block,le2)(const GSL_TYPE(gsl_block) *a,
|
477
|
+
BASE b,
|
478
|
+
gsl_block_uchar *c)
|
481
479
|
{
|
482
480
|
size_t i;
|
483
481
|
BASE x, y;
|
@@ -490,9 +488,9 @@ static int FUNCTION(gsl_block,le2)(const GSL_TYPE(gsl_block) *a,
|
|
490
488
|
return 0;
|
491
489
|
}
|
492
490
|
|
493
|
-
static int FUNCTION(gsl_block,and2)(const GSL_TYPE(gsl_block) *a,
|
494
|
-
|
495
|
-
|
491
|
+
static int FUNCTION(gsl_block,and2)(const GSL_TYPE(gsl_block) *a,
|
492
|
+
BASE b,
|
493
|
+
gsl_block_uchar *c)
|
496
494
|
{
|
497
495
|
size_t i;
|
498
496
|
BASE x, y;
|
@@ -505,9 +503,9 @@ static int FUNCTION(gsl_block,and2)(const GSL_TYPE(gsl_block) *a,
|
|
505
503
|
return 0;
|
506
504
|
}
|
507
505
|
|
508
|
-
static int FUNCTION(gsl_block,or2)(const GSL_TYPE(gsl_block) *a,
|
509
|
-
|
510
|
-
|
506
|
+
static int FUNCTION(gsl_block,or2)(const GSL_TYPE(gsl_block) *a,
|
507
|
+
BASE b,
|
508
|
+
gsl_block_uchar *c)
|
511
509
|
{
|
512
510
|
size_t i;
|
513
511
|
BASE x, y;
|
@@ -520,9 +518,9 @@ static int FUNCTION(gsl_block,or2)(const GSL_TYPE(gsl_block) *a,
|
|
520
518
|
return 0;
|
521
519
|
}
|
522
520
|
|
523
|
-
static int FUNCTION(gsl_block,xor2)(const GSL_TYPE(gsl_block) *a,
|
524
|
-
|
525
|
-
|
521
|
+
static int FUNCTION(gsl_block,xor2)(const GSL_TYPE(gsl_block) *a,
|
522
|
+
BASE b,
|
523
|
+
gsl_block_uchar *c)
|
526
524
|
{
|
527
525
|
size_t i;
|
528
526
|
BASE x, y;
|
@@ -537,12 +535,12 @@ static int FUNCTION(gsl_block,xor2)(const GSL_TYPE(gsl_block) *a,
|
|
537
535
|
|
538
536
|
|
539
537
|
static VALUE FUNCTION(rb_gsl_block,compare)(VALUE aa, VALUE bb,
|
540
|
-
|
541
|
-
|
542
|
-
|
543
|
-
|
544
|
-
|
545
|
-
|
538
|
+
int (*cmp)(const GSL_TYPE (gsl_block)*,
|
539
|
+
const GSL_TYPE (gsl_block)*,
|
540
|
+
gsl_block_uchar*),
|
541
|
+
int (*cmp2)(const GSL_TYPE (gsl_block)*,
|
542
|
+
BASE,
|
543
|
+
gsl_block_uchar*))
|
546
544
|
{
|
547
545
|
GSL_TYPE(gsl_block) *a, *b;
|
548
546
|
/* gsl_block_int *c;*/
|
@@ -553,9 +551,9 @@ static VALUE FUNCTION(rb_gsl_block,compare)(VALUE aa, VALUE bb,
|
|
553
551
|
c = gsl_block_uchar_alloc(a->size);
|
554
552
|
if (BL_P(bb)) {
|
555
553
|
Data_Get_Struct(bb, GSL_TYPE(gsl_block), b);
|
556
|
-
if (a->size != b->size)
|
557
|
-
rb_raise(rb_eRuntimeError, "Block size mismatch, %d and %d", (int) a->size,
|
558
|
-
|
554
|
+
if (a->size != b->size)
|
555
|
+
rb_raise(rb_eRuntimeError, "Block size mismatch, %d and %d", (int) a->size,
|
556
|
+
(int) b->size);
|
559
557
|
/*status =*/ (*cmp)(a, b, c);
|
560
558
|
} else {
|
561
559
|
/*status =*/ (*cmp2)(a, NUMCONV(bb), c);
|
@@ -566,55 +564,55 @@ static VALUE FUNCTION(rb_gsl_block,compare)(VALUE aa, VALUE bb,
|
|
566
564
|
static VALUE FUNCTION(rb_gsl_block,eq)(VALUE aa, VALUE bb)
|
567
565
|
{
|
568
566
|
return FUNCTION(rb_gsl_block,compare)(aa, bb, FUNCTION(gsl_block,eq),
|
569
|
-
|
567
|
+
FUNCTION(gsl_block,eq2));
|
570
568
|
}
|
571
569
|
|
572
570
|
static VALUE FUNCTION(rb_gsl_block,ne)(VALUE aa, VALUE bb)
|
573
571
|
{
|
574
572
|
return FUNCTION(rb_gsl_block,compare)(aa, bb, FUNCTION(gsl_block,ne),
|
575
|
-
|
573
|
+
FUNCTION(gsl_block,ne2));
|
576
574
|
}
|
577
575
|
|
578
576
|
static VALUE FUNCTION(rb_gsl_block,gt)(VALUE aa, VALUE bb)
|
579
577
|
{
|
580
578
|
return FUNCTION(rb_gsl_block,compare)(aa, bb, FUNCTION(gsl_block,gt),
|
581
|
-
|
579
|
+
FUNCTION(gsl_block,gt2));
|
582
580
|
}
|
583
581
|
|
584
582
|
static VALUE FUNCTION(rb_gsl_block,ge)(VALUE aa, VALUE bb)
|
585
583
|
{
|
586
584
|
return FUNCTION(rb_gsl_block,compare)(aa, bb, FUNCTION(gsl_block,ge),
|
587
|
-
|
585
|
+
FUNCTION(gsl_block,ge2));
|
588
586
|
}
|
589
587
|
|
590
588
|
static VALUE FUNCTION(rb_gsl_block,lt)(VALUE aa, VALUE bb)
|
591
589
|
{
|
592
590
|
return FUNCTION(rb_gsl_block,compare)(aa, bb, FUNCTION(gsl_block,lt),
|
593
|
-
|
591
|
+
FUNCTION(gsl_block,lt2));
|
594
592
|
}
|
595
593
|
|
596
594
|
static VALUE FUNCTION(rb_gsl_block,le)(VALUE aa, VALUE bb)
|
597
595
|
{
|
598
596
|
return FUNCTION(rb_gsl_block,compare)(aa, bb, FUNCTION(gsl_block,le),
|
599
|
-
|
597
|
+
FUNCTION(gsl_block,le2));
|
600
598
|
}
|
601
599
|
|
602
600
|
static VALUE FUNCTION(rb_gsl_block,and)(VALUE aa, VALUE bb)
|
603
601
|
{
|
604
602
|
return FUNCTION(rb_gsl_block,compare)(aa, bb, FUNCTION(gsl_block,and),
|
605
|
-
|
603
|
+
FUNCTION(gsl_block,and2));
|
606
604
|
}
|
607
605
|
|
608
606
|
static VALUE FUNCTION(rb_gsl_block,or)(VALUE aa, VALUE bb)
|
609
607
|
{
|
610
608
|
return FUNCTION(rb_gsl_block,compare)(aa, bb, FUNCTION(gsl_block,or),
|
611
|
-
|
609
|
+
FUNCTION(gsl_block,or2));
|
612
610
|
}
|
613
611
|
|
614
612
|
static VALUE FUNCTION(rb_gsl_block,xor)(VALUE aa, VALUE bb)
|
615
613
|
{
|
616
614
|
return FUNCTION(rb_gsl_block,compare)(aa, bb, FUNCTION(gsl_block,xor),
|
617
|
-
|
615
|
+
FUNCTION(gsl_block,xor2));
|
618
616
|
}
|
619
617
|
|
620
618
|
static VALUE FUNCTION(rb_gsl_block,not)(VALUE obj)
|
@@ -669,11 +667,11 @@ static VALUE FUNCTION(rb_gsl_block,all)(VALUE obj)
|
|
669
667
|
|
670
668
|
Data_Get_Struct(obj, GSL_TYPE(gsl_block), v);
|
671
669
|
if (rb_block_given_p()) {
|
672
|
-
for (i = 0; i < v->size; i++)
|
670
|
+
for (i = 0; i < v->size; i++)
|
673
671
|
if (!rb_yield(C_TO_VALUE(v->data[i]))) return Qfalse;
|
674
672
|
return Qtrue;
|
675
673
|
} else {
|
676
|
-
for (i = 0; i < v->size; i++)
|
674
|
+
for (i = 0; i < v->size; i++)
|
677
675
|
if (!v->data[i]) return Qfalse;
|
678
676
|
return Qtrue;
|
679
677
|
}
|
@@ -686,11 +684,11 @@ static VALUE FUNCTION(rb_gsl_block,none)(VALUE obj)
|
|
686
684
|
|
687
685
|
Data_Get_Struct(obj, GSL_TYPE(gsl_block), v);
|
688
686
|
if (rb_block_given_p()) {
|
689
|
-
for (i = 0; i < v->size; i++)
|
687
|
+
for (i = 0; i < v->size; i++)
|
690
688
|
if (rb_yield(C_TO_VALUE(v->data[i]))) return Qfalse;
|
691
689
|
return Qtrue;
|
692
690
|
} else {
|
693
|
-
for (i = 0; i < v->size; i++)
|
691
|
+
for (i = 0; i < v->size; i++)
|
694
692
|
if (v->data[i]) return Qfalse;
|
695
693
|
return Qtrue;
|
696
694
|
}
|
@@ -708,10 +706,10 @@ static VALUE FUNCTION(rb_gsl_block,where)(VALUE obj)
|
|
708
706
|
btmp = gsl_block_uchar_alloc(v->size);
|
709
707
|
for (i = 0; i < v->size; i++) {
|
710
708
|
if (rb_yield(C_TO_VALUE(v->data[i]))) {
|
711
|
-
|
712
|
-
|
709
|
+
btmp->data[i] = 1;
|
710
|
+
n++;
|
713
711
|
} else {
|
714
|
-
|
712
|
+
btmp->data[i] = 0;
|
715
713
|
}
|
716
714
|
} /* for */
|
717
715
|
} else { /* block is not given */
|
@@ -744,10 +742,10 @@ static VALUE FUNCTION(rb_gsl_block,where2)(VALUE obj)
|
|
744
742
|
btmp = gsl_block_uchar_alloc(v->size);
|
745
743
|
for (i = 0; i < v->size; i++) {
|
746
744
|
if (rb_yield(C_TO_VALUE(v->data[i]))) {
|
747
|
-
|
748
|
-
|
745
|
+
btmp->data[i] = 1;
|
746
|
+
n++;
|
749
747
|
} else {
|
750
|
-
|
748
|
+
btmp->data[i] = 0;
|
751
749
|
}
|
752
750
|
} /* for */
|
753
751
|
} else { /* block is not given */
|
@@ -758,11 +756,11 @@ static VALUE FUNCTION(rb_gsl_block,where2)(VALUE obj)
|
|
758
756
|
v2 = gsl_permutation_calloc(v->size); /* calloc() initializes v2 */
|
759
757
|
vv1 = Qnil;
|
760
758
|
vv2 = Data_Wrap_Struct(cgsl_index, 0, gsl_permutation_free, v2);
|
761
|
-
} else if (v->size-n == 0) {
|
759
|
+
} else if (v->size-n == 0) {
|
762
760
|
v1 = gsl_permutation_calloc(n); /* calloc() initializes v1 */
|
763
|
-
vv1 = Data_Wrap_Struct(cgsl_index, 0, gsl_permutation_free, v1);
|
761
|
+
vv1 = Data_Wrap_Struct(cgsl_index, 0, gsl_permutation_free, v1);
|
764
762
|
vv2 = Qnil;
|
765
|
-
} else {
|
763
|
+
} else {
|
766
764
|
/* same case as 'where' */
|
767
765
|
v1 = gsl_permutation_alloc(n);
|
768
766
|
v2 = gsl_permutation_alloc(v->size-n);
|
@@ -830,12 +828,12 @@ static VALUE FUNCTION(rb_gsl_block,collect_bang)(VALUE obj)
|
|
830
828
|
|
831
829
|
void FUNCTION(Init_gsl_block,init)(VALUE module)
|
832
830
|
{
|
833
|
-
rb_define_singleton_method(GSL_TYPE(cgsl_block), "new",
|
834
|
-
|
835
|
-
rb_define_singleton_method(GSL_TYPE(cgsl_block), "alloc",
|
836
|
-
|
837
|
-
rb_define_singleton_method(GSL_TYPE(cgsl_block), "calloc",
|
838
|
-
|
831
|
+
rb_define_singleton_method(GSL_TYPE(cgsl_block), "new",
|
832
|
+
FUNCTION(rb_gsl_block,new), 1);
|
833
|
+
rb_define_singleton_method(GSL_TYPE(cgsl_block), "alloc",
|
834
|
+
FUNCTION(rb_gsl_block,new), 1);
|
835
|
+
rb_define_singleton_method(GSL_TYPE(cgsl_block), "calloc",
|
836
|
+
FUNCTION(rb_gsl_block,calloc), 1);
|
839
837
|
|
840
838
|
rb_define_method(GSL_TYPE(cgsl_block), "size", FUNCTION(rb_gsl_block,size), 0);
|
841
839
|
rb_define_alias(GSL_TYPE(cgsl_block), "length", "size");
|
@@ -871,9 +869,9 @@ void FUNCTION(Init_gsl_block,init)(VALUE module)
|
|
871
869
|
rb_define_method(GSL_TYPE(cgsl_block), "all?", FUNCTION(rb_gsl_block,all), 0);
|
872
870
|
rb_define_method(GSL_TYPE(cgsl_block), "none?", FUNCTION(rb_gsl_block,none), 0);
|
873
871
|
rb_define_method(GSL_TYPE(cgsl_block), "any",
|
874
|
-
|
872
|
+
FUNCTION(rb_gsl_block,any), 0);
|
875
873
|
rb_define_method(GSL_TYPE(cgsl_block), "any?",
|
876
|
-
|
874
|
+
FUNCTION(rb_gsl_block,any2), 0);
|
877
875
|
|
878
876
|
rb_define_method(GSL_TYPE(cgsl_block), "where", FUNCTION(rb_gsl_block,where), 0);
|
879
877
|
rb_define_method(GSL_TYPE(cgsl_block), "where2", FUNCTION(rb_gsl_block,where2), 0);
|