gsl 1.15.3 → 1.16.0.6
Sign up to get free protection for your applications and to get access to all the features.
- 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);
|